diff options
author | Stefan K. Berg <stefan.k.berg@ericsson.com> | 2015-12-02 16:27:41 +0100 |
---|---|---|
committer | Stefan K. Berg <stefan.k.berg@ericsson.com> | 2015-12-03 11:28:16 +0100 |
commit | 5a6f83ed600757a2850ef3c83c2daf950decb5c8 (patch) | |
tree | 81a286d7e10dde842db2207a8a1b7af600247b1e | |
parent | 8b7b4f8bde98b05ee68dbed04fa2861bbaaebc22 (diff) |
Support for selecting which plugins to build
In order to cut the build time for unofficial builds, this change
supports setting the environment variable "BUILD_FUEL_PLUGINS" prior
to building.
Only the plugin targets from fuel/build/f_isoroot/Makefile that are
specified will then be built. In order to completely disable the
building of plugins, the environment variable is set to " ".
When using this functionality, the resulting iso file will be
prepended with the prefix "unofficial-" to clearly indiciate that
this is not a full build.
Change-Id: Ib0a914ed6577f54f31b056a752691316302081dc
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
-rw-r--r-- | build/Makefile | 6 | ||||
-rwxr-xr-x | build/docker/runcontext | 2 | ||||
-rw-r--r-- | build/f_isoroot/Makefile | 12 | ||||
-rw-r--r-- | docs/build-instructions.rst | 21 |
4 files changed, 39 insertions, 2 deletions
diff --git a/build/Makefile b/build/Makefile index 6e7041dc0..85da6eb29 100644 --- a/build/Makefile +++ b/build/Makefile @@ -22,7 +22,13 @@ export ISOSRC = file:$(shell pwd)/fuel-7.0.iso export ISOCACHE = $(shell pwd)/$(shell basename $(ISOSRC)) export PRODNO = "OPNFV_BGS" export REVSTATE = "P0000" + +ifdef BUILD_FUEL_PLUGINS +$(warning Overriding plugin build selection to $(BUILD_FUEL_PLUGINS)) +export NEWISO = $(shell pwd)/release/unofficial-opnfv-${REVSTATE}.iso +else export NEWISO = $(shell pwd)/release/opnfv-${REVSTATE}.iso +endif # Note! Invoke with "make REVSTATE=RXXXX all" to make release build! # Invoke with ICOCACHE=/full/path/to/iso if cached ISO is in non-standard location. diff --git a/build/docker/runcontext b/build/docker/runcontext index f9065a01f..b442deeed 100755 --- a/build/docker/runcontext +++ b/build/docker/runcontext @@ -111,7 +111,7 @@ if [ -n "$CACHEBASE" ]; then fi fi -RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE -u $USER_ID:$GROUP_ID -w $PWD -v $GITROOT:$GITROOT $CACHEMOUNT" +RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE -e BUILD_FUEL_PLUGINS -u $USER_ID:$GROUP_ID -w $PWD -v $GITROOT:$GITROOT $CACHEMOUNT" # Passing "debug" puts up an interactive bash shell if [ "$1" == "debug" ]; then diff --git a/build/f_isoroot/Makefile b/build/f_isoroot/Makefile index 84c17c0e3..a03134156 100644 --- a/build/f_isoroot/Makefile +++ b/build/f_isoroot/Makefile @@ -8,7 +8,17 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -SUBDIRS = f_kscfg f_bootstrap f_repobuild f_odlpluginbuild f_qemupluginbuild f_ovs-nsh-dpdk-pluginbuild f_onosfwpluginbuild +# Add Fuel plugin build targets here +PLUGINS = f_odlpluginbuild f_qemupluginbuild f_ovs-nsh-dpdk-pluginbuild f_onosfwpluginbuild + +# If the BUILD_FUEL_PLUGINS environment variable is set, only build the plugins +# indicated therein. +ifdef BUILD_FUEL_PLUGINS +SUBDIRS = f_kscfg f_bootstrap f_repobuild $(BUILD_FUEL_PLUGINS) +$(warning Overriding plugin build selection to $(BUILD_FUEL_PLUGINS)) +else +SUBDIRS = f_kscfg f_bootstrap f_repobuild $(PLUGINS) +endif SUBCLEAN = $(addsuffix .clean,$(SUBDIRS)) .PHONY: all diff --git a/docs/build-instructions.rst b/docs/build-instructions.rst index 08b560375..aa8077e6e 100644 --- a/docs/build-instructions.rst +++ b/docs/build-instructions.rst @@ -34,6 +34,10 @@ Version history | 2015-10-23 | 1.1.1 | Stefan Berg | Added instructions | | | | (Ericsson AB) | for proxy builds | +--------------------+--------------------+--------------------+----------------------+ +| 2015-12-03 | 1.2.0 | Stefan Berg | Added instructions | +| | | (Ericsson AB) | for plugin build | +| | | | selection | ++--------------------+--------------------+--------------------+----------------------+ Introduction ============ @@ -210,6 +214,23 @@ Configure your build environment Select the versions of the components you want to build by editing the fuel/build/config.mk file. +Non official build: Selecting which plugins to build +---------------------------------------------------- +In order to cut the build time for unofficial builds (made by an +individual developer locally), the selection if which Fuel plugins to +build (if any) can be done by environment variable +"BUILD_FUEL_PLUGINS" prior to building. + +Only the plugin targets from fuel/build/f_isoroot/Makefile that are +specified in the environment variable will then be built. In order to +completely disable the building of plugins, the environment variable +is set to " ". When using this functionality, the resulting iso file +will be prepended with the prefix "unofficial-" to clearly indiciate +that this is not a full build. + +This method of plugin selection is not meant to be used from within +Gerrit! + Low level build method using make --------------------------------- The low level method is based on Make: |