diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2016-06-30 17:45:34 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2016-07-01 08:19:48 +0200 |
commit | e18b0c8f3ac765e0373a1c33140afee0b59f07b4 (patch) | |
tree | 49d44d0a83a0d01c08b03df9a0393fd9f8142af5 | |
parent | c31329138b0b8c08286c0a7540a748fe9208778e (diff) | |
download | ptxdist-e18b0c8f3ac765e0373a1c33140afee0b59f07b4.tar.gz ptxdist-e18b0c8f3ac765e0373a1c33140afee0b59f07b4.tar.xz |
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.in | 7 | ||||
-rw-r--r-- | rules/host-dummy-install-info.make | 26 | ||||
-rw-r--r-- | rules/post/virtual.make | 4 | ||||
-rw-r--r-- | scripts/lib/ptxd_lib_dgen.awk | 2 |
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 000000000..b715d9237 --- /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 000000000..ea19d8804 --- /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 2d5a2b5e2..a6ea68a8b 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 f71a12bc4..bbf8aaddd 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$/) |