[libconfig-model-dpkg-perl] 04/07: Remove filter parameter of dependency version

dod at debian.org dod at debian.org
Thu Jul 27 19:02:39 UTC 2017


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 e8767281f7bbcd9e715730b385f13a4094bc73dd
Author: Dominique Dumont <dod at debian.org>
Date:   Tue Jul 18 19:32:06 2017 +0200

    Remove filter parameter of dependency version
    
    See https://lists.debian.org/msgid-search/1975210.9I9nJbeKZs@ylum for
    explanation and rationale
---
 lib/Config/Model/Dpkg/Dependency.pm                | 35 ++--------------
 lib/Config/Model/models/Dpkg/Meta.pl               | 46 +++-------------------
 t/dpkg.t                                           |  6 +--
 .../dpkg-examples/libversion/debian/control        |  3 +-
 t/model_tests.d/dpkg-test-conf.pl                  |  4 +-
 5 files changed, 16 insertions(+), 78 deletions(-)

diff --git a/lib/Config/Model/Dpkg/Dependency.pm b/lib/Config/Model/Dpkg/Dependency.pm
index 93b8da6..dd7d101 100644
--- a/lib/Config/Model/Dpkg/Dependency.pm
+++ b/lib/Config/Model/Dpkg/Dependency.pm
@@ -148,9 +148,6 @@ push @virtual_list,
 
 my %virtual_hash = map {( $_ => 1); } @virtual_list;
 
-use vars qw/$test_filter/ ;
-$test_filter = ''; # reserved for tests
-
 my %debian_map;
 my $version = \%Module::CoreList::version;
 
@@ -419,18 +416,6 @@ sub check_debhelper_version {
     }
 }
 
-# used with dependency filter: an optional config parameter which enable a user
-# to clean dependency older than a specified release. Be default, dependency version
-# are not cleaned up before they are older than old_stable.
-my @deb_releases = qw/etch lenny squeeze wheezy jessie stretch buster/;
-
-my %deb_release_h ;
-while (@deb_releases) {
-    my $k = pop @deb_releases ;
-    my $regexp = join('|', at deb_releases,$k);
-    $deb_release_h{$k} = qr/$regexp/;
-}
-
 sub struct_to_dep {
     my $self = shift ;
     my @input = @_ ;
@@ -680,11 +665,7 @@ sub check_versioned_dep {
 	 ) {
 		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 ));
+		return ($self->has_older_version_than ($pkg, $vers, \@dist_version ));
 	}
 	else {
 		return (1) ;
@@ -692,20 +673,13 @@ sub check_versioned_dep {
 }
 
 sub has_older_version_than {
-    my ($self, $pkg, $vers, $filter, $dist_version ) = @_;
-
-    $logger->debug("using filter $filter") if $filter;
-    my $regexp = $deb_release_h{$filter} ;
-
-    $logger->debug("using regexp $regexp") if defined $regexp;
+    my ($self, $pkg, $vers, $dist_version ) = @_;
 
     my @list ;
     my $has_older = 0;
     while (@$dist_version) {
         my ($d,$v) = splice @$dist_version,0,2 ;
 
-        next if defined $regexp and $d =~ $regexp ;
-
         push @list, "$d -> $v;" ;
 
         if ($vs->compare($vers,$v) > 0 ) {
@@ -1017,10 +991,9 @@ syntax as described in http://www.debian.org/doc/debian-policy/ch-relationships.
 =item *
 
 Whether the version specified with C<< > >> or C<< >= >> is necessary.
-This module will check with Debian server whether older versions can be
+This module checks with Debian server whether older versions can be
 found in Debian old-stable or not. If no older version can be found, a
-warning will be issued. Note a warning will also be sent if the package
-is not found on madison and if the package is not virtual.
+warning is issued (unless the package is known to be virtual)
 
 =item *
 
diff --git a/lib/Config/Model/models/Dpkg/Meta.pl b/lib/Config/Model/models/Dpkg/Meta.pl
index 832722a..88c5512 100644
--- a/lib/Config/Model/models/Dpkg/Meta.pl
+++ b/lib/Config/Model/models/Dpkg/Meta.pl
@@ -41,62 +41,28 @@
       },
       'dependency-filter',
       {
-        'choice' => [
-          'etch',
-          'lenny',
-          'squeeze',
-          'wheezy'
-        ],
-        'description' => 'Specifies the dependency filter to be used. The release specified mentions the most recent release to be filtered out. Older release will also be filtered.
-
-For instance, if the dependency filter is \'lenny\', all \'lenny\' and \'etch\' dependencies are filtered out.',
+        'status' => 'deprecated',
         'type' => 'leaf',
-        'value_type' => 'enum'
+        'value_type' => 'uniline'
       },
       'group-dependency-filter',
       {
         'cargo' => {
-          'choice' => [
-            'etch',
-            'lenny',
-            'squeeze',
-            'wheezy'
-          ],
           'type' => 'leaf',
-          'value_type' => 'enum'
-        },
-        'default_with_init' => {
-          'Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>' => 'etch'
+          'value_type' => 'uniline'
         },
-        'description' => 'Dependency filter tuned by Maintainer field. Use this to override the main dependency-filter value.',
         'index_type' => 'string',
+        'status' => 'deprecated',
         'type' => 'hash'
       },
       'package-dependency-filter',
       {
         'cargo' => {
-          'choice' => [
-            'etch',
-            'lenny',
-            'squeeze',
-            'wheezy'
-          ],
-          'compute' => {
-            'allow_override' => '1',
-            'formula' => '$group_filter || $dependency_filter ;',
-            'undef_is' => '\'\'',
-            'use_eval' => '1',
-            'variables' => {
-              'dependency_filter' => '- dependency-filter',
-              'group_filter' => '- group-dependency-filter:"$maintainer"',
-              'maintainer' => '! control source Maintainer'
-            }
-          },
           'type' => 'leaf',
-          'value_type' => 'enum'
+          'value_type' => 'uniline'
         },
-        'description' => 'Dependency filter tuned by package. Use this to override the main dependency-filter value.',
         'index_type' => 'string',
+        'status' => 'deprecated',
         'type' => 'hash'
       }
     ],
diff --git a/t/dpkg.t b/t/dpkg.t
index 44de4ff..ca7cc8f 100644
--- a/t/dpkg.t
+++ b/t/dpkg.t
@@ -20,7 +20,7 @@ if ( $@ ) {
     plan skip_all => "AptPkg::Config is not installed";
 }
 elsif ( -r '/etc/debian_version' ) {
-    plan tests => 25;
+    plan tests => 24;
 }
 else {
     plan skip_all => "Not a Debian system";
@@ -100,10 +100,6 @@ foreach my $t (@test) {
 	}
 }
 
-$root->load('control source Maintainer="foo <foo at bar>" ! my_config dependency-filter=lenny') ;
-is($root->grab_value("my_config package-dependency-filter:foopkg"),
-    'lenny', "check package-dependency-filter");
-
 warning_is {
     my $ts = $root->grab_value("control source Testsuite");
 }  undef, 'check that Testsuite does not warn for random maintainer ';
diff --git a/t/model_tests.d/dpkg-examples/libversion/debian/control b/t/model_tests.d/dpkg-examples/libversion/debian/control
index 2518b13..de689a5 100644
--- a/t/model_tests.d/dpkg-examples/libversion/debian/control
+++ b/t/model_tests.d/dpkg-examples/libversion/debian/control
@@ -5,7 +5,8 @@ Section: perl
 Priority: optional
 Build-Depends: debhelper (>= 7)
 Build-Depends-Indep: perl,
-                     perl (>= 5.10) | libversion-perl,
+                     perl (>= 5.004) | libversion-perl,
+                     perl,
                      libdist-zilla-perl,
                      libmoose-perl,
                      libtest-simple-perl (>= 0.94),
diff --git a/t/model_tests.d/dpkg-test-conf.pl b/t/model_tests.d/dpkg-test-conf.pl
index e9d9384..8bb0027 100644
--- a/t/model_tests.d/dpkg-test-conf.pl
+++ b/t/model_tests.d/dpkg-test-conf.pl
@@ -74,7 +74,9 @@ sub add {
         apply_fix => 1 ,
         check => {
             'control source Build-Depends-Indep:0' => 'perl',
-            'control source Build-Depends-Indep:1' => 'libdist-zilla-perl',
+            'control source Build-Depends-Indep:1' => 'perl (>= 5.9.5) | libversion-perl',
+            # check that duplicated dependency is removed
+            'control source Build-Depends-Indep:2' => 'libdist-zilla-perl',
             'bugfiles:libversion bug-script' => qr/dummy script/,
             'bugfiles:libversion bug-control report-with' => 'libreoffice-core',
             'bugfiles:libversion bug-control package-status' => 'udev dracut initramfs-tools',

-- 
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