r52315 - in /trunk/dh-make-perl: TODO lib/DhMakePerl.pm t/extract_name_ver.t

dmn at users.alioth.debian.org dmn at users.alioth.debian.org
Mon Feb 8 18:23:40 UTC 2010


Author: dmn
Date: Mon Feb  8 18:23:35 2010
New Revision: 52315

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=52315
Log:
extract_name_ver(): parse v1.002003 as 1.2.3

Added:
    trunk/dh-make-perl/t/extract_name_ver.t   (with props)
Modified:
    trunk/dh-make-perl/TODO
    trunk/dh-make-perl/lib/DhMakePerl.pm

Modified: trunk/dh-make-perl/TODO
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/TODO?rev=52315&op=diff
==============================================================================
--- trunk/dh-make-perl/TODO (original)
+++ trunk/dh-make-perl/TODO Mon Feb  8 18:23:35 2010
@@ -30,8 +30,3 @@
 * Don't add libmodule-build-perl to Build-Depends if Makefile.PL is also
   present, if its not just Module::Build::Compat
 * 3.0 source format support for dh-make-perl
-* module versions: if META.yml contains e.g. "v1.002000" for 1.2.0 then
-  extract_name_ver returns exactly "v1.002000" (not good), and extract_basic
-  adds a leading "0" (even worse). we somehow need to get those versions
-  back. or strip the "v". or something. - at least if the tarball is
-  Foo-Bar-v1.2.0.

Modified: trunk/dh-make-perl/lib/DhMakePerl.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/lib/DhMakePerl.pm?rev=52315&op=diff
==============================================================================
--- trunk/dh-make-perl/lib/DhMakePerl.pm (original)
+++ trunk/dh-make-perl/lib/DhMakePerl.pm Mon Feb  8 18:23:35 2010
@@ -713,7 +713,10 @@
     if ( defined $self->meta->{name} and defined $self->meta->{version} ) {
         $name = $self->meta->{name};
         $ver  = $self->meta->{version};
-
+        if ( $ver =~ s/^v// ) {    # v4.43.43?
+            $ver =~ s/\.(\d\d\d)(\d\d\d)/.$1.$2/;    # 2.003004 -> 2.003.004
+            $ver =~ s/\.0+/./g;                      # 2.003.004 -> 2.3.4
+        }
     }
     else {
         ( $name, $ver ) = $self->extract_name_ver_from_makefile($makefile);

Added: trunk/dh-make-perl/t/extract_name_ver.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/t/extract_name_ver.t?rev=52315&op=file
==============================================================================
--- trunk/dh-make-perl/t/extract_name_ver.t (added)
+++ trunk/dh-make-perl/t/extract_name_ver.t Mon Feb  8 18:23:35 2010
@@ -1,0 +1,20 @@
+#!/usr/bin/perl -w
+use strict;
+use Test::More tests => 3;
+
+use DhMakePerl;
+use DhMakePerl::Config;
+
+my $maker = DhMakePerl->new;
+$maker->cfg( DhMakePerl::Config->new );
+
+$maker->meta( { name => 'Foo::Bar', version => 'v1.002003' } );
+
+my ($name, $ver);
+
+eval { ( $name, $ver ) = $maker->extract_name_ver; };
+
+is($@, "", "Calling extract_name_ver should not die");
+
+is($name, "Foo-Bar", "Dist name should be Foo-Bar");
+is($ver,  "1.2.3",   "Dist version should be 1.2.3");

Propchange: trunk/dh-make-perl/t/extract_name_ver.t
------------------------------------------------------------------------------
    svn:executable = *




More information about the Pkg-perl-cvs-commits mailing list