[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