diff options
author | Juro Bystricky <juro.bystricky@intel.com> | 2016-03-14 14:29:11 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-03-20 23:12:26 +0000 |
commit | 3b8cd1db0d388e50c010899352f641d66e73279c (patch) | |
tree | a3d17e652d2847f78c6faa31911da794c4ab045c | |
parent | 9cc65ed0209b756262ae4c73a5d172db4fe01fd6 (diff) | |
download | poky-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.patch | 32 | ||||
-rw-r--r-- | meta/recipes-core/ncurses/ncurses.inc | 11 | ||||
-rw-r--r-- | meta/recipes-core/ncurses/ncurses_6.0+20160213.bb | 1 |
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 @@ | |||
1 | There is a race condition when running | ||
2 | |||
3 | $ make install.libs install.includes | ||
4 | |||
5 | As both targets install identical files. The remedy is to either prevent | ||
6 | parallel make of install.libs and install.includes, or ensure only one | ||
7 | target installs the files. | ||
8 | The second approch will only work if we always install both libs and | ||
9 | includes (which we do). | ||
10 | |||
11 | |||
12 | Upstream-Status: Inappropriate [configuration] | ||
13 | |||
14 | Index: 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 | ||
3 | SRC_URI += "file://tic-hang.patch \ | 3 | SRC_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 |
8 | SRCREV = "a25949ff653ac5ae7a204381a3ebfd800feeaa01" | 7 | SRCREV = "a25949ff653ac5ae7a204381a3ebfd800feeaa01" |