* [devel] girar-utils
@ 2009-05-27 14:13 Afanasov Dmitry
2009-05-27 14:19 ` Alexey I. Froloff
0 siblings, 1 reply; 6+ messages in thread
From: Afanasov Dmitry @ 2009-05-27 14:13 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1.1: Type: text/plain, Size: 885 bytes --]
забыл тему сменить, каюсь.
On Wed, May 27, 2009 at 05:54:53PM +0400, Afanasov Dmitry wrote:
> On Wed, May 27, 2009 at 05:27:58PM +0400, Alexey I. Froloff wrote:
> > Есть пакет girar-utils, в репозитарий которого я слегка пописываю.
> > Как должен выглядеть этот girar-get, какие опции принимать и что
> > выдавать на выходе?
> а так мне очень интересен расширенный функционал git.alt find-packages. на входе
> опять-таки имеем rpm пакет, на выходе список ссылок, откуда этот пакет
> вырос.
>
> то есть задача: разыменовать бинарный пакет в srpm, по srpm вычислить
> таг/коммит, найти репы с этим коммитом на git.alt'е.
а что если туда же добавить скритину в аттаче? простая как пробка, не
такая оптимальная/быстрая, но работает :) сделана для подстановки в rules
не только version, release и name, но и любых другиз макросов rpm
--
С уважением
Афанасов Дмитрий
[-- Attachment #1.2: gear-update-rules --]
[-- Type: text/plain, Size: 1351 bytes --]
#!/bin/bash
fatal()
{
[ -z "$1" ] && echo "$@"
exit 1
}
while :; do
case $1 in
--debug)
set -x
;;
--spec)
shift
SPEC=$1
;;
*)
[ -z "$1" ] && break
;;
esac
shift
done
rules=
rules_in=
[ -f .gear/rules.in ] && rules_in=".gear/rules.in"
[ -f .gear-rules ] && rules_in=".gear-rules.in"
[ -f "$rules_in" ] || exit
rules="${rules_in%*.in}"
[ -z "$SPEC" ] && SPEC=`ls *.spec 2>/dev/null`
[ -f "$SPEC" ] || fatal "spec $SPEC not found"
vars="$(awk '
{
line = $0;
while(match(line, /@([a-z]+)@/, f))
{
if(!x[f[1]])
{
print f[1];
x[f[1]] = 1;
}
line = substr(line, RSTART + RLENGTH)
}
}' $rules_in)"
tmpspec=`mktemp --tmpdir spec-XXXXX`
trap "rm -f $tmpspec" INT TERM
install -p -m644 "$rules_in" "$rules" || fatal
for var in $vars; do
cat $SPEC > $tmpspec
echo "%$var" >> $tmpspec
val="$(rpm -bE $tmpspec | tail -1)"
[ -z "$val" ] && fatal "$var not expanded"
echo "substitute $var --> $val"
perl -i -npe "s/\@\Q$var\E@/$val/g" $rules
done
rm -f $tmpspec
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] girar-utils
2009-05-27 14:13 [devel] girar-utils Afanasov Dmitry
@ 2009-05-27 14:19 ` Alexey I. Froloff
2009-05-27 14:26 ` Afanasov Dmitry
0 siblings, 1 reply; 6+ messages in thread
From: Alexey I. Froloff @ 2009-05-27 14:19 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 456 bytes --]
* Afanasov Dmitry <ender@> [090527 18:16]:
> а что если туда же добавить скритину в аттаче? простая как пробка, не
> такая оптимальная/быстрая, но работает :) сделана для подстановки в rules
> не только version, release и name, но и любых другиз макросов rpm
При чём тут girar AKA git.alt?
> cat $SPEC > $tmpspec
> echo "%$var" >> $tmpspec
> val="$(rpm -bE $tmpspec | tail -1)"
Какой ужас...
--
Regards,
Sir Raorn.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] girar-utils
2009-05-27 14:19 ` Alexey I. Froloff
@ 2009-05-27 14:26 ` Afanasov Dmitry
2009-05-27 19:20 ` Alexey Rusakov
0 siblings, 1 reply; 6+ messages in thread
From: Afanasov Dmitry @ 2009-05-27 14:26 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 715 bytes --]
On Wed, May 27, 2009 at 06:19:24PM +0400, Alexey I. Froloff wrote:
> * Afanasov Dmitry <ender@> [090527 18:16]:
> > а что если туда же добавить скритину в аттаче? простая как пробка, не
> > такая оптимальная/быстрая, но работает :) сделана для подстановки в rules
> > не только version, release и name, но и любых другиз макросов rpm
> При чём тут girar AKA git.alt?
чтобы хоть куда-нибудь :) не пакетить же отдельно.
> > cat $SPEC > $tmpspec
> > echo "%$var" >> $tmpspec
> > val="$(rpm -bE $tmpspec | tail -1)"
> Какой ужас...
сам знаю, сделано на коленке, чтобы работало. и так как знаю об ужасе, но
и функционал удобен, я пишу сюда :)
--
С уважением
Афанасов Дмитрий
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] girar-utils
2009-05-27 14:26 ` Afanasov Dmitry
@ 2009-05-27 19:20 ` Alexey Rusakov
2009-05-27 20:08 ` Afanasov Dmitry
2009-05-27 20:36 ` Alexey I. Froloff
0 siblings, 2 replies; 6+ messages in thread
From: Alexey Rusakov @ 2009-05-27 19:20 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1330 bytes --]
В Срд, 27/05/2009 в 18:26 +0400, Afanasov Dmitry пишет:
> On Wed, May 27, 2009 at 06:19:24PM +0400, Alexey I. Froloff wrote:
> > * Afanasov Dmitry <ender@> [090527 18:16]:
> > > а что если туда же добавить скритину в аттаче? простая как пробка, не
> > > такая оптимальная/быстрая, но работает :) сделана для подстановки в rules
> > > не только version, release и name, но и любых другиз макросов rpm
> > При чём тут girar AKA git.alt?
> чтобы хоть куда-нибудь :) не пакетить же отдельно.
Ну это явно не по теме girar/git.alt. Скорее уж в сторону gear.
> > > cat $SPEC > $tmpspec
> > > echo "%$var" >> $tmpspec
> > > val="$(rpm -bE $tmpspec | tail -1)"
> > Какой ужас...
> сам знаю, сделано на коленке, чтобы работало. и так как знаю об ужасе, но
> и функционал удобен, я пишу сюда :)
Зачем же вы так, батенька, извращаетесь? Для такого есть rpm --eval
--
Alexey "Ktirf" Rusakov
GNOME Project
ALT Linux Team
[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] girar-utils
2009-05-27 19:20 ` Alexey Rusakov
@ 2009-05-27 20:08 ` Afanasov Dmitry
2009-05-27 20:36 ` Alexey I. Froloff
1 sibling, 0 replies; 6+ messages in thread
From: Afanasov Dmitry @ 2009-05-27 20:08 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 718 bytes --]
On Wed, May 27, 2009 at 11:20:42PM +0400, Alexey Rusakov wrote:
> В Срд, 27/05/2009 в 18:26 +0400, Afanasov Dmitry пишет:
> > > > val="$(rpm -bE $tmpspec | tail -1)"
> > > Какой ужас...
> > сам знаю, сделано на коленке, чтобы работало. и так как знаю об ужасе, но
> > и функционал удобен, я пишу сюда :)
> Зачем же вы так, батенька, извращаетесь? Для такого есть rpm --eval
так я ж пробовал. rpm --eval "`cat spec`" не работает, rpm --eva' %macros,
что отсутсвует в --showrc тоже. а мне нужны именно они. разве что grep
%define скормить спеку, но это множетсво меньше, чем rpm -bE. да и %if'ы
%не учитываются.
замена будет только переносной парсер спеков :)
--
С уважением
Афанасов Дмитрий
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] girar-utils
2009-05-27 19:20 ` Alexey Rusakov
2009-05-27 20:08 ` Afanasov Dmitry
@ 2009-05-27 20:36 ` Alexey I. Froloff
1 sibling, 0 replies; 6+ messages in thread
From: Alexey I. Froloff @ 2009-05-27 20:36 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 398 bytes --]
* Alexey Rusakov <ktirf@> [090527 23:23]:
> Зачем же вы так, батенька, извращаетесь? Для такого есть rpm --eval
Вот такое оно не от'eval'ит:
Version: %major.%minor%{?pre:.000.%pre}%{?patchlevel:.%patchlevel}
P.S. Хотя, эта конструкция всё равно работает неправильно и её
надо упрощать.
Дешевле и проще рисовать трёхстрочный скриптик под конкретный
пакет.
--
Regards,
Sir Raorn.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-05-27 20:36 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-27 14:13 [devel] girar-utils Afanasov Dmitry
2009-05-27 14:19 ` Alexey I. Froloff
2009-05-27 14:26 ` Afanasov Dmitry
2009-05-27 19:20 ` Alexey Rusakov
2009-05-27 20:08 ` Afanasov Dmitry
2009-05-27 20:36 ` Alexey I. Froloff
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