Flashnux

GNU/Linux man pages

Livre :
Expressions régulières,
Syntaxe et mise en oeuvre :

ISBN : 978-2-7460-9712-4
EAN : 9782746097124
(Editions ENI)

uscan(1)


USCAN

USCAN

NOM
SYNOPSIS
DESCRIPTION
FORMAT du fichier debian/watch
OPTIONS SPÉCIFIQUES À UN SITE
Vérification du nom du répertoire
EXEMPLE
OPTIONS
VARIABLES DE CONFIGURATION
VALEURS DE RETOUR
HISTORIQUE ET MISE À NIVEAU
VOIR AUSSI
AUTEUR
TRADUCTION

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 courant 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 le type d’entrée que l’on peut trouver dans un fichier debian/watch. Bien sür, toutes ces entrées n’apparaîtront pas dans un seul fichier. Il y a d’habitude une seule ligne pour le paquet courant.

# 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

# 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

# githubredir.debian.net est un redirecteur pour les projets GitHub
# Il peut être utilisé de la façon suivante :
http://githubredir.debian.net/github/<utilisateur>/<projet> (.*).tar.gz

# Ceci est le format pour un site qui poss&egrave;de des num&eacute;ros de
# version exotiques ; le groupe entre parenth&egrave;ses devra &ecirc;tre joint
# par des points pour cr&eacute;er un num&eacute;ro de version sain
http://www.site.com/pub/toto/toto_v(\d+)_(\d+)\.tar\.gz

# Voici une autre mani&egrave;re pour des sites ayant des num&eacute;ros de version
# bizarres, en effectuant une modification cette fois. (Notez que
# plusieurs groupes seront concat&eacute;n&eacute;s avant d’effectuer la modification,
# et que les modifications ne seront effectu&eacute;es que sur le num&eacute;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&egrave;re similaire, la partie de la version amont du num&eacute;ro de
# version Debian peut &ecirc;tre modifi&eacute;e :
opts=dversionmangle=s/\.dfsg\.\d+$// \
http://un.site.org/un/chemin/toto−(.*)\.tar\.gz

# Le nom de fichier est d&eacute;termin&eacute; en prenant le dernier composant de
# l’URL et en retirant tout ce qui se trouve apr&egrave;s un &eacute;ventuel « ? ».
# Si &ccedil;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 &ecirc;tre g&eacute;r&eacute; 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 &ecirc;tre g&eacute;r&eacute; ainsi :
# opts=filenamemangle=s/.*=(.*)/toto−$1\.tar\.gz/ \
# http://toto.titi.org/download/\?path=&amp;download_version=(.*)

# L’option downloadurlmangle peut &ecirc;tre utilis&eacute;e pour modifier l’URL
# du fichier &agrave; t&eacute;l&eacute;charger. Ceci ne peut &ecirc;tre utilis&eacute; qu’avec des liens
# http://. Ceci peut &ecirc;tre n&eacute;cessaire si le lien donn&eacute; sur la page web
# doit &ecirc;tre transform&eacute; de mani&egrave;re &agrave; 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 &ecirc;tre ajout&eacute;es avec un caract&egrave;re « # ». Les lignes peuvent se poursuivre &agrave; la ligne suivante en les terminant par un caract&egrave;re backslash (« \ »).

La premi&egrave;re ligne (en ne prenant pas en compte les commentaires) doit commencer par « version=3 ». Ceci devrait permettre des extensions futures, sans avoir &agrave; 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&eacute;crit plus bas et sera ignor&eacute; dans ce qui suit.

Le premier champ donne le mod&egrave;le complet des URL &agrave; rechercher. Dans le cas d’un site FTP, la liste des fichiers du r&eacute;pertoire indiqu&eacute; sera demand&eacute;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&eacute;f&eacute;rences « href » (liens de la forme <a href=...>) vers soit une URL compl&egrave;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&egrave;le donn&eacute;. L’ensemble, jusqu’au « / » final est consid&eacute;r&eacute; comme l’URL compl&egrave;te, tant qu’il n’y a pas de parenth&egrave;se (« ( » et « ) ») dans cette partie de l’URL. S’il y a des parenth&egrave;ses, on cherchera &agrave; faire correspondre le nom du r&eacute;pertoire de la m&ecirc;me fa&ccedil;on que l’&eacute;l&eacute;ment final de l’URL, comme d&eacute;crit ci−dessous. (Veuillez noter que les caract&egrave;res sp&eacute;ciaux des expressions rationnelles, comme « + » sont consid&eacute;r&eacute;s litt&eacute;ralement, &agrave; moins qu’ils se trouvent dans une partie entre parenth&egrave;ses ; voyez l’exemple d’Atlas−C++ ci−dessus. De plus, les parenth&egrave;ses doivent se fermer &agrave; l’int&eacute;rieur de chaque &eacute;l&eacute;ment du chemin.)

Le mod&egrave;le (la partie apr&egrave;s le « / » final) est une expression rationnelle Perl (voir perlre(1) pour plus de d&eacute;tails). Vous devez utiliser un mod&egrave;le suffisamment strict pour qu’il ne corresponde qu’au programme amont qui vous int&eacute;resse, et &agrave; rien d’autre. Aussi, le mod&egrave;le sera ancr&eacute; au d&eacute;but et &agrave; la fin pour qu’il corresponde au nom complet. (Notez que dans les URL HTTP, le champ « href » peut contenir un chemin absolu ou le nom du site avec le chemin, et &ecirc;tre toujours accept&eacute;.) Le mod&egrave;le doit contenir au moins un groupe Perl comme d&eacute;crit dans le prochain paragraphe.

Apr&egrave;s avoir r&eacute;cup&eacute;r&eacute; une liste de « fichiers » qui correspondent au mod&egrave;le, leurs num&eacute;ros de version sont extraits en concat&eacute;nant l’ensemble des groupes de l’expression rationnelle Perl (d&eacute;marqu&eacute;s par « (...) ») et en les s&eacute;parant par un « . ». Ce num&eacute;ro est consid&eacute;r&eacute; comme le num&eacute;ro de version du fichier. Les num&eacute;ros de version sont ensuite modifi&eacute;s si l’option uversionmangle, d&eacute;crite ci−dessous, a &eacute;t&eacute; pr&eacute;cis&eacute;e. Enfin, les versions des fichiers sont ensuite compar&eacute;es pour trouver celui qui a le plus grand num&eacute;ro de version, qui est trouv&eacute; en utilisant dpkg −−compare−versions. Note : si vous avez besoin de groupes qui ne sont pas utilis&eacute;s dans le num&eacute;ro de version, utilisez soit « (?:...) » soit l’option uversionmangle pour nettoyer la version par la suite.

La version courante (amont) peut &ecirc;tre indiqu&eacute;e comme le second param&egrave;tre dans la ligne du fichier. Si elle vaut debian ou est absente, alors la version courante Debian (telle qu’elle est d&eacute;termin&eacute;e par debian/changelog) est utilis&eacute;e pour d&eacute;terminer la version amont courante. La version amont courante peut aussi &ecirc;tre indiqu&eacute;e par l’option −−upstream−version en ligne de commande, qui sp&eacute;cifie le num&eacute;ro de version amont du paquet actuellement install&eacute; (c’est−&agrave;−dire, le num&eacute;ro de version Debian sans epoch ni version Debian). Le num&eacute;ro de version amont sera alors modifi&eacute; en utilisant l’option dversionmangle si elle est indiqu&eacute;e, tel que cela est d&eacute;crit plus bas. Si la version la plus r&eacute;cente disponible est plus r&eacute;cente que la version courante, alors elle sera t&eacute;l&eacute;charg&eacute;e dans le r&eacute;pertoire parent, sans que l’option −−report ou −−report−status ait &eacute;t&eacute; utilis&eacute;e. Une fois que le fichier a &eacute;t&eacute; t&eacute;l&eacute;charg&eacute;, un lien symbolique vers le fichier est cr&eacute;&eacute; depuis le paquet <paquet>_<version>.orig.tar.gz si le fichier a un suffixe .tar.gz ou .tgz et <paquet>_<version>.orig.tar.bz2 si le fichier a un suffixe .tar.bz2, .tbz ou .tbz2.

Enfin, si un troisi&egrave;me param&egrave;tre est donn&eacute; dans la ligne du fichier « watch », il est consid&eacute;r&eacute; comme le nom d’une commande, et la commande :
commande
−−upstream−version version nom_fichier
est ex&eacute;cut&eacute;e, en utilisant soit le fichier initial, soit le nom du lien symbolique. En r&egrave;gle g&eacute;n&eacute;rale, cette commande est uupdate. (Notez que la syntaxe d’appel est l&eacute;g&egrave;rement diff&eacute;rente de celle des fichiers « watch » sans la ligne « version=... », pour lesquels la commande ex&eacute;cut&eacute;e &eacute;tait « commande fichier version ».)

L’autre syntaxe possible pour les URL HTTP est la suivante. Le premier champ correspond &agrave; la page d’accueil qui doit &ecirc;tre t&eacute;l&eacute;charg&eacute;e et dans laquelle doivent &ecirc;tre recherch&eacute;s les liens (« href ») correspondant au mod&egrave;le donn&eacute; dans le second champ. (Encore une fois, ce mod&egrave;le sera ancr&eacute; &agrave; son d&eacute;but et &agrave; sa fin, de fa&ccedil;on &agrave; ce qu’il corresponde au lien complet. Si vous chercher &agrave; faire correspondre uniquement le nom de base du lien, vous pouvez utiliser un mod&egrave;le comme « .*/nom−(.*)\.tar\.gz » si vous savez qu’il y a une URL compl&egrave;te, ou encore mieux : « (?:.*/)?nom−(.*)\.tar\.gz » si l’URL peut &ecirc;tre ou ne pas &ecirc;tre compl&egrave;te. Notez l’utilisation de « (?:...) » qui &eacute;vite de cr&eacute;er une r&eacute;f&eacute;rence.) Si un des liens de cette page est une URL relative, elle sera consid&eacute;r&eacute;e comme relative &agrave; l’URL de base de la page d’accueil (c’est−&agrave;−dire en retirant tout ce qui suit le « / » final), ou relative &agrave; l’URL de base indiqu&eacute;e dans cette page avec une balise <base href="...">. Les troisi&egrave;me et quatri&egrave;me champs sont les champs du num&eacute;ro de version et de la commande, comme pr&eacute;c&eacute;demment.

OPTIONS SPÉCIFIQUES À UN SITE

Une ligne du fichier « watch » peut &ecirc;tre pr&eacute;c&eacute;d&eacute;e de « opts=options », o&ugrave; options est une liste d’options s&eacute;par&eacute;es par des virgules. La cha&icirc;ne options peut &ecirc;tre plac&eacute;e entre guillemets doubles (« " »), ce qui est n&eacute;cessaire si options contient des espaces. Les options reconnues sont :
active
et passive (ou pasv)

Si utilis&eacute; sur une ligne FTP, ceci forcera l’utilisation du mode passif (PASV) ou actif pour ce site.

uversionmangle=r&egrave;gles

Ceci permet de modifier le num&eacute;ro de version amont qui correspond &agrave; une r&egrave;gle ftp://... ou http://... de la fa&ccedil;on suivante. Dans un premier temps, les r&egrave;gles sont d&eacute;coup&eacute;es en plusieurs r&egrave;gles en utilisant « ; » comme s&eacute;parateur. Puis les num&eacute;ros de version amont sont modifi&eacute;s en appliquant la r&egrave;gle &agrave; la version, de fa&ccedil;on similaire &agrave; l’ex&eacute;cution de la commande Perl suivante :
$version =~ r&egrave;gle;
pour chaque r&egrave;gle. Ainsi, la r&egrave;gle « s/^/0./ » permet d’ajouter « 0. » au d&eacute;but du num&eacute;ro de version et « s/_/./g » pour changer les « underscore » en point. Notez que la cha&icirc;ne de caract&egrave;res r&egrave;gle ne doit pas contenir de virgule ; ceci ne devrait pas &ecirc;tre un probl&egrave;me.

r&egrave;gle ne peut utiliser que les op&eacute;rations « s », « tr » et « y ». Quand l’op&eacute;ration « s » est utilis&eacute;e, seuls les drapeaux « g », « i » et « x » peuvent &ecirc;tre utilis&eacute;s et r&egrave;gle ne peut contenir d’expression pouvant ex&eacute;cuter du code (c’est−&agrave;−dire que les constructions de la forme (?{}) ou (??{}) ne sont pas prises en charge).

dversionmangle=r&egrave;gles

Utilis&eacute; pour modifier le num&eacute;ro de version Debian du paquet courant install&eacute; dans la m&ecirc;me optique que l’option uversionmangle. Ainsi, une r&egrave;gle appropri&eacute;e peut &ecirc;tre « s/\.dfsg\.\d+$// » pour supprimer le suffixe « .dfsg.1 » dans un num&eacute;ro de version Debian ou pour g&eacute;rer les num&eacute;ros de version de type « .pre6 ». Ici encore, la cha&icirc;ne de caract&egrave;res r&egrave;gles ne doit pas contenir de virgule ; ceci ne devrait pas &ecirc;tre un probl&egrave;me.

versionmangle=r&egrave;gles

Il s’agit d’un raccourci syntactique pour uversionmangle=r&egrave;gles,dversionmangle=r&egrave;gles, appliquant les m&ecirc;mes r&egrave;gles &agrave; la fois aux num&eacute;ros de version Debian et amont.

filenamemangle=r&egrave;gles

Ceci est utilis&eacute; pour modifier le nom de fichier sous lequel le fichier t&eacute;l&eacute;charg&eacute; sera enregistr&eacute;, et est parcouru de la m&ecirc;me mani&egrave;re qu’avec l’option uversionmangle. Les exemples d’utilisation sont donn&eacute;s dans la section ci−dessus.

downloadurlmangle=r&egrave;gles

Ceci est utilis&eacute; pour modifier l’URL n&eacute;cessaire pour le t&eacute;l&eacute;chargement. L’URL est d’abord calcul&eacute;e en se basant sur la page principale t&eacute;l&eacute;charg&eacute;e et sur la correspondance du motif, puis le num&eacute;ro de version est d&eacute;termin&eacute; depuis cette URL. Enfin, toutes les r&egrave;gles donn&eacute;es par cette option sont appliqu&eacute;es avant que la tentative de t&eacute;l&eacute;chargement soit effectu&eacute;e. Un exemple d’utilisation est donn&eacute; dans la section des exemples ci−dessus.

V&eacute;rification du nom du r&eacute;pertoire

Comme plusieurs autres scripts du paquet devscripts, uscan parcourt le r&eacute;pertoire demand&eacute; &agrave; la recherche de fichiers debian/changelog et debian/watch. Pour se prot&eacute;ger contre certains fichiers &eacute;gar&eacute;s qui pourraient poser probl&egrave;me, il examine le nom du r&eacute;pertoire parent une fois qu’il a trouv&eacute; le fichier debian/changelog, et v&eacute;rifie que le nom du r&eacute;pertoire correspond au nom du paquet. Il ne cherchera &agrave; t&eacute;l&eacute;charger les nouvelles versions d’un paquet et &agrave; effectuer l’action demand&eacute;e que si le nom du r&eacute;pertoire correspond au nom du paquet. La fa&ccedil;on pr&eacute;cise utilis&eacute;e est contr&ocirc;l&eacute;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&eacute;es −−check−dirname−level et −−check−dirname−regex.

DEVSCRIPTS_CHECK_DIRNAME_LEVEL peut prendre les valeurs suivantes :

0

Ne v&eacute;rifie jamais le nom du r&eacute;pertoire.

1

Ne v&eacute;rifie le nom du r&eacute;pertoire que s’il a fallu changer de r&eacute;pertoire pour trouver le fichier debian/changelog, c’est−&agrave;−dire que le r&eacute;pertoire qui contient debian/changelog n’est pas le r&eacute;pertoire dans lequel uscan a &eacute;t&eacute; invoqu&eacute;. C’est le comportement par d&eacute;faut.

2

V&eacute;rifie toujours le nom du r&eacute;pertoire.

Le nom du r&eacute;pertoire est v&eacute;rifi&eacute; en testant si le nom du r&eacute;pertoire courant (donn&eacute; par pwd(1)) correspond &agrave; l’expression rationnelle donn&eacute;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&eacute;e &agrave; son d&eacute;but et &agrave; sa fin. Si elle contient un « / », alors elle doit correspondre au chemin complet. Si elle contient la cha&icirc;ne « PACKAGE », cette cha&icirc;ne sera remplac&eacute;e par le nom du paquet source d&eacute;termin&eacute; par le fichier changelog. La valeur par d&eacute;faut de cette expression rationnelle est « PACKAGE(−.+)? », ce qui correspond aux r&eacute;pertoires nomm&eacute;s PACKAGE ou PACKAGE−version.

EXEMPLE

Ce script va r&eacute;aliser une mise &agrave; jour compl&egrave;tement automatique avec l’amont.

#!/bin/sh −e
# appel&eacute; 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&eacute;s automatiquement, puisque le responsable doit r&eacute;aliser des v&eacute;rifications sur le logiciel avant de l’envoyer &agrave; l’archive Debian.

OPTIONS

−−report, −−no−download

Ne fournit qu’un rapport indiquant les nouvelles versions, mais ne t&eacute;l&eacute;charge rien.

−−report−status

Rapporte l’&eacute;tat de tous les paquets, m&ecirc;me ceux qui sont &agrave; jour, mais ne t&eacute;l&eacute;charge rien du tout.

−−download

Fournit un rapport puis t&eacute;l&eacute;charge. (C’est le comportement par d&eacute;faut.)

−−destdir

Chemin du r&eacute;pertoire dans lequel placer les fichiers t&eacute;l&eacute;charg&eacute;s.

−−force−download

T&eacute;l&eacute;charger le fichier amont m&ecirc;me si le paquet est &agrave; jour (cependant, les fichiers locaux ne sont pas &eacute;cras&eacute;s).

−−pasv

Force le mode passif (« PASV ») pour les connexions FTP.

−−no−pasv

N’utilise pas le mode passif pour les connexions FTP.

−−timeout N

D&eacute;fini le temps d’attente &agrave; N secondes (20 secondes par d&eacute;faut).

−−symlink

Utilise un lien symbolique pour orig.tar.gz (respectivement orig.tar.bz2) lorsque les fichiers t&eacute;l&eacute;charg&eacute;s ont des extensions .tar.gz ou .tgz (respectivement .tar.bz2, .tbz et .tbz2). (C’est le comportement par d&eacute;faut.)

−−rename

Au lieu de cr&eacute;er des liens symboliques, renomme les fichiers t&eacute;l&eacute;charg&eacute;s avec leur nom Debian orig.tar.gz si leurs extensions sont .tar.gz ou .tgz et de mani&egrave;re semblable pour les fichiers d’extension tar.bz2.

−−repack

Apr&egrave;s avoir t&eacute;l&eacute;charg&eacute; une archive tar compress&eacute;e avec lzma ou xz ou bzip ou une archive zip, la rempaqueter dans une archive tar compress&eacute;e avec gzip, ce qui est toujours n&eacute;cessaire pour les paquets sources Debian. Ne rien faire si l’archive t&eacute;l&eacute;charg&eacute;e n’est ni une archive tar compress&eacute;e avec lzma ou xz ou bzip ni une archive zip (c’est−&agrave;−dire si elle ne finie pas par l’extension .tlz, tar.lzma, .txz, .tar.xz .tbz, .tbz2, .tar.bz2 ou .zip). Le paquet unzip doit &ecirc;tre install&eacute; pour rempaqueter les archives .zip, le paquet lzma doit &ecirc;tre install&eacute; pour rempaqueter les archives tar compress&eacute;es avec lzma et le paquet xz−utils doit &ecirc;tre install&eacute; pour rempaqueter les archives tar compress&eacute;es avec xz.

−−no−symlink

Ne cr&eacute;e pas ces liens symboliques et ne renomme pas les fichiers.

−−dehs

Utilise le format XML pour la sortie, requis par le syst&egrave;me DEHS.

−−no−dehs

Utilise le format de sortie traditionnel de uscan. (C’est le comportement par d&eacute;faut.)

−−package paquet

Indique le nom du paquet &agrave; contr&ocirc;ler plut&ocirc;t que d’examiner debian/changelog ; ceci requiert les options −−upstream−version (&agrave; moins qu’une option ne soit pr&eacute;cis&eacute;e dans le fichier watch) et −−watchfile. De plus, aucun r&eacute;pertoire ne sera scann&eacute; et rien ne sera t&eacute;l&eacute;charg&eacute;. Cette option est probablement la plus utile en conjonction avec le syst&egrave;me DEHS (et −−dehs).

−−upstream−version version−amont

Indique la version amont courante plut&ocirc;t que d’examiner le fichier watchfile ou le journal des modifications pour le d&eacute;terminer. Ceci est ignor&eacute; si un balayage de r&eacute;pertoire est fait et que plus d’un fichier watchfile est trouv&eacute;.

−−watchfile watchfile

Indique le fichier watchfile plut&ocirc;t que de faire un balayage de r&eacute;pertoire pour le d&eacute;terminer. Si cette option est utilis&eacute;e sans −−package, uscan devra &ecirc;tre appel&eacute; depuis l’arborescence du paquet Debian source (de sorte que debian/changelog puisse &ecirc;tre trouv&eacute; simplement par une recherche dans l’arborescence).

−−download−version version

Indique la version amont souhait&eacute;e, plut&ocirc;t que d’utiliser celle avec le num&eacute;ro de version le plus important.

−−download−current−version

T&eacute;l&eacute;charger la version du paquet actuel

−−verbose

Donne une sortie bavarde.

−−no−verbose

Ne donne pas de sortie bavarde. (C’est le comportement par d&eacute;faut.)

−−debug

Affiche les pages web t&eacute;l&eacute;charg&eacute;es sur la sortie standard afin de d&eacute;boguer votre fichier « watch ».

−−check−dirname−level N

Veuillez consulter la section ci−dessus « V&eacute;rification du nom du r&eacute;pertoire » pour une explication de cette option.

−−check−dirname−regex regex

Veuillez consulter la section ci−dessus « V&eacute;rification du nom du r&eacute;pertoire » pour une explication de cette option.

−−user−agent, −−useragent

Utiliser un champ « user agent » diff&eacute;rent de celui par d&eacute;faut.

−−no−conf, −−noconf

Ne lire aucun fichier de configuration. L’option ne peut &ecirc;tre utilis&eacute;e qu’en premi&egrave;re position de la ligne de commande.

−−help

Affiche 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 &eacute;valu&eacute;s dans cet ordre par un interpr&eacute;teur de commandes (« shell ») pour placer les variables de configuration. Des options de ligne de commande peuvent &ecirc;tre utilis&eacute;es pour neutraliser les param&egrave;tres des fichiers de configuration. Les param&egrave;tres des variables d’environnement sont ignor&eacute;s &agrave; cette fin. Si la premi&egrave;re option donn&eacute;e en ligne de commande est −−noconf, alors ces fichiers ne sont pas &eacute;valu&eacute;s. Les variables actuellement identifi&eacute;es sont :
USCAN_DOWNLOAD

Si elle est positionn&eacute;e &agrave; no, les nouveaux fichiers amonts ne seront pas t&eacute;l&eacute;charg&eacute;s, ce qui &eacute;quivaut &agrave; utiliser les options −−report ou −−no−download.

USCAN_PASV

Si elle est positionn&eacute;e &agrave; yes ou no, cela force respectivement &agrave; utiliser ou &agrave; ne pas utiliser le mode passif pour les connexions FTP. Si elle est positionn&eacute;e &agrave; default, alors Net::FTP(3) fera un choix (bas&eacute; principalement sur la variable d’environnement FTP_PASSIVE).

USCAN_TIMEOUT

Si cette option est d&eacute;finie &agrave; un nombre N, alors d&eacute;finir le temps limite &agrave; N secondes. C’est &eacute;quivalent &agrave; l’option −−timeout.

USCAN_SYMLINK

Si cette option est mise &agrave; no, un lien symbolique vers paquet_version.orig.tar.{gz|bz2} ne sera pas cr&eacute;&eacute; (&eacute;quivalent &agrave; l’option −−no−symlink). Si elle est &agrave; yes ou symlink, les liens symboliques seront cr&eacute;&eacute;s. Si elle est &agrave; rename, les fichiers sont renomm&eacute;s (&eacute;quivalent &agrave; l’option −−rename).

USCAN_DEHS_OUTPUT

Si cette option est &agrave; yes, alors la sortie sera de type DEHS, comme si l’option −−dehs &eacute;tait utilis&eacute;e.

USCAN_VERBOSE

Si elle est positionn&eacute;e &agrave; yes, alors la sortie sera bavarde, comme si l’option −−verbose &eacute;tait utilis&eacute;e.

USCAN_USER_AGENT

Si elle est d&eacute;finie, elle sp&eacute;cifie la cha&icirc;ne &agrave; utiliser pour annoncer le navigateur (« user agent ») &agrave; la place de la valeur par d&eacute;faut. C’est &eacute;quivalent &agrave; l’option −−user−agent.

USCAN_DESTDIR

Si elle est d&eacute;finie, elle d&eacute;signe le r&eacute;pertoire o&ugrave; les fichiers t&eacute;l&eacute;charg&eacute;s seront plac&eacute;s. C’est &eacute;quivalent &agrave; l’option −−destdir.

USCAN_REPACK

Si elle est positionn&eacute;e &agrave; yes, alors apr&egrave;s avoir t&eacute;l&eacute;charg&eacute; une archive tar compress&eacute;e avec bzip ou lzma ou xz ou une archive zip, uscan recr&eacute;era une archive tar compress&eacute;e avec gzip. C’est &eacute;quivalent &agrave; l’option −−repack.

VALEURS DE RETOUR

La valeur de retour indique si une nouvelle version a &eacute;t&eacute; trouv&eacute;e ; il est conseill&eacute; de lire la sortie pour d&eacute;terminer exactement ce qu’il s’est pass&eacute; et pour voir s’il n’y a pas eu d’avertissement.

0

Soit les options −−help ou −−version ont &eacute;t&eacute; utilis&eacute;es, soit une nouvelle version amont a &eacute;t&eacute; trouv&eacute;e pour un des fichiers « watch » examin&eacute;s.

1

Aucune nouvelle version amont n’a &eacute;t&eacute; trouv&eacute;e pour les fichiers « watch » examin&eacute;s.

HISTORIQUE ET MISE À NIVEAU

Cette section d&eacute;crit bri&egrave;vement les incompatibilit&eacute;s inverses des fonctionnalit&eacute;s du fichier watchfile qui ont &eacute;t&eacute; ajout&eacute;es dans chaque version du watchfile et la premi&egrave;re version du paquet devscripts qui les comprenait.
Versions ant&eacute;rieures &agrave; 2

La syntaxe du fichier watchfile &eacute;tait tr&egrave;s diff&eacute;rente &agrave; l’&eacute;poque. Ne l’utilisez plus. Si vous mettez votre fichier watchfile &agrave; niveau depuis une version ant&eacute;rieure &agrave; 2, il est recommand&eacute; de lire cette page de manuel et de recommencer &agrave; z&eacute;ro.

Version 2

devscripts version 2.6.90 : la premi&egrave;re incarnation du style courant de watchfile.

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&eacute;pertoire/chemin, num&eacute;ro de version dans plusieurs parties, num&eacute;ro de version modifiable. Les versions suivantes ont introduit la modification des liens.

Si vous &ecirc;tes en train de vous mettre &agrave; niveau depuis la version 2, l’incompatibilit&eacute; principale est s’il existe plusieurs groupes dans la partie des motifs. Alors que seul le premier &eacute;tait utilis&eacute; dans la version 2, ils le seront tous dans la version 3. Pour &eacute;viter ce comportement, modifiez les groupes non li&eacute;s au num&eacute;ro de version en (?:...) au lieu d’un groupe ordinaire (...).

VOIR AUSSI

dpkg(1), perlre(1), uupdate(1) et devscripts.conf(5).

AUTEUR

La version initiale de uscan a &eacute;t&eacute; &eacute;crite par Christoph Lameter <clameter@debian.org>. Des am&eacute;liorations significatives, d’autres modifications et des corrections de bogues ont &eacute;t&eacute; apport&eacute;es par Julian Gilbey <jdg@debian.org>. Le support pour HTTP a &eacute;t&eacute; ajout&eacute; par Piotr Roszatycki <dexter@debian.org>. Le programme a &eacute;t&eacute; r&eacute;crit en Perl par Julian Gilbey.

TRADUCTION

Ce document est une traduction, r&eacute;alis&eacute;e par Nicolas Fran&ccedil;ois, Guillaume Delacour, Cyril Brulebois et Thomas Huriaux.

L’&eacute;quipe de traduction a fait le maximum pour r&eacute;aliser une adaptation fran&ccedil;aise de qualit&eacute;.

La version anglaise la plus &agrave; jour de ce document est toujours consultable en ajoutant l’option « −L C » &agrave; la commande man.

N’h&eacute;sitez pas &agrave; signaler &agrave; l’auteur ou &agrave; la liste de traduction <debian−l10−french@lists.debian.org>, selon le cas, toute erreur dans cette page de manuel.



uscan(1)