[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen staging] build system: make install-stubdom depend on install-tools again



commit dc497635d93f6672f82727ad97a55205177be2aa
Author:     Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
AuthorDate: Mon Apr 15 17:13:09 2019 +0100
Commit:     Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
CommitDate: Tue Apr 23 17:00:08 2019 +0100

    build system: make install-stubdom depend on install-tools again
    
    In d290e325179ccee966cd679d0fed48be6f4cc1b7
      "build system: don't let install-stubdom depend on install-tools"
    the dependency of install-stubdom on install-tools was removed.
    
    However, this was not correct.   stubdom/Makefile contains this:
    
      $(XEN_ROOT)/tools/qemu-xen-traditional-dir:
           $(MAKE) DESTDIR= -C $(XEN_ROOT)/tools qemu-xen-traditional-dir-find
    
    As I have written before:
    
      With recursive make, it is necessary for the overall structure of the
      makefiles to sequence things so that each directory is entered exactly
      once, before its dependent directories are entered.  (It is possible
      to violate this rule without creating races but it is tricky and
      inadvisable.)
    
    Since d290e325179c, it can happen that the command for the
    qemu-xen-traditional-dir-find rule is run twice simultaneously - once
    as a result of $(MAKE) -C tools install, and once as a result of
    $(MAKE) -C stubdom install.  If you get unlucky, this causes lossage.
    (This just happened to me in an osstest flight.)
    
    In principle we could alternatively fix this by lifting the commands
    in the qemu-xen-traditional-dir-find target (and perhaps other things
    too) into the toplevel Makefile, as was done for mini-os.
    
    But that seems overkill given how bad the stubdom build system is, and
    the fact that we think at some point this qemu-trad will go away
    entirely.  Adding the tools dependency back to the stubdom build is
    by and large good enough.
    
    (Someone who really wants to build stubdom without tools is welcome to
    do this separation if they really want to.)
    
    CC: Juergen Gross <jgross@xxxxxxxx>
    Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
    Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index d959cd5b47..829ac63741 100644
--- a/Makefile
+++ b/Makefile
@@ -127,7 +127,7 @@ install-tools: install-tools-public-headers
        $(MAKE) -C tools install
 
 .PHONY: install-stubdom
-install-stubdom: mini-os-dir install-tools-public-headers
+install-stubdom: mini-os-dir install-tools
        $(MAKE) -C stubdom install
 ifeq (x86_64,$(XEN_TARGET_ARCH))
        XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
--
generated by git-patchbot for /home/xen/git/xen.git#staging

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.