Provided by: dpkg-dev_1.19.7ubuntu3.2_all 

BEZEICHNUNG
dpkg-buildpackage - baue Binär- oder Quellpakete aus Quellen
ÜBERSICHT
dpkg-buildpackage [Option …]
BESCHREIBUNG
dpkg-buildpackage ist ein Programm, das den Prozess des Bauens eines Debian-Paketes automatisiert. Es
besteht aus den folgenden Schritten:
1. Es bereitet die Bauumgebung vor, indem verschiedene Umgebungsvariablen gesetzt werden (siehe
UMGEBUNG), führt den init-Hook aus und ruft dpkg-source --before-build auf (es sei denn, -T oder
--target wurde verwandt).
2. Es prüft, dass Bauabhängigkeiten und -konflikte erfüllt sind (falls -d oder --no-check-builddeps nicht
angegeben ist).
3. Falls eines oder mehrere spezielle Ziele mit der Option -T oder --target ausgewählt wurden, ruft es
diese Ziele auf und endet hier. Andernfalls führt es den Hook preclean aus und ruft fakeroot debian/
rules clean auf, um den Bau-Baum zu bereinigen (falls -nc oder --no-pre-clean nicht angegeben ist).
4. Es führt den Hook source aus und ruft dpkg-source -b auf, um das Quellpaket zu erstellen (falls mit
--build oder äquivalenten Optionen ein source (Quell-)Bau erbeten wurde).
5. Es führt den Hook build aus und ruft debian/rules Bauziel auf. Dann führt es den Hook binary aus,
gefolgt von fakeroot debian/rules Binärziel auf (falls nicht ein reiner Quellbau mit --build=source
oder äquivalenten Optionen erbeten wurde). Beachten Sie, dass Bauziel und Binärziel entweder build und
binary (Standardfall, oder falls any- und all-Bau mit --build oder äquivalenten Optionen erbeten
wurde) oder build-arch und binary-arch (falls ein any- und nicht all-Bau mit --build oder äquivalenten
Optionen erbeten wurde) oder build-indep und binary-indep (falls ein all- und nicht any-Bau mit
--build oder äquivalenten Optionen erbeten wurde).
6. Es führt den Hook buildinfo aus und ruft dpkg-genbuildinfo auf, um eine .buildinfo-Datei zu erstellen.
Viele Optionen von dpkg-buildpackage werden an dpkg-genbuildinfo weitergeleitet.
7. Es führt die changes-Hooks aus und ruft dpkg-genchanges auf, um eine .changes-Datei zu erstellen. Der
Name der .changes-Datei wird von der Art des Baus abhängen und wird so spezifisch wie notwendig sein,
aber nicht mehr; für einen Bau, der any enthält, wird der Name Quellname_Binärversion_Arch.changes
oder andernfalls für einen Bau, der all enthält, wird der Name Quellname_Binärversion_all.changes oder
andernfalls für einen Bau, der source enthält, wird der Name Quellname_Quellversion_source.changes
lauten. Viele Optionen von dpkg-buildpackage werden an dpkg-genchanges weitergegeben.
8. Es führt den Hook postclean aus und, falls -tc oder --post-clean angegeben ist, ruft es erneut
fakeroot debian/rules clean auf.
9. dpkg-source --after-build wird aufgerufen.
10.
Es führt den Hook check aus und ruft einen Paketprüfer für die Datei .changes auf (falls ein Befehl in
DEB_CHECK_COMMAND oder mit --check-command angegeben ist).
11.
Es führt den Hook sign aus und ruft gpg2 oder gpg auf (so lange es sich nicht um einen
»UNRELEASED«-Bau handelt oder --no-sign angegeben wurde), um die .dsc-Datei (falls vorhanden und -us
oder --unsigned-source nicht angegeben wurde), die .buildinfo-Datei (falls -ui, --unsigned-buildinfo,
-uc oder --unsigned-changes nicht angegeben wurden) und die .changes-Datei (falls -uc oder
--unsigned-changes nicht angegeben wurde) zu unterschreiben.
12.
Es führt den Hook done aus.
OPTIONEN
Alle langen Optionen können auf der Befehlszeile oder im dpkg-buildpackage-System und
Benutzerkonfigurationsdateien angegeben werden. Jede Zeile in der Konfigurationsdatei ist entweder eine
Option (exakt die gleiche wie die Befehlszeilenoption nur ohne führende Gedankenstriche) oder ein
Kommentar (falls sie mit ‚#’) beginnt).
--build=Typ
Spezifiziert den Bau-Typ aus einer Kommata-getrennten Liste von Komponenten (seit Dpkg 1.18.5).
Wird an dpkg-genchanges weitergegeben.
Die erlaubten Werte sind:
source Baut das Quellpaket: Hinweis: Falls Sie diesen Wert alleine verwenden und falls Sie einfach
das Quellpaket aus einem sauberen Quellbaum (neu) bauen möchten, ist die Verwendung von
dpkg-source immer die bessere Option, da dafür keine Bauabhängigkeiten installiert sein
müssen, die ansonsten benötigt werden, um das Ziel clean aufzurufen.
any Baut das architekturspezifische Binärpaket.
all Baut die architekturunabhängigen Pakete.
binary Baut die architekturspezifischen und -unabhängigen Binärpakete. Dies ist ein Alias für
any,all.
full Baut alles. Dies ist ein Alias für source,any,all und identisch zum Standardfall, wenn
keine Bauoptionen festgelegt werden.
-g Äquivalent zu --build=source,all (seit Dpkg 1.17.11).
-G Äquivalent zu --build=source,any (seit Dpkg 1.17.11).
-b Äquivalent zu --build=binary oder --build=any,all.
-B Äquivalent zu --build=any.
-A Äquivalent zu --build=all.
-S Äquivalent zu --build=source.
-F Äquivalent zu --build=full, --build=source,binary oder --build=source,any,all (seit Dpkg 1.15.8).
--target=Ziel[,…]
--target Ziel[,…]
-T, --rules-target=Ziel[,…]
Ruft debian/rules Ziel einmal pro angegebenem Ziel auf, nachdem die Bauumgebung eingerichtet wurde
(außer dass dpkg-source --before-build aufgerufen wird) und beendet den Paketbauprozess hier (seit
Dpkg 1.15.0, lange Optionen seit Dpkg 1.18.8, Unterstützung für mehrere Ziele seit Dpkg 1.18.16).
Falls auch --as-root angegeben wurde, wird der Befehl mit root-Rechten ausgeführt (siehe
--root-command). Beachten Sie, dass bekannte Ziele, die als Root ausgeführt werden müssen, diese
Option nicht benötigen (d.h. die Ziele clean, binary, binary-arch und binary-indep).
--as-root
Ergibt nur mit --target einen Sinn (seit Dpkg 1.15.0). Erfordert, dass das Ziel mit Root-Rechten
ausgeführt wird.
-si
-sa
-sd
-vVersion
-CÄnderungsbeschreibung
-m, --release-by=Betreueradresse
-e, --build-by=Betreueradresse
Wird unverändert an dpkg-genchanges weitergegeben. Lesen Sie dessen Handbuchseite.
-a, --host-arch Architektur
Spezifiziert die Debian-Architektur, für die gebaut wird (lange Option seit Dpkg 1.17.17). Die
Architektur der Maschine, auf der gebaut wird, wird automatisch bestimmt, und ist auch die
Voreinstellung für die Gastgebermaschine (»host machine«).
-t, --host-type GNU-Systemtyp
Spezifiziere den GNU-Systemtyp, für den wir bauen (lange Option seit Dpkg 1.17.17). Er kann
anstelle von --host-arch oder als Ergänzung verwandt werden, um den Standard GNU-Systemtyp der
Host-Debian-Architektur außer Kraft zu setzen.
--target-arch Architektur
Spezifiziert die Debian-Architektur, für die die gebauten Programme bauen werden (seit Dpkg
1.17.17). Die Voreinstellung ist die Host-Maschine.
--target-type GNU-Systemtyp
Spezifiziere den GNU-Systemtyp, für den die gebauten Programme bauen werden (seit Dpkg 1.17.17).
Er kann anstelle von --target-arch oder als Ergänzung verwandt werden, um den Standard
GNU-Systemtyp der Ziel-Debian-Architektur zu überschreiben.
-P, --build-profiles=Profil[,…]
Gibt als Kommata-getrennte Liste die zu bauenden Profile an (seit Dpkg 1.17.2, lange Optionen seit
Dpkg 1.18.8). Standardmäßig wird für kein bestimmtes Profil gebaut. Setzt sie auch (als durch
Leerzeichen getrennte Liste) in die Umgebungsvariable DEB_BUILD_PROFILES. Dies erlaubt
beispielsweise debian/rules-Dateien, diese Information für den Bau unter bestimmten Bedingungen zu
nutzen.
-j, --jobs[=Aufträge|auto]
Anzahl an Aufträgen, die simultan laufen dürfen, Anzahl von Aufträgen, die zur Anzahl der
verfügbaren Prozessoren passt, falls auto angegeben ist (seit Dpkg 1.17.10) oder eine unbegrenzte
Anzahl, falls Aufträge nicht angegeben ist, äquivalent zu der Option von make(1) mit dem gleichen
Namen (seit Dpkg 1.14.7, lange Option seit Dpkg 1.18.8). Fügt sich selbst zu der
Umgebungsvariablen MAKEFLAGS hinzu, was dazu führen sollte, dass alle folgenden Aufrufe von Make
diese Option erben werden. Damit wird dem Paket die Paralle-Einstellung aufgezwungen (und
möglicherweise dem Bausystem der Originalautoren, falls dieses Make verwendet), unabhängig von
deren Unterstützung für paralleles Bauen. Dies kann zu Fehlern beim Bauen führen. Fügt auch
parallel=Aufträge oder parallel zu der Umgebungsvariablen DEB_BUILD_OPTIONS hinzu, was es
debian/rules-Dateien erlaubt, diese Information für eigene Zwecke zu verwenden. Der Wert -j setzt
die Option parallel=Aufträge oder die Option parallel in der Umgebungsvariable DEB_BUILD_OPTIONS
außer Kraft. Beachten Sie, dass der Wert auto durch die tatsächliche Anzahl der derzeitig aktiven
Prozessoren ersetzt wird und somit nicht an irgendeinen Kindprozess weitergegeben wird. Falls die
Anzahl der verfügbaren Prozessoren nicht ermittelt werden kann, fällt der Code auf eine serielle
Abarbeitung zurück (seit Dpkg 1.18.15). Dies sollte aber nur auf exotischen und nicht
unterstützten Systemen passieren.
-J, --jobs-try[=Aufträge|auto]
Diese Option (seit Dpkg 1.18.2, lange Option seit Dpkg 1.18.8) ist äquivalent zu der Option -j,
allerdings setzt sie die Umgebungsvariable MAKEFLAGS nicht und ist daher sich sicherer mit allen
Paketen zu benutzen, auch denen, die nicht sicher parallel bauen.
auto ist das Standardverhalten (seit Dpkg 1.18.11). Durch Setzen der Anzahl von Aufträgen auf 1
wird das serielle Verhalten wiederhergestellt.
-D, --check-builddeps
Prüfe Bauabhängigkeiten und -konflikte; Abbruch falls diese nicht erfüllt sind (lange Option seit
Dpkg 1.18.8). Dies ist das Standardverhalten.
-d, --no-check-builddeps
Überprüfe Bauabhängigkeiten und -konflikte nicht (lange Option seit Dpkg 1.18.8).
--ignore-builtin-builddeps
Prüft die eingebauten Bauabhängigkeiten und -konflikte nicht (seit Dpkg 1.18.2). Es gibt
distributionsabhängige spezifische implizite Abhängigkeiten, die normalerweise in der Bauumgebung
benötigt werden, die sogenannte »Build-Essential«-Paketgruppe.
--rules-requires-root
Berücksichtigt das Feld Rules-Requires-Root nicht, sondern fällt auf den alten Vorgabewert zurück
(seit Dpkg 1.19.1).
-nc, --no-pre-clean
Bereinige den Quellbaum vor dem Bau nicht (lange Option seit Dpkg 1.18.8). Impliziert -b, falls
ansonsten nichts aus -F, -g, -G, -B, -A oder -S gewählt wurde. Impliziert -d mit -S (seit Dpkg
1.18.0).
--pre-clean
Bereinige den Quellbaum vor dem Bau (seit Dpkg 1.18.8). Dies ist das Standardverhalten.
-tc, --post-clean
Den Quellbaum säubern (verwendet root-werde-Befehl debian/rules clean) nachdem das Paket gebaut
wurde (lange Option seit Dpkg 1.18.8).
--no-post-clean
Bereinigt den Quellbaum nicht, nachdem das Paket gebaut wurde (seit Dpkg 1.19.1). Dies ist das
Standardverhalten.
-r, --root-command=root-werde-Befehl
Wenn dpkg-buildpackage einen Teil des Bauprozesses als Root ausführen muss, stellt es dem
auszführenden Befehl den root-werde-Befehl voran, falls dieser angegeben wurde (lange Option seit
Dpkg 1.18.8). Andernfalls wird standardmäßig fakeroot verwendet, falls es vorhanden ist. Der
root-werde-Befehl sollte der Name des Programmes im PATH sein und wird als Argumente den Namen des
wirklich auszuführenden Befehles und dessen Argumente erhalten. root-werde-Befehl kann Parameter
enthalten (die durch Leerzeichen voneinander getrennt sein müssen), aber keine Shell-Metazeichen.
Typischerweise ist der root-werde-Befehl fakeroot, sudo, super oder really. su ist nicht geeignet,
da es nur die Shell des Benutzers mit -c aufrufen kann, anstatt Argumente individuell zur
Ausführung des Programms zu übergeben.
-R, --rules-file=rules-Datei
Der Bau eines Debian-Pakets erfolgt gewöhnlich durch Aufruf von debian/rules als ein Befehl mit
mehreren Standardparametern (seit Dpkg 1.14.17, lange Option seit Dpkg 1.18.8). Mit dieser Option
ist es möglich, einen anderen Programmaufruf zum Bau des Paketes zu verwenden (es können durch
Leerzeichen getrennte Parameter angegeben werden). Alternativ kann die Standard-rules-Datei mit
einem anderen Make-Programm ausgeführt werden (zum Beispiel durch die Verwendung von
/usr/local/bin/make -f debian/rules als rules-Datei).
--check-command=Prüfbefehl
Befehl, der zum Prüfen der .changes-Datei selbst und sämtlichen in der Datei referenzierten
Artefakten verwandt wird (seit Dpkg 1.17.6). Der Befehl sollte den Pfadnamen der .changes als
Argument erhalten. Dieser Befehl ist normalerweise lintian.
--check-option=Opt
Option Opt an den Prüfbefehl, der mit DEB_CHECK_COMMAND oder --check-command spezifiziert wurde,
übergeben (seit Dpkg 1.17.6). Kann mehrfach verwandt werden.
--hook-Hook-Name=Hook-Befehl
Setzt den angegebenen Shell-Code Hook-Befehl als den Hook Hook-Name, der an den Zeitpunkten läuft,
die in den Ablaufschritten angegeben sind (seit Dpkg 1.17.6). Die Hooks werden immer ausgeführt,
selbst falls die folgende Aktion nicht durchgeführt wird (außer beim Hook binary). Alle Hooks
werden in dem entpackten Quellverzeichnis ausgeführt.
Hinweis: Hooks können den Bauprozess beeinflussen und zu Baufehlern führen, falls ihre Befehle
fehlschlagen. Passen Sie daher auf ungeplante Konsequenzen auf.
Die derzeit unterstützten Hook-Namen sind:
init preclean source build binary buildinfo changes postclean check sign done
Der Hook-Befehl unterstützt die folgende Ersetzungsformatzeichenkette, die vor seiner Ausführung
angewandt wird:
%% Ein einzelnes %-Zeichen.
%a Ein logischer Wert (0 oder 1), der darstellt, ob die folgende Aktion ausgeführt wird oder
nicht.
%p Der Quellpaketname.
%v Die Quellpaket-Version.
%s Die Quellpaket-Version (ohne die Epoche).
%u Die Original- (Upstream-)Version.
--buildinfo-option=Opt
Option Opt an dpkg-genbuildinfo weitergeben (seit Dpkg 1.18.11). Kann mehrfach verwandt werden.
-p, --sign-command=Unterschreibbefehl
Wenn dpkg-buildpackage GPG zum Unterschreiben einer Quellsteuerdatei (.dsc) oder einer
.changes-Datei benötigt, wird es statt gpg oder gpg2 den Unterschreibbefehl ausführen (und dabei
falls notwendig den PATH durchsuchen) (lange Option seit Dpkg 1.18.8). Unterschreibbefehl wird
alle Argumente erhalten, die gpg oder gpg2 erhalten hätte. Unterschreibbefehl sollte keine
Leerzeichen oder andere Metazeichen der Shell enthalten.
-k, --sign-key=Schlüsselkennung
Geben Sie die Schlüsselkennung zur Signatur von Paketen an (lange Option seit Dpkg 1.18.8).
-us, --unsigned-source
Das Quellpaket nicht unterschreiben (lange Option seit Dpkg 1.18.8).
-ui, --unsigned-buildinfo
Die .buildinfo-Datei nicht unterschreiben (seit Dpkg 1.18.19).
-uc, --unsigned-changes
Die .changes- und die .buildinfo Datei nicht unterschreiben (lange Option seit Dpkg 1.18.8).
--no-sign
Keine Datei unterschreiben, das schließt Quellpakete, die Datei .buildinfo und die Datei .changes
ein (seit Dpkg 1.18.20).
--force-sign
Das Unterschreiben der entstehenden Dateien erzwingen (seit Dpkg 1.17.0), unabhängig von -us,
--unsigned-source, -ui, --unsigned-buildinfo, -uc, --unsigned-changes oder anderen internen
Heuristiken.
-sn
-ss
-sA
-sk
-su
-sr
-sK
-sU
-sR
-i, --diff-ignore[=regex]
-I, --tar-ignore[=Muster]
-z, --compression-level=Stufe
-Z, --compression=Komprimierer
Wird unverändert an dpkg-source weitergegeben. Lesen Sie dessen Handbuchseite.
--source-option=Opt
Option Opt an dpkg-source weitergeben (seit Dpkg 1.15.6). Kann mehrfach verwandt werden.
--changes-option=Opt
Option Opt an dpkg-genchanges weitergeben (seit Dpkg 1.15.6). Kann mehrfach verwandt werden.
--admindir=Verz
--admindir Verz
Ändert den Ablageort der dpkg-Datenbank (seit Dpkg 1.14.0). Der Standardort ist /var/lib/dpkg.
-?, --help
Zeige den Bedienungshinweis und beende.
--version
Gebe die Version aus und beende sich.
UMGEBUNG
Externe Umgebung
DEB_CHECK_COMMAND
Falls gesetzt, wird er zum Prüfen der .changes-Datei verwandt (seit Dpkg 1.17.6). Wird durch die
Option --check-command außer Kraft gesetzt.
DEB_SIGN_KEYID
Falls gesetzt, wird sie zum Unterschreiben der .changes- und .dsc-Dateien verwandt (seit Dpkg
1.17.2). Wird durch die Option --sign-key außer Kraft gesetzt.
DEB_BUILD_OPTIONS
Falls gesetzt, wird es eine durch Leerraumzeichen getrennte Liste von Optionen enthalten, die den
Bauprozess in debian/rules und das Verhalten einiger Dpkg-Befehle beeinflussen könnten.
Mit nocheck wird die Variable DEB_CHECK_COMMAND ignoriert. Mit parallel=N werden die parallelen
Aufträge auf N gesetzt, was durch die Option --jobs-try außer Kraft gesetzt wird.
DEB_BUILD_PROFILES
Falls gesetzt, wird sie als aktive(s) Bau-Profil(e) für das zu bauende Paket verwandt (seit Dpkg
1.17.2). Es ist eine durch Leerzeichen getrennte Liste von Profilnamen. Wird durch die Option -P
außer Kraft gesetzt.
DPKG_COLORS
Setzt den Farbmodus (seit Dpkg 1.18.5). Die derzeit unterstützten Werte sind: auto (Vorgabe),
always und never.
DPKG_NLS
Falls dies gesetzt ist, wird es zur Entscheidung, ob Native Language Support, auch als
Internationalisierung (oder i18n) Unterstützung bekannt, aktiviert wird (seit Dpkg 1.19.0). Die
akzeptierten Werte sind: 0 und 1 (Vorgabe).
Interne Umgebung
Selbst falls dpkg-buildpackage einige Variablen exportiert, sollte debian/rules sich nicht auf ihre
Gegenwart verlassen, sondern stattdessen die entsprechende Schnittstelle verwenden, um die benötigten
Werte abzufragen, da diese Datei der Haupteintrittspunkt für den Bau von Paketen ist und es möglich sein
soll, sie unabhängig aufrufen zu können.
DEB_BUILD_*
DEB_HOST_*
DEB_TARGET_*
Beim Aufruf von dpkg-architecture werden die Parameter von -a und -t durchgereicht. Jede Variable,
die von seiner Option -s ausgegeben wird, wird in die Bauumgebung integriert.
DEB_RULES_REQUIRES_ROOT
Diese Variable wird auf den Wert, der aus dem Feld Rules-Requires-Root oder von der Befehlszeile
erhalten wird, gesetzt. Wenn gesetzt, wird er ein gültiger Wert für das Feld Rules-Requires-Root
sein. Er wird dazu verwandt, debian/rules anzugeben, ob die Spezifikation rootless-builds.txt
unterstützt wird.
DEB_GAIN_ROOT_CMD
Diese Variable wird auf root-werde-Befehl gesetzt, wenn das Feld Rules-Requires-Root auf einen von
no und binary-targets verschiedenen Wert gesetzt wird.
SOURCE_DATE_EPOCH
Diese Variable wird auf den Unix-Zeitstempel seit der Epoche des letzten Eintrags in
debian/changelog gesetzt, falls sie noch nicht definiert ist.
DATEIEN
/etc/dpkg/buildpackage.conf
Systemweite Konfigurationsdatei
$XDG_CONFIG_HOME/dpkg/buildpackage.conf oder
$HOME/.config/dpkg/buildpackage.conf
Benutzer-Konfigurationsdatei
BEMERKUNGEN
Kompilierschalter werden nicht mehr exportiert
Zwischen Dpkg 1.14.17 and 1.16.1 exportierte dpkg-buildpackage Kompilierschalter (CFLAGS, CXXFLAGS,
FFLAGS, CPPFLAGS und LDFLAGS) mit Werten, die von dpkg-buildflags geliefert wurden. Dies ist nicht mehr
der Fall.
Standard Bauziele
dpkg-buildpackage verwendet seit Dpkg 1.16.2 die Ziele build-arch und build-indep. Diese Ziele sind daher
verpflichtend. Um aber Baufehler bei existierenden Paketen zu vermeiden und um den Übergang zu
erleichtern, (und seit Dpkg 1.18.8 falls das Quellpaket nicht sowohl architekturabhängige wie
-unabhängige Binärpakete baut) wird es auf das Ziel build zurückfallen, falls make -f debian/rules -qn
Bauziel den Rückgabewert 2 liefert.
FEHLER
Es sollte möglich sein, Leerzeichen und Metazeichen der Shell und Anfangsargumente für root-werde-Befehl
und Unterschreibbefehl anzugeben.
SIEHE AUCH
dpkg-source(1), dpkg-architecture(1), dpkg-buildflags(1), dpkg-genbuildinfo(1), dpkg-genchanges(1),
fakeroot(1), lintian(1), gpg2(1), gpg(1).
ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2019 von Helge Kreutzmann <debian@helgefjell.de>, 2007 von
Florian Rehnisch <eixman@gmx.de> und 2008 von Sven Joachim <svenjoac@gmx.de> angefertigt. Diese
Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 2 oder neuer für
die Kopierbedingungen. Es gibt KEINE HAFTUNG.
1.19.7 2022-05-25 dpkg-buildpackage(1)