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>
This commit is contained in:
Juro Bystricky 2016-03-14 14:29:11 -07:00 committed by Richard Purdie
parent 9cc65ed020
commit 3b8cd1db0d
3 changed files with 8 additions and 36 deletions

View File

@ -1,32 +0,0 @@
There is a race condition when running
$ make install.libs install.includes
As both targets install identical files. The remedy is to either prevent
parallel make of install.libs and install.includes, or ensure only one
target installs the files.
The second approch will only work if we always install both libs and
includes (which we do).
Upstream-Status: Inappropriate [configuration]
Index: git/mk-hdr.awk
===================================================================
--- a/mk-hdr.awk
+++ b/mk-hdr.awk
@@ -73,11 +73,13 @@ BEGIN {
END {
if ( count > 0 )
{
+ print" # patched here: Removed install.libs due the race "
print "${INCLUDEDIR} :"
print " mkdir -p $@"
print ""
+ print "install.libs :: ;"
+ print ""
print "install \\"
- print "install.libs \\"
print "install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \\"
for (i = 0; i < count - 1; ++i) {

View File

@ -145,9 +145,14 @@ do_test() {
# Split original _install_opts to two parts.
# One is the options to install contents, the other is the parameters \
# when running command "make install"
_install_opts = "\
install.libs install.includes install.man \
"
# Note that install.libs will also implicitly install header files,
# so we do not need to explicitly specify install.includes.
# Doing so could in fact result in a race condition, as both targets
# (install.libs and install.includes) would install the same headers
# at the same time
_install_opts = " install.libs install.man "
_install_cfgs = "\
DESTDIR='${D}' \
PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \

View File

@ -2,7 +2,6 @@ require ncurses.inc
SRC_URI += "file://tic-hang.patch \
file://config.cache \
file://fix-include-files-race.patch \
"
# commit id corresponds to the revision in package version
SRCREV = "a25949ff653ac5ae7a204381a3ebfd800feeaa01"