RPMBUILD(8)

BEZEICHNUNG
rpmbuild - RPM-Paket(e) erstellen

ÜBERSICHT

  PAKETE ERSTELLEN:

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 …

  VERSCHIEDENES:

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 zur Erstellung 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 Erstellen von Binärpaketen enthalten.

Einer der folgenden grundlegenden Modi muss ausgewählt werden: Paket erstellen, Paket aus einem Tarball erstellen, Paket erneut kompilieren, Konfiguration anzeigen.

  ALLGEMEINE OPTIONEN

Diese Optionen können in allen der verschiedenen Modi verwendet werden.

-?, --help
    gibt eine längere Aufrufmeldung als gewöhnlich aus.

--version
    gibt eine einzelne Zeile aus, welche die Versionsnummer des verwendeten rpm enthält.

--quiet
    gibt so wenig wie möglich aus – normalerweise werden nur Fehlermeldungen angezeigt.

-v  gibt ausführliche Informationen aus – normale Meldungen zum Abarbeitungsfortschritt der Routinen 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 von 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.

  ERSTELLUNGSOPTIONEN

Die allgemeine Form eines Erstellungsbefehls für rpm lautet:

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

Das verwendete Argument ist -b, falls eine Spec-Datei zum Erstellen des Pakets eingesetzt wird, -r, wenn ein Quellpaket erneut erstellt 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 der Erstellung und Paketierung an. Folgende Phasen sind möglich:

-ba erstellt sowohl Binär- als auch Quellpakete (nachdem die Erstellungsphasen %prep, %build und %install ausgeführt wurden).

-bb erstellt ein Binärpaket (nachdem die Erstellungsphasen %prep, %build und %install ausgeführt wurden).

-bp führt die Erstellungsphase %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 erstellt nur das Quellpaket.

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

--buildroot VERZEICHNIS
    ersetzt BuildRoot bei der Erstellung eines Pakets durch das angegebene VERZEICHNIS.

--clean
    entfernt den Dateibaum der Erstellung, nachdem die Pakete erstellt wurden.

--nobuild
    führt keine Erstellungsphasen 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 Erstellungsphase %clean nicht aus, selbst wenn diese in der Spec-Datei vorhanden ist.

--nocheck
    führt die Erstellungsphase %check nicht aus, selbst wenn diese in der Spec-Datei vorhanden ist.

--nodebuginfo
    erstellt keine Debuginfo-Pakete.

--nodeps
    überprüft keine Erstellungsabhängigkeiten.

--rmsource
    entfernt die Quellen nach der Erstellung (kann auch für sich allein verwendet werden, zum Beispiel »rpmbuild --rmsource foo.spec«).

--rmspec
    entfernt die Spec-Datei nach der Erstellung (dies kann auch für sich allein verwendet werden, zum Beispiel »rpmbuild --rmspec foo.spec«).

--short-circuit
    springt direkt zu der angegebenen Erstellungsphase (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 erstellte Pakete werden mit einer nicht auflösbaren Abhängigkeit versehen, um deren versehentliche Verwendung zu verhindern.

--build-in-place
    erstellt aus lokal ausgecheckten Quellen. Dabei wird _builddir auf das aktuelle Arbeitsverzeichnis gesetzt. Die Auswertung von -n und untar in der Erstellungsphase %setup und das Löschen von buildSubdir wird übersprungen.

--target PLATTFORM
    interpretiert beim Erstellen 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 die Erstellung.

--without OPTION
    deaktiviert die Konfigurationsoption OPTION für die Erstellung.

  OPTIONEN ZUM NEU ERSTELLEN UND NEU KOMPILIEREN

Es gibt zwei weitere Möglichkeiten, die Erstellung 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 erstellt die Option --rebuild ein neues Binärpaket. Wenn die Erstellung abgeschlossen ist, werden das Erstellungsverzeichnis (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 Erstellungsphasen 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 <debian-l10n-german@lists.debian.org>.