summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Debian/Debhelper/Dh_Lib.pm4
-rw-r--r--debian/changelog12
-rw-r--r--debian/control2
-rwxr-xr-xdh_clean17
-rwxr-xr-xdh_fixperms2
5 files changed, 23 insertions, 14 deletions
diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm
index 3effb60b..85a77886 100644
--- a/Debian/Debhelper/Dh_Lib.pm
+++ b/Debian/Debhelper/Dh_Lib.pm
@@ -14,7 +14,7 @@ use vars qw(@ISA @EXPORT %dh);
&pkgfile &pkgext &pkgfilename &isnative &autoscript &filearray
&filedoublearray &getpackages &basename &dirname &xargs %dh
&compat &addsubstvar &delsubstvar &excludefile &package_arch
- &is_udeb &udeb_filename &debhelper_script_subst);
+ &is_udeb &udeb_filename &debhelper_script_subst &escape_shell);
my $max_compat=5;
@@ -56,7 +56,7 @@ sub init {
my $x=$_;
$x=escape_shell($x);
$x=~s/\./\\./g;
- $dh{EXCLUDE_FIND}.="-regex .*$x.* -or ";
+ $dh{EXCLUDE_FIND}.="-regex .\\*$x.\\* -or ";
}
$dh{EXCLUDE_FIND}=~s/ -or $//;
}
diff --git a/debian/changelog b/debian/changelog
index 65eb832e..fccb4357 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+debhelper (4.9.4) unstable; urgency=low
+
+ * dh_clean: switch to using complex_doit for the evil find command
+ and quoting everything explicitly rather than the doit approach used
+ before. This way all uses of EXCLUDE_FIND will use complex_doit, which
+ is necesary for sanity.
+ * Dh_Lib: Make COMPLEX_DOIT properly escape wildcards for use with
+ complex_doit. Before they were unescaped, which could lead to subtle
+ breakage.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 19 Jul 2005 12:47:30 -0400
+
debhelper (4.9.3) unstable; urgency=high
* Fix typo in postrm-modules fragment. Closes: #316069
diff --git a/debian/control b/debian/control
index 6d9d74e6..4ce96b23 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: debhelper
Section: devel
Priority: optional
Maintainer: Joey Hess <joeyh@debian.org>
-Standards-Version: 3.6.1.0
+Standards-Version: 3.6.2
Package: debhelper
Architecture: all
diff --git a/dh_clean b/dh_clean
index 9b5885fe..0fb3464a 100755
--- a/dh_clean
+++ b/dh_clean
@@ -87,19 +87,16 @@ if (! $dh{D_FLAG}) {
# See if some files that would normally be deleted are excluded.
my $find_options='';
if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') {
- $find_options="-a ! ( $dh{EXCLUDE_FIND} )";
+ $find_options="-a ! \\( $dh{EXCLUDE_FIND} \\)";
}
# 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 *~ -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 )
- ) $find_options -exec rm -f {} ;"));
+ complex_doit("find . -type f -a \\
+ \\( -name '#*#' -o -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' \\) \\
+ \\) $find_options -exec rm -f {} \\;");
# Stupid autoconf cache directory.
doit("rm", "-rf", "autom4te.cache")
diff --git a/dh_fixperms b/dh_fixperms
index 5bd39f3d..2a565bd3 100755
--- a/dh_fixperms
+++ b/dh_fixperms
@@ -57,7 +57,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
"2>/dev/null | xargs -0r chown --no-dereference 0:0");
complex_doit("find $tmp ! -type l $find_options -print0",
"2>/dev/null | xargs -0r chmod go=rX,u+rw,a-s");
-
+
# Fix up premissions in usr/share/doc, setting everything to not
# executable by default, but leave examples directories alone.
complex_doit("find $tmp/usr/share/doc -type f $find_options ! -regex '$tmp/usr/share/doc/[^/]*/examples/.*' -print0 2>/dev/null",