Что я делаю, как пользователь ROOT:
Установите SRPM, как и любой другой пакет ( rpm --install [source-rpm-filename])
Изучите /root/rpmbuild/SPECSкаталог и найдите файл specs, соответствующий вашему пакету
rpmbuild -bb /root/rpmbuild/SPECS/[found-filename]
Полученные двоичные пакеты затем помещаются в /root/rpmbuild/RPMS/каталог, который готов к установке с помощью стандартной rpm --installкоманды.
ПРИМЕЧАНИЕ: это просто строит то, что находится в стандартном двоичном пакете. Я пишу это, отвечая на конкретный вопрос, а не о том, как делать изменения в источнике и создавать новые пакеты.
Чтобы внести изменения, вы можете либо предоставить патчи в качестве входных данных и изменить файл SPECS .... или вы можете заменить стандарт, *.tar.bz2расположенный в /root/rpmbuild/SOURCESвашем, на изменение, а затем выполнить сборку, как описано выше.
Остерегайтесь, возможно, вам придется изменить пакет SPECS, чтобы он работал (обычно путем извлечения исправлений и изменения некоторых имен файлов, которые запрограммированы файлом SPECS).
РЕДАКТИРОВАТЬ
Кажется, сборка rpms как root - плохая практика ( источник ). Он отлично работает как пользователь без полномочий root.
Пошаговая инструкция по добавлению патча ( отсюда ):
- Скопируйте ваш патч в
rpmbuild/SOURCES.
- Отредактируйте
rpmbuild/SPECS/package.specи добавьте Patch0: mypatch.patchсразу после Source0: ...строки.
- После
%setup ...строки добавьте %patch0 -p1строку
Теперь он будет строить нормально, т.е. с:rpmbuild -ba SPECS/package.spec