[devel] python package vs python policy

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Мар 18 17:30:50 MSK 2007


On Thu, Mar 15, 2007 at 05:43:13PM +0800, Ivan Fedorov wrote:
> > python-strict в свою очередь слишком жирный.
> Нет. python-strict вытягивает все пакеты базовой поставки. Этот пакет 
> вообще сделан только из-за того, что многим лень было аккуратно 
> поставить несколько пакетов.

В /usr/share/doc/rpm-build-python-0.29/policy/2-Python_RPM.txt сказано:
    
    15          Я медленно, но верно, пилю питон на части. Новый пакет будет состоять
    16          примерно из следующих частей :
    17
    18              python, python-base -- минимальная установка питона, достаточная
    19                  для его работы, практически не содержит модулей;
    
Тем не менее, пакет python на деле вытягивает весь python,
т.е. фактически приводит к установке python-strict:

$ hsh --init ~tmp/build
$ hsh-install ~tmp/build python=2.4
Preparing packages for installation...
ca-certificates-2007.02.06-alt1
libssl6-0.9.8d-alt2
libgdbm-1.8.3-alt3
python-modules-email-2.4.4-alt8
python-modules-compiler-2.4.4-alt8
python-modules-logging-2.4.4-alt8
python-modules-2.4.4-alt8
python-modules-bsddb-2.4.4-alt8
python-modules-curses-2.4.4-alt8
python-modules-encodings-2.4.4-alt8
python-modules-hotshot-2.4.4-alt8
python-modules-xml-2.4.4-alt8
$ hsh-run ~tmp/build -- rpm -q python-strict
python-strict-2.4.4-alt7
$

Таким образом, python-strict -- это не просто пакет для ленивых, которым
нужно поставить стандартную поставку питона.  Сама попытка установить
пакет "python", который, согласно policy, должен давать минимальную
установку питона, непосредственно выводит на python-strict.

К сожалению, из полиси не понятно, что значит "медленно, но верно":
кто и когда это написал, и в каком объеме пакет python на данный момент
удовлетворяет своему собственному policy.

Почему я считаю это несоответствие важным?
В policy/3-Python_MODULE.txt говорится:

    11      3.  Модуль должен содержать явно указанную зависимость на версию питона,
    12          использованного при его сборке, такая зависимость вводится указанием
    13          кляуз вида :
    14          
    15              python = %__python_version
    16  
    17              python-devel = %__python_version

Фактически это означает, что ЛЮБОЙ питоновский модуль, собранный в
соответствии с policy, будет вытягивать за собой ВСЮ стандартную
поставку питона.  Это немало: пакет python-base в развернутом виде
занимает чуть больше 2M, a один только python-modules -- уже 9M.
Мне не кажется это правильным положением вещей.

Кроме того, в policy/5-Python_FAQ.txt говорится:

   260          5. Можно попробовать "собирать как раньше".
   261          
   262              Это плохой, неправильный, противоречащий полиси, но очень
   263              быстрый способ решить проблему "временно": отключить поиск
   264              зависимостей:
   265  
   266                  AutoReqProv: yes, nopython 
   267                  
   268                  Requires: python-strict
   269                  
   270              По зависимости python-strict вытянется "стандартная установка
   271              python", а поиск зависимостей будет отключен. Помните, что в
   272              этом случае предполагается что все необходимые зависимости вы
   273              проставите сами [...]

Это единственное место, где обсуждается использование python-strict
в зависимостях.  Другими словами, из полиси получается следующие два
варианта сборки питоновских модулей: 1) автоматический поиск
зависимостей, полная поставка питона в Requires не нужна; 2) отключаем
автоматический поиск зависимостей, ставим зависимость на полную поставку
питона.

Но ведь сейчас, получается, мы ищем зависимости И дополнительно
проставляем зависимость на полную поставку питона.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070318/f156b628/attachment-0001.bin>


Подробная информация о списке рассылки Devel