6 config.mk: submodules-init
7 @ln -s -f ${root}/upstream/fuel/build/config.mk ${root}/config.mk
9 .PHONY: submodules-init submodules-clean
11 @if [ ! -d ${root}/upstream/fuel/build ]; then \
12 git submodule -q init; \
13 git submodule -q sync; \
14 git submodule update --remote; \
17 # Cleans any changes made to submodules
19 @git submodule -q foreach \
21 git checkout -q armband-workbench-root; \
22 git branch -q -D armband-workbench; \
23 git tag -d armband-workbench-root; \
24 git reset -q --hard HEAD; git clean -xdff'
26 .PHONY: patches-export patches-import
27 # Generate patches from submodules
29 @git submodule -q foreach 'mkdir -p ${root}/patches/$$name'
30 @git submodule -q foreach 'git format-patch \
31 -o ${root}/patches/$$name -N armband-workbench-root \
33 @find ${root}/patches -name '*.patch' -exec sed -i -e '1d' {} \;
35 # apply patches from patches/* to respective submodules
37 @cd ${root}/upstream/fuel-agent && \
38 git checkout -q ${FUEL_AGENT_COMMIT}
39 @cd ${root}/upstream/fuel-astute && \
40 git checkout -q ${ASTUTE_COMMIT}
41 @cd ${root}/upstream/fuel-library && \
42 git checkout -q ${FUELLIB_COMMIT}
43 @cd ${root}/upstream/fuel-mirror && \
44 git checkout -q ${FUEL_MIRROR_COMMIT}
45 @cd ${root}/upstream/fuel-nailgun-agent && \
46 git checkout -q ${FUEL_NAILGUN_AGENT_COMMIT}
47 @cd ${root}/upstream/fuel-web && \
48 git checkout -q ${NAILGUN_COMMIT}
49 @git submodule -q foreach 'mkdir -p ${root}/patches/$$name'
50 @git submodule -q foreach 'git tag armband-workbench-root'
51 @git submodule -q foreach 'git checkout -q -b armband-workbench'
52 @git submodule -q foreach \
53 'if [ ! -z "$$(ls ${root}/patches/$$name/)" ]; then \
54 echo "-- patching $$name"; \
55 git am ${root}/patches/$$name/*.patch; \
58 @if [ -d ${root}/upstream/fuel/build ]; then \
59 sudo make -C ${root}/upstream/fuel/build deepclean; \
61 @for container in $(shell sudo docker ps -a -q); do \
62 sudo docker rm -f -v $${container}; \
64 @for image in $(shell sudo docker images -q); do \
65 sudo docker rmi -f $${image}; \
69 sudo rm -rf /tmp/fuel-main
70 git -C ${root}/upstream/fuel reset --hard HEAD
71 git -C ${root}/upstream/fuel clean -xdff
73 release: export LC_ALL=en_US.UTF-8
74 release: submodules-clean clean-docker clean-build submodules-init patches-import build
77 EXTRA_PARAMS="REVSTATE=$(REVSTATE)"
81 cd ${root}/upstream/fuel/build && \
83 BUILD_FUEL_PLUGINS="f_odlpluginbuild f_bgpvpn-pluginbuild" \
84 UBUNTU_ARCH="amd64 arm64" \
85 PRODNO="OPNFV_A_FUEL" \
86 OPNFV_GIT_SHA=$(shell git rev-parse HEAD) \
87 ASTUTE_REPO=${root}/upstream/fuel-astute \
89 NAILGUN_REPO=${root}/upstream/fuel-web \
91 FUEL_AGENT_REPO=${root}/upstream/fuel-agent \
92 FUEL_AGENT_COMMIT=HEAD \
93 FUEL_NAILGUN_AGENT_REPO=${root}/upstream/fuel-nailgun-agent \
94 FUEL_NAILGUN_AGENT_COMMIT=HEAD \
95 FUEL_MIRROR_REPO=${root}/upstream/fuel-mirror \
96 FUEL_MIRROR_COMMIT=HEAD \
97 FUELLIB_REPO=${root}/upstream/fuel-library \
99 ODL_REPO=${root}/upstream/fuel-plugin-opendaylight \
100 ODL_BRANCH=armband-workbench \
102 OPNFV_QUAGGE_PACKAGING_REPO="https://github.com/alexandruavadanii/opnfv-quagga-packaging" \
103 OVS_NSH_DPDK_REPO=${root}/upstream/fuel-plugin-ovs \
104 OVS_NSH_DPDK_BRANCH=HEAD \
105 VSPERF_REPO=${root}/upstream/vswitchperf \
106 VSPERF_BRANCH=armband-workbench \
108 YARDSTICK_REPO=${root}/upstream/yardstick \
109 YARDSTICK_BRANCH=armband-workbench \
111 EXTRA_RPM_REPOS="armband,http://linux.enea.com/mos-repos/centos/mos9.0-centos7/armband/x86_64,10" \
112 MIRROR_MOS_UBUNTU=linux.enea.com \
114 iso 2>&1 | tee ${root}/build.log