uscan(1) durchsucht/beobachtet Quellen der Ursprungsautoren nach neuen

ÜBERSICHT

uscan [Optionen] [Pfad-zu-Debian-Quellpaketen …]

BESCHREIBUNG

uscan durchsucht die angegebenen Verzeichnisse (oder das aktuelle Verzeichnis, falls keine angegeben wurden) und sämtliche Unterverzeichnisse nach Paketen, die eine Steuerdatei debian/watch enthalten. Parameter werden dann aus diesen Steuerdateien gelesen und FTP- oder HTTP-Sites der Ursprungsautoren werden auf neue verfügbare Aktualisierungen geprüft (indem sie mit der Versionsnummer der Ursprungsautoren verglichen werden, die wiederum aus der Datei debian/changelog im gleichen Verzeichnis geholt wird). Die neusten Aktualisierungen werden heruntergeladen (wie durch ihre Versionsnummer bestimmt) und falls in der watch-Datei angegeben, könnte ein Programm mit dem neu heruntergeladenen Quellcode ausgeführt werden.

Die herkömmlichen debian/watch-Dateien können immer noch benutzt werden, aber das aktuelle Format ist sowohl einfacher als auch flexibler. Hier wird das alte Format nicht beschrieben; dessen Dokumentation finden Sie im Quellcode von Uscan.

FORMAT der debian/watch-Dateien

Im Folgenden wird vorgeführt, welche Typen von Einträgen in einer debian/watch-Datei erscheinen können. Offensichtlich würden nicht alle davon in einer solchen Datei auftauchen; üblicherweise würde sie eine Zeile für das aktuelle Paket enthalten.

# Format der Versionsnummer, derzeit 3; diese Zeile ist vorgeschrieben!
version=3
# Zeilen werden mit \ fortgesetzt
# Dies ist das Format für eine FTP-Site:
# Vollständige-Site-mit-Mustern [Version [Aktion]]
ftp://ftp.tex.ac.uk/tex-archive/web/c_cpp/cweb/cweb-(.+)\.tar\.gz \
  debian  uupdate
# Dies ist das Format einer FTP-Site mit Metazeichen regulärer Ausdrücke im
# Dateinamensteil.
ftp://ftp.worldforge.org/pub/worldforge/libs/Atlas-C++/transitional/Atlas-C\+\+-(.+)\.tar\.gz
# Dies ist das Format für eine FTP-Site mit Verzeichnismusterabgleich
ftp://ftp.nessus.org/pub/nessus/nessus-([\d\.]+)/src/nessus-core-([\d\.]+)\.tar\.gz
# Dies kann benutzt werden, falls Sie die PASV-Einstellung für eine
# spezielle Site außer Kraft setzen möchten.
# opts=pasv ftp://…/…
# Dies ist ein Format für eine HTTP-Site, das dem Format einer FTP-Site
# entspricht. uscan startet mit dem Herunterladen der Homepage, die es
# durch Entfernen des letzten URL-Bestandteils erhält, in diesem Fall
# http://www.cpan.org/modules/by-module/Text/
http://www.cpan.org/modules/by-module/Text/Text-CSV_XS-(.+)\.tar\.gz
# Dies ist ein abweichendes HTTP-Format, das die direkte Angabe der Homepage
# gestattet:
# Homepage  Muster  [Version  [Aktion]]
http://www.dataway.ch/~lukasl/amph/amph.html \
  files/amphetamine-([\d\.]*).tar.bz2
# Dies zeigt, dass rekursives Durchsuchen von Verzeichnissen in beiden
# Formen funktioniert, solange die Website Anfragen der Form
# http://site/inter/mediate/dir/ handhaben kann
http://tmrc.mit.edu/mirror/twisted/Twisted/(\d\.\d)/ \
  Twisted-([\d\.]*)\.tar\.bz2
http://tmrc.mit.edu/mirror/twisted/Twisted/(\d\.\d)/Twisted-([\d\.]*)\.tar\.bz2
# Um bei Tarballs der Ursprungsautoren maximale Flexibilität zu erreichen,
# nutzen Sie dies:
http://example.com/example-(\d[\d.]*)\.(?:zip|tgz|tbz2|txz|tar\.(?:gz|bz2|xz))
# qa.debian.org führt eine Weiterleitung aus, die eine einfachere Form für
# eine URL Sourceforge-basierter Projekte bietet. Das nachfolgende Format
# wird automatisch umgeschrieben, um den Weiterleitungsdienst zu verwenden.
http://sf.net/audacity/audacity-src-(.+)\.tar\.gz
# Für GitHub-Projekte können Sie die Markierungs- oder Veröffentlichungsseite
# verwenden. Da die Archiv-URLs nur die Version als Name benutzen, wird
# empfohlen, ein Filenamemangle zum Anpassen des Namens der heruntergeladenen
# Datei zu verwenden:
opts="filenamemangle=s/(?:.*/)?v?(\d[\d\.]*)\.tar\.gz/<project>-$1.tar.gz/" \
  https://github.com/<user>/<project>/tags (?:.*/)?v?(\d[\d\.]*)\.tar\.gz
# Für Google-Code-Projekte sollten Sie die Downloads-Seite wie folgt benutzen:
http://code.google.com/p/<project>/downloads/list?can=1 \
  .*/<project>-(\d[\d.]*)\.tar\.gz
# Dies ist das Format für eine Site, die komische Versionsnummern hat;
# die Klammergruppen werden mit Punkten verbunden, um eine bereinigte
# Versionsnummer zu erzeugen
http://www.site.com/pub/foobar/foobar_v(\d+)_(\d+)\.tar\.gz
# Dies ist eine weitere Art, eine Site mit komischen Versionsnummern zu
# handhaben, diesmal mittels Mangling (Anpassen von Paketnamen). (Beachten
# Sie, dass mehrere Gruppen vor dem Mangling zusammengefügt werden und dass
# dieses Mangling nur für die Versionsnummer des Basispfads und nicht für
# die Versionsnummern aller Pfade durchgeführt wird.)
opts="uversionmangle=s/^/0.0./" \
  ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/Wine-(.+)\.tar\.gz
# Genauso kann ein Mangling des Teils der Debian-Versionsnummer der
# Ursprungsautoren durchgeführt werden:
opts=dversionmangle=s/\.dfsg\.\d+$// \
  http://some.site.org/some/path/foobar-(.+)\.tar\.gz
# Der Dateiname wird ermittelt, indem der letzte Bestandteil der URL
# genommen und alles nach einem »?« entfernt wird. Falls dies nicht zu
# einem brauchbaren Dateinamen führt, soll Filenamemangle verwendet werden.
# Zum Beispiel könnte
# <A href="http://foo.bar.org/download/?path=&download=foo-0.1.1.tar.gz">
# gehandhabt werden wie
# opts=filenamemangle=s/.*=(.*)/$1/ \
#     http://foo.bar.org/download/\?path=&download=foo-(.+)\.tar\.gz.
#
# <A href="http://foo.bar.org/download/?path=&download_version=0.1.1">
# könnte wie
# opts=filenamemangle=s/.*=(.*)/foo-$1\.tar\.gz/ \
#    http://foo.bar.org/download/\?path=&download_version=(.+)
# gehandhabt werden.
# Die Option »downloadurlmangle« kann benutzt werden, um ein Mangling der
# URL der Datei durchzuführen, die heruntergeladen werden soll. Dies kann
# nur mit http://-URLs benutzt werden. Dies kann nötig sein, falls der auf
# der Webseite angegebene Verweis automatisch auf irgendeine Weise in einen
# umgewandelt werden muss, der funktioniert, zum Beispiel:
# opts=downloadurlmangle=s/prdownload/download/ \
#   http://developer.berlios.de/project/showfiles.php?group_id=2051 \
#   http://prdownload.berlios.de/softdevice/vdr-softdevice-(.+).tgz

Kommentarzeilen können mit einem »#«-Zeichen eingeleitet werden. Zeilen können mit einem abschließenden Rückwärtsschrägstrich fortgesetzt werden.

Die erste (Nicht-Kommentar-)Zeile der Datei muss mit »version=3« beginnen. Dies ermöglicht zukünftige Erweiterungen, ohne dass der Name der Datei geändert werden muss.

Es gibt zwei Möglichkeiten für die Syntax einer HTTP-watch-Dateizeile und nur eine für eine FTP-Zeile. Wir beginnen mit dem üblichen (und einfacheren) Format. Nachfolgend wird das optionale erste Feld »opts=…« beschrieben und im Folgenden ignoriert.

Das erste Feld gibt das vollständige Muster der URLs an, nach denen gesucht wird. Im Fall einer FTP-Site wird der Inhalt des abgefragten Verzeichnisses angefordert und dieser wird nach Dateien mit passendem Basisnamen durchsucht (alles nach dem letzten »/«). Im Falle einer HTTP-Site wird alles nach dem letzten Schrägstrich weggelassen und die so erhaltene URL heruntergeladen und nach Hrefs durchsucht (Verweise der Form <a href=…>), entweder nach dem vollständigen angegebenen URL-Muster oder nach dem absoluten Teil (alles ohne den http://Rechner.Name/-Teil) oder dem Basisnamen (nur dem Teil nach dem / am Ende). Alles bis zum Schrägstrich am Ende wird als wortgetreue URL genommen, solange in diesem Teil der URL keine Klammern (»(« und »)«) vorkommen: falls doch, wird der Verzeichnisname auf die selbe Weise abgeglichen, wie es nachfolgend für den letzten Bestandteil der URL beschrieben wird. (Beachten Sie, dass Zeichen mit Sonderbedeutung für reguläre Ausdrücke wie »+« buchstäblich betrachtet werden, außer wenn sie in einem Pfadbestandteil vorkommen, der Klammern enthält; siehe das vorhergehende Atlas-C++-Beispiel. Außerdem müssen die Klammern in jedem Pfadbestandteil paarweise vorkommen.)

Das Muster (nach dem Schrägstrich am Ende) ist ein regulärer Perl-Ausdruck (Einzelheiten darüber sind unter perlre(1) zu finden). Sie müssen das Muster so streng gestalten, dass es nur auf die Software der Ursprungsautoren passt, an der Sie interessiert sind und auf nichts anderes. Außerdem wird das Muster an den Anfang und das Ende verankert, so dass es zum vollständigen Namen passen muss. (Beachten sie, dass die Href für HTTP-URLs den absoluten Pfad oder die vollständige Site und den Pfad enthalten kann und immer noch akzeptiert wird.) Das Muster muss mindestens eine Perl-Gruppe enthalten, wie im nächsten Absatz erläutert.

Ist eine Liste von »Dateien« mit passendem Muster vorhanden, werden ihre Versionsnummern extrahiert, indem der Teil, der zu den Gruppen regulärer Perl-Ausdrücke passt, gekennzeichnet durch »(...)«, durch Punkte ».« zusammengesetzt wird. Das Ergebnis wird als Versionsnummer der Datei verwendet. Dann wird ein Mangling der Versionsnummer durchgeführt, falls dies von der nachfolgend beschriebenen Option »uversionmangle« benötigt wird. Am Ende werden die Dateiversionen verglichen, um diejenige mit der größten Versionsnummer zu finden, wie durch dpkg --compare-versions festgelegt. Beachten Sie, falls Sie Perl-Gruppen benötigen, die nicht in der Versionsnummer verwendet werden, dass Sie entweder »(?:...)« oder die Option »uversionmangle« verwenden, um die Unordnung zu beseitigen.

Die aktuelle Version (der Ursprungsautoren) kann als zweiter Parameter in der watch-Dateizeile angegeben werden. Falls dies debian ist oder fehlt, wird die aktuelle Debian-Version (wie durch debian/changelog bestimmt) benutzt, um die aktuelle Version der Ursprungsautoren zu bestimmen. Die aktuelle Version der Ursprungsautoren kann außerdem als Befehlszeilenoption --upstream-version angegeben werden, die die Versionsnummer der Ursprungsautoren des aktuell installierten Pakets angibt (d.h. die Debian-Versionsnummer ohne Epoche und Debian-Revision). Für die Versionsnummer der Ursprungsautoren wird dann mittels der Option »dversionmangle«, falls angegeben, ein Mangling durchgeführt, wie nachfolgend beschrieben. Falls die neuste verfügbare Version neuer ist als die aktuelle Version, wird sie in das übergeordnete Verzeichnis heruntergeladen, es sei denn, die Optionen --report oder --report-status werden verwendet. Sobald die Datei heruntergeladen wurde, wird ein symbolischer Verweis zur Datei von <Paket>_<Version>.orig.tar.{gz|bz2|lzma|xz} erstellt, wie in der Hilfe für die Option --symlink beschrieben.

Falls schlussendlich ein dritter Parameter (eine Aktion) in der watch-Dateizeile angegeben wurde, wird dieser als Name des Befehls genommen und der Befehl

    Befehl --upstream-version Version Dateiname
wird ausgeführt, entweder mit der Originaldatei oder des Namens des symbolischen Verweises. Ein üblicher derartiger Befehl wäre uupdate(1). (Beachten Sie, dass sich die Aufrufsyntax geringfügig unterscheidet, wenn die watch-Datei ohne eine »version=…«-Zeile benutzt wird; der dort ausgeführte Befehl war »Befehl Dateiname Version«.) Falls der Befehl uupdate ist, wird die Option --no-symlink als erste Option an uupdate übergeben, da das angefragte Erstellen eines symbolischen Verweises bereits durch uscan erledigt wurde.

Die alternative Variante der watch-Dateisyntax für HTTP-URLs ist wie folgt: Das erste Feld ist die Homepage, die heruntergeladen und dann nach Hrefs durchsucht werden soll, die dem im zweiten Feld übergebenen Muster entsprechen. (Dieses Muster wird wieder an den Anfang und das Ende verankert, so dass es der ganzen Href entsprechen muss. Falls Sie nur den Basisnamen der Href vergleichen möchten, können Sie ein Muster wie ».*/Name-(.+)\.tar\.gz« verwenden, falls Sie wissen, dass dort eine vollständige URL vorliegt oder besser immer noch: »(?:.*/)?Name-(.+)\.tar\.gz«, falls dies der Fall ist oder nicht. Beachten Sie, (?:...) zu benutzen, um einen Rückwärtsbezug zu vermeiden.) Falls irgendwelche der Hrefs auf der Homepage, die zum (verankerten) Muster passen, relative URLs sind, werden sie als relativ zur Basis-URL der Homepage betrachtet (d.h. mit allem nach dem abschließenden Schrägstrich entfernt) oder relativ zur auf der Homepage selbst mit einer als <base href="…">-Markierung angegebenen Basis-URL. Das dritte und vierte Feld sind die Felder Versionsnummer und Aktion wie vorher.

OPTIONEN JE SITE

Einer watch-Dateizeile kann »opts=Optionen« vorangestellt werden, wobei Optionen eine durch Kommas getrennte Liste von Optionen ist. Die ganze Optionen-Zeichenkette kann in doppelte Anführungszeichen eingeschlossen werden, was nötig ist, wenn Optionen irgendwelche Leerzeichen enthalten. Folgende Optionen werden erkannt:
active und passive (oder pasv)
Falls dies auf einer FTP-Zeile verwendet wird, setzt es die Wahl außer Kraft, ob der PASV-Modus verwendet wird oder nicht, und erzwingt die Benutzung des angegebenen Modus für diese Site.
uversionmangle=Regeln
Dies wird für das Mangling der Versionsnummer der Ursprungsautoren verwendet, wie sie durch die ftp://…- oder http://-Regeln wie folgt abgeglichen wird. Zuerst wird die Regel-Zeichenkette bei jedem »;« in mehrere Regeln unterteilt. Dann wird ein Mangling der Versionsnummer der Ursprungsautoren durchgeführt, indem Regel auf die Version in ähnlicher Weise wie für das Ausführen des Perl-Befehls
    $version =~ Regel;
auf jede Regel angewandt wird. Daher könnten geeignete Regeln »s/^/0./« sein, um 0. an die Versionsnummer anzuhängen und »s/_/./g«, um Unterstriche in Punkte zu ändern. Beachten Sie, dass die Regel-Zeichenkette keine Kommas enthalten darf; dies sollte kein Problem sein.

Regel kann nur die Operationen »s«, »tr« und »y« verwenden. Wenn die Operation »s« benutzt wird, sind nur die Schalter »g«, »i« und »x« verfügbar und Regel kann keine Ausdrücke enthalten, die die Möglichkeit haben, Code auszuführen (d.h. die Gebilde (?{}) und (??{}) werden nicht unterstützt.

Falls die Operation »s« benutzt wird, kann die Ersetzung Rückwärtsbezüge auf Ausdrücke innerhalb von Klammern im passenden regulären Ausdruck wie »s/-alpha(\d*)/.a$1/« enthalten. Diese Rückwärtsbezüge müssen die »$1«-Syntax verwenden, da die »\1«-Syntax nicht unterstützt wird.

dversionmangle=Regeln
Dies wird für das Mangling der Debian-Versionsnummer des aktuell installierten Pakets auf die gleiche Art wie bei der Option uversionmangle benutzt. Daher könnte eine geeignete Regel »s/\.dfsg\.\d+$//« lauten, um eine ».dfsg.1«-Endung von der Debian-Versionsnummer zu entfernen oder Versionsnummern des Typs ».pre6« zu handhaben. Die Regeln-Zeichenkette darf wieder Kommas enthalten; dies sollte kein Problem sein.
versionmangle=Regeln
Dies ist eine syntaktisches Abkürzung für uversionmangle=Regeln,dversionmangle=Regeln, es wendet die selben Regeln sowohl auf die Versionsnummern der Ursprungsautoren als auch auf die von Debian an.
filenamemangle=Regeln
Dies wird für das Mangling des Dateinamens benutzt, unter dem die heruntergeladene Datei gespeichert wird und auf die selbe Weise ausgewertet wie die Option uversionmangle. Beispiele für die Verwendung finden sich im vorhergehenden Beispielabschnitt.
downloadurlmangle=Regeln
Dies wird für das Mangling der URL verwendet, die zum Herunterladen benutzt wird. Die URL wird zuerst basierend auf der heruntergeladenen Homepage und des passenden Musters berechnet, dann wird die Versionsnummer aus dieser URL bestimmt. Am Ende werden alle durch diese Option angegebenen Regeln angewandt, bevor tatsächlich versucht wird, sie herunterzuladen. Ein Beispiel für die Verwendung findet sich im vorhergehenden Beispielabschnitt.
pgpsigurlmangle=Regeln
Falls vorhanden, werden die mitgelieferten Regeln auf die heruntergeladene URL angewandt (nach irgendwelchen Downloadurlmangle-Regeln), um eine neue URL zu erstellen, die zum Abholen der separaten OpenPGP-Signaturdatei für den Tarball der Ursprungsautoren benutzt wird. Einige gebräuchliche Regeln könnten »s/$/.asc/«, »s/$/.pgp/« oder »s/$/.gpg/« lauten. Diese Signatur muss durch einen Schlüssel erstellt worden sein, der im Schlüsselbund debian/upstream-signing-key.pgp oder im gehärteten Schlüsselbund debian/upstream/signing-key.asc zu finden ist. Falls sie ungültig ist oder nicht durch einen der aufgeführten Schlüssel erstellt wurde, wird Uscan einen Fehler melden.

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 eine 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 ihre 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. Wenn nicht, dann muss er auf den vollständigen Verzeichnisnamen passen. Falls regulärer Ausdruck die Zeichenkette »PACKAGE« beinhaltet, wird diese durch den Namen des Quellpakets ersetzt, wie er aus dem Changelog bestimmt wird. Der vorgegebene Wert für den regulären Ausdruck ist: »PACKAGE(-.+)?«, daher entspricht er Verzeichnisnamen wie PACKAGE und PACKAGE-Version.

BEISPIEL

Dieses Skript wird eine vollautomatische Aktualisierung aus den Ursprungsquellen durchführen.

#!/bin/sh -e
# wird aufgerufen mit »--upstream-version« <Version> <Datei>
uupdate "$@"
package=`dpkg-parsechangelog | sed -n 's/^Source: //p'`
cd ../$package-$2
debuild

Beachten Sie, dass dupload oder dput nicht automatisch aufgerufen werden, da der Betreuer Plausibilitätsprüfungen für die Software durchführen sollte, bevor sie nach Debian hochgeladen wird.

OPTIONEN

--report, --no-download
berichtet nur über neue verfügbare Versionen, lädt aber nichts herunter.
--report-status
berichtet über den Zustand aller Pakete, sogar von denen, die aktuell sind, lädt aber nichts herunter.
--download
berichtet und lädt herunter. (Dies ist das Standardverhalten.)
--destdir
Pfad des Verzeichnisses in das heruntergeladen werden soll. Falls der angegebene Pfad nicht absolut ist, wird er entweder relativ zum aktuellen Verzeichnis oder, falls Verzeichnisauswertung aktiviert ist, zum Quellverzeichnis des Pakets sein.
--force-download
lädt von der Ursprungsquelle sogar dann herunter, wenn es aktuell ist (wird jedoch keine lokalen Dateien überschreiben).
--pasv
erzwingt bei FTP-Verbindungen den PASV-Modus.
--no-pasv
verwendet bei FTP-Verbindungen nicht den PASV-Modus.
--timeout N
setzt die Zeitüberschreitung auf N Sekunden (Vorgabe 20 Sekunden).
--no-symlink
Do not call mk-origtargz.

The following options are passed to mk-origtargz:

--symlink
Make orig.tar.gz (with the appropriate extension) symlinks to the downloaded files. (This is the default behaviour.)
--copy
Instead of symlinking as described above, copy the downloaded files.
--rename
Instead of symlinking as described above, rename the downloaded files.
--repack
After having downloaded an lzma tar, xz tar, bzip tar or zip archive, repack it to a gzip tar archive, if required. The unzip package must be installed in order to repack .zip archives, the xz-utils package must be installed to repack lzma or xz tar archives.
--compression [ gzip | bzip2 | lzma | xz ]
In the case where the upstream sources are repacked (either because --repack option is given or debian/copyright contains the field Files-Excluded), it is possible to control the compression method via the parameter (defaults to gzip).
--dehs
benutzt für die Ausgabe ein XML-Format, wie es vom DEHS-System benötigt wird.
--no-dehs
verwendet das traditionelle Uscan-Ausgabeformat. (Dies ist das Standardverhalten.)
--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 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 watch- oder changelog-Datei zu untersuchen, um sie zu bestimmen. Dies wird ignoriert, falls ein Verzeichnis-Scan durchgeführt und mehr als eine watch-Datei gefunden wird.
--watchfile watch-Datei
gibt die watch-Datei an, statt einen Verzeichnis-Scan 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).
--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.
--download-current-version
lädt die aktuelle paketierte Version herunter.
--verbose
erzeugt eine detaillierte Ausgabe.
--no-verbose
erzeugt keine detaillierte Ausgabe. (Dies ist das Standardverhalten.)
--no-exclusion
schließt Dateien, die in debian/copyright im Feld Files-Excluded erwähnt wurden, nicht automatisch aus.
--debug
gibt die heruntergeladenen Webseiten auf der Standardausgabe (Stdout) für die Fehlersuche in Ihrer Watch-Datei aus.
--check-dirname-level N
Die Erklärung dieser Option finden Sie im vorhergehenden Abschnitt Prüfung von Verzeichnisnamen.
--check-dirname-regex regulärer Ausdruck
Die Erklärung dieser Option finden Sie im vorhergehenden Abschnitt Prüfung von Verzeichnisnamen.
--user-agent, --useragent
setzt die vorgegebene User-Agent-Kopfzeile außer Kraft.
--no-conf, --noconf
keine Konfigurationsdateien lesen, Dies kann nur als erste auf der Befehlszeile angegebene Option benutzt werden.
--help
gibt eine kurze Gebrauchsinformation.
--version
zeigt Versionsinformationen.

KONFIGURATIONSVARIABLEN

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
Falls dies auf no gesetzt ist, werden neuere Dateien der Ursprungsautoren nicht heruntergeladen; dies entspricht den Optionen --report oder --no-download.
USCAN_PASV
Falls dies auf yes oder no gesetzt ist, wird dies erzwingen, dass FTP-Verbindungen den PASV-Modus verwenden beziehungsweise nicht verwenden. Falls dies auf default gesetzt ist, wird Net::FTP(3) eine Auswahl treffen (basiert hauptsächlich auf der Umgebungsvariable FTP_PASSIVE).
USCAN_TIMEOUT
Falls dies auf eine Zahl N gesetzt ist, wird eine Zeitüberschreitung nach 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
Falls dies auf yes gesetzt ist, dann wird uscan nach dem Herunterladen ein Bzip-Tar-, LZMA-Tar, Xz-Tar- oder Zip-Archiv neu zu einem Gzip-Tar packen. Dies entspricht der Option --repack.
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.

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.

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 vor Version 2 durchführen, wird Ihnen empfohlen, diese Handbuchseite zu lesen und von Grund auf neu zu beginnen.
Version 2
Devscripts-Version 2.6.90: die erste Verkörperung des aktuellen watch-Dateistils
Version 3
Devscripts-Version 2.8.12 führte das Folgende ein: korrekte Handhabung von Sonderzeichen regulärer Ausdrücke im Pfadteil, Verzeichnis-/Pfadabgleich, Versionsnummern in mehreren Teilen, Versionsnummer-Mangling. Neuere Versionen haben außerden URL-Mangling eingeführt.

Falls Sie ein Upgrade von Version 2 durchführen, besteht die Hauptinkomatibilität, wenn Sie mehrere Gruppen im Musterteil haben; während 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.

AUTOR

Die Originalversion wurde von Christoph Lameter <[email protected]> geschrieben. Bedeutende Verbesserungen, Änderungen und Fehlerbehebungen wurden von Julian Gilbey <[email protected]> vorgenommen. Piotr Roszatycki <[email protected]> fügte HTTP-Unterstützung hinzu. Das Programm wurde neu in Perl von Julian Gilbey geschrieben.

ÜBERSETZUNG

Diese Übersetzung wurde mit dem Werkzeug po4a <URL:http://po4a.alioth.debian.org/> durch Chris Leick [email protected] im Juli 2012 erstellt und vom deutschen Debian-Übersetzer-Team korrekturgelesen. Bitte melden Sie alle Fehler in der Übersetzung an [email protected] oder als Fehlerbericht an das Paket devscripts. Sie können mit dem folgenden Befehl das englische Original anzeigen »man -L C Abschnitt deutsche_Handbuchseite«.