[devel] Требования к модулям. was: Собираем Python-2.6

Dmitry V. Levin ldv at altlinux.org
Wed Jul 22 00:13:30 MSD 2009


On Tue, Jul 21, 2009 at 10:40:24PM +0400, Evgeny Sinelnikov wrote:
[...]
> Во-вторых, эту информацию стоит оформить, как draft Policy и начать
> его утверждение.
> 
> Начнём с первого. Я перечислю только основное, что требуется
> технически. То, что необходимо для текущего переезда на Python-2.6.
> Цель этого письма в том, чтобы не пропустить какую-нибудь мелочь,
> которая, на самом деле, вовсе и не мелочь... Если для текущей
> пересборки это не важно, прошу отложить комментарии до момента
> обсуждения нового Python Policy.
> 
> На основании последних редакций Python Policy я вижу следующие
> формальные требования:
> 1) Все модули, требующие питон содержат зависимость вида:
> BuildRequires: python-devel = %__python_version

Нет этого требования.  Правильный python-module-* должен использовать
макрос %setup_python_module, который сам добавляет все необходимые
зависимости этого рода.

> 2) Зависимость вида:
> Requires: python = %__python_version
> не требуется, потому что проставляется автоматически.
> 
> 3) Зависимость вида
> BuildRequires: python-dev
> недопустима и должна быть искоренена.
> 
> Эти пункты, видимо, должен уметь проверять репокоп.

Если что-то должно быть искоренено, то этим должен заниматься
sisyphus_check.

> Есть несколько не ясных пунктов
> 1) Группы Development/Python/Modules не существует. Везде используется
> Development/Python. Был ли/Есть ли сакральным смысл в новой группе?
> Мне кажется, что нет... Вообще, мне кажется, что групп у нас мало и
> чего-то не хватает, но тематического... В общем, это не важно....

Не вижу особого смысла в отдельной группе Development/Python/Modules,
но если кто-то видит, то пусть расскажет.

> 2) Требуется ли всё-таки явное указание на зависимость вида:
> BuildPreReq: rpm-build-python >= %__rpm_build_python_version
> ?
> Мне кажется, что это излишнее требование. Чего мы лишаемся без
> соблюдения этого пункта?

Не вижу в этом никакого смысла, тем более что
$ rpm --eval %__rpm_build_python_version
%__rpm_build_python_version

> 3) требуется ли необходимое использование макросов для указания зависимостей:
> %py_provides
> %py_requires
> %py_dependencies
> %py_package_requires
> %py_package_provides
> %py_package_dependencies

Этими макросами разрешается пользоваться только после сдачи экзамена по
правилам пользования редкими формами макросов. :)

> 4) Нужен ли механизм пересборки под заданный питон:
> rpmbuild -ba python-module-<ИМЯ>.spec --with python<MAJOR><MINOR
> ?

Этот механизм работает, но после перехода на сборку из gear-репозиториев
стал менее практичен.  Раньше, когда пакеты собирали из srpm-пакетов,
мейнтейнер мог одним движением собрать srpm-пакет с другими зависимостями
и отправить его в Сизиф.

> Какие из пунктов, для этого необходимы?
> Пока, мне кажется, что совместно с girar-builder этот механизм не
> применим, то есть он полезен только для ручной пересборки.

Мне тоже так кажется.

> Должны ли пакеты использующие python, но не являющиеся модулями, иметь
> явную сборочную зависимость на версию питона? Я полагаю, что не
> должны.

Включать в _сборочную_ зависимость версию питона в лучшем случае
бесполезно.


-- 
ldv
----------- ????????? ????? -----------
???? ??????? ???????? ?? ? ????????? ???????...
???     : ???????????
???     : application/pgp-signature
??????  : 197 ??????
????????: ???????????
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20090722/cd9a9238/attachment.bin>


More information about the Devel mailing list