summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2016-06-30 17:45:34 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2016-07-01 08:19:48 +0200
commite18b0c8f3ac765e0373a1c33140afee0b59f07b4 (patch)
tree49d44d0a83a0d01c08b03df9a0393fd9f8142af5
parentc31329138b0b8c08286c0a7540a748fe9208778e (diff)
downloadptxdist-e18b0c8f3ac765e0373a1c33140afee0b59f07b4.tar.gz
host-dummy-install-info: new package
For each package with info pages, install-info creates '<pkgdir>/<prefix>/share/info/dir'. If packages are built in parallel, then multiple install.post stages may try to create this file in <sysroot> at exactly the same time and fail. This fake install-info does nothing, so to avoid this race condition. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--rules/host-dummy-install-info.in7
-rw-r--r--rules/host-dummy-install-info.make26
-rw-r--r--rules/post/virtual.make4
-rw-r--r--scripts/lib/ptxd_lib_dgen.awk2
4 files changed, 39 insertions, 0 deletions
diff --git a/rules/host-dummy-install-info.in b/rules/host-dummy-install-info.in
new file mode 100644
index 0000000..b715d92
--- /dev/null
+++ b/rules/host-dummy-install-info.in
@@ -0,0 +1,7 @@
+## SECTION=hosttools_noprompt
+
+config HOST_DUMMY_INSTALL_INFO
+ bool
+ default y
+ help
+ Fake install-info that does nothing
diff --git a/rules/host-dummy-install-info.make b/rules/host-dummy-install-info.make
new file mode 100644
index 0000000..ea19d88
--- /dev/null
+++ b/rules/host-dummy-install-info.make
@@ -0,0 +1,26 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2016 by Michael Olbrich <m.olbrich@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_DUMMY_INSTALL_INFO) += host-dummy-install-info
+HOST_DUMMY_INSTALL_INFO_LICENSE := ignore
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-dummy-install-info.install:
+ @$(call targetinfo)
+ @ln -sfv /bin/true $(PTXDIST_SYSROOT_HOST)/bin/install-info
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/post/virtual.make b/rules/post/virtual.make
index 2d5a2b5..a6ea68a 100644
--- a/rules/post/virtual.make
+++ b/rules/post/virtual.make
@@ -33,6 +33,10 @@ $(STATEDIR)/virtual-cross-tools.install:
@$(call touch)
+ifdef PTXCONF_HOST_DUMMY_INSTALL_INFO
+$(STATEDIR)/virtual-host-tools.install: $(STATEDIR)/host-dummy-install-info.install.post
+endif
+
ifdef PTXCONF_HOST_PKG_CONFIG
$(STATEDIR)/virtual-host-tools.install: $(STATEDIR)/host-pkg-config.install.post
endif
diff --git a/scripts/lib/ptxd_lib_dgen.awk b/scripts/lib/ptxd_lib_dgen.awk
index f71a12b..bbf8aad 100644
--- a/scripts/lib/ptxd_lib_dgen.awk
+++ b/scripts/lib/ptxd_lib_dgen.awk
@@ -377,6 +377,8 @@ function write_deps_pkg_active(this_PKG, this_pkg, prefix) {
# add deps to virtual pkgs
#
function write_deps_pkg_active_virtual(this_PKG, this_pkg, prefix) {
+ if (this_pkg ~ /^host-dummy-install-info$/)
+ return;
if (this_pkg ~ /^host-pkg-config$/)
return;
if (this_pkg ~ /^host-chrpath$/)