This is an automated email from the git hooks/post-receive script. dod pushed a commit to branch master in repository libconfig-model-dpkg-perl.
commit ce2bc9003fb48bbc8534bb01eb04cadf66c174c8 Author: Dominique Dumont <d...@debian.org> Date: Tue Feb 3 13:51:34 2015 +0100 C::M::Dpkg::Dependency: fix extraction of module version from deb version --- lib/Config/Model/Dpkg/Dependency.pm | 10 ++++++++-- t/dependency-check.t | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/lib/Config/Model/Dpkg/Dependency.pm b/lib/Config/Model/Dpkg/Dependency.pm index f26f4a8..56d187e 100644 --- a/lib/Config/Model/Dpkg/Dependency.pm +++ b/lib/Config/Model/Dpkg/Dependency.pm @@ -431,6 +431,13 @@ sub check_depend_chain { return $ret ; } +sub extract_cpan_version { + my ($self,$v) = @_; + return undef unless defined $v ; + $v =~ /^(?:\d+:)?([\d\w.-]+?)(?:(?:\+\w+)?-[\w+~]+)?$/ ; + return $1; +} + # called through check_depend_chain # does modify $input when applying fix sub check_perl_lib_dep { @@ -487,9 +494,8 @@ sub check_perl_lib_dep { $logger->debug("dual life $dep_name has oldest debian $oldest_lib_version_in_debian, using $check_v"); } - my ($cpan_dep_v, $epoch_dep_v) ; + my $cpan_dep_v = $self->extract_cpan_version($check_v); - ($cpan_dep_v, $epoch_dep_v) = reverse split /:/ ,$check_v if defined $check_v ; my $v_decimal = Module::CoreList->first_release( $dep_name_as_perl[0], version->parse( $cpan_dep_v ) diff --git a/t/dependency-check.t b/t/dependency-check.t index 7038c65..016945b 100644 --- a/t/dependency-check.t +++ b/t/dependency-check.t @@ -156,6 +156,22 @@ while (@struct_2_dep) { ) ; } +my @deb_v_to_cpan_v = qw/ + 1.21-1 1.21 + 1:0.421000-2 0.421000 + 5.20150120-2~1 5.20150120 + 1.00+dfsg-3 1.00 +/; + +while (@deb_v_to_cpan_v) { + my $deb_v = shift @deb_v_to_cpan_v ; + my $cpan_v = shift @deb_v_to_cpan_v ; + is( + $dep_value->extract_cpan_version($deb_v), + $cpan_v, + "test extract_cpan_version $deb_v -> $cpan_v" + ) ; +} warning_like { $dep_value->store('perl') ; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libconfig-model-dpkg-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits