Подтвердить что ты не робот

Распаковка файла RPM и его переупаковка

У меня есть файл RPM. Я должен внести некоторые изменения в этот RPM, переупаковать его и Test. Кто-нибудь может мне помочь?

4b9b3361

Ответ 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. Счастливое исправление!