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«.