diff options
author | Ross Burton <ross.burton@intel.com> | 2015-10-09 17:50:41 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-10-12 14:36:31 +0100 |
commit | adbbab7db06efd7dc82c1d07e3fc63434e05e91e (patch) | |
tree | c5d73e5ad7664a2dd5ac1c38fb1df9e81d8b4736 /meta | |
parent | b1d0aab832aec265eca26273ad2ecb370ea7080e (diff) | |
download | poky-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')
-rw-r--r-- | meta/recipes-support/icu/icu/fix-install-manx.patch | 48 | ||||
-rw-r--r-- | meta/recipes-support/icu/icu_55.1.bb | 1 |
2 files changed, 49 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 @@ | |||
1 | The generic recursive target calls target-local so also adding it to the | ||
2 | dependency list results in races due to install-local being executed twice in | ||
3 | parallel. For example, install-manx can fail if the two install processes race | ||
4 | and one process tries to chown a file that the other process has just deleted. | ||
5 | |||
6 | Also install-manx should be a phony target, and for clarity use $^ instead of $? | ||
7 | in the install command. | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
11 | |||
12 | |||
13 | diff --git a/Makefile.in b/Makefile.in | ||
14 | index 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) \ | ||
diff --git a/meta/recipes-support/icu/icu_55.1.bb b/meta/recipes-support/icu/icu_55.1.bb index f63a9bd08f..2661fd3047 100644 --- a/meta/recipes-support/icu/icu_55.1.bb +++ b/meta/recipes-support/icu/icu_55.1.bb | |||
@@ -11,6 +11,7 @@ ICU_PV = "${@icu_download_version(d)}" | |||
11 | BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV}-src.tgz" | 11 | BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV}-src.tgz" |
12 | SRC_URI = "${BASE_SRC_URI} \ | 12 | SRC_URI = "${BASE_SRC_URI} \ |
13 | file://icu-pkgdata-large-cmd.patch \ | 13 | file://icu-pkgdata-large-cmd.patch \ |
14 | file://fix-install-manx.patch \ | ||
14 | " | 15 | " |
15 | 16 | ||
16 | SRC_URI_append_class-target = "\ | 17 | SRC_URI_append_class-target = "\ |