[devel] %__subst changes?

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Чт Мар 4 01:05:19 MSK 2004


Hi,

On Wed, Mar 03, 2004 at 07:33:28PM +0200, Maxim Tyurin wrote:
> Hi!
> Просветите plz какие изменения в subst (sed) произошли?

Радикально изменилась версия, с sed-3.02-alt2 на sed-4.0.9-alt1.

> Перестал обрабатывать такую конструкцию в спеке:
>  %__grep -r /etc/ipsec.secrets * \
> | %__awk '{ print $1 }' \
> | %__sed -e 's|:.*$|\1|' \
> | xargs %__subst 's|/etc/ipsec.conf|/etc/super-freeswan/ipsec.conf|';
> 
> Ругается 
> + /bin/grep -r /etc/ipsec.secrets BUGS CHANGES CHANGES.AggressiveMode CHANGES.SUPERFS CHANGES.X509 CHANGES.ipsec_alg COPYING CREDITS INSTALL Makefile Makefile.inc Makefile.ver README README.AggressiveMode README.DPD README.NAT-Traversal README.SUPERFS README.ipsec_alg README.selectors README.x509 contrib doc klips lib libcrypto libdes packaging pluto rpm.in testing utils zlib
> + gawk '{ print $1 }'
> + /bin/sed -e 's|:.*$|\1|'
> /bin/sed: -e expression #1, char 10: Invalid reference \1 on `s' command's RHS
> ошибка: Неверный код возврата из /home/mrkooll/tmp/rpm-tmp.44577 (%prep)

Всё правильно, новый sed не принимает неверное выражение
's|:.*$|\1|'

Чтобы использовать \1, нужно что-то выделить с помощью \( и \).

> Пока заменил на 
> %__grep -r /etc/ipsec.secrets * \
> | %__awk '{ print $1 }' \
> | %__sed -e 's|:.*$|\1|' \
> | xargs perl -p -i -e 's|/etc/ipsec.secrets|/etc/freeswan/ipsec.secrets|';
> но это IMHO кривее.

И работать всё равно не будет.

> Или подкиньте кто мысль как эту конструкцию нормально переписать.

Если я правильно понял идею замены, то
find -type f -print0 |
	xargs -r0 %__grep -FZl /etc/ipsec.secrets -- |
	xargs -r0 %__subst 's|/etc/ipsec.conf|/etc/super-freeswan/ipsec.conf|' --

Похожий пример есть в Sisyphus/doc/alt-packaging/spp.tex


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20040304/7a4f0573/attachment-0001.bin>


Подробная информация о списке рассылки Devel