.\" dpkg manual page - dpkg-buildpackage(1) .\" .\" Copyright © 1995-1996 Ian Jackson .\" Copyright © 2000 Wichert Akkerman .\" Copyright © 2007-2008 Frank Lichtenheld .\" Copyright © 2008-2013 Guillem Jover .\" Copyright © 2008-2012 Raphaël Hertzog .\" .\" This is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see . . .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH dpkg\-buildpackage 1 2013\-12\-12 Debian\-Projekt dpkg\-Hilfsprogramme .SH BEZEICHNUNG dpkg\-buildpackage \- baue Binär\- oder Quellpakete aus Quellen . .SH ÜBERSICHT \fBdpkg\-buildpackage\fP [\fIOption\fP ?] . .SH BESCHREIBUNG \fBdpkg\-buildpackage\fP ist ein Programm, das den Prozess des Bauens eines Debian\-Paketes automatisiert. Es besteht aus den folgenden Schritten: .IP \fB1.\fP 3 Es bereitet die Bauumgebung vor, indem verschiedene Umgebungsvariablen gesetzt werden (siehe \fBUMGEBUNG\fP), führt den \fBinit\fP\-Hook aus und ruft \fBdpkg\-source \-\-before\-build\fP auf (es sei denn, \fB\-T\fP oder \fB\-\-target\fP wurde verwandt). .IP \fB2.\fP 3 Es prüft, dass Bauabhängigkeiten und \-konflikte erfüllt sind (falls \fB\-d\fP nicht angegeben ist). .IP \fB3.\fP 3 Falls ein spezielles Ziel mit der Option \fB\-T\fP oder \fB\-\-target\fP ausgewählt wurde, ruft es dieses Ziel auf und endet hier. Andernfalls führt es den Hook \fBpreclean\fP aus und ruft \fBfakeroot debian/ rules clean\fP auf, um den Bau\-Baum zu bereinigen (falls \fB\-nc\fP nicht angegeben ist). .IP \fB4.\fP 3 Es führt den Hook \fBsource\fP aus und ruft \fBdpkg\-source \-b\fP auf, um das Quellpaket zu erstellen (falls nicht mit \fB\-b\fP, \fB\-B\fP oder \fB\-A\fP ein rein\-binärer Bau erbeten wurde). .IP \fB5.\fP 3 Es führt den Hook \fBbuild\fP aus und ruft \fBdebian/rules\fP \fIBauziel\fP auf. Dann führt es den Hook \fBbinary\fP aus, gefolgt von \fBfakeroot debian/rules\fP \fIBinärziel\fP auf (falls nicht ein reiner Quellbau mit \fB\-S\fP erbeten wurde). Beachten Sie, dass \fIBauziel\fP und \fIBinärziel\fP entweder \fBbuild\fP und \fBbinary\fP (Standardfall, oder falls \fB\-b\fP angegeben ist) oder \fBbuild\-arch\fP und \fBbinary\-arch\fP (falls \fB\-B\fP oder \fB\-G\fP angegeben ist) oder \fBbuild\-indep\fP und \fBbinary\-indep\fP (falls \fB\-A\fP oder \fB\-g\fP angegeben ist) lauten. .IP \fB6.\fP 3 Es führt den Hook \fBchanges\fP aus und ruft \fBdpkg\-genchanges\fP auf, um eine \&\fB.changes\fP\-Datei zu erstellen. Viele Optionen von \fBdpkg\-buildpackage\fP werden an \fBdpkg\-genchanges\fP weitergeleitet. .IP \fB7.\fP 3 Es führt den Hook \fBpostclean\fP aus und, falls \fB\-tc\fP angegeben ist, ruft erneut \fBfakeroot debian/rules clean\fP auf. .IP \fB8.\fP 3 \fBdpkg\-source \-\-after\-build\fP wird aufgerufen. .IP \fB9.\fP 3 Es führt den Hook \fBcheck\fP aus und ruft einen Paketprüfer für die Datei \&\fB.changes\fP auf (falls ein Befehl in \fBDEB_CHECK_COMMAND\fP oder mit \fB\-\-check\-command\fP angegeben ist). .IP \fB10.\fP 3 Es führt den Hook \fBsign\fP aus und ruft \fBgpg2\fP oder \fBgpg\fP auf, um die \&\fB.dsc\fP\-Datei (falls vorhanden und \fB\-us\fP nicht angegeben wurde oder es sich um einen »UNRELEASED«\-Bau handelt) und die \fB.changes\fP\-Datei (falls vorhanden und \fB\-uc\fP nicht angegeben wurde oder es sich um einen »UNRELEASED«\-Bau handelt) zu signieren. .IP \fB11.\fP 3 Es führt den Hook \fBdone\fP aus. . .SH OPTIONEN .TP \fB\-g\fP Spezifiziert einen auf die Quellen und architekturunabhängige Pakete beschränkten Bau. Wird an \fBdpkg\-genchanges\fP weitergegeben. .TP \fB\-G\fP Spezifiziert einen auf die Quellen und architektur\-spezifische Pakete beschränkten Bau. Wird an \fBdpkg\-genchanges\fP weitergegeben. .TP \fB\-b\fP Spezifiziert einen rein binären Bau, keine Quelldateien sollen gebaut und/oder vertrieben (im Sinne von verteilen) werden. Wird an \fBdpkg\-genchanges\fP weitergegeben. .TP \fB\-B\fP Spezifiziert einen rein binären Bau, beschränkt auf architekturabhängige Pakete. Wird an \fBdpkg\-genchanges\fP weitergegeben. .TP \fB\-A\fP Spezifiziert einen rein binären Bau, beschränkt auf architekturunabhängige Pakete. Wird an \fBdpkg\-genchanges\fP weitergegeben. .TP \fB\-S\fP Spezifiziert einen reinen Bau der Quellen, keine Binärpakete müssen erstellt werden. Wird an \fBdpkg\-genchanges\fP weitergegeben. .TP \fB\-F\fP Spezifiziert einen normalen kompletten Bau, Binär\- und Quellpakete werden gebaut. Dies ist identisch zum Standardfall, wenn keine Bauoption spezifiziert wird. .TP \fB\-\-target=\fP\fIZiel\fP .TQ \fB\-\-target \fP\fIZiel\fP .TQ \fB\-T\fP\fIZiel\fP Ruft \fBdebian/rules\fP \fIZiel\fP auf, nachdem die Bauumgebung eingerichtet wurde und beendet den Paketbauprozess hier. Falls auch \fB\-\-as\-root\fP angegeben wurde, wird der Befehl mit root\-Rechten ausgeführt (siehe \fB\-r\fP). Beachten Sie, dass offizielle Ziele, bei denen die Debian\-Richtlinien verlangen, dass Sie mit root\-Rechten ausgeführt werden, diese Option nicht benötigen. .TP \fB\-\-as\-root\fP Ergibt nur mit \fB\-\-target\fP einen Sinn. Erfordert, dass das Ziel mit Root\-Rechten ausgeführt wird. .TP \fB\-si\fP .TQ \fB\-sa\fP .TQ \fB\-sd\fP .TQ \fB\-v\fP\fIVersion\fP .TQ \fB\-C\fP\fIÄnderungsbeschreibung\fP .TQ \fB\-m\fP\fIBetreueradresse\fP .TQ \fB\-e\fP\fIBetreueradresse\fP Wird unverändert an \fBdpkg\-genchanges\fP weitergegeben. Lesen Sie dessen Handbuchseite. .TP \fB\-a\fP, \fB\-\-host\-arch\fP \fIArchitektur\fP Spezifiziert die Debian\-Architektur, für die gebaut wird. Die Architektur der Maschine, auf der gebaut wird, wird automatisch bestimmt, und ist auch die Voreinstellung für die Gastgebermaschine (»host machine«). .TP \fB\-t\fP, \fB\-\-host\-type\fP \fIGNU\-Systemtyp\fP Spezifiziere den GNU\-Systemtyp, für den wir bauen. 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. .TP \fB\-\-target\-arch\fP \fIArchitektur\fP Spezifiziert die Debian\-Architektur, für die die gebauten Programme bauen werden. Die Voreinstellung ist die Host\-Maschine. .TP \fB\-\-target\-type\fP \fIGNU\-Systemtyp\fP Spezifiziere den GNU\-Systemtyp, für den die gebauten Programme bauen werden. Er kann anstelle von \-\-target\-arch oder als Ergänzung verwandt werden, um den Standard GNU\-Systemtyp der Ziel\-Debian\-Architektur zu überschreiben. .TP \fB\-P\fP\fIProfil\fP[\fB,\fP?] Gibt als Kommata\-getrennte Liste die zu bauenden Profile an. Standardmäßig wird für kein bestimmtes Profil gebaut. Setzt sie auch (als durch Leerzeichen getrennte Liste) in die Umgebungsvariable \fBDEB_BUILD_PROFILES\fP. Dies erlaubt beispielsweise \fBdebian/rules\fP\-Dateien, diese Information für den Bau unter bestimmten Bedingungen zu nutzen. .TP \fB\-j\fP[\fIAufträge\fP|\fBauto\fP] Anzahl an Aufträgen, die simultan laufen dürfen, Anzahl von Aufträgen, die zur Anzahl der verfügbaren Prozessoren passt, falls \fBauto\fP angegeben ist oder eine unbegrenzte Anzahl, falls \fIAufträge\fP nicht angegeben ist, äquivalent zu der Option von \fBmake\fP(1) mit dem gleichen Namen. Fügt sich selbst zu der Umgebungsvariablen \fBMAKEFLAGS\fP hinzu, was dazu führen sollte, dass alle folgenden Aufrufe von make diese Option erben werden. Fügt auch \fBparallel=\fP\fIAufträge\fP oder \fBparallel=\fP zu der Umgebungsvariablen \fBDEB_BUILD_OPTIONS\fP hinzu, was es debian/rules\-Dateien erlaubt, diese Information für eigene Zwecke zu verwenden. Die Option \fBparallel=\fP\fIAufträge\fP oder \fBparallel=\fP in der Umgebungsvariablen \fBDEB_BUILD_OPTIONS\fP überschreibt den Wert von \fB\-j\fP, falls diese Option angegeben ist. Beachten Sie, dass der Wert \fBauto\fP 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 unbegrenzte Anzahl zurück. .TP \fB\-D\fP Prüfe Bauabhängigkeiten und \-konflikte; Abbruch falls diese nicht erfüllt sind. Dies ist das Standardverhalten. .TP \fB\-d\fP Überprüfe Bauabhängigkeiten und \-konflikte nicht. .TP \fB\-nc\fP Bereinige den Quellbaum nicht (impliziert \fB\-b\fP, falls ansonsten nichts aus \fB\-F\fP, \fB\-g\fP, \fB\-G\fP, \fB\-B\fP, \fB\-A\fP oder \fB\-S\fP gewählt wurde). .TP \fB\-tc\fP Den Quellbaum säubern (verwendet \fIroot\-werde\-Befehl\fP \fBdebian/rules clean\fP) nachdem das Paket gebaut wurde. .TP \fB\-r\fP\fIroot\-werde\-Befehl\fP Wenn \fBdpkg\-buildpackage\fP einen Teil des Bauprozesses als Root ausführen muss, stellt es dem auszführenden Befehl den \fIroot\-werde\-Befehl\fP voran, falls dieser angegeben wurde. Andernfalls wird standardmäßig \fBfakeroot\fP verwendet, falls es vorhanden ist. Der \fIroot\-werde\-Befehl\fP sollte der Name des Programmes im \fBPATH\fP sein und wird als Argumente den Namen des wirklich auszuführenden Befehles und dessen Argumente erhalten. \fIroot\-werde\-Befehl\fP kann Parameter enthalten (die durch Leerzeichen voneinander getrennt sein müssen), aber keine Shell\-Metazeichen. Typischerweise ist der \fIroot\-werde\-Befehl\fP \fBfakeroot\fP, \fBsudo\fP, \fBsuper\fP oder \fBreally\fP. \fBsu\fP ist nicht geeignet, da es nur die Shell des Benutzers mit \fB\-c\fP aufrufen kann, anstatt Argumente individuell zur Ausführung des Programms zu übergeben. .TP \fB\-R\fP\fIrules\-Datei\fP Der Bau eines Debian\-Pakets erfolgt gewöhnlich durch Aufruf von \fBdebian/rules\fP als ein Befehl mit mehreren Standardparametern. 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\-debian/rules\-Datei mit einem anderen Make\-Programm ausgeführt werden (zum Beispiel durch die Verwendung von \fB/usr/local/bin/make \-f debian/rules\fP als \fIrules\-Datei\fP). .TP \fB\-\-check\-command=\fP\fIPrüfbefehl\fP Befehl, der zum Prüfen der \fB.changes\fP\-Datei selbst und sämtlichen in der Datei referenzierten Artefakten verwandt wird. Der Befehl sollte den Pfadnamen der \fB.changes\fP als Argument erhalten. Dieser Befehl ist normalerweise \fBlintian\fP. .TP \fB\-\-check\-option=\fP\fIOpt\fP Option \fIOpt\fP an den \fIPrüfbefehl\fP, der mit \fBDEB_CHECK_COMMAND\fP oder \fB\-\-check\-command\fP spezifiziert wurde, übergeben. Kann mehrfach verwandt werden. .TP \fB\-\-hook\-\fP\fIHook\-Name\fP\fB=\fP\fIHook\-Befehl\fP Setzt den angegebenen Shell\-Code \fIHook\-Befehl\fP als den Hook \fIHook\-Name\fP, der an den Zeitpunkten läuft, die in den Ablaufschritten angegeben sind. Die Hooks werden immer ausgeführt, selbst falls die folgende Aktion nicht durchgeführt wird (außer beim Hook \fBbinary\fP). 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 \fIHook\-Name\fPn sind: \fBinit preclean source build binary changes postclean check sign done\fP Der \fIHook\-Befehl\fP unterstützt die folgende Ersetzungsformatzeichenkette, die vor seiner Ausführung angewandt wird: .RS .TP \fB%%\fP Ein einzelnes %\-Zeichen. .TP \fB%a\fP Ein logischer Wert (0 oder 1), der darstellt, ob die folgende Aktion ausgeführt wird oder nicht. .TP \fB%p\fP Der Quellpaketname. .TP \fB%v\fP Die Quellpaket\-Version. .TP \fB%s\fP Die Quellpaket\-Version (ohne die Epoche). .TP \fB%u\fP Die Original\- (Upstream\-)Version. .RE .TP \fB\-p\fP\fIsignier\-Befehl\fP Wenn \fBdpkg\-buildpackage\fP GPG zum Signieren einer Quellsteuerdatei (\fB.dsc\fP) oder einer \fB.changes\fP\-Datei benötigt, wird es statt \fBgpg\fP oder \fBgpg2\fP den \fIsignier\-Befehl\fP ausführen (und dabei falls notwendig den \fBPATH\fP durchsuchen). \fIsignier\-Befehl\fP wird alle Argumente erhalten, die \fBgpg\fP oder \fBgpg2\fP erhalten hätte. \fIsignier\-Befehl\fP sollte keine Leerzeichen oder andere Metazeichen der Shell enthalten. .TP \fB\-k\fP\fISchlüssel\-id\fP Geben Sie die Schlüssel\-ID zur Signatur von Paketen an. .TP \fB\-us\fP Das Quellpaket nicht signieren. .TP \fB\-uc\fP Die \fB.changes\fP\-Datei nicht signieren. .TP \fB\-\-force\-sign\fP Das Unterschreiben der entstehenden Dateien erzwingen (seit Dpkg 1.17.0), unabhängig von \fB\-us\fP oder \fB\-uc\fP oder anderen internen Heuristiken. .TP \fB\-i\fP[\fIRegAus\fP] .TQ \fB\-I\fP[\fIMuster\fP] .TQ \fB\-s\fP[\fBnsAkurKUR\fP] .TQ \fB\-z\fP, \fB\-Z\fP Wird unverändert an \fBdpkg\-source\fP weitergegeben. Lesen Sie dessen Handbuchseite. .TP \fB\-\-source\-option=\fP\fIOpt\fP Option \fIOpt\fP an \fBdpkg\-source\fP weitergeben. Kann mehrfach verwandt werden. .TP \fB\-\-changes\-option=\fP\fIOpt\fP Option \fIOpt\fP an \fBdpkg\-genchanges\fP weitergeben. Kann mehrfach verwandt werden. .TP \fB\-\-admindir=\fP\fIVerz\fP .TQ \fB\-\-admindir \fP\fIVerz\fP Ändert den Ablageort der \fBdpkg\fP\-Datenbank. Der Standardort ist \fI/var/lib/dpkg\fP. .TP \fB\-?\fP, \fB\-\-help\fP Zeige den Bedienungshinweis und beende. .TP \fB\-\-version\fP Gebe die Version aus und beende sich. . .SH UMGEBUNG .TP \fBDEB_CHECK_COMMAND\fP Falls gesetzt, wird er zum Prüfen der \fB.changes\fP\-Datei verwandt. Wird durch die Option \fB\-\-check\-command\fP außer Kraft gesetzt. .TP \fBDEB_SIGN_KEYID\fP Falls gesetzt, wird sie zum Signieren der \fB.changes\fP\- und \fB.dsc\fP\-Dateien verwandt. Wird durch die Option \fB\-k\fP außer Kraft gesetzt. .TP \fBDEB_BUILD_OPTIONS\fP Falls gesetzt und falls sie \fBnocheck\fP enthält, wird die Variable \fBDEB_CHECK_COMMAND\fP ignoriert. .TP \fBDEB_BUILD_PROFILES\fP Falls gesetzt, wird sie als aktive(s) Bau\-Profil(e) für das zu bauende Paket verwandt. Es ist eine durch Leerzeichen getrennte Liste von Profilnamen. Wird durch die Option \fB\-P\fP außer Kraft gesetzt. .SS "Vertrauen auf exportierte Umgebungsvariablen" Selbst falls \fBdpkg\-buildpackage\fP einige Variablen exportiert, sollte \fBdebian/rules\fP sich nicht auf ihre Gegenwart verlassen, sondern stattdessen die entsprechende Schnittstelle verwenden, um die benötigten Werte abzufragen. .SS "Von dpkg\-architecture gesetzte Variablen" Beim Aufruf von \fBdpkg\-architecture\fP werden die Parameter von \fB\-a\fP und \fB\-t\fP durchgereicht. Jede Variable, die von seiner Option \fB\-s\fP ausgegeben wird, wird in die Bauumgebung integriert. . .SH BEMERKUNGEN .SS "Kompilierschalter werden nicht mehr exportiert" Zwischen Dpkg 1.14.17 and 1.16.1 exportierte \fBdpkg\-buildpackage\fP Kompilierschalter (\fBCFLAGS\fP, \fBCXXFLAGS\fP, \fBFFLAGS\fP, \fBCPPFLAGS\fP und \fBLDFLAGS\fP) mit Werten, die von \fBdpkg\-buildflags\fP geliefert wurden. Dies ist nicht mehr der Fall. .SS "Standard Bauziele" \fBdpkg\-buildpackage\fP verwendet seit Dpkg 1.16.2 die Ziele \fBbuild\-arch\fP und \fBbuild\-indep\fP. Diese Ziele sind daher verpflichtend. Um aber Baufehler bei existierenden Paketen zu vermeiden und um den Übergang zu erleichtern, wird es auf das Ziel \fBbuild\fP zurückfallen, falls \fBmake \-f debian/rules \-qn\fP \fIBauziel\fP den Rückgabewert 2 liefert. .SH FEHLER Es sollte möglich sein, Leerzeichen und Metazeichen der Shell und Anfangsargumente für \fIroot\-werde\-Befehl\fP und \fIsignier\-Befehl\fP anzugeben. . .SH ÜBERSETZUNG Die deutsche Übersetzung wurde 2004, 2006-2016 von Helge Kreutzmann , 2007 von Florian Rehnisch und 2008 von Sven Joachim 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. .SH "SIEHE AUCH" .ad l .nh \fBdpkg\-source\fP(1), \fBdpkg\-architecture\fP(1), \fBdpkg\-buildflags\fP(1), \fBdpkg\-genchanges\fP(1), \fBfakeroot\fP(1), \fBlintian\fP(1), \fBgpg2\fP(1), \fBgpg\fP(1).