summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/icu/icu
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2015-10-09 17:50:41 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-10-12 14:36:31 +0100
commitadbbab7db06efd7dc82c1d07e3fc63434e05e91e (patch)
treec5d73e5ad7664a2dd5ac1c38fb1df9e81d8b4736 /meta/recipes-support/icu/icu
parentb1d0aab832aec265eca26273ad2ecb370ea7080e (diff)
downloadpoky-adbbab7db06efd7dc82c1d07e3fc63434e05e91e.tar.gz
icu: fix install race
ICU was invoking install-local twice in parallel which can lead to install failures as one install deletes files the other is attempting to chown. (From OE-Core rev: 1dd92fbdc030bee30a0c5b233f7b61ac0cb2b459) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/icu/icu')
-rw-r--r--meta/recipes-support/icu/icu/fix-install-manx.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/meta/recipes-support/icu/icu/fix-install-manx.patch b/meta/recipes-support/icu/icu/fix-install-manx.patch
new file mode 100644
index 0000000000..ec63f50c46
--- /dev/null
+++ b/meta/recipes-support/icu/icu/fix-install-manx.patch
@@ -0,0 +1,48 @@
1The generic recursive target calls target-local so also adding it to the
2dependency list results in races due to install-local being executed twice in
3parallel. For example, install-manx can fail if the two install processes race
4and one process tries to chown a file that the other process has just deleted.
5
6Also install-manx should be a phony target, and for clarity use $^ instead of $?
7in the install command.
8
9Upstream-Status: Pending
10Signed-off-by: Ross Burton <ross.burton@intel.com>
11
12
13diff --git a/Makefile.in b/Makefile.in
14index 9db6c52..3441afa 100644
15--- a/Makefile.in
16+++ b/Makefile.in
17@@ -71,7 +71,7 @@ EXTRA_DATA =
18
19 ## List of phony targets
20 .PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls \
21-install-recursive clean clean-local clean-recursive distclean \
22+install-recursive install-manx clean clean-local clean-recursive distclean \
23 distclean-local distclean-recursive doc dist dist-local dist-recursive \
24 check check-local check-recursive clean-recursive-with-twist install-icu \
25 doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive xperf xcheck xperf-recursive \
26@@ -82,10 +82,10 @@ check-exhaustive check-exhaustive-local check-exhaustive-recursive releaseDist
27
28 ## List of standard targets
29 all: all-local all-recursive
30-install: install-recursive install-local
31+install: install-recursive
32 clean: clean-recursive-with-twist clean-local
33-distclean : distclean-recursive distclean-local
34-dist: dist-recursive dist-local
35+distclean : distclean-recursive
36+dist: dist-recursive
37 check: all check-recursive
38 check-recursive: all
39 xcheck: all xcheck-recursive
40@@ -352,7 +352,7 @@ config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h
41
42 install-manx: $(MANX_FILES)
43 $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION)
44- $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION)
45+ $(INSTALL_DATA) $^ $(DESTDIR)$(mandir)/man$(SECTION)
46
47 config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in
48 cd $(top_builddir) \