Bug 60006
| Summary: | разница в поддержке функциональности макроязыка в сравнении с rpmbuild | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Stanislav Levin <slev> |
| Component: | rpm | Assignee: | Gleb F-Malinovskiy <glebfm> |
| Status: | RESOLVED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | ancieg, arseny, glebfm, imz |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
| URL: | https://packages.altlinux.org/tasks/438060 | ||
Ну да, просто не добавили. (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.
|

Description
Stanislav Levin 2026-07-29 15:01:56 MSKОжидается одинаковый вывод для: $ 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).