[devel] Автоматические release (was: rpmbph with git branches)
Michael Shigorin
mike at osdn.org.ua
Tue Aug 4 20:40:53 MSD 2009
On Tue, Aug 04, 2009 at 07:29:54PM +0400, Aleksey Avdeev wrote:
> Похоже начало вытанцовываться что-то похожее. Если использовать
> прилагаемый макрофайл (см. вложение), то:
>
> Release: %distr_auto_release <prefix><number>[.<suffix>]
IMHO чуточку лучше бы
Release: %distro_release ...
или вообще
Release: %branch_release ...
> PS: Данный вариант мне нравиться дольше, чем используемый
> сейчас. Думаю запаковать его. Прошу предлагать более внятные
> названия для макросов и/или самого пакета.
Да, вполне симпатично.
> #auto_distr macros
>
> # release format: <prefix><number>[.<suffix>]
> %distr_auto_release() %(if [ "%{?distr_switch}" = "" ]; then echo "%1"; else echo "%1"|sed -rn -e 's@^([^[:space:]]+)([0-9]+)(|(\\.[^[:space:]]+))$@\\1/\\2/\\3 at p'|awk -v FS='/' -v distr_name='%{?distr_switch}' -v distr_num='%{?distr_num}' 'BEGIN {if (distr_num == "") {num="1"} else {num=distr_num}; suf=("." distr_name "." num) }; {print $1 ($2-1) suf $3}'; fi)
Что-то подсказывает, что вместо if, echo, sed и awk можно
обойтись просто awk; с другой стороны, так экономится пара
циклов в тривиальном случае... :)
--
---- WBR, Michael Shigorin <mike at altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
More information about the Devel
mailing list