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;
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 ) } @_;
}
return length( $v1 ) <=> length( $v2 );
}
-our @SUITES_SORT = qw( woody oldstable sarge stable stable-proposed-updates
- etch etch-m68k testing testing-proposed-updates lenny
- sid unstable experimental
- warty hoary breezy breezy dapper edgy feisty gutsy );
+our @SUITES_SORT = qw(
+ bo
+ hamm
+ slink
+ potato
+ woody
+ sarge
+ oldstable
+ etch etch-m68k
+ stable stable-proposed-updates
+ lenny
+ testing testing-proposed-updates
+ squeeze
+ sid unstable experimental
+ warty hoary breezy dapper edgy feisty gutsy hardy
+ intrepid jaunty karmic lucid maverick natty);
our @ARCHIVE_SORT = qw( non-US security updates volatile backports );
our @PRIORITY_SORT = qw( required important standard optional extra );
my $i = 1000;
$cmp_b = $suites_sort{$1} - $archive_sort{$2}
if $s_b =~ m;^(.+?)[/-](.*)$;o;
}
- return ($cmp_a <=> $cmp_b);
+ return ($cmp_b <=> $cmp_a);
}
sub suites_sort {
- return sort { suites_cmp( $b, $a ) } @_;
+ return sort { suites_cmp( $a, $b ) } @_;
}
sub priority_cmp {