table of contents
dpkg-buildpackage(1) | dpkg suite | dpkg-buildpackage(1) |
BEZEICHNUNG¶
dpkg-buildpackage - Binär- oder Quellpakete aus Quellen bauen
ÜBERSICHT¶
dpkg-buildpackage [Option…] [--] [Dateiname.dsc|Verzeichnis]
BESCHREIBUNG¶
dpkg-buildpackage ist ein Programm, das den Prozess des Bauens eines Debian-Paketes automatisiert.
Die Argumente Dateiname.dsc und Verzeichnis werden seit Dpkg 1.22.7 unterstützt. Ihre Semantik ist experimentell.
Der Bauprozess besteht aus den folgenden Schritten:
- 1.
- Es wird der Hook preinit ausgeführt, bevor irgendeine Quelldatei gelesen wird. Falls eine .dsc-Datei angegeben wurde, wird diese erneut entpackt und in das Verzeichnis hinein gewechselt, falls ein Verzeichnis angegeben wurde, wird hinein gewechselt, andernfalls wird erwartet, dass das aktuelle Verzeichnis den Qellbaum enthält. Die Bauumgebung wird vorbereitet, indem verschiedene Umgebungsvariablen gesetzt werden (siehe UMGEBUNG), der init-Hook ausgeführt und dpkg-source --before-build aufgerufen wird (es sei denn, -T oder --target wurde verwandt).
- 2.
- Es wird geprü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, werden diese Ziele aufgerufen und es wird hier beendet. Andernfalls wird der Hook preclean ausgeführt und fakeroot debian/ rules clean aufgerufen, um den Bau-Baum zu bereinigen (falls -nc oder --no-pre-clean nicht angegeben ist).
- 4.
- Der Hook source wird ausgeführt und dpkg-source -b aufgerufen, um das Quellpaket zu erstellen (falls mit --build oder äquivalenten Optionen ein source (Quell-)Bau erbeten wurde und keine .dsc angegeben 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.
- Der Hook buildinfo wird ausgeführt und dpkg-genbuildinfo aufgerufen, um eine .buildinfo-Datei zu erstellen. Viele Optionen von dpkg-buildpackage werden an dpkg-genbuildinfo weitergeleitet. Falls eine .dsc angegeben wurde, dann wird sie in der erstellten .buildinfo-Datei referenziert, da die Herkunft des Quellbaums sichergestellt werden kann.
- 7.
- Der Hook changes wird ausgeführt und dpkg-genchanges aufgerufen, um eine .changes-Datei zu erstellen. Der Name der .changes-Datei hängt von der Art des Baus ab und wird so spezifisch wie notwendig sein, aber nicht mehr; der Name wird
- Quellname_Binärversion_Arch.changes
- lauten, wenn ein Bau any einschließt und andernfalls
- Quellname_Binärversion_all.changes
- wenn ein Bau all einschließt und andernfalls
- Quellname_Quellversion_source.changes.
- wenn ein Bau source einschließt.
Viele Optionen von dpkg-buildpackage werden an dpkg-genchanges weitergeleitet.
- 8.
- Der Hook postclean wird ausgeführt und, falls -tc oder --post-clean angegeben ist, erneut fakeroot debian/rules clean aufgerufen.
- 9.
- dpkg-source --after-build wird aufgerufen.
- 10.
- Der Hook check wird ausgeführt und ein Paketprüfprogramm für die Datei .changes aufgerufen (falls ein Befehl in DEB_CHECK_COMMAND oder mit --check-command angegeben ist).
- 11.
- Der Hook sign wird ausgeführt und mittels eines OpenPGP-Backends signiert (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 signieren.
- 12.
- Falls eine .dsc-Datei angegeben wurde, wird das extrahierte Quellverzeichnis entfernt.
- 13.
- Der Hook done wird ausgeführt.
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 Bindestriche) 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). Alle angegebenen Komponenten werden
kombiniert, umn den einzigen zu verwendenen Bautyp auszuwählen.
Dies impliziert einen einzelnen Baudurchlauf, wodurch eine einzelne Datei
.changes erstellt wird. 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 Binärpakete.
- 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
- -mBetreueradresse
- -eBetreueradresse
- Wird unverändert an dpkg-genchanges weitergegeben. Lesen Sie dessen Handbuchseite.
- --build-by=Betreueradresse
- --source-by=Betreueradresse (seit Dpkg 1.21.10)
- Wird als -m unverändert an dpkg-genchanges weitergegeben. Lesen Sie dessen Handbuchseite.
- --release-by=Betreueradresse
- --changed-by=Betreueradresse (seit Dpkg 1.21.10)
- Wird unverändert als -e an dpkg-genchanges weitergegeben. Lesen Sie dessen Handbuchseite.
- -a, --host-arch Architektur
- Gibt die Debian-Architektur, für die gebaut wird, an (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 Wirtmaschine („host machine“).
- -t, --host-type GNU-Systemtyp
- Gibt den GNU-Systemtyp, für den wir bauen, an (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
- Gibt die Debian-Architektur, für die die gebauten Programme bauen werden, an (seit Dpkg 1.17.17). Die Voreinstellung ist die Host-Maschine.
- --target-type GNU-Systemtyp
- Gibt den GNU-Systemtyp, für den die gebauten Programme bauen werden, an (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]
- Gibt die Anzahl an Aufträgen, die simultan laufen dürfen, an
(seit Dpkg 1.14.7, lange Option seit Dpkg 1.18.8). Die 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. Das
Vorgabeverhalten ist auto (seit Dpkg 1.18.11) im nicht erzwungenen
Modus (seit Dpkg 1.21.10) und daher ist es immer sicherer, dies mit jedem
Paket zu verwenden, einschließlich solchen, die kein sicheres
paralleles Bauen ermöglichen. Durch Setzen von Aufträgen auf
1 wird die serielle Ausführung wiederhergestellt.
Wird parallel=Aufträge oder parallel zu der Umgebungsvariablen DEB_BUILD_OPTIONS hinzufügen, was debian/rules-Dateien die Zustimmung erlaubt, diese Information für eigene Zwecke zu verwenden. Der Wert Aufträge 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 weitergereicht 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 obigen -j.
Da das Verhalten von -j in Dpkg 1.21.10 auf den Opt-In-Modus geändert wurde, können Sie diese Option stattdessen verwenden, falls Sie die Semantik über die Dpkg-Veröffentlichungsserie hinweg garantieren müssen.
- --jobs-force[=Aufträge|auto]
- Diese Option (seit Dpkg 1.21.10) ist zu der Option --jobs
äquivalent, außer dass der erzwungene parallele Modus
aktivieren wird, indem die Option make -j mit der
berechneten Anzahl an parallelen Aufträgen zu der
Umgebungsvariablen MAKEFLAGS hinzugefügt wird.
Dies sollte dazu führen, dass alle nachfolgenden Aufrufe von Make diese Option erben, und daher die parallele Einstellung für die Paketierung erzwingen (und möglicherweise für das Bausystem der Originalautoren, falls dieses make(1) nutzt), unabhängig von ihrer Einstellung für paralleles Bauen. Dies kann zu Baufehlern führen.
Hinweis: Jedes Makefile, das kein sicheres paralleles Bauen unterstützt, sollte als fehlerhaft betrachtet werden. Entweder sollte es korrigiert werden, so dass sicheres paralleles Bauen ermöglicht wird, oder es sollte mit dem Ziel .NOTPARALLEL von make(1) als unsicher markiert werden.
- -D, --check-builddeps
- Prüft 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üft 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
- Bereinigt 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
- Bereinigt den Quellbaum vor dem Bau (seit Dpkg 1.18.8). Dies ist das Standardverhalten.
- -tc, --post-clean
- Bereinigt den Quellbaum (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.
- --sanitize-env
- Bereinigt die Bauumgebung (seit Dpkg 1.20.0). Dies setzt die Umgebungsvariablen, die Umask und alle anderen Prozessattribute, die den Bau von Paketen negativ beeinflussen könnten, zurück oder entfernt sie. Da der offizielle Einstiegspunkt zum Bau von Paketen debian/rules ist, können sich Pakete nicht darauf verlassen, dass diese Einstellungen erfolgt sind, und sollten daher funktionieren, selbst wenn dies nicht der Fall ist. Was genau bereinigt wird, hängt vom Lieferanten ab.
- -r, --root-command=root-werde-Befehl
- Wenn dpkg-buildpackage einen Teil des Bauprozesses als Root ausführen muss, stellt es dem auszufü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 angegeben 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.
Einige Hooks können zusätzliche Informationen über Umgebungsvariablen erhalten (seit Dpkg 1.22.0). Alle Hooks erhalten den Hook-Namen in der Umgebungsvariablen DPKG_BUILDPACKAGE_HOOK_NAME (seit Dpkg 1.22.0).
Hinweis: Hooks können den Bauprozess beeinflussen und zu Baufehlern führen, falls ihre Befehle fehlschlagen, was unerwartete Folgen haben könnte. Passen Sie daher auf.
Die derzeit unterstützten Hook-Namen sind:
- preinit
- init
- preclean
- source
- Erhält DPKG_BUILDPACKAGE_HOOK_SOURCE_OPTIONS mit einer Leerzeichen-getrennten Liste von Optionen, die an den Aufruf von dpkg-source übergeben werden.
- build
- Erhält DPKG_BUILDPACKAGE_HOOK_BUILD_TARGET mit den Namen des von debian/rules aufgerufenen Bauziels. Vor Dpkg 1.22.7 wurde diese Variable nur gesetzt, falls das Ziel aufgerufen wurde.
- binary
- Erhält DPKG_BUILDPACKAGE_HOOK_BINARY_TARGET mit dem Namen des von debian/rules aufgerufenen Binärziels, aber nur, wenn eines aufgerufen wurde.
- buildinfo
- Erhält DPKG_BUILDPACKAGE_HOOK_BUILDINFO_OPTIONS mit einer Leerzeichen-getrennten Liste von Optionen, die an den Aufruf von dpkg-genbuildinfo übergeben werden.
- changes
- Erhält DPKG_BUILDPACKAGE_HOOK_CHANGES_OPTIONS mit einer Leerzeichen-getrennten Liste von Optionen, die an den Aufruf von dpkg-genchanges übergeben werden.
- postclean
- check
- Erhält DPKG_BUILDPACKAGE_HOOK_CHECK_OPTIONS mit einer Leerzeichen-getrennten Liste von Optionen, die an den Aufruf des Befehls »check« übergeben werden.
- 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-file=Dateiname
- Den Dateinamen für die erstellte .buildinfo-Datei setzen (seit Dpkg 1.21.0).
- --buildinfo-option=Opt
- Option Opt an dpkg-genbuildinfo weitergeben (seit Dpkg 1.18.11). Kann mehrfach verwandt werden.
- --sign-backend=Signatur-Backend
- Gibt eine OpenPGP-Backend-Schnittstelle an, die beim Aufruf von
sign-command verwandt wird (seit Dpkg 1.21.10).
Die Vorgabe ist auto, bei der das beste derzeit verfügbare Backend verwandt wird. Die bestimmten unterstützten OpenPGP-Backends in bevorzugter Reihenfolge sind:
- -p, --sign-command=Signaturbefehl
- Wenn dpkg-buildpackage ein OpenPGP-Backend-Befehl zum Signieren einer Quellsteuerdatei (.dsc), einer .buildinfo-Datei oder einer .changes-Datei benötigt, wird es statt des standardmäßigen oder automatisch erkannten Backend-Befehls den Signaturbefehl ausführen (und dabei falls notwendig den PATH durchsuchen) (lange Option seit Dpkg 1.18.8). Signaturbefehl wird alle Backend-spezifischen Argumente gemäß des ausgewählten --sign-backend erhalten. Signaturbefehl sollte keine Leerzeichen oder andere Metazeichen der Shell enthalten.
- -k, --sign-keyid=Schlüsselkennung
- --sign-key=Schlüsselkennung
- Geben Sie eine OpenPGP-Schlüsselkennung (entweder einen Fingerabdruck oder eine Benutzerkennung) für den geheimen Schlüssel zur Signatur von Paketen an (--sign-key seit Dpkg 1.18.8, --sign-keyid seit Dpkg 1.21.10).
- --sign-keyfile=Schlüsseldatei
- Geben Sie eine OpenPGP-Schlüsseldatei, die den geheimen
Schlüssel zur Signatur von Paketen enthält, an (seit Dpkg
1.21.10).
Hinweis: Aus Sicherheitsgründen wird die Schlüsseldatei am besten mit einem Passwort gesperrt.
- -us, --unsigned-source
- Das Quellpaket nicht signieren (lange Option seit Dpkg 1.18.8).
- -ui, --unsigned-buildinfo
- Die .buildinfo-Datei nicht signieren (seit Dpkg 1.18.19).
- -uc, --unsigned-changes
- Die .changes- und die .buildinfo Datei nicht signieren (lange Option seit Dpkg 1.18.8).
- --no-sign
- Keine Datei signieren, das schließt Quellpakete, die Datei .buildinfo und die Datei .changes ein (seit Dpkg 1.18.20).
- --force-sign
- Das Signieren 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-file=Dateiname
- Den Dateinamen für die erstellte .changes-Datei setzen (seit Dpkg 1.21.0).
- --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
- Zeigt einen Hinweis zum Aufruf und beendet das Programm.
- --version
- Gibt die Version aus und beendet das Programm.
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 er zum Signieren der .changes-, .buildinfo- und .dsc-Dateien verwandt (seit Dpkg 1.17.2). Wird durch die Option --sign-key außer Kraft gesetzt.
- DEB_SIGN_KEYFILE
- Falls gesetzt, wird er zum Signieren der .changes-, .buildinfo- und .dsc-Dateien verwandt (seit Dpkg 1.21.10). Wird durch die Option --sign-keyfile außer Kraft gesetzt.
- DEB_BUILD_OPTIONS
- Falls gesetzt, wird sie eine durch Leerraumzeichen getrennte Liste von
Optionen enthalten, die das Verhalten einiger im Paketbau beteiligter
Dpkg-Werkzeuge beeinflusst und möglicherweise den Paketbauprozess
beeinflusst, falls der Code in debian/rules sie
berücksichtigt. Bei diesen Optionen können Parameter direkt
nach einem Gleichzeichen (»=«) gesetzt werden.
Für Optionen, die mehrere Parameter akzeptieren, werden diese nicht
durch Leerzeichen getrennt, da diese für separate Optionen
reserviert sind.
Die folgenden Optionen sind den Dpkg-Werkzeugen bekannt und werden von ihnen unterstützt, andere von debian/rules berücksichtigte Optionen könnnten in Distributions-spezifischen Richtlinien definiert sein.
- parallel=N
- Das debian/rules in der Paketierung könnte diese Option zur Einrichtung des Bauprozesses für die Verwendung von N parallelen Aufträgen verwenden. Sie wird von den Optionen --jobs und --jobs-force außer Kraft gesetzt.
- nocheck
- dpkg-buildpackage wird die Variable DEB_CHECK_COMMAND ignorieren. Es wird nicht erwartet, dass das debian/rules in der Paketierung die Test-Sammlungen während des Baus ausführt.
- noopt
- Falls debian/rules dpkg-buildflags zum Einrichten der Bauschalter aufruft, werden diese gesetzt, damit keine Optimierungen aktiviert werden.
- nostrip
- Das debian/rules in der Paketierung sollte sicherstellen, dass die Fehlersuchinformationen nicht von Objekten entfernt werden. Falls debian/rules das Make-Fragment mk/buildtools.mk einbindet, dann wir die Make-Variable STRIP diese Option respektieren.
- terse
- dpkg-buildpackage wird den Schalter --no-print-directory von make(1) an die Umgebungsvariable MAKEFLAGS anhängen. Das debian/rules in der Paketierung sollte die Ausführlichkeit reduzieren, aber nicht komplett still sein.
- hardening=Funktionalitätspezi
- reproducible=Funktionalitätspezi
- abi=Funktionalitätspezi
- future=Funktionalitätspezi
- qa=Funktionalitätspezi
- optimize=Funktionalitätspezi
- sanitize=Funktionalitätspezi
- Dies sind die Funktionalitätsbereiche, die die Bauschalter-Funktionalitäten steuern. Lesen Sie dpkg-buildflags(1) zu weiteren Details.
- DEB_BUILD_PROFILES
- Falls gesetzt, wird es 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 Unterstützung für Internationalisierung (oder i18n) 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 ihr Vorhandensein 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, der Dpkg-Bau-API-Stufe 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
- Benutzerkonfigurationsdatei
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 die Ziele build-arch und build-indep seit Dpkg 1.16.2. Vor Dpkg 1.22.7 gab es Code, der versuchte, die fehlenden Ziele zu erkennen und auf das Ziel build zurückzufallen. Diese Ziele sind daher verpflichtend.
SICHERHEIT¶
Das Bauen von Binär- oder Quellpaketen sollte nur mittels vertrauenswürdigen Quelldaten erfolgen.
FEHLER¶
Es sollte möglich sein, Leerzeichen und Metazeichen der Shell und Anfangsargumente für root-werde-Befehl und Signaturbefehl anzugeben.
SIEHE AUCH¶
/usr/share/doc/dpkg/spec/rootless-builds.txt, dpkg-source(1), dpkg-architecture(1), dpkg-buildflags(1), dpkg-genbuildinfo(1), dpkg-genchanges(1), fakeroot(1), lintian(1), <https://datatracker.ietf.org/doc/draft-dkg-openpgp-stateless-cli/>, sq(1), gpg(1).
ÜBERSETZUNG¶
Die deutsche Übersetzung wurde 2004, 2006-2024 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.
2024-08-01 | 1.22.11 |