[libconfig-model-dpkg-perl] 01/02: C::M::Dpkg::Dependency: fix extraction of module version from deb version
dod at debian.org
dod at debian.org
Tue Feb 17 12:55:12 UTC 2015
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 <dod at 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
More information about the Pkg-perl-cvs-commits
mailing list