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.

•   If requested, uscan invokes an update script. This may be uupdate to create the Debianized source tree ../<spkg>-<oversion>/* or a custom script.

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 described in debian-watch(5) manpage. Old formats (version 1 to 4) are described in debian-watch-4(5) manpage.

To convert a version <= 4 file into the last version, simply use:

  uscan --update-watchfile

and then check the result.

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.

    replace:
          uscan --conf-file test.conf --verbose

    add:
          uscan --conf-file +test.conf --verbose

        If one --conf-file has no "+", default configuration files are ignored.

--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
After processing other stuff uscan will run script if requested in debian/watch. Otherwise there will be no extra action.

A typical script is uupdate for non-native packages, but a custom script may be used. For compatibility with other tools such as git-buildpackage, it may not be wise to create custom scripts with random behavior. Custom scripts, if created, should behave as if uupdate. For possible use case, see <http://bugs.debian.org/748474> as an example.

For info on how to request this script, please see debian-watch(5) for recommended version 5 format or debian-watch-4(5) for old version 4 format.

See "HISTORY AND UPGRADING" for how uscan invokes a custom script (or uupdate).

  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.

•   <http://sf.net>

•   <http://pypi.python.org>

  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), debian-watch(5), debian-watch-4(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.