NOM¶
uscan - Tester ou surveiller la disponibilité d'une nouvelle version amont
SYNOPSIS¶
uscan [
options] [
chemin-vers-le-paquet-source ...]
DESCRIPTION¶
uscan parcourt les répertoires donnés (ou le répertoire
actuel si aucun n'est indiqué) et tous leurs sous-répertoires à
la recherche de paquets contenant un fichier de contrôle
debian/watch. Les paramètres de ces fichiers de contrôle sont
ensuite analysés, et les sites FTP ou HTTP amont sont inspectés pour
tester la présence de nouvelles mises à jour (qui sont
comparées aux numéros de version amont des fichiers
debian/changelog du même répertoire). Les mises à jour
les plus récentes (en fonction de leur numéro de version) sont
récupérées et un programme est exécuté sur les
sources téléchargées si c'est spécifié dans le
fichier
watch.
Les fichiers
debian/watch traditionnels peuvent encore être
utilisés, mais le format actuel est à la fois plus simple et offre
des services plus souples. L'ancien format n'est pas décrit ici. Pour la
documentation de l'ancien format, reportez-vous au code source de uscan.
L'exemple suivant montre les types d'entrée trouvables dans un fichier
debian/watch. Bien sûr, toutes ces entrées
n'apparaîtront pas dans un tel fichier. Une seule ligne existe
généralement pour le paquet actuel.
# numéro de version du format, actuellement 3.
# Cette ligne est obligatoire !
version=3
# Les lignes peuvent être poursuivies à la ligne suivante avec un \
# Voici le format pour un site FTP :
# Nom-complet-du-site-avec-modèle [Version [Action]]
ftp://ftp.tex.ac.uk/tex-archive/web/c_cpp/cweb/cweb-(.+)\.tar\.gz \
debian uupdate
# Voici la syntaxe pour un site FTP, avec une expression rationnelle
# dans le nom du fichier
ftp://ftp.worldforge.org/pub/worldforge/libs/Atlas-C++/transitional/Atlas-C\+\+-(.+)\.tar\.gz
# Voici la syntaxe pour un site FTP avec un modèle de répertoire
ftp://ftp.nessus.org/pub/nessus/nessus-([\d\.]+)/src/nessus-core-([\d\.]+)\.tar\.gz
# Voici comment remplacer le paramètre PASV pour un site spécifique :
# opts=pasv ftp://.../...
# Il s'agit d'un format pour un site HTTP, identique à celui d'un
# site FTP. uscan commence par télécharger la page principale,
# obtenue en supprimant le dernier élément de l'URL ; dans ce cas,
# http://www.cpan.org/modules/by-module/Text/
http://www.cpan.org/modules/by-module/Text/Text-CSV_XS-(.+)\.tar\.gz
# Voici un autre format pour les sites HTTP,
# qui permet de spécifier directement la page principale :
# Page principale Modèle [Version [Action]]
http://www.dataway.ch/~lukasl/amph/amph.html \
files/amphetamine-([\d\.]*).tar.bz2
# Cet exemple montre qu'il est possible de scanner des répertoires, sous
# deux formes différentes, à condition que le site web autorise les
# requêtes de la forme http://site/répertoire/inter/médiaire/
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
# Pour une flexibilité maximale avec les formats d'archive amont :
http://example.com/exemple-(\d[\d.]*)\.(?:zip|tgz|tbz2|txz|tar\.(?:gz|bz2|xz))
# qa.debian.org fournit un redirecteur qui permet une forme plus
# simple pour les projets hébergés sur SourceForge. Le format
# ci-dessous sera automatiquement réécrit pour utiliser le redirecteur
http://sf.net/audacity/audacity-src-(.+)\.tar\.gz
# Pour les projets GitHub, les pages de marques ou de publications
# peuvent être utilisées. Puisque les URL de l’archive n’utilisent que la
# version pour le nom, l’utilisation de filenamemangle est recommandée
# pour ajuster le nom du fichier téléchargé :
opts="filenamemangle=s/(?:.*)?v?(\d[\d\.]*)\.tar\.gz/<projet>-$1.tar.gz/" \
https://github.com/<utilisateur>/<projet>/tags (?:.*/)?v?(\d[\d\.]*)\.tar\.gz
# Pour les projets Google Code, la page de téléchargement devrait être
# utilisée comme ceci :
https://code.google.com/p/<projet>/downloads/list?can=1 \
.*/<projet>-(\d[\d.]*)\.tar\.gz
# Ceci est le format pour un site qui possède des numéros de
# version exotiques ; le groupe entre parenthèses devra être joint
# par des points pour créer un numéro de version sain :
http://www.site.com/pub/toto/toto_v(\d+)_(\d+)\.tar\.gz
# Voici une autre manière pour des sites ayant des numéros de version
# bizarres, en effectuant une modification cette fois. (Remarquez que
# plusieurs groupes seront concaténés avant d'effectuer la modification,
# et que les modifications ne seront effectuées que sur le numéro de
# version de base, et pas dans les versions contenues dans les chemins.)
opts="uversionmangle=s/^/0.0/" \
ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/Wine-(.+)\.tar\.gz
# De manière similaire, la partie de la version amont du numéro de
# version Debian peut être modifiée :
opts=dversionmangle=s/\+dfsg\d*$// \
http://un.site.org/un/chemin/toto-(.+)\.tar\.gz
# Le nom de fichier est déterminé en prenant le dernier composant de
# l'URL et en retirant tout ce qui se trouve après un éventuel « ? ».
# Si ça ne donne pas de nom de fichier utilisable, utilisez
# filenamemangle. Par exemple,
# <A href="http://toto.titi.org/download/?path=&download=toto-0.1.1.tar.gz">
# peut être géré ainsi :
# opts=filenamemangle=s/.*=(.*)/$1/ \
# http://toto.titi.org/download/\?path=&download=toto-(.+)\.tar\.gz
#
# <A href="http://toto.titi.org/download/?path=&download_version=0.1.1">
# peut être géré ainsi :
# opts=filenamemangle=s/.*=(.*)/toto-$1\.tar\.gz/ \
# http://toto.titi.org/download/\?path=&download_version=(.+)
# L'option downloadurlmangle peut être utilisée pour modifier l'URL
# du fichier à télécharger. Cela ne peut être utilisé qu'avec des liens
# http://. Cela peut être nécessaire si le lien donné sur la page web
# doit être transformé de manière à ce que cela fonctionne
# automatiquement, par exemple :
# opts=downloadurlmangle=s/prdownload/download/ \
# http://developer.berlios.de/project/showfiles.php?group_id=2051 \
# http://prdownload.berlios.de/softdevice/vdr-softdevice-(.+).tgz
Des lignes de commentaire peuvent être ajoutées avec un caractère
«
# ». Les lignes peuvent se poursuivre à la
ligne suivante en les terminant par un caractère backslash («
\ »).
La première ligne (en ne prenant pas en compte les commentaires) doit
commencer par « version=3 ». Cela devrait permettre des
extensions futures, sans avoir à changer le nom du fichier.
Les fichiers
watch acceptent deux syntaxes pour les sites HTTP, et une
seule pour les sites FTP. Voici la syntaxe la plus commune (et la plus
simple). Le premier champ optionnel opts=... est décrit plus bas et sera
ignoré dans ce qui suit.
Le premier champ donne le modèle complet des URL à rechercher. Dans le
cas d'un site FTP, la liste des fichiers du répertoire indiqué sera
demandée et il recherchera dans cette liste des fichiers dont le nom de
base (ce qui suit le «
/ » final) correspond. Dans
le cas d'un site HTTP, il recherche dans l'URL obtenue en enlevant tout ce qui
suit le « / » de fin des références
« href » (liens de la forme <a href=...>) vers soit
une URL complète, un chemin absolu (l'ensemble de l'URL, sans la partie
http://nom.serveur/) ou encore vers un nom de base (la partie qui suit le
«
/ » final) qui correspond au modèle
donné. L'ensemble, jusqu'au «
/ » final est
considéré comme l'URL complète, tant qu'il n'y a pas de
parenthèse («
( » et
«
) ») dans cette partie de l'URL. S'il y a des
parenthèses, on cherchera à faire correspondre le nom du
répertoire de la même façon que l'élément final de
l'URL, comme décrit ci-dessous. (Veuillez noter que les caractères
spéciaux des expressions rationnelles, comme «
+ » sont considérés littéralement, à
moins qu'ils se trouvent dans une partie entre parenthèses ; voyez
l'exemple d'Atlas-C++ ci-dessus. De plus, les parenthèses doivent se
fermer à l'intérieur de chaque élément du chemin.)
Le modèle (la partie après le « / » final) est une
expression rationnelle Perl (voir
perlre(1) pour plus de détails).
Vous devez utiliser un modèle suffisamment strict pour qu'il ne
corresponde qu'au programme amont qui vous intéresse, et à rien
d'autre. Aussi, le modèle sera ancré au début et à la fin
pour qu'il corresponde au nom complet. (Remarquez que dans les URL HTTP, le
champ « href » peut contenir un chemin absolu ou le nom du
site avec le chemin, et être toujours accepté.) Le modèle doit
contenir au moins un groupe Perl comme décrit dans le prochain
paragraphe.
Après avoir récupéré une liste de
« fichiers » qui correspondent au modèle, leurs
numéros de version sont extraits en concaténant l'ensemble des
groupes de l'expression rationnelle Perl (démarqués par «
(...) ») et en les séparant par un «
. ». Ce numéro est considéré comme le
numéro de version du fichier. Les numéros de version sont ensuite
modifiés si l'option
uversionmangle, décrite ci-dessous, a
été précisée. Enfin, les versions des fichiers sont
ensuite comparées pour trouver celui qui a le plus grand numéro de
version, qui est trouvé en utilisant
dpkg
--compare-versions. Note : si vous avez besoin de groupes qui ne
sont pas utilisés dans le numéro de version, utilisez soit
«
(?:...) » soit l'option
uversionmangle
pour nettoyer la version par la suite.
La version actuelle (amont) peut être indiquée comme le second
paramètre dans la ligne du fichier
watch. Si elle vaut
debian ou est absente, alors la version Debian actuelle (telle qu'elle
est déterminée par
debian/changelog) est utilisée pour
déterminer la version amont actuelle. La version amont actuelle peut
aussi être indiquée par l'option
--upstream-version en ligne
de commande, qui spécifie le numéro de version amont du paquet
actuellement installé (c'est-à-dire, le numéro de version
Debian sans epoch ni version Debian). Le numéro de version amont sera
alors modifié en utilisant l'option
dversionmangle si elle est
indiquée, tel que cela est décrit plus bas. Si la version la plus
récente disponible est plus récente que la version actuelle, alors
elle sera téléchargée dans le répertoire parent, sans que
l'option
--report ou
--report-status ait été
utilisée. Une fois que le fichier a été
téléchargé, un lien symbolique vers le fichier est
créé depuis le paquet
<paquet>_<version>.orig.tar.{gz|bz2|lzma|xz}
conformément à l'aide décrite pour l'option
--symlink.
Enfin, si un troisième paramètre est donné dans la ligne du
fichier
watch, il est considéré comme le nom d'une commande,
et la commande :
commande --upstream-version version nom_fichier
est exécutée, en utilisant soit le fichier initial, soit le nom du
lien symbolique. En règle générale, cette commande est
uupdate. (Remarquez que la syntaxe d'appel est légèrement
différente de celle des fichiers
watch sans la ligne «
version=... », pour lesquels la commande exécutée
était «
commande fichier version ».)
L'autre syntaxe possible pour les URL HTTP est la suivante. Le premier champ
correspond à la page d'accueil qui doit être
téléchargée et dans laquelle doivent être recherchés
les liens (« href ») correspondant au modèle
donné dans le second champ. (Encore une fois, ce modèle sera
ancré à son début et à sa fin, de façon à ce
qu'il corresponde au lien complet. Si vous chercher à faire correspondre
uniquement le nom de base du lien, vous pouvez utiliser un modèle comme
« .*/nom-(.+)\.tar\.gz » si vous savez qu'il y a une URL
complète, ou encore mieux :
« (?:.*/)?nom-(.+)\.tar\.gz » si l'URL peut être ou
ne pas être complète. Remarquez l'utilisation de
« (?:...) » qui évite de créer une
référence.) Si un des liens de cette page est une URL relative, elle
sera considérée comme relative à l'URL de base de la page
d'accueil (c'est-à-dire en retirant tout ce qui suit le
« / » final), ou relative à l'URL de base
indiquée dans cette page avec une balise <base
href="...">. Les troisième et quatrième champs sont les
champs du numéro de version et de la commande, comme
précédemment.
OPTIONS SPÉCIFIQUES À UN SITE¶
Une ligne du fichier
watch peut être précédée de
«
opts=options », où
options
est une liste d'options séparées par des virgules. La chaîne
options peut être placée entre guillemets doubles
(«
" »), ce qui est nécessaire si
options contient des espaces. Les options reconnues sont :
- active et passive (ou pasv)
- Si utilisé sur une ligne FTP, cela forcera
l'utilisation du mode passif (PASV) ou actif pour ce site.
- uversionmangle=règles
- Cela permet de modifier le numéro de version amont qui
correspond à une règle ftp://... ou http://... de la façon
suivante. Dans un premier temps, les règles sont
découpées en plusieurs règles en utilisant «
; » comme séparateur. Puis les numéros de
version amont sont modifiés en appliquant la règle à
la version, de façon similaire à l'exécution de la commande
Perl suivante :
$version =~ règle;
pour chaque règle. Ainsi, la règle «
s/^/0./ » permet d'ajouter «
0. » au début du numéro de version et
« s/_/./g » pour changer les tirets bas en
points. Remarquez que la chaîne de caractères règle
ne doit pas contenir de virgule ; cela ne devrait pas être un
problème.
règle ne peut utiliser que les opérations
« s », « tr » et
« y ». Quand l'opération
« s » est utilisée, seuls les arguments
« g », « i » et
« x » peuvent être utilisés et
règle ne peut contenir d'expression pouvant exécuter du
code (c'est-à-dire que les constructions de la forme (?{}) ou (??{})
ne sont pas prises en charge).
Si l'opération « s » est utilisée, le
remplacement peut contenir des références arrières aux
expressions entre parenthèses de l'expression rationnelle
correspondante, comme « s/-alpha(\d*)/.a$1/ ».
Ces références arrières doivent utiliser la syntaxe
« $1 », puisque la syntaxe «
\1 » n'est pas permise.
- dversionmangle=règles
- Utilisé pour modifier le numéro de version Debian
du paquet actuellement installé dans la même optique que
l'option uversionmangle. Ainsi, une règle appropriée peut
être « s/\+dfsg\d*$// » pour supprimer le
suffixe « +dfsg1 » dans un numéro de
version Debian ou pour gérer les numéros de version de type
« .pre6 ». Ici encore, la chaîne de
caractères règles ne doit pas contenir de virgule ;
cela ne devrait pas être un problème.
- versionmangle=règles
- Il s'agit d'un raccourci syntactique pour
uversionmangle=
règles,dversionmangle=règles, appliquant
les mêmes règles à la fois aux numéros de version
Debian et amont.
- filenamemangle=règles
- C'est utilisé pour modifier le nom de fichier sous
lequel le fichier téléchargé sera enregistré, et est
parcouru de la même manière qu'avec l'option
uversionmangle. Les exemples d'utilisation sont donnés dans la
section ci-dessus.
- downloadurlmangle=règles
- C'est utilisé pour modifier l'URL nécessaire pour
le téléchargement. L'URL est d'abord calculée en se basant
sur la page principale téléchargée et sur la correspondance
du motif, puis le numéro de version est déterminé depuis
cette URL. Enfin, toutes les règles données par cette option
sont appliquées avant que la tentative de téléchargement
soit effectuée. Un exemple d'utilisation est donné dans la
section des exemples ci-dessus.
- pgpsigurlmangle=règles
- En cas de présence, les règles fournies seront
appliquées à l’URL téléchargée (après
les règles downloadurlmangle s’il y en a) pour préparer
une nouvelle URL qui sera utilisée pour récupérer le
fichier de signature OpenPGP détachée pour l’archive
amont. Certaines règles habituelles pourraient être «
s/$/.asc/ », « s/$/.pgp/ » ou
« s/$/.gpg/ ». Cette signature doit être
réalisée avec une clef du trousseau
debian/upstream/signing-key.pgp ou du trousseau avec armure ASCII
debian/upstream/signing-key.asc. Si elle n’est pas valable,
ou si la clef ne fait pas partie du trousseau, uscan signalera une
erreur.
- repacksuffix=suffixe
- Si les sources amont sont modifiées parce que
debian/copyright contient le champ Files-Excluded,
suffixe sera ajouté à la version amont de l’archive
tar rempaquetée. Par exemple, le suffixe peut être +dfsg1
pour indiquer la suppression de code non compatible avec les DFSG ou
+ds1 pour indiquer la suppression de copies de code (DFSG)
embarquées.
Vérification du nom du répertoire¶
Comme plusieurs autres scripts du paquet
devscripts,
uscan
parcourt le répertoire demandé à la recherche de fichiers
debian/changelog et
debian/watch. Pour se protéger contre
certains fichiers égarés qui pourraient poser problème, il
examine le nom du répertoire parent une fois qu'il a trouvé le
fichier
debian/changelog, et vérifie que le nom du répertoire
correspond au nom du paquet. Il ne cherchera à télécharger les
nouvelles versions d'un paquet et à effectuer l'action demandée que
si le nom du répertoire correspond au nom du paquet. La façon
précise utilisée est contrôlée par les deux variables du
fichier de configuration
DEVSCRIPTS_CHECK_DIRNAME_LEVEL et
DEVSCRIPTS_CHECK_DIRNAME_REGEX, et les options en ligne de commande
associées
--check-dirname-level et
--check-dirname-regex.
DEVSCRIPTS_CHECK_DIRNAME_LEVEL peut prendre les valeurs suivantes :
- 0
- Ne jamais vérifier le nom du répertoire.
- 1
- Ne vérifie le nom du répertoire que s'il a fallu
changer de répertoire pour trouver le fichier
debian/changelog, c'est-à-dire que le répertoire qui
contient debian/changelog n'est pas le répertoire dans lequel
uscan a été invoqué. C'est le comportement par
défaut.
- 2
- Toujours vérifier le nom du répertoire.
Le nom du répertoire est vérifié en testant si le nom du
répertoire actuel (donné par
pwd(1)) correspond à
l'expression rationnelle donnée par la variable
DEVSCRIPTS_CHECK_DIRNAME_REGEX du fichier de configuration ou par
l'option
--check-dirname-regex regex. Il s'agit d'une expression
rationnelle Perl (voir
perlre(1)), qui sera ancrée à son
début et à sa fin. Si elle contient un « / »,
alors elle doit correspondre au chemin complet. Si elle contient la
chaîne « PACKAGE », cette chaîne sera
remplacée par le nom du paquet source déterminé par le fichier
changelog. La valeur par défaut de cette expression rationnelle
est « PACKAGE(-.+)? », ce qui correspond aux
répertoires nommés PACKAGE ou PACKAGE-version.
EXEMPLE¶
Ce script va réaliser une mise à jour complètement automatique
avec l'amont.
#!/bin/sh -e
# appelé avec '--upstream-version' <version> <fichier>
uupdate "$@"
package=`dpkg-parsechangelog | sed -n 's/^Source: //p'`
cd ../$package-$2
debuild
Remarquez que
dupload et
dput ne sont pas appelés
automatiquement, puisque le responsable doit réaliser des
vérifications sur le logiciel avant de l'envoyer à l'archive Debian.
OPTIONS¶
- --report, --no-download
- Ne fournir qu'un rapport indiquant les nouvelles versions,
mais ne rien télécharger.
- --report-status
- Rapporter l'état de tous les paquets, même ceux
qui sont à jour, mais ne rien télécharger du tout.
- --download
- Fournir un rapport puis télécharger (c'est le
comportement par défaut).
- --destdir
- Chemin du répertoire où placer les fichiers
téléchargés. Si le chemin indiqué n'est pas absolu, il
sera relatif au répertoire actuel ou, si l'exploration de
répertoires est activée, au répertoire du paquet
source.
- --force-download
- Télécharger le fichier amont même si le
paquet est à jour (cependant, les fichiers locaux ne sont pas
écrasés).
- --pasv
- Forcer le mode passif (« PASV ») pour
les connexions FTP.
- --no-pasv
- Ne pas utiliser le mode passif pour les connexions
FTP.
- --timeout N
- Définir le temps d'attente à N secondes (20
secondes par défaut).
- --no-symlink
- Ne pas appeler mk-origtargz.
Les options suivantes sont passées à
mk-origtargz :
- --symlink
- Faire des fichiers résultants
(*.orig.tar.{gz|bz2|lzma|xz} des liens symboliques vers les
fichiers téléchargés (c'est le comportement par
défaut).
- --copy
- Au lieu de créer des liens symboliques comme
décrit précédemment, copier les fichiers
téléchargés.
- --rename
- Au lieu de créer des liens symboliques comme
décrit précédemment, renommer les fichiers
téléchargés.
- --repack
- Après avoir téléchargé une archive tar
compressée avec lzma ou xz ou bzip, ou une archive ZIP, la
rempaqueter dans une archive tar compressée avec gzip, si
nécessaire. Le paquet unzip doit être installé pour
rempaqueter les archives ZIP, le paquet xz-utils doit être
installé pour rempaqueter les archives tar compressées avec lzma
ou xz.
- --compression [ gzip | bzip2 |
lzma | xz ]
- Au cas où les sources amont sont rempaquetés
(soit parce que l’option --repack est donnée, soit parce
que debian/copyright contient le champ Files-Excluded), la
méthode de compression peut être contrôlée avec le
paramètre comp (gzip par défaut).
- --copyright-file fichier
- Exclure les fichiers mentionnés dans le champ
Files-Excluded du fichier de copyright donné.
C’est utile lors de l’utilisation d’ uscan en
dehors d’un répertoire de paquet source.
- --dehs
- Utiliser le format XML pour la sortie, requis par le
système DEHS.
- --no-dehs
- Utiliser le format de sortie traditionnel de uscan (c'est
le comportement par défaut).
- --package paquet
- Indiquer le nom du paquet à contrôler plutôt
qu'examiner debian/changelog ; cela nécessite les options
--upstream-version (à moins qu'une option ne soit
précisée dans le fichier watch) et --watchfile. De
plus, aucun répertoire ne sera scanné et rien ne sera
téléchargé. Cette option est probablement la plus utile en
conjonction avec le système DEHS (et --dehs).
- --upstream-version version-amont
- Indiquer la version amont actuelle plutôt qu'examiner
le fichier watch ou le journal des modifications pour le
déterminer. C'est ignoré si un balayage de répertoire est
fait et que plus d'un fichier watch est trouvé.
- --watchfile watchfile
- Indiquer le fichier watch plutôt que faire un
balayage de répertoire pour le déterminer. Si cette option est
utilisée sans --package, uscan devra être
appelé depuis l'arborescence du paquet Debian source (de sorte que
debian/changelog puisse être trouvé simplement par une
recherche dans l'arborescence).
- --download-version version
- Indiquer la version amont souhaitée, plutôt
qu'utiliser celle avec le numéro de version le plus important.
- --download-current-version
- Télécharger la version du paquet actuel
- --verbose
- Donner une sortie bavarde.
- --no-verbose
- Ne pas donner de sortie bavarde (c'est le comportement par
défaut).
- --no-exclusion
- Ne pas exclure automatiquement les fichiers mentionnés
dans le champ Files-Excluded de debian/copyright.
- --debug
- Afficher les pages web téléchargées sur la
sortie standard afin de déboguer le fichier
« watch ».
- --check-dirname-level N
- Veuillez consulter la section Vérification du nom
du répertoire ci-dessus pour une explication de cette
option.
- --check-dirname-regex regex
- Veuillez consulter la section Vérification du nom
du répertoire ci-dessus pour une explication de cette
option.
- --user-agent, --useragent
- Utiliser un champ « user agent »
différent de celui par défaut.
- --no-conf, --noconf
- Ne lire aucun fichier de configuration. L'option ne peut
être utilisée qu'en première position de la ligne de
commande.
- --help
- Afficher un bref message d'aide.
- --version
- Afficher les informations sur la version.
VARIABLES DE CONFIGURATION¶
Les deux fichiers de configuration
/etc/devscripts.conf et
~/.devscripts sont évalués dans cet ordre par un
interpréteur de commandes (« shell ») pour placer les
variables de configuration. Des options de ligne de commande peuvent être
utilisées pour neutraliser les paramètres des fichiers de
configuration. Les paramètres des variables d'environnement sont
ignorés à cette fin. Si la première option donnée en ligne
de commande est
--noconf, alors ces fichiers ne sont pas
évalués. Les variables actuellement identifiées sont :
- USCAN_DOWNLOAD
- Si elle est définie à no, les nouveaux
fichiers amonts ne seront pas téléchargés, ce qui
équivaut à utiliser les options --report ou
--no-download.
- USCAN_PASV
- Si elle est définie à yes ou no,
cela force respectivement à utiliser ou à ne pas utiliser le
mode passif pour les connexions FTP. Si elle est définie à
default, alors Net::FTP(3) fait un choix (basé
principalement sur la variable d'environnement FTP_PASSIVE).
- USCAN_TIMEOUT
- Si cette option est définie à un nombre N,
alors définir le temps limite à N secondes. C'est
équivalent à l'option --timeout.
- USCAN_SYMLINK
- Si cette option est mise à no, un lien
symbolique vers paquet_version.orig.tar.{gz|bz2|lzma|xz} ne sera pas
créé (équivalent à l'option --no-symlink). Si
elle est à yes ou symlink, les liens symboliques seront
créés. Si elle est à rename, les fichiers sont
renommés (équivalent à l'option --rename).
- USCAN_DEHS_OUTPUT
- Si cette option est à yes, alors la sortie sera
de type DEHS, comme si l'option --dehs était
utilisée.
- USCAN_VERBOSE
- Si elle est définie à yes, alors la sortie
sera bavarde, comme si l'option --verbose était
utilisée.
- USCAN_USER_AGENT
- Si elle est définie, elle spécifie la chaîne
à utiliser pour annoncer le navigateur (« user
agent ») à la place de la valeur par défaut. C'est
équivalent à l'option --user-agent.
- USCAN_DESTDIR
- Si elle est définie, elle désigne le
répertoire où les fichiers téléchargés seront
placés. C'est équivalent à l'option --destdir.
- USCAN_REPACK
- Si elle est définie à yes, alors
après avoir téléchargé une archive tar compressée
avec bzip ou lzma ou xz ou une archive ZIP, uscan recréera une
archive tar compressée avec gzip. C'est équivalent à
l'option --repack.
- USCAN_EXCLUSION
- Si elle est définie à no, les fichiers
mentionnés dans le champ Files-Excluded de
debian/copyright seront ignorés et aucune exclusion de
fichiers ne sera tentée. C'est équivalent à l'option
--no-exclusion.
VALEURS DE RETOUR¶
La valeur de retour indique si une nouvelle version a été
trouvée ; il est conseillé de lire la sortie pour
déterminer exactement ce qu'il s'est passé et pour voir s'il n'y a
pas eu d'avertissement.
- 0
- Soit les options --help ou --version ont
été utilisées, soit une nouvelle version amont a
été trouvée pour un des fichiers watch
examinés.
- 1
- Aucune nouvelle version amont n'a été
trouvée pour les fichiers watch examinés.
HISTORIQUE ET MISE À NIVEAU¶
Cette section décrit brièvement les incompatibilités inverses des
fonctionnalités du fichier
watch qui ont été
ajoutées dans chaque version du fichier
watch et la première
version du paquet
devscripts qui les comprenait.
- Versions antérieures à 2
- La syntaxe du fichier watch était très
différente à l'époque. Ne l'utilisez plus. Si vous mettez
votre fichier watch à niveau depuis une version
antérieure à 2, il est recommandé de lire cette page de
manuel et de recommencer à zéro.
- Version 2
- devscripts version 2.6.90 : la première
incarnation du style actuel de fichier watch.
- Version 3
- devscripts version 2.8.12 a introduit les choses
suivantes : manipulation correcte des expressions rationnelles dans
la partie du chemin, recherche de motif d'un répertoire/chemin,
numéro de version dans plusieurs parties, numéro de version
modifiable. Les versions suivantes ont introduit la modification des
liens.
Si vous êtes en train de vous mettre à niveau depuis la version 2,
l'incompatibilité principale est s'il existe plusieurs groupes dans
la partie des motifs. Alors que seul le premier était utilisé
dans la version 2, ils le seront tous dans la version 3. Pour éviter
ce comportement, modifiez les groupes non liés au numéro de
version en (?:...) au lieu d'un groupe ordinaire (...).
VOIR AUSSI¶
dpkg(1),
mk-origtargz(1),
perlre(1),
uupdate(1),
devscripts.conf(5)
AUTEUR¶
La version initiale de
uscan a été écrite par Christoph
Lameter <clameter@debian.org>. Des améliorations significatives,
d'autres modifications et des corrections de bogues ont été
apportées par Julian Gilbey <jdg@debian.org>. Le support pour HTTP
a été ajouté par Piotr Roszatycki <dexter@debian.org>. Le
programme a été réécrit en Perl par Julian Gilbey.
TRADUCTION¶
Ce document est une traduction, maintenue à l'aide de l'outil po4a <
https://po4a.alioth.debian.org/> par l'équipe de traduction
francophone du projet Debian.
Nicolas François, Guillaume Delacour, Cyril Brulebois, Thomas Huriaux et
David Prévot ont réalisé cette traduction.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. Veuillez signaler toute erreur de traduction
en écrivant à <
debian-l10n-french@lists.debian.org> ou
par un rapport de bogue sur le paquet devscripts.
La version anglaise la plus à jour de ce document est toujours consultable
en ajoutant l'option «
-L C » à la
commande
man.