[libconfig-model-dpkg-perl] 04/13: Dependency: preserve the Perl's versioned dep if the alternate lib has no versioned dependeny...

dod at debian.org dod at debian.org
Wed May 20 16:58:49 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 ab9da025d9da5df2a34e07d163bfa34287d0ebed
Author: Dominique Dumont <dod at debian.org>
Date:   Wed May 20 13:38:23 2015 +0200

    Dependency: preserve the Perl's versioned dep if the alternate lib has no versioned dependeny...
    
    Note that available Perl versions may go back beyond what's available
    as an alternate lib. E.g. Module::Build oldest package returned by madison
    is 0.360700, but oldest Perl is 5.10.1 which provides Module::Build 0.34.
    
    Which means that the functionality requirement is indeed expressed in the
    required Perl version (i.e. Module::Build > 0.36) but cannot be expressed
    as version requirement on libmodule-build-perl since the oldest version
    is 0.360700.
---
 lib/Config/Model/Dpkg/Dependency.pm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/Config/Model/Dpkg/Dependency.pm b/lib/Config/Model/Dpkg/Dependency.pm
index d01d7eb..1d21944 100644
--- a/lib/Config/Model/Dpkg/Dependency.pm
+++ b/lib/Config/Model/Dpkg/Dependency.pm
@@ -463,6 +463,8 @@ sub check_perl_lib_dep {
 
     $logger->debug("called for $dep_name with $actual_dep with apply_fix $apply_fix");
 
+    my ($old_perl_dep) = grep { $_->[0] eq 'perl' } @$input;
+    my $old_perl_versioned_dep = $old_perl_dep->[2];
 
     # The dependency should be in the form perl (>= 5.10.1) | libtest-simple-perl (>= 0.88)".
     # cf http://pkg-perl.alioth.debian.org/policy.html#debian_control_handling
@@ -529,6 +531,13 @@ sub check_perl_lib_dep {
 		$logger->debug("dual life $dep_str found in Perl core $v_normal");
 	}
 
+    if ($old_perl_versioned_dep and $vs->compare($old_perl_versioned_dep, $v_normal) < 0) {
+        # if the old version of Perl was enough, there's no need to restrict more the Perl version
+		$logger->debug("preserving old perl versioned dep $old_perl_versioned_dep instead of $v_normal"
+                       ." for $dep_name");
+        $v_normal = $old_perl_versioned_dep;
+    }
+
 	my ($has_older_perl) = $self->check_versioned_dep(  ['perl', '>=', $v_normal] );
 	push @ideal_perl_dep, '>=', $v_normal if $has_older_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