[oe-commits] [openembedded-core] 27/29: ncurses_6: Fix an install race condition

git at git.openembedded.org git at git.openembedded.org
Fri Mar 11 17:19:42 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 7162b43aaf620a95ca13c1fe54a599cb9a538ae7
Author: Juro Bystricky <juro.bystricky at intel.com>
AuthorDate: Thu Mar 10 18:07:36 2016 -0800

    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 at intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 .../ncurses/files/fix-include-files-race.patch     | 32 ++++++++++++++++++++++
 meta/recipes-core/ncurses/ncurses_6.0+20160213.bb  |  1 +
 2 files changed, 33 insertions(+)

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 0000000..6f22e98
--- /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 0d56481..fef4e0f 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"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list