The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / mono / 0003-fix-parallel-install.patch
1 mcs: fix installation with parallel make
2
3 In mcs/ the install of xbuild_12 and xbuild_14 will end-up installing
4 the same files:
5     ${NETFRAMEWORK_DIR}/v2.0/RedistList/FrameworkList.xml
6     ${NETFRAMEWORK_DIR}/v3.0/RedistList/FrameworkList.xml
7     ${NETFRAMEWORK_DIR}/v3.5/RedistList/FrameworkList.xml
8     ${NETFRAMEWORK_DIR}/v4.0/Profile/Client/RedistList/FrameworkList.xml
9     ${NETFRAMEWORK_DIR}/v4.0/RedistList/FrameworkList.xml
10     ${NETFRAMEWORK_DIR}/v4.5.1/RedistList/FrameworkList.xml
11     ${NETFRAMEWORK_DIR}/v4.5/RedistList/FrameworkList.xml
12
13 This is because there is no atomicity when installing each file, and
14 xbuild_12 and xbuild_14 may well run in parallel, each trying to install
15 each of those files; but the 'install' utility will first check if the
16 target file exists or not, and behaves differently if it does than if it
17 does not, thus leading to build failures like so:
18     http://autobuild.buildroot.org/results/c32/c3288c5d1fb94474f14a4a889e76135878d403bc/build-end.log
19
20 So, ensure ordering of the install of xbuild_12 and xbuild_14 (the
21 ordering is completely arbitrary, either way gives the same installed
22 files).
23
24 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
25 Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
26
27 diff -durN host-mono-4.0.0.orig/mcs/Makefile host-mono-4.0.0/mcs/Makefile
28 --- host-mono-4.0.0.orig/mcs/Makefile   2015-04-09 16:55:53.000000000 +0200
29 +++ host-mono-4.0.0/mcs/Makefile        2015-05-16 17:25:44.475542483 +0200
30 @@ -43,6 +43,10 @@
31  profile-do--%:
32         $(MAKE) PROFILE=$(subst --, ,$*)
33  
34 +# xbuild_12 and xbuild_14 will try to install the same files, so they need
35 +# to be ordered
36 +profile-do--xbuild_14--install: profile-do--xbuild_12--install
37 +
38  # We don't want to run the tests in parallel.  We want behaviour like -k.
39  profiles-do--run-test:
40         ret=:; $(foreach p,$(PROFILES), { $(MAKE) PROFILE=$(p) run-test || ret=false; }; ) $$ret