RPMBUILD(8) | System Manager's Manual | RPMBUILD(8) |
rpmbuild - RPM-Paket(e) bauen
rpmbuild {-ba|-bb|-bp|-bc|-bi|-bl|-bs|-br} [Rpmbuild-Optionen] SPEC-DATEI …
rpmbuild {-ra|-rb|-rp|-rc|-ri|-rl|-rs|-rr} [Rpmbuild-Optionen] QUELLPAKET …
rpmbuild {-ta|-tb|-tp|-tc|-ti|-tl|-ts|-tr} [Rpmbuild-Optionen] TARBALL …
rpmbuild {--rebuild|--recompile} QUELLPAKET …
rpmbuild --showrc
[--buildroot VERZEICHNIS] [--clean] [--nobuild]
[--rmsource] [--rmspec] [--short-circuit]
[--build-in-place]
[--noprep] [--noclean] [--nocheck]
[--rpmfcdebug]
[--target PLATTFORM]
[--with OPTION] [--without OPTION]
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.
Diese Optionen können in allen der verschiedenen Modi verwendet werden.
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 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:
Die folgenden Optionen können außerdem verwendet werden:
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.
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.
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.
/usr/lib/rpm/rpmrc /usr/lib/rpm/<Anbieter>/rpmrc /etc/rpmrc ~/.rpmrc
/usr/lib/rpm/macros /usr/lib/rpm/<Anbieter>/macros /etc/rpm/macros ~/.rpmmacros
/var/tmp/rpm*
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/>
Marc Ewing <marc@redhat.com> Jeff Johnson <jbj@redhat.com> Erik Troan <ewt@redhat.com>
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. |