Provided by: devscripts_2.25.19ubuntu2_all 

NOM
uscan - Tester ou surveiller la disponibilité d’une nouvelle version amont
SYNOPSIS
uscan [options] [chemin]
DESCRIPTION
Pour une utilisation basique, uscan est exécuté sans aucun paramètre à partir de la racine d’une
arborescence source debianisée où on voit le répertoire debian/ ou un répertoire contenant plusieurs
arborescences sources.
Sauf si --watchfile est indiqué, uscan recherche récursivement les arborescences source valides en
partant du répertoire courant (voir la section "Vérification du nom du répertoire" ci-dessous pour plus
de détails).
Pour chaque arborescence valide trouvée, typiquement la séquence est la suivante :
• uscan lit la première entrée dans debian/changelog pour déterminer le nom du paquet source <spkg> et
la dernière version amont.
• uscan traite les lignes de veille debian/watch de haut en bas en une passe unique.
• uscan télécharge une page web à partir de l’URL spécifiée dans debian/watch.
• uscan extrait les références href pointant vers l’archive amont (ou les archives) à partir de la
page web en utilisant le motif_correspondant dans debian/watch.
• uscan télécharge l’archive amont avec la version la plus haute plus récente que la dernière
version amont.
• uscan sauvegarde l’archive téléchargée dans le répertoire parent ../ :
../<upkg>-<uversion>.tar.gz
• uscan invoque mk-origtargz pour créer l’archive source : ../<spkg>_<oversion>.orig.tar.gz
• Pour un paquet MUT ("multiple upstream tarball" - archive amont multiple), l’archive amont
secondaire sera plutôt nommée ../<spkg>_<oversion>.orig-<composante>.tar.gz.
• L’action est répétée jusqu’à ce que toutes les lignes de debian/watch soient traitées.
• uscan invoque uupdate pour créer l’arborescence source debianisée : ../<spkg>-<oversion>/*
Veuillez noter les informations suivantes.
• Pour des raisons de simplicité, la méthode de compression utilisée dans les exemples est gzip avec le
suffixe .gz. Les autres méthodes telles que xz, bzip2 et lzma, avec les suffixes xz, bz2 et lzma
correspondants peuvent également être utilisées.
• Depuis la version 4 de debian/watch, uscan permet la gestion des paquets avec multiples sources
(MUT), mais ce sont des cas rares parmi les paquets Debian. Pour un paquet d’archive simple, il n’y a
qu’une ligne de veille et pas de ../<spkg>_<oversion>.orig-<composante>.tar.gz .
• uscan avec l’option --verbose produit un rapport lisible de son exécution.
• uscan avec l’option --debug produit un rapport lisible de son exécution avec l’état des variables
internes.
• uscan avec l’option --extra-debug produit un rapport lisible de son exécution avec l’état des
variables internes et le contenu distant lors de la phase "recherche".
• uscan avec l’option --dehs produit un rapport d’état du paquet amont au format XML pour que d’autres
programmes tels que Debian External Health System.
• L’objectif premier d’uscan est d’aider à déterminer si c’est bien la dernière version de l’archive
amont qui est utilisée et de télécharger cette version d’archive. L’ordre des versions est déterminée
par dpkg --compare-versions.
• L’option --safe d’uscan limite ses fonctionnalités à ses objectifs premiers. À la fois le repaquetage
des fichiers téléchargés et la mise à jour de l’arborescence source sont sautés pour éviter
l’exécution de scripts non sécurisés. Cela change aussi les options par défaut à --no-download et
--skip-signature.
FORMAT DU FICHIER DE VEILLE
Le format actuel de debian/watch est décrit dans la page de manuel debian-watch(5). Les formats
précédents (versions 1 à 4) le sont dans la page debian-watch-4(5).
EXEMPLES DE FICHIER DE COPYRIGHT
Voici un exemple de fichier debian/copyright qui déclenche le rempaquetage automatique de l’archive amont
en <spkg>_<oversion>.orig.tar.gz (dans debian/copyright, les alinéas Files-Excluded et
Files-Excluded-component font partie du premier paragraphe et il existe un ligne vide avant les
paragraphes suivants qui contiennent Files et d’autres alinéas.) :
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files-Excluded: exclude-this
exclude-dir
*/exclude-dir
.*
*/js/jquery.js
Files: *
Copyright: ...
...
Voici un autre exemple de fichier debian/copyright qui déclenche le rempaquetage automatique d’archives
amont multiples en <spkg>_<oversion>.orig.tar.gz et <spkg>_<oversion>.orig-bar.tar.gz:
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files-Excluded: exclude-this
exclude-dir
*/exclude-dir
.*
*/js/jquery.js
Files-Excluded-bar: exclude-this
exclude-dir
*/exclude-dir
.*
*/js/jquery.js
Files: *
Copyright: ...
...
Le fichier debian/copyright peut également contenir des entrées Files-Included et
Files-Included-component qui ré-incluent des fichiers précédemment exclus. C'est pratique pour exclure un
répertoire à l'exception de quelques fichiers :
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files-Excluded: vendor-dir
Files-Included:
vendor-dir/directory/to/keep
vendor-dir/*/file-to-keep
Files: *
Copyright: ...
...
Voir mk-origtargz(1).
EXEMPLES DE FICHIER DE TROUSSEAU
Supposons que la "clef de test d’uscan (non secrète) <none@debian.org>" amont signe son paquet avec une
clef secrète OpenPGP et publie la clef publique OpenPGP correspondante. Cette clef publique OpenPGP peut
être identifiée de trois façons différentes avec sa forme hexadécimale.
• L’empreinte sous la forme des 20 octets de données calculés à partir de la clef publique OpenPGP. Par
exemple "CF21 8F0E 7EAB F584 B7E2 0402 C77E 2D68 7254 3FAF
• L’identificateur long " long keyid") sous la forme des 8 derniers octets de données de l’empreinte.
Par exemple, "C77E2D6872543FAF"
• L’identificateur court ("short keyid") sous la forme des 4 derniers octets de données de l’empreinte.
Par exemple, "72543FAF"
Compte tenu de l’existence des attaques par collisions sur les identificateurs courts, il est recommandé
d’utiliser l’identificateur long pour recevoir des clefs à partir des serveurs de clefs publiques. Vous
devez vérifier la clef OpenPGP téléchargée en utilisant la valeur de son empreinte complète dont vous
savez qu’elle est sûre.
Le fichier de trousseau blindé debian/upstream/signing-key.asc peut être créé en utilisant la commande
gpg comme suit.
$ gpg --recv-keys "C77E2D6872543FAF"
...
$ gpg --finger "C77E2D6872543FAF"
pub 4096R/72543FAF 2015-09-02
Key fingerprint = CF21 8F0E 7EAB F584 B7E2 0402 C77E 2D68 7254 3FAF
uid uscan test key (no secret) <none@debian.org>
sub 4096R/52C6ED39 2015-09-02
$ cd chemin/vers/<upkg>-<uversion>
$ mkdir -p debian/upstream
$ gpg --export --export-options export-minimal --armor \
'CF21 8F0E 7EAB F584 B7E2 0402 C77E 2D68 7254 3FAF' \
>debian/upstream/signing-key.asc
Les fichiers de trousseau binaires, debian/upstream/signing-key.pgp et debian/upstream-signing-key.pgp,
sont encore gérés, mais ils sont obsolètes.
Si un groupe de développeurs signe le paquet, il faut la liste des empreintes de chacun d’entre eux dans
le paramètre pour gpg --export ... afin que le trousseau contienne toutes leurs clefs OpenPGP.
Parfois, on se demande qui a créé le fichier de signature. Il est possible d’obtenir l’identificateur de
la clef publique utilisé pour créer le fichier de signature séparé toto-2.0.tar.gz.asc en exécutant gpg
ainsi :
$ gpg -vv toto-2.0.tar.gz.asc
gpg: armor: BEGIN PGP SIGNATURE
gpg: armor header: Version: GnuPG v1
:signature packet: algo 1, keyid C77E2D6872543FAF
version 4, created 1445177469, md5len 0, sigclass 0x00
digest algo 2, begin of digest 7a c7
hashed subpkt 2 len 4 (sig created 2015-10-18)
subpkt 16 len 8 (issuer key ID C77E2D6872543FAF)
data: [4091 bits]
gpg: assuming signed data in `toto-2.0.tar.gz'
gpg: Signature made Sun 18 Oct 2015 11:11:09 PM JST using RSA key ID 72543FAF
...
OPTIONS DE LIGNE DE COMMANDE
Pour un usage basique d’uscan, la configuration de ces options n’est pas nécessaire.
--conffile, --conf-file
Ajoute ou remplace les fichiers de configuration par défaut ("/etc/devscripts.conf" and
"~/.devscripts"). L’option ne peut être utilisée qu’en première position de la ligne de commande.
remplacer :
uscan --conf-file test.conf --verbose
ajouter :
uscan --conf-file +test.conf --verbose
Si l’un des --conf-file ne contient pas de "+", les fichiers de configuration par défaut sont
ignorés.
--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.
--no-verbose
Ne pas rapporter d’informations verbeuses. (Par défaut).
--verbose, -v
Rapporter des informations verbeuses.
--debug, -vv
Rapporter des informations verbeuses et les valeurs de certains états internes.
--extra-debug, -vvv
Rapporter des informations verbeuses y compris les pages web téléchargées traitées sur la sortie
d’erreur standard pour débogage.
--dehs
Envoyer la sortie de style DEHS (type XML) sur la sortie standard, tout en envoyant toutes les autres
sorties de uscan sur la sortie d’erreur standard.
--no-dehs
Utiliser seulement le format de sortie traditionnel de uscan. (Par défaut)
--download, -d
Télécharger la nouvelle version amont. (Par défaut)
--force-download, -dd
Télécharger la nouvelle version amont même si elle est à jour (peut ne pas écraser les fichiers
locaux).
--overwrite-download, -ddd
Télécharger le fichier amont même si le paquet est à jour (peut écraser les fichiers locaux).
--no-download, --nodownload
Ne pas télécharger ni rapporter d’information.
Des archives précédemment téléchargées peuvent être utilisées.
Passage du comportement par défaut à --skip-signature.
--signature
Télécharger la signature. (Par défaut)
--no-signature
Ne pas télécharger la signature, mais vérifier si elle a déjà été téléchargée.
-skip-signature
Ne pas s’occuper de télécharger ni de vérifier la signature.
--safe, --report
Éviter l’exécution de scripts non sécurisés en sautant à la fois le rempaquetage du paquet téléchargé
et la mise à jour de l’arborescence de la nouvelle source.
Passage du comportement par défaut à --no-download et --skip-signature.
Quand l’objectif de l’exécution de uscan est de recueillir l’état du paquet amont sous un
environnement conscient de la sécurité, veuillez vous assurer d’utiliser cette option.
--report-status
Équivaut à utiliser l’option --verbose --safe.
--download-version version
Indiquer la version à laquelle la version amont doit correspondre pour être prise en compte, plutôt
qu’utiliser celle avec le numéro de version le plus important (fonctionnalité optimale).
--download-debversion version
Préciser la version du paquet Debian dont il faut télécharger la version amont correspondante. Les
règles dversionmangle et uversionmangle sont prises en compte (fonctionnalité au meilleur effort).
--download-current-version
Télécharger la version actuelle du paquet. (fonctionnalité optimale)
--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.
--destdir chemin Normalement, uscan change son répertoire courant interne pour le répertoire source du
paquet où le répertoire debian/ est situé. Ensuite, le répertoire de destination de l’archive téléchargée
et des autres fichiers est défini sur le répertoire parent ../ à partir de ce répertoire courant interne.
Le répertoire de destination par défaut peut être remplacé en définissant l’option --destdir vers un
chemin particulier. Si ce chemin est un chemin relatif, le répertoire de destination est déterminé
relativement au répertoire courant interne d’exécution d’uscan. Si ce chemin est un chemin absolu, le
répertoire de destination est fixé à cheminindépendamment du répertoire courant interne d’exécution
d’uscan.
Ce qui précède est vrai non seulement pour l’exécution unique d’uscan dans une arborescence de
sources unique, mais aussi pour l’exécution par uscan d’une recherche avancée dans des
sous-répertoires contenant plusieurs arborescences de sources.
Une exception existe quand les options --watchfile et --package sont utilisées ensemble. Dans ce cas,
le répertoire courant interne d’exécution d’uscan et le répertoire de destination par défaut sont
définis au répertoire courant . où uscan est lancé. Le répertoire de destination par défaut peut être
remplacé en définissant aussi l’option --destdir.
--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
configure automatiquement --no-download et --skip-signature ; elle 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 debian/watch ou le journal des
modifications de Debian pour le déterminer. C’est ignoré si un balayage de répertoire est fait et que
plus d’un fichier debian/watch est trouvé.
--vcs-export-uncompressed
Supprimer la compression d’archives exportées depuis un système de contrôle de versions (Git ou
Subversion). Cela occupe plus d’espace, mais permet de gagner du temps si mk-origtargz doit
réempaqueter l’archive pour exclure des fichiers. Force le réempaquetage de toutes les archives
exportées.
--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).
Une exception existe quand les options --watchfile et --package sont utilisées ensemble. uscan peut
être appelé à partir de n’importe quel répertoire et le répertoire courant interne d’exécution
d’uscan et le répertoire de destination par défaut sont définis au répertoire courant . où uscan est
lancé.
Vous trouverez plus d’informations dans l’explication de --destdir.
--bare
Désactiver tout le code "special code" spécifique au site pour réaliser les redirections d’URL et les
altérations de contenu de page.
--http-header
Ajoute l’en-tête spécifié dans les requêtes HTTP correspondant à l’url. Cette option peut être
multivaluée, les valeurs doivent être de la forme "baseUrl@NomEnTête=valeur". Exemple :
uscan --http-header https://example.org@My-Token=azertyuiop
Sécurité :
L’URL baseUrl doit exactement correspondre à l’URL de base avant "/". Exemples :
| valeur --http-header | Bonne pour | Inutilisée |
+------------------------------------+-----------------------------+------------+
| https://example.org.com@Hdr=Value | https://example.org.com/... | |
| https://example.org.com/@Hdr=Value | | X |
| https://e.com:1879@Hdr=Value | https://e.com:1879/... | |
| https://e.com:1879/dir@Hdr=Value | https://e.com:1879/dir/... | |
| https://e.com:1879/dir/@Hdr=Value | | X |
Il est vivement recommandé de ne pas utiliser cette fonctionnalité pour passer un jeton secret via
une connexion non chiffrée (http://)
On peut utiliser la variable "USCAN_HTTP_HEADER" (dans "~/.devscripts") pour masquer les jetons
secrets des scripts
--no-exclusion
Ne pas exclure automatiquement les fichiers mentionnés dans le champ Files-Excluded de
debian/copyright.
--no-symlink
Ne pas renommer ni rempaqueter l’archive amont.
--timeout N
Définir le temps d’attente à N secondes (20 secondes par défaut).
--user-agent, --useragent
Utiliser un champ "user agent" différent de celui par défaut.
--help
Afficher un bref message d’aide.
--version
Afficher les informations sur la version.
uscan accepte aussi les options suivantes et les passe à mk-origtargz :
--symlink
Faire des fichiers résultants orig.tar.gz (avec l’extension appropriée) 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 lzma tar, xz tar, bzip tar, gz tar, lz tar, zip, jar, xpi, zstd,
la réempaqueter à la compression spécifiée (voir --compression).
Le paquet unzip doit être installé pour réempaqueter les archives zip, jar et xpi, le paquet xz-utils
pour les archives tar compressées avec lzma ou xz, le paquet zstd pour les archives zstd et le paquet
lzip pour les archives lz tar.
--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. La méthode par défaut est gzip pour les archives normales, et xz pour les
archives générées directement à partir du dépôt git.
--copyright-file fichier_de_copyright
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.
VARIABLES DE CONFIGURATION DE DEVSCRIPT
Pour une utilisation de base d’uscan, la configuration de ces variables n’est pas nécessaire.
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
Télécharger ou rapporter l’information seulement:
no : équivaut à --no-download, les nouveaux fichiers ne seront pas téléchargés.
yes: equivaut à --download, les nouveaux fichiers amont seront téléchargés. C’est le comportement par
défaut.
Voir aussi --force-download and --overwrite-download.
USCAN_SAFE
Si elle est définie à yes, alors uscan évite l’exécution de scripts non sécurisés en sautant à la
fois le rempaquetage du paquet téléchargé et la mise à jour de l’arborescence de la nouvelle source ;
c’est l’équivalent des options --safe ; cela définit aussi les options par défaut à --no-download et
--skip-signature.
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 verbeuse, 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, lzma,
xz ou zstd ou une archive ZIP, uscan recréera une archive compressée du type défini (voir
--compression). 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.
USCAN_HTTP_HEADER
Si définie, l’en-tête spécifié sera utilisé pour toutes les URLs correspondantes. C’est équivalent à
l’option --http-header.
USCAN_VCS_EXPORT_UNCOMPRESSED
Si elle est définie à yes, les archives exportées depuis un système de contrôle de versions ne seront
pas compressées. C’est équivalent à l’option --vcs-export-uncompressed.
VALEURS DE RETOUR
Le code de retour indique si une nouvelle version a été trouvée ; il est conseillé de lire la sortie pour
déterminer exactement ce qui 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.
FONCTIONNALITÉS AVANCÉES
uscan possède beaucoup d’autres fonctionnalités qui sont sautées dans la section ci-dessus, pour être
plus simple. Regardons leurs points marquants.
uscan peut être exécuté avec chemin comme paramètre pour passer le répertoire de départ de recherche du
répertoire courant à chemin.
Si vous ne savez pas exactement ce qui se passe dans les coulisses, veuillez activer l’option --verbose.
Si ce n’est pas suffisant, activez l’option --debug pour voir toutes les actions internes.
Voir "OPTIONS DE LIGNE DE COMMANDE" et "VARIABLES DE CONFIGURATION DE DEVSCRIPT" pour d’autres variantes.
Script personnalisé
Le paramètre optionnel script dans debian/watch signifie exécuter script avec des options après avoir
traité cette ligne si elle est spécifiée.
Voir "HISTORIQUE ET MISE À NIVEAU" pour voir comment uscan invoque le <script> personnalisé.
Pour des raisons de compatibilité avec d’autres outils tels que git-buildpackage, il peut être judicieux
de ne pas créer des scripts personnalisés au comportement aléatoire. En général, uupdate est le meilleur
choix pour un paquet non natif, et les scripts personnalisés, s’ils existent, devraient se comporter
comme uupdate. Pour des cas d’utilisation potentiels, voir <http://bugs.debian.org/748474> comme exemple.
Détournement d’URL
Certains sites populaires ont changé leur structure de page web provoquant des problèmes de maintenance
du fichier de veille. Des services de redirection ont été créés pour faciliter sa maintenance.
Actuellement, uscan fait un détournement automatique des requêtes d’URL pour les URL suivantes afin de
gérer cette situation.
• <http://sf.net>
• <http://pypi.python.org>
Vérification du nom du répertoire
Comme plusieurs autres scripts du paquet devscripts, uscan parcourt l’arborescence du 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, et pour des raisons d’efficacité, 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 expression_rationnelle. 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. Sinon, elle doit correspondre au nom de répertoire complet. Si
elle contient la chaîne paquet, cette chaîne sera remplacée par le nom du paquet source déterminé par le
fichier debian/changelog. La valeur par défaut de cette expression rationnelle est : paquet(-.+)?, ce qui
correspond aux répertoires nommés paquet ou paquet-version.
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. Cette version
est également dépréciée et sera rejetée dès la publication de Debian 11.
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
lorsqu’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 ( ... ).
• uscan invoque le script personnalisé comme ceci : script --upstream-version version
../spkg_version.orig.tar.gz.
• uscan invoque uupdate standard comme ceci : "uupdate --no-symlink --upstream-version version
../spkg_version.orig.tar.gz".
Version 4
devscripts version 2.15.10 : la première incarnation des fichiers watch prenant en charge les
archives amont multiples.
La syntaxe du fichier de veille est assouplie pour permettre plus d’espaces de lisibilité.
Si vous avez un script personnalisé à la place de uupdate, vous pouvez aussi rencontrer des problèmes
lors de la mise à jour à partir de la version 3.
• uscan invoque le script personnalisé comme ceci : "script --upstream-version version".
• uscan invoque uupdate standard comme ceci : "uupdate --find --upstream-version version".
Les restrictions pour --dehs sont levées en redirigeant les autres sorties sur la sortie d’erreur
standard lorsque elle est active.
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>. La prise en charge de HTTP a été ajouté par Piotr Roszatycki <dexter@debian.org>. Le
programme a été réécrit en Perl par Julian Gilbey. Xavier Guimard l’a convertit en Perl orienté-objet en
utilisant Moo.
TRADUCTION
Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>, 2006
Thomas Huriaux <thomas.huriaux@gmail.com>, 2006
David Prévot <david@tilapin.org>, 2010-2013
Xavier Guimard <yadd@debian.org>, 2018-2024
Utilitaires Debian 2025-09-02 USCAN.FR(1)