Provided by: devscripts_2.25.19ubuntu2_all bug

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.gzuscan 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 .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 .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)