[devel] I: [python3] python.req: ERROR

Paul Wolneykien manowar на altlinux.org
Пт Фев 15 15:54:02 MSK 2013


15.02.2013 15:43, Aleksey Avdeev пишет:
> 15.02.2013 12:53, Paul Wolneykien пишет:
>> 15.02.2013 06:37, Dmitry V. Levin пишет:
>>> On Fri, Feb 15, 2013 at 06:12:13AM +0400, Aleksey Avdeev wrote:
>>>> ...
>>>>>   Здесь ничего сказать не могу: ещё не лазил на столько глубоко в эту
>>>>> кухню (если полезу -- гарантированно сорву заданные сроки).
>>> На мой взгляд, не отведав этой кухни, в пасть питону лучше не лезть.
>>
>>   Лёша, что именно за кухня? Работа prov и req парсеров в RPM? Что-то
>> специфичное для Питона? Если перовое, то на altlinux.org или около него
>> должна быть какая-то документация, рекомендации по сборке пакетов. А
>> если второе, то лучше спрашивай напрямую у питоноводов. У того же peet@
>> к примеру, -- полагаю, что он лазал питону не только в пасть...
> 
>   Работа prov и req парсеров в RPM применительно к python*. Проблема ещё
> в том, что я не знаю как запретить rpm`у удалять временные
> файлы/каталоги, созданные при сборке пакета (что упростит анализ работы
> парсеров).
> 
>   Беглый забег по скриптам rpm-build-python{,3} что:
> 
> 1. python.{prov,req}.files спокойно пропускает через себя модули и
> бинарники относящиеся к python3 (=> они обрабатываются через
> /usr/bin/python). Фильтр отстреливает только скрипты с _явным_ указанием
> что это python3 (признаком "#! /usr/bin/python3"), но только в том
> случаи, если в системе установлен file >= 4.26-alt8 (file < 4.26-alt8
> выделять скрипты python3 не умеет).
> 
> 2. В python3.{prov,req}.files ситуация аналогична: он тоже пропускает
> файлы в расположенные в */python2.* (т. е. заведомо не относящиеся к
> python3 => обрабатывает их через /usr/bin/python3).
> 
> 3. В python3.req жёстко прошито использование /usr/bin/python3
> установленного в сборочной системе. => свежесобранный python3 для поиска
> зависимостей не используется. (В отличии от python.req, где
> использованный python можно задать через $RPM_PYTHON
> 
>   Суммируя:
> 
> * Из-за пп. 1 и 2 ситуация когда при поиске зависимостей скрипт
> обрабатывается не тем python`ом

  Э… Это из-за старого file? Так его просто обновить нужно.

> (/usr/bin/python обрабатывает содержимое
> */python3.*, а /usr/bin/python3 -- содержимое */python2.*) у нас
> штатная. И мне непонятно почему она каждый раз не взрывается (возможно
> нас защищает порядок вызова парсеров).
> 
> * П. 3 ситуацию тоже похоже портит,

  Т.е. python.req использует свежесобранный python2.x, а python3.req —
системный старый?

15.02.2013 05:42, Dmitry V. Levin пишет:
> При сборке питона скрипты питон.{req,prov} должны исполняться
> свежесобранным питоном.  Насколько я помню, так всегда было,
> и вряд ли стоит менять полезную традицию.

  А кто автор python3.req? Может быть просто ошибка там?

> вынуждая смотреть в сторону bootstrap`а.

  А как собиралась текущая версия python3? Посмотри по тегам в
/gears/p/python3.git. Если там был bootstrap, то видимо его и нужно
использовать.

> 
> 2peet@: Прошу помощи.
> 
> PS: Попробую ужесточить python{,3}.{prov,req}.files и посмотреть результат.


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