r37837 - in /trunk/dh-make-perl: lib/DhMakePerl.pm t/perl-deps.t

dmn at users.alioth.debian.org dmn at users.alioth.debian.org
Mon Jun 8 04:35:33 UTC 2009


Author: dmn
Date: Mon Jun  8 04:35:28 2009
New Revision: 37837

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=37837
Log:
DhMakePerl: delegate pruning of (build-) dependencies on perl/-base/-modules to Control::FromCPAN

Added:
    trunk/dh-make-perl/t/perl-deps.t   (with props)
Modified:
    trunk/dh-make-perl/lib/DhMakePerl.pm

Modified: trunk/dh-make-perl/lib/DhMakePerl.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/lib/DhMakePerl.pm?rev=37837&op=diff
==============================================================================
--- trunk/dh-make-perl/lib/DhMakePerl.pm (original)
+++ trunk/dh-make-perl/lib/DhMakePerl.pm Mon Jun  8 04:35:28 2009
@@ -238,30 +238,7 @@
             warn "Dependencies not updated.\n";
         }
 
-        # remove build-depending/conflicting on ancient perl versions
-        for my $pkg ( qw( perl perl-base perl-modules ) ) {
-            for ( qw( Build_Depends Build_Depends_Indep ) ) {
-                $control->source->$_->add("$pkg (>= $min_perl_version)")
-                    if $control->source->$_->has($pkg);
-            }
-            $control->source->Build_Conflicts->remove(
-                "$pkg (<< $oldest_perl_version)"
-            );
-            $control->source->Build_Conflicts_Indep->remove(
-                "$pkg (<< $oldest_perl_version)"
-            );
-        }
-
-        # remove depending/conflicting on ancient perl versions
-        for my $perl ( qw( perl perl-base perl-modules ) ) {
-            for my $pkg ( $control->binary->Values ) {
-                for my $dep ( qw(Depends Recommends Suggests) ) {
-                    $pkg->$dep->add("$perl (>= $min_perl_version)")
-                        if $pkg->$dep->has($perl);
-                }
-                $pkg->Conflicts->remove("$perl (<< $oldest_perl_version)");
-            }
-        }
+        $control->prune_perl_deps();
 
         copy( "$debiandir/control", "$debiandir/control.bak" )
             if $self->cfg->backups;

Added: trunk/dh-make-perl/t/perl-deps.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/t/perl-deps.t?rev=37837&op=file
==============================================================================
--- trunk/dh-make-perl/t/perl-deps.t (added)
+++ trunk/dh-make-perl/t/perl-deps.t Mon Jun  8 04:35:28 2009
@@ -1,0 +1,33 @@
+#!/usr/bin/perl -w
+
+use strict;
+use warnings;
+
+use Test::More tests => 10;
+use Test::Exception;
+
+BEGIN {
+    use_ok('Debian::Control::FromCPAN');
+    use_ok('Debian::Dependency');
+};
+
+my $ctl = 'Debian::Control::FromCPAN';
+my $dep = 'Debian::Dependency';
+
+dies_ok {
+    $ctl->prune_simple_perl_dep( $dep->new('perl|perl-modules') )
+} 'prune_simple_perl_dep croaks on alternatives';
+
+is( $ctl->prune_perl_dep( $dep->new('perl-modules') ), 'perl', 'perl-modules is converted to perl' );
+
+is( $ctl->prune_perl_dep( $dep->new('perl-modules|foo') ), 'perl | foo', 'perl-modules is converted to perl in alternatives' );
+
+is( $ctl->prune_perl_dep( $dep->new('perl-base') ), undef, 'plain dependency on perl-base is redundant' );
+
+is( $ctl->prune_perl_dep( $dep->new('perl-modules'), 1 ), undef, 'perl-modules is build-essential' );
+
+is( $ctl->prune_perl_dep( $dep->new('foo|perl-modules'), 1 ), undef, 'redundant alternative makes redundand the whole' );
+
+is( $ctl->prune_perl_dep( $dep->new('perl (>= 5.8.0)'), 1 ), undef, 'perl 5.8.0 is ancient' );
+
+is( $ctl->prune_perl_dep( $dep->new('perl (= 5.8.0)'), 1 ), 'perl (= 5.8.0)', 'perl =5.8.0 is left intact' );

Propchange: trunk/dh-make-perl/t/perl-deps.t
------------------------------------------------------------------------------
    svn:executable = *




More information about the Pkg-perl-cvs-commits mailing list