1 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2 Date: Thu, 11 Aug 2016 15:34:32 +0200
3 Subject: [PATCH] build: Add armband.mk config, env var ARMBAND_BASE
5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
7 build/Makefile | 10 ++++++++++
8 build/armband.mk | 53 +++++++++++++++++++++++++++++++++++++++++++++++++
9 build/docker/Dockerfile | 2 +-
10 build/docker/runcontext | 6 +++++-
11 4 files changed, 69 insertions(+), 2 deletions(-)
12 create mode 100644 build/armband.mk
14 diff --git a/build/Makefile b/build/Makefile
15 index 4454c35..377ecc6 100644
18 @@ -14,6 +14,9 @@ SHELL = /bin/bash
20 -include environment.mk
22 +# Override Armband specific information & git commit references
25 ############################################################################
26 # BEGIN of variables to customize
28 @@ -129,6 +132,9 @@ $(ISOCACHE):
30 cd /tmp/fuel-main && make repos
31 $(REPOINFO) -r /tmp/fuel-main > gitinfo_fuel.txt
32 + @if test -n $(ARMBAND_BASE); then \
33 + $(REPOINFO) -r $(ARMBAND_BASE) >> gitinfo_fuel.txt; \
35 # OPNFV patches at Fuel build time
36 # Need to be commited in order for them to be considered by the Fuel
38 @@ -228,6 +234,10 @@ debug:
39 sha1sum *.patch >> .cachedata
40 sha1sum fuel_build_loop >> .cachedata
41 sha1sum config.mk >> .cachedata
42 + @if test -n $(ARMBAND_BASE); then \
43 + sha1sum armband.mk >> .cachedata; \
44 + $(REPOINFO) $(ARMBAND_BASE) >> .cachedata; \
46 sha1sum Makefile >> .cachedata
47 $(CACHETOOL) getbiweek >> .cachedata
48 cat .cachedata | $(CACHETOOL) getid > .cacheid
49 diff --git a/build/armband.mk b/build/armband.mk
51 index 0000000..1e772f0
53 +++ b/build/armband.mk
55 +##############################################################################
56 +# Copyright (c) 2016 Enea AB and others.
57 +# Alexandru.Avadanii@enea.com
58 +# All rights reserved. This program and the accompanying materials
59 +# are made available under the terms of the Apache License, Version 2.0
60 +# which accompanies this distribution, and is available at
61 +# http://www.apache.org/licenses/LICENSE-2.0
62 +##############################################################################
64 +# Only configure Armband stuff when ARMBAND_BASE is set
66 + # Armband plugins, supported archs & specific info
67 + export PLUGINS := f_odlpluginbuild f_bgpvpn-pluginbuild
68 + export UBUNTU_ARCH := amd64 arm64
69 + export PRODNO := OPNFV_A_FUEL
70 + export MIRROR_MOS_UBUNTU := linux.enea.com
71 + export EXTRA_RPM_REPOS := armband,http://linux.enea.com/mos-repos/centos/mos9.0-centos7/armband/x86_64,10
73 + # Temporary fuel-plugin-builder repo info for runtime patching
74 + export FPB_REPO := https://github.com/openstack/fuel-plugins
75 + export FPB_BRANCH := master
76 + export FPB_CHANGE := refs/changes/31/311031/2
78 + # Armband git submodules for Fuel/OPNFV components
79 + export ASTUTE_REPO := ${ARMBAND_BASE}/upstream/fuel-astute
80 + export ASTUTE_COMMIT := HEAD
82 + export NAILGUN_REPO := ${ARMBAND_BASE}/upstream/fuel-web
83 + export NAILGUN_COMMIT := HEAD
85 + export FUEL_AGENT_REPO := ${ARMBAND_BASE}/upstream/fuel-agent
86 + export FUEL_AGENT_COMMIT := HEAD
88 + export FUEL_NAILGUN_AGENT_REPO := ${ARMBAND_BASE}/upstream/fuel-nailgun-agent
89 + export FUEL_NAILGUN_AGENT_COMMIT := HEAD
91 + export FUEL_MIRROR_REPO := ${ARMBAND_BASE}/upstream/fuel-mirror
92 + export FUEL_MIRROR_COMMIT := HEAD
94 + export FUELLIB_REPO := ${ARMBAND_BASE}/upstream/fuel-library
95 + export FUELLIB_COMMIT := HEAD
97 + export FUEL_PLUGIN_ODL_REPO := ${ARMBAND_BASE}/upstream/fuel-plugin-opendaylight
98 + export FUEL_PLUGIN_ODL_BRANCH := armband-workbench
99 + export FUEL_PLUGIN_ODL_CHANGE := HEAD
100 + export OPNFV_QUAGGE_PACKAGING_REPO := https://github.com/alexandruavadanii/opnfv-quagga-packaging
102 + export OVS_NSH_DPDK_REPO := ${ARMBAND_BASE}/upstream/fuel-plugin-ovs
103 + export OVS_NSH_DPDK_BRANCH := HEAD
105 + export VSPERF_REPO := ${ARMBAND_BASE}/upstream/vswitchperf
106 + export VSPERF_BRANCH := armband-workbench
107 + export VSPERF_CHANGE := HEAD
109 diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile
110 index b38ea4c..624f233 100644
111 --- a/build/docker/Dockerfile
112 +++ b/build/docker/Dockerfile
113 @@ -30,7 +30,7 @@ RUN echo "Defaults env_keep += \"ftp_proxy http_proxy https_proxy no_proxy RSYNC
114 # Keeping PWD is needed to build as root
115 RUN echo "Defaults env_keep += \"PWD\"" > /etc/sudoers.d/keep-pwd
116 # Keeping variables for ISO build
117 -RUN echo "Defaults env_keep += \"MIRROR_UBUNTU MIRROR_UBUNTU_ROOT MIRROR_MOS_UBUNTU MIRROR_MOS_UBUNTU_ROOT MIRROR_FUEL LATEST_TARGET_UBUNTU UBUNTU_ARCH\"" > /etc/sudoers.d/keep-mos
118 +RUN echo "Defaults env_keep += \"MIRROR_UBUNTU MIRROR_UBUNTU_ROOT MIRROR_MOS_UBUNTU MIRROR_MOS_UBUNTU_ROOT MIRROR_FUEL LATEST_TARGET_UBUNTU UBUNTU_ARCH ARMBAND_BASE\"" > /etc/sudoers.d/keep-mos
119 RUN chmod 0440 /etc/sudoers.d/open-sudo
120 RUN chmod 0440 /etc/sudoers.d/keep-proxies
121 RUN chmod 0440 /etc/sudoers.d/keep-pwd
122 diff --git a/build/docker/runcontext b/build/docker/runcontext
123 index daad663..e4874df 100755
124 --- a/build/docker/runcontext
125 +++ b/build/docker/runcontext
126 @@ -42,6 +42,10 @@ GITROOT=`git rev-parse --show-toplevel`
127 CID_FILE=`mktemp -u -t runcontext.XXXXXXXXXX`
128 CONTEXT_DIR=`mktemp -d ${GITROOT}/.docker_contextXXXXXX`
130 +if [[ $ARMBAND_BASE ]]; then
131 + GITROOT=$ARMBAND_BASE
134 # If RSYNC_CONNECT_PROG is used, we need to copy all of
135 # the SSH structure, should one of the keys need to be
137 @@ -115,7 +119,7 @@ RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm \
138 -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE \
139 -e BUILD_FUEL_PLUGINS -e MIRROR_UBUNTU -e MIRROR_UBUNTU_ROOT \
140 -e MIRROR_MOS_UBUNTU -e MIRROR_MOS_UBUNTU_ROOT -e MIRROR_FUEL \
141 - -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH \
142 + -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e ARMBAND_BASE \
143 -u $USER_ID:$GROUP_ID -w $PWD \
144 -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"