[OE-core] [PATCH 1/1] ncurses_6: Improve installation

Juro Bystricky juro.bystricky at intel.com
Mon Mar 14 21:29:11 UTC 2016


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.


Signed-off-by: Juro Bystricky <juro.bystricky at intel.com>
---
 .../ncurses/files/fix-include-files-race.patch     | 32 ----------------------
 meta/recipes-core/ncurses/ncurses.inc              | 11 ++++++--
 meta/recipes-core/ncurses/ncurses_6.0+20160213.bb  |  1 -
 3 files changed, 8 insertions(+), 36 deletions(-)
 delete mode 100644 meta/recipes-core/ncurses/files/fix-include-files-race.patch

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 6f22e98..0000000
--- a/meta/recipes-core/ncurses/files/fix-include-files-race.patch
+++ /dev/null
@@ -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) {
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
index 35b8b94..acd2579 100644
--- a/meta/recipes-core/ncurses/ncurses.inc
+++ b/meta/recipes-core/ncurses/ncurses.inc
@@ -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' \
diff --git a/meta/recipes-core/ncurses/ncurses_6.0+20160213.bb b/meta/recipes-core/ncurses/ncurses_6.0+20160213.bb
index fef4e0f..0d56481 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
 
 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"
-- 
1.9.1




More information about the Openembedded-core mailing list