.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "doc::pod::fr::Debian::Packages::Compare 3" .TH doc::pod::fr::Debian::Packages::Compare 3 "2011-06-19" "perl v5.12.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "Nom" .IX Header "Nom" Debian::Packages::Compare \- Comparaison des de\*'po\*^ts Emdebian .SH "VERSION" .IX Header "VERSION" Version 3.0.0 .SH "Synopsis" .IX Header "Synopsis" Lit le fichier Packages, cre\*'e une table de hachage de paquet et de version X une fois par architecture, une par suite, une paire par de\*'po\*^t. Le module sous-jacent libparse-debian-packages-perl est un module tre\*`s simple, il n'y a probablement aucune raison de mettre des donne\*'es supple\*'mentaires dans la table de hachage de comparaison, ni de prendre les donne\*'es ne\*'cessaires et de charger les donne\*'es comple\*`tes de chaque paquet se\*'pare\*'ment en utilisant get_single_package. .PP Ce module est actuellement lie\*' a\*` la structure du de\*'po\*^t utilise\*' par reprepro dans le but d'identifier la liste d'architecture et divers autres e\*'le\*'ments de me\*'tadonne\*'es. A\*` l'avenir, des fonctions pourront e\*^tre ajoute\*'es pour fournir de telles listes. .PP Le module attend a\*` trouver tous les de\*'po\*^ts contenus dans un seul re\*'pertoire de base\ : .PP .Vb 1 \& $base/$repo_name/conf/distributions .Ve .PP Si \f(CW$base\fR n'est pas de\*'fini ou si les dossiers contenant les de\*'po\*^ts ne peuvent pas e\*^tre trouve\*'s, les fonctions retournent toutes undef. .PP etc. .PP Exemple de code\ : .PP .Vb 1 \& use Debian::Packages::Compare; \& \& my $base = \*(Aq/path/to/repositories/\*(Aq \& &set_base($base); .Ve .PP my \f(CW$debu\fR = &read_packages ('unstable', 'filter'); my \f(CW$gripu\fR = &read_packages ('unstable', 'grip'); my \f(CW%debianunstable\fR = %$debu if (defined \f(CW$debu\fR); my \f(CW%gripunstable\fR = %$gripu if (defined \f(CW$gripu\fR); foreach my \f(CW$pkg\fR (sort keys \f(CW%debianunstable\fR) { if ($debianunstable{$pkg}{'source'} ne \f(CW$gripunstable\fR{$pkg}{'source'}) { # \f(CW$pkg\fR est soit absent du de\*'po\*^t grip, soit une version diffe\*'rente } } .PP Les caracte\*'ristiques principales pour les versions suivantes impliqueront une gestion d'erreur plus volubile. .PP .Vb 2 \& perl \-MDebian::Packages::Compare \-MData::Dumper \-e \*(Aq&set_base("/opt/reprepro"); \e \& $c = &read_packages("testing","grip"); print Dumper ($$c{"dpkg"});\*(Aq; .Ve .SH "get_archlist" .IX Header "get_archlist" Exige la disposition du fichier de mise en page de reprepro, actuellement. .PP Lit les architectures disponibles et retourne une liste. .SH "get_locale_roots" .IX Header "get_locale_roots" Exige la disposition du fichier de mise en page de reprepro, actuellement. .PP Lit les racines locales disponibles et retourne une liste. .SH "get_components" .IX Header "get_components" Similaire a\*` get_locale_roots mais pour des de\*'po\*^ts ordinaires de sorte que la se\*'paration de composants (comme dev et doc dans Emdebian Grip) puisse e\*^tre traite\*'e implicitement. Noter que les de\*'po\*^ts avec contrib ou non-free vont probablement obtenir des re\*'sultats confus avec ce genre de prise en charge. .SH "get_suite_names" .IX Header "get_suite_names" Analyse le fichier conf/distributions et recherche le de\*'po\*^t spe\*'cifie\*' et re\*'cupe\*`re la liste des noms de suite configure\*'s X une liste agre\*'ge\*'e unique de variables Suite: et Codename: dans conf/distributions. .SH "get_unfrozen_suite_names" .IX Header "get_unfrozen_suite_names" Analyse le fichier conf/distributions et recherche le de\*'po\*^t spe\*'cifie\*' et re\*'cupe\*`re la liste des noms de suite configure\*'s qui ne sont \s-1PAS\s0 de type lecture-seule (ReadOnly). Les variables Codename: ne sont pas incluses. .SH "set_base" .IX Header "set_base" De\*'finit le re\*'pertoire de base du de\*'po\*^t (ou des de\*'po\*^ts) a\*` comparer. Le module s'attend a\*` trouver tous les de\*'po\*^ts contenus dans un seul re\*'pertoire de base\ : .PP .Vb 2 \& $base/$repo_name/dists/$suite/main/binary\-$arch/Packages \& $base/$repo_name/dists/$suite/main/source/Sources.gz .Ve .SH "read_sources" .IX Header "read_sources" Similaire a\*` read_binaries mais attend un fichier Sources.gz compresse\*' par GZip. En ge\*'ne\*'ral, il n'est pas appele\*' directement. .SH "read_binaries" .IX Header "read_binaries" Lit le fichier Packages et cre\*'e une table de hachage des paquets, des architectures et des versions dans les de\*'po\*^ts (sous le re\*'pertoire \f(CW$base\fR) et suites respectifs pour l'\f(CW@archlist\fR de\*'finie, en incluant les de\*'tails des sources. .PP Prend deux parame\*`tres\ : le nom de la suite et le nom du de\*'po\*^t. .PP Retourne undef si le fichier Packages est introuvable. .PP par exemple pour le de\*'po\*^t Grip\ : .PP .Vb 3 \& $hash{\*(Aqsed\*(Aq}{\*(Aqsource\*(Aq} => \*(Aq4.1.5\-8\*(Aq \& $hash{\*(Aqsed\*(Aq}{\*(Aqarmel\*(Aq} => \*(Aq4.1.5\-8em1\*(Aq \& ... .Ve .SH "read_locale" .IX Header "read_locale" Fonction spe\*'cialise\*'e qui ge\*`re l'organisation de la racine locale du de\*'po\*^t TDeb. La structure interne de composant de la racine locale est cache\*'e dans la table de hachage renvoye\*'e, le nom du composant est liste\*' se\*'pare\*'ment et contenu dans le nom du paquet. Les donne\*'es sources sont retenues sous le nom du paquet source original et re\*'fe\*'rence\*'es dans la table de hachage\ : .PP La racine locale est contenue dans \f(CW$list{$package}{\*(Aqlocale\*(Aq}\fR et le nom du paquet source dans \f(CW$list{$package}{\*(Aqsource\*(Aq}\fR .PP par exemple .PP .Vb 5 \& $hash{\*(Aqsed\-locale\-pt\-br}{\*(Aqsource\*(Aq} => \*(Aqsed\*(Aq \& $hash{\*(Aqsed\-locale\-pt\-br}{\*(Aqlocale\*(Aq} => \*(Aqpt\*(Aq \& $hash{\*(Aqsed\-locale\-pt\-br}{\*(Aqarmel\*(Aq} => \*(Aq4.1.5\-8\*(Aq \& ... \& $hash{\*(Aqsed\*(Aq}{\*(Aqsource\*(Aq} => \*(Aq4.1.5\-8\*(Aq .Ve .SH "get_single_package" .IX Header "get_single_package" Re\*'cupe\*`re l'enregistrement de tous les paquets pour un unique paquet, binaire (architecture unique) ou source (.dsc). .SH "get_missing_sources" .IX Header "get_missing_sources" Compare deux de\*'po\*^ts de la me\*^me suite et retourne une liste de paquets source qui sont dans le premier de\*'po\*^t mais pas dans le second (les versions plus anciennes sont ignore\*'es). .PP A\*` \s-1FAIRE\s0 : cre\*'er des fonctions get_outdated_sources et get_outdated_binaries. .SH "get_missing_binaries" .IX Header "get_missing_binaries" Compare deux de\*'po\*^ts de la me\*^me suite et retourne une liste de paquets binaires qui existent dans les deux de\*'po\*^ts comme paquets source mais existent seulement en tant que paquets binaires dans le premier de\*'po\*^t et pas dans le second. .PP Les suffixes de version d'Emdebian sont automatiquement efface\*'s dans la comparaison. .SH "get_britney_list" .IX Header "get_britney_list" Compare deux de\*'po\*^ts, chacun avec unstable et testing, retourne une liste de paquets source qui sont pre\*^ts pour la migration. .PP Pour e\*^tre pre\*^t a\*` la migration, un paquet doit exister dans le premier de\*'po\*^t dans la me\*^me version a\*` la fois dans unstable et dans testing. Il doit aussi exister dans le second de\*'po\*^t pour unstable et doit avoir la me\*^me version que dans le premier de\*'po\*^t. Enfin, le paquet source doit soit e\*^tre absent de testing dans le second de\*'po\*^t, soit e\*^tre dans une version plus ancienne que dans unstable. .PP C'est une fonction spe\*'cifique a\*` Debian. Les de\*'po\*^ts qui n'imple\*'mentent pas les suites unstable et testing pre\*'cise\*'ment de la me\*^me manie\*`re que Debian ne sont pas ge\*'re\*'s. .PP Toutes les donne\*'es sont re\*'ge\*'ne\*'re\*'es a\*` chaque fois que la fonction est exe\*'cute\*'e. .PP 1. de\*'po\*^t1 unstable doit correspondre a\*` de\*'po\*^t1 testing 2. de\*'po\*^t1 unstable doit correspondre a\*` de\*'po\*^t2 unstable 3. de\*'po\*^t2 unstable doit \fBe\*^tre plus re\*'cent\fR que depo\*^t2 testing 4. Toutes les architectures sont compare\*'es, y compris les sources. .PP Retourne undef en cas d'erreur. .PP La table de hachage renvoye\*'e est indexe\*'e sous le nom du paquet source. .PP Pour obtenir la liste des paquets qui ont souleve\*' un proble\*`me de sources manquants, lancer get_britney_complaint X la liste renvoye\*'e n'a de sens que si get_britney_list a de\*'ja\*` e\*'te\*' lance\*'. .SH "get_britney_complaint" .IX Header "get_britney_complaint" Si get_britney_list de\*'termine les paquets source qui sont manquants pour une migration testing, get_britney_complaint renvoie la liste des noms de paquets source qui ont e\*'te\*' identifie\*'s. .PP Si get_britney_list n'a pas e\*'te\*' lance\*', renvoie undef. .PP S'il n'y a pas de proble\*`mes, renvoie aussi undef. .SH "Copyright et Licence" .IX Header "Copyright et Licence" .Vb 1 \& Copyright (C) 2008 Neil Williams .Ve .PP Ce logiciel est libre; vous pouvez le redistribuer selon les termes de la licence \s-1GNU\s0 General Public License telle que publie\*'e par la Free Software Foundation; en prenant la version 3 de la licence ou (selon votre choix) n'importe quelle version subse\*'quente. .PP Ce logiciel est distribue\*' dans l'espoir qu'il soit utile, mais \s-1AUCUNE\s0 \s-1GARANTIE\s0 n'est donne\*'e tant pour des raisons \s-1COMMERCIALES\s0 que pour RE\*'\s-1PONDRE\s0 A\*` \s-1UN\s0 \s-1BESOIN\s0 \s-1PARTICULIER\s0. Consulter la Licence Publique Ge\*'ne\*'rale \s-1GNU\s0 pour plus de de\*'tails. .PP Vous devriez avoir rec\*,u une copie de la Licence Publique Ge\*'ne\*'rale de \s-1GNU\s0 avec ce programme. Sinon, voir . .SH "AUTEUR" .IX Header "AUTEUR" Neil Williams, \f(CW\*(C`\*(C'\fR .SH "BUGS" .IX Header "BUGS" Veuillez signaler tout bogue ou demande de fonctionnalite\*'s via le syste\*`me de suivi de bogues Debian (\s-1BTS\s0) en utilisant \f(CW\*(C`reportbug libdebian\-packages\-compare\-perl\*(C'\fR.