BEZEICHNUNG¶
uscan - durchsucht/beobachtet Quellen der Ursprungsautoren nach neuen
Veröffentlichungen der Software
Ü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.
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:
https://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
Verwürfeln 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
»+dfsg1«-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.
- repacksuffix=Endung
- Falls die Quellen der Originalautoren verändert wurden, weil
debian/copyright das Feld Files-Excluded enthält,
wird Endung an die Version der Originalautoren des neu gepackten
Tar-Archivs gehängt. Gebräuchliche Endungen könnten
+dfsg1 zum Anzeigen von Nicht-DFSG-Code oder +ds1 sein, das
anzeigt, dass eingebettete (DFSG-)Kopien des Codes entfernt wurden.
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
- ruft nicht mk-origtargz auf.
Die folgenden Optionen werden an
mk-origtargz übergeben:
- --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
- Nachdem ein LZMA-Tar-, Xz-Tar, Bzip-Tar oder Zip-Archiv heruntergeladen
wurde, wird es neu als Gzip-Tar-Archiv gepackt, fall nötig. Um die
.zip-Archive neu zu packen, muss das Paket unzip installiert sein,
um LZMA- oder XZ-Archive neu zu packen, muss das Paket xz-utils
installiert sein.
- --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 gzip).
- --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.
- --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.
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.
ÜBERSETZUNG¶
Diese Übersetzung wurde mit dem Werkzeug
po4a
<
URL:https://po4a.alioth.debian.org/> durch Chris Leick
c.leick@vollbio.de im Juli 2012 erstellt und vom deutschen
Debian-Übersetzer-Team korrekturgelesen. Bitte melden Sie alle Fehler
in der Übersetzung an
debian-l10n-german@lists.debian.org oder
als Fehlerbericht an das Paket
devscripts. Sie können mit dem
folgenden Befehl das englische Original anzeigen »
man -L C
Abschnitt deutsche_Handbuchseite«.