[devel] альтовые пакеты и не альтовый rpm

Vladimir Lettiev thecrux на gmail.com
Вт Мар 23 12:15:53 UTC 2010


On Tue, Mar 23, 2010 at 09:10:23AM +0200, Igor Zubkov wrote:
> Появилось пара вопросов относительно альтового rpm и пакетов им собранных.
> 1. Какой rpm будет читать альтовые rpm'ки более правильно?
> 4.5/4.6/5.0/5.1/5.2/5.3?
> 2. В альтовом rpm реализована локализация summary/group/description.
> Как его можно прочитать не альтовым rpm?
> 
> Ну и вопрос который относится просто к rpm (или ruby-rpm), можно ли
> одной командой извлечь spec из произвольного src.rpm?

У меня была схожая задача: читать альтовый rpm на не-rpm платформе
(debian). Оказалось, что самый простой вариант это вообще не завязываться
на librpm, а реализовать чтение информации из rpm-пакета напрямую,
основываясь на спецификации[1] файлового формата rpm. Так появился модуль
для perl[2], которым можно успешно вытаскивать информацию из rpm-пакетов
не имея на системе librpm. Думаю на ruby реализовать схожий модуль тоже
не сложно.

По поводу spec и других файлов в rpm-пакете.
rpm-файл это заголовок + архив (archive.cpio.gz или archive.cpio.lzma).
Т.о. откусив заголовок можно извлечь всё содержимое пакета, включая спек,
штатными утилитами. (Длину заголовка расчитать несложно, в модуле[2] есть
такая возможность)

[1] - http://www.rpm.org/max-rpm/s1-rpm-file-format-rpm-file-format.html
[2] - http://prometheus.altlinux.org/en/srpm/Sisyphus/perl-RPM-Header-Alt

-- 
Vladimir Lettiev aka crux <theCrux на gmail.com>


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