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

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

    <bug>
          <bug_id>60006</bug_id>
          
          <creation_ts>2026-07-29 15:01:56 +0300</creation_ts>
          <short_desc>разница в поддержке функциональности макроязыка в сравнении с rpmbuild</short_desc>
          <delta_ts>2026-10-23 11:56:05 +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</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://packages.altlinux.org/tasks/438060</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Stanislav Levin">slev</reporter>
          <assigned_to name="Gleb F-Malinovskiy">glebfm</assigned_to>
          <cc>ancieg</cc>
    
    <cc>arseny</cc>
    
    <cc>glebfm</cc>
    
    <cc>imz</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>291941</commentid>
    <comment_count>0</comment_count>
    <who name="Stanislav Levin">slev</who>
    <bug_when>2026-07-29 15:01:56 +0300</bug_when>
    <thetext>Ожидается одинаковый вывод для:
$ rpmbuild --eval &apos;%{shrink:foo}&apos;
foo

$ rpm --eval &apos;%{shrink:foo}&apos;
%{shrink:foo}

То есть поддержки %shrink в альтовом rpm как-будто бы нет.
(добавлено в rpm-build 4.0.4.204-alt1: https://packages.altlinux.org/en/sisyphus/srpms/rpm-build/3159483364607473931).

Например, на практике, в таких случаях не работает утилита add_changelog (использует rpm --specfile).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292001</commentid>
    <comment_count>1</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-07-30 10:52:46 +0300</bug_when>
    <thetext>Ну да, просто не добавили.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292923</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2026-08-20 13:37:28 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #1)
&gt; Ну да, просто не добавили.
Кто-нибудь добавит?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300113</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2026-09-24 19:19:28 +0300</bug_when>
    <thetext>(In reply to Anton Zhukharev from comment #2)
&gt; (In reply to Arseny Maslennikov from comment #1)
&gt; &gt; Ну да, просто не добавили.
&gt; Кто-нибудь добавит?
Когда ждать и стоит ли вообще?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300433</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2026-09-28 15:33:32 +0300</bug_when>
    <thetext>Кстати, аналогично и с Lua:
$ rpmbuild --eval &apos;%{lua:print(&quot;hello world&quot;)}&apos;
%{lua:print(&quot;hello world&quot;)}

$ rpm --eval &apos;%{lua:print(&quot;hello world&quot;)}&apos;
hello world</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300508</commentid>
    <comment_count>5</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-09-28 18:14:38 +0300</bug_when>
    <thetext>(In reply to Anton Zhukharev from comment #3)
&gt; (In reply to Anton Zhukharev from comment #2)
&gt; &gt; (In reply to Arseny Maslennikov from comment #1)
&gt; &gt; &gt; Ну да, просто не добавили.
&gt; &gt; Кто-нибудь добавит?
&gt; Когда ждать и стоит ли вообще?
%shrink именно — да, конечно, пусть будет, раз он есть в rpm-build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300510</commentid>
    <comment_count>6</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-09-28 18:18:53 +0300</bug_when>
    <thetext>(In reply to Anton Zhukharev from comment #4)
&gt; Кстати, аналогично и с Lua:
&gt; $ rpmbuild --eval &apos;%{lua:print(&quot;hello world&quot;)}&apos;
&gt; %{lua:print(&quot;hello world&quot;)}
&gt; 
&gt; $ rpm --eval &apos;%{lua:print(&quot;hello world&quot;)}&apos;
&gt; hello world
Поддержка lua в rpm-build — это отдельный топик, его лучше обсуждать в своей баге, и я встречал разные мнения о том, хотим ли мы там lua.

IMHO: Lua в спеке несказанно полезнее, чем в rpm, и это шанс избавиться насовсем от таких неприятных способностей макропроцессора, как %().
Топ две причины обращаться к %() — это трансформации строк и rpmvercmp. Первое прекрасно делается встроенными средствами liblua, а для второго нужно просто функцию в таблице rpm сделать.
Но тогда нужно тщательно отобрать содержимое глобальной таблицы, чем меньше там будет сисколлов, тем лучше.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300511</commentid>
    <comment_count>7</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-09-28 18:21:10 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #5)
&gt; (In reply to Anton Zhukharev from comment #3)
&gt; &gt; (In reply to Anton Zhukharev from comment #2)
&gt; &gt; &gt; (In reply to Arseny Maslennikov from comment #1)
&gt; &gt; &gt; &gt; Ну да, просто не добавили.
&gt; &gt; &gt; Кто-нибудь добавит?
&gt; &gt; Когда ждать и стоит ли вообще?
&gt; %shrink именно — да, конечно, пусть будет, раз он есть в rpm-build.
Ещё я %dnl хочу сбекпортить. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302717</commentid>
    <comment_count>8</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2026-10-17 17:27:20 +0300</bug_when>
    <thetext>В сборочном задании https://packages.altlinux.org/en/tasks/437509/ бэкпортировал %shrink и %dnl. Проверил в контейнере и выглядит корректно.

Прошу посмотреть и если все ОК, то прошу аппрув.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303064</commentid>
    <comment_count>9</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-10-21 18:03:28 +0300</bug_when>
    <thetext>(In reply to Anton Zhukharev from comment #8)
&gt; В сборочном задании https://packages.altlinux.org/en/tasks/437509/
&gt; бэкпортировал %shrink и %dnl. Проверил в контейнере и выглядит корректно.
Огонь, спасибо!

&gt; Прошу посмотреть и если все ОК, то прошу аппрув.
Спецформа %shrink из вашего таска перераскрывает тело после себя ещё раз. Мне уже прислали патч, который это закрывает (ещё один человек решил исправить сию багу в параллель), так что думаю прямо сейчас наложить его на ваши коммиты и составить girar-задание.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303084</commentid>
    <comment_count>10</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2026-10-22 01:02:53 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #9)
&gt; (In reply to Anton Zhukharev from comment #8)
&gt; &gt; В сборочном задании https://packages.altlinux.org/en/tasks/437509/
&gt; &gt; бэкпортировал %shrink и %dnl. Проверил в контейнере и выглядит корректно.
&gt; Огонь, спасибо!
&gt; 
&gt; &gt; Прошу посмотреть и если все ОК, то прошу аппрув.
&gt; Спецформа %shrink из вашего таска перераскрывает тело после себя ещё раз.
&gt; Мне уже прислали патч, который это закрывает (ещё один человек решил
&gt; исправить сию багу в параллель), так что думаю прямо сейчас наложить его на
&gt; ваши коммиты и составить girar-задание.

Окак! Большое ему спасибо!

С таском 438060 я также проверил раскрытие %{shrink:...} - все хорошо!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303228</commentid>
    <comment_count>11</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2026-10-23 11:56:05 +0300</bug_when>
    <thetext>rpm-4.13.0.1-alt48 -&gt; sisyphus:

Wed Oct 21 2026 Arseny Maslennikov &lt;arseny@altlinux&gt; 4.13.0.1-alt48
- ancieg@:
  + Backported %dnl and %{shrink:...} special forms (ALT#60006).
- krosh@:
  + Fixed %expand-like double expansion by the %{shrink:} special form.
  + Improved tests.
- Both change authors have submitted the entire work for review independently
  around the same time.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>