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