- bookworm 2.23.4+deb12u2
- bookworm-backports 2.25.15~bpo12+1
- testing 2.25.15
- unstable 2.25.15
- experimental 2.25.17
USCAN.DE(1) | USCAN.DE(1) |
BEZEICHNUNG¶
uscan - durchsucht/beobachtet Quellen der Ursprungsautoren nach neuen Veröffentlichungen der Software
ÜBERSICHT¶
uscan [Optionen] [Pfad]
BESCHREIBUNG¶
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:
- uscan liest den ersten Eintrag in debian/changelog, um den Namen des Quellpakets <Quellpaket> und die neueste Version der Ursprungsautoren zu bestimmen.
- uscan verarbeitet die Watch-Zeilen debian/watch von oben nach unten in einem einzigen Durchlauf.
- uscan lädt eine Web-Seite von der in debian/watch angegebenen URL herunter.
- uscan extrahiert Hrefs, die auf Tarbälle der Ursprungsautoren von der durch Suchmuster in debian/watch angegebenen Web-Seite zeigen.
- uscan lädt den Tarball der Ursprungsautoren mit der höchsten Version, die neuer ist, als die letzte Version der Ursprungsautoren, herunter.
- uscan speichert den heruntergeladenen Tarball ins übergeordnete ../ Verzeichnis: ../<Ursprungsautorenpaket>-<neueste-Ursprungsautorenversion>.tar.gz
- uscan ruft mk-origtargz auf, um den Quell-Tarball zu erstellen: ../<Quellpaket>_<Originalversion>.orig.tar.gz
- •
- Bei einem Paket aus mehreren Tarbällen der Ursprungsautoren (MUT) wird der untergeordnete Tarball der Ursprungsautoren stattdessen ../<Quellpaket>_<Originalversion>.orig-<Komponente>.tar.gz genannt.
- •
- Dies wird wiederholt, bis alle Zeilen in debian/watch verarbeitet wurden.
- •
- uscan ruft uupdate auf, um den an Debian angepassten Quellverzeichnisbaum zu erstellen: ../<Quellpaket>-<Originalversion>/*
Bitte beachten Sie Folgendes:
- For simplicity, the compression method used in examples is gzip with .gz suffix. Other methods such as xz, bzip2, and lzma with corresponding xz, bz2 and lzma suffixes may also be used.
- Since version 4 of debian/watch, uscan enables handling of multiple upstream tarball (MUT) packages but this is a rare case for Debian packaging. For a single upstream tarball package, there is only one watch line and no ../<spkg>_<oversion>.orig-<component>.tar.gz.
- uscan erzeugt mit der Option --verbose einen für Menschen lesbaren Bericht über die Ausführung von uscan.
- uscan erzeugt mit der Option --debug einen für Menschen lesbaren Bericht über die Ausführung von uscan einschließlich der Status interner Variablen.
- uscan with the --extra-debug option produces a human readable report of uscan's execution including internal variable states and remote content during "search" step.
- uscan erzeugt mit der Option --dehs einen Bericht über den Paketstatus der Ursprungsautoren im XML-Format für andere Programme, wie das Debian External Health System.
- Der vorrangige Zweck von uscan ist es, festzustellen, ob die neueste Version des Tarballs der Ursprungsautoren verwendet wird oder nicht und den neuesten Tarball der Ursprungsautoren herunterzuladen. Die Ordnung der Versionen wird durch dpkg --compare-versions festgelegt.
- uscan beschränkt mit der Option --safe seine Funktionalität auf seinen vorrangigen Zweck. Sowohl das erneute Packen heruntergeladener Dateien als auch das Aktualisieren des Quellverzeichnisbaums werden übersprungen, um die Ausführung unsicherer Skripte zu vermeiden. Dies ändert außerdem die Voreinstellung auf --no-download und --skip-signature.
FORMAT DER WATCH-DATEI¶
The current debian/watch format is describe in debian-watch(5) manpage. Old formats (version 1 to 4) are described in debian-watch-4(5) manpage.
BEISPIELE FÜR COPYRIGHT-DATEIEN¶
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: ... ...
The debian/copyright file may also contain Files-Included and Files-Included-component stanzas which include files that were previously excluded. This is useful to exclude most but not all files in a directory:
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Files-Excluded: vendor-dir Files-Included: vendor-dir/directory/to/keep vendor-dir/*/file-to-keep Files: * Copyright: ... ...
Siehe mk-origtargz>(1).
BEISPIELE FÜR SCHLÜSSELBUNDDATEIEN¶
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.
- Der Fingerabdruck als die 20 Byte Daten, die vom öffentlichen OpenPGP-Schlüssel berechnet wurden. Z.B.»CF21 8F0E 7EAB F584 B7E2 0402 C77E 2D68 7254 3FAF«
- Die lange Schlüsselkennung als die letzten acht Byte des Fingerabdrucks. Z.B. »C77E2D6872543FAF«
- Die kurze Schlüsselkennung als die letzten vier Byte des Fingerabdrucks. Z.B. »72543FAF«
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.
The armored keyring file debian/upstream/signing-key.asc can be created by using the gpg command as follows.
$ 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 ...
BEFEHLZEILENOPTIONEN¶
Für die einfache Benutzung benötigt uscan diese Optionen nicht.
- --conffile, --conf-file
- Standard-Konfigurationsdateien hinzufügen oder ersetzen ("/etc/devscripts.conf" und "~/.devscripts"). Dies kann nur als erste auf der Befehlszeile angegebene Option benutzt werden.
- --no-conf, --noconf
- liest keine Konfigurationsdateien. Dies kann nur als erste auf der Befehlszeile angegebene Option benutzt werden.
- --no-verbose
- gibt keine detaillierten Informationen aus. (Voreinstellung)
- --verbose, -v
- zeigt detaillierte Informationen an.
- --debug, -vv
- Report verbose information and some internal state values.
- --extra-debug, -vvv
- berichtet detaillierte Informationen einschließlich heruntergeladener Webseiten als verarbeitet zur Fehlersuche auf die Standardfehlerausgabe.
- --dehs
- sendet Ausgaben im DEHS-Stil (XML-Typ) an die Standardausgabe, während alle anderen Ausgaben von Uscan an die Standardfehlerausgabe gesandt werden.
- --no-dehs
- verwendet nur das traditionelle Uscan-Ausgabeformat.(Voreinstellung)
- --download, -d
- lädt die neue Veröffentlichung der Ursprungsautoren herunter. (Voreinstellung)
- --force-download, -dd
- lädt die neue Veröffentlichung der Ursprungsautoren sogar dann herunter, wenn sie aktuell ist (wird jedoch nicht die lokale Datei überschreiben).
- --overwrite-download, -ddd
- lädt die neue Veröffentlichung der Ursprungsautoren sogar dann herunter, wenn sie aktuell ist (kann die lokale Datei überschreiben).
- --no-download, --nodownload
- lädt die Informationen nicht herunter und meldet sie nicht.
Vorher heruntergeladene Tarbälle können verwendet werden.
ändert die Voreinstellung in --skip-signature.
- --signature
- lädt die Signatur herunter. (Voreinstellung)
- --no-signature
- lädt die Signatur nicht herunter, prüft jedoch, ob sie bereits heruntergeladen wurde.
- --skip-signature
- belästigt weder mit dem Herunterladen noch mit dem Prüfen der Signatur.
- --safe, --report
- vermeidet die Ausführung unsicherer Skripte, indem sowohl das
erneute Packen des heruntergeladenen Pakets als auch das Aktualisieren des
neuen Quellcodeverzeichnisbaums übersprungen wird.
ä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.
- --report-status
- Dies entspricht dem Setzen der Option »--verbose --safe«
- --download-version Version
- gibt die Version an, zu der die Veröffentlichung der Ursprungsautoren passen muss, um anstelle der Veröffentlichung mit der höchsten Versionsnummer berücksichtigt zu werden (eine bestmöglich erfüllte Funktionalität).
- --download-debversion version
- gibt die Debian-Paketversion an, um die entsprechende Veröffentlichungsversion der Ursprungsautoren herunterzuladen. Die Regeln dversionmangle und uversionmangle werden berücksichtigt (eine bestmöglich erfüllte Funktionalität).
- --download-current-version
- lädt die aktuelle paketierte Version herunter (eine bestmöglich erfüllte Funktionalität).
- --check-dirname-level N
- Die Erklärung dieser Option finden Sie im nachfolgenden Abschnitt Prüfung von Verzeichnisnamen.
- --check-dirname-regex regulärer_Ausdruck
- Die Erklärung dieser Option finden Sie im nachfolgenden Abschnitt Prüfung von Verzeichnisnamen.
- --destdir Pfad Normalerweise ändert uscan sein internes aktuelles Verzeichnis auf das Quellverzeichnis des Pakets, in dem debian/ liegt. Dann wird das Zielverzeichnis zum Herunterladen des Tarballs und anderer Dateien auf das übergeordnete Verzeichnis ../ dieses internen aktuellen Verzeichnisses gesetzt.
- Dieses Standardzielverzeichnis kann durch Setzen der Option
--destdir auf einen bestimmten Pfad außer Kraft
gesetzt werden. Falls dieser Pfad relativ ist, wird das
Zielverzeichnis relativ zum internen aktuellen Verzeichnis bestimmt, in
dem uscan ausgeführt wird. Falls dieser Pfad absolut
ist, wird das Zielverzeichnis ungeachtet des internen aktuellen
Verzeichnis, in dem uscan ausgeführt wird, auf Pfad
gesetzt.
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.
- --package Paket
- gibt den Namen des zu prüfenden Pakets an, anstatt debian/changelog zu untersuchen; dies erfordert die Optionen --upstream-version (es sei denn, in der Datei watch wurde eine Version angegeben) sowie --watchfile. Zudem wird kein Verzeichnis durchsucht und es wird nichts heruntergeladen. Diese Option setzt automatisch --no-download and --skip-signature. Sie ist wahrscheinlich in Verbindung mit dem DEHS-System (und --dehs) an nützlichsten.
- --upstream-version Version_der_Ursprungsautoren
- gibt die aktuelle Version der Ursprungsautoren an, statt die debian/watch- oder debian/changelog-Datei zu untersuchen, um sie zu bestimmen. Dies wird ignoriert, falls ein Verzeichnis-Scan durchgeführt und mehr als eine debian/watch-Datei gefunden wird.
- --vcs-export-uncompressed
- Disable compression of tarballs exported from a version control system (Git or Subversion). This takes more space, but saves time if mk-origtargz must repack the tarball to exclude files. It forces repacking of all exported tarballs.
- --watchfile watch-Datei
- gibt die Watch-Datei an, statt eine Verzeichnisdurchsuchung
durchzuführen, um sie zu bestimmen. Falls diese Option ohne
--package benutzt wird, muss uscan aus dem
Debian-Paketquellenverzeichnisbaum aufgerufen werden (so dass
debian/changelog einfach beim Hochlaufen des Verzeichnisbaums
gefunden werden kann).
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.
- --bare
- deaktiviert alle Site-spezifischen Codes für Sonderfälle, die URL-Weiterleitungen und Änderungen des Seiteninhalts durchführen.
- --http-header
- Add specified header in HTTP requests for matching url. This option can be
used more than one time, values must be in the form
"baseUrl@Name=value. Example:
uscan --http-header https://example.org@My-Token=qwertyuiop
Security:
- The given baseUrl must exactly match the base url before '/'. Examples:
-
| --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 |
- It is strongly recommended to not use this feature to pass a secret token over unciphered connection (http://)
- You can use "USCAN_HTTP_HEADER" variable (in "~/.devscripts") to hide secret token from scripts
- --no-exclusion
- schließt Dateien, die in debian/copyright im Feld Files-Excluded erwähnt wurden, nicht automatisch aus.
- --no-symlink
- benennt den Original-Tarball weder um, noch wird er neu gepackt.
- --timeout N
- setzt die Zeitüberschreitung auf N Sekunden (Voreinstellung 20 Sekunden).
- --user-agent, --useragent
- setzt die vorgegebene User-Agent-Kopfzeile außer Kraft.
- --help
- gibt eine kurze Gebrauchsinformation.
- --version
- zeigt Versionsinformationen.
uscan akzeptiert außerdem die folgenden Optionen und leitet sie an mk-origtargz weiter:
- --symlink
- erstellt symbolische orig.tar.gz-Verweise (mit passender Endung) auf die heruntergeladenen Dateien. (Dies ist das Standardverhalten.)
- --copy
- kopiert die heruntergeladenen Dateien, statt, wie oben beschrieben, symbolische Verweise darauf zu erstellen.
- --rename
- benennt die heruntergeladenen Dateien um, statt, wie oben beschrieben, symbolische Verweise darauf zu erstellen.
- --repack
- After having downloaded an lzma tar, xz tar, bzip tar, gz tar, lz tar,
zip, jar, xpi, zstd archive, repack it to the specified compression (see
--compression).
The unzip package must be installed in order to repack zip, jar, and xpi archives, the xz-utils package must be installed to repack lzma or xz tar archives, zstd must be installed to repack zstd archives, and lzip must be installed to repack lz tar archives.
- --compression [ gzip | bzip2 | lzma | xz ]
- Falls die Quellen der Originalautoren neu gepackt wurden (entweder weil die Option --repack angegeben wurde oder debian/copyright das Feld Files-Excluded enthält), ist es möglich, die Komprimierungsmethode über diesen Parameter zu steuern. Voreinstellung ist für normale Tarbälle gzip und xz für Tarbälle, die direkt aus dem Git-Depot erstellt werden.
- --copyright-file Copyright-Datei
- schließt Dateien aus, die in Files-Excluded in der angegebenen Copyright-Datei erwähnt werden. Dies ist nützlich, wenn uscan nicht innerhalb eines Quellpaketverzeichnisses ausgeführt wird.
DEVSCRIPT-KONFIGURATIONSVARIABLEN¶
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:
- USCAN_DOWNLOAD
- nur Herunterladen oder melden:
- no: entspricht --no-download, neuere Dateien der Ursprungsautoren werden nicht heruntergeladen.
- yes: entspricht --download, neuere Dateien der Ursprungsautoren werden heruntergeladen. Dies ist das Standardverhalten.
- Siehe auch --force-download und --overwrite-download.
- USCAN_SAFE
- Falls dies auf yes gesetzt ist, verhindert uscan die Ausführung unsicherer Skripte, indem das erneute Packen heruntergeladener Pakete als auch das Aktualisieren des Quellverzeichnisbaums übersprungen werden. Dies entspricht den --safe-Optionen. Außerdem setzt dies die Voreinstellung auf --no-download und --skip-signature.
- USCAN_TIMEOUT
- Falls dies auf eine Zahl N gesetzt ist, wird die Zeitüberschreitung auf N Sekunden eingestellt. Dies entspricht der Option --timeout.
- USCAN_SYMLINK
- Falls dies auf »no« gesetzt ist, wird kein symbolischer Verweis für Paket_Version.orig.tar.{gz|bz2|lzma|xz} erstellt (entspricht der Option --no-symlink). Falls es auf yes oder symlink gesetzt ist, dann werden symbolische Verweise erstellt. Falls es auf rename gesetzt ist, werden die Dateien umbenannt (entspricht der Option --rename).
- USCAN_DEHS_OUTPUT
- Falls dies auf yes gesetzt ist, wird eine Ausgabe im DEHS-Stil verwendet. Dies entspricht der Option --dehs.
- USCAN_VERBOSE
- Falls dies auf yes gesetzt ist, wird eine detaillierte Ausgabe erzeugt. Dies entspricht der Option --verbose.
- USCAN_USER_AGENT
- Falls gesetzt, wird die angegebene User-Agent-Zeichenkette anstelle der vorgegebenen benutzt. Dies entspricht der Option --user-agent.
- USCAN_DESTDIR
- Falls gesetzt, werden heruntergeladene Dateien in diesem Verzeichnis abgelegt. Dies entspricht der Option --destdir.
- USCAN_REPACK
- If this is set to yes, then after having downloaded a bzip tar, lzma tar, xz tar, zip or zstd archive, uscan will repack it to the specified compression (see --compression). This is equivalent to the --repack option.
- USCAN_EXCLUSION
- Falls dies auf »no« gesetzt ist, werden im Feld Files-Excluded von debian/copyright erwähnte Dateien ignoriert und es wird nicht versucht, Dateien auszuschließen. Dies entspricht der Option --no-exclusion.
- USCAN_HTTP_HEADER
- If set, the specified http header will be used if URL match. This is equivalent to --http-header option.
- USCAN_VCS_EXPORT_UNCOMPRESSED
- If this is set to yes, tarballs exported from a version control system will not be compressed. This is equivalent to the --vcs-export-uncompressed option.
EXIT-STATUS¶
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.
- 0
- Es wurde entweder --help oder --version benutzt oder es wurde für eine untersuchte watch-Datei eine neuere Version der Ursprungsautoren gefunden.
- 1
- Es wurde für keine der untersuchten watch-Dateien eine neuere Version der Ursprungsautoren gefunden.
FORTGESCHRITTENE FUNKTIONALITÄTEN¶
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.
Benutzerdefiniertes Skript¶
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>.
URL-Umleitung¶
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.
Prüfung von Verzeichnisnamen¶
Ä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:
- 0
- prüft den Verzeichnisnamen nie.
- 1
- prüft nur den Verzeichnisnamen, falls bei der Suche nach debian/changelog das Verzeichnis geändert werden muss, das heißt, das Verzeichnis, das debian/changelog enthält, nicht das Verzeichnis ist, aus dem uscan aufgerufen wurde. Dies ist das Standardverhalten.
- 2
- prüft den Verzeichnisnamen immer.
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.
CHRONIK UND UPGRADES DURCHFÜHREN¶
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.
- Vorversion 2
- Zu jener Zeit war die watch-Dateisyntax signifikant anders. Verwenden Sie sie nicht. Falls Sie ein Upgrade von einer watch-Datei einer Version vor 2 durchführen, wird Ihnen empfohlen, diese Handbuchseite zu lesen und von Grund auf neu zu beginnen.
- Version 2
- devscripts version 2.6.90: The first incarnation of the current style of watch files. This version is also deprecated and will be rejected after the Debian 11 release.
- Version 3
- devscripts-Version 2.8.12 führte das Folgende ein: korrekte
Handhabung von Sonderzeichen regulärer Ausdrücke im
Pfadteil, Verzeichnis-/Pfadmusterabgleich, Versionsnummern in mehreren
Teilen, Versionsnummerverarbeitung. Neuere Versionen haben außerden
URL-Verarbeitung eingeführt.
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.
- uscan ruft das benutzerdefinierte Skript als »Skript --upstream-version Version ../Quellpaket_Version.orig.tar.gz« auf.
- uscan ruft das Standard-uupdate als »uupdate --no-symlink --upstream-version Version ../Quellpaket_Version.orig.tar.gz auf.
- Version 4
- devscripts-Version 2.15.10: die erste Verkörperung der
watch-Datei, die mehrere Tarbälle der Ursprungsautoren
unterstützt.
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.
- uscan ruft das benutzerdefinierte Skript als »Skript --upstream-version Version« auf.
- uscan ruft das Standard-uupdate als »uupdate --find --upstream-version Version« auf.
Die Beschränkung für --dehs wird aufgehoben, indem andere Ausgaben auf die Standardfehlerausgabe umgeleitet werden, wenn sie aktiviert ist.
SIEHE AUCH¶
dpkg(1), mk-origtargz(1), perlre(1), uupdate(1), devscripts.conf(5)
AUTOR¶
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.
2025-07-28 | Debian-Hilfswerkzeuge |