[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SCM] Debian package checker branch, master, updated. 2.5.12-140-g245a07f



The following commit has been merged in the master branch:
commit 245a07f6b68e1b1771420b8671678e3cf9622ae6
Author: Niels Thykier <niels@thykier.net>
Date:   Thu May 30 08:32:54 2013 +0200

    refresh-perl-provides: Special case autodie
    
    The libautodie-perl provided by perl-base does not quite follow the
    same version conventions as the other modules.  The code would map
    2.1001 to 2.1001, when we wanted it to map it to 2.10.01.
    
    Signed-off-by: Niels Thykier <niels@thykier.net>

diff --git a/data/fields/perl-provides b/data/fields/perl-provides
index 710c465..abc8963 100644
--- a/data/fields/perl-provides
+++ b/data/fields/perl-provides
@@ -13,21 +13,15 @@ libthreads-shared-perl 1.37
 libthreads-perl 1.83
 libsys-syslog-perl 0.27
 libio-compress-perl 2.033
-libio-compress-base-perl 2.033
 libencode-perl 2.42.01
 libdigest-sha-perl 5.61
-libdevel-dprof-perl 20110228.00
 libcompress-raw-zlib-perl 2.033
 libcompress-raw-bzip2-perl 2.033
-libversion-requirements-perl 0.101020
 libversion-perl 1:0.8800
 libunicode-collate-perl 0.73
-libthread-queue-perl 2.12
 libtest-simple-perl 0.98
 libtest-harness-perl 3.23
-libshell-perl 0.72.01
 libpod-simple-perl 3.16
-libperl-ostype-perl 1.002
 libparse-cpan-meta-perl 1.4401
 libmodule-metadata-perl 1.000004
 libmodule-load-conditional-perl 0.44
@@ -43,4 +37,4 @@ libextutils-cbuilder-perl 0.280203
 libdigest-perl 1.16
 libcpan-meta-yaml-perl 0.003
 libcpan-meta-perl 2.110440
-libautodie-perl 2.1001
+libautodie-perl 2.10.01
diff --git a/private/refresh-perl-provides b/private/refresh-perl-provides
index 7d05588..5f81b78 100755
--- a/private/refresh-perl-provides
+++ b/private/refresh-perl-provides
@@ -49,6 +49,11 @@ my %module_name = (
     'libio-compress-zlib-perl' => 'IO::Compress::Gzip',
 );
 
+# special cases for where the code gets the prefix wrong
+my %manual_split = (
+    'libautodie-perl' => qr/\A (\d++\.) (\d{2}) (\d{2})? \Z/xsmo,
+);
+
 use Module::CoreList;
 my $versioning = $_system->versioning;
 
@@ -95,7 +100,7 @@ for my $pkg (@core_packages) {
         # the epoch is easier, we just copy it
 
         my ($epoch, $digits) = epoch_and_digits($name);
-        my $debian_version = cpan_version_to_deb($cpan_version, $epoch, $digits);
+        my $debian_version = cpan_version_to_deb($name, $cpan_version, $epoch, $digits);
 
         next if !$debian_version;
 
@@ -127,9 +132,8 @@ sub find_core_version {
 }
 
 sub cpan_version_to_deb {
-        my $cpan_version = shift;
-        my $epoch = shift || '';
-        my $digits = shift;
+        my ($pkg, $cpan_version, $epoch, $digits) = @_;
+        $epoch ||= '';
 
         # cpan_version
         #         digits
@@ -148,7 +152,9 @@ sub cpan_version_to_deb {
         # 1.15,     0 => 1.15
 
         # split 1.15_02 to (1, 15, 02)
-        my ($major, $prefix, $suffix) = ($cpan_version =~ /^(\d+\.)(\d+)(?:_(\d+))?$/);
+        my $regex = qr/^(\d+\.)(\d+)(?:_(\d+))?$/;
+        $regex = $manual_split{$pkg} if exists $manual_split{$pkg};
+        my ($major, $prefix, $suffix) = ($cpan_version =~ $regex);
         die("no match with $cpan_version?") if !$major;
 
         $suffix ||= '';

-- 
Debian package checker


Reply to: