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:33:55 +0100 |
commit | 1dd92fbdc030bee30a0c5b233f7b61ac0cb2b459 (patch) | |
tree | 2694cffd4dd94b779d0fda7401d2a1dbfa81bde6 /meta/recipes-support | |
parent | 555c2e0062bffdce43552c0de5ca74d688d7a0cf (diff) | |
download | openembedded-core-1dd92fbdc030bee30a0c5b233f7b61ac0cb2b459.tar.gz openembedded-core-1dd92fbdc030bee30a0c5b233f7b61ac0cb2b459.tar.bz2 openembedded-core-1dd92fbdc030bee30a0c5b233f7b61ac0cb2b459.zip |
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.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/recipes-support')
-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 @@ +The generic recursive target calls target-local so also adding it to the +dependency list results in races due to install-local being executed twice in +parallel. For example, install-manx can fail if the two install processes race +and one process tries to chown a file that the other process has just deleted. + +Also install-manx should be a phony target, and for clarity use $^ instead of $? +in the install command. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@intel.com> + + +diff --git a/Makefile.in b/Makefile.in +index 9db6c52..3441afa 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -71,7 +71,7 @@ EXTRA_DATA = + + ## List of phony targets + .PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls \ +-install-recursive clean clean-local clean-recursive distclean \ ++install-recursive install-manx clean clean-local clean-recursive distclean \ + distclean-local distclean-recursive doc dist dist-local dist-recursive \ + check check-local check-recursive clean-recursive-with-twist install-icu \ + doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive xperf xcheck xperf-recursive \ +@@ -82,10 +82,10 @@ check-exhaustive check-exhaustive-local check-exhaustive-recursive releaseDist + + ## List of standard targets + all: all-local all-recursive +-install: install-recursive install-local ++install: install-recursive + clean: clean-recursive-with-twist clean-local +-distclean : distclean-recursive distclean-local +-dist: dist-recursive dist-local ++distclean : distclean-recursive ++dist: dist-recursive + check: all check-recursive + check-recursive: all + xcheck: all xcheck-recursive +@@ -352,7 +352,7 @@ config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h + + install-manx: $(MANX_FILES) + $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) +- $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION) ++ $(INSTALL_DATA) $^ $(DESTDIR)$(mandir)/man$(SECTION) + + config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in + 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)}" BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV}-src.tgz" SRC_URI = "${BASE_SRC_URI} \ file://icu-pkgdata-large-cmd.patch \ + file://fix-install-manx.patch \ " SRC_URI_append_class-target = "\ |