ALT Linux Team development discussions
 help / color / mirror / Atom feed
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


  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