ncurses_6: Fix an install race condition

Both targets install.libs and install.includes install the same
files, resulting in a race condition when running parallel make.
This race is addressed in a patch file, making sure only one
of the targets (install.includes) installes the include files.
This will work properly (i.e.ncurses will install as intended
by the recipe) as long as we always install both targets.

(From OE-Core rev: a3df0aa78af1c2fecf847e87cc480fd2ed9afe89)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Juro Bystricky 2016-03-10 18:07:36 -08:00 committed by Richard Purdie
parent 09eab6b992
commit 03b167d49d
2 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,32 @@
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

@ -2,6 +2,7 @@ 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"