[libconfig-model-dpkg-perl] 10/24: check_versioned_dep is now synchronous
dod at debian.org
dod at debian.org
Sun Apr 20 13:07:46 UTC 2014
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 050ba27a6187ac99cbe3c601c9c8200d477d28fb
Author: Dominique Dumont <dod at debian.org>
Date: Tue Apr 15 20:03:20 2014 +0200
check_versioned_dep is now synchronous
---
lib/Config/Model/Dpkg/Dependency.pm | 57 +++++++++++++++++--------------------
t/dependency-check.t | 16 ++++-------
2 files changed, 32 insertions(+), 41 deletions(-)
diff --git a/lib/Config/Model/Dpkg/Dependency.pm b/lib/Config/Model/Dpkg/Dependency.pm
index 821a043..36cb655 100644
--- a/lib/Config/Model/Dpkg/Dependency.pm
+++ b/lib/Config/Model/Dpkg/Dependency.pm
@@ -511,7 +511,8 @@ sub check_perl_lib_dep {
my $dep_str = $dep_name . ( defined $check_v ? ' ' . $check_v : '' );
$logger->debug("dual life $dep_str aka $dep_name_as_perl[0] found in Perl core $v_normal");
}
- $self->check_versioned_dep( $on_perl_check_done , ['perl', '>=', $v_normal] );
+ my @res = $self->check_versioned_dep( ['perl', '>=', $v_normal] );
+ $on_perl_check_done->(@res);
}
};
@@ -538,7 +539,8 @@ sub check_perl_lib_dep {
};
if ( defined $dep_v ) {
- $self->check_versioned_dep( $on_perl_lib_check_done, $depend );
+ my @res = $self->check_versioned_dep( $depend );
+ $on_perl_lib_check_done->(@res);
}
else {
$on_perl_lib_check_done->(0);
@@ -588,39 +590,32 @@ sub check_perl_lib_dep {
}
sub check_versioned_dep {
- my ($self, $callback ,$dep_info) = @_ ;
+ my ($self ,$dep_info) = @_ ;
my ( $pkg, $oper, $vers ) = @$dep_info;
$logger->debug("called with '" . $self->struct_to_dep($dep_info) ."'") if $logger->is_debug;
# special case to keep lintian happy
- $callback->(1) if $pkg eq 'debhelper' ;
-
- my $cb = sub {
- my @dist_version = @_ ;
- $async_log->debug("in check_versioned_dep callback with ". $self->struct_to_dep($dep_info)
- ." -> @dist_version") if $async_log->is_debug;
-
- if ( @dist_version # no older for unknow packages
- and defined $oper
- and $oper =~ />/
- and $vers !~ /^\$/ # a dpkg variable
- ) {
- my $src_pkg_name = $self->grab_value("!Dpkg::Control source Source") ;
-
- my $filter = $test_filter || $self->grab_value(
- step => qq{!Dpkg my_config package-dependency-filter:"$src_pkg_name"},
- mode => 'loose',
- ) || '';
- $callback->($self->has_older_version_than ($pkg, $vers, $filter, \@dist_version ));
- }
- else {
- $callback->(1) ;
- }
- };
+ return (1) if $pkg eq 'debhelper' ;
# check if Debian has version older than required version
- my @res = $self->get_available_version( $pkg) ;
- $cb->(@res);
+ my @dist_version = $self->get_available_version( $pkg) ;
+
+ if ( @dist_version # no older for unknow packages
+ and defined $oper
+ and $oper =~ />/
+ and $vers !~ /^\$/ # a dpkg variable
+ ) {
+ my $src_pkg_name = $self->grab_value("!Dpkg::Control source Source") ;
+
+ my $filter = $test_filter || $self->grab_value(
+ step => qq{!Dpkg my_config package-dependency-filter:"$src_pkg_name"},
+ mode => 'loose',
+ ) || '';
+ return ($self->has_older_version_than ($pkg, $vers, $filter, \@dist_version ));
+ }
+ else {
+ return (1) ;
+ }
}
sub has_older_version_than {
@@ -760,8 +755,8 @@ sub check_or_fix_dep {
} ;
$async_log->debug("begin") ;
- $self->check_versioned_dep($cb, $dep_info );
-
+ my @res = $self->check_versioned_dep( $dep_info );
+ $cb->(@res);
}
}
diff --git a/t/dependency-check.t b/t/dependency-check.t
index 991aad5..d7bffc3 100644
--- a/t/dependency-check.t
+++ b/t/dependency-check.t
@@ -174,8 +174,8 @@ warning_like {
is($dep_value->_pending_store, 0,"check that no pending store is left") ;
-my $ok_cb = sub {is($_[0],0,"check perl (>= 5.6.0) dependency: no older version"); };
-$dep_value->check_versioned_dep( $ok_cb, ['perl','>=','5.6.0'] ) ;
+my $res = $dep_value->check_versioned_dep( ['perl','>=','5.6.0'] );
+is( $res, 0,"check perl (>= 5.6.0) dependency: no older version");
# $dep_value->store('libcpan-meta-perl') ;
@@ -230,15 +230,11 @@ if ($trace) {
my $perl_dep = $control->grab("binary:libdist-zilla-plugins-cjm-perl Depends:3");
is($perl_dep->fetch,"perl (>= 5.10.1)","check dependency value from config tree");
-my @ret = $perl_dep->check_versioned_dep(
- sub { is($_[0],1,"check perl (>= 5.28.1) dependency: has older version");},
- ['perl','>=','5.28.1']
-) ;
+my $res = $perl_dep->check_versioned_dep(['perl','>=','5.28.1']) ;
+is($res,1,"check perl (>= 5.28.1) dependency: has older version");
- at ret = $perl_dep->check_versioned_dep(
- sub {is($_[0],0,"check perl (>= 5.6.0) dependency: no older version"); },
- ['perl','>=','5.6.0']
-) ;
+$res = $perl_dep->check_versioned_dep(['perl','>=','5.6.0']) ;
+is($res,0,"check perl (>= 5.6.0) dependency: no older version");
my $dpkg_dep = $control->grab("source Build-Depends:2");
is($dpkg_dep->fetch,"dpkg",'check dpkg value') ;
--
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