.\" 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::de::Debian::Packages::Compare 3" .TH doc::pod::de::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 "NAME" Debian::Packages::Compare \- Unterstu\*:tzung fu\*:r Emdebian\-Depotvergleich .SH "VERSION" .IX Header "VERSION" Version 3.0.0 .SH "U\*:BERSICHT" .IX Header "U:BERSICHT" 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 zusa\*:tzliche Daten in die verglichenen Hash-Werte einfu\*:gt, das die no\*:tigen Daten nimmt und die kompletten Packages-Daten separat unter Benutzung von Xget_single_packageX la\*:dt. .PP 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 ko\*:nnen Funktionen hinzugefu\*:gt werden, um solche Listen bereitzustellen. .PP Um alle Depots unterhalb eines einzelnen Basisverzeichnisses zu finden, erwartet das Modul: .PP .Vb 1 \& $base/$repo_name/conf/distributions .Ve .PP Falls \f(CW$base\fR undefiniert ist oder die Depotverzeichnisse nicht gefunden werden, geben alle nachfolgenden Funktionen XundefX zuru\*:ck. .PP etc. .PP Beispielcode: .PP .Vb 1 \& use Debian::Packages::Compare; \& \& my $base = \*(Aq/path/to/repositories/\*(Aq \& &set_base($base); \& \& my $debu = &read_packages (\*(Aqunstable\*(Aq, \*(Aqfilter\*(Aq); \& my $gripu = &read_packages (\*(Aqunstable\*(Aq, \*(Aqgrip\*(Aq); \& my %debianunstable = %$debu if (defined $debu); \& my %gripunstable = %$gripu if (defined $gripu); \& foreach my $pkg (sort keys %debianunstable) \& { \& if ($debianunstable{$pkg}{\*(Aqsource\*(Aq} ne $gripunstable{$pkg}{\*(Aqsource\*(Aq}) \& { \& # $pkg ist entweder nicht in einem Grip\-Depot oder hat eine andere Version \& } \& } .Ve .PP Die Hauptfunktionen oder nachfolgenden Versionen werden detailliertere Fehlerbehandlung beinhalten. .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" Beno\*:tigt derzeit das Reprepro-Dateilayout. .PP Liest die unterstu\*:tzten Architekturen und gibt eine Liste zuru\*:ck. .SH "get_locale_roots" .IX Header "get_locale_roots" Beno\*:tigt derzeit das Reprepro-Dateilayout. .PP Liest die unterstu\*:tzten Locale-Wurzeln und gibt eine Liste zuru\*:ck. .SH "get_components" .IX Header "get_components" A\*:hnelt Xget_locale_rootsX allerdings fu\*:r normale Depots, so dass geteilte Komponenten (wie XdevX und XdocX in Emdebian-Grip) explizit unterstu\*:tzt werden ko\*:nnen. Beachten Sie, dass Depots mit XcontribX oder Xnon-freeX voraussichtlich mit dieser Art von Unterstu\*:tzung verwirrende Ergebnisse erhalten werden. .SH "get_suite_names" .IX Header "get_suite_names" Wertet die Datei Xconf/distributionsX fu\*:r 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. .SH "get_unfrozen_suite_names" .IX Header "get_unfrozen_suite_names" Wertet die Datei Xconf/distributionsX fu\*:r das angegebene Depot aus und wiederholt die Liste der konfigurierten Suite-Namen, auf die \s-1NICHT\s0 nur lesend zugegriffen werden kann. XCodename:X\-Variablen sind \s-1NICHT\s0 enthalten. .SH "set_base" .IX Header "set_base" Setzt das Basisverzeichnis des/der Depot(s) zum Vergleich. Das Modul erwartet, dass alle Depots unterhalt eines einzelnen Basisverzeichnisses gefunden werden: .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" A\*:hnlich wie Xread_binariesX, erwartet jedoch eine mit GZip komprimierte Datei. Wird u\*:blicherweise nicht direkt aufgerufen. .SH "read_binaries" .IX Header "read_binaries" Liest die Packages-Datei und erstellt einen Hash-Wert der Pakete, Architekturen und Versionen in dem jeweiligen Depot (unter dem Verzeichnis \&\f(CW$base\fR und der Suite fu\*:r die definierte \f(CW@archlist\fR, einschlie\*8lich Einzelheiten von XsourcesX. .PP Erfordert zwei Parameter X den Suite\- und den Depotnamen. .PP Gibt XundefX zuru\*:ck, falls das Paket nicht gefunden wird. .PP z.B. fu\*:r das Grip-Depot: .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" Spezialisierte Funktion, die die Organisation der Locale-Wurzel des TDeb-Depots regelt. Die interne Locale-Wurzelkomponentenstruktur ist im zuru\*:ckgegebenen Hash-Wert versteckt, der Komponentenname ist im Paketnamen getrennt aufgelistet. Quelldaten werden unter dem originalen Quellpaketnamen aufbewahrt und im Hash-Wert referenziert: .PP Die Locale-Wurzel ist in \f(CW$list{$package}{\*(Aqlocale\*(Aq}\fR und der Quellpaketname in \f(CW$list{$package}{\*(Aqsource\*(Aq}\fR enthalten. .PP z.B. .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" Vollsta\*:ndigen Packages-Datensatz fu\*:r ein einzelnes Paket abrufen, bina\*:r (einzelne Architektur) oder Quelle (.dsc). .SH "get_missing_sources" .IX Header "get_missing_sources" Zwei Depots der gleichen Suite vergleichen und eine Liste der Quellpakete zuru\*:ckgeben, die im ersten Depot enthalten sind, aber nicht im zweiten. (A\*:ltere Versionen werden ignoriert.) .PP \&\s-1ZU\s0 \s-1ERLEDIGEN:\s0 Es wird auch ein Xget_outdated_sourcesX und ein Xget_outdated_binariesX beno\*:tigt. .SH "get_missing_binaries" .IX Header "get_missing_binaries" Zwei Depots der gleichen Suite vergleichen und eine Liste der Bina\*:rpakete zuru\*:ckgeben, die in beiden Depots als Quellpakete existieren, aber nur im ersten als Bina\*:rpaket, nicht im zweiten. .PP Emdebian-Versionssuffixe werden im Vergleich automatisch bereinigt. .SH "get_britney_list" .IX Header "get_britney_list" Zwei Depots vergleichen, jedes mit Unstable und Testing, gibt eine Liste der Quellpakete zuru\*:ck, die fu\*:r eine Migration geeignet sind. .PP Um fu\*:r 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 au\*8erdem im zweiten Depot fu\*:r 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. .PP Dies ist eine reine Debian-Funktion und es ist keine Unterstu\*:tzung fu\*:r Depots verfu\*:gbar, die keine Unstable\- und Testing-Suites in exakt der gleichen Art wie Debian implementieren. .PP Alle Daten werden jedesmal neu geladen, wenn diese Funktion ausgefu\*:hrt wird. .PP .Vb 4 \& 1. Depot1 Unstable muss zu Depot1 Testing passen \& 2. Depot1 Unstable muss zu Depot2 Unstable passen \& 3. Depot2 Unstable muss B als Depot2 Testing sein \& 4. Alle Architekturen werden verglichen, einschlie\*8lich der Quellen. .Ve .PP Gibt im Fehlerfall XundefX zuru\*:ck. .PP Der zuru\*:ckgegebene Hash-Wert wird unter dem Quellpaketnamen indiziert. .PP Um die Liste der Pakete zu erhalten, die eine Meldung u\*:ber fehlende Quellen erscheinen lie\*8, rufen Sie Xget_britney_complaintX auf X die zuru\*:ckgegebene Liste wird undefiniert sein, au\*8er wenn Xget_britney_listX bereits aufgerufen wurde. .SH "get_britney_complaint" .IX Header "get_britney_complaint" Falls Xget_britney_listX mit Quellpaketen aufwartet, die fu\*:r eine Testing-Migration fehlen, gibt Xget_britney_complaintX die Liste der Quellpaketnamen zuru\*:ck, die identifiziert wurden. .PP Falls Xget_britney_listX nicht aufgerufen wurde, wird XundefX zuru\*:ckgegeben. .PP Falls es dort keine Beanstandungen gibt, wird au\*8erdem XundefX zuru\*:ckgegeben. .SH "Copyright und Lizenz" .IX Header "Copyright und Lizenz" .Vb 1 \& Copyright (C) 2008 Neil Williams \& \& Dieses Paket ist freie Software; Sie ko\*:nnen 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 spa\*:teren Version \& vero\*:ffentlicht wurde, weiterverteilen und/oder vera\*:ndern. \& Dieses Programm wird inder Hoffnung verteilt, dass es nu\*:tzlich sein wird, \& aber OHNE JEGLICHE GEWA\*:HRLEISTUNG, auch ohne die inbegriffene \& Gewa\*:hrleistung von MARKTGA\*:NGIGKEIT und EIGNUNG FU\*:R 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 . .Ve .SH "AUTOR" .IX Header "AUTOR" Neil Williams, \f(CW\*(C`\*(C'\fR .SH "FEHLER" .IX Header "FEHLER" Bitte melden Sie jegliche Fehler oder Anfragen zu Funktionalita\*:ten auf Englisch per \f(CW\*(C`reportbug libdebian\-packages\-compare\-perl\*(C'\fR an das XDebian Bug Tracking SystemX.