04.04.2013 12:53, Paul Wolneykien пишет: > > Давай с этим прямо в devel@. OK. > > 04.04.2013 12:38, bugzilla-daemon@altlinux.ru пишет: >> https://bugzilla.altlinux.org/28762 >> Компонент: Sisyphus/rpm-build-python3 >> >> --- #3 solo 2013-04-04 12:37:59 --- >> (В ответ на комментарий №2) >> ... >>> По идее, %_python3_path не нужен, python3.req.py должен обрабатывать все, что к >>> нему приехало. Эх, автора бы спросить... >> >> При отладке картина вообще странная: После python3.req.files, python3.req.py >> (через python3.req) передаётся только один файл (только строка >> "/usr/src/tmp/maliit-framework-buildroot/usr/bin/maliit-exampleapp-settings-python3.py"). >> Но в переменную files (куда должен попадать весь in, если я правельно понял >> код) данная строка не попадает! С этим разобрался (очепятка при отладке). >> >> Содержимое files, формируется так: >> >> files = sys.argv[1:] or [ x.strip() for x in sys.stdin.readlines() ] Здесь всё нормально. А дальше, фильтр: >> files = [p for p in files if is_python3(os.path.abspath(p))] ^^^^^^^^^^^^^ Это в python3.req.py. В python.req.py данный кусок несколько отличается: files = [p for p in files if not is_python3(os.path.abspath(p))] ^^^^^^^^^^^^^^^^^ Причём реализации функции is_python3() идентичны. Т. е. python.req.py, используя парадигму "обрабатываем всё, коме того что в каталогах python3", гарантированно обрабатывает более широкое множество файлов, чем python3.req.py, использующий "обрабатываем только то, что в каталогах python3". Выглядит это как ошибка... Предлагаю исправить следующим образом: 1. Вообще выкинуть функцию is_python3 из python3.req.py: с вырезанием файлов расположенных в /usr/lib*/python2* сейчас справляется python3.req.files (см. ). 2. Несколько ужесточить фильтр в python3.req.files -- добавить явное вырезание всех файлов, для которых file возвращает python script text executable (кроме файлов расположенных в /usr/lib*/python3*, %_python3_path и %_python3_compile_include, см. ). -- С уважением. Алексей.