Makefile: change rsync used in overlays to always transfer files
authorDanomi Manchego <danomimanchego123@gmail.com>
Sat, 8 Jun 2013 01:43:42 +0000 (21:43 -0400)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 4 Feb 2014 16:23:04 +0000 (17:23 +0100)
If two files with the same relative paths exist in multiple overlay
skeletons, and they have the same modification time and size, then rsync
might not copy the later file on top of the earlier file.  This patch fixes
this by adding the -I option to the rsync commands used in the overlay
skeleton file installations.  ("man rsync" indicates that this option turns
off the file-size/mod-date "quick check" behavior, causing all files to be
updated - more like the cp commands that we had originally.)

[Peter: use --ignore-times to make it obvious what the option does]
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Makefile

index 4a675d443a559cd6028e0472e748e2eacef3bc37..9775397748d0ba8c2d1cd1daf835527e658289c6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -472,7 +472,7 @@ RSYNC_VCS_EXCLUSIONS = \
 
 $(BUILD_DIR)/.root:
        mkdir -p $(TARGET_DIR)
-       rsync -a $(RSYNC_VCS_EXCLUSIONS) \
+       rsync -a --ignore-times $(RSYNC_VCS_EXCLUSIONS) \
                --chmod=Du+w --exclude .empty --exclude '*~' \
                $(TARGET_SKELETON)/ $(TARGET_DIR)/
        $(INSTALL) -m 0644 support/misc/target-dir-warning.txt $(TARGET_DIR_WARNING_FILE)