<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>50527</bug_id>
          
          <creation_ts>2024-06-02 20:26:17 +0300</creation_ts>
          <short_desc>Unexpected filesystem3-related buildmacros changes</short_desc>
          <delta_ts>2024-06-05 02:51:31 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>rpm-build</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=50150</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>50121</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolay A. Fetisov">naf</reporter>
          <assigned_to name="Arseny Maslennikov">arseny</assigned_to>
          <cc>aen</cc>
    
    <cc>arseny</cc>
    
    <cc>glebfm</cc>
    
    <cc>imz</cc>
    
    <cc>iv</cc>
    
    <cc>ldv</cc>
    
    <cc>placeholder</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>247137</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2024-06-02 20:26:17 +0300</bug_when>
    <thetext>Для rpm-build-4.0.4.199-alt1, собранного на системе с filesystem 3.1,
изменились ряд значений макросов в /usr/lib/rpm/buildmacros .

Было для предыдущего rpm-build 4.0.4.198-alt1:
$  grep -E &apos;^%__(file|id|make|mkdir_p|patch|perl|subst|ld|nm|objcopy|objdump|strip)[[:blank:]]&apos; 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247151</commentid>
    <comment_count>1</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-06-03 00:57:37 +0300</bug_when>
    <thetext>(In reply to Nikolay A. Fetisov from comment #0)
&gt; Для rpm-build-4.0.4.199-alt1, собранного на системе с filesystem 3.1,
&gt; изменились ряд значений макросов в /usr/lib/rpm/buildmacros .
&gt; 
&gt; Было для предыдущего rpm-build 4.0.4.198-alt1:
&gt; $  grep -E
&gt; &apos;^%__(file|id|make|mkdir_p|patch|perl|subst|ld|nm|objcopy|objdump|strip)[[:
&gt; blank:]]&apos; buildmacros
&gt; %__file                 /usr/bin/file4
&gt; %__id                   /usr/bin/id
&gt; %__make                 /usr/bin/make
&gt; %__mkdir_p              /bin/mkdir -p
&gt; %__patch                /usr/bin/patch
&gt; %__perl                 /usr/bin/perl
&gt; %__subst                /usr/bin/subst
&gt; %__ld                   /usr/bin/ld
&gt; %__nm                   /usr/bin/nm
&gt; %__objcopy              /usr/bin/objcopy
&gt; %__objdump              /usr/bin/objdump
&gt; %__strip                /usr/bin/strip
&gt; 
&gt; Стало в rpm-build-4.0.4.199-alt1:
&gt; %__file                 /bin/file4
&gt; %__id                   /bin/id
&gt; %__make                 /bin/make
&gt; %__mkdir_p              /usr/bin/mkdir -p
&gt; %__patch                /bin/patch
&gt; %__perl                 /bin/perl
&gt; %__subst                /bin/subst
&gt; %__ld                   /bin/ld
&gt; %__nm                   /bin/nm
&gt; %__objcopy              /bin/objcopy
&gt; %__objdump              /bin/objdump
&gt; %__strip                /bin/strip
&gt; 
&gt; Это точно ожидаемое поведение для нового rpm-build?
&gt; 
&gt; Теперь значения этих макросов отличаются от одноимённых определений
&gt; в /usr/lib/rpm/macros из librpm7 .

Нет, так быть не должно.

Открыл macros.in, а они там все динамические! :(

&gt; Кроме того, как минимум для %__perl эти изменения влияют на результаты сборки
&gt; пакетов: %__perl используется в функции _perl_vendor_fixin() из
&gt; /usr/lib/rpm/macros.d/perl5
&gt; (rpm-build-perl-0.85-alt6) для принудительной замены пути к perl в shebang
&gt; скриптов,
&gt; которая в свою очередь используется в %perl_vendor_build .

(In reply to Nikolay A. Fetisov from comment #0)
&gt; Указание пути к Perl как /bin/perl вместо традиционного (и правильного)
&gt; /usr/bin/perl
&gt; как минимум сломало сборку модулей perl-Pod-Eventual и
&gt; perl-Dist-Zilla-Plugin-OurPkgVersion.

Не только их, я такое c другими пакетами встречал:
https://git.altlinux.org/tasks/349348/logs/events.1.1.log

Это бага, да.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247232</commentid>
    <comment_count>2</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-06-04 17:28:25 +0300</bug_when>
    <thetext>По всей видимости, здесь стоит предусмотреть значения, которые:
— отвечают реалиям ALT (пока эти реалии не изменились)
— синхронизированы с каноническими путями к этим программам.

Пока что вся остальная практика ALT по этому вопросу сводится вот к этому перечню путей вне префикса, взятому из бесполезной спеки LSB:
https://packages.altlinux.org/en/sisyphus/srpms/lsb/specfiles/
&gt; Table 17-1. Commands And Utilities
Пока жив этот пакет, перечисленные там зависимости будет кто-то предоставлять.

Скорее всего, никто не будет спорить, что для остальных программ каноническим путём стоит считать тот, что под /usr.

Я бы предпочёл и эти пути переделать, но в более контролируемом порядке; это отдельная задача.

А пока вот:
https://packages.altlinux.org/tasks/350313</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247241</commentid>
    <comment_count>3</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2024-06-05 02:51:31 +0300</bug_when>
    <thetext>rpm-build-4.0.4.200-alt1 -&gt; sisyphus:

 Tue Jun 04 2024 Arseny Maslennikov &lt;arseny@altlinux&gt; 4.0.4.200-alt1
 - Bring embedded PATH lists in line with current merged-usr ALT practice.
   (Closes: 50527)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>