[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