1From a6ddabc8cadb76bfe2d2e374a6702442cfe51cce Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com>
3Date: Fri, 9 Oct 2015 17:50:41 +0100
4Subject: [PATCH] icu: fix install race
5
6The generic recursive target calls target-local so also adding it to the
7dependency list results in races due to install-local being executed twice in
8parallel.  For example, install-manx can fail if the two install processes race
9and one process tries to chown a file that the other process has just deleted.
10
11Also install-manx should be a phony target, and for clarity use $^ instead of $?
12in the install command.
13
14Upstream-Status: Pending
15Signed-off-by: Ross Burton <ross.burton@intel.com>
16
17---
18 source/Makefile.in | 8 ++++----
19 1 file changed, 4 insertions(+), 4 deletions(-)
20
21diff --git a/Makefile.in b/Makefile.in
22index be9435b..ada20d7 100644
23--- a/Makefile.in
24+++ b/Makefile.in
25@@ -77,7 +77,7 @@ EXTRA_DATA =
26
27 ## List of phony targets
28 .PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls		\
29-install-recursive clean clean-local clean-recursive distclean		\
30+install-recursive install-manx clean clean-local clean-recursive distclean		\
31 distclean-local distclean-recursive doc dist dist-local dist-recursive	\
32 check check-local check-recursive clean-recursive-with-twist install-icu \
33 doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive xperf xcheck xperf-recursive \
34@@ -88,9 +88,9 @@ check-exhaustive check-exhaustive-local check-exhaustive-recursive releaseDist
35
36 ## List of standard targets
37 all: all-local all-recursive
38-install: install-recursive install-local
39+install: install-recursive
40 clean: clean-recursive-with-twist clean-local
41-distclean : distclean-recursive distclean-local
42+distclean : distclean-recursive
43 dist: dist-recursive
44 check: all check-recursive
45 check-recursive: all
46@@ -357,7 +357,7 @@ config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h
47 install-manx: $(MANX_FILES)
48 	$(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION)
49 ifneq ($(MANX_FILES),)
50-	$(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION)
51+	$(INSTALL_DATA) $^ $(DESTDIR)$(mandir)/man$(SECTION)
52 endif
53
54 config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in
55