[devel] Q: Есть ли способ раскрыть макросы rpm не в спеке?
Aleksey Avdeev
=?iso-8859-1?q?solo_=CE=C1_solin=2Espb=2Eru?=
Пт Авг 8 03:09:27 MSD 2008
Aleksey Avdeev пишет:
> 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"
>
> Придётся добавлять защиту...
См. <https://bugzilla.altlinux.org/show_bug.cgi?id=16623>
--
С уважением. Алексей.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 552 байтов
Описание: OpenPGP digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080808/5d3bfbda/attachment.bin>
Подробная информация о списке рассылки Devel