dpkg-source(1) | dpkg suite | dpkg-source(1) |
dpkg-source - Debian Quellpaket- (.dsc) Manipulations-Werkzeuge
dpkg-source [Option …] Befehl
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.
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 entpackten 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 entpackt, entsprechend angepasst; falls das übergeordnete Verzeichnis setgid ist, werden dies die entpackten Verzeichnisse auch sein, und alle Dateien und Verzeichnisse werden die Gruppeneigentümerschaft erben.
Falls das Quellpaket ein nicht-Standard-Format verwendet (derzeit bedeutet dies alle Formate außer „1.0“)) wird sein Name in debian/source/format gespeichert, so dass alle folgenden Bauversuche des Quellpakets standardmäßig das gleiche Format verwenden.
dpkg-source wird das Quellpaket mit dem ersten gefundenen Format aus der folgenden geordneten Liste bauen: dem mit der Befehlszeilenoption(en) --format angegebenen 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 immer in debian/source/format dokumentieren. Die verschiedenen Quellpaketformate werden im Abschnitt QUELLPAKET-FORMATE ausführlich beschrieben.
Die Option -i selbst aktiviert diese Einstellung mit einem voreingestellten regulären Ausdruck (der alle Änderungen durch einen standardmäßigen regulären Ausdruck erhält, die durch einen früheren Aufruf von --extend-diff-ignore erfolgten), der Steuerdateien und -Verzeichnisse der häufigsten Revisionskontrollsysteme, Sicherungskopien, Swap-Dateien und Bau-Ausgabeverzeichnisse von Libtool herausgefiltert. Es kann nur einen aktiven regulären Ausdruck geben, von mehrfach angegebenen Optionen -i 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.
-I fügt standardmäßig von selbst --exclude-Optionen hinzu, die die Steuerdateien und -verzeichnisse der häufigsten Revisionskontrollsysteme, Sicherungs- und Swap-Dateien sowie Bau-Ausgabeverzeichnisse von Libtool herausfiltern.
Hinweis: Obwohl sie ähnlichen Zwecken dienen, haben -i und -I eine sehr verschiedene Syntax und Semantik. -i kann nur einmal angegeben werden und nimmt einen regulären Perl-Ausdruck an, der gegen den vollen relativen Pfad jeder Datei geprüft wird. -I kann mehrfach angegeben werden und nimmt ein Dateinamen-Muster mit Shell-Platzhalter an. Das Muster wird gegen den vollen relativen Pfad, aber auch individuell auf jeden Teil des Pfades angewendet. Die exakte Semantik der Option --exclude ist etwas kompliziert, lesen Sie <https://www.gnu.org/software/tar/manual/tar.html#wildcards> für eine komplette Dokumentation.
Der voreingestellte reguläre Ausdruck und Muster für beide Optionen können in der Ausgabe des Befehls --help gesehen werden.
Falls Sie nicht wissen, welches Quellformat Sie verwenden sollen, verwenden Sie wahrscheinlich am besten entweder „3.0 (quilt)“ oder „3.0 (native)“. Lesen Sie <https://wiki.debian.org/Projects/DebSrc3.0> für Informationen über den Einsatz dieser Formate innerhalb von Debian.
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). Optional kann der ursprüngliche Tarball von einer separaten Signatur der Originalautoren .orig.tar.gz.asc begleitet werden. Das Entpacken wird seit Dpkg 1.18.5 unterstützt.
Entpacken
Entpacken eines nativen Pakets ist ein einfaches Entpacken eines einzelnen Tarballs in das Zielverzeichnis. Entpacken 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 des Entpackens 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) und keine Symlinks erstellen oder ändern.
Bauen
Bauen eines nativen Pakets besteht nur aus dem Erstellen eines einzigen Tarballs mit dem Quellverzeichnis. Bauen eines nicht-nativen Pakets schließt das Entpacken 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 --build):
Falls ein zweites nicht-Options-Argument angegeben ist, sollte es der Name des Originalquellverzeichnisses oder der Tar-Datei sein. Falls das Paket Debian-spezifisch ist, dann sollte dieses Argument die leere Zeichenkette sein, da es keinen Debianisierungs-Diff gibt. Falls kein zweites Argument übergeben wird, dann schaut dpkg-source nach der ursprünglichen Tar-Datei 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 Tar-Dateien oder Verzeichnisse überschreiben. Falls dies gewünscht ist, sollten stattdessen -sA, -sP, -sK, -sU und -sR verwendet werden.
Entpackoptionen (mit --extract):
In allen Fällen werden die Originalquellbäume entfernt.
Alle -sX-Optionen schließen sich gegenseitig aus. Falls Sie mehr als eine angeben, wird nur die letzte verwendet.
Seit Dpkg 1.13.9 Unterstützung des Entpackens, seit Dpkg 1.14.8 Unterstützung des Bauens. 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 Perl-Ausdruck [\w-]+ passen, müssen gültige Patches sein: sie werden zum Zeitpunkt des Entpackens 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.
Seit Dpkg 1.14.17 unterstützt. 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).
Seit Dpkg 1.14.17 unterstützt. 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 (‚a-zA-Z0-9’) und Bindestriche (‚-’) enthalten. Optional kann jeder Original-Tarball von einer separaten Signatur der Originalautoren (.orig.tar.Erw.asc und .orig-Komponente.tar.Erw.asc) begleitet werden. Das Entpacken wird seit Dpkg 1.17.20, das Bauen seit Dpkg 1.18.5 unterstützt.
Entpacken
Der Haupt-Originaltarball wird zuerst entpackt, dann werden alle zusätzlichen Originaltarbälle in Unterverzeichnisse entpackt, die nach dem Komponenten-Teil ihres Dateinamens benannt werden (jedes bereits existierende Verzeichnis wird ersetzt). Der Debian-Tarball wird über das Quellverzeichnis entpackt, 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).
Dann werden alle in debian/patches/Lieferant.series oder debian/patches/series aufgeführten Patches angewandt, wobei Lieferant der Name des aktuellen Lieferanten in Kleinbuchstaben ist oder debian, falls kein Lieferant definiert ist. Falls die erstere Datei verwandt wird und die Letztere nicht existiert (oder ein Symlink ist), dann wird die Letztere durch einen Symlink zu Ersterer ersetzt. Dies ist zur Vereinfachung der Verwendung von quilt gedacht, um die Gruppe von Patches zu verwalten. Lieferantenspezifische Seriendateien sind dazu gedacht, es zu ermöglichen, mehrere Entwicklungszweige basierend auf dem Lieferanten auf eine deklarative Art zu serialisieren, und diese gegenüber der offenen Codierung dieser Handhabung in debian/rules zu bevorzugen. Dies ist insbesondere nützlich, wenn die Quellen mit Bedingungen gepacht werden müssten, da die betroffenen Dateien keine eingebaute abhängige Okklusionsunterstützung haben. Beachten Sie allerdings, dass dpkg-source zwar Seriendateien auswertet, in denen explizite Optionen für die Anwendung der Patches verwandt werden (diese werden auf jede Zeile nach dem Patch-Dateinamen und einem oder mehreren Leerzeichen gespeichert), diese Optionen dann aber ignoriert und immer erwartet, dass die Patches mit der Option -p1 von patch angewandt werden können. Es wird daher eine Warnung ausgegeben, wenn es auf solche Optionen trifft, und der Bau wird wahrscheinlich fehlschlagen.
Beachten Sie, dass lintian(1) aufgrund Debian-spezifischer Regularien bedingungslos Warnungen ausgeben wird, wenn Lieferantenserien verwandt werden. Dies sollte die Verwendung außerhalb von Debian nicht betreffen. Um diese Warnungen auszublenden, kann das Dpkg-Lintian-Profil mittels Übergabe von „--profile dpkg“ an lintian(1) verwandt werden.
Der Zeitstempel aller gepatchten Dateien wird auf die Entpackzeit des Quellpakets zurückgesetzt. Damit werden Zeitstempelversätze vermieden, die zu Problemen führen, wenn automatisch erzeugte Dateien gepatcht werden.
Im Gegensatz zum Standardverhalten bei quilt wird erwartet, dass die Patches ohne Unschärfe angewandt werden können. Wenn das nicht der Fall ist, sollten Sie die Patches mit quilt erneuern oder dpkg-source wird mit einer Fehlermeldung beim Versuch, sie anzuwenden, abbrechen.
Ähnlich wie bei quilt können Patches auch Dateien entfernen.
Die Datei .pc/applied-patches wird angelegt, falls einige Patches während des Entpackens angewandt wurden.
Bauen
Alle im aktuellen Verzeichnis gefundenen Original-Tarbälle werden in ein temporäres Verzeichnis entpackt. Hierbei wird die gleiche Logik wie für das Entpacken verwandt, das debian-Verzeichnis wird in das temporäre Verzeichnis kopiert und alle Patches außer dem automatischen Patch (debian-changes-Version oder debian-changes, abhängig von --single-debian-patch) werden angewandt. Das temporäre Verzeichnis wird mit dem Quellpaketverzeichnis verglichen. Wenn der Diff nicht leer ist, schlägt der Bau fehl, falls nicht --single-debian-patch oder --auto-commit verwandt wurde; in diesem Fall wird der Diff im automatischen Patch gespeichert. Falls der automatische Patch erzeugt/gelöscht wird, wird er zu der Datei „series“ und den quilt-Metadaten hinzugefügt bzw. aus diesen gelöscht.
Ä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.
Der automatisch erstellte Diff enthält keine Änderungen an VCS-spezifischen sowie vielen temporären Dateien (lesen Sie hierzu den zur Option -i zugeordneten Standardwert in der Ausgabe von --help). Insbesondere wird das von quilt verwandte .pc-Verzeichnis während der Erstellung des automatischen Patches ignoriert.
Hinweis: dpkg-source --before-build (und --build) stellen sicher, dass alle in der Series-Datei aufgeführten Patches angewendet sind, so dass 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
Die Verwendung von patch-Datei 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 --build machen würde).
Bau-Optionen
Entpackoptionen
Seit Dpkg 1.14.17 unterstützt. 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.
Seit Dpkg 1.14.17 unterstützt. 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.
Entpacken
Das Bündel wird als Git-Depot in das Zielverzeichnis geklont. Falls es eine gitshallow-Datei 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 „main“, 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-übertragenen („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
Seit Dpkg 1.14.17 unterstützt. Dieses Format ist experimentell. Es erstellt einen einzigen Tarball, der das Bzr-Depot enthält.
Entpacken
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-übertragenen („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.
Die Datei debian/source/format sollte immer existieren und das gewünschte Quellformat angeben. Für Rückwärtskompatibilität wird das Format „1.0“ angenommen, wenn die Datei nicht existiert, aber Sie sollten sich nicht darauf verlassen: Irgendwann in der Zukunft wird dpkg-source verändert und dann fehlschlagen, wenn diese Datei nicht existiert.
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.
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.
Ä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 durch etwas eines anderen Typs zu ersetzen (beispielsweise eine einfache Datei durch einen Symlink oder ein Verzeichnis), werden Sie diese Fehlermeldung erhalten.
Leere Dateien können nicht mit Patchdateien erstellt werden. Daher wird diese Änderung nicht im Quellpaket aufgezeichnet und Sie erhalten dazu diese Warnung.
Patch-Dateien speichern nicht die Rechte von Dateien und daher werden Ausführbarkeitsrechte nicht im Quellpaket gespeichert. Diese Warnung erinnert Sie an diese Tatsache.
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.
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.
Diese Datei enthält eine Liste von Pfadnamen von Binärdateien (eine pro Zeile), relativ zum Quellwurzelverzeichnis, 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.
Diese Datei enhält eine Liste an Optionen, die automatisch vor den Satz an Befehlszeilenoptionen bei einem Aufruf dpkg-source --build 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.
Genau wie debian/source/options, außer dass 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.
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 erstellten Quellpaket nicht hinzugefügt, patch-header dagegen schon.
Diese Datei führt alle Patches auf, die (in der angegebenen Reihenfolge) auf das Quellpaket der Originalautoren angewandt werden müssen. Leerzeichen am Anfang und Ende werden entfernt. Lieferant ist der Name des aktuellen Lieferanten in Kleinschreibung oder debian, falls kein Lieferant definiert ist. Falls die lieferantenspezifische Seriendatei nicht existiert, wird eine lieferantenfreie Seriendatei verwandt. Zeilen, die mit ‚#’ anfangen, sind Kommentare und werden übersprungen. Leere Zeilen werden ignoriert. Die verbleibenden Zeilen beginnen mit dem Dateinamen eines Patches (relativ zum Verzeichnis debian/patches/) bis zum ersten Leerzeichen oder bis zum Zeilenende. Bis zum Ende der Zeile oder bis zum ersten ‚#’ gefolgt von einem oder mehreren Leerzeichen (dies markiert den Beginn eines Kommentars, der bis zum Zeilenende geht) können optionale quilt-Befehle folgen.
Die Stelle, an der das Überschreiben von Feldern passiert, verglichen mit bestimmten Standard-Ausgabe-Feldeinstellungen, ist eher verwirrend.
deb-src-control(5), deb-changelog(5), deb-substvars(5), dsc(5).
Die deutsche Übersetzung wurde 2004, 2006-2023 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.
2023-05-11 | 1.21.22 |