summaryrefslogtreecommitdiff
path: root/dh_clean
diff options
context:
space:
mode:
Diffstat (limited to 'dh_clean')
-rwxr-xr-xdh_clean53
1 files changed, 42 insertions, 11 deletions
diff --git a/dh_clean b/dh_clean
index da2c4b22..1f73bea7 100755
--- a/dh_clean
+++ b/dh_clean
@@ -1,16 +1,47 @@
-#!/bin/sh -e
+#!/usr/bin/perl -w
#
-# Clean up debian/tmp and other teporary files generated by the
+# Clean up $TMP and other tepmorary files generated by the
# build process.
-PATH=debian:$PATH:/usr/lib/debhelper
-source dh_lib
+use Debian::Debhelper::Dh_Lib;
+init();
-doit "rm -rf debian/tmp"
-doit "rm -f debian/substvars debian/*.substvars debian/files*"
+foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
+ $TMP=tmpdir($PACKAGE);
+ $EXT=pkgext($PACKAGE);
+
+ if (! $dh{D_FLAG}) {
+ doit("rm","-f","debian/$EXT\substvars",
+ "debian/$EXT\postinst.debhelper",
+ "debian/$EXT\postrm.debhelper",
+ "debian/$EXT\preinst.debhelper",
+ "debian/$EXT\prerm.debhelper");
+ }
+
+ doit ("rm","-rf",$TMP);
+}
+
+if (! $dh{D_FLAG}) {
+ if (@ARGV) {
+ doit("rm","-f","--",@ARGV);
+ }
+
+ if (! $dh{K_FLAG}) {
+ doit("rm","-f","debian/files");
+ }
+
+ # Remove other temp files.
+ # (The \s+ is important, \s won't work because find would get null
+ # parameters). Note that you _don't_ quote wildcards used by find
+ # in here.
+ doit(split(/\s+/,"find . -type f -a
+ ( -name #*# -o -name *~ -o -name DEADJOE
+ -o -name *.orig -o -name *.rej -o -name *.bak
+ -o -name .*.orig -o -name .*.rej -o -name .SUMS
+ -o -name TAGS -o -name core -o ( -path */.deps/* -a -name *.P )
+ ) -exec rm -f {} ;"));
+}
+
+doit('rm', '-rf', 'debian/tmp')
+ if -x 'debian/tmp' && ! Debian::Debhelper::Dh_Lib::compat(1);
-# Remove other temp files. I don't run this through doit becuase
-# I haven't figured out what I have to esacape to put it in quotes.
-# However, it doesn't modify debian/tmp, so I guess it's ok to not run it
-# through doit.
-find . \( -name "\#*\#" -o -name "*~" -o -name "DEADJOE" \) -exec rm -f {} \;