Изменить rpm с помощью rpmrebuild - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть rpm, созданный для среды dev, и содержит файл конфигурации, который указывает на dev. Теперь мне нужно создать rpm для другой среды, для которой мне нужно заменить только один файл в папке SOURCES, обновить ссылку в .spe c и пересобрать ее . Проблема в том, что у меня нет файла .spe c, который я использовал для создания rpm для dev.

Итак, после поиска наткнулся на rpmrebuild, и я смог увидеть файл .spe c в редакторе. Когда я даю команду rpmrebuild, файл spe c открывается в редакторе.

Вот небольшой фрагмент из файла

/root/rpmbuild/SOURCES /root/rpmbuild/SOURCES
%files
%attr(0755, root, root) "/opt/**{replace/with/newfile/path**}"

Но обновление, которое дает мне это - Файл не найден: /root/.tmp/rpmrebuild.2345/work/root/opt/ { path / to / newfile}

Я не знаю, нужно ли мне использовать команду rpmrebuild с любыми параметрами --params, чтобы заменить файл в SOURCES и его ссылку в .spe c. Никаких других изменений не требуется.

Пожалуйста, руководство.

Примечание: я unix новичок

1 Ответ

0 голосов
/ 25 апреля 2020

Полагаю, у вас нет sr c .rpm для этого пакета. Если вы это сделаете, то это очень просто, просто установите это с rpm -ihv /path/to/src/rpm, как вы сделали бы с любым RPM-файлом. Содержимое, если не указано иное, будет извлечено в ~ / rpmbuild. Spe c будет находиться в ~ / rpmbuild / SPECS, источники в ~ / rpmbuild / SOURCES, et c.

Если у вас нет sr c .rpm, а только RPM Сам, установите пакет rpmrebuild из репозитория EPEL, а затем:

$ rpmrebuild -e -p /path/to/package

Он откроет spe c в вашем редакторе по умолчанию. Отредактируйте его и сохраните spe c, где вы хотите. Затем, если у вас есть все необходимые исходные файлы (объявленные в spe c с использованием директив SourceN), вы можете позвонить:

$ rpmbuild -bb /path/to/spec

Чтобы восстановить RPM из отредактированного spe c .

...