fcopy -m / file-modes

Edgar Fuß ef at math.uni-bonn.de
Fri Jan 27 16:16:28 CET 2017


Das ist nur Beifang auf der Suche nach einem anderen Fehler, aber ich kann mir nicht vorstellen, daß fcomy -m oder file-modes zuverlässig funktioniert, weil die Abfrage, ob etwas zu ändern ist, vor dem Auswerten von @opt_modes/read_file_mode() steht.
-------------- next part --------------
--- fcopy.0	2017-01-11 16:05:58.000000000 +0100
+++ fcopy.1	2017-01-11 16:14:10.000000000 +0100
@@ -304,9 +304,6 @@
   # get mtime,uid,gid,mode from destination file
   my ($dtime, at ddefmodes) = (stat("$destfile"))[9,4,5,2];
   # compare time,uid,gid and mode of source file and target file
-  # if different: change the values
-  return if ($stime == $dtime && (($ddefmodes[0] == $defmodes[0]) &&
-      ($ddefmodes[1] == $defmodes[1]) && ($ddefmodes[2] == $defmodes[2])));
 
   if ($modeset) { # use -m values
     ($owner,$group,$mode) = @opt_modes;
@@ -316,6 +313,10 @@
     ($owner,$group,$mode) = @defmodes;
   }
 
+  # if different: change the values
+  return if ($stime == $dtime && (($ddefmodes[0] == $owner) &&
+      ($ddefmodes[1] == $group) && ($ddefmodes[2] == $mode)));
+
   ($uid,$gid) = name2num($owner,$group);
   warn "chown/chmod u:$uid g:$gid m:$mode $destfile\n" if $debug;
   return if $dryrun; # do not execute if -n or FCOPY_DRYRUN was given


More information about the linux-fai-devel mailing list