]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/Common.pm
* Add sort_versions routine
[debbugs.git] / Debbugs / Common.pm
index 9760912a6445e1a2e0c848e7b0509cab790e0c0e..ef1b8bbe96cb75e746ed00be5fd52b0b620a97f1 100644 (file)
@@ -44,6 +44,7 @@ BEGIN{
                                qw(getmaintainers_reverse),
                                qw(getpseudodesc),
                                qw(package_maintainer),
+                               qw(sort_versions),
                               ],
                     misc   => [qw(make_list globify_scalar english_join checkpid),
                                qw(cleanup_eval_fail),
@@ -446,6 +447,33 @@ sub getpseudodesc {
     return $_pseudodesc;
 }
 
+=head2 sort_versions
+
+     sort_versions('1.0-2','1.1-2');
+
+Sorts versions using AptPkg::Versions::compare if it is available, or
+Debbugs::Versions::Dpkg::vercmp if it isn't.
+
+=cut
+
+our $vercmp;
+BEGIN{
+    use Debbugs::Versions::Dpkg;
+    $vercmp=\&Debbugs::Versions::Dpkg::vercmp;
+
+# eventually we'll use AptPkg:::Version or similar, but the current
+# implementation makes this *super* difficult.
+
+#     eval {
+#      use AptPkg::Version;
+#      $vercmp=\&AptPkg::Version::compare;
+#     };
+}
+
+sub sort_versions{
+    return sort {$vercmp->($a,$b)} @_;
+}
+
 
 =head1 DATE