[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