summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuro Bystricky <juro.bystricky@intel.com>2016-03-14 14:29:11 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-20 23:12:26 +0000
commit3b8cd1db0d388e50c010899352f641d66e73279c (patch)
treea3d17e652d2847f78c6faa31911da794c4ab045c
parent9cc65ed0209b756262ae4c73a5d172db4fe01fd6 (diff)
downloadpoky-3b8cd1db0d388e50c010899352f641d66e73279c.tar.gz
ncurses_6: Improve installation
As "install.libs" also installs header files, it is redundant to also call "install.includes". In fact, doing so can lead to a race, as both targets could try to install the header files at the same time if running parallel make. Obviously, with only calling "install.libs", there is no race with "install.includes". If there is no race, then the patch fix-include-files-race.patch is no longer needed. (From OE-Core rev: 8df2060a323acf2a2cc2bc4076623463039c46a6) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/ncurses/files/fix-include-files-race.patch32
-rw-r--r--meta/recipes-core/ncurses/ncurses.inc11
-rw-r--r--meta/recipes-core/ncurses/ncurses_6.0+20160213.bb1
3 files changed, 8 insertions, 36 deletions
diff --git a/meta/recipes-core/ncurses/files/fix-include-files-race.patch b/meta/recipes-core/ncurses/files/fix-include-files-race.patch
deleted file mode 100644
index 6f22e98332..0000000000
--- a/meta/recipes-core/ncurses/files/fix-include-files-race.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1There is a race condition when running
2
3 $ make install.libs install.includes
4
5As both targets install identical files. The remedy is to either prevent
6parallel make of install.libs and install.includes, or ensure only one
7target installs the files.
8The second approch will only work if we always install both libs and
9includes (which we do).
10
11
12Upstream-Status: Inappropriate [configuration]
13
14Index: git/mk-hdr.awk
15===================================================================
16--- a/mk-hdr.awk
17+++ b/mk-hdr.awk
18@@ -73,11 +73,13 @@ BEGIN {
19 END {
20 if ( count > 0 )
21 {
22+ print" # patched here: Removed install.libs due the race "
23 print "${INCLUDEDIR} :"
24 print " mkdir -p $@"
25 print ""
26+ print "install.libs :: ;"
27+ print ""
28 print "install \\"
29- print "install.libs \\"
30 print "install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \\"
31
32 for (i = 0; i < count - 1; ++i) {
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
index 35b8b94d64..acd2579448 100644
--- a/meta/recipes-core/ncurses/ncurses.inc
+++ b/meta/recipes-core/ncurses/ncurses.inc
@@ -145,9 +145,14 @@ do_test() {
145# Split original _install_opts to two parts. 145# Split original _install_opts to two parts.
146# One is the options to install contents, the other is the parameters \ 146# One is the options to install contents, the other is the parameters \
147# when running command "make install" 147# when running command "make install"
148_install_opts = "\ 148# Note that install.libs will also implicitly install header files,
149 install.libs install.includes install.man \ 149# so we do not need to explicitly specify install.includes.
150" 150# Doing so could in fact result in a race condition, as both targets
151# (install.libs and install.includes) would install the same headers
152# at the same time
153
154_install_opts = " install.libs install.man "
155
151_install_cfgs = "\ 156_install_cfgs = "\
152 DESTDIR='${D}' \ 157 DESTDIR='${D}' \
153 PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \ 158 PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \
diff --git a/meta/recipes-core/ncurses/ncurses_6.0+20160213.bb b/meta/recipes-core/ncurses/ncurses_6.0+20160213.bb
index fef4e0f626..0d56481a5c 100644
--- a/meta/recipes-core/ncurses/ncurses_6.0+20160213.bb
+++ b/meta/recipes-core/ncurses/ncurses_6.0+20160213.bb
@@ -2,7 +2,6 @@ require ncurses.inc
2 2
3SRC_URI += "file://tic-hang.patch \ 3SRC_URI += "file://tic-hang.patch \
4 file://config.cache \ 4 file://config.cache \
5 file://fix-include-files-race.patch \
6" 5"
7# commit id corresponds to the revision in package version 6# commit id corresponds to the revision in package version
8SRCREV = "a25949ff653ac5ae7a204381a3ebfd800feeaa01" 7SRCREV = "a25949ff653ac5ae7a204381a3ebfd800feeaa01"