ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Aleksey Avdeev <solo@solin.spb.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Автоматические release
Date: Tue, 04 Aug 2009 21:55:17 +0400
Message-ID: <4A787605.7040806@solin.spb.ru> (raw)
In-Reply-To: <200908042013.19211.ledest@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2011 bytes --]

Led пишет:
> On Tuesday 04 August 2009 20:07:19 Aleksey Avdeev wrote:
>> Michael Shigorin пишет:
>>> 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 ...
>>    OK. Тогда и остальные макросы в %branch_switch и %branch_release_num,
>> для единообразия.
>>
>>>> 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@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; с другой стороны, так экономится пара
>>> циклов в тривиальном случае... :)
>>    Вариант избавится от sed напрашивается. Но я не придумал, как в awk с
>> помощью регулярного выражения разрезать строку на 3 переменных:
> 
> split()

   Не понял как применить со сложным регекспом. То что придумал:

$ echo alt2|awk '{split($0, a, 
"^([^[:space:]]+)([0-9]+)(|(\\.[^[:space:]]+))$");print "a[1]=" a[1] " 
a[2]=" a[2] " a[3]=" a[3]}'

возвращает:

a[1]= a[2]= a[3]=

   А мне нужно (при alt2 на входе) получить на выходе:

a[1]=alt a[2]=2 a[3]=

   Кой для этого нужен регексп для split?

-- 

С уважением. Алексей.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 552 bytes --]

  reply	other threads:[~2009-08-04 17:55 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-18  9:58 [devel] rpmbph with git branches Eugene Prokopiev
2009-05-18 14:50 ` Max Ivanov
2009-05-18 15:00   ` Alexey I. Froloff
2009-05-18 15:25     ` Afanasov Dmitry
2009-05-18 15:32       ` Max Ivanov
2009-05-18 16:53     ` Eugene Prokopiev
2009-05-18 16:59       ` Alexey I. Froloff
2009-05-19  4:15         ` Eugene Prokopiev
2009-05-24 13:09         ` Michael Shigorin
2009-05-24 13:36           ` Afanasov Dmitry
2009-05-24 16:21             ` Grigory Batalov
2009-05-24 17:38               ` Afanasov Dmitry
2009-05-24 13:40           ` Aleksey Avdeev
2009-05-18 17:00       ` Igor Vlasenko
2009-05-18 17:04       ` Led
2009-05-18 15:40 ` Anton Farygin
2009-05-18 16:49   ` Eugene Prokopiev
2009-05-18 17:53     ` Anton Farygin
2009-05-18 18:10       ` Aleksey Avdeev
2009-05-18 19:37         ` Anton Farygin
2009-05-18 19:49           ` Aleksey Avdeev
2009-08-04 15:29           ` [devel] Автоматические release (was: rpmbph with git branches) Aleksey Avdeev
2009-08-04 16:40             ` Michael Shigorin
2009-08-04 17:07               ` [devel] Автоматические release Aleksey Avdeev
2009-08-04 17:13                 ` Led
2009-08-04 17:55                   ` Aleksey Avdeev [this message]
2009-08-07 14:59                 ` Aleksey Avdeev
2009-08-07 19:56                   ` Aleksey Avdeev
2009-08-08  9:12                     ` [devel] I: У buildreq проблемы с %(<shell-coms>)? (was: Автоматические release) Aleksey Avdeev
2009-08-08 10:02                       ` Alexey Tourbin
2009-08-08 11:47                         ` [devel] I: У buildreq проблемы с %(<shell-coms>)? Aleksey Avdeev
2009-08-05  4:20             ` [devel] Автоматические release (was: rpmbph with git branches) Eugene Prokopiev
2009-08-05  4:30               ` Eugene Prokopiev
2009-08-05 11:50                 ` [devel] Автоматические release Aleksey Avdeev
2009-05-18 20:06         ` [devel] rpmbph with git branches Vitaly Lipatov
2009-05-18 20:05           ` Aleksey Avdeev
2009-05-19  4:14       ` Eugene Prokopiev
2009-05-19  5:03         ` Vitaly Lipatov
2009-05-19  5:42           ` Anton Farygin
2009-05-19  7:53             ` Eugene Prokopiev
2009-05-19  8:06               ` Anton Farygin
2009-05-19  8:39                 ` Eugene Prokopiev
2009-05-20  8:21             ` Vitaly Lipatov
2009-05-19  5:41         ` Anton Farygin
2009-05-19  9:56           ` Aleksey Avdeev
2009-05-19 10:34             ` Anton Farygin
2009-05-19 10:39               ` Max Ivanov
2009-05-19 10:58                 ` Anton Farygin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A787605.7040806@solin.spb.ru \
    --to=solo@solin.spb.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git