From: joey Date: Fri, 24 Aug 2001 23:26:03 +0000 (+0000) Subject: r488: * dh_perl: made it use doit commands so -v mode works. Yeah, uglier. X-Git-Tag: version_2.0.101~111 X-Git-Url: https://git.donarmstrong.com/?p=debhelper.git;a=commitdiff_plain;h=cad668da2afa9d3650429b149764d819f7ef633a r488: * dh_perl: made it use doit commands so -v mode works. Yeah, uglier. Closes: #92826 Also some indentation fixes. --- diff --git a/debian/changelog b/debian/changelog index 37becd6..f3bb770 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 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 bb2dd69..4292029 100755 --- 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=/, ; - 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- 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- 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