]> git.donarmstrong.com Git - debhelper.git/commitdiff
r216: Initial Import
authorjoey <joey>
Tue, 17 Aug 1999 05:15:30 +0000 (05:15 +0000)
committerjoey <joey>
Tue, 17 Aug 1999 05:15:30 +0000 (05:15 +0000)
debian/changelog
dh_fixperms

index bc93c1852f9f856566a1b5696c75c7ffb09a65f7..a695ab83b377501d85e11b4001eebd49a996faf1 100644 (file)
@@ -1,3 +1,12 @@
+debhelper (1.2.76) unstable; urgency=low
+
+  * dh_fixperms: Do not use chmod/chown -R at all anymore, instead it uses
+    the (slower) find then chown method. Necessary because the -R methods will
+    happyily attempt to chown a dangling symlink, which makes them fail.
+    (Closes: #38911)
+
+ -- Joey Hess <joeyh@master.debian.org>  Mon,  7 Jun 1999 20:20:01 -0700
+
 debhelper (1.2.75) unstable; urgency=low
 
   * dh_installemacsen: fixed perms of install, remove scripts.
index 665becc384db28bb70ac669bccb94baad606b2ae..e1ae612681bd138d30319edef5c1dd0b95830f39 100755 (executable)
@@ -9,27 +9,20 @@ init();
 foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
        $TMP=tmpdir($PACKAGE);
 
-       # General permissions fixing.
        if (! defined($dh{EXCLUDE_FIND}) || $dh{EXCLUDE_FIND} eq '') {
-               # It's much faster to do it this way, but we can only do
-               # this if there is nothing to exclude.
-               if (-d $TMP) {
-                       doit("chown","-R","root.root",$TMP);
-                       doit("chmod","-R","go=rX,u+rw,a-s",$TMP);
-               }
-
                $find_options="";
        }
        else {
-               # Do it the hard way.
-               complex_doit("find $TMP ! -type l ! \\( $dh{EXCLUDE_FIND} \\) -print0",
-                       "2>/dev/null | xargs -0r chown root.root");
-               complex_doit("find $TMP ! -type l ! \\( $dh{EXCLUDE_FIND} \\) -print0",
-                       "2>/dev/null | xargs -0r chmod go=rX,u+rw,a-s");
-
                $find_options="! \\( $dh{EXCLUDE_FIND} \\)";
        }
 
+       # General permissions fixing.
+       complex_doit("find $TMP ! -type l $find_options -print0",
+               "2>/dev/null | xargs -0r chown root.root");
+       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/doc, setting everything to not exectable
        # by default, but leave examples directories alone.
        complex_doit("find $TMP/usr/doc -type f $find_options ! -regex '.*/examples/.*' -print0",