From: Alexey Morozov <morozov@altlinux.org>
To: devel@lists.altlinux.org
Subject: Re: [devel] python3.x(qwe) vs python3(qwe)
Date: Tue, 2 Feb 2010 16:54:18 +0600
Message-ID: <201002021654.18586.morozov@altlinux.org> (raw)
In-Reply-To: <20100202060656.GE7665@wrars-comp.wrarsdomain>
В сообщении от Вторник 02 февраля 2010 12:06:56 автор Andrey Rahmatullin
написал:
> On Mon, Feb 01, 2010 at 12:03:14AM +0600, Alexey Morozov wrote:
> > Тогда надо кардинально менять схему упаковки. В своём нынешнем виде и
> > заявленных целях (кстати, если не секрет, есть где-нибудь место, где эти
> > цели явно проартикулированны?)
>
> Только не говори, что ты не имеешь отношения к нашему Python Policy.
Оно прокисло и как минимум в одном важном пункте не соблюдается. Так что,
можно считать его практически несущественным, хотя, _возможно_ , и интересным
с исторической точки зрения.
На мой взгляд, основная проблема нынешней схемы:
с одной стороны, используются механизмы привязывания модуля к определённой
версии при сборке пакета (собственно, для большинства модулей эти механизмы
вытекают из схемы их расположения, %_libdir/pythonX.Y, а для меньшей части -
из привязок к libpython). При этом, замечу, основная цель выбранного
расположения, - борьба с несовместимостями между версиями и архитектурами в
питоньем байткоде, - выглядит для меня достаточно умозрительной here and now.
с другой стороны, заложенную при написании питон-полиси схему с множественным
питоном и плавной, итеративной миграцией модулей, благополучно пристрелили. В
общем, она и вправду, видимо, того стоила, но, факт, необходимость
множественности питонов напрямую следует из сформулированных _тогда_ целей.
Как из этого выходить? Фиг знает. Можно, например, отказаться от принципа
"инсталлируется apt'ом - значит работоспособно" (да-да, я знаю, что это плохо
:) ).
Кстати, вероятнее всего, 90-ста процентам тех пакетов, которые используют
питон в качестве языка скриптования, совсем необязателен "полноценный питон"
со сколько-нибудь полной библиотекой, достаточно libpython. Соответственно,
масштаб революции в репозитории можно будет сильно уменьшить, если в момент
заливки нового питона предоставлять libpython-compat для уходящей версии.
Второй вариант - научиться автоматически блокировать в репозитории пакеты,
которые явно или неявно связаны с питоном, чтобы заливка новой версии не
превращалась в увлекательную игру с Ахиллесом и черепахой в главных ролях. Но
тут, чес-гря, я не знаю, каковы будут трудозатраты на реализацию такого
решения.
Дебиановцы, повторюсь, пошли по третьему пути. source-level пакеты
распространяются в виде .py, которые при инсталляции раскладываются вместе со
сгенерёнными тут же .pyc в каталоги, соответствующие установленным на
конкретной машине версиям python'а. Отдельно решается вопрос с архитектурно-
зависимыми, "бинарными" пакетами.
Насколько я понимаю, на сегодняшний день у них наиболее чётко проработана
схема с поддержкой нескольких версий питона одновременно, и эта схема как
никакая другая рассчитана на независимую, "распределённую" процедуру
обновления пакетов в репозитории. В том числе, и обновлении питона и его
запчастей.
Ну, в общем, как-то так. Собственно, когда я спрашивал о явном проговаривании
целей, я подразумевал, что такое проговаривание позволит понять, какие решения
являются абсолютно необходимыми, а от каких можно и нужно безболезненно
отказаться.
АМ
next prev parent reply other threads:[~2010-02-02 10:54 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-31 1:48 Евгений Ростовцев
2010-01-31 9:33 ` Денис Смирнов
2010-01-31 10:50 ` Sergey Y. Afonin
2010-02-01 9:24 ` Ivan A. Melnikov
2010-02-01 9:40 ` Sergei Epiphanov
2010-01-31 12:24 ` Евгений Ростовцев
2010-01-31 18:03 ` Alexey Morozov
2010-02-01 9:48 ` Евгений Ростовцев
2010-02-05 6:58 ` Евгений Ростовцев
2010-02-05 7:01 ` Andrey Rahmatullin
2010-02-05 10:30 ` Michael Shigorin
2010-02-05 9:26 ` [devel] pygtk (was: python3.x(qwe) vs python3(qwe)) Michael Shigorin
2010-02-02 6:06 ` [devel] python3.x(qwe) vs python3(qwe) Andrey Rahmatullin
2010-02-02 10:54 ` Alexey Morozov [this message]
2010-02-02 11:02 ` Alexey Morozov
2010-02-02 12:16 ` Andrey Rahmatullin
2010-02-02 12:19 ` Andrey Rahmatullin
2010-02-02 12:23 ` Dmitry V. Levin
2010-02-02 12:36 ` Andrey Rahmatullin
2010-02-02 12:31 ` Alexey Morozov
2010-02-02 12:32 ` Andrey Rahmatullin
2010-02-02 9:45 ` Ivan Fedorov
2010-02-02 10:07 ` Andrey Rahmatullin
2010-02-02 12:19 ` Dmitry V. Levin
2010-02-02 12:42 ` Alexey Morozov
2010-02-02 14:23 ` Dmitry V. Levin
2010-02-02 14:33 ` Andrey Rahmatullin
2010-02-02 14:39 ` Dmitry V. Levin
2010-02-05 0:33 ` Dmitry V. Levin
2010-02-05 0:54 ` Dmitry V. Levin
2010-02-10 17:02 ` Dmitry V. Levin
2010-02-02 10:58 ` Alexey Morozov
2010-02-02 15:38 ` Michael Shigorin
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=201002021654.18586.morozov@altlinux.org \
--to=morozov@altlinux.org \
--cc=devel@lists.altlinux.org \
/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