From: "George V. Kouryachy" <george@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] I: python 3 copycat robot
Date: Thu, 23 May 2013 13:55:54 +0400
Message-ID: <20130523095553.GA26529@imap.altlinux.org> (raw)
In-Reply-To: <20130523075851.GA10361@dad.imath.kiev.ua>
On Thu, May 23, 2013 at 10:58:51AM +0300, Igor Vlasenko wrote:
> Господа,
> у нас с модулями для 3-го питона ситуация плохая -
> собрано около 10% модулей по сравнению с 2-м питоном,
>
> Робот берет пакет модуля для 2-го питона,
> проверяет, нет ли уже в нем (отключенного)
> модуля для 3-го питона, как это например есть в
> python-module-PyQt4, и если нет,
> то трансформирует этот пакет в новый пакет,
> который уже соберет модуль для 3-го питона.
...
> Нет возражений для развертывания робота
> Python 3 copycat в Сизиф?
Возражение ниже, сначала попробую описать ситуацию, как я её вижу.
Необходимо решить три задачи:
1. Унифицировать подмножества rpm-макросов. Сейчас макросы второго
и третьего питона резко отличаются, в третьем многих не хватает.
2. Как-то обустроить ситуацию, при которой модуль для третьего питона
получается из исходников не напрямую, а с помощью 2to3, мелкого
ручного дохакивания по месту и т. п.
3. Как-то обустроить ситуацию, когда модули для второго и для третьего
питона при этом ещё и принципиально различаются (например, составом).
Это нас ожидает в полной мере, потому что (поправьте, если ошибаюсь)
ни PyGTK, ни wxPython пока для Python3 не существуют, ну и другие.
Кстати, пресловутый python-module-enchant иллюстрирует две проблемы из трёх,
равно как и метод, которым мне хочется собирать двухпитоновые пакеты --
specsubst. Просьба на ужасающее использование %ifdef setup_python_module
не ругаться: это сделано намеренно, чтобы пакет сломался, когда макросы
починим :). См. сюда:
http://git.altlinux.org/people/george/packages/?p=python-module-enchant.git;a=blob;f=python-module-enchant.spec
Пока это выглядит мерзковато, но идея в том, чтобы вынести specsubst
в один базовый макрос, а все остальные будут раскрываться в python2
и python3 соответственно.
А теперь полтора возражения.
Вводная: за результат автосборки отвечает робот, а не майнтейнер, и,
следовательно, о неработоспособности пакета мы узнаем только тогда,
когда _другой_ пакет, его использующий, заглючит (повалится, испортит
данные и т. п.). В случае скриптовго языка вероятность этого существенно
выше, и опасность серьёзнее. Но это старое возражение против полных
роботов, на него есть старый ответ: хранилище с автосборками имеет более
низкий уровень ответственноси и качества, не хочешь -- не используй,
хочешь использовать -- забирай пакет оттуда, поправляй и сопровождай.
Но. До тех пор, пока не будут как-то решены три указанные проблемы,
полученный генератом спек будет или ужасен, или неполноценен.
И сопровождение python3-пакета наличием автосборки будет не упрощаться,
а (потенциально) усложняться, т. к. автосборка начнёт заджавать легаси.
И, кстати,
http://packages.altlinux.org/en/Sisyphus/srpms/python3-module-enchant/repocop
Что не так с __pycache__/*.pyo? Они действительно платформо-зависимые?
Или это баг репокопа?
--
Георгий Владимирович Курячий
Эксперт компании "Альт Линукс"
Mailto/JID: george@altlinux.org
Mobile: (8)9161738325
next prev parent reply other threads:[~2013-05-23 9:55 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-23 7:58 Igor Vlasenko
2013-05-23 9:20 ` Vitaly Kuznetsov
2013-05-23 9:27 ` Igor Vlasenko
2013-05-23 9:33 ` Dmitry V. Levin
2013-05-23 9:32 ` Igor Vlasenko
2013-05-23 9:55 ` George V. Kouryachy [this message]
2013-05-23 10:04 ` Igor Vlasenko
2013-05-23 10:13 ` Igor Vlasenko
2013-05-23 10:56 ` Dmitry V. Levin
2013-05-23 13:20 ` George V. Kouryachy
2013-05-23 12:51 ` George V. Kouryachy
2013-05-23 19:28 ` Igor Vlasenko
2013-05-23 20:43 ` Michael Shigorin
2013-05-23 13:49 ` Aleksey Avdeev
2013-05-23 19:33 ` Igor Vlasenko
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=20130523095553.GA26529@imap.altlinux.org \
--to=george@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