Ожидается одинаковый вывод для: $ rpmbuild --eval '%{shrink:foo}' foo $ rpm --eval '%{shrink:foo}' %{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).
Ну да, просто не добавили.
(In reply to Arseny Maslennikov from comment #1) > Ну да, просто не добавили. Кто-нибудь добавит?
(In reply to Anton Zhukharev from comment #2) > (In reply to Arseny Maslennikov from comment #1) > > Ну да, просто не добавили. > Кто-нибудь добавит? Когда ждать и стоит ли вообще?
Кстати, аналогично и с Lua: $ rpmbuild --eval '%{lua:print("hello world")}' %{lua:print("hello world")} $ rpm --eval '%{lua:print("hello world")}' hello world
(In reply to Anton Zhukharev from comment #3) > (In reply to Anton Zhukharev from comment #2) > > (In reply to Arseny Maslennikov from comment #1) > > > Ну да, просто не добавили. > > Кто-нибудь добавит? > Когда ждать и стоит ли вообще? %shrink именно — да, конечно, пусть будет, раз он есть в rpm-build.
(In reply to Anton Zhukharev from comment #4) > Кстати, аналогично и с Lua: > $ rpmbuild --eval '%{lua:print("hello world")}' > %{lua:print("hello world")} > > $ rpm --eval '%{lua:print("hello world")}' > hello world Поддержка lua в rpm-build — это отдельный топик, его лучше обсуждать в своей баге, и я встречал разные мнения о том, хотим ли мы там lua. IMHO: Lua в спеке несказанно полезнее, чем в rpm, и это шанс избавиться насовсем от таких неприятных способностей макропроцессора, как %(). Топ две причины обращаться к %() — это трансформации строк и rpmvercmp. Первое прекрасно делается встроенными средствами liblua, а для второго нужно просто функцию в таблице rpm сделать. Но тогда нужно тщательно отобрать содержимое глобальной таблицы, чем меньше там будет сисколлов, тем лучше.
(In reply to Arseny Maslennikov from comment #5) > (In reply to Anton Zhukharev from comment #3) > > (In reply to Anton Zhukharev from comment #2) > > > (In reply to Arseny Maslennikov from comment #1) > > > > Ну да, просто не добавили. > > > Кто-нибудь добавит? > > Когда ждать и стоит ли вообще? > %shrink именно — да, конечно, пусть будет, раз он есть в rpm-build. Ещё я %dnl хочу сбекпортить. :)
В сборочном задании https://packages.altlinux.org/en/tasks/437509/ бэкпортировал %shrink и %dnl. Проверил в контейнере и выглядит корректно. Прошу посмотреть и если все ОК, то прошу аппрув.
(In reply to Anton Zhukharev from comment #8) > В сборочном задании https://packages.altlinux.org/en/tasks/437509/ > бэкпортировал %shrink и %dnl. Проверил в контейнере и выглядит корректно. Огонь, спасибо! > Прошу посмотреть и если все ОК, то прошу аппрув. Спецформа %shrink из вашего таска перераскрывает тело после себя ещё раз. Мне уже прислали патч, который это закрывает (ещё один человек решил исправить сию багу в параллель), так что думаю прямо сейчас наложить его на ваши коммиты и составить girar-задание.
(In reply to Arseny Maslennikov from comment #9) > (In reply to Anton Zhukharev from comment #8) > > В сборочном задании https://packages.altlinux.org/en/tasks/437509/ > > бэкпортировал %shrink и %dnl. Проверил в контейнере и выглядит корректно. > Огонь, спасибо! > > > Прошу посмотреть и если все ОК, то прошу аппрув. > Спецформа %shrink из вашего таска перераскрывает тело после себя ещё раз. > Мне уже прислали патч, который это закрывает (ещё один человек решил > исправить сию багу в параллель), так что думаю прямо сейчас наложить его на > ваши коммиты и составить girar-задание. Окак! Большое ему спасибо! С таском 438060 я также проверил раскрытие %{shrink:...} - все хорошо!
rpm-4.13.0.1-alt48 -> sisyphus: Wed Oct 21 2026 Arseny Maslennikov <arseny@altlinux> 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.