1 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2 Date: Sun, 26 Jun 2016 20:00:22 +0200
3 Subject: [PATCH] pre_build_hook: Introduce USE_DOCKER option
5 The build system uses Ubuntu Trusty, which is not properly supported
6 by Docker on AArch64 architecture.
7 Introduce a new environment variable for enabling/disabling build
8 containerization, and disable by default said variable for AArch64.
10 This requires a slight rework of the pre_build_hook script.
12 NOTE: Setting USE_DOCKER to false will build the packages on the host
15 AArch64 WARNING: This build will install packages automatically!
17 Change-Id: Ib1294949ecc1767f12631a82e2c7099c45fcb615
18 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
20 pre_build_hook | 33 +++++++++++++++++++++++----------
21 1 file changed, 23 insertions(+), 10 deletions(-)
23 diff --git a/pre_build_hook b/pre_build_hook
24 index 63cf7b4..b9ae6bb 100755
30 BUILD_FOR=${BUILD_FOR:-ubuntu}
31 +USE_DOCKER=${USE_DOCKER:-true}
32 DIR="$(dirname `readlink -f $0`)"
34 +if [ `uname -m` = 'aarch64' ]; then
41 - rm -rf ${DIR}/repositories/ubuntu; mkdir -p ${DIR}/repositories/ubuntu
42 + DEB_DIR=${DIR}/deb-ovs-dpdk
43 + DEB_DIR_NSH=${DIR}/deb-ovs-nsh-dpdk
45 + rm -rf ${DIR}/repositories/ubuntu ${DEB_DIR} ${DEB_DIR_NSH}
46 + mkdir -p ${DIR}/repositories/ubuntu ${DEB_DIR} ${DEB_DIR_NSH}
47 + sudo chmod -R 777 ${DEB_DIR} ${DEB_DIR_NSH}
50 - sudo docker build -t ovs_build .
51 + if [ "${USE_DOCKER}" = true ]; then
52 + sudo docker build -t ovs_build .
53 + sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-dpdk.sh
54 + sudo docker run -v ${DEB_DIR_NSH}:/deb -t ovs_build /ovs_build/build-ovs-nsh-dpdk.sh
56 + rm -rf /tmp/ovs-build-{,nsh-}dpdk; mkdir -p /tmp/ovs-build-{,nsh-}dpdk
57 + BUILD_HOME=/tmp/ovs-build-dpdk BUILD_DEB=${DEB_DIR} ./build-ovs-dpdk.sh
58 + BUILD_HOME=/tmp/ovs-build-nsh-dpdk BUILD_DEST=${DEB_DIR_NSH} ./build-ovs-nsh-dpdk.sh
59 + rm -rf /tmp/ovs-build-{,nsh-}dpdk
62 - DEB_DIR=${DIR}/deb-ovs-dpdk
63 - rm -rf ${DEB_DIR}; mkdir -p ${DEB_DIR}; chmod 777 ${DEB_DIR};
64 - sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-dpdk.sh
65 cd ${DEB_DIR}; tar czvf ../repositories/ubuntu/ovs-dpdk.tar.gz .;
66 cd ..; rm -rf ${DEB_DIR}
68 - DEB_DIR=${DIR}/deb-ovs-nsh-dpdk
69 - rm -rf ${DEB_DIR}; mkdir -p ${DEB_DIR}; chmod 777 ${DEB_DIR};
70 - sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-nsh-dpdk.sh
71 - cd ${DEB_DIR}; tar czvf ../repositories/ubuntu/ovs-nsh-dpdk.tar.gz .;
72 - cd ..; rm -rf ${DEB_DIR}
73 + cd ${DEB_DIR_NSH}; tar czvf ../repositories/ubuntu/ovs-nsh-dpdk.tar.gz .;
74 + cd ..; rm -rf ${DEB_DIR_NSH}
77 *) echo "Not supported system"; exit 1;;