]> git.donarmstrong.com Git - debhelper.git/commitdiff
r488: * dh_perl: made it use doit commands so -v mode works. Yeah, uglier.
authorjoey <joey>
Fri, 24 Aug 2001 23:26:03 +0000 (23:26 +0000)
committerjoey <joey>
Fri, 24 Aug 2001 23:26:03 +0000 (23:26 +0000)
Closes: #92826
     Also some indentation fixes.

debian/changelog
dh_perl

index 37becd64dcb3ef61a0235a65c4cf06689b1ae9a2..f3bb7701b8cc8b0ce05ae8cadcf82d705e4bfb1f 100644 (file)
@@ -1,3 +1,11 @@
+debhelper (3.0.43) unstable; urgency=low
+
+  * dh_perl: made it use doit commands so -v mode works. Yeah, uglier.
+    Closes: #92826
+    Also some indentation fixes. 
+
+ -- Joey Hess <joeyh@debian.org>  Fri, 24 Aug 2001 15:34:55 -0400
+
 debhelper (3.0.42) unstable; urgency=low
 
   * dh_movefiles: Typo, Closes: #106532
diff --git a/dh_perl b/dh_perl
index bb2dd69eae98ead1fbe2f96196d21bd88c0bb0f3..4292029c9922ca001e9fcc7f06d431daed2558f2 100755 (executable)
--- a/dh_perl
+++ b/dh_perl
@@ -88,11 +88,11 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
        my $tmp = tmpdir($package);
        my $ext = pkgext($package);
 
-       my @subs;
-       if (open IN, "debian/${ext}substvars")
-       {
-           @subs = grep !/^perl:Depends=/, <IN>;
-           close IN;
+       # For idempotency, remove anything this program might have
+       # previously added to the substvars file.
+       if (-e "debian/${ext}substvars") {
+               complex_doit("grep -v ^perl:Depends= debian/${ext}substvars > debian/${ext}substvars.new || true");
+               doit("mv", "debian/${ext}substvars.new","debian/${ext}substvars");
        }
 
        # Check also for alternate locations given on the command line
@@ -104,49 +104,40 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                return unless -f;
                $deps |= PM_MODULE if /\.pm$/;
                $deps |= XS_MODULE if /\.so$/;
-           }, @dirs if @dirs;
+       }, @dirs if @dirs;
 
        # find scripts
        find sub {
                return unless -f and (-x or /\.pl$/);
                local *F;
                return unless open F, $_;
-               if (read F, local $_, 32 and m%^#!\s*/usr/bin/perl\s%)
-               {
-                   $deps |= PROGRAM;
+               if (read F, local $_, 32 and m%^#!\s*/usr/bin/perl\s%) {
+                       $deps |= PROGRAM;
                }
-
                close F;
-           }, $tmp;
-
-       if ($deps)
-       {
-           my $perl_depends = $perl;
-           if ($deps & XS_MODULE or $dh{V_FLAG_SET})
-           {
-               ($version) = `dpkg -s $perl` =~ /^Version:\s*(\S+)/m
-                   unless $version;
-
-               $perl_depends .= " (>= $version)";
-           }
-           elsif ($deps & PM_MODULE)
-           {
-               $perl_depends .= " (>= $min_version)";
-           }
-
-           # add perlapi-<ver> for XS modules
-           $perl_depends .= ", perlapi-$Config{version}"
-               if $deps & XS_MODULE;
-
-           # don't need to depend on an un-versioned perl-base, it's
-           # essential
-           push @subs, "perl:Depends=$perl_depends\n"
-               unless $perl_depends eq 'perl-base';
-       }
+       }, $tmp;
+
+       if ($deps) {
+               my $perl_depends = $perl;
+               if ($deps & XS_MODULE or $dh{V_FLAG_SET}) {
+                       ($version) = `dpkg -s $perl` =~ /^Version:\s*(\S+)/m
+                               unless $version;
+                       $perl_depends .= " (>= $version)";
+               }
+               elsif ($deps & PM_MODULE) {
+                       $perl_depends .= " (>= $min_version)";
+               }
 
-       open OUT, ">debian/${ext}substvars";
-       print OUT @subs;
-       close OUT;
+               # add perlapi-<ver> for XS modules
+               $perl_depends .= ", perlapi-$Config{version}"
+                       if $deps & XS_MODULE;
+
+               # don't need to depend on an un-versioned perl-base, it's
+               # essential
+               unless ($perl_depends eq 'perl-base') {
+                       complex_doit("echo 'perl:Depends=$perl_depends' >> debian/${ext}substvars");
+               }
+       }
 }
 
 =head1 SEE ALSO