Provided by:
libdebian-packages-compare-perl_3.0.7_all 
NAME
Debian::Packages::Compare - Unterstuetzung fuer Emdebian-Depotvergleich
VERSION
Version 3.0.0
UeBERSICHT
Liest die Packages-Datei, erzeugt einen Hash-Wert von XPackageX und
Version, einen je Architektur, einen je Suite, ein Paar pro Depot. Das
zugrundeliegende Xlibparse-debian-packages-perlX ist ein sehr einfaches
Modul, das wohl an keinem Punkt zusaetzliche Daten in die verglichenen
Hash-Werte einfuegt, das die noetigen Daten nimmt und die kompletten
Packages-Daten separat unter Benutzung von Xget_single_packageX laedt.
Dieses Modul ist derzeit an das Layout des Depots gebunden, das von
Reprepro benutzt wird, um die Architekturliste und verschiedene andere
Teile der Metadaten zu identifizieren. Mit der Zeit koennen Funktionen
hinzugefuegt werden, um solche Listen bereitzustellen.
Um alle Depots unterhalb eines einzelnen Basisverzeichnisses zu finden,
erwartet das Modul:
$base/$repo_name/conf/distributions
Falls $base undefiniert ist oder die Depotverzeichnisse nicht gefunden
werden, geben alle nachfolgenden Funktionen XundefX zurueck.
etc.
Beispielcode:
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 ist entweder nicht in einem Grip-Depot oder hat eine andere Version
}
}
Die Hauptfunktionen oder nachfolgenden Versionen werden detailliertere
Fehlerbehandlung beinhalten.
perl -MDebian::Packages::Compare -MData::Dumper -e '&set_base("/opt/reprepro"); \
$c = &read_packages("testing","grip"); print Dumper ($$c{"dpkg"});';
get_archlist
Benoetigt derzeit das Reprepro-Dateilayout.
Liest die unterstuetzten Architekturen und gibt eine Liste zurueck.
get_locale_roots
Benoetigt derzeit das Reprepro-Dateilayout.
Liest die unterstuetzten Locale-Wurzeln und gibt eine Liste zurueck.
get_components
Aehnelt Xget_locale_rootsX allerdings fuer normale Depots, so dass
geteilte Komponenten (wie XdevX und XdocX in Emdebian-Grip) explizit
unterstuetzt werden koennen. Beachten Sie, dass Depots mit XcontribX
oder Xnon-freeX voraussichtlich mit dieser Art von Unterstuetzung
verwirrende Ergebnisse erhalten werden.
get_suite_names
Wertet die Datei Xconf/distributionsX fuer das angegebene Depot aus und
wiederholt die Liste der konfigurierten Suite-Namen X eine einheitliche
zusammengestellte Liste der XSuite:X- und XCodename:X-Variablen in
Xconf/distributionsX.
get_unfrozen_suite_names
Wertet die Datei Xconf/distributionsX fuer das angegebene Depot aus und
wiederholt die Liste der konfigurierten Suite-Namen, auf die NICHT nur
lesend zugegriffen werden kann. XCodename:X-Variablen sind NICHT
enthalten.
set_base
Setzt das Basisverzeichnis des/der Depot(s) zum Vergleich. Das Modul
erwartet, dass alle Depots unterhalt eines einzelnen
Basisverzeichnisses gefunden werden:
$base/$repo_name/dists/$suite/main/binary-$arch/Packages
$base/$repo_name/dists/$suite/main/source/Sources.gz
read_sources
Aehnlich wie Xread_binariesX, erwartet jedoch eine mit GZip
komprimierte Datei. Wird ueblicherweise nicht direkt aufgerufen.
read_binaries
Liest die Packages-Datei und erstellt einen Hash-Wert der Pakete,
Architekturen und Versionen in dem jeweiligen Depot (unter dem
Verzeichnis $base und der Suite fuer die definierte @archlist,
einschliesslich Einzelheiten von XsourcesX.
Erfordert zwei Parameter X den Suite- und den Depotnamen.
Gibt XundefX zurueck, falls das Paket nicht gefunden wird.
z.B. fuer das Grip-Depot:
$hash{'sed'}{'source'} => '4.1.5-8'
$hash{'sed'}{'armel'} => '4.1.5-8em1'
...
read_locale
Spezialisierte Funktion, die die Organisation der Locale-Wurzel des
TDeb-Depots regelt. Die interne Locale-Wurzelkomponentenstruktur ist im
zurueckgegebenen Hash-Wert versteckt, der Komponentenname ist im
Paketnamen getrennt aufgelistet. Quelldaten werden unter dem originalen
Quellpaketnamen aufbewahrt und im Hash-Wert referenziert:
Die Locale-Wurzel ist in $list{$package}{'locale'} und der
Quellpaketname in $list{$package}{'source'} enthalten.
z.B.
$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
Vollstaendigen Packages-Datensatz fuer ein einzelnes Paket abrufen,
binaer (einzelne Architektur) oder Quelle (.dsc).
get_missing_sources
Zwei Depots der gleichen Suite vergleichen und eine Liste der
Quellpakete zurueckgeben, die im ersten Depot enthalten sind, aber
nicht im zweiten. (Aeltere Versionen werden ignoriert.)
ZU ERLEDIGEN: Es wird auch ein Xget_outdated_sourcesX und ein
Xget_outdated_binariesX benoetigt.
get_missing_binaries
Zwei Depots der gleichen Suite vergleichen und eine Liste der
Binaerpakete zurueckgeben, die in beiden Depots als Quellpakete
existieren, aber nur im ersten als Binaerpaket, nicht im zweiten.
Emdebian-Versionssuffixe werden im Vergleich automatisch bereinigt.
get_britney_list
Zwei Depots vergleichen, jedes mit Unstable und Testing, gibt eine
Liste der Quellpakete zurueck, die fuer eine Migration geeignet sind.
Um fuer eine Migration geeignet zu sein, muss ein Paket im ersten Depot
in der gleichen Version, sowohl in Unstable, als auch in Testing
existieren. Es muss ausserdem im zweiten Depot fuer Unstable existieren
und in der gleichen Version wie im ersten Depot vorliegen. Zuguterletzt
muss das Quellpaket entweder in Testing im zweiten Depot fehlen oder
eine niedrigere Version als in Unstable aufweisen.
Dies ist eine reine Debian-Funktion und es ist keine Unterstuetzung
fuer Depots verfuegbar, die keine Unstable- und Testing-Suites in exakt
der gleichen Art wie Debian implementieren.
Alle Daten werden jedesmal neu geladen, wenn diese Funktion ausgefuehrt
wird.
1. Depot1 Unstable muss zu Depot1 Testing passen
2. Depot1 Unstable muss zu Depot2 Unstable passen
3. Depot2 Unstable muss B<neuer> als Depot2 Testing sein
4. Alle Architekturen werden verglichen, einschliesslich der Quellen.
Gibt im Fehlerfall XundefX zurueck.
Der zurueckgegebene Hash-Wert wird unter dem Quellpaketnamen indiziert.
Um die Liste der Pakete zu erhalten, die eine Meldung ueber fehlende
Quellen erscheinen liess, rufen Sie Xget_britney_complaintX auf X die
zurueckgegebene Liste wird undefiniert sein, ausser wenn
Xget_britney_listX bereits aufgerufen wurde.
get_britney_complaint
Falls Xget_britney_listX mit Quellpaketen aufwartet, die fuer eine
Testing-Migration fehlen, gibt Xget_britney_complaintX die Liste der
Quellpaketnamen zurueck, die identifiziert wurden.
Falls Xget_britney_listX nicht aufgerufen wurde, wird XundefX
zurueckgegeben.
Falls es dort keine Beanstandungen gibt, wird ausserdem XundefX
zurueckgegeben.
Copyright und Lizenz
Copyright (C) 2008 Neil Williams <codehelp@debian.org>
Dieses Paket ist freie Software; Sie koennen es unter den Bedingungen der
XGNU General Public LicenseX, wie sie von der XFree Software FoundationX
entweder in Version 3 der Lizenz oder (optional) in einer spaeteren Version
veroeffentlicht wurde, weiterverteilen und/oder veraendern.
Dieses Programm wird inder Hoffnung verteilt, dass es nuetzlich sein wird,
aber OHNE JEGLICHE GEWAeHRLEISTUNG, auch ohne die inbegriffene
Gewaehrleistung von MARKTGAeNGIGKEIT und EIGNUNG FUeR EINEN SPEZIELLEN ZWECK.
Lesen Sie die XGNU General Public LicenseX, um weitere Einzelheiten zu
erhalten.
Sie sollten mit diesem Programm eine Kopie der XGNU General Public License
erhalten haben. Falls nicht, lesen Sie <http://www.gnu.org/licenses/>.
AUTOR
Neil Williams, "<codehelp@debian.org>"
FEHLER
Bitte melden Sie jegliche Fehler oder Anfragen zu Funktionalitaeten auf
Englisch per "reportbug libdebian-packages-compare-perl" an das XDebian
Bug Tracking SystemX.
perl v5.12.3 20doc::pod::de::Debian::Packages::Compare(3)