X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FDeb%2FVersions.pm;h=706f017f20c185f25beab1cb6cae6b1d7864622f;hb=aad6264acf766c330147186c7b3a48f4683721db;hp=53da03076329001a90359ee473630e4ac450190d;hpb=d335139f37934f9128a39ffd0933a163fb71cce7;p=deb%2Fpackages.git diff --git a/lib/Deb/Versions.pm b/lib/Deb/Versions.pm index 53da030..706f017 100644 --- a/lib/Deb/Versions.pm +++ b/lib/Deb/Versions.pm @@ -70,11 +70,12 @@ our @EXPORT = qw( version_cmp version_sort suites_cmp suites_sort ); our $VERSION = v1.0.0; -sub version_cmp { +my $re = qr/^(?:(\d+):)?([\w.+:~-]+?)(?:-([\w+.~]+))?$/; +sub version_cmp_pp { + return 0 if $_[0] eq $_[1]; my ( $ver1, $ver2 ) = @_; my ( $e1, $e2, $u1, $u2, $d1, $d2 ); - my $re = qr/^(?:(\d+):)?([\w.+:~-]+?)(?:-([\w+.~]+))?$/; if ( $ver1 =~ $re ) { ( $e1, $u1, $d1 ) = ( $1, $2, $3 ); $e1 ||= 0; @@ -102,6 +103,18 @@ sub version_cmp { return $res; } +*version_cmp = \&version_cmp_pp; +eval { + require AptPkg::Config; + require AptPkg::System; + require AptPkg::Version; + + $AptPkg::Config::_config->init; + $AptPkg::System::_system = $AptPkg::Config::_config->system; + my $apt_ver = $AptPkg::System::_system->versioning; + *version_cmp = sub { return $apt_ver->compare(@_) }; +}; + sub version_sort { return sort { version_cmp( $b, $a ) } @_; } @@ -152,7 +165,12 @@ sub _lcmp { return length( $v1 ) <=> length( $v2 ); } -our @SUITES_SORT = qw( woody +our @SUITES_SORT = qw( + bo + hamm + slink + potato + woody sarge oldstable etch etch-m68k @@ -161,7 +179,8 @@ our @SUITES_SORT = qw( woody testing testing-proposed-updates squeeze sid unstable experimental - warty hoary breezy dapper edgy feisty gutsy hardy intrepid jaunty); + warty hoary breezy dapper edgy feisty gutsy hardy + intrepid jaunty karmic lucid maverick); our @ARCHIVE_SORT = qw( non-US security updates volatile backports ); our @PRIORITY_SORT = qw( required important standard optional extra ); my $i = 1000;