]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Apply shutil.copystat in more places 201/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 17 Nov 2017 16:25:37 +0000 (17:25 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 17 Nov 2017 16:25:37 +0000 (17:25 +0100)
mkosi

diff --git a/mkosi b/mkosi
index f9e3c9f6bf140307791e6819d9d9831375c0e6c2..70531c6393511237700d5f9167a7ea2f1f4966cc 100755 (executable)
--- a/mkosi
+++ b/mkosi
@@ -193,6 +193,7 @@ def copy_file(oldpath, newpath):
             os.unlink(newpath)
             with open_close(newpath, os.O_WRONLY|os.O_CREAT, st.st_mode) as newfd:
                 _copy_file(oldfd, newfd)
+    shutil.copystat(oldpath, newpath, follow_symlinks=False)
 
 def symlink_f(target, path):
     try:
@@ -219,6 +220,7 @@ def copy(oldpath, newpath):
         elif entry.is_symlink():
             target = os.readlink(entry.path)
             symlink_f(target, newentry)
+            shutil.copystat(entry.path, newentry, follow_symlinks=False)
         else:
             st = entry.stat(follow_symlinks=False)
             if stat.S_ISREG(st.st_mode):
@@ -226,7 +228,7 @@ def copy(oldpath, newpath):
             else:
                 print('Ignoring', entry.path)
                 continue
-        shutil.copystat(entry.path, newentry, follow_symlinks=False)
+    shutil.copystat(oldpath, newpath, follow_symlinks=True)
 
 @contextlib.contextmanager
 def complete_step(text, text2=None):