From: "Алексей Любимов" <avl@l14.ru> To: ALT Devel discussion list <devel@altlinux.ru> Subject: Re: [devel] Python Modules Policy: Date: Thu, 12 Feb 2004 11:29:59 +0300 Message-ID: <402B3987.80901@l14.ru> (raw) In-Reply-To: <20040211095023.GV13525@pyro.hopawar.private.net> Alexey Morozov пишет: >On Tue, Feb 10, 2004 at 06:51:18PM +0300, Алексей Любимов wrote: > > >>>Не вопрос. Мы с Андреем уже договорились (в джаббере) до того, что >>> >>>1. Он проставляет Obsoletes: pythonN в python{N+1} или делает >>> аналогичные изменения, о точном решении будет сообщено >>> дополнительно ориентировочно в конце недели. >>>2. _Одновременная_ сборка пакетов под разные версии питона является >>> на данный момент ненужной ввиду своей трудоемкости. >>> >>> >>реально это означает, что поддержка python22 отменяется. >>Или, проще говоря, на зоп* в сизифе и все, что посложнее "hello world" >>можно забить. >> >> >Нет. Их можно будет собирать "неодновременно", т.е. в два прохода. >Может быть, даже автоматом. > А, так это в том смысле, что из одного спека за один проход собирать пакеты для всех питонов трудоемко? Это как раз само собой разумеется. Раз так, то на зоп в сизифе и все, что посложнее "hello world" можно (и нужно) не забивать :) > > >>>3. Андрей думает над целесообразностью сборки пакетов вида >>> python<N>-ModuleName из исходника вида python-ModuleName >>> >>> >>Если будет строго выполнен пункт 2, то это имхо лишнее... >>Уж если у кого дойдут руки, то можно делать пакеты python22-ModuleName >>то есть схема пакет и compat-пакет, а не ПакетВерсия1 и ПакетВерсия2 >> >> >См. выше про автомат. >root, root > Теперь понятно. > > >>>5. В полиси для питоньих модулей вносится обязательный >>> Requires: python = %<pversion>, где %<pversion> совпадает с >>> %__python_version того питона, для которого производилась сборка. >>> >>> >>Это понятно. >> >> >ldv@ уже предложил решение, которое, вроде бы, не хуже по последствиям, >но автоматизируется. Прокомментируйте его, пожалуйста. > Менять макросы rpmbuild? По моему это источник еще одной головной боли. Опять будет куча unmets, как это происходит при любом чихе сейчас с перлом и прочими. Но самое главное, будет непрозрачное повдение rpm при сборке пакета. Проблема с с зависимостями питона не так серьезна, чтобы рубить с плеча. По моему все очень просто - поставил Requires: python = %<pversion> и получил нужную зависимость. А не поставил - получил более свободный и универсальный вариант. Всем хорошо и никому плохо. >>>Предлагается подумать над следующими двумя полиси: >>>6. Программы на python, не зависящие от конкретной версии питона >>> (epydoc, python-doc-tools), собираются _без_ байткода и, >>> соответственно, без привязки к точной версии питона, используется >>> #!/usr/bin/env python ... >>> >>> >>А где же они лежать будут? по логике все равно в python?.?/site-packages/ >> >> >Нет. Питоньи скрипты (н-р, python-doc-tools) лежат не там. >epydoc тоже лежит не там, вроде бы. Если нужно подумать над >"версионно-независимом" каталоге для питона, его можно организовать, >насколько я понимаю. > Ну так это же просто программы на питоне. Однако все равно любая такая прога сложнее трех строк зависит от импортируемых модулей из python?.?/site-packages/. То бишь 99,9% пакетов все равно потребуют питона с набором дополнений под его версию. Плохо представляю себе, как должны выглядеть зависимости такого пакета. Причем все равно такие программы запросто не будут работать под тем или иным питоном даже при наличии нужных модулей. Разве не проще разобраться с неработоспособностью пакета, увидев в репорте gdesklets22, а не gdesklets? Да и класть только некомпилированные модули в пакет, это фактически ухудшить качество пакета. Скомпилировать его юзер уже не сможет и ему будет выгоднее просто скопировать содержимое к себе в хоум и запускать оттуда. На этот слакварный вариант целимся? >>По моему, это излишнее усложнение. Поддерживается один питон, так и >>пусть поддерживается. >>Наоборот скорее от сорцов надо избавлятся (только без размножения >>пакетов). >> >> >Без разможения пакетов - плохо, по-моему. Я сейчас периодически сам >заглядываю в твистедовые потроха, чтобы понять, что же имелось ввиду в >доке. > > я имею в виду не молчаливое удаление *.py как это сделали с *.la, а некий инструмент, селектирующий систему после (и в процессе) установки. А под размножением пакетов я имею в виду следующее: что у нас сегодня есть из _одного_ пакета/дистрибутива Zope Zope-DateTime - Date and time representation Zope-DocumentTemplate - DocumentTemplate - DTML template engine Zope-Modules - Zope modules used by ZServer and PCGI Zope-RestrictedPython - RestrictedPython for protected environments Zope-StructuredText - StructuredText - automatic text markup Zope-TAL - TAL - XML template engine Zope-Testing - Testing environment for Zope components Zope-ZHome - ZHome - sample home directory of ZServer Zope-ZODB - ZODB and BTrees - object-oriented database ZODB Zope-ZPublisher - ZPublisher - Zope query proceeding Zope-ZServer - ZServer - Zope Application Server Zope-ZUtils - ZUtils - Zope startup and maintenance scripts Zope-core - Libraries used by Zope and ZODB Zope-ReST - ReST - ReStructuredText Document for Zope Zope-reStructuredText - reStructuredText - enhanced automatic text markup То есть один дистрибутив расщепился на 15 пакетов, что уже много. Представим себе еще расщепление на *.py *pyc и *.pyo и получим 30/45 пакетов из одного дистра зопа. Добавим туда немножко косяков с автозависимостями в rpm и вполне можно бежать за веревкой... Замечу, что зоп, это здорово, но еще далеко не все. Вот, что дополнительно используется только на www.linux-os.ru (ничего такого специфичного) ArchExample CMFCalendar CMFQuickInstallerTool Epoz MailManager TranslationService ArchGenXML CMFCore CMFTopic Formulator PlacelessTranslationService UserTrack Archetypes CMFDefault CMFUserTrackTool GroupUserFolder PloneSearchBox ZWiki BTreeFolder2 CMFFormController Localizer PloneWebMail CMFActionIcons CMFMessage MPoll PortalTransforms generator CMFBoard CMFPlone DCWorkflow MailBoxer PortalTransport validation Перемножим и это на два/три пакета и получим совсем кашу. >>>7. Программы, имеющие такую привязку (н-р, идущие вместе с конкретной >>> версией питона) иcпользуют #!/usr/bin/env python<version> ... >>> и могут таскать за собой байткод. >>> >>> >>В скриптах? и вы согласны переписывать все скрипты в модуле при переходе >>версий??? >> >> >Если эти _скрипты_ завязаны на данную версию питона: да, согласен. >Но, мой опыт (сборки twisted) показывает, что достаточно внятно разделить: >вот этот пакет - модул{ь,и}, он[и] привязан[ы] к версии питона, а вот >это - скрипты [из /usr/bin], которые одинаково хорошо работают как с >твистедом, собранным под 2.2, так и с твистедом, собранным под 2.3 > > а какой смысл в разделении? не проще ли собрать два пакета вместо четырех, полностью их скомпилировать и в дальнейшем сопровождать? >>>8. Некоторое время назад Андрей предлагал в "боевых" пакетах таскать >>> только байткод, а .py заворачивать в отдельные пакеты "для >>> интересующихся" (по моему разумению, по схеме, напоминающей то, что >>> делает Алекс Отт для емакса, хотя _это мои предположения_) >>> >>> >>И наплодить еще дубликатов-пакетов пачку. >> >> >У Андрея были практические соображения, почему в боевую версию НЕ надо >пихать сорцы. С другой стороны, мой небольшой практический опыт >показывает, что сорцы _иногда_ нужны. > > мой опыт говорит, что сырцы нужны всегда или почти всегда. вот сейчас пытаюсь завести науменовскую crm 2.3 без сырцов и ни хрена не получается. версия 2.2 с сырцами завелась практически сразу, потому как из них было видно, что конкретно не устраивает программу. >>У меня вот зреет какое то общее средство под кодовым названием stripper. >> >> >... > > >>Также можно поставить правила по умолчанию и они будут срабатывать при >>установке пакетов сами. >> >> >Это никак не упихивается в рамки distutils? > > /usr/lib/python2.3/site-packages/libaltdist.py ? не похоже. Эта штука должна по идее сопровождать установленную систему все время его существования (как апт или control) и даже иметь страничку в конфигураторе (которого нет). Вобщем пока все слишком непонятно, чтобы обсуждать рамки. >>Незрело, конечно, но по моему, вполне может получится... >> >> >Показывайте. > попробую ближе к выходным.
next prev parent reply other threads:[~2004-02-12 8:29 UTC|newest] Thread overview: 193+ messages / expand[flat|nested] mbox.gz Atom feed top 2004-02-09 12:47 [devel] alternatives && postfix Grigory Milev 2004-02-09 12:47 ` Grigory Milev 2004-02-09 14:03 ` Алексей Любимов 2004-02-09 14:06 ` Алексей Любимов 2004-02-09 14:20 ` [devel] " Michael Shigorin 2004-02-09 14:20 ` Michael Shigorin 2004-02-09 14:45 ` Алексей Любимов 2004-02-09 14:49 ` Алексей Любимов 2004-02-09 15:04 ` Yuri N. Sedunov 2004-02-09 15:04 ` Yuri N. Sedunov 2004-02-09 15:30 ` Алексей Любимов 2004-02-09 15:34 ` Алексей Любимов 2004-02-09 15:44 ` Yuri N. Sedunov 2004-02-09 15:44 ` Yuri N. Sedunov 2004-02-09 15:53 ` Алексей Любимов 2004-02-09 15:56 ` Алексей Любимов 2004-02-09 16:01 ` Alexander Bokovoy 2004-02-09 16:02 ` Alexander Bokovoy 2004-02-09 16:02 ` Алексей Любимов 2004-02-09 16:06 ` Алексей Любимов 2004-02-09 16:00 ` Yuri N. Sedunov 2004-02-09 16:00 ` Yuri N. Sedunov 2004-02-09 19:12 ` Egor S. Orlov 2004-02-09 19:13 ` Egor S. Orlov 2004-02-09 20:01 ` Alexey Lubimov 2004-02-09 20:01 ` Alexey Lubimov 2004-02-10 6:47 ` Egor S. Orlov 2004-02-10 6:48 ` Egor S. Orlov 2004-02-10 9:09 ` Michael Shigorin 2004-02-10 9:09 ` Michael Shigorin 2004-02-10 9:20 ` Egor S. Orlov 2004-02-10 9:21 ` Egor S. Orlov 2004-02-10 9:51 ` Michael Shigorin 2004-02-10 9:51 ` Michael Shigorin 2004-02-10 10:21 ` Egor S. Orlov 2004-02-10 10:22 ` Egor S. Orlov 2004-02-10 10:23 ` Yuri N. Sedunov 2004-02-10 10:23 ` Yuri N. Sedunov 2004-02-09 21:28 ` Yuri N. Sedunov 2004-02-09 21:28 ` Yuri N. Sedunov 2004-02-10 14:14 ` Egor S. Orlov 2004-02-10 14:15 ` Egor S. Orlov 2004-02-10 20:40 ` Andrey Orlov 2004-02-10 20:39 ` Andrey Orlov 2004-02-09 15:09 ` Alexey Morozov 2004-02-09 15:10 ` Alexey Morozov 2004-02-09 15:21 ` Alex Murygin 2004-02-09 15:22 ` Alex Murygin 2004-02-09 15:53 ` Alexey Morozov 2004-02-09 15:53 ` Alexey Morozov 2004-02-09 15:39 ` Алексей Любимов 2004-02-09 15:43 ` Алексей Любимов 2004-02-09 16:09 ` Alexey Morozov 2004-02-09 16:09 ` Alexey Morozov 2004-02-09 17:32 ` [devel] " Денис Смирнов 2004-02-09 18:09 ` [devel] " Andrey Orlov 2004-02-09 18:08 ` Andrey Orlov 2004-02-09 18:29 ` Michael Shigorin 2004-02-09 18:29 ` Michael Shigorin 2004-02-09 19:04 ` Alexey Lubimov 2004-02-09 19:04 ` Alexey Lubimov 2004-02-09 19:13 ` Andrey Orlov 2004-02-09 19:12 ` Andrey Orlov 2004-02-09 19:37 ` Michael Shigorin 2004-02-09 19:37 ` Michael Shigorin 2004-02-09 21:18 ` Andrey Orlov 2004-02-09 21:24 ` Andrey Orlov 2004-02-09 20:23 ` Alexey Lubimov 2004-02-09 20:23 ` Alexey Lubimov 2004-02-09 20:54 ` Andrey Orlov 2004-02-09 20:53 ` Andrey Orlov 2004-02-09 22:26 ` Alexey Lubimov 2004-02-09 22:27 ` Alexey Lubimov 2004-02-09 23:43 ` Andrey Orlov 2004-02-10 0:02 ` Andrey Orlov 2004-02-09 21:25 ` Andrey Orlov 2004-02-09 21:24 ` Andrey Orlov 2004-02-09 22:31 ` Alexey Lubimov 2004-02-09 22:31 ` Alexey Lubimov 2004-02-10 0:01 ` Andrey Orlov 2004-02-10 0:02 ` Andrey Orlov 2004-02-10 7:43 ` Алексей Любимов 2004-02-10 7:46 ` Алексей Любимов 2004-02-10 8:04 ` Alexey Morozov 2004-02-10 8:04 ` Alexey Morozov 2004-02-10 8:28 ` Andrey Orlov 2004-02-10 8:27 ` Andrey Orlov 2004-02-10 8:46 ` [devel] [JT] " Alexey Morozov 2004-02-10 8:46 ` Alexey Morozov 2004-02-10 9:05 ` Andrey Orlov 2004-02-10 9:04 ` Andrey Orlov 2004-02-10 16:06 ` [devel] " Anton Farygin 2004-02-10 16:06 ` Anton Farygin 2004-02-10 9:19 ` Алексей Любимов 2004-02-10 9:22 ` Алексей Любимов 2004-02-10 10:15 ` [devel] Python Modules Policy: (was: alternatives && postfix) Alexey Morozov 2004-02-10 10:15 ` Alexey Morozov 2004-02-10 15:51 ` [devel] Python Modules Policy: Алексей Любимов 2004-02-10 15:54 ` Алексей Любимов 2004-02-10 17:44 ` Andrey Orlov 2004-02-10 17:53 ` Andrey Orlov 2004-02-10 18:28 ` Алексей Любимов 2004-02-10 19:27 ` Алексей Любимов 2004-02-11 6:04 ` Andrey Orlov 2004-02-11 6:03 ` Andrey Orlov 2004-02-11 9:50 ` Alexey Morozov 2004-02-11 13:46 ` [devel] " Andrey Khavryuchenko 2004-02-16 8:07 ` Andrey Orlov 2004-02-16 10:07 ` Алексей Любимов 2004-02-16 21:36 ` Andrey Orlov 2004-02-17 10:15 ` Алексей Любимов 2004-02-16 10:20 ` Alexey Morozov 2004-02-16 13:06 ` Andrey Orlov 2004-02-12 8:29 ` Алексей Любимов [this message] 2004-02-12 10:03 ` [devel] " Alexey Morozov 2004-02-12 15:22 ` Алексей Любимов 2004-02-12 16:15 ` Alexey Morozov 2004-02-12 17:10 ` Алексей Любимов 2004-02-12 17:44 ` Alexey Morozov 2004-02-13 11:21 ` [devel] [JT] " Michael Shigorin 2004-02-16 8:46 ` [devel] Python Modules Policy: (was: alternatives && postfix) Andrey Orlov 2004-02-16 9:00 ` [devel] (was: Python Modules Policy) Andrey Orlov 2004-02-16 11:03 ` Alexey Morozov 2004-02-16 13:02 ` Andrey Orlov 2004-02-16 13:48 ` Alexey Morozov 2004-02-16 13:24 ` Andrey Orlov 2004-02-16 13:51 ` Alexey Morozov 2004-02-17 8:01 ` Andrey Orlov 2004-02-21 18:52 ` Dmitry V. Levin 2004-02-23 12:11 ` Alexey I. Froloff 2004-02-16 9:10 ` [devel] Python Modules Policy: (was: alternatives && postfix) Andrey Orlov 2004-02-10 8:17 ` [devel] Re: alternatives && postfix Andrey Orlov 2004-02-10 8:16 ` Andrey Orlov 2004-02-10 8:20 ` Andrey Orlov 2004-02-10 8:19 ` Andrey Orlov 2004-02-10 1:27 ` Alexey Tourbin 2004-02-10 1:28 ` Alexey Tourbin 2004-02-10 6:52 ` Andrey Orlov 2004-02-10 6:51 ` Andrey Orlov 2004-02-10 7:45 ` Alexey Morozov 2004-02-10 7:45 ` Alexey Morozov 2004-02-10 8:11 ` Andrey Orlov 2004-02-10 8:10 ` Andrey Orlov 2004-02-10 8:30 ` Alexey Morozov 2004-02-10 8:30 ` Alexey Morozov 2004-02-10 8:37 ` Andrey Orlov 2004-02-10 8:36 ` Andrey Orlov 2004-02-10 8:46 ` Vitaly Ostanin 2004-02-10 8:46 ` Vitaly Ostanin 2004-02-10 9:06 ` Andrey Orlov 2004-02-10 9:05 ` Andrey Orlov 2004-02-10 7:42 ` Alexey Morozov 2004-02-10 7:42 ` Alexey Morozov 2004-02-10 7:55 ` Andrey Khavryuchenko 2004-02-10 7:56 ` Andrey Khavryuchenko 2004-02-10 8:25 ` Alexey Morozov 2004-02-10 8:25 ` Alexey Morozov 2004-02-10 8:11 ` Andrey Orlov 2004-02-10 8:10 ` Andrey Orlov 2004-02-10 8:42 ` Alexey Morozov 2004-02-10 8:42 ` Alexey Morozov 2004-02-10 9:04 ` Andrey Orlov 2004-02-10 9:03 ` Andrey Orlov 2004-02-10 7:24 ` Alexey Morozov 2004-02-10 7:24 ` Alexey Morozov 2004-02-10 21:19 ` [devel] Administrativia Dmitry V. Levin 2004-02-10 21:19 ` Dmitry V. Levin 2004-02-11 15:58 ` [devel] Muchos gracios Michael Shigorin 2004-02-09 15:36 ` [devel] alternatives && postfix Grigory Milev 2004-02-09 15:36 ` Grigory Milev 2004-02-09 17:05 ` Денис Смирнов 2004-02-09 20:07 ` Re[2]: " Volkov Serge 2004-02-09 19:45 ` Valery V. Inozemtsev 2004-02-09 20:46 ` Valery V. Inozemtsev 2004-02-10 10:04 ` Grigory Milev 2004-02-10 10:04 ` Grigory Milev 2004-02-09 20:34 ` Re[2]: " Volkov Serge 2004-02-10 10:00 ` Grigory Milev 2004-02-10 10:01 ` Grigory Milev 2004-02-10 21:22 ` Dmitry V. Levin 2004-02-10 21:22 ` Dmitry V. Levin 2004-02-11 8:48 ` Grigory Milev 2004-02-11 8:42 ` Grigory Milev 2004-02-11 12:28 ` Alexei Takaseev 2004-02-11 12:44 ` Grigory Milev 2004-02-11 12:38 ` Grigory Milev 2004-02-11 12:48 ` Alexei Takaseev 2004-02-11 13:04 ` Grigory Milev 2004-02-11 12:58 ` Grigory Milev 2004-02-11 13:14 ` Alexei Takaseev 2004-02-11 13:54 ` Grigory Milev 2004-02-11 14:03 ` vserge 2004-02-11 17:58 ` Денис Смирнов
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=402B3987.80901@l14.ru \ --to=avl@l14.ru \ --cc=devel@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git