aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/ncurses
diff options
context:
space:
mode:
authorJuro Bystricky <juro.bystricky@intel.com>2016-03-10 18:07:36 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-12 22:11:19 +0000
commita3df0aa78af1c2fecf847e87cc480fd2ed9afe89 (patch)
tree728b4ef6d92a706b3ade84a5778fa7404e83d5d0 /meta/recipes-core/ncurses
parent7975325e3d8dee159752ae2304b0c00361bfd2a7 (diff)
downloadopenembedded-core-contrib-a3df0aa78af1c2fecf847e87cc480fd2ed9afe89.tar.gz
openembedded-core-contrib-a3df0aa78af1c2fecf847e87cc480fd2ed9afe89.tar.bz2
openembedded-core-contrib-a3df0aa78af1c2fecf847e87cc480fd2ed9afe89.zip
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. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/ncurses')
-rw-r--r--meta/recipes-core/ncurses/files/fix-include-files-race.patch32
-rw-r--r--meta/recipes-core/ncurses/ncurses_6.0+20160213.bb1
2 files changed, 33 insertions, 0 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
new file mode 100644
index 0000000000..6f22e98332
--- /dev/null
+++ b/meta/recipes-core/ncurses/files/fix-include-files-race.patch
@@ -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) {
diff --git a/meta/recipes-core/ncurses/ncurses_6.0+20160213.bb b/meta/recipes-core/ncurses/ncurses_6.0+20160213.bb
index 0d56481a5c..fef4e0f626 100644
--- a/meta/recipes-core/ncurses/ncurses_6.0+20160213.bb
+++ b/meta/recipes-core/ncurses/ncurses_6.0+20160213.bb
@@ -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"