summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan K. Berg <stefan.k.berg@ericsson.com>2015-12-02 16:27:41 +0100
committerStefan K. Berg <stefan.k.berg@ericsson.com>2015-12-03 11:28:16 +0100
commit5a6f83ed600757a2850ef3c83c2daf950decb5c8 (patch)
tree81a286d7e10dde842db2207a8a1b7af600247b1e
parent8b7b4f8bde98b05ee68dbed04fa2861bbaaebc22 (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/Makefile6
-rwxr-xr-xbuild/docker/runcontext2
-rw-r--r--build/f_isoroot/Makefile12
-rw-r--r--docs/build-instructions.rst21
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: