[devel] Q: time to wave rpm-build-python off
Dmitry V. Levin
ldv на altlinux.org
Чт Апр 29 18:55:05 MSK 2021
On Thu, Apr 29, 2021 at 03:04:24PM +0300, Dmitry V. Levin wrote:
> On Thu, Apr 29, 2021 at 10:49:39AM +0300, Aleksei Nikiforov wrote:
> > 29.04.2021 05:35, Dmitry V. Levin пишет:
> > > On Mon, Mar 01, 2021 at 04:11:28PM +0300, Dmitry V. Levin wrote:
> > >> Hi,
> > >>
> > >> В связи с тем, что пользователи python2 в Сизифе наконец-то массово
> > >> переходят на python3, возникает вопрос, не пора ли нам уже распрощаться
> > >> с пакетом rpm-build-python в составе базовой сборочной среды?
> > >>
> > >> Просьба тем, кто занимается массовой миграцией пакетов с python2
> > >> на python3, подготовить ответ на этот вопрос.
> > >
> > > Никто не ответил? Ну что же, тогда уберём rpm-build-python и узнаем.
> >
> > Здравствуйте.
> >
> > После этого изменения вылезла вот такая ошибка:
> >
> > http://git.altlinux.org/tasks/270927/logs/events.1.1.log
> >
> > [x86_64] find-requires: running scripts
> > (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static,symlinks,systemd-services)
> > [x86_64] /usr/lib/rpm/python.req: line 2: /usr/bin/python2.7: No such
> > file or directory
> > [x86_64] find-requires: ERROR: /usr/lib/rpm/python.req failed
> > [x86_64] error: /bin/sh failed
> > [x86_64] error: Failed to find Requires
> > [x86_64] RPM build errors:
>
> Идея была в том, что если в пакете есть что-то на python2, но пакет
> rpm-build-python не установлен, то сборка упадёт с такой диагностикой.
> Однако ...
>
> > В пакете нет ни python-2, ни python-3.
>
> ... где-то что-то зачем-то вызвало /usr/lib/rpm/python.req с пустым
> списком аргументов. Вставил объезд в python.req и python.prov, чтобы
> "skip python invocation when invoked without arguments".
>
> [#270943] DONE rpm-build-python.git=0.40.1-alt1
Это было поспешное изменение, я его откатил.
Cписок файлов для обработки поступают к python.req и python.prov
через stdin.
По какой-то причине /usr/lib/rpm/python.req.files считает нужным все ELF
shared objects по шаблону /usr/lib*/*/*.so отправлять python.req'у на
обработку. В пакете cepstral-pitchtracker таким файлом оказался
/usr/lib64/vamp/cepstral-pitchtracker.so, очевидно, к питону он отношения
не имеет.
Почему /usr/lib/rpm/python.req.files скармливает ELF shared objects
python.req'у, пусть лучше расскажут те, кто это придумали.
Пока что я просто выключил это скармливание в случае, когда скармливать
некуда.
Кроме того, в
[#270972] DONE rpm-build-python.git=0.42.1-alt1
была добавлена диагностика того, какие именно файлы не удалось обработать
из-за отсутствия пакета rpm-build-python.
--
ldv
Подробная информация о списке рассылки Devel