[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