r29472 - /trunk/dh-make-perl/lib/DhMakePerl.pm

dmn at users.alioth.debian.org dmn at users.alioth.debian.org
Thu Jan 8 21:47:34 UTC 2009


Author: dmn
Date: Thu Jan  8 21:47:29 2009
New Revision: 29472

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=29472
Log:
Treat dependency lists as objects, not arrays

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=29472&op=diff
==============================================================================
--- trunk/dh-make-perl/lib/DhMakePerl.pm (original)
+++ trunk/dh-make-perl/lib/DhMakePerl.pm Thu Jan  8 21:47:29 2009
@@ -61,7 +61,7 @@
 # * get more info from the package (maybe using CPAN methods)
 
 my ($min_perl_version, $debstdversion, $priority,  $section,
-    @depends,          @bdepends,      @bdependsi, $maintainer,
+    $depends,          $bdepends,      $bdependsi, $maintainer,
     $arch,             $closes,        $date,      $debiandir,
     $startdir,
 );
@@ -70,7 +70,7 @@
 $debstdversion = '3.8.0';
 $priority      = 'optional';
 $section       = 'perl';
- at depends       = ( Debian::Dependency->new( '${perl:Depends}' ) );
+$depends       = Debian::Dependencies->new('${perl:Depends}');
 
 # 5.6.0-12 is where arch-indep modules are moved in /usr/share/perl5
 # (according to dh_perl)
@@ -78,7 +78,7 @@
 # is replaced below by calling substitute_perl_dependency
 $min_perl_version = '5.6.0-12';
 
- at bdependsi = ( Debian::Dependency->new( 'perl', $min_perl_version ) );
+$bdependsi = Debian::Dependencies->new("perl (>= $min_perl_version)");
 $arch      = 'all';
 $date      = email_date(time);
 $startdir  = getcwd();
@@ -113,7 +113,9 @@
 
     chomp($date);
 
-    @bdepends = ( Debian::Dependency->new( 'debhelper', $self->cfg->dh ) );
+    $bdepends = Debian::Dependencies->new(
+        'debhelperi (>=' . $self->cfg->dh . ')',
+    );
 
     # Help requested? Nice, we can just die! Isn't it helpful?
     die $self->usage_instructions() if $self->cfg->help;
@@ -209,12 +211,12 @@
 
     undef($apt_contents) unless $apt_contents->cache;
 
-    push @depends, Debian::Dependency->new('${shlibs:Depends}')
+    $depends += Debian::Dependency->new('${shlibs:Depends}')
         if $arch eq 'any';
-    push @depends, Debian::Dependency->new('${misc:Depends}');
+    $depends += Debian::Dependency->new('${misc:Depends}');
     my $extradeps = $self->extract_depends( $maindir, $apt_contents, 0 );
-    push @depends, @$extradeps;
-    push @depends, Debian::Dependencies->new( $self->cfg->depends )
+    $depends += $extradeps;
+    $depends += Debian::Dependencies->new( $self->cfg->depends )
         if $self->cfg->depends;
 
     $module_build = ( -f "$maindir/Build.PL" ) ? "Module-Build" : "MakeMaker";
@@ -222,30 +224,27 @@
     $self->extract_docs($maindir);
     $self->extract_examples($maindir);
 
-    push @bdepends, Debian::Dependency->new('libmodule-build-perl')
+    $bdepends += Debian::Dependency->new('libmodule-build-perl')
         if ( $module_build eq "Module-Build" );
 
-    my ( @extrabdepends, @extrabdependsi );
+    my ( $extrabdepends, $extrabdependsi );
     if ( $arch eq 'any' ) {
-        @extrabdepends = (
-            @{ $self->extract_depends( $maindir, $apt_contents, 1 ) },
-            @$extradeps,
-        );
+        $extrabdepends = $self->extract_depends( $maindir, $apt_contents, 1 )
+            + $extradeps;
     }
     else {
-        @extrabdependsi = (
-            @{ $self->extract_depends( $maindir, $apt_contents, 1 ) },
-            @$extradeps,
-        );
-    }
-
-    push @bdepends, Debian::Dependencies->new( $self->cfg->bdepends )
+        $extrabdependsi = $self->extract_depends( $maindir, $apt_contents, 1 )
+            + $extradeps,
+            ;
+    }
+
+    $bdepends += Debian::Dependencies->new( $self->cfg->bdepends )
         if $self->cfg->bdepends;
-    push @bdepends, @extrabdepends;
-
-    push @bdependsi, Debian::Dependencies->new( $self->cfg->bdependsi )
+    $bdepends += $extrabdepends;
+
+    $bdependsi += Debian::Dependencies->new( $self->cfg->bdependsi )
         if $self->cfg->bdependsi;
-    push @bdependsi, @extrabdependsi;
+    $bdependsi += $extrabdependsi;
 
     $self->apply_overrides();
 
@@ -931,7 +930,8 @@
         push @uses, $module;
     }
 
-    my ( @debs, @missing );
+    my $debs = Debian::Dependencies->new();
+    my @missing;
 
     foreach my $module (@uses) {
 
@@ -965,10 +965,10 @@
                     ) <= 0;
                 }
 
-                push @debs, Debian::Dependency->new( $deb, $v );
+                $debs += Debian::Dependency->new( $deb, $v );
             }
             else {
-                push @debs, Debian::Dependency->new($deb);
+                $debs += Debian::Dependency->new($deb);
             }
         }
         else {
@@ -977,7 +977,7 @@
         }
     }
 
-    return \@debs, \@missing;
+    return $debs, \@missing;
 }
 
 sub extract_depends {
@@ -1159,26 +1159,23 @@
         and !defined($self->cfg->bdepends)
         and !defined($self->cfg->bdependsi) )
     {
-        @bdepends = $self->prune_deps( @bdepends, @bdependsi );
-        @bdependsi = ();
-    }
+        $bdepends += $bdependsi;
+        @$bdependsi = ();
+    }
+
+    $depends->prune();
+    $bdepends->prune();
+    $bdependsi->prune();
 
     $fh->print("Source: $srcname\n");
     $fh->print("Section: $section\n");
     $fh->print("Priority: $priority\n");
     local $Text::Wrap::break     = ', ';
     local $Text::Wrap::separator = ",\n";
-    $fh->print(
-        wrap( '', ' ', "Build-Depends: " . join( ', ', @bdepends ) . "\n" )
-    ) if @bdepends;
-
-    $fh->print(
-        wrap(
-            '',
-            ' ',
-            "Build-Depends-Indep: " . join( ', ', @bdependsi ) . "\n"
-        )
-    ) if @bdependsi;
+    $fh->print( wrap( '', ' ', "Build-Depends: $bdepends\n" ) ) if $bdepends;
+
+    $fh->print( wrap( '', ' ', "Build-Depends-Indep: $bdependsi\n" ) )
+        if $bdependsi;
 
     $fh->print($extrasfields) if defined $extrasfields;
 
@@ -1203,9 +1200,7 @@
     $fh->print("\n");
     $fh->print("Package: $pkgname\n");
     $fh->print("Architecture: $arch\n");
-    $fh->print(
-        wrap( '', ' ', "Depends: " . join( ', ', @depends ) . "\n" )
-    ) if @depends;
+    $fh->print( wrap( '', ' ', "Depends: $depends\n" ) ) if $depends;
     $fh->print($extrapfields) if defined $extrapfields;
     $fh->print(
         "Description: $desc\n$longdesc\n .\n This description was automagically extracted from the module by dh-make-perl.\n"
@@ -1543,19 +1538,19 @@
             $val = $self->get_override_val( $data, $subkey, 'priority' )
         )
         );
-    @depends = Debian::Dependencies->new($val)
+    $depends = Debian::Dependencies->new($val)
         if (
         defined(
             $val = $self->get_override_val( $data, $subkey, 'depends' )
         )
         );
-    @bdepends = Debian::Dependencies->new($val)
+    $bdepends = Debian::Dependencies->new($val)
         if (
         defined(
             $val = $self->get_override_val( $data, $subkey, 'bdepends' )
         )
         );
-    @bdependsi = Debian::Dependencies->new($val)
+    $bdependsi = Debian::Dependencies->new($val)
         if (
         defined(
             $val = $self->get_override_val( $data, $subkey, 'bdependsi' )




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