USCAN.DE(1) | USCAN.DE(1) |
uscan - durchsucht/beobachtet Quellen der Ursprungsautoren nach neuen Veröffentlichungen der Software
uscan [Optionen] [Pfad]
For basic usage, uscan is executed without any arguments from the root of the Debianized source tree where you see the debian/ directory, or a directory containing multiple source trees.
Unless --watchfile is given, uscan looks recursively for valid source trees starting from the current directory (see the below section "Directory name checking" for details).
For each valid source tree found, typically the following happens:
Bitte beachten Sie Folgendes:
Das derzeitig Format der Version 4 von debian/watch kann wie folgt zusammengefasst werden
Dies ist eine benötigte Zeile und die empfohlene Versionsnummer.
Falls Sie hier stattdessen »version=3« benutzen, funktionieren einige Funktionalitäten möglicherweise nicht wie hier beschrieben. Siehe "CHRONIK UND UPGRADES DURCHFÜHREN".
Hier gibt
Es gibt ein paar spezielle Zeichenketten, die durch uscan ersetzt werden, um das Schreiben der Watch-Datei zu erleichtern.
[-_]?v?(\d[\-+\.:\~\da-zA-Z]*)
(?i)(?:\.(?:tar\.xz|tar\.bz2|tar\.gz|tar\.zstd?|zip|tgz|tbz|txz))
(?i)(?:\.(?:tar\.xz|tar\.bz2|tar\.gz|tar\.zstd?|zip|tgz|tbz|txz))'(?:\.(?:asc|pgp|gpg|sig|sign))'
[\+~](debian|dfsg|ds|deb)(\.)?(\d+)?$
Einige Dateierweiterungen sind absichtlich nicht enthalten, um falsche Treffer zu vermeiden. Sie können solche Muster für Dateierweiterungen aber immer noch manuell setzen.
uscan liest die in opts=" … " angegebenen Optionen, um sein Verhalten anzupassen. Mehrere Optionen Option1, Option2, Option3, … können als opts="Option1, Option2, Option3, … " gesetzt werden. Die doppelten Anführungszeichen werden nötig, falls Optionen irgendwelche Leerräume enthalten.
Sofern sie nicht als beständig notiert sind, sind die meisten Optionen nur innerhalb der Watch-Zeile gültig, in der sie stehen.
Die verfügbaren Watch-Optionen sind:
When using ctype=nodejs, uscan tries to find a version in "package.json", when using ctype=perl, uscan tries to find a version in "META.json". If a version is found, it is used as current version for this component, regardless version found in Debian version string. This permits a better change detection when using ignore or checksum as Debian version.
Verfügbare Methoden sind die, die mk-origtargz unterstützt, also xz, gzip (alias gz), bzip2 (alias bz2), lzma, default. Die Voreinstellung ist derzeit xz. Wenn Uscan in einem Debian-Quelldepot, dessen Format »1.0« oder nicht definiert ist, gestartet wird, wechselt die Methode zu gzip.
Bitte beachten Sie, dass das erneute Packen des Tarballs der Ursprungsautoren durch mk-origtargz nur vorkommt, wenn eine der folgenden Bedingungen erfüllt ist:
Falls die Ursprungsautoren den veröffentlichten Tarball über ihre Web-Schnittstelle veröffentlichen, verwenden Sie bitte diese anstelle dieses Modus. Dieser Modus ist die letzte Rückfalloption.
Für den Git-Modus gibt Vergleichsmuster das vollständige Zeichenkettenmuster für Markierungen anstelle von Hrefs an. Falls Vergleichsmuster auf refs/tags/Markierungsvergleichsmuster gesetzt ist, lädt uscan die Quelle von der refs/tags/passenden-Markierung des Git-Depots herunter. Die Version der Ursprungsautoren wird aus dem Zusammenhängen der passenden Teile in ( … ) mit . extrahiert. Siehe »WATCH«-DATEIBEISPIELE.
Falls Vergleichsmuster auf HEAD gesetzt ist, lädt uscan die Quelle vom HEAD des Git-Depots herunter und die passende Version wird automatisch mit dem Datum und dem Hash von HEAD des Git-Depots erzeugt.
Falls Vergleichsmuster auf refs/heads/Zweig gesetzt ist, lädt uscan die Quelle von dem angegebenen Zweig des Git-Depots herunter.
Das lokale Depot wird vorübergehend als ein Bare-Git-Depotverzeichnis unterhalb des Zielverzeichnisses erzeugt, in dem das heruntergeladene Archiv erstellt wird. Dies wird normalerweise nach dem Ausführen von Uscan gelöscht. Dieses lokale Depot wird aufbewahrt, falls die Option --debug benutzt wird.
Falls das aktuelle Verzeichnis ein Git-Depot ist und das gesuchte Depot eine der registrierten »externen« aufgeführt ist, wird Uscan es benutzen, statt es separat zu klonen. Die einzige lokale Änderung besteht darin, dass Uscan einen »fetch«-Befehl zum Erneuern des Depots ausführt.
For svn mode, matching-pattern specifies the full string matching pattern for directories under Subversion repository directory, specified via URL. The upstream version is extracted from concatenating the matched parts in ( ... ) with . .
If matching-pattern is set to HEAD, uscan downloads the latest source tree of the URL. The upstream version is then constructed by appending the last revision of the URL to 0.0~svn.
As commit signing is not possible with Subversion, the default pgpmode is set to none when mode=svn. Settings of pgpmode other than default and none are reported as errors.
Wenn pretty=describe benutzt wird, ist die Versionszeichenkette der Ursprungsautoren stattdessen die Ausgabe des Befehls »git describe --tags | sed s/-/./g«. Falls das Commit zum Beispiel das 5. nach der letzten Markierung v2.17.12 und sein Kurz-Hash ged992511 ist, dann lautet die Zeichenkette v2.17.12.5.ged992511. In diesem Fall ist es eine gute Idee, uversionmangle=s/^/0.0~/ oder uversionmangle=s/^v// hinzuzufügen, um die Versionszeichenkette der Ursprungsautoren mit Debian kompatibel zu machen. uversionmangle=s/^v// funktioniert möglicherweise ebenfalls. Bitte beachten Sie, dass, damit pretty=describe gut klappt, die Ursprungsautoren das Markieren mit zufälligen alphabetischen Markierungen vermeiden müssen.
pretty=describe erzwingt die Einstellung gitmode=full, um das Depot automatisch vollständig lokal zu klonen.
This option is valid only in git mode.
Falls das aktuelle Verzeichnis ein Git-Depot ist und das gesuchte Depot inmitten der registrierten »fernen« aufgeführt ist, wird Uscan es benutzen, statt es separat zu klonen.
Falls die angegebene pgpsigurlmangle fehlt, überprüft uscan mögliche URLs auf Signaturdateien und schlägt die Aufnahme einer pgpsigurlmangle-Regel vor.
version=4 opts="searchmode=plain" \ https://registry.npmjs.org/aes-js \ https://registry.npmjs.org/aes-js/-/aes-js-(\d[\d\.]*)@ARCHIVE_EXT@
Die Option user-agent sollte allein in der Watch-Zeile ohne URL angegeben werden, um die Verwendung von Strichpunkten oder Kommas darin zu ermöglichen.
Falls der PASV-Modus aufgrund der Client-seitigen Netzwerkumgebung benötigt wird, richten Sie stattdessen uscan per BEFEHLSZEILENOPTIONEN oder DEVSCRIPT-KONFIGURATIONSVARIABLEN ein, dass es den PASV-Modus benutzt.
Sie können auch dversionmangle=auto benutzen, dies ist identisch mit dversionmangle=s/@DEB_EXT@//.
Ersetzung wie s/PRE/~pre/; s/RC/~rc/ kann hilfreich sein.
Dies ist praktisch, falls Sie auf Amazon AWS oder Subversion-Depots zugreifen wollen, bei denen <a href="…"> nicht verwendet wird.
Ersetzung wie s/PRE/~pre/; s/RC/~rc/ kann hilfreich sein.
Ohne diese Option wird der Standard-Tarball-Dateiname erzeugt, indem der letzte Bestandteil der URL genommen und alles nach einem »?« oder »#« entfernt wird.
Hier werden die Regeln zum Zerlegen die Regeln auf die entsprechende Zeichenkette anwenden. In einer Zerlegungsregelzeichenkette können mehrere Regeln angegeben werden, indem die zusammengesetzte Zeichenkette jede Zerlegungs-Regel durch einen ; (Strichpunkt) trennt.
Keine Zerlegungs-Regel kann ; (Strichpunkt), , (Komma) oder " (doppeltes Anführungszeichen) enthalten.
Jede Zerlegungs-Regel verhält sich, als ob ein Perl-Befehl »$Zeichenkette =~ Regel« ausgeführt würde. Es gibt einige beachtenswerte Einzelheiten.
uscan liest den ersten Eintrag in debian/changelog, um den Namen des Quellpakets und die neuste Version der Ursprungsautoren zu bestimmen.
Wenn zum Beispiel der erste Eintrag in debian/changelog
lautet, ist der Name des Pakets bar und die neuste Paketversion von Debian 3:2.03+dfsg-4.
Die neuste Version der Ursprungsautoren wird auf die Normalform 2.03+dfsg gebracht, indem die Epoche und die Debian-Revision entfernt werden.
Falls die Regel dversionmangle existiert, wird die neuste Version der Ursprungsautoren zusätzlich durch Anwenden dieser Regel darauf in Normalform gebracht. Falls zum Beispiel die neuste Version der Ursprungsautoren 2.03+dfsg ist, zeigt dies an, dass der Tarball neu gepackt wurde. Die Endung +dfsg wird durch die Zeichenkettenersetzung s/\+dfsg\d*$// entfernt, um die neuste Version der Ursprungsautoren 2.03 nach Dversionmangle zu erzeugen. Sie wird mit den Kandidaten-Tarball-Versionen der Ursprungsautoren wie 2.03, 2.04, … verglichen, die auf deren Site gefunden wurden. Setzen Sie diese Regel daher wie folgt:
uscan lädt eine in debian/watch angegebene Webseite von http://URL herunter.
Diese http://URL könnte beispielsweise so angegeben werden:
Please note the trailing / in the above to make @ANY_VERSION@ as the directory.
Falls die Regel pagemangle existiert, wird die ganze heruntergeladene Webseite als eine Zeichenkette in Normalform gebracht, indem diese Regel darauf angewendet wird. Dies ist ein sehr mächtiges Werkzeug und sollte mit Vorsicht benutzt werden. Verwenden Sie diese Regel nicht, falls Sie andere Zerlegungsregeln zum Erreichen dieses Ziels einsetzen können.
Die heruntergeladene Webseite wird nach Hrefs gescannt, die in der Markierung <a href=" … "> definiert sind, um die Kandidaten-Tarball-Hrefs der Ursprungsautoren zu orten. Diese Kandidaten-Tarball-Hrefs der Ursprungsautoren werden mit dem regulären Perl-Ausdrucksmuster Suchmuster wie DL-(?:[\d\.]+?)/foo-(.+)\.tar\.gz verglichen, um die Auswahl der Kandidaten zu begrenzen. Diese Mustersuche muss mit dem Anfang und dem Ende verankert werden. Kandidaten-Hrefs können zum Beispiel wie folgt aussehen:
Hier wird die passende Zeichenkette von (.+) im Suchmuster als Kandidatenversion der Ursprungsautoren angesehen. Falls es mehrere passende Zeichenketten zu Übereinstimmungsmustern in Suchmuster gibt, werden Sie alle mit . (Punkt) aneinandergehängt, um die Kandidatenversion der Ursprungsautoren zu bilden. Stellen Sie sicher, dass Sie den nicht übereinstimmenden regulären Ausdruck wie (?:[\d\.]+?) anstelle des variablen passenden Textteils ohne Bezug zur Version verwenden.
Dann sind die Kandidatenversionen der Ursprungsautoren:
Der Dateiname des heruntergeladenen Tarballs wird grundsätzlich auf denselben Dateinamen gesetzt, wie der in der fernen URL der ausgewählten Href.
Falls die Regel uversionmangle existiert, werden die Kandidatenversionen der Ursprungsautoren durch Anwenden dieser Regel in Normalform gebracht. (Diese Regel kann nützlich sein, falls das Versionsschema der Ursprungsautoren nicht korrekt sortierbar ist, um die neueste Version zu identifizieren.)
Die Tarball-Href der Ursprungsautoren, die zur neuesten (von Uversionmangle) Kandidatenversion der Ursprungsautoren gehört, die neuer als die neuste (von Dversionmangle) Version der Ursprungsautoren, wird ausgewählt.
Falls mehrere Tarball-Hrefs der Ursprungsautoren zu einer einzigen Version mit verschiedenen existierenden Erweiterungen gehören, wird die am höchsten komprimierte ausgewählt. (Priorität: tar.xz > tar.lzma > tar.bz2 > tar.gz.)
Falls die ausgewählte Tarball-Href der Ursprungsautoren eine relative URL ist, wird sie mittels der Basis-URL der Webseite in eine absolute URL umgewandelt. Falls die Markierung <base href=" … "> auf der Webseite existiert, wird die ausgewählte Tarball-Href der Ursprungsautoren stattdessen mittels der angegebenen Basis-URL in der Basis-Markierung in eine absolute URL umgewandelt.
Falls die Regel downloadurlmangle existiert, wird die ausgewählte Tarball-Href der Ursprungsautoren durch Anwenden dieser Regel in Normalform gebracht. (Dies ist für einige Sites mit verschleierter Herunterlade-URL nützlich.)
Falls die Regel filenamemangle existiert, wird der Dateiname des heruntergeladenen Tarballs durch Anwenden dieser Regel auf die ausgewählte Href erzeugt, falls Suchmuster die neueste Version <neueste-Ursprungsautorenversion> der Ursprungsautoren aus der ausgewählten Href-Zeichenkette extrahieren kann. Andernfalls wird der Tarball-Dateiname der Ursprungsautoren aus seiner vollständigen URL-Zeichenkette und die fehlende <neueste-Ursprungsautorenversion> aus dem erzeugten Tarball-Dateinamen der Ursprungsautoren erzeugt.
Ohne die Regel filenamemangle wird der Vorgabe-Tarball-Dateiname der Ursprungsautoren erzeugt, indem vom letzten Bestandteil der URL alles nach jedem »?« oder »#« entfernt wird.
uscan lädt den ausgewählten Tarball der Ursprungsautoren in das übergeordnete Verzeichnis ../ herunter. Die heruntergeladene Datei kann zum Beispiel sein:
Diese heruntergeladene Version im vorhergehenden Beispiel soll 2.04 heißen, im Folgenden allgemein <neueste-Ursprungsautorenversion> genannt.
Falls die Regel pgpsigurlmangle existiert, wird die Signaturdatei-URL der Ursprungsautoren durch Anwenden dieser Regel auf die (von Downloadurlmangle) ausgewählte Tarball-Href der Ursprungsautoren erzeugt und es wird versucht, die Signatur von dort herunterzuladen.
Falls die Regel pgpsigurlmangle nicht existiert, warnt uscan den Benutzer, falls die Signaturdatei der Ursprungsautoren unter derselben URL verfügbar ist und am Dateinamen die fünf üblichen Erweiterungen asc, gpg, pgp, sig und sign anhängen. (Sie können diese Warnung durch Setzen von pgpmode=none vermeiden.)
Falls die Signaturdatei heruntergeladen wird, wird der Tarball der Ursprungsautoren anhand dieser Signaturdatei auf seine Echtheit hin überprüft. Dies geschieht mittels des gehärteten Schlüsselbunds debian/upstream/signing-key.asc (siehe "BEISPIELE FÜR SCHLÜSSELBUNDDATEIEN"). Falls seine Signatur ungültig ist oder nicht durch einen der aufgeführten Schlüssel erstellt wurde, wird uscan einen Fehler melden.
Falls die Regel oversionmangle existiert, wird die Quellcode-Tarball-Version Originalversion aus der heruntergeladenen neueste-Ursprungsautorenversion erzeugt, indem diese Regel angewendet wird. Diese Regel ist nützlich, um eine Erweiterung wie +dfsg an die Version aller Quellpakete des MUT-Pakets anzuhängen, bei denen der Mechanismus »repacksuffix« nicht funktioniert.
uscan ruft mk-origtargz auf, um den Quell-Tarball korrekt benannt für das Quellpaket mit .orig. (oder .orig-<Komponente>. für die untergeordneten Tarbälle) im Dateinamen zu erzeugen.
Normalerweise ist es in diesem Fall nicht nötig, opts="dversionmangle= … " zu setzen.
Das Entfernen von Dateien ist nötig, falls Dateien nicht DFSG-konform sind. In diesem Fall wird als Endung +dfsg verwendet.
Daher werden die kombinierten Optionen stattdessen als opts="dversionmangle=s/\+dfsg\d*$// ,repacksuffix=+dfsg" gesetzt.
Der neu gepackte Tarball der Ursprungsautoren könnte zum Beispiel so heißen:
uscan ruft normalerweise »uupdate --find --upstream-version Originalversion« für die »version=4«-Watch-Datei auf.
Bitte beachten Sie, dass hier die Option --find benutzt wird, da mk-origtargz bereits aufgerufen wurde, um die Datei *.orig.tar.gz zu erstellen. uscan nimmt bar aus debian/changelog.
Es erstellt einen neuen Quellverzeichnisbaum der Ursprungsautoren unter dem Verzeichnis ../bar-<Originalversion> und nutzt den Paketinhalt zum Anpassen an Debian.
Wenn Sie die Watch-Datei schreiben, sollten Sie sich auf die Webseite verlassen, die zuletzt die Quelle der Ursprungsautoren ankündigte. Sie sollten wenn möglich nicht versuchen, die Archivstruktur der Ursprungsautoren vorauszusagen. Es folgen typische debian/watch-Dateien.
Bitte beachten Sie, dass das Ausführen von uscan mit -v oder -vv offenbart, was intern genau passiert.
Es ist maßgeblich, ob vor dem abschließenden \ (Rückwärtsschrägstrich) ein Leerzeichen existiert oder nicht.
In den BEISPIELEN unterhalb werden einige nicht dokumentierte kürzere Konfigurationszeichenketten benutzt, um Ihnen Tipparbeit zu ersparen. Dies ist gewollt. uscan wurde so geschrieben, dass es einige häufige sinngemäße Abkürzungen akzeptiert, aber treiben Sie es nicht auf die Spitze.
Es folgt ein Beispiel für einen einfachen einzelnen Tarball der Ursprungsautoren.
version=4 http://example.com/~user/release/@PACKAGE@.html \ files/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
Or without using the substitution strings (not recommended):
http://example.com/~user/release/foo.html \
files/foo-([\d\.]+)\.tar\.gz
version=4
Diese Watch-Datei lädt für das Quellpaket foo-2.0.tar.gz der Ursprungsautoren die Debian-orig.tar-Datei foo_2.0.orig.tar.gz herunter.
Es folgt ein Beispiel für einen einfachen einzelnen Tarball der Ursprungsautoren mit der passenden Signaturdatei im selben Dateipfad.
version=4 opts="pgpsigurlmangle=s%$%.asc%" http://example.com/release/@PACKAGE@.html \ files/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
Für das Quellpaket foo-2.0.tar.gz der Ursprungsautoren und die Signaturdatei foo-2.0.tar.gz.asc der Ursprungsautoren lädt diese Watch-Datei diese Dateien herunter, prüft die Echtheit mittels des Schlüsselbunds debian/upstream/signing-key.asc und erstellt die Debian-orig.tar-Datei foo_2.0.orig.tar.gz.
Es folgt ein Beispiel für einen einfachen einzelnen Tarball der Ursprungsautoren mit der passenden Signaturdatei zum entpackten Tarball im selben Dateipfad.
version=4 opts="pgpsigurlmangle=s%@ARCHIVE_EXT@$%.asc%,decompress" \ http://example.com/release/@PACKAGE@.html \ files/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
Für das Quellpaket foo-2.0.tar.gz der Ursprungsautoren und die Signaturdatei foo-2.0.tar.asc der Ursprungsautoren lädt diese Watch-Datei diese Dateien herunter, prüft die Echtheit mittels des Schlüsselbunds debian/upstream/signing-key.asc und erstellt die Debian-orig.tar-Datei foo_2.0.orig.tar.gz.
Es folgt ein Beispiel für einen einfachen einzelnen Tarball der Ursprungsautoren mit der passenden Signaturdatei im nicht zugehörigen Dateipfad.
version=4 opts="pgpmode=next" http://example.com/release/@PACKAGE@.html \ files/(?:\d+)/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ debian opts="pgpmode=previous" http://example.com/release/@PACKAGE@.html \ files/(?:\d+)/@PACKAGE@@ANY_VERSION@@SIGNATURE_EXT@ previous
Der Teil (?:\d+) kann ein zufälliger Wert sein, Der Tarball kann 53 haben, während die Signaturdatei 33 haben kann.
Der Teil ([\d\.]+) für die Signaturdatei hat eine strikte Voraussetzung, zum in der vorhergehenden Zeile angegebenen Tarball der Ursprungsautoren zu passen, die in der Watch-Zeile als Version previous enthält.
Es folgt ein Beispiel für die maximale Flexibilität beim Tarball der Ursprungsautoren und Signaturdateierweiterungen.
version=4 opts="pgpmode=next" http://example.com/DL/ \ files/(?:\d+)/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ debian opts="pgpmode=previous" http://example.com/DL/ \ files/(?:\d+)/@PACKAGE@@ANY_VERSION@@SIGNATURE_EXT@ \ previous
Hier ein Beispiel für die einfachen Pakete mit mehreren Tarbällen der Ursprungsautoren (»Multiple Upstream Tarballs«/MUT).
version=4 opts="pgpsigurlmangle=s%$%.sig%" \ http://example.com/release/foo.html \ files/foo-@ANY_VERSION@@ARCHIVE_EXT@ debian opts="pgpsigurlmangle=s%$%.sig%, component=bar" \ http://example.com/release/foo.html \ files/foobar-@ANY_VERSION@@ARCHIVE_EXT@ same opts="pgpsigurlmangle=s%$%.sig%, component=baz" \ http://example.com/release/foo.html \ files/foobaz-@ANY_VERSION@@ARCHIVE_EXT@ same
Für das Hauptquellpaket der Ursprungsautoren foo-2.0.tar.gz und die untergeordneten Quellpakete der Ursprungsautoren foobar-2.0.tar.gz und foobaz-2.0.tar.gz, die unter bar/ und baz/ installiert werden, lädt diese Watch-Datei die Debian-orig.tar-Dateien foo_2.0.orig.tar.gz, foo_2.0.orig-bar.tar.gz und foo_2.0.orig-baz.tar.gz herunter und erstellt sie. Außerdem werden diese Tarbälle der Ursprungsautoren anhand ihrer Signaturdateien überprüft.
Es folgt ein Beispiel mit dem rekursiven Durchsuchen des Verzeichnisses nach dem Tarball der Ursprungsautoren und seiner Signaturdatei, die in einem Verzeichnis veröffentlicht wurden, das nach seiner Version benannt ist.
version=4 opts="pgpsigurlmangle=s%$%.sig%, dirversionmangle=s/-PRE/~pre/;s/-RC/~rc/" \ http://tmrc.mit.edu/mirror/twisted/Twisted/@ANY_VERSION@/ \ Twisted-@ANY_VERSION@@ARCHIVE_EXT@
Hier sollte die Website unter folgender URL erreichbar sein:
http://tmrc.mit.edu/mirror/twisted/Twisted/
Hier wird die Regel dirversionmangle benutzt, um die Sortierreihenfolge der Verzeichnisnamen in die Normalform zu bringen.
Für die blanke HTTP-Site, auf der Sie direkt die Archivdateinamen sehen können, ist die normale Watch-Datei:
version=4 opts="pgpsigurlmangle=s%$%.sig%" \ http://www.cpan.org/modules/by-module/Text/ \ Text-CSV_XS-@ANY_VERSION@@ARCHIVE_EXT@
Dies kann in einer alternativen Kurzform neu geschrieben werden, die mit einer einzelnen Zeichenkette URL und Dateiname abdeckt:
version=4 opts="pgpsigurlmangle=s%$%.sig%" \ http://www.cpan.org/modules/by-module/Text/Text-CSV_XS-@ANY_VERSION@@ARCHIVE_EXT@
In version=4 werden zu Beginn vorhandene Leerräume weggelassen. Daher kann diese alternative Kurzform auch wie folgt geschrieben werden:
version=4 opts="pgpsigurlmangle=s%$%.sig%" \ http://www.cpan.org/modules/by-module/Text/\ Text-CSV_XS-@ANY_VERSION@@ARCHIVE_EXT@
Bitte beachten Sie den feinen Unterschied eines Leerzeichens vor dem abschließenden \ zwischen den ersten und letzten Beispielen.
Für eine Site mit komischen Versionsnummern werden die eingeklammerten Gruppen mit einem . (Punkt) verbunden, um eine saubere Versionsnummer zu erstellen.
version=4 http://www.site.com/pub/foobar/foobar_v(\d+)_(\d+)@ARCHIVE_EXT@
Der Ursprungsautorenteil der Debian-Versionsnummer kann verarbeitet werden, um anzuzeigen, dass das Quellpaket zum Entfernen von Nicht-DFSG-Dateien neu gepackt wurde:
version=4 opts="dversionmangle=s/\+dfsg\d*$//,repacksuffix=+dfsg" \ http://some.site.org/some/path/foobar-@ANY_VERSION@@ARCHIVE_EXT@
Siehe "BEISPIELE FÜR COPYRIGHT-DATEIEN"
Der Tarball-Dateiname der Ursprungsautoren wird gefunden, indem der letzte Bestandteil der URL genommen und alles nach »?« oder »#« entfernt wird.
Falls dies nicht ihren Bedürfnissen entspricht, benutzen Sie filenamemangle. <A href="http://foo.bar.org/dl/?path=&dl=foo-0.1.1.tar.gz"> könnte zum Beispiel wie folgt gehandhabt werden:
version=4 opts=filenamemangle=s/.*=(.*)/$1/ \ http://foo.bar.org/dl/\?path=&dl=foo-@ANY_VERSION@@ARCHIVE_EXT@
<A href="http://foo.bar.org/dl/?path=&dl_version=0.1.1"> könnte wie folgt gehandhabt werden:
version=4 opts=filenamemangle=s/.*=(.*)/foo-$1\.tar\.gz/ \ http://foo.bar.org/dl/\?path=&dl_version=@ANY_VERSION@
Falls die Href-Zeichenkette mittels Suchmuster keine Version aufweist, kann sie anhand der vollständigen URL mittels filenamemangle ermittelt werden.
version=4 opts=filenamemangle=s&.*/dl/(.*)/foo\.tar\.gz&foo-$1\.tar\.gz& \ http://foo.bar.org/dl/@ANY_VERSION@/ foo.tar.gz
Die Option downloadurlmangle kann benutzt werden, um die URL der Datei zu verarbeiten, die heruntergeladen werden soll. Dies kann nur mit http://-URLs benutzt werden. Dies kann nötig sein, falls der auf der Webseite angegebene Verweis auf irgendeine Weise in einen umgewandelt werden muss, der automatisch funktioniert, zum Beispiel:
version=4 opts=downloadurlmangle=s/prdownload/download/ \ http://developer.berlios.de/project/showfiles.php?group_id=2051 \ http://prdownload.berlios.de/softdevice/vdr-softdevice-@ANY_VERSION@@ARCHIVE_EXT@
Die Option oversionmangle kann benutzt werden, um die Version des Quell-Tarballs (.orig.tar.gz und .orig-bar.tar.gz) zu verarbeiten. +dfsg kann der Version der Ursprungsautoren zum Beispiel wie folgt hinzugefügt werden:
version=4 opts=oversionmangle=s/(.*)/$1+dfsg/ \ http://example.com/~user/release/foo.html \ files/foo-@ANY_VERSION@@ARCHIVE_EXT@ debian opts="component=bar" \ http://example.com/~user/release/foo.html \ files/bar-@ANY_VERSION@@ARCHIVE_EXT@ same
Siehe "BEISPIELE FÜR COPYRIGHT-DATEIEN"
Die Option pagemangle kann benutzt werden, um die heruntergeladene Webseite vor dem Anwenden anderer Regeln zu verarbeiten. Die Nichtstandard-Webseite ohne ordnungsgemäße <a href=" << … >> ">-Einträge kann umgewandelt werden. Falls foo.html zum Beispiel <a bogus=" … "> benutzt, kann dies wie folgt in das Standardseitenformat umgewandelt werden:
version=4 opts=pagemangle="s/<a\s+bogus=/<a href=/g" \ http://example.com/release/foo.html \ files/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
Bitte beachten Sie, dass die Verwendung von g hier jedes Vorkommen ersetzt.
Falls foo.html <Key> … </Key> verwendet, kann dies wie folgt in das Standardseitenformat umgewandelt werden:
version=4 opts="pagemangle=s%<Key>([^<]*)</Key>%<Key><a href="$1">$1</a></Key>%g" \ http://example.com/release/foo.html \ (?:.*)/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
version=4 ftp://ftp.tex.ac.uk/tex-archive/web/c_cpp/cweb/cweb-@ANY_VERSION@@ARCHIVE_EXT@
version=4 ftp://ftp.worldforge.org/pub/worldforge/libs/\ Atlas-C++/transitional/Atlas-C\+\+-@ANY_VERSION@@ARCHIVE_EXT@
Bitte beachten Sie, dass diese URL mit … libs/Atlas-C++/ … verbunden ist. Das erste ++ im Verzeichnispfad wird wörtlich verstanden, während es im Dateinamen durch \ maskiert wird.
Dies ist eine weitere Art, eine Site mit komischen Versionsnummern zu handhaben, diesmal mittels Verarbeiten. (Beachten Sie, dass mehrere Gruppen vor dem Verarbeiten zusammengefügt werden und dass dieses Verarbeiten nur für die Versionsnummer des Basispfads und nicht für die Versionsnummern aller Pfade durchgeführt wird.)
version=4 opts="uversionmangle=s/^/0.0./" \ ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/\ development/Wine-@ANY_VERSION@@ARCHIVE_EXT@
qa.debian.org führt eine Weiterleitung aus, die eine einfachere Form für eine URL von Sourceforge-basierten Projekten bietet. Das nachfolgende Format wird automatisch umgeschrieben, um den Weiterleitungsdienst mit der Watch-Datei zu verwenden:
version=4 https://sf.net/<project>/ <tar-name>-@ANY_VERSION@@ARCHIVE_EXT@
Schreiben Sie die Watch-Datei für audacity wie folgt:
version=4 https://sf.net/audacity/ audacity-minsrc-@ANY_VERSION@@ARCHIVE_EXT@
Bitte beachten Sie, dass Sie auch weiterhin normale Funktionalitäten von uscan benutzen können, um eine Watch-Datei für diese Site einrichten zu können, ohne dabei die Weiterleitung zu verwenden.
version=4 opts="uversionmangle=s/-pre/~pre/, \ filenamemangle=s%(?:.*)audacity-minsrc-(.+)\.tar\.xz/download%\ audacity-$1.tar.xz%" \ http://sourceforge.net/projects/audacity/files/audacity/@ANY_VERSION@/ \ (?:.*)audacity-minsrc-@ANY_VERSION@@ARCHIVE_EXT@/download
% wird hier als Trenner anstelle des vorgegebenen / benutzt.
Für Projekte, die auf GitHub verwaltet werden, können Sie die Markierungs- oder Veröffentlichungsseite benutzen. Die Archiv-URL verwendet nur die Version als Dateiname. Sie können den heruntergeladenen Tarball der Ursprungsautoren mittels filenamemangle in die Vorgabe <Projekt>-<Version>.tar.gz umbenennen:
version=4 opts="filenamemangle=s%(?:.*?)?v?@ANY_VERSION@(@ARCHIVE_EXT@)%@PACKAGE@-$1$2%" \ https://github.com/<user>/<project>/tags \ (?:.*?/)?v?@ANY_VERSION@@ARCHIVE_EXT@
Für Projekte, die auf PyPI basieren, führt pypi.debian.net einen Weiterleitungsdienst aus, der eine einfachere Form der URL ermöglicht. Das nachfolgende Format wird automatisch umgeschrieben, um den Weiterleitungsdienst mit der Watch-Datei zu verwenden:
version=4 https://pypi.python.org/packages/source/<initial>/<project>/ \ <tar-name>-@ANY_VERSION@@ARCHIVE_EXT@
Schreiben Sie die Watch-Datei für cfn-sphere wie folgt:
version=4 https://pypi.python.org/packages/source/c/cfn-sphere/ \ cfn-sphere-@ANY_VERSION@@ARCHIVE_EXT@
Bitte beachten Sie, dass Sie auch weiterhin normale Funktionalitäten von uscan benutzen können, um eine Watch-Datei für diese Site einrichten zu können, ohne dabei die Weiterleitung zu verwenden.
version=4 opts="pgpmode=none" \ https://pypi.python.org/pypi/cfn-sphere/ \ https://pypi.python.org/packages/.*/.*/.*/\ cfn-sphere-@ANY_VERSION@@ARCHIVE_EXT@#.*
Sites, die vom Google-Code-Dienst beherbergt wurden, sollten zu einer anderen Stelle (Github?) migriert worden sein. Bitte halten Sie Ausschau nach einer neueren Site der Ursprungsautoren, falls verfügbar.
npmjs.org-Module werden in JSON-Dateien veröffentlicht. Hier eine Möglichkeit, sie zu lesen:
version=4 opts="searchmode=plain" \ https://registry.npmjs.org/aes-js \ https://registry.npmjs.org/aes-js/-/aes-js-@ANY_VERSION@@ARCHIVE_EXT@
Einige Knotenmodule werden in mehrere kleine Pakete der Ursprungsautoren zerteilt. Hier eine Möglichkeit, sie zu gruppieren:
version=4 opts="searchmode=plain,pgpmode=none" \ https://registry.npmjs.org/mongodb \ https://registry.npmjs.org/mongodb/-/mongodb-@ANY_VERSION@@ARCHIVE_EXT@ group opts="searchmode=plain,pgpmode=none,component=bson" \ https://registry.npmjs.org/bson \ https://registry.npmjs.org/bson/-/bson-@ANY_VERSION@@ARCHIVE_EXT@ group opts="searchmode=plain,pgpmode=none,component=mongodb-core" \ https://registry.npmjs.org/mongodb-core \ https://registry.npmjs.org/mongodb-core/-/mongodb-core-@ANY_VERSION@@ARCHIVE_EXT@ group opts="searchmode=plain,pgpmode=none,component=requireoptional" \ https://registry.npmjs.org/require_optional \ https://registry.npmjs.org/require_optional/-/require_optional-@ANY_VERSION@@ARCHIVE_EXT@ group
Die Paketversion ist dann zusammengesetzt aus den Versionen der Ursprungsautoren, getrennt durch »+~«.
To avoid having a too long version, the "checksum" method can be used. In this case, the main source has to be declared as "group":
version=4 opts="searchmode=plain,pgpmode=none" \ https://registry.npmjs.org/mongodb \ https://registry.npmjs.org/mongodb/-/mongodb-@ANY_VERSION@@ARCHIVE_EXT@ group opts="searchmode=plain,pgpmode=none,component=bson" \ https://registry.npmjs.org/bson \ https://registry.npmjs.org/bson/-/bson-@ANY_VERSION@@ARCHIVE_EXT@ checksum opts="searchmode=plain,pgpmode=none,component=mongodb-core" \ https://registry.npmjs.org/mongodb-core \ https://registry.npmjs.org/mongodb-core/-/mongodb-core-@ANY_VERSION@@ARCHIVE_EXT@ checksum opts="searchmode=plain,pgpmode=none,component=requireoptional" \ https://registry.npmjs.org/require_optional \ https://registry.npmjs.org/require_optional/-/require_optional-@ANY_VERSION@@ARCHIVE_EXT@ checksum
The "checksum" is made up of the separate sum of each number composing the component versions. Following is an example with 3 components whose versions are "1.2.4", "2.0.1" and "10.0", with the main tarball having version "2.0.6":
Main: 2.0.6 Comp1: 1 . 2 . 4 Comp2: 2 . 0 . 1 Comp3: 10 . 0 ================================ Result : 1+2+10 . 2+0+0 . 4+1 Checksum: 13 . 2 . 5 ================================ Final Version: 2.0.6+~cs13.2.5
uscan will also display the original version string before being encoded into the checksum, which can for example be used in a debian/changelog entry to easily follow the changes:
2.0.6+~1.2.4+~2.0.1+~10.0
Note: This feature currently accepts only versions composed of digits and full stops (`.`).
Falls die Ursprungsautoren ihren Code nur über das Git-Depot veröffentlichen und ihr Code keine Web-Schnittstelle hat, um den Veröffentlichungs-Tarball zu bekommen, können Sie uscan mit den Markierungen des Git-Depots benutzen, um die neue Veröffentlichung der Originalautoren nachzuverfolgen und zu paketieren.
version=4 opts="mode=git, gitmode=full, pgpmode=none" \ http://git.ao2.it/tweeper.git \ refs/tags/v@ANY_VERSION@
Bitte beachten Sie, dass »git ls-remote« benutzt wird, um Bezüge zu Markierungen zu bekommen.
Falls eine Markierung v20.5 am neusten ist, lädt das vorhergehende Beispiel spkg-20.5.tar.xz herunter, nachdem das Git-Depot geklont wurde, was für dumme Git-Server notwendig ist.
Falls Markierungen signiert sind, setzen Sie pgpmode=gittag, um sie zu prüfen.
Falls die Ursprungsautoren ihren Code nur über das Git-Depot veröffentlichen und es weder eine Web-Schnittstelle noch Markierungen hat, um den Veröffentlichungs-Tarball zu bekommen, können Sie uscan mit dem HEAD des Git-Depots benutzen, um die neue Veröffentlichung der Ursprungsautoren nachzuverfolgen und mit einer automatisch erstellten Versionszeichenkette zu paketieren.
version=4 opts="mode=git, pgpmode=none" \ https://github.com/Debian/dh-make-golang \ HEAD
Bitte beachten Sie, dass eine lokale oberflächlich mit »git clone --bare --depth=1 …« angelegte Kopie des Git-Depots normalerweise im Zielverzeichnis erstellt wird. uscan erzeugt standardmäßig die neue Version der Ursprungsautoren mit »git log --date=format:%Y%m%d --pretty=0.0~git%cd.%h« auf dieser lokalen Kopie des Depots.
Das Erzeugen der Versionszeichenkette der Ursprungsautoren kann nach Ihrem Geschmack angepasst werden, indem Sie die den opts-Argumenten die Optionen pretty und date hinzufügen.
If the upstream only publishes its code via the Subversion repository and its code has no web interface to obtain the release tarball, you can use uscan with the tags of the Subversion repository to track and package the new upstream release.
version=4 opts="mode=svn, pgpmode=none" \ svn://svn.code.sf.net/p/jmol/code/tags/ \ @ANY_VERSION@\/
If the upstream only publishes its code via the Subversion repository and its code has no web interface to obtain the release tarball, you can use uscan to get the most recent source of a subtree in the repository with an automatically generated version string.
version=4 opts="mode=svn, pgpmode=none" \ svn://svn.code.sf.net/p/jmol/code/trunk/ \ HEAD
By default, uscan generates the new upstream version by appending the revision number to "0.0~svn". This can later be changed using uversionmangle.
Es folgt ein Beispiel für die Datei debian/copyright die ein automatisches erneutes Packen des Tarballs der Ursprungsautoren in <Quellpaket>_<Originalversion>.orig.tar.gz anstößt (In debian/copyright sind die Absätze Files-Excluded und Files-Excluded-Komponente ein Teil des ersten Abschnitts und dort ist eine leere Zeile vor den folgenden Abschnitten, die Files und andere Absätze enthalten.):
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Files-Excluded: exclude-this exclude-dir */exclude-dir .* */js/jquery.js Files: * Copyright: … …
Hier ein weiteres Beispiel für die debian/copyright-Datei, die ein automatisches erneutes Packen der Tarbälle mit mehreren Paketen (MUT) der Ursprungsautoren in <Quellpaket>_<Originalversion>.orig.tar.gz und <Quellpaket>_<Originalversion>.orig-bar.tar.gz anstößt.
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Files-Excluded: exclude-this exclude-dir */exclude-dir .* */js/jquery.js Files-Excluded-bar: exclude-this exclude-dir */exclude-dir .* */js/jquery.js Files: * Copyright: … …
Siehe mk-origtargz>(1).
Nehmen wir einmal an, dass »Uscan-Testschlüssel (kein Geheimnis) <none@debian.org> der Ursprungsautoren Pakete mit einem geheimen OpenPGP-Schlüssel signiert und den zugehörigen öffentlichen OpenPGP-Schlüssel veröffentlicht. Dieser öffentliche OpenPGP-Schlüssel kann mittels der hexadezimalen Form auf drei Arten identifiziert werden.
In Anbetracht, dass es Kollisionsangriffe auf die kurze Schlüsselkennung gibt, wird empfohlen, die lange Schlüsselkennung zum Empfang von Schlüsseln des öffentlichen Schlüsselservers zu verwenden. Sie müssen den heruntergeladenen OpenPGP-Schlüssel mittels seines vollständigen und Ihnen bereits bekanntenFingerabdruckwerts prüfen, um festzustellen, ob es der vertrauenswürdige ist.
Die ASCII-Hülle der Schlüsselbunddatei debian/upstream/signing-key.asc kann mit dem Befehl gpg (oder gpg2) wie folgt erstellt werden:
$ gpg --recv-keys "C77E2D6872543FAF" ... $ gpg --finger "C77E2D6872543FAF" pub 4096R/72543FAF 2015-09-02 Key fingerprint = CF21 8F0E 7EAB F584 B7E2 0402 C77E 2D68 7254 3FAF uid uscan test key (no secret) <none@debian.org> sub 4096R/52C6ED39 2015-09-02 $ cd path/to/<upkg>-<uversion> $ mkdir -p debian/upstream $ gpg --export --export-options export-minimal --armor \ 'CF21 8F0E 7EAB F584 B7E2 0402 C77E 2D68 7254 3FAF' \ >debian/upstream/signing-key.asc
Die binären Schlüsselbunddateien debian/upstream/signing-key.pgp und debian/upstream-signing-key.pgp werden immer noch unterstützt, sind jedoch missbilligt.
Falls eine Gruppe von Entwicklern das Paket signiert, müssen Sie die Fingerabdrücke von ihnen allen im Argument für gpg --export … aufführen, damit der Schlüsselbund alle ihre OpenPGP-Schlüssel enthält.
Manchmal fragen Sie sich vielleicht, wer die Signaturdatei erstellt hat. Sie können die öffentliche Schlüsselkennung erhalten, um die abgetrennte Signaturdatei foo-2.0.tar.gz.asc zu erstellen, indem Sie gpg wie folgt ausführen:
$ gpg -vv foo-2.0.tar.gz.asc gpg: armor: BEGIN PGP SIGNATURE gpg: armor header: Version: GnuPG v1 :signature packet: algo 1, keyid C77E2D6872543FAF version 4, created 1445177469, md5len 0, sigclass 0x00 digest algo 2, begin of digest 7a c7 hashed subpkt 2 len 4 (sig created 2015-10-18) subpkt 16 len 8 (issuer key ID C77E2D6872543FAF) data: [4091 bits] gpg: assuming signed data in `foo-2.0.tar.gz' gpg: Signature made Sun 18 Oct 2015 11:11:09 PM JST using RSA key ID 72543FAF ...
Für die einfache Benutzung benötigt uscan diese Optionen nicht.
Vorher heruntergeladene Tarbälle können verwendet werden.
ändert die Voreinstellung in --skip-signature.
ändert die Voreinstellung in --no-download und --skip-signature.
Wenn uscan mit dem Ziel ausgeführt wird, den Status des Pakets der Ursprungsautoren in eine sicherheitsbewusste Umgebung aufzunehmen, stellen Sie sicher, dass Sie diese Option verwenden.
The above is true not only for the simple uscan run in the single source tree but also for the advanced scanning uscan run with subdirectories holding multiple source trees.
Eine Ausnahme liegt vor, wenn --watchfile und --package zusammen benutzt werden. In diesem Fall werden das interne aktuelle Ausführungsverzeichnis von uscan und das Standardzielverzeichnis auf das aktuelle Verzeichnis ., von dem uscan gestartet wird, gesetzt. Das Standardzielverzeichnis kann auch hier durch Setzen der Option --destdir außer Kraft gesetzt werden.
Eine Ausnahme liegt vor, wenn --watchfile und --package zusammen benutzt werden. uscan kann von überall aufgerufen werden und das interne Ausführungsverzeichnis von uscan sowie das Standardzielverzeichnis werden auf das aktuelle Verzeichnis . gesetzt, von wo uscan gestartet wird.
Weitere Einzelheiten erfahren Sie in der Erläuterung von --destdir.
uscan --http-header https://example.org@My-Token=qwertyuiop
Security:
| --http-header value | Good for | Never used | +------------------------------------+-----------------------------+------------+ | https://example.org.com@Hdr=Value | https://example.org.com/... | | | https://example.org.com/@Hdr=Value | | X | | https://e.com:1879@Hdr=Value | https://e.com:1879/... | | | https://e.com:1879/dir@Hdr=Value | https://e.com:1879/dir/... | | | https://e.com:1879/dir/@Hdr=Value | | X |
uscan akzeptiert außerdem die folgenden Optionen und leitet sie an mk-origtargz weiter:
The unzip package must be installed in order to repack zip and jar archives, the mozilla-devscripts package must be installed to repack xpi archives, the xz-utils package must be installed to repack lzma or xz tar archives, and zstd must be installed to repack zstd archives.
Für den einfachen Gebrauch benötigt uscan das Setzen dieser Konfigurationsvariablen nicht.
Die beiden Konfigurationsdateien /etc/devscripts.conf und ~/.devscripts werden durch eine Shell in dieser Reihenfolge eingelesen, um Konfigurationsvariablen zu setzen. Diese können durch Befehlszeilenoptionen außer Kraft gesetzt werden. Zu diesem Zweck werden Umgebungsvariablen ignoriert. Falls die erste angegebene Befehlszeilenoption --noconf ist, werden diese Dateien nicht gelesen. Die derzeit bekannten Variablen sind:
Der Exit-Status gibt einige Hinweise, ob eine neuere Version gefunden wurde oder nicht; es wird geraten, die Ausgabe zu lesen, um genau zu bestimmen, was geschehen ist und ob irgendwelche Warnungen zu beachten sind.
uscan hat viele weitere verbesserte Funktionalitäten, die im obigen Abschnitt der Einfachheit halber übersprungen wurden. Schauen wir uns ihre Glanzlicher an.
uscan kann mit Pfad als Argument ausgeführt werden, um das Startverzeichnis der Suche vom aktuellen Verzeichnis auf Pfad zu ändern.
Falls Sie nicht genau wissen, was im Hintergrund geschieht, aktivieren Sie bitte die Option --verbose. Falls dies nicht ausreicht, aktivieren Sie die Option --debug, um alle internen Aktivitäten zu sehen.
Weitere Variationen finden Sie unter BEFEHLZEILENOPTIONEN und DEVSCRIPT-KONFIGURATIONSVARIABLEN.
Der optionale Parameter Skript in debian/watch bedeutet, dass Skript mit Optionen nach der Verarbeitung dieser Zeile ausgeführt wird, falls angegeben.
Wie uscan das benutzerdefinierte Skript aufruft, finden Sie unter "CHRONIK UND UPGRADES DURCHFÜHREN".
Um die Kompatibilität mit anderen Werkzeugen wie git-buildpackage zu wahren, ist es vermutlich keine gute Idee, benutzerdefinierte Skripte mit zufälligem Verhalten zu erstellen. Im Allgemeinen ist uupdate die beste Wahl für das nichtnative Paket und benutzerdefinierte Skripte, falls sie erstellt wurden, sollten sich wie uupdate verhalten. Einen möglichen Anwendungsfall finden Sie beispielsweise unter <http://bugs.debian.org/748474>.
Einige populären Websites haben ihre Seitenstruktur geändert, was Wartungsprobleme mit der Watch-Datei verursachte. Es gibt einige Weiterleitungsdienste, die erstellt wurden, um die Wartung der Watch-Datei zu erleichtern. Derzeit leitet uscan URL-Anfragen automatisch an die folgenden URLs weiter, um diese Situation zu bewältigen.
Ähnlich wie viele andere Skripte im Paket devscripts, erkundet uscan die abgefragten Verzeichnisbäume nach debian/changelog- und debian/watch-Dateien. Als eine Schutzmaßnahme gegen verirrte Dateien, die potenziell Probleme bereiten und um die Leistung zu steigern, wird es den Namen des übergeordneten Verzeichnisses untersuchen, sobald es die debian/changelog-Datei findet, und prüfen, ob der Verzeichnisname dem Paketnamen entspricht. Es wird nur versuchen, neuere Versionen des Pakets herunterzuladen und dann jede angefragte Aktion durchführen, falls der Verzeichnisname zum Paketnamen passt. Wie dies genau geschieht, wird durch die beiden Konfigurationsdateivariablen DEVSCRIPTS_CHECK_DIRNAME_LEVEL und DEVSCRIPTS_CHECK_DIRNAME_REGEX sowie ihren entsprechenden Befehlszeilenoptionen --check-dirname-level und --check-dirname-regex geregelt.
DEVSCRIPTS_CHECK_DIRNAME_LEVEL kann die folgenden Werte annehmen:
Der Verzeichnisname wird geprüft, indem getestet wird, ob der aktuelle Verzeichnisname (wie er durch pwd(1) bestimmt wurde) zum regulären Ausdruck passt, der durch die Konfigurationsdateioption DEVSCRIPTS_CHECK_DIRNAME_REGEX oder die Befehlszeilenoption --check-dirname-regex regulärer_Ausdruck angegeben wurde. Hierbei ist regulärer_Ausdruck ein regulärer Perl-Ausdruck (siehe perlre(3perl)), der an den Anfang und das Ende verankert wird. Falls regulärer_Ausdruck ein / enthält, muss er auf den vollständigen Verzeichnispfad passen. Falls nicht, dann muss er auf den vollständigen Verzeichnisnamen passen. Falls regulärer_Ausdruck die Zeichenkette Paket beinhaltet, wird dies durch den Namen des Quellpakets ersetzt, wie er aus debian/changelog bestimmt wird. Der vorgegebene Wert für den regulären_Ausdruck ist: Paket(-.+)?, daher entspricht er Verzeichnisnamen wie Paket und Paket-Version.
Dieser Abschnitt beschreibt kurz die rückwärtsinkompatiblen watch-Dateifunktionalitäten, die in jeder watch-Dateiversion hinzugefügt wurden, und die erste Version des devscripts-Pakets, das sie verstand.
Falls Sie ein Upgrade von Version 2 durchführen, besteht die Hauptinkomatibilität, wenn Sie mehrere Gruppen im Musterteil haben; während nur die erste in Version 2 benutzt würde, werden sie alle in Version 3 verwendet. Um dieses Verhalten zu vermeiden, ändern Sie die Nichtversionsnummergruppen so, dass sie (?: … )- anstelle von einfachen ( … )-Gruppen sind.
Die Syntax der Watch-Datei wurde gelockert, um zur Lesbarkeit den Umgang mit mehr Leerräumen zu erlauben.
Falls Sie ein benutzerdefiniertes Skript anstelle von uupdate haben, stoßen Sie möglicherweise ebenfalls beim Aktualisieren von Version 3 auf Probleme.
Die Beschränkung für --dehs wird aufgehoben, indem andere Ausgaben auf die Standardfehlerausgabe umgeleitet werden, wenn sie aktiviert ist.
dpkg(1), mk-origtargz(1), perlre(1), uupdate(1), devscripts.conf(5)
Die Originalversion wurde von Christoph Lameter <clameter@debian.org> geschrieben. Bedeutende Verbesserungen, Änderungen und Fehlerbehebungen wurden von Julian Gilbey <jdg@debian.org> vorgenommen. Piotr Roszatycki <dexter@debian.org> fügte HTTP-Unterstützung hinzu. Das Programm wurde neu in Perl von Julian Gilbey geschrieben. Xavier Guimard hat es mittels Moo in objektorientiertes Perl umgewandelt.
2023-10-20 | Debian-Hilfswerkzeuge |