Provided by: manpages-de_4.27.0-1_all 

BEZEICHNUNG
rpmbuild - RPM-Paket(e) bauen
ÜBERSICHT
PAKETE BAUEN
rpmbuild {-ba|-bb|-bp|-bf|-bc|-bi|-bl|-bs|-br|-bd} [rpmbuild-Optionen] SPECDATEI …
rpmbuild {-ra|-rb|-rp|-rf|-rc|-ri|-rl|-rs|-rr|-rd} [rpmbuild-Optionen] QUELLPAKET …
rpmbuild {-ta|-tb|-tp|-tf|-tc|-ti|-tl|-ts|-tr|-td} [rpmbuild-Optionen] TARBALL …
rpmbuild {--rebuild|--recompile} QUELLPAKET …
SONSTIGES
rpmbuild --showrc
Rpmbuild-Optionen
[--buildroot VERZEICHNIS] [--clean] [--nobuild] [--rmsource] [--rmspec] [--short-circuit]
[--build-in-place] [--noprep] [--noclean] [--nocheck] [--rpmfcdebug] [--target PLATTFORM] [--with OPTION]
[--without OPTION]
BESCHREIBUNG
rpmbuild wird zum Bau von sowohl Binär- als auch Quell-Softwarepaketen 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.
Einer der folgenden grundlegenden Modi muss ausgewählt werden: Paket bauen, Paket aus einem Tarball
bauen, Paket erneut kompilieren, Konfiguration anzeigen.
ALLGEMEINE OPTIONEN
Diese Optionen können in allen der verschiedenen Modi verwendet werden.
-?, --help
gibt eine längere Hilfemeldung als sonst aus.
--version
gibt eine einzelne Zeile aus, welche die Versionsummer von rpm angibt.
--quiet
gibt so wenig wie möglich aus – es werden normalerweise nur Fehlermeldungen angezeigt.
-v gibt ausführliche Informationen aus - normale Routine-Fortschrittsmeldungen werden angezeigt.
-vv gibt umfangreiche Debugging-Informationen aus.
--rpmfcdebug
aktiviert das Debugging der Erzeugung der Abhängigkeiten.
--rcfile DATEILISTE
Ersetzt die standardmäßige Liste von Konfigurationsdateien, die mittels FILELIST eingelesen
werden. Siehe unter Rpmrc-Konfiguration in rpm(8) für weitere Details.
--load DATEI
Lädt eine einzelne Makro-Datei.
--macros DATEILISTE
Ersetzt die Liste von Makro-Dateien, die mittels FILELIST eingelesen werden. Siehe unter
Makro-Konfiguration in rpm(8) für weitere Details.
--pipe BEFEHL
leitet die Ausgabe des Befehls rpm an den angegebenen BEFEHL weiter.
--dbpath VERZEICHNIS
verwendet die im VERZEICHNIS angegebene Datenbank anstelle des vorgegebenen Pfads /var/lib/rpm.
--root VERZEICHNIS
verwendet das Dateisystem in der durch das VERZEICHNIS angegebenen Wurzel für alle Aktionen.
Beachten Sie, dass dies bedeutet, dass die Datenbank in diesem VERZEICHNIS für
Abhängigkeitsüberprüfungen verwendet wird und Scriptlets (zum Beispiel %post zum Installieren oder
%prep zum Erstellen eines Pakets) nach einem Wechsel in das angegebene VERZEICHNIS mit chroot(2)
ausgeführt werden.
-D, --define='MAKRO AUSDRUCK'
definiert ein MAKRO mit dem angegebenen AUSDRUCK.
--scm=SCM
wählt das angegebene SCM zur Verwendung mit %autosetup, falls keines in der Spec-Datei angegeben
ist. Beachten Sie, dass nicht alle Werte für SCM, zum Beispiel patch (die Vorgabe) sowie gendiff,
git oder quilt mit allen in der %autosetup-Zeile angegebenen Patches und Optionen funktionieren,
insbesondere mit der Option -pN.
BAUOPTIONEN
Die allgemeine Form eines Baubefehls für rpm(8) lautet:
rpmbuild {-bPHASE|-rPHASE|-tPHASE} [rpmbuild-Optionen] DATEI …
Das verwendete Argument ist -b, falls eine Spec-Datei zum Bau des Pakets eingesetzt wird, -r, wenn ein
Quellpaket erneut gebaut werden soll und -t, falls rpmbuild in einer (gegebenenfalls komprimierten)
Tar-Datei nach der zu verwendenden Spec-Datei suchen soll.
Pakete werden in einer Reihe von Phasen gebaut. Die ersten sechs entsprechen den folgenden Abschnitten in
einer Spec-Datei: %prep, %generate_buildrequires, %build, %install, %check und %clean. Zuletzt werden
Binär- und Quellpakete in der Zusammenbauphase gebaut.
Das PHASE-Zeichen gibt die Phase an, mit der der Vorgang beendet werden soll (nachdem alle ihr
vorausgehenden Phasen durchlaufen wurden). Es ist eines aus den folgenden Zeichen:
-ba führt einen vollständigen Bauvorgang aus – bis einschließlich der Zusammenbauphase. In den meisten
Fällen ist dies die zu wählende Option.
-bb baut nur das Binärpaket - führt alles bis einschließlich der Zusammenbauphase aus, aber ohne das
Quellpaket zu erstellen. Bei Erfolg wird das Bauverzeichnis entfernt (wie mit --clean).
-bp entpackt die Quellen und wendet eventuelle Patches an – nur die %prep-Phase wird durchlaufen.
-bf konfiguriert die Quellen - führt alles bis einschließlich der Konfigurationsphase aus. Dies
beinhaltet im Allgemeinen einen Aufruf von ./configure oder etwas Gleichbedeutendem.
-bc kompiliert die Quellen – führt alles bis einschließlich der %build-Phase aus. Dies beinhaltet im
Allgemeinen einen Aufruf von make oder etwas Gleichbedeutendem.
-bi installiert die Binärdateien in BuildRoot – führt alles bis einschließlich der %check-Phase aus.
Dies beinhaltet im Allgemeinen einen Aufruf von make install und make check oder etwas
Gleichbedeutendem.
-bl führt eine Listenüberprüfung aus. Der %files-Abschnitt in der Spec-Datei wird Makro-expandiert und
es wird überprüft, ob jede der angegebenen Dateien existiert.
-bs baut nur das Quellpaket – springt direkt zur Zusammenbauphase, ohne eine der vorausgehenden Phasen
zu durchlaufen oder Binärpakete zu bauen.
-br baut nur das Quellpaket, wertet aber auch dynamische Bauabhängigkeiten aus und bezieht diese ein –
führt alles bis einschließlich der %generate_buildrequires-Phase aus und springt dann direkt zur
Zusammenbauphase, ohne Binärpakete zu bauen. Dieser Befehl kann dazu verwendet werden, dynamische
Bauabhängigkeiten vollständig aufzulösen. Im Abschnitt DYNAMISCHE BAUABHÄNGIGKEITEN finden Sie
weitere Details hierzu.
-bd Überprüft dynamische Bauabhängigkeiten und baut das Paket .buildreqs.nosrc.rpm falls etwas fehlt.
Baut nichts anderes.
Die folgenden Optionen können außerdem verwendet werden:
--buildroot VERZEICHNIS (VERALTET)
Setzt zum Bau eines Paketes den BuildRoot von rpmbuild(8) zu VERZEICHNIS. Diese Option ist
veraltet und wird in einer zukünftigen Version entfernt. Verwenden Sie sie nicht für neue
Anwendungen.
--clean
entfernt den Bau-Dateibaum, nachdem die Pakete gebaut wurden.
--nobuild
führt keine Bauphasen aus. Dies ist zum Testen von Spec-Dateien nützlich.
--noprep
führt die %prep-Phase nicht aus, selbst wenn diese in der Spec-Datei vorhanden ist.
--noclean
führt die Bauphase %clean nicht aus, selbst wenn diese in der Spec-Datei vorhanden ist.
--nocheck
führt die Bauphase %check nicht aus, selbst wenn diese in der Spec-Datei vorhanden ist.
--nodebuginfo
baut keine Debuginfo-Pakete.
--nodeps
überprüft keine Bauabhängigkeiten.
--rmsource
entfernt die Quellen nach dem Bau (kann auch für sich allein verwendet werden, zum Beispiel
»rpmbuild --rmsource foo.spec«).
--rmspec
entfernt die Spec-Datei nach dem Bau (dies kann auch für sich allein verwendet werden, zum
Beispiel »rpmbuild --rmspec foo.spec«).
--short-circuit
springt direkt zu der angegebenen Phase (das heißt, überspringt alle Phasen, die zu der
angegebenen Phase führen). Dies ist nur mit -bc, -bi und -bb zulässig. Dies ist nur für lokale
Testzwecke nützlich. Auf diese Weise gebaute Pakete werden mit einer nicht auflösbaren
Abhängigkeit versehen, um deren versehentliche Verwendung zu verhindern.
--build-in-place
baut aus lokal ausgecheckten Quellen im aktuellen Arbeitsverzeichnis. Der Bau-Dateibaum ist so
aufgebaut, als ob %setup verwendet worden wäre. Allerdings verweist %builddir/%buildsubdir zurück
auf das aktuelle Arbeitsverzeichnis. %prep wird komplett übersprungen.
--target PLATTFORM
interpretiert beim Bauen eines Pakets die PLATTFORM als arch-vendor-os und setzt die Makros
%_target, %_target_cpu und %_target_os entsprechend.
--with OPTION
aktiviert die Konfigurationsoption OPTION für den Bau.
--without OPTION
deaktiviert die Konfigurationsoption OPTION für den Bau.
OPTIONEN ZUM NEU BAUEN UND NEU KOMPILIEREN
Es gibt zwei weitere Möglichkeiten, den Bauvorgang mit rpm(8) anzustoßen:
rpmbuild --rebuild|--recompile QUELLPAKET …
Wenn es auf diese Weise aufgerufen wird, installiert rpmbuild das benannte Quellpaket und führt die
%prep-Phase (die Vorbereitung), die Kompilierung und die Installation aus. Zusätzlich baut die Option
--rebuild ein neues Binärpaket. Wenn der Bau abgeschlossen ist, werden das Bauverzeichnis (wie in
--clean) und die Quell- sowie Spec-Dateien gelöscht.
Diese Optionen wurden nun durch die -r*-Optionen ersetzt, die eine weitaus genauere Steuerung
ermöglichen, welche Bauphasen ausgeführt werden sollen.
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.
SHOWRC
Der Befehl
rpmbuild --showrc
zeigt die Werte an, die rpmbuild für alle Optionen anwenden wird, die gegenwärtig in den
Konfigurationsdateien rpmrc und macros gesetzt sind.
DATEIEN
Siehe rpm(8)
SIEHE AUCH
gendiff(1), popt(3), rpm(8), rpm2cpio(8), rpmkeys(8), rpmspec(8), rpmsign(8)
rpmbuild --help - da rpm benutzerdefinierte Optionen über Popt-Aliase unterstützt, können wir unmöglich
garantieren, dass die Beschreibungen in diesem Handbuch exakt dem entsprechen, was verfügbar ist.
http://www.rpm.org/ <URL:http://www.rpm.org/>
AUTOREN
Marc Ewing <marc@redhat.com>
Jeff Johnson <jbj@redhat.com>
Erik Troan <ewt@redhat.com>
Ü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.
9. Juni 2002 RPMBUILD(8)