All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [NEXT] infra: add force build flag for host dependencies
@ 2018-11-27  4:10 Matt Weber
  2019-02-04 14:44 ` Peter Korsgaard
  0 siblings, 1 reply; 2+ messages in thread
From: Matt Weber @ 2018-11-27  4:10 UTC (permalink / raw)
  To: buildroot

From: Bryce Ferguson <bryce.ferguson@rockwellcollins.com>

This commit adds a config option which will force buildroot to
build all host dependencies even if they are already present on the
host system. This may be a desirable option if different hosts are
used to build the same source. In this case, some packages will be
built on one host that are not built on another. This is problematic
if build source archives are cached afterwards for offline builds.

Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Bryce Ferguson <bryce.ferguson@rockwellcollins.com>
Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com>
---
 Config.in                            | 10 ++++++++++
 support/dependencies/dependencies.mk |  6 ++++++
 2 files changed, 16 insertions(+)

diff --git a/Config.in b/Config.in
index 6b5b2b043c..0096ef389f 100644
--- a/Config.in
+++ b/Config.in
@@ -678,6 +678,16 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH
 	  and external toolchain backends (through the toolchain
 	  wrapper).
 
+config BR2_FORCE_HOST_BUILD
+	bool "Force the building of host dependencies"
+	help
+	  This option forces Buildroot to build all available host
+	  dependencies, even if they are already installed on the
+	  system.
+	  This option can be used to ensure that the download cache of
+	  source archives for packages remain consistent between
+	  different build hosts. This option will increase build time.
+
 config BR2_REPRODUCIBLE
 	bool "Make the build reproducible (experimental)"
 	# SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4
diff --git a/support/dependencies/dependencies.mk b/support/dependencies/dependencies.mk
index 563574d6ad..a0d857ce6b 100644
--- a/support/dependencies/dependencies.mk
+++ b/support/dependencies/dependencies.mk
@@ -9,9 +9,15 @@
 # can be the candidate to be checked. If not present, the check-host-$(1).sh
 # script should use 'which' to find a candidate. The script should return
 # the path to the suitable host tool, or nothing if no suitable tool was found.
+ifeq ($(BR2_FORCE_HOST_BUILD),y)
+define suitable-host-package
+$(shell exit 1)
+endef
+else
 define suitable-host-package
 $(shell support/dependencies/check-host-$(1).sh $(2))
 endef
+endif
 # host utilities needs host-tar to extract the source code tarballs, so
 # ensure check-host-tar.mk is included before the rest
 include support/dependencies/check-host-tar.mk
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [Buildroot] [NEXT] infra: add force build flag for host dependencies
  2018-11-27  4:10 [Buildroot] [NEXT] infra: add force build flag for host dependencies Matt Weber
@ 2019-02-04 14:44 ` Peter Korsgaard
  0 siblings, 0 replies; 2+ messages in thread
From: Peter Korsgaard @ 2019-02-04 14:44 UTC (permalink / raw)
  To: buildroot

>>>>> "Matt" == Matt Weber <Matthew.Weber@collins.com> writes:

 > From: Bryce Ferguson <bryce.ferguson@rockwellcollins.com>
 > This commit adds a config option which will force buildroot to
 > build all host dependencies even if they are already present on the
 > host system. This may be a desirable option if different hosts are
 > used to build the same source. In this case, some packages will be
 > built on one host that are not built on another. This is problematic
 > if build source archives are cached afterwards for offline builds.

 > Cc: Peter Korsgaard <peter@korsgaard.com>
 > Signed-off-by: Bryce Ferguson <bryce.ferguson@rockwellcollins.com>
 > Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com>
..
 > +++ b/support/dependencies/dependencies.mk
 > @@ -9,9 +9,15 @@
 >  # can be the candidate to be checked. If not present, the check-host-$(1).sh
 >  # script should use 'which' to find a candidate. The script should return
 >  # the path to the suitable host tool, or nothing if no suitable tool was found.
 > +ifeq ($(BR2_FORCE_HOST_BUILD),y)
 > +define suitable-host-package
 > +$(shell exit 1)
 > +endef

It is little confusing that the description that only applies to the
"real" suitable-host-package is above this dummy implementation, so I've
moved the conditional above.

The $(shell exit 1) part isn't really needed as we look at the string
expansion of the macro, so I've dropped that.

I also slightly reworded the help text. Committed with those changes, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-02-04 14:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-27  4:10 [Buildroot] [NEXT] infra: add force build flag for host dependencies Matt Weber
2019-02-04 14:44 ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.