Provided by: libdebian-packages-compare-perl_3.0.7_all bug

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)