У меня есть файл RPM. Я должен внести некоторые изменения в этот RPM, переупаковать его и Test. Кто-нибудь может мне помочь?
Распаковка файла RPM и его переупаковка
Ответ 1
Лучший способ изменить RPM, для которого у вас нет источника, - это выполнить следующие действия:
- Распакуйте rpm в каталог с помощью команды rpm2cpio
- Внесите необходимые изменения внутри этого подкаталога
- Создайте спецификационный файл "dummy" и создайте его.
Этот фиктивный spec файл может выглядеть следующим образом:
Name: blah
Version: 1.0
Release: 1
Summary: blah
License: blah
Distribution: blah
Group: blah
Packager: me
BuildRoot: /path/to/dir/with/mods
%description
blah
%files
/path/to/dir/with/mods/*
Замените здесь все "blah" реальным значением (используйте rpm -qpi rpm file
для получения значений). Замените BuildRoot в каталог, в котором вы изменили развернутый rpm. Затем запустите rpmbuild -bb dummy.spec
.
Поскольку не определены шаги подготовки/установки/сборки/установки, он просто займет то, что в buildroot и сделает RPM.
Если пакет rpm имеет script файлы, вам также придется помещать их в этот фиктивный spec файл. Чтобы узнать, есть ли у пакета какие-либо скрипты, запустите: rpm -qp --scripts rpm file
. То же самое касается зависимостей, prereqs и т.д.
Могут быть другие детали, которые мне не хватает, но этого должно быть достаточно, чтобы вы начали.
ОБНОВЛЕНИЕ: Для чего стоит, http://rpmrebuild.sourceforge.net/
Ответ 2
Я думаю, что это понятие называется патчем. Я начал исправлять первый srpm, используя ссылку . Но основная идея заключается в том, чтобы получить srpm, установить srpm, создать патч в этом каталоге области сборки и указать файл исправления% patch0 -p1 в файле spec. Затем создайте rpm. Счастливое исправление!