Для rpm-build-4.0.4.199-alt1, собранного на системе с filesystem 3.1, изменились ряд значений макросов в /usr/lib/rpm/buildmacros . Было для предыдущего rpm-build 4.0.4.198-alt1: $ grep -E '^%__(file|id|make|mkdir_p|patch|perl|subst|ld|nm|objcopy|objdump|strip)[[:blank:]]' buildmacros %__file /usr/bin/file4 %__id /usr/bin/id %__make /usr/bin/make %__mkdir_p /bin/mkdir -p %__patch /usr/bin/patch %__perl /usr/bin/perl %__subst /usr/bin/subst %__ld /usr/bin/ld %__nm /usr/bin/nm %__objcopy /usr/bin/objcopy %__objdump /usr/bin/objdump %__strip /usr/bin/strip Стало в rpm-build-4.0.4.199-alt1: %__file /bin/file4 %__id /bin/id %__make /bin/make %__mkdir_p /usr/bin/mkdir -p %__patch /bin/patch %__perl /bin/perl %__subst /bin/subst %__ld /bin/ld %__nm /bin/nm %__objcopy /bin/objcopy %__objdump /bin/objdump %__strip /bin/strip Это точно ожидаемое поведение для нового rpm-build? Теперь значения этих макросов отличаются от одноимённых определений в /usr/lib/rpm/macros из librpm7 . Кроме того, как минимум для %__perl эти изменения влияют на результаты сборки пакетов: %__perl используется в функции _perl_vendor_fixin() из /usr/lib/rpm/macros.d/perl5 (rpm-build-perl-0.85-alt6) для принудительной замены пути к perl в shebang скриптов, которая в свою очередь используется в %perl_vendor_build . Указание пути к Perl как /bin/perl вместо традиционного (и правильного) /usr/bin/perl как минимум сломало сборку модулей perl-Pod-Eventual и perl-Dist-Zilla-Plugin-OurPkgVersion.
(In reply to Nikolay A. Fetisov from comment #0) > Для rpm-build-4.0.4.199-alt1, собранного на системе с filesystem 3.1, > изменились ряд значений макросов в /usr/lib/rpm/buildmacros . > > Было для предыдущего rpm-build 4.0.4.198-alt1: > $ grep -E > '^%__(file|id|make|mkdir_p|patch|perl|subst|ld|nm|objcopy|objdump|strip)[[: > blank:]]' buildmacros > %__file /usr/bin/file4 > %__id /usr/bin/id > %__make /usr/bin/make > %__mkdir_p /bin/mkdir -p > %__patch /usr/bin/patch > %__perl /usr/bin/perl > %__subst /usr/bin/subst > %__ld /usr/bin/ld > %__nm /usr/bin/nm > %__objcopy /usr/bin/objcopy > %__objdump /usr/bin/objdump > %__strip /usr/bin/strip > > Стало в rpm-build-4.0.4.199-alt1: > %__file /bin/file4 > %__id /bin/id > %__make /bin/make > %__mkdir_p /usr/bin/mkdir -p > %__patch /bin/patch > %__perl /bin/perl > %__subst /bin/subst > %__ld /bin/ld > %__nm /bin/nm > %__objcopy /bin/objcopy > %__objdump /bin/objdump > %__strip /bin/strip > > Это точно ожидаемое поведение для нового rpm-build? > > Теперь значения этих макросов отличаются от одноимённых определений > в /usr/lib/rpm/macros из librpm7 . Нет, так быть не должно. Открыл macros.in, а они там все динамические! :( > Кроме того, как минимум для %__perl эти изменения влияют на результаты сборки > пакетов: %__perl используется в функции _perl_vendor_fixin() из > /usr/lib/rpm/macros.d/perl5 > (rpm-build-perl-0.85-alt6) для принудительной замены пути к perl в shebang > скриптов, > которая в свою очередь используется в %perl_vendor_build . (In reply to Nikolay A. Fetisov from comment #0) > Указание пути к Perl как /bin/perl вместо традиционного (и правильного) > /usr/bin/perl > как минимум сломало сборку модулей perl-Pod-Eventual и > perl-Dist-Zilla-Plugin-OurPkgVersion. Не только их, я такое c другими пакетами встречал: https://git.altlinux.org/tasks/349348/logs/events.1.1.log Это бага, да.
По всей видимости, здесь стоит предусмотреть значения, которые: — отвечают реалиям ALT (пока эти реалии не изменились) — синхронизированы с каноническими путями к этим программам. Пока что вся остальная практика ALT по этому вопросу сводится вот к этому перечню путей вне префикса, взятому из бесполезной спеки LSB: https://packages.altlinux.org/en/sisyphus/srpms/lsb/specfiles/ > Table 17-1. Commands And Utilities Пока жив этот пакет, перечисленные там зависимости будет кто-то предоставлять. Скорее всего, никто не будет спорить, что для остальных программ каноническим путём стоит считать тот, что под /usr. Я бы предпочёл и эти пути переделать, но в более контролируемом порядке; это отдельная задача. А пока вот: https://packages.altlinux.org/tasks/350313
rpm-build-4.0.4.200-alt1 -> sisyphus: Tue Jun 04 2024 Arseny Maslennikov <arseny@altlinux> 4.0.4.200-alt1 - Bring embedded PATH lists in line with current merged-usr ALT practice. (Closes: 50527)