Scroll to navigation

RPMBUILD(8) System Manager's Manual RPMBUILD(8)

BEZEICHNUNG

rpmbuild - RPM-Paket(e) bauen

ÜBERSICHT

PAKETE BAUEN:

rpmbuild {-ba|-bb|-bp|-bc|-bi|-bl|-bs} [Rpmbuild-Optionen] SPEC-DATEI

rpmbuild {-ra|-rb|-rp|-rc|-ri|-rl|-rs} [Rpmbuild-Optionen] QUELLPAKET

rpmbuild {-ta|-tb|-tp|-tc|-ti|-tl|-ts} [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
lässt rpm die Dateien in der durch Doppelpunkte getrennten DATEILISTE nacheinander einlesen, um Konfigurationsinformationen zu erhalten. Nur die erste Datei in der Liste muss existieren; die Tilde wird dabei zum Wert der Umgebungsvariable $HOME expandiert. Die vorgegebene DATEILISTE ist /usr/lib/rpm/rpmrc:/usr/lib/rpm/redhat/rpmrc:/etc/rpmrc:~/.rpmrc.
--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.

BAUOPTIONEN

Die allgemeine Form eines Baubefehls für rpm lautet:

rpmbuild -bPHASE|-rPHASE|-tPHASE [ Rpmbuild-Optionen ] DATEI

Das verwendete Argument ist -b, falls eine Spec-Datei zum Bauen 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. Nach dem ersten Argument gibt das nächste Zeichen (PHASE) die auszuführenden Phasen des Baus und der Paketierung an. Folgende Phasen sind möglich:

-ba
baut sowohl Binär- als auch Quellpakete (nachdem die Phasen %prep, %build und %install ausgeführt wurden).
-bb
baut ein Binärpaket (nachdem die Phasen %prep, %build und %install ausgeführt wurden).
-bp
führt die Phase %prep aus der angegebenen Spec-Datei aus. Normalerweise beinhaltet diese das Entpacken der Quellen und das Anwenden aller Patches, sofern vorhanden.
-bc
führt die %build-Phase in der Spec-Datei aus (nach dem Ausführen der %prep-Phase). Dies beinhaltet im Allgemeinen einen Aufruf von make oder etwas Gleichbedeutendem.
-bi
führt die %install-Phase in der Spec-Datei aus (nach dem Ausführen der %prep- und %build-Phasen). Dies beinhaltet im Allgemeinen einen Aufruf von make install 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.

Die folgenden Optionen können außerdem verwendet werden:

--buildroot VERZEICHNIS
ersetzt BuildRoot beim Bau eines Pakets durch das angegebene VERZEICHNIS.
--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. Dabei wird _builddir auf das aktuelle Arbeitsverzeichnis gesetzt. Die Auswertung von -n und untar in der %setup-Phase und das Löschen von buildSubdir wird ü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 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.

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

Rpmrc-Konfiguration

/usr/lib/rpm/rpmrc
/usr/lib/rpm/redhat/rpmrc
/etc/rpmrc
~/.rpmrc

Makro-Konfiguration

/usr/lib/rpm/macros
/usr/lib/rpm/redhat/macros
/etc/rpm/macros
~/.rpmmacros

Temporär

/var/tmp/rpm*

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> 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.

9. Juni 2002 Red Hat, Inc.