Лучший способ изменить RPM, для которого у вас нет исходного кода, состоит в следующем:
- Распакуйте об / мин в каталог с помощью команды rpm2cpio
- Внесите необходимые изменения внутри этого подкаталога
- Создайте «фиктивный» файл спецификации и создайте его.
Этот фиктивный файл спецификации может выглядеть следующим образом:
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/*
Заменить каждое "бла" здесь реальным значением (для получения значений используйте rpm -qpi <strong>rpm file</strong>
).Замените BuildRoot на каталог, в котором вы распаковали измененный rpm.Затем запустите rpmbuild -bb dummy.spec
.
Поскольку не определены шаги подготовки / настройки / сборки / установки, он просто возьмет то, что находится в buildroot, и сделает RPM.
Если пакет rpmесть файлы сценариев, вы также должны будете поместить их в этот фиктивный файл спецификации.Чтобы увидеть, есть ли в пакете какие-либо сценарии, запустите: rpm -qp --scripts <strong>rpm file</strong>
.То же самое касается зависимостей, предварительных требований и т. Д.
Могут быть и другие детали, которые я пропускаю, но этого должно быть достаточно, чтобы начать работу.
ОБНОВЛЕНИЕ: Для чего это стоит, есть также http://rpmrebuild.sourceforge.net/