diff -Nru libconfig-model-dpkg-perl-2.043/debian/changelog libconfig-model-dpkg-perl-2.044/debian/changelog --- libconfig-model-dpkg-perl-2.043/debian/changelog 2013-11-22 01:55:56.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/debian/changelog 2014-02-01 11:01:22.000000000 +0000 @@ -1,3 +1,22 @@ +libconfig-model-dpkg-perl (2.044) unstable; urgency=medium + + * section parameter: + * fix check to cope with section like 'gnu-r' (Closes: #735308) + * dependency parameters: + * fix warnings issued when a alternate dep contains an unknown/virtual + package + * compute cache expiry date only once + * added global function cache_info_from_madison + * source Vcs-* parameters: + * warn (and fix) if Vcs-* field is not a recommended URL + (Closes: #735309) + * fix Vcs-Git url substitution (thanks Andreas) + * Backend Dpkg Control: query info for all package in one call to + madison. (Closes: #735000) + * debian/copyright: updated year + + -- Dominique Dumont Sat, 01 Feb 2014 11:46:55 +0100 + libconfig-model-dpkg-perl (2.043) unstable; urgency=low * Team upload. diff -Nru libconfig-model-dpkg-perl-2.043/debian/copyright libconfig-model-dpkg-perl-2.044/debian/copyright --- libconfig-model-dpkg-perl-2.043/debian/copyright 2013-11-22 01:55:56.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/debian/copyright 2014-02-01 11:01:22.000000000 +0000 @@ -5,7 +5,7 @@ parts of Config::Model Files: * -Copyright: 2005-2013, Dominique Dumont +Copyright: 2005-2014, Dominique Dumont License: LGPL-2.1+ License: LGPL-2.1+ diff -Nru libconfig-model-dpkg-perl-2.043/lib/Config/Model/Backend/Dpkg/Control.pm libconfig-model-dpkg-perl-2.044/lib/Config/Model/Backend/Dpkg/Control.pm --- libconfig-model-dpkg-perl-2.043/lib/Config/Model/Backend/Dpkg/Control.pm 2013-11-22 01:55:56.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/lib/Config/Model/Backend/Dpkg/Control.pm 2014-02-01 11:01:22.000000000 +0000 @@ -1,6 +1,6 @@ package Config::Model::Backend::Dpkg::Control ; - +use 5.10.1; use Mouse ; extends 'Config::Model::Backend::Any'; @@ -12,8 +12,12 @@ use File::Path; use Log::Log4perl qw(get_logger :levels); use AnyEvent ; +use AnyEvent::HTTP ; + +use Config::Model::Dpkg::Dependency; my $logger = get_logger("Backend::Dpkg::Control") ; +my $async_log = get_logger("Async::Value::Dependency") ; sub suffix { return '' ; } @@ -35,7 +39,12 @@ $logger->info("Parsing $args{file_path}"); # load dpkgctrl file my $c = $self -> parse_dpkg_file ($args{io_handle}, $args{check}, 1 ) ; - + + # hack to fix Debian #735000: ask for infos for all packages not in cache in one go. Thus + # the async code in Dependency is less likely to break since the cache is already up-to-date + # when dependencies are checked one by one + $self->fill_package_cache ($c); + my $root = $args{object} ; my $check = $args{check} ; my $file; @@ -48,8 +57,7 @@ $logger->debug("Reading binary package names"); # we assume that package name is the first item in the section data - - + while (@$c ) { my ($section_line,$section) = splice @$c,0,2 ; my $package_name; @@ -69,14 +77,42 @@ $node = $root->grab("binary:$package_name") ; $self->read_sections ($node, $section_line, $section, $args{check}); } - - return 1 ; } -# -# New subroutine "read_section" extracted - Tue Sep 28 17:19:44 2010. -# +sub fill_package_cache { + my $self = shift; + my $c = shift; + + # scan data to find package name and query madison for info for all packages in a single call + my %packages; # use a hash to elliminate duplicates + foreach my $s (@$c) { + next unless ref $s eq 'ARRAY' ; + my %section = @$s ; # don't care about order + foreach my $found (keys %section) { + if ($found =~ /Depends|Suggests|Recommends|Enhances|Breaks|Conflicts|Replaces/) { + my $v = $section{$found}[0] ; # $section{found} array is [ value, line_nb, altered_value , comment ] + my @v = grep { not /\$/ } map { s/\[.*\]//g; s/\(.*\)//; s/\s//g; $_;} split /[\s\n]*[,|][\s\n]*/, $v; + chomp @v; + map {$packages{$_} =1 ;} @v; + } + } + } + + my $cv = AnyEvent->condvar ; + + $async_log->debug("start call to madison") ; + + my $cb = sub { + $async_log->debug("call to madison done") ; + $cv->send; + } ; + + my @pkgs = keys %packages; + Config::Model::Dpkg::Dependency::cache_info_from_madison ($cb, @pkgs); + $cv->recv; +} + sub read_sections { my $self = shift ; my $node = shift; diff -Nru libconfig-model-dpkg-perl-2.043/lib/Config/Model/Dpkg/Dependency.pm libconfig-model-dpkg-perl-2.044/lib/Config/Model/Dpkg/Dependency.pm --- libconfig-model-dpkg-perl-2.043/lib/Config/Model/Dpkg/Dependency.pm 2013-11-22 01:55:56.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/lib/Config/Model/Dpkg/Dependency.pm 2014-02-01 11:01:22.000000000 +0000 @@ -16,6 +16,7 @@ use Parse::RecDescent ; +use AnyEvent; use AnyEvent::HTTP ; # available only in debian. Black magic snatched from @@ -429,6 +430,11 @@ $async_log->debug("on_get_lib_version called with @_") ; # get_available_version returns oldest first, like (etch,1.2,...) my ($oldest_debian_with_lib,$oldest_lib_version_in_debian) = @_[0,1] ; + if (not defined $oldest_lib_version_in_debian or not defined $oldest_debian_with_lib) { + # no need to check further. Call send to unblock wait done with recv + AnyEvent::postpone { $perl_dep_cv->send }; + return; + } # lob off debian release number $oldest_lib_version_in_debian =~ s/-.*//; my $check_v = $dep_v ; @@ -764,13 +770,14 @@ # asynchronous method +my $cache_expire_date = time - 24 * 60 * 60 * 7 ; sub get_available_version { my ($self, $callback,$pkg_name) = @_ ; $async_log->debug("called on $pkg_name"); my ($time,@res) = split / /, ($cache{$pkg_name} || ''); - if (defined $time and $time =~ /^\d+$/ and $time + 24 * 60 * 60 * 7 > time) { + if (defined $time and $time =~ /^\d+$/ and $time > $cache_expire_date ) { $async_log->debug("using cached info for $pkg_name"); $callback->(@res) ; return; @@ -800,6 +807,7 @@ if ($hdr->{Status} =~ /^2/) { my @res ; foreach my $line (split /\n/, $body) { + $line =~ s/^\s+|\s+$//g; my ($name,$available_v,$dist,$type) = split /\s*\|\s*/, $line ; $type =~ s/\s//g ; push @res , $dist, $available_v unless $type eq 'source'; @@ -817,6 +825,65 @@ ); } +# this function queries *once* madison for package info not found in cache. +# it should be called once when parding control file +sub cache_info_from_madison { + my ($callback,@pkg_names) = @_ ; + + $async_log->debug("called on @pkg_names"); + + my $necessary = 0; + my @needed; + + foreach my $pkg_name (@pkg_names) { + my ($time,@res) = split / /, ($cache{$pkg_name} || ''); + if (defined $time and $time =~ /^\d+$/ and $time > $cache_expire_date) { + $async_log->debug("using cached info for $pkg_name"); + } + else { + push @needed, $pkg_name; + $necessary++; + } + } + + if (not $necessary) { + $callback->(); + return; + } + + my $url = "http://qa.debian.org/cgi-bin/madison.cgi?package=".join('+',@needed)."&text=on" ; + say "Connecting to qa.debian.org to check ", scalar @needed, " package versions. Please wait..." ; + + my $request; + $request = http_request( + GET => $url, + timeout => 20, # seconds + sub { + my ($body, $hdr) = @_; + $async_log->debug("callback of get_available_version called on @needed"); + if ($hdr->{Status} =~ /^2/) { + my %res ; + foreach my $line (split /\n/, $body) { + $line =~ s/^\s+|\s+$//g; + my ($name,$available_v,$dist,$type) = split /\s*\|\s*/, $line ; + $type =~ s/\s//g ; + $res{$name} ||= [] ; + push @{$res{$name}} , $dist, $available_v unless $type eq 'source'; + } + say "got info for $necessary packages: ", join(' ',sort keys %res) ; + foreach my $pname (keys %res) { + $cache{$pname} = time ." ".join(' ',@{$res{$pname}}) ; + } + $callback->(); + } + else { + say "Error for $url: ($hdr->{Status}) $hdr->{Reason}"; + } + undef $request; + } + ); +} + __PACKAGE__->meta->make_immutable; 1; diff -Nru libconfig-model-dpkg-perl-2.043/lib/Config/Model/Dpkg.pm libconfig-model-dpkg-perl-2.044/lib/Config/Model/Dpkg.pm --- libconfig-model-dpkg-perl-2.043/lib/Config/Model/Dpkg.pm 2013-11-22 01:55:56.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/lib/Config/Model/Dpkg.pm 2014-02-01 11:01:22.000000000 +0000 @@ -1,6 +1,6 @@ package Config::Model::Dpkg; -our $VERSION='2.042'; +our $VERSION='2.043'; 1; diff -Nru libconfig-model-dpkg-perl-2.043/lib/Config/Model/models/Dpkg/Control/Binary.pl libconfig-model-dpkg-perl-2.044/lib/Config/Model/models/Dpkg/Control/Binary.pl --- libconfig-model-dpkg-perl-2.043/lib/Config/Model/models/Dpkg/Control/Binary.pl 2013-11-22 01:55:56.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/lib/Config/Model/models/Dpkg/Control/Binary.pl 2014-02-01 11:01:22.000000000 +0000 @@ -44,7 +44,7 @@ 'value_type' => 'uniline', 'warn_unless' => { 'area' => { - 'code' => '(not defined) or m!^((contrib|non-free)/)?\\w+$!;', + 'code' => '(not defined) or m!^((contrib|non-free)/)?[\\w\\-]+$!;', 'msg' => 'Bad area. Should be \'non-free\' or \'contrib\'' }, 'section' => { diff -Nru libconfig-model-dpkg-perl-2.043/lib/Config/Model/models/Dpkg/Control/Source.pl libconfig-model-dpkg-perl-2.044/lib/Config/Model/models/Dpkg/Control/Source.pl --- libconfig-model-dpkg-perl-2.043/lib/Config/Model/models/Dpkg/Control/Source.pl 2013-11-22 01:55:56.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/lib/Config/Model/models/Dpkg/Control/Source.pl 2014-02-01 11:01:22.000000000 +0000 @@ -63,7 +63,7 @@ 'value_type' => 'uniline', 'warn_unless' => { 'area' => { - 'code' => '(not defined) or m!^((contrib|non-free)/)?\\w+$!;', + 'code' => '(not defined) or m!^((contrib|non-free)/)?[\\w\\-]+$!;', 'msg' => 'Bad area. Should be \'non-free\' or \'contrib\'' }, 'empty' => { @@ -200,7 +200,16 @@ 'match' => '^https?://', 'summary' => 'web-browsable URL of the VCS repository', 'type' => 'leaf', - 'value_type' => 'uniline' + 'value_type' => 'uniline', + 'warn_unless' => { + 'debian-uri' => { + 'code' => '!defined $_ or ! /debian.org/ or m{^https?://anonscm.debian.org/(viewvc|gitweb|loggerhead)} ;', + 'fix' => 's{https?://svn\\.debian\\.org/\\w+svn/}{http://anonscm.debian.org/viewvc/}; +s{http://git.debian.org/\\?p=}{http://anonscm.debian.org/gitweb/?p=}; +s{http://bzr.debian.org/loggerhead/}{http://anonscm.debian.org/loggerhead/};', + 'msg' => 'URL to debian system is not the recommended one' + } + } }, 'Vcs-Arch', { @@ -209,7 +218,14 @@ The information is meant to be useful for a user knowledgeable in the given Version Control System and willing to build the current version of a package from the VCS sources. Other uses of this information might include automatic building of the latest VCS version of the given package. To this end the location pointed to by the field should better be version agnostic and point to the main branch (for VCSs supporting such a concept). Also, the location pointed to should be accessible to the final user; fulfilling this requirement might imply pointing to an anonymous access of the repository instead of pointing to an SSH-accessible version of the same. ', 'summary' => 'URL of the VCS repository', 'type' => 'leaf', - 'value_type' => 'uniline' + 'value_type' => 'uniline', + 'warn_unless' => { + 'debian-uri' => { + 'code' => '!defined $_ or ! /debian.org/ or m{^http://anonscm.debian.org/arch} ;', + 'fix' => 's!http://[\\w\\.-]+/(arch/)*!http://anonscm.debian.org/arch/!;', + 'msg' => 'URL to debian system is not the recommended one' + } + } }, 'Vcs-Bzr', { @@ -218,7 +234,15 @@ The information is meant to be useful for a user knowledgeable in the given Version Control System and willing to build the current version of a package from the VCS sources. Other uses of this information might include automatic building of the latest VCS version of the given package. To this end the location pointed to by the field should better be version agnostic and point to the main branch (for VCSs supporting such a concept). Also, the location pointed to should be accessible to the final user; fulfilling this requirement might imply pointing to an anonymous access of the repository instead of pointing to an SSH-accessible version of the same. ', 'summary' => 'URL of the VCS repository', 'type' => 'leaf', - 'value_type' => 'uniline' + 'value_type' => 'uniline', + 'warn_unless' => { + 'debian-uri' => { + 'code' => '!defined $_ or ! /debian.org/ or m{^http://anonscm.debian.org/bzr/} ;', + 'fix' => 's{http://\\w+.debian.org/(bzr/)*}{http://anonscm.debian.org/bzr/}; +', + 'msg' => 'URL to debian system is not the recommended one' + } + } }, 'Vcs-Cvs', { @@ -227,7 +251,15 @@ The information is meant to be useful for a user knowledgeable in the given Version Control System and willing to build the current version of a package from the VCS sources. Other uses of this information might include automatic building of the latest VCS version of the given package. To this end the location pointed to by the field should better be version agnostic and point to the main branch (for VCSs supporting such a concept). Also, the location pointed to should be accessible to the final user; fulfilling this requirement might imply pointing to an anonymous access of the repository instead of pointing to an SSH-accessible version of the same. ', 'summary' => 'URL of the VCS repository', 'type' => 'leaf', - 'value_type' => 'uniline' + 'value_type' => 'uniline', + 'warn_unless' => { + 'debian-uri' => { + 'code' => '!defined $_ or ! /debian.org/ or m{\\@anonscm.debian.org:/cvs/} ;', + 'fix' => 's{\\@(?:cvs.alioth|anonscm)\\.debian\\.org:/cvsroot/} + {\\@anonscm.debian.org:/cvs/}', + 'msg' => 'URL to debian system is not the recommended one' + } + } }, 'Vcs-Darcs', { @@ -254,7 +286,20 @@ The information is meant to be useful for a user knowledgeable in the given Version Control System and willing to build the current version of a package from the VCS sources. Other uses of this information might include automatic building of the latest VCS version of the given package. To this end the location pointed to by the field should better be version agnostic and point to the main branch (for VCSs supporting such a concept). Also, the location pointed to should be accessible to the final user; fulfilling this requirement might imply pointing to an anonymous access of the repository instead of pointing to an SSH-accessible version of the same. ', 'summary' => 'URL of the VCS repository', 'type' => 'leaf', - 'value_type' => 'uniline' + 'value_type' => 'uniline', + 'warn_if_match' => { + 'debian.org/~' => { + 'msg' => 'URL contains deprecated \'~\' path to user' + } + }, + 'warn_unless' => { + 'debian-uri' => { + 'code' => '!defined $_ or ! /debian.org/ or m{^http://anonscm.debian.org/git/(?!git/)} or m{^git://anonscm.debian.org/(?!git/)} ;', + 'fix' => 's!http://[\\w\\.-]+/(git/)*!http://anonscm.debian.org/git/!; +s!git://[\\w\\.-]+/(git/)?!git://anonscm.debian.org/!;', + 'msg' => 'URL to debian system is not the recommended one' + } + } }, 'Vcs-Hg', { @@ -263,7 +308,14 @@ The information is meant to be useful for a user knowledgeable in the given Version Control System and willing to build the current version of a package from the VCS sources. Other uses of this information might include automatic building of the latest VCS version of the given package. To this end the location pointed to by the field should better be version agnostic and point to the main branch (for VCSs supporting such a concept). Also, the location pointed to should be accessible to the final user; fulfilling this requirement might imply pointing to an anonymous access of the repository instead of pointing to an SSH-accessible version of the same. ', 'summary' => 'URL of the VCS repository', 'type' => 'leaf', - 'value_type' => 'uniline' + 'value_type' => 'uniline', + 'warn_unless' => { + 'debian-uri' => { + 'code' => '!defined $_ or ! /debian.org/ or m{^http://anonscm.debian.org/hg/};', + 'fix' => 's{http://\\w+.debian.org/(hg/)*}{http://anonscm.debian.org/hg/};', + 'msg' => 'URL to debian system is not the recommended one' + } + } }, 'Vcs-Mtn', { @@ -281,7 +333,14 @@ The information is meant to be useful for a user knowledgeable in the given Version Control System and willing to build the current version of a package from the VCS sources. Other uses of this information might include automatic building of the latest VCS version of the given package. To this end the location pointed to by the field should better be version agnostic and point to the main branch (for VCSs supporting such a concept). Also, the location pointed to should be accessible to the final user; fulfilling this requirement might imply pointing to an anonymous access of the repository instead of pointing to an SSH-accessible version of the same. ', 'summary' => 'URL of the VCS repository', 'type' => 'leaf', - 'value_type' => 'uniline' + 'value_type' => 'uniline', + 'warn_unless' => { + 'debian-uri' => { + 'code' => '!defined $_ or ! /debian.org/ or m{^svn://anonscm.debian.org/} ;', + 'fix' => 's{svn://\\w+.debian.org/(svn/)*}{svn://anonscm.debian.org/};', + 'msg' => 'URL to debian system is not the recommended one' + } + } }, 'DM-Upload-Allowed', { diff -Nru libconfig-model-dpkg-perl-2.043/t/dependency-check.t libconfig-model-dpkg-perl-2.044/t/dependency-check.t --- libconfig-model-dpkg-perl-2.043/t/dependency-check.t 2013-11-22 01:55:56.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/t/dependency-check.t 2014-02-01 11:01:22.000000000 +0000 @@ -38,10 +38,7 @@ if ( $@ ) { plan skip_all => "AptPkg::Config is not installed"; } -elsif ( -r '/etc/debian_version' ) { - plan tests => 60; -} -else { +elsif ( not -r '/etc/debian_version' ) { plan skip_all => "Not a Debian system"; } @@ -333,4 +330,36 @@ print scalar $inst->list_changes,"\n" if $trace ; is($inst->c_count, 1,"check that fixes are tracked with notify changes") ; +my @vcs_tests = ( + [ 'Vcs-Browser', 'http://git.debian.org/?p=debian-med/r-cran-stringr.git;a=summary', 'http://anonscm.debian.org/gitweb/?p=debian-med/r-cran-stringr.git;a=summary'], + [ 'Vcs-Browser', 'https://svn.debian.org/yadasvn/','http://anonscm.debian.org/viewvc/'], + [ 'Vcs-Browser', 'http://bzr.debian.org/loggerhead/','http://anonscm.debian.org/loggerhead/'], + [ 'Vcs-Arch', 'http://foo.debian.org/arch/arch/','http://anonscm.debian.org/arch/'], + [ 'Vcs-Bzr', 'http://baz.debian.org/','http://anonscm.debian.org/bzr/'], + [ 'Vcs-Cvs', 'svn@cvs.alioth.debian.org:/cvsroot/','svn@anonscm.debian.org:/cvs/'], + [ 'Vcs-Git', 'http://foo.debian.org/git/bar.git','http://anonscm.debian.org/git/bar.git'], + [ 'Vcs-Git', 'git://foo.debian.org/git/bar.git','git://anonscm.debian.org/bar.git'], + [ 'Vcs-Hg', 'http://foo.debian.org/hg/foo','http://anonscm.debian.org/hg/foo'], + [ 'Vcs-Svn', 'svn://foo.debian.org/svn/foo','svn://anonscm.debian.org/foo'], +); + +foreach my $vt (@vcs_tests) { + my ($elt, $urla, $urlb) = @$vt; + my $vcs = $control->grab("source $elt") ; + + warning_like { + $vcs->store($urla) ; + } + qr/RL to debian system/,"old URL triggers a warning on $elt"; + + { + local $Config::Model::Value::nowarning = 1 ; + $vcs->apply_fixes; + ok(1,"apply_fixes on $elt URL done"); + } + is($vcs->fetch, $urlb,'fixed $elt URL') ; +} + memory_cycle_ok($model); + +done_testing; diff -Nru libconfig-model-dpkg-perl-2.043/t/model_tests.d/dpkg-control-examples/gnu-r-stuff libconfig-model-dpkg-perl-2.044/t/model_tests.d/dpkg-control-examples/gnu-r-stuff --- libconfig-model-dpkg-perl-2.043/t/model_tests.d/dpkg-control-examples/gnu-r-stuff 1970-01-01 00:00:00.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/t/model_tests.d/dpkg-control-examples/gnu-r-stuff 2014-02-01 11:01:22.000000000 +0000 @@ -0,0 +1,19 @@ +Source: gnu-r-stuff +Section: gnu-r +Priority: optional +Maintainer: Debian-Med Packaging Team +Uploaders: Charles Plessy +Build-Depends: debhelper ( >= 7 ) +Standards-Version: 3.8.1 +Vcs-Browser: http://svn.debian.org/wsvn/debian-med/trunk/packages/seaview/trunk/?rev=0&sc=0 +Vcs-Svn: svn://svn.debian.org/svn/debian-med/trunk/packages/seaview/trunk/ +Homepage: http://pbil.univ-lyon1.fr/software/seaview.html + +Package: gnu-r-view +Architecture: any +Section: gnu-r +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: clustalw, muscle, phyml +Description: Multiplatform interface for sequence ... + SeaView reads and writes various file formats (NEXUS, MSF, CLUSTAL, FASTA, + PHYLIP, MASE, Newick) of DNA and ... diff -Nru libconfig-model-dpkg-perl-2.043/t/model_tests.d/dpkg-control-test-conf.pl libconfig-model-dpkg-perl-2.044/t/model_tests.d/dpkg-control-test-conf.pl --- libconfig-model-dpkg-perl-2.043/t/model_tests.d/dpkg-control-test-conf.pl 2013-11-22 01:55:56.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/t/model_tests.d/dpkg-control-test-conf.pl 2014-02-01 11:01:22.000000000 +0000 @@ -41,7 +41,7 @@ # t1 check => { 'binary:seaview Recommends:0', 'clustalw', }, - load_warnings => [ qr/dependency is deprecated/,qr/standards version/, qr/too long/ ], + load_warnings => [ qr/dependency is deprecated/,qr/standards version/, qr/Vcs-Browser/, qr/Vcs-Svn/, qr/too long/ ], apply_fix => 1, load => 'binary:seaview Synopsis="multiplatform interface for sequence alignment"', }, @@ -74,7 +74,7 @@ "Release tests for POD spelling", 'binary:libdist-zilla-plugin-podspellingtests-perl Description' => $t3_description , }, - load_warnings => [ qr/standards version/, (qr/value/) x 2], + load_warnings => [ qr/standards version/, (qr/Vcs/) x 2, (qr/value/) x 2], load => 'binary:libdist-zilla-plugin-podspellingtests-perl '. 'Description="'.$t3_description.'"', apply_fix => 1, @@ -103,14 +103,14 @@ { name => 'sdlperl', load => 'source Uploaders:2="Sam Hocevar (Debian packages) "', - load_warnings => [ ( qr/Warning/) x 9 ], + load_warnings => [ ( qr/Warning/) x 11 ], load_check => 'skip', check => { 'binary:libsdl-perl Depends:2' => '${misc:Depends}' }, apply_fix => 1, }, { name => 'libpango-perl', - load_warnings => [ ( qr/Warning/) x 2 ], + load_warnings => [ ( qr/Warning/) x 3 ], verify_annotation => { 'source Build-Depends' => "do NOT add libgtk2-perl to build-deps (see bug #554704)", 'source Maintainer' => "what a fine\nteam this one is", @@ -120,19 +120,20 @@ }, { name => 'libwx-scintilla-perl', - load_warnings => [ ( qr/Warning/) x 3 ], + load_warnings => [ ( qr/Warning/) x 4 ], apply_fix => 1, }, { # test for #683861 name => 'libmodule-metadata-perl', - load_warnings => [ ( qr/Warning/) x 3 ], + load_warnings => [ ( qr/Warning/) x 4 ], apply_fix => 1, }, { # test for #682730 name => 'libclass-meta-perl', - check => { 'source Build-Depends-Indep:1' => 'libclass-isa-perl | perl (<< 5.10.1-13)' }, + load_warnings => [ ( qr/Vcs-Git/) ], + check => { 'source Build-Depends-Indep:1' => 'libclass-isa-perl | perl (<< 5.10.1-13)' }, apply_fix => 1, }, { @@ -168,6 +169,15 @@ 'source XS-Testsuite' => 'autopkgtest', }, }, + { + name => 'gnu-r-stuff', + load_warnings => [ qr/standards version/ , (qr/Vcs/) x 2 ], + apply_fix => 1, + check => [ + 'source Section' => 'gnu-r', + 'binary:gnu-r-view Section' => 'gnu-r', + ] + } ); my $cache_file = 't/model_tests.d/dependency-cache.txt'; diff -Nru libconfig-model-dpkg-perl-2.043/t/model_tests.d/dpkg-examples/t0/debian/control libconfig-model-dpkg-perl-2.044/t/model_tests.d/dpkg-examples/t0/debian/control --- libconfig-model-dpkg-perl-2.043/t/model_tests.d/dpkg-examples/t0/debian/control 2013-11-22 01:55:56.000000000 +0000 +++ libconfig-model-dpkg-perl-2.044/t/model_tests.d/dpkg-examples/t0/debian/control 2014-02-01 11:01:22.000000000 +0000 @@ -10,8 +10,6 @@ Fabrizio Regalli Standards-Version: 3.9.5 Homepage: http://search.cpan.org/dist/Config-Model-Approx/ -Vcs-Svn: svn://svn.debian.org/svn/pkg-perl/tags/libconfig-model-approx-perl -Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-perl/trunk/libconfig-model-approx-perl/ Package: libconfig-model-approx-perl Architecture: all