dpkg-source(1)

NAME
dpkg-source - Debian Quellpaket- (.dsc) Manipulations-Werkzeuge

ÜBERSICHT
dpkg-source [Option ?] Befehl

BESCHREIBUNG
dpkg-source packt und entpackt Debian Quellarchive. Keiner dieser Befehle erlaubt es, mehrere Optionen zu einer zu kombinieren, und sie erlauben es nicht, den Wert einer Option in einem separaten Argument zu speichern.

BEFEHLE

-x Dateiname.dsc [Ausgabe-Verzeichnis]
    Extrahiere ein Quellpaket. Ein nicht-Options-Argument muss angegeben werden, der Name der Debian Quell-Steuer-Datei (.dsc). Optional kann ein zweites nicht-Options-Argument angegeben werden, um das Verzeichnis anzugeben, in das das Quellpaket extrahiert werden soll. Dieses Verzeichis darf dann nicht existieren. Falls kein Ausgabeverzeichnis angegeben ist, wird das Quellpaket in das Verzeichnis namens Quelle-Version unterhalb des aktuellen Arbeitsverzeichnisses extrahiert. dpkg-source wird die Namen der anderen Datei(en) aus der Steuerdatei einlesen, die das Quellpaket ergeben; es wird angenommen, dass diese im gleichen Verzeichnis wie die .dsc liegen. Die Dateien in dem extrahierten Paket werden die Rechte und Eigentümer haben, die erwartet würden, falls die Dateien und Verzeichnisse einfach angelegt worden wären - Verzeichnisse und Programmdateien werden 0777 und einfache Dateien 0666, beide durch die umask der Person, die extrahiert, entsprechend angepasst; falls das übergeordnete Verzeichnis setgid ist, werden dies die extrahierten Verzeichnisse auch sein, und alle Dateien und Verzeichnisse werden die Gruppeneigentümerschaft erben. Falls das Quellpaket ein nicht-Standard-Format verwendet (derzeit bedeutet sind dies alle Formate außer »1.0«) wird sein Name in debian/source/format gespeichert, so dass alle folgenden Bauversuchen des Quellpakets standardmäßig das gleiche Format verwenden.

-b Verzeichnis [Format-abhängige-Parameter]
    Baue ein Quellpaket. Das erste nicht-Options-Argument wird als Name des Verzeichnisses verwandt, das den debianisierten (d.h. mit einem Unterverzeichnis debian und ggf. Änderungen an den Originaldateien versehenen) Quellbaum enthält. Abhängig vom dem zum Bau verwandten Quellpaketformat könnten zusätzliche Parameter akzeptiert werden. dpkg-source wird das Quellpaket mit dem ersten gefundenen Format aus der folgenden geordneten Liste bauen: dem mit der Kommandozeilenoption(en) --format angegeben Format, dem in debian/source/format angegebenen Format, »1.0«. Die Rückfalloption »1.0« ist veraltet und wird irgendwann in der Zukunft entfernt werden, Sie sollten das gewünschte Quellformat immmer in debian/source/format dokumentieren. Die verschiedenen Quellpaketformate werden im Abschnitt QUELLPAKET-FORMATE ausführlich beschrieben.

--print-format Verzeichnis
    Gibt das Quellformat aus, dass zum Bau des Quellpakets verwandt würde, falls dpkg-source -b Verzeichnis aufgerufen würde (unter den gleichen Bedingungen und mit den gleichen Parametern).

--before-build Verzeichnis
    Der entsprechende Hook dess Quellpaketformats soll ausgeführt werden. Dieser Hook wird vor jedem Bau des Pakets aufgerufen (dpkg-buildpackage ruft ihn sehr früh, sogar vor debian/rules clean auf). Dieser Befehl ist idempotent und kann mehrfach aufgerufen werden. Nicht alle Quellformate implementieren in diesem Hook etwas und wenn dies erfolgt, dann gewöhnlich zur Vorbereitung des Quellbaums für den Bau, in dem beispielsweise sichergestellt wird, dass alle Debian-Patches angewandt sind.

--after-build Verzeichnis
    Der entsprechende Hook dess Quellpaketformats soll ausgeführt werden. Dieser Hook wird nach jedem Bau des Pakets aufgerufen (dpkg-buildpackage ruft als letztes auf). Dieser Befehl ist idempotent und kann mehrfach aufgerufen werden. Nicht alle Quellformate implementieren in diesem Hook etwas und wenn dies erfolgt, dann gewöhnlich um rückgängig zu machen, was --before-build durchgeführt hat.

--commit [Verzeichnis] ?
    Zeichnet Änderungen am in Verzeichnis entpackten Quellbaum auf. Dieser Befehl kann zusätzliche Parameter akzeptieren, abhängig vom Quellformat. Er wird zu einer Fehlermeldung bei Formaten, für denen dieser Vorgang keine Bedeutung hat, führen.

-?, --help
    Zeige den Bedienungshinweis und beende.

--version
    Gebe die Version aus und beende sich.

OPTIONEN

  Generic build options

-cSteuerdatei
    Bestimmt die Hauptquell-»control«-Datei, aus der Informationen ausgelesen werden sollen. Der Standardwert ist debian/control. Falls der Pfadname relativ ist, wird dieser relativ zum obersten Verzeichnis des Quellbaums interpretiert.

-lChangelog-Datei
    Bestimmt die »changelog«-Datei, aus der Informationen ausgelesen werden sollen. Der Standardwert ist debian/changelog. Falls der Pfadname relativ ist, wird dieser relativ zum obersten Verzeichnis des Quellbaums interpretiert.

-FChangelog-Format
    Spezifiziert das Format des Changelogs. Lesen Sie dpkg-parsechangelog(1) für Informationen über alternative Formate.

--format=Wert
    Verwende das angegebene Format zum Bau des Quellpakets. Es überschreibt jedes in debian/source/format angegebene Format.

-VName=Wert
    Setzt eine Ausgabesubstitutionsvariable. Lesen Sie deb-substvars(5) für eine Besprechung des Ausgabesubstitution.

-TSubstvars-Datei
    Lese Substitutionsvariablen aus Substvars-Datei; standardmäßig wird keine Datei gelesen. Diese Option kann mehrfach verwandt werden, um Substitutionsvariablen aus mehreren Dateien einzulesen.

-DFeld=Wert
    Überschreibe oder ergänze ein Ausgabe-Steuerdatei-Feld.

-Ufield
    Entferne ein Ausgabe-Steuerdatei-Feld.

-ZKomprimierung, --compression=Komprimierung
    Specify the compression to use for created files (tarballs and diffs). Note that this option will not cause existing tarballs to be recompressed, it only affects new files. Supported values are: gzip, bzip2, lzma and xz. gzip is the default. xz is only supported since dpkg 1.15.5.

-zStufe, --compression-level=Stufe
    Zu verwendende Komprimierstufe. Wie bei -Z betrifft dies nur neu angelegte Dateien. Unterstützte Werte sind 1 bis 9, best (am besten) und fast (schnell). Der Standardwert ist 9 für Gzip und Bzip2, 6 für Xz und Lzma.

-i[regexp], --diff-ignore[=regexp]
    Sie können einen regulären Perl-Ausdruck angeben, der auf Dateien passt, die Sie aus der Liste der Dateien für den Diff entfernen möchten; diese Liste wird von einem Find-Befehl generiert. Falls das Quellpaket als Version 3-Quellpaket mittels eines VCS gebaut wird, ignoriert dies stattdessen Änderungen an bestimmten Dateien, die noch nicht übertragen (»committed«) wurden (mit -i.* werden alle davon ignoriert). -i aktiviert diese Option mit einem voreingestellten regulären Ausdruck, der Steuerdateien und -Verzeichnisse der häufigsten Revisionskontrollsysteme, Backups, Swap-Dateien und Bau-Ausgabeverzeichnisse von Libtool herausgefiltert. Es kann nur einen aktiven regulären Ausdruck geben, von mehrfach angegebenen -i-Optionen wird nur die letzte berücksichtigt. Dies ist sehr hilfreich, um irrelevante Dateien, die im Diff aufgenommen werden, zu entfernen. Falls Sie zum Beispiel Ihre Quellen in einem Revisionskontrollsystem speichern und »Checkout« verwenden möchten, um Ihr Quellpaket zu bauen, ohne die zusätzlichen Dateien und Verzeichnisse, die darin typischerweise enthalten sind (z.B. CVS/, .cvsignore, .svn/), mit aufzunehmen. Der voreingestellte reguläre Ausdruck ist bereits sehr erschöpfend, aber falls Sie ihn ersetzen müssen, beachten Sie, dass er standardmäßig auf alle Teile des Pfades passen kann. Falls Sie daher nur den Anfang eines Pfades oder komplette Dateinamen vergleichen wollen, müssen Sie die notwendigen Anker (z.B. »(^|/)«, »($|/)«) selbst bereitstellen.

--extend-diff-ignore=regexp
    Der angegebene reguläre Ausdruck (Perl-Format) wird den standardmäßigen Wert von --diff-ignore and dessen aktuellen Wert (falls gesetzt) erweiteren. Dies erfolgt, indem »|regexp« an den existierenden Wert angehängt wird. Diese Option ist bequem in debian/source/options zu nutzen, um einige automatisch erstellten Dateien von der automatischen Patch-Erzeugung auszuschließen.

-I[Dateimuster], --tar-ignore[=Dateimuster]
    If this option is specified, the pattern will be passed to tar(1)'s --exclude option when it is called to generate a .orig.tar or .tar file. For example, -ICVS will make tar skip over CVS directories when generating a .tar.gz file. The option may be repeated multiple times to list multiple patterns to exclude. -I by itself adds default --exclude options that will filter out control files and directories of the most common revision control systems, backup and swap files and Libtool build output directories.

Note: While they have similar purposes, -i and -I have very different syntax and semantics. -i can only be specified once and takes a perl compatible regular expression which is matched against the full relative path of each file. -I can specified multiple times and takes a filename pattern with shell wildcards. The pattern is applied to the full relative path but also to each part of the path individually. The exact semantic of tar's --exclude option is somewhat complicated, see http://www.gnu.org/software/tar/manual/tar.html#wildcards for a full documentation. Der voreingestellte reguläre Ausdruck und Muster für beide Optionen können in der Ausgabe des Befehls --help gesehen werden.

  Generic extract options

--no-copy
    Kopiere die Original-Tarbälle in die Nähe des extrahierten Quellpakets.

--no-check
    Prüfe Signaturen und Prüfsummen vor dem Entpacken nicht.

--require-valid-signature
    Entpacken des Quellpakets ablehnen, falls es keine OpenPGP-Signatur enthält, die entweder mit dem trustedkeys.gpg-Schlüsselring des Benutzers, mit einem der Schlüsselringen des Lieferanten oder mit einem der offiziellen Debian-Schüsselringe (/usr/share/keyrings/debian-keyring.gpg und /usr/share/keyrings/debian-maintainers.gpg) überprüft werden kann.

QUELLPAKET-FORMATE
Falls Sie nicht wissen, welches Quellformat Sie verwenden sollen, verwenden Sie wahrscheinlich am besten entweder »3.0 (quilt)« oder »3.0 (native)«. Lesen Sie http://wiki.debian.org/Projects/DebSrc3.0 für Informationen über den Einsatz dieser Formate innerhalb von Debian.

  Format: 1.0
Ein Quellpaket in diesem Format besteht entweder aus einem .orig.tar.gz mit zugehörigem .diff.gz oder einem einzelnen .tar.gz (in diesem Fall wird das Paket als nativ bezeichnet). Extrahieren Extrahieren eines nativen Pakets ist ein einfaches Extrahieren eines einzelnen Tarballs in das Zielverzeichnis. Extrahieren eines nicht-nativen Pakets erfolgt zuerst durch Entpacken des .orig.tar.gz und dann durch Anwendung des Patches aus der .diff.gz-Datei. Der Zeitstempel aller gepatchten Dateien wird auf den Zeitpunkt der Extrahierung des Quellpakets zurückgesetzt (das vermeidet Zeitstempelversätze, die zu Problemen führen, wenn autogenerierte Dateien gepatcht werden). Der Diff kann neue Dateien anlegen (das gesamte Debian-Verzeichnis wird auf diese Weise erstellt), kann aber keine Dateien entfernen (leere Dateien bleiben zurück). Bauen Bauen eines nativen Paket besteht nur aus dem Erstellen eines einzigen Tarballs mit dem Quellverzeichnis. Bauen eines nicht-nativen Pakets schließt das Extrahieren des Original-Tarballs in ein separates Verzeichnis ».orig« und die Neuerstellung des .diff.gz durch Vergleich des Quellpaket-Verzeichnisses mit dem Verzeichnis .orig ein. Bau-Optionen (mit -b): Falls ein zweites nicht-Options-Argument angegeben ist, sollte es der Namen des Originalquellverzeichnisses oder der Tardatei sein. Falls das Paket Debian-spezifisch ist, dann sollte dieses Argument die leere Zeichenkette sein, da es kein Debianisierungs-Diff gibt. Falls kein zweites Argument übergeben wird, dann schaut dpkg-source nach der ursprünglichen Tardatei Paket_Upstream-Version.orig.tar.Erweiterung oder dem ursprünglichen Quellverzeichnis Verzeichnis.orig, abhängig von den -sX-Argumenten. -sa, -sp, -sk, -su und -sr werden keine existierenden Tardateien oder Verzeichnisse überschreiben. Falls dies gewünscht ist, sollten stattdessen -sA, -sP, -sK, -sU und -sR verwendet werden.

-sk Gibt an, dass die Originalquellen als Tardatei erwartet werden sollen, standardmäßig Paket_Ursprungsversion.orig.tarErweiterung. Es wird diese Originalquellen als Tardatei am Platz belassen, oder sie in das aktuelle Verzeichnis kopieren, falls sie dort noch nicht sind. Der Tarball wird nach Verzeichnis.orig für die Erstellung des Diffs entpackt.

-sp Wie -sk, aber das Verzeichnis wird danach entfernt.

-su Gibt an, dass die Originalquellen als Verzeichnis erwartet werden, standardmäßig Paket-Ursprungsversion.orig. dpkg-source wird daraus ein neues Original-Quellarchiv erstellen.

-sr Wie -su, aber das Verzeichnis wird nach der Verwendung entfernt.

-ss Specifies that the original source is available both as a directory and as a tarfile. dpkg-source will use the directory to create the diff, but the tarfile to create the .dsc. This option must be used with care - if the directory and tarfile do not match a bad source archive will be generated.

-sn Gibt an, dass nicht nach Originalquellen geschaut und kein Diff erstellt werden soll. Das zweite Argument, falls angegeben, muss die leere Zeichenkette sein. Dies wird für Debian-spezifische Pakete verwendet, die keine Quellen von Originalautoren und somit kein Debianisierungs-Diff haben.

-sa oder -sA
    Gibt an, dass nach dem Original-Quellarchiv als Tardatei oder als Verzeichnis gesucht werden soll - das zweite Argument, falls vorhanden, kann eines von beiden sein, oder die leere Zeichenkette (dies ist äquivalent zur Verwendung von -sn). Falls eine Tardatei gefunden wird, wird diese zur Erstellung eines Diffs entpackt und danach entfernt (dies ist äquivalent zu -sp); falls ein Verzeichnis gefunden wird, wird dieses gepackt, um die Originalquellen zu erstellen und danach entfernt (dies ist äquivalent zu -sr); falls keines von beiden gefunden wird, wird angenommen, dass das Paket kein Debianisierungs-Diff sondern nur ein direktes Quellarchiv (dies ist äquivalent zu -sn). Falls sowohl ein Verzeichnis als auch eine Tar-Datei gefunden werden, dann ignoriert dpkg-source das Verzeichnis, und überschreibt es, falls -sA angegeben wurde (dies ist äquivalent zu -sP) oder löst einen Fehler aus, falls -sa angegeben wurde. -sA ist die Voreinstellung.

--abort-on-upstream-changes
    Der Prozess schlägt fehl, falls das erstellte Diff Änderungen an Dateien außerhalb des Unterverzeichnisses »debian« enthält. Diese Option ist in debian/source/options nicht erlaubt, kann aber in debian/source/local-options verwandt werden. Extrahierungs-Optionen (mit -x): In allen Fällen werden die Originalquellbäume entfernt.

-sp Verwendet beim Extrahieren. Die Originalquellen (falls vorhanden) werden als Tar-Datei belassen. Falls diese sich nicht im aktuellen Verzeichnis befinden oder falls eine existierende, aber davon verschiedene Datei bereits vorhanden ist, wird sie dort hin kopiert. (Dies ist die Voreinstellung.)

-su Entpackt den Originalquellbaum.

-sn Stellt sicher, dass die Originalquellen weder in das aktuelle Verzeichnis kopiert noch entpackt werden. Jeder Originalquellbaum, der im aktuellen Verzeichnis war, wird dennoch entfernt.

Alle -sX-Optionen schließen sich paarweise aus. Falls Sie mehr als eine angeben, wird nur die letzte verwendet.

--skip-debianization
    Überspringt die Anwendung des Debian-Diffs auf die Quellen der Originalautoren.

  Format: 2.0
Auch als »wig&pen« bekannt. Dieses Format wird nicht für den breiten Einsatz empfohlen, es wird durch das Format »3.0 (quilt)« ersetzt. Wig&pen war die erste Spezifikation eines Paketformats der nächsten Generation. Das Verhalten dieses Formats ist identisch zum Format »3.0 (quilt)«, abgesehen davon, dass es keine explizite Liste von Patches verwendet. Alle Dateien in debian/patches/, die auf den regulären Perlausdruck [\w-]+ passen, müssen gültige Patches sein: sie werden zum Zeitpunkt der Extrahierung angewandt. Wenn ein neues Quellpaket gebaut wird, werden alle Änderungen an den Quellen der Originalautoren in einem Patch mit Namen zz_debian-diff-auto gespeichert.

  Format: 3.0 (native)
Dieses Format ist eine Erweiterung des nativen Paketformats wie es im 1.0-Format definiert ist. Es unterstützt alle Kompressionsmethoden und ignoriert standardmäßig alle VCS-spezifischen Dateien und Verzeichnisse sowie viele temporäre Dateien (lesen Sie den Standardwert der Option -I bei der Ausgabe von --help).

  Format: 3.0 (quilt)
Ein Quellpaket in diesem Format enthält mindestens einen Original-Tarball (.orig.tar.erw, wobei erw gz, bz2, lzma und xz sein kann) und einen Debian-Tarball (.debian.tar.erw). Es kann auch zusätzliche Original-Tarbälle (.orig-Komponente.tar.erw)) enthalten. Komponente kann nur alphanumerische Zeichen und Gedankenstriche (»-«) enthalten.

Extrahieren

Der Haupt-Originaltarball wird zuerst extrahiert, dann werden alle zusätzlichen Originaltarbälle in Unterverzeichnisse extrahiert, die nach dem Komponenten-Teil ihres Dateinamens benannt werden (jedes bereits existierende Verzeichnis wird ersetzt). Der Debian-Tarball wird auf das Quellverzeichnis extrahiert, nachdem jedes bereits existierende debian-Verzeichnis entfernt wurde. Beachten Sie, dass der Debian-Tarball ein debian-Unterverzeichnis enthalten muss, er aber auch Binärdateien außerhalb dieses Verzeichnisses enthalten darf (sehen Sie hierzu die Option --include-binaries).

All patches listed in debian/patches/debian.series or debian/patches/series are then applied. If the former file is used and the latter one doesn't exist (or is a symlink), then the latter is replaced with a symlink to the former. This is meant to simplify usage of quilt to manage the set of patches. Note however that while dpkg-source parses correctly series files with explicit options used for patch application (stored on each line after the patch filename and one or more spaces), it does ignore those options and always expect patches that can be applied with the -p1 option of patch. It will thus emit a warning when it encounters such options, and the build is likely to fail.

Contrary to quilt's default behaviour, patches are expected to apply without any fuzz. When that is not the case, you should refresh such patches with quilt, or dpkg-source will error out while trying to apply them.

Similarly to quilt's default behaviour, the patches can remove files too.

Die Datei .pc/applied-patches wird angelegt, falls einige Patches während der Extrahierung angewandt wurden.

Bauen

All original tarballs found in the current directory are extracted in a temporary directory by following the same logic as for the unpack, the debian directory is copied over in the temporary directory, and all patches except the automatic patch (debian-changes-version or debian-changes, depending on --single-debian-patch) are applied. The temporary directory is compared to the source package directory. When the diff is non-empty, the build fails unless --single-debian-patch or --auto-commit has been used, in which case the diff is stored in the automatic patch. If the automatic patch is created/deleted, it's added/removed from the series file and from the quilt metadata. Änderungen an Binärdateien können in einem Diff nicht dargestellt werden und führen daher zu einem Fehlschlag, es sei denn, der Betreuer hat sich absichtlich dazu entschlossen, die veränderte Binärdatei dem Debian-Tarball hinzuzufügen (indem er sie in debian/source/include-binaries aufgeführt hat). Der Bau wird auch fehlschlagen, falls er Binärdateien im debian-Unterverzeichnis findet, die nicht über debian/source/include-binaries freigegeben wurden. Das aktualisierte debian-Verzeichnis und die Liste der veränderten Programme wird dann zur Erstellung des Debian-Tarballs verwandt. The automatically generated diff doesn't include changes on VCS specific files as well as many temporary files (see default value associated to -i option in the --help output). In particular, the .pc directory used by quilt is ignored during generation of the automatic patch. Hinweis: dpkg-source --before-build (und -b) stellen sicher, dass alle in der Series-Datei aufgeführten Patches angewendet sind, so dss ein Paketbau immer mit allen angewandten Patches durchgeführt wird. Dies erfolgt, indem nicht angewandte Patches ermittelt werden (sie sind in der Datei series, aber nicht in der Datei .pc/applied-patches aufgeführt) und wenn der erste Patch in dem Satz ohne Fehler angewandt werden kann, werden sie alle angewandt. Die Option --no-preparation kann zum Abschalten dieses Verhaltens verwandt werden.

Änderungen aufzeichnen

--commit [Verzeichnis] [Patch-Name] [Patch-Datei]
    Generates a patch corresponding to the local changes that are not managed by the quilt patch system and integrates it in the patch system under the name patch-name. If the name is missing, it will be asked interactively. If patch-file is given, it is used as the patch corresponding to the local changes to integrate. Once integrated, an editor is launched so that you can edit the meta-information in the patch header. Die Verwendung von patch-file ist primär nach einem Baufehler nützlich, der diese Datei vorgenerierte und daher wird die übergebene Datei nach der Integration entfernt. Beachten Sie auch, dass die Änderungen, die in der Patch-Datei angegeben sind, bereits im Baum angewandt worden sein müssen und dass die Dateien, die von diesem Patch geändert werden, keine zusätzlichen, nicht aufgezeichneten Änderungen enthalten dürfen. Falls die Patch-Erzeugung veränderte Binärdateien erkennt, werden diese automatisch zu debian/source/include-binaries hinzugefügt, so dass sie im Debian-Tarball landen (genau wie dies dpkg-source --include-binaries -b machen würde).

Bau-Optionen

--allow-version-of-quilt-db=Version
    Allow dpkg-source to build the source package if the version of the quilt metadata is the one specified, even if dpkg-source doesn't know about it. Effectively this says that the given version of the quilt metadata is compatible with the version 2 that dpkg-source currently supports. The version of the quilt metadata is stored in .pc/.version.

--include-removal
    Ignoriere entfernte Dateien nicht und füge sie zu dem automatisch generierten Patch hinzu.

--include-timestamp
    Füge Zeitstempel zu dem automatisch generierten Patch hinzu.

--include-binaries
    Füge alle veränderten Programme zu dem debian-Tarball hinzu. Füge sie auch in debian/source/include-binaries: sie werden in folgenden Bauten standardmäßig hinzugefügt und diese Option wird daher dann nicht mehr benötigt.

--no-preparation
    Versuche nicht den Bau-Baum durch Anwenden aller derzeit nicht angewandten Patches vorzubreiten.

--single-debian-patch
    Verwende debian/patches/debian-changes statt debian/patches/debian-changes-Version als Namen für den während des Baus automatisch generierten Patch. Diese Option ist insbesondere nützlich, wenn das Paket in einem VCS betreut wird und ein Patch-Satz nicht zuverlässig erstellt werden kann. Stattdessen sollte der aktuelle Diff zu den Quellen der Originalautoren in einem einzelnen Patch gespeichert werden. Diese Option sollte in debian/source/local-options eingestellt werden und würde dann von einer Datei debian/source/local-patch-header begleitet, in der erklärt wird, wie die Debian-Änderungen am besten begutachtet werden können, beispielsweise im eingesetzten VCS.

--create-empty-orig
    Erstelle den Hauptoriginal-Tarball automatisch als leer falls er fehlt und falls es ergänzende Original-Tarbälle gibt. Diese Option ist dafür gedacht, wenn das Quellpaket nur eine Sammlung von mehreren Softwaren der Originalautoren ist und es keine »Haupt«-Software gibt.

--no-unapply-patches, --unapply-patches
    By default, dpkg-source will automatically unapply the patches in the --after-build hook if it did apply them during --before-build. Those options allow you to forcefully disable or enable the patch unapplication process. Those options are only allowed in debian/source/local-options so that all generated source packages have the same behavior by default.

--abort-on-upstream-changes
    The process fails if an automatic patch has been generated. This option can be used to ensure that all changes were properly recorded in separate quilt patches prior to the source package build. This option is not allowed in debian/source/options but can be used in debian/source/local-options.

--auto-commit
    The process doesn't fail if an automatic patch has been generated, instead it's immediately recorded in the quilt series.

Extrahierungs-Optionen

--skip-debianization
    Überspringt das Entpacken des Debian-Tarballs auf die Quellen der Originalautoren.

--skip-patches
    Wende am Ende der Extrahierung keine Patches an.

  Format: 3.0 (custom)
Dieses Format ist besonders. Es stellt kein echtes Quellpaket dar, kann aber zur Erstellung eines Quellpakets mit beliebigen Dateien verwandt werden.

Bau-Optionen

Alle Argumente, die keine Optionen sind, werden als Dateien verstanden, die in das generierte Quellpaket integriert werden sollen. Sie müssen existieren und sich bevorzugt im aktuellen Verzeichnis befinden. Mindestens eine Datei muss angegeben werden.

--target-format=Wert
    Required. Defines the real format of the generated source package. The generated .dsc file will contain this value in its Format field and not "3.0 (custom)".

  Format: 3.0 (git)
Dieses Format ist experimentell.

Ein Quellpaket in diesem Format besteht aus einem einzelnen Bündel eines Git-Depots .git, um die Quellen des Pakets zu verwahren. Es kann auch eine Datei .gitshallow geben, die die Revisionen für einen flachen Git-Clone aufführt.

Extrahieren

Das Bündel wird als Git-Depot in das Zielverzeichnis geklont. Falls es eine Datei gitshallow gibt, wird diese als ».git/shallow« innerhalb des geklonten Git-Depots installiert.

Beachten Sie, dass standardmäßig im neuen Depot der gleiche Zweig ausgecheckt ist, der auch in der ursprünglichen Quelle ausgecheckt war (typischerweise »master«, es könnte aber auch was beliebig anderes sein). Alle anderen Zweige sind unter »remotes/origin/« verfügbar.

Bauen

Bevor fortgefahren wird, werden einige Überprüfungen ausgeführt, um sicherzustellen, dass keine nicht-ignorierten, nicht-übertragene (»uncommitted«) Änderungen vorliegen.

git-bundle(1) wird zur Erstellung des Bündels des Git-Depots verwandt. Standardmäßig werden alle Zweige und Markierungen im Depot im Bündel einbezogen.

Bau-Optionen

--git-ref=Referenz
    Allows specifying a git ref to include in the git bundle. Use disables the default behavior of including all branches and tags. May be specified multiple times. The ref can be the name of a branch or tag to include. It may also be any parameter that can be passed to git-rev-list(1). For example, to include only the master branch, use --git-ref=master. To include all tags and branches, except for the private branch, use --git-ref=--all --git-ref=^private

--git-depth=Zahl
    Erstellt einen seichten Klon mit einem Verlauf, der bei der angegebenen Anzahl an Revisionen abgeschnitten wird.

  Format: 3.0 (bzr)
Dieses Formate ist experimentell. Es erstellt einen einzigen Tarball, der das Bzr-Depot enthält.

Extrahieren

Der Tarball wird entpackt und dann wird Bzr verwandt, um den aktuellen Zweig auszuchecken.

Bauen

Bevor fortgefahren wird, werden einige Überprüfungen ausgeführt, um sicherzustellen, dass keine nicht-ignorierten, nicht-übertragene (»uncommitted«) Änderungen vorliegen.

Dann wird der VCS-spezifische Teil des Quellpakets in ein temporäres Verzeichnis kopiert. Bevor dieses temporäre Verzeichnis in einen Tarball gepackt wird, werden verschiedene Bereinigungen durchgeführt, um Platz zu sparen.

DIAGNOSE

  kein Quellformat in debian/source/format angegeben
The file debian/source/format should always exist and indicate the desired source format. For backwards compatibility, format "1.0" is assumed when the file doesn't exist but you should not rely on this: at some point in the future dpkg-source will be modified to fail when that file doesn't exist. Die Begründung liegt darin, dass »1.0« nicht mehr das empfohlene Format ist, Sie sollten normalerweise eines der neueren Formate (»3.0 (quilt)«, »3.0 (native)«) auswählen, aber dpkg-source wird dies nicht für Sie automatisch vornehmen. Falls Sie weiterhin das alte Format verwenden möchten, sollten Sie dies explizit angeben und »1.0« in debian/source/format eintragen.

  der Diff verändert die folgenden Dateien der Originalautoren
Beim Einsatz des Quellformats »1.0« ist es normalerweise keine gute Idee, die Dateien der Originalautoren direkt zu verändern, da die Änderungen größtenteils versteckt und undokumentiert in der diff.gz-Datei verschwinden. Stattdessen sollten Sie Ihre Änderungen als Patches im debian-Verzeichnis speichern und während des Baus anwenden. Um diese Komplexität zu vermeiden, können Sie auch das Format »3.0 (quilt)« verwenden, das dies von sich aus anbietet.

  kann Änderungen an Datei nicht darstellen
Änderungen an den Quellen der Originalautoren werden normalerweise als Patch-Dateien gespeichert, aber nicht alle Änderungen können als Patches dargestellt werden: Sie können nur Änderungen am Inhalt einfacher Textdateien vornehmen. Falls Sie versuchen, eine Datei mit etwas eines anderen Typs zu ersetzen (beispielsweise eine einfache Datei mit einem Symlink oder einem Verzeichnis), werden Sie diese Fehlermeldung erhalten.

  neu angelegte leere Datei Datei wird im Diff nicht dargestellt werden
Leere Dateien können nicht mit Patchdateien erstellt werden. Daher wird diese Änderung nicht im Quellpaket aufgezeichnet und Sie erhalten dazu diese Warnung.

  ausführbarer Modus Rechte von Datei wird nicht im Diff dargestellt werden
Patch files do not record permissions of files and thus executable permissions are not stored in the source package. This warning reminds you of that fact.

  besonderer Modus Rechte von Datei wird nicht im Diff dargestellt werden
Patch-Dateien speichern nicht die Rechte von Dateien und daher werden geänderte Rechte nicht im Quellpaket gespeichert. Diese Warnung erinnert Sie an diese Tatsache.

DATEIFORMATE

  debian/source/format
Diese Datei enthält auf einer einzelnen Zeile das Format, das zum Bau des Quellpakets verwandt werden soll (mögliche Formate sind oben beschrieben). Leerzeichen am Zeilenanfang oder -ende sind nicht erlaubt.

  debian/source/include-binaries
Diese Datei enthält eine Liste von Binärdateien (eine pro Zeile), die in den Debian-Tarball aufgenommen werden sollen. Leerzeichen am Anfang und Ende der Zeile werden entfernt. Zeilen, die mit »#« anfangen, sind Kommentare und werden übersprungen. Leere Zeilen werden ignoriert.

  debian/source/options
Diese Datei enhält eine Liste an Optionen, die automatisch vor den Satz an Befehlszeilenoptionen bei einem Aufruf dpkg-source -b oder dpkg-source --print-format gesetzt werden sollen. Optionen wie -compression und --compression-level sind für diese Datei gut geeignet.

Jede Option sollte auf einer separaten Zeile stehen. Leerzeilen und Zeilen, die mit »#« beginnen, werden ignoriert. Das einleitende »--« sollte entfernt werden und kurze Optionen sind nicht erlaubt. Optionale Leerzeichen um das »=«-Symbol sowie optionale Anführungszeichen um den Wert sind erlaubt. Hier ist ein Beispiel für so eine Datei:

  # lass dpkg-source ein debian.tar.bz2 mit maximaler Komprimierung
  # erstellen
  compression = "bzip2"
  compression-level = 9
  # verwende debian/patches/debian-changes als automatischen Patch
  single-debian-patch
  # ignoriere Änderungen von config.{sub,guess}
  extend-diff-ignore = "(^|/)(config.sub|config.guess)$"

Hinweis: --format-Optionen werden in dieser Datei nicht akzeptiert, Sie sollten stattdessen debian/source/format verwenden.

  debian/source/local-options
Genau wie debian/source/options, außer das die Datei nicht in das erstellte Quellpaket aufgenommen wird. Dies kann nützlich sein, um Voreinstellungen zu speichern, die an einen bestimmten Betreuer oder an ein bestimmtes VCS, in dem das Paket gewartet wird, gebunden sind.

  debian/source/local-patch-header and debian/source/patch-header
Formloser Text, der an den Anfang des in den Formaten »2.0« und »3.0 (quilt)« generierten automatischen Patches gestellt wird. local-patch-header wird dem erstellen Quellpaket nicht hinzugefügt, patch-header dagegen schon.

  debian/patches/series
This file lists all patches that have to be applied (in the given order) on top of the upstream source package. Leading and trailing spaces are stripped. Lines starting with "#" are comments and are skipped. Empty lines are ignored. Remaining lines start with a patch filename (relative to the debian/patches/ directory) up to the first space character or the end of line. Optional quilt options can follow up to the end of line or the first "#" preceded by one or more spaces (which marks the start of a comment up to the end of line).

FEHLER
Die Stelle, an der das Überschreiben von Feldern passiert, verglichen mit bestimmten Standard-Ausgabe-Feldeinstellungen, ist eher konfus.

ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2012 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.

SIEHE AUCH
dpkg-deb(1), dpkg(1), dselect(1).