uscan(1) 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.

FORMAT du fichier debian/watch

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 :
http://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=&amp;download=toto-0.1.1.tar.gz">
# peut être géré ainsi :
# opts=filenamemangle=s/.*=(.*)/$1/ \
#     http://toto.titi.org/download/\?path=&amp;download=toto-(.+)\.tar\.gz
#
# <A href="http://toto.titi.org/download/?path=&amp;download_version=0.1.1">
# peut être géré ainsi :
# opts=filenamemangle=s/.*=(.*)/toto-$1\.tar\.gz/ \
#    http://toto.titi.org/download/\?path=&amp;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 « .dfsg.1 » 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.

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 "[email protected]"
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).
--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 (...).

AUTEUR

La version initiale de uscan a été écrite par Christoph Lameter <[email protected]>. Des améliorations significatives, d'autres modifications et des corrections de bogues ont été apportées par Julian Gilbey <[email protected]>. Le support pour HTTP a été ajouté par Piotr Roszatycki <[email protected]>. Le programme a été réécrit en Perl par Julian Gilbey.

TRADUCTION

Ce document est une traduction, maintenue à l'aide de l'outil po4a <http://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 à <[email protected]> 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.