[devel] Q: Есть ли способ раскрыть макросы rpm не в спеке?

Aleksey Avdeev =?iso-8859-1?q?solo_=CE=C1_solin=2Espb=2Eru?=
Пт Авг 8 03:07:08 MSD 2008


Aleksey Avdeev пишет:
> Alexey Tourbin пишет:
>> On Sun, Jul 13, 2008 at 02:14:04PM +0400, Aleksey Avdeev wrote:
>>> Aleksey Avdeev пишет:
>>>> Alexey I. Froloff пишет:
>>>>> * Aleksey Avdeev <solo@> [080713 07:55]:
>>>>>>   Есть ли способы раскрытия rpm`овских макросов содержащихся в стороннем
>>>>>> файле (не в спеке)?
> ...
>> rpm --eval "$(cat file)"
> 
>   Спасибо.
> 
>   Задачу решил с помощью скрипта rpm-eval.sh (см.
> <http://git.altlinux.org/people/solo/packages/?p=apache2.git;a=blob;f=rpm-eval.sh;h=ab82a670c624e997256ce9c03f997f70a64100d0;hb=21516cc349f80295459977d916c725e14012aebf>)
> и следующего кода:
> 
> find %buildroot%_sysconfdir original -type f -print0 | \
> 	xargs -r0i %SOURCE14 "{}"
> 
>   Где %SOURCE14 -- скрипт rpm-eval.sh помещённый в пакет.
> 
> PS: Похоже, что подобный скрипт стоит запоковать в какой нибудь
> rpm-build-*...

   На некоторых файлах вылетает с диагностикой:

*** buffer overflow detected ***: rpm terminated
======= Backtrace: =========
/lib64/libc.so.6(__chk_fail+0x2f)[0x2ae70b998d1f]
/usr/lib64/librpmio-4.0.4.so(rpmExpand+0x66)[0x2ae70be32a16]
rpm(parseSpec+0x5c9)[0x4026f1]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x2ae70b8e8cf4]
rpm(parseSpec+0xb1)[0x4021d9]
======= Memory map: ========
/usr/src/RPM/SOURCES/rpm-eval.sh: line 8:  4278 Aborted 
rpm --eval "$(cat "$f")" > "$n"

   Придётся добавлять защиту...

-- 

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


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 552 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080808/2b6814c7/attachment.bin>


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