From ec307077e542fd290701a871fedc7f58db37712c Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Tue, 9 Aug 2016 18:40:22 +0200 Subject: build: ISO refactor, use docker, enable cache Previously, Armband Makefile used to call Fuel@OPNFV Makefile target , instead of , which resulted in bypassing using Docker for ISO building completely. Switch to Makefile target, hence bringing back Docker as a build container. This change justifies moving make variables to a separate spec file, armband.mk. While at it, enable caching of builds. This requires Jenkins bash scripts to be updated for the ISO build job, done in [1]. JIRA: ARMBAND-56 [1] https://gerrit.opnfv.org/gerrit/#/c/18453/ CHANGES: - all: release (was all: build) - Common make targets now depend on submodules-init; - clean-build and clean-docker make targets have been replaced by: make clean, make deepclean; FIXME: These issues should be fixed later: - (optional) trim local repo paths from gitinfo files - only account for armband submodules in cache fingerprints; - identify size mismatch culprit Change-Id: I7d73409be44983fa21d4c09d2e07b87a33231e03 Signed-off-by: Alexandru Avadanii --- ...ild-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 patches/opnfv-fuel/0046-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch (limited to 'patches/opnfv-fuel/0046-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch') diff --git a/patches/opnfv-fuel/0046-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch b/patches/opnfv-fuel/0046-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch new file mode 100644 index 00000000..e6d4dc21 --- /dev/null +++ b/patches/opnfv-fuel/0046-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch @@ -0,0 +1,48 @@ +From: Alexandru Avadanii +Date: Wed, 17 Aug 2016 21:56:22 +0200 +Subject: [PATCH] build: Use OPNFV_GIT_SHA for ISO preparer ID + +isoinfo -i lists the following information for Fuel@OPNFV ISO: +"Data preparer id: 86aafaf5454a846c417848bb94f264c4420160f3" +where the SHA hash is Fuel git repo HEAD SHA. + +However, Armband overrides OPNFV_GIT_SHA to the Armband git repo +commit hash, so the ISO metadata should also reflect this. + +Signed-off-by: Alexandru Avadanii +--- + build/docker/runcontext | 2 +- + build/install/install.sh | 6 +++++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/build/docker/runcontext b/build/docker/runcontext +index e4874df..07b0dc1 100755 +--- a/build/docker/runcontext ++++ b/build/docker/runcontext +@@ -119,7 +119,7 @@ RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm \ + -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE \ + -e BUILD_FUEL_PLUGINS -e MIRROR_UBUNTU -e MIRROR_UBUNTU_ROOT \ + -e MIRROR_MOS_UBUNTU -e MIRROR_MOS_UBUNTU_ROOT -e MIRROR_FUEL \ +- -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e ARMBAND_BASE \ ++ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e ARMBAND_BASE -e OPNFV_GIT_SHA \ + -u $USER_ID:$GROUP_ID -w $PWD \ + -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT" + +diff --git a/build/install/install.sh b/build/install/install.sh +index f6308fb..9e003bb 100755 +--- a/build/install/install.sh ++++ b/build/install/install.sh +@@ -210,8 +210,12 @@ make_iso_image() { + find . -name TRANS.TBL -exec rm {} \; + rm -rf rr_moved + ++ if [[ -z "$OPNFV_GIT_SHA" ]]; then ++ OPNFV_GIT_SHA=$(git rev-parse --verify HEAD) ++ fi ++ + mkisofs --quiet -r -V "$VOLUMEID" -publisher "$PUBLISHER" \ +- -p `git rev-parse --verify HEAD` -J -R -b isolinux/isolinux.bin \ ++ -p "$OPNFV_GIT_SHA" -J -R -b isolinux/isolinux.bin \ + -no-emul-boot \ + -boot-load-size 4 -boot-info-table \ + --hide-rr-moved \ -- cgit 1.2.3-korg