ebuild: follow symbolic links in find_newer_filtered_fn 99/30599/2
authorDave Barach <dave@barachs.net>
Mon, 4 Jan 2021 15:52:44 +0000 (10:52 -0500)
committerFlorin Coras <florin.coras@gmail.com>
Tue, 5 Jan 2021 17:08:54 +0000 (17:08 +0000)
Otherwise, changes in source code symbolically-linked into the
workspace will not be considered when deciding whether to invoke
e.g. Ninja.

This change is strongly preferable to asking people to remove
.mu_build_build_timestamp to force a Ninja run.

Deals reasonably gracefully with symbolic link loops, at least in
trivial cases: "find: File system loop detected"

Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I6666c84861de5e8b8aebcb94158f53526aded089

build-root/Makefile

index e5db8b8..7f8d775 100644 (file)
@@ -416,7 +416,7 @@ find_filter += -and -not -path '*/.mu_build_*'
 find_newer_filtered_fn =                       \
   (! -f $(1)                                   \
     || -n $(call find_newer_files_fn,$(1),$(3))        \
-    || -n "`find -H $(2)                       \
+    || -n "`find -L $(2)                       \
              -type f                           \
               -and -newer $(1)                 \
              -and \( $(4) \)                   \