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

Aleksey Avdeev solo на solin.spb.ru
Пт Фев 15 15:43:43 MSK 2013


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`ом (/usr/bin/python обрабатывает содержимое
*/python3.*, а /usr/bin/python3 -- содержимое */python2.*) у нас
штатная. И мне непонятно почему она каждый раз не взрывается (возможно
нас защищает порядок вызова парсеров).

* П. 3 ситуацию тоже похоже портит, вынуждая смотреть в сторону bootstrap`а.

2peet@: Прошу помощи.

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

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 897 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20130215/1a76788e/attachment-0001.bin>


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