Provided by:
libdebian-packages-compare-perl_3.0.7_all 
Nom
Debian::Packages::Compare - Comparaison des depots Emdebian
VERSION
Version 3.0.0
Synopsis
Lit le fichier Packages, cree une table de hachage de paquet et de
version X une fois par architecture, une par suite, une paire par
depot. Le module sous-jacent libparse-debian-packages-perl est un
module tres simple, il n'y a probablement aucune raison de mettre des
donnees supplementaires dans la table de hachage de comparaison, ni de
prendre les donnees necessaires et de charger les donnees completes de
chaque paquet separement en utilisant get_single_package.
Ce module est actuellement lie a la structure du depot utilise par
reprepro dans le but d'identifier la liste d'architecture et divers
autres elements de metadonnees. A l'avenir, des fonctions pourront etre
ajoutees pour fournir de telles listes.
Le module attend a trouver tous les depots contenus dans un seul
repertoire de base :
$base/$repo_name/conf/distributions
Si $base n'est pas defini ou si les dossiers contenant les depots ne
peuvent pas etre trouves, les fonctions retournent toutes undef.
etc.
Exemple de code :
use Debian::Packages::Compare;
my $base = '/path/to/repositories/'
&set_base($base);
my $debu = &read_packages ('unstable', 'filter');
my $gripu = &read_packages ('unstable', 'grip');
my %debianunstable = %$debu if (defined $debu);
my %gripunstable = %$gripu if (defined $gripu);
foreach my $pkg (sort keys %debianunstable)
{
if ($debianunstable{$pkg}{'source'} ne
$gripunstable{$pkg}{'source'})
{
# $pkg est soit absent du depot grip, soit une version differente
}
}
Les caracteristiques principales pour les versions suivantes
impliqueront une gestion d'erreur plus volubile.
perl -MDebian::Packages::Compare -MData::Dumper -e '&set_base("/opt/reprepro"); \
$c = &read_packages("testing","grip"); print Dumper ($$c{"dpkg"});';
get_archlist
Exige la disposition du fichier de mise en page de reprepro,
actuellement.
Lit les architectures disponibles et retourne une liste.
get_locale_roots
Exige la disposition du fichier de mise en page de reprepro,
actuellement.
Lit les racines locales disponibles et retourne une liste.
get_components
Similaire a get_locale_roots mais pour des depots ordinaires de sorte
que la separation de composants (comme dev et doc dans Emdebian Grip)
puisse etre traitee implicitement. Noter que les depots avec contrib ou
non-free vont probablement obtenir des resultats confus avec ce genre
de prise en charge.
get_suite_names
Analyse le fichier conf/distributions et recherche le depot specifie et
recupere la liste des noms de suite configures X une liste agregee
unique de variables Suite: et Codename: dans conf/distributions.
get_unfrozen_suite_names
Analyse le fichier conf/distributions et recherche le depot specifie et
recupere la liste des noms de suite configures qui ne sont PAS de type
lecture-seule (ReadOnly). Les variables Codename: ne sont pas incluses.
set_base
Definit le repertoire de base du depot (ou des depots) a comparer. Le
module s'attend a trouver tous les depots contenus dans un seul
repertoire de base :
$base/$repo_name/dists/$suite/main/binary-$arch/Packages
$base/$repo_name/dists/$suite/main/source/Sources.gz
read_sources
Similaire a read_binaries mais attend un fichier Sources.gz compresse
par GZip. En general, il n'est pas appele directement.
read_binaries
Lit le fichier Packages et cree une table de hachage des paquets, des
architectures et des versions dans les depots (sous le repertoire
$base) et suites respectifs pour l'@archlist definie, en incluant les
details des sources.
Prend deux parametres : le nom de la suite et le nom du depot.
Retourne undef si le fichier Packages est introuvable.
par exemple pour le depot Grip :
$hash{'sed'}{'source'} => '4.1.5-8'
$hash{'sed'}{'armel'} => '4.1.5-8em1'
...
read_locale
Fonction specialisee qui gere l'organisation de la racine locale du
depot TDeb. La structure interne de composant de la racine locale est
cachee dans la table de hachage renvoyee, le nom du composant est liste
separement et contenu dans le nom du paquet. Les donnees sources sont
retenues sous le nom du paquet source original et referencees dans la
table de hachage :
La racine locale est contenue dans $list{$package}{'locale'} et le nom
du paquet source dans $list{$package}{'source'}
par exemple
$hash{'sed-locale-pt-br}{'source'} => 'sed'
$hash{'sed-locale-pt-br}{'locale'} => 'pt'
$hash{'sed-locale-pt-br}{'armel'} => '4.1.5-8'
...
$hash{'sed'}{'source'} => '4.1.5-8'
get_single_package
Recupere l'enregistrement de tous les paquets pour un unique paquet,
binaire (architecture unique) ou source (.dsc).
get_missing_sources
Compare deux depots de la meme suite et retourne une liste de paquets
source qui sont dans le premier depot mais pas dans le second (les
versions plus anciennes sont ignorees).
A FAIRE : creer des fonctions get_outdated_sources et
get_outdated_binaries.
get_missing_binaries
Compare deux depots de la meme suite et retourne une liste de paquets
binaires qui existent dans les deux depots comme paquets source mais
existent seulement en tant que paquets binaires dans le premier depot
et pas dans le second.
Les suffixes de version d'Emdebian sont automatiquement effaces dans la
comparaison.
get_britney_list
Compare deux depots, chacun avec unstable et testing, retourne une
liste de paquets source qui sont prets pour la migration.
Pour etre pret a la migration, un paquet doit exister dans le premier
depot dans la meme version a la fois dans unstable et dans testing. Il
doit aussi exister dans le second depot pour unstable et doit avoir la
meme version que dans le premier depot. Enfin, le paquet source doit
soit etre absent de testing dans le second depot, soit etre dans une
version plus ancienne que dans unstable.
C'est une fonction specifique a Debian. Les depots qui n'implementent
pas les suites unstable et testing precisement de la meme maniere que
Debian ne sont pas geres.
Toutes les donnees sont regenerees a chaque fois que la fonction est
executee.
1. depot1 unstable doit correspondre a depot1 testing 2. depot1
unstable doit correspondre a depot2 unstable 3. depot2 unstable doit
etre plus recent que depot2 testing 4. Toutes les architectures sont
comparees, y compris les sources.
Retourne undef en cas d'erreur.
La table de hachage renvoyee est indexee sous le nom du paquet source.
Pour obtenir la liste des paquets qui ont souleve un probleme de
sources manquants, lancer get_britney_complaint X la liste renvoyee n'a
de sens que si get_britney_list a deja ete lance.
get_britney_complaint
Si get_britney_list determine les paquets source qui sont manquants
pour une migration testing, get_britney_complaint renvoie la liste des
noms de paquets source qui ont ete identifies.
Si get_britney_list n'a pas ete lance, renvoie undef.
S'il n'y a pas de problemes, renvoie aussi undef.
Copyright et Licence
Copyright (C) 2008 Neil Williams <codehelp@debian.org>
Ce logiciel est libre; vous pouvez le redistribuer selon les termes de
la licence GNU General Public License telle que publiee par la Free
Software Foundation; en prenant la version 3 de la licence ou (selon
votre choix) n'importe quelle version subsequente.
Ce logiciel est distribue dans l'espoir qu'il soit utile, mais AUCUNE
GARANTIE n'est donnee tant pour des raisons COMMERCIALES que pour
REPONDRE A UN BESOIN PARTICULIER. Consulter la Licence Publique
Generale GNU pour plus de details.
Vous devriez avoir recu une copie de la Licence Publique Generale de
GNU avec ce programme. Sinon, voir <http://www.gnu.org/licenses/>.
AUTEUR
Neil Williams, "<codehelp@debian.org>"
BUGS
Veuillez signaler tout bogue ou demande de fonctionnalites via le
systeme de suivi de bogues Debian (BTS) en utilisant "reportbug
libdebian-packages-compare-perl".
perl v5.12.3 20doc::pod::fr::Debian::Packages::Compare(3)