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.