- unstable 4.29.1-1
| RPMBUILD(1) | General Commands Manual | RPMBUILD(1) |
BEZEICHNUNG¶
rpmbuild - RPM-Paket(e) bauen
ÜBERSICHT¶
rpmbuild -bPHASE [Optionen] SPEC-DATEI …
rpmbuild -rPHASE [Optionen] QUELLPAKET …
rpmbuild -tPHASE [Optionen] TAR-ARCHIV …
rpmbuild {--rebuild|--recompile} [Optionen] QUELLPAKET …
BESCHREIBUNG¶
rpmbuild wird zum Bau von Softwarepaketen im RPM-Format in einer automatisierten und nachvollziehbaren Weise verwendet.
Ein Paket besteht aus einem Dateiarchiv sowie Metadaten, die zum Installieren und Löschen der Archivdateien verwendet werden. Die Metadaten enthalten Hilfsskripte, Dateiattribute und beschreibende Informationen zum Paket.
Die Pakete gibt es in zwei Varianten: Binärpakete, welche die zu installierende Software enthalten, und Quellpakete, welche den Quellcode und die Anweisungen zum Bauen von Binärpaketen enthalten.
AKTIONEN¶
-bPHASE
-rPHASE
-tPHASE
--rebuild, --recompile
Pakete werden in vier Etappen erstellt: Einlesen, Bauen, Zusammenfügen und Bereinigen. Die beiden mittleren Etappen sind weiter in die unten aufgeführten Phasen unterteilt, die separat erstellt werden können. Das Erstellen einer Phase bedeutet, dass alle vorhergehenden Phasen bis einschließlich der angegebenen Phase ausgeführt werden, sofern nicht anders angegeben.
Zusammenfügephasen¶
Die Zusammenfügephasen erstellen Pakete und sind der primäre Weg der Interaktion mit rpmbuild. Im Zweifelsfall wählen Sie eine von diesen aus.
a
b
r
s
Bauphasen¶
Die Bauphasen erzeugen die zu paketierenden Artefakte, typischerweise durch Patchen und Kompilieren der Quellen und Installieren der Binärdateien im »buildroot«. Diese Phasen entsprechen im Allgemeinen Spec-Datei-Abschnitten wie %prep, %build oder %install, es gibt jedoch einige, die implizit sind.
Das separate Durchlaufen dieser Phasen ist im Allgemeinen nur beim Paketieren neuer Software im RPM-Format und/oder bei der Fehlerbehebung sinnvoll. Sie sind unten in der Reihenfolge der Ausführung aufgeführt, wobei der entsprechende Spec-Datei-Abschnitt gegebenenfalls in Klammern steht.
p (%prep)
d (%generate_buildrequires)
f (%conf)
c (%build)
i (%install und %check)
l
ARGUMENTE¶
SPEC-DATEI
QUELLPAKET
TAR-ARCHIV
OPTIONEN¶
--build-in-place
--clean
--nobuild
--nocheck
--noclean
--nodebuginfo
--nodeps
--noprep
--rmsource
--rmspec
--rpmfcdebug
--scm=SCM
--short-circuit
--with OPTION
--without OPTION
Siehe rpm-common(8) für die Optionen, die allen Aktionen gemeinsam sind.
DYNAMISCHE BAUABHÄNGIGKEITEN¶
Wenn die %generate_buildrequires-Phase läuft und einige der neu erzeugten Bauabhängigkeiten nicht erfüllt werden konnten, baut rpmbuild ein vorläufiges Quellpaket, das die neuen Bauabhängigkeiten enthält und mit buildreqs.nosrc.rpm endet, und beendet sich mit dem Code 11. Dieses Paket kann dann anstelle des originalen Quellpakets verwendet werden, um die fehlenden Bauabhängigkeiten auf die übliche Weise aufzulösen und zu installieren, beispielsweise mit dnf-builddep(8).
In einer Spec-Datei kann es mehrere Schichten dynamischer Bauabhängigkeiten geben; das Vorhandensein einer spezifischen Bauabhängigkeit im System kann beim nächsten Bau aus dem gleichen Quellpaket neue Bauabhängigkeiten hervorbringen. Um sicherzustellen, dass alle zum Ausführen von rpmbuild mit der Option -br erforderlichen Bauabhängigkeiten erfüllt sind, ist es der einfachste Weg, die neuen Abhängigkeiten des buildreqs.nosrc.rpm-Pakets zu installieren und die gesamte Prozedur so oft zu wiederholen, bis rpmbuild nicht mehr mit dem Code 11 beendet wird.
Falls die Option -br mit --nodeps gekoppelt wird, wird stets der Exit-Code 11 zurückgegeben und ein buildreqs.nosrc.rpm-Paket gebaut.
UMGEBUNGSVARIABLEN¶
RPM_BUILD_NCPUS
EXIT-STATUS¶
Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.
Pakete mit einem Abschnitt %generate_buildrequires geben den Code 11 zurück, wenn die DYNAMISCHEN BAUABHÄNGIGKEITEN nicht erfüllt sind.
BEISPIELE¶
rpmbuild --rebuild hello-1.0-1.src.rpm
rpmbuild -bb --nocheck --with openssl hello.spec
rpmbuild -ta hello-2.0.tar.gz
rpmbuild -bc hello.spec
rpmbuild -bi --short-circuit hello.spec
DATEIEN¶
Siehe rpm-common(8)
SIEHE AUCH¶
gendiff(1), popt(3), rpm(8), rpm-common(8), rpmbuild-config(5), rpm2cpio(1), rpmkeys(8), rpmspec(1), rpmsign(1), rpm-setup-autosign(1) rpm-macros(7)
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> und Christoph Brinkhaus <c.brinkhaus@t-online.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.
| 7. November 2025 | RPM 6.0.0 |