Was ich als ROOT-Benutzer mache:
Installieren Sie das SRPM wie jedes andere Paket ( rpm --install [source-rpm-filename])
Untersuchen Sie das /root/rpmbuild/SPECSVerzeichnis und suchen Sie die Spezifikationsdatei, die Ihrem Paket entspricht
rpmbuild -bb /root/rpmbuild/SPECS/[found-filename]
Die resultierenden Binärpakete befinden sich dann in dem /root/rpmbuild/RPMS/Verzeichnis, das über den Standardbefehl installiert werden kann rpm --install.
HINWEIS: Hiermit wird nur das erstellt, was im Standard-Binärpaket enthalten ist. Ich poste dies als Antwort auf die spezifische Frage, nicht wie man Änderungen an der Quelle vornimmt und neue Pakete generiert.
Um die Änderungen vorzunehmen, können Sie entweder Patches als Eingabe bereitstellen und die SPECS-Datei ändern ... oder Sie können den Standard, der *.tar.bz2sich in /root/rpmbuild/SOURCESIhrer eigenen befindet, durch die Änderung ersetzen und dann den Build wie oben beschrieben ausführen.
Beachten Sie, dass Sie möglicherweise das SPECS-Paket ändern müssen, damit es funktioniert (normalerweise durch Herausziehen des Patches und Ändern einiger Dateinamen, die von der SPECS-Datei programmiert wurden).
BEARBEITEN
Es scheint, dass das Erstellen von RPMs als Root eine schlechte Praxis ist ( Quelle ). Es funktioniert gut als Nicht-Root-Benutzer.
Schritt für Schritt Anleitung zum Hinzufügen eines Patches (von hier ):
- Kopieren Sie Ihren Patch nach
rpmbuild/SOURCES.
- Bearbeiten Sie das
rpmbuild/SPECS/package.specund fügen Sie ein Patch0: mypatch.patchdirekt nach der Source0: ...Zeile hinzu.
%setup ...Fügen Sie nach der Zeile eine %patch0 -p1Zeile hinzu
Jetzt wird es normal gebaut, dh. mit:rpmbuild -ba SPECS/package.spec