From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 23 May 2013 13:55:54 +0400 From: "George V. Kouryachy" To: ALT Linux Team development discussions Message-ID: <20130523095553.GA26529@imap.altlinux.org> Mail-Followup-To: ALT Linux Team development discussions References: <20130523075851.GA10361@dad.imath.kiev.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20130523075851.GA10361@dad.imath.kiev.ua> User-Agent: Mutt/1.4.2.3i Subject: Re: [devel] I: python 3 copycat robot X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 May 2013 09:55:54 -0000 Archived-At: List-Archive: List-Post: 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