On 08/08/2019 21:59, Sander Eikelenboom wrote:
Hi Andrew,

It seems the pvshim patches in xen-unstable staging break the build on my machine.
I cloned a fresh tree to be sure, haven't checked which of the two commits causes it:
060f4eee0fb408b316548775ab921e16b7acd0e0 or 32b1d62887d01f85f0c1d2e0103f69f74e1f6fa3

So this is all horrible.  Anything which causes the linkfarm to regenerate breaks the final symlink, which is ultimately why the build fails.

I can't explain why my change altered the visible behaviour.

Can you build with the following patch and get linkfarm.stamp.{old,new} from a failed build please?

~Andrew

diff --git a/tools/firmware/xen-dir/Makefile b/tools/firmware/xen-dir/Makefile
index 697bbbd57b..02acfb4cbc 100644
--- a/tools/firmware/xen-dir/Makefile
+++ b/tools/firmware/xen-dir/Makefile
@@ -32,6 +32,8 @@ linkfarm.stamp: $(DEP_DIRS) $(DEP_FILES) FORCE
                echo $(f) >> linkfarm.stamp.tmp ;)
        cmp -s linkfarm.stamp.tmp linkfarm.stamp && \
                rm linkfarm.stamp.tmp || { \
+               cp linkfarm.stamp linkfarm.stamp.old; \
+               cp linkfarm.stamp.tmp linkfarm.stamp.new; \
                mv linkfarm.stamp.tmp linkfarm.stamp; \
                cat linkfarm.stamp | while read f; \
                  do rm -f "$(D)/$$f"; ln -s "$(XEN_ROOT)/$$f" "$(D)/$$f"; done \