diff options
-rw-r--r-- | Debian/Debhelper/Dh_Lib.pm | 4 | ||||
-rw-r--r-- | debian/changelog | 12 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rwxr-xr-x | dh_clean | 17 | ||||
-rwxr-xr-x | dh_fixperms | 2 |
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 @@ -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", |