Was ich als ROOT-Benutzer mache:
Installieren Sie das SRPM wie jedes andere Paket ( rpm --install [source-rpm-filename]
)
Untersuchen Sie das /root/rpmbuild/SPECS
Verzeichnis 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.bz2
sich in /root/rpmbuild/SOURCES
Ihrer 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.spec
und fügen Sie ein Patch0: mypatch.patch
direkt nach der Source0: ...
Zeile hinzu.
%setup ...
Fügen Sie nach der Zeile eine %patch0 -p1
Zeile hinzu
Jetzt wird es normal gebaut, dh. mit:rpmbuild -ba SPECS/package.spec