patches/fuel-plugin-ovs: fix version bump of libxenstore3.0
[armband.git] / patches / fuel-plugin-ovs / 0004-pre_build_hook-Introduce-USE_DOCKER-option.patch
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
4
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.
9
10 This requires a slight rework of the pre_build_hook script.
11
12 NOTE: Setting USE_DOCKER to false will build the packages on the host
13 machine directly.
14
15 AArch64 WARNING: This build will install packages automatically!
16
17 Change-Id: Ib1294949ecc1767f12631a82e2c7099c45fcb615
18 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
19 ---
20  pre_build_hook | 33 +++++++++++++++++++++++----------
21  1 file changed, 23 insertions(+), 10 deletions(-)
22
23 diff --git a/pre_build_hook b/pre_build_hook
24 index 63cf7b4..b9ae6bb 100755
25 --- a/pre_build_hook
26 +++ b/pre_build_hook
27 @@ -3,27 +3,40 @@
28  set -eux
29
30  BUILD_FOR=${BUILD_FOR:-ubuntu}
31 +USE_DOCKER=${USE_DOCKER:-true}
32  DIR="$(dirname `readlink -f $0`)"
33
34 +if [ `uname -m` = 'aarch64' ]; then
35 +  USE_DOCKER=false
36 +fi
37 +
38  function build_pkg {
39    case $1 in
40      ubuntu)
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
44 +
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}
48
49        cd ${DIR}/ovs_build
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
55 +      else
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
60 +      fi
61
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}
67
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}
75
76        ;;
77      *) echo "Not supported system"; exit 1;;