diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2016-10-01 13:18:11 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2016-10-09 16:33:43 +0200 |
commit | 42f8585ebb8fffad19a89314659ab9129176c3e9 (patch) | |
tree | e2cf6a4797bcbd036e080541cc3925f8b209549b /patches/fuel-plugin-ovs | |
parent | 6f3a054fc95622f0c002f72c0fac6074bb36c36f (diff) |
build: Rework patch mechanism for Fuel submodules
While refactoring the patching mechanism, take care of:
- Sync submodule handling with Fuel@OPFNV;
- build: Investigate/prepare for moving patches to Fuel@OPNFV;
- build: Investigate divergent fuel-mirror;
- ISO build: cacheid for Fuel comps should not depend on
Armband git commit;
CHANGE:
Rename/shuffle patches while grouping them in "features",
preparing for upstreaming them to Fuel@OPNFV and beyond.
CHANGE:
Allow linking patches for better representing the dependency
between one patch and different features.
e.g. 0001-Add-arch-to-nailgun-release-and-target-image.patch:
- part of `multiarch-fuel`, because it extends Fuel;
- part of `direct-kernel-boot`, as arch is required for that;
- part of `cross-bootstrap`, target image is arch-dependent;
NOTE: Patch links are not staged to Fuel@OPNFV, they only serve
as markers that a specific patch is part of a feature.
CHANGE:
Kill all Fuel component submodules, now handled in Fuel@OPNFV:
- fuel-agent
- fuel-astute
- fuel-library
- fuel-mirror
- fuel-nailgun-agent
- fuel-web
CHANGE:
Move armband-fuel-config.mk to armband git root.
FIXME: m1.micro-Increase-profile-RAM-size-to-128MB.patch is NOT
part of `cross-bootstrap` feature, but patch context says so ...
FIXME: 0001-Add-arm64-deb-repositories-setup.patch is broken at
`make patches-export` by removing spaces at EOL.
v2 -> v3:
* Phony patch support (links to show a patch belongs to a feature);
* Updated README.md
v3 -> v7:
* Re-export Fuel submodules & plugins patches (update patch context);
* Update Cavium mail addresses (s/caviumnetworks.com/cavium.com/);
* Ignore submodule changes;
* Add armband git repo info to gitinfo_fuel.txt at build time;
Implements: ARMBAND-136
Closes-bug: ARMBAND-95
Closes-bug: ARMBAND-93
Closes-bug: ARMBAND-92
Change-Id: I1a236d9f43b2e6dca22055911f696b43c22b5973
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'patches/fuel-plugin-ovs')
-rw-r--r-- | patches/fuel-plugin-ovs/0001-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch (renamed from patches/fuel-plugin-ovs/0002-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch) | 8 | ||||
-rw-r--r-- | patches/fuel-plugin-ovs/0002-Cleanup-Drop-git-dependency.patch (renamed from patches/fuel-plugin-ovs/0003-Cleanup-Drop-git-dependency.patch) | 30 | ||||
-rw-r--r-- | patches/fuel-plugin-ovs/0003-build-apt-force-yes.patch (renamed from patches/fuel-plugin-ovs/0004-build-apt-force-yes.patch) | 28 | ||||
-rw-r--r-- | patches/fuel-plugin-ovs/0004-pre_build_hook-Introduce-USE_DOCKER-option.patch (renamed from patches/fuel-plugin-ovs/0005-pre_build_hook-Introduce-USE_DOCKER-option.patch) | 12 | ||||
-rw-r--r-- | patches/fuel-plugin-ovs/0005-build-install-pre_build_hook-Prepare-multiarch.patch (renamed from patches/fuel-plugin-ovs/0006-build-install-pre_build_hook-Prepare-multiarch.patch) | 50 | ||||
-rw-r--r-- | patches/fuel-plugin-ovs/0006-AArch64-Add-native-build-support.patch (renamed from patches/fuel-plugin-ovs/0007-AArch64-Add-native-build-support.patch) | 20 | ||||
-rw-r--r-- | patches/fuel-plugin-ovs/0007-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch (renamed from patches/fuel-plugin-ovs/0008-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch) | 16 | ||||
-rw-r--r-- | patches/fuel-plugin-ovs/0008-build-docker-Use-host-s-network-stack.patch (renamed from patches/fuel-plugin-ovs/0009-build-docker-Use-host-s-network-stack.patch) | 0 | ||||
-rw-r--r-- | patches/fuel-plugin-ovs/0009-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch (renamed from patches/fuel-plugin-ovs/0010-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch) | 6 |
9 files changed, 85 insertions, 85 deletions
diff --git a/patches/fuel-plugin-ovs/0002-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch b/patches/fuel-plugin-ovs/0001-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch index e9b90be7..4c2283f4 100644 --- a/patches/fuel-plugin-ovs/0002-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch +++ b/patches/fuel-plugin-ovs/0001-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch @@ -24,25 +24,25 @@ index 1b42df1..3d7edea 100755 +++ b/ovs_build/build-ovs-nsh-dpdk.sh @@ -17,10 +17,7 @@ sudo apt-get -y install devscripts dpkg-dev git wget rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME} - + cd ${BUILD_HOME} -wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc -wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0.orig.tar.gz -wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.debian.tar.xz -dpkg-source -x dpdk_2.2.0-0ubuntu8.dsc +dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc - + # copy from debian/control sudo apt-get install -y debhelper \ @@ -49,10 +46,7 @@ cd ${BUILD_HOME}; sudo dpkg -i *.deb apt-get download libxenstore3.0 - + cd ${BUILD_HOME} -wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0.orig.tar.gz -wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc -wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.debian.tar.xz -dpkg-source -x openvswitch-dpdk_2.4.0-0ubuntu1.dsc +dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc - + # copy from debian/control sudo apt-get install -y autoconf \ diff --git a/patches/fuel-plugin-ovs/0003-Cleanup-Drop-git-dependency.patch b/patches/fuel-plugin-ovs/0002-Cleanup-Drop-git-dependency.patch index 89cab56a..22aa570e 100644 --- a/patches/fuel-plugin-ovs/0003-Cleanup-Drop-git-dependency.patch +++ b/patches/fuel-plugin-ovs/0002-Cleanup-Drop-git-dependency.patch @@ -13,46 +13,46 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ovs_build/build-ovs-dpdk.sh b/ovs_build/build-ovs-dpdk.sh -index aeb5eb7..9e92014 100755 +index aeb5eb7..01ba032 100755 --- a/ovs_build/build-ovs-dpdk.sh +++ b/ovs_build/build-ovs-dpdk.sh @@ -3,14 +3,14 @@ set -eux - + OVS_COMMIT=9f4ecd654dbcb88b15a424445184591fc887537e -URL_OVS=https://github.com/openvswitch/ovs.git +URL_OVS_ARCHIVE=https://github.com/openvswitch/ovs/archive BUILD_DEB=${BUILD_DEB:-/deb} BUILD_SRC="$(dirname `readlink -f $0`)" BUILD_DEST=${BUILD_DEST:-/tmp/ovs-dpdk} - + export DEB_BUILD_OPTIONS='parallel=8 nocheck' - + -sudo apt-get -y install devscripts dpkg-dev git wget +sudo apt-get -y install devscripts dpkg-dev wget - + rm -rf ${BUILD_DEST}; mkdir -p ${BUILD_DEST} - + @@ -62,9 +62,9 @@ sudo apt-get install -y autoconf \ python-zopeinterface \ python-six - + -git clone https://github.com/openvswitch/ovs.git -cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git -cd ${BUILD_DEST}; cp -r ovs ovs-dpdk +wget -c ${URL_OVS_ARCHIVE}/${OVS_COMMIT}.tar.gz +tar xzf ${OVS_COMMIT}.tar.gz; mv ovs-${OVS_COMMIT} ovs +cp -r ovs ovs-dpdk - + cd ovs-dpdk cp -r ${BUILD_SRC}/openvswitch-dpdk_2.5.90/debian . diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh -index 3d7edea..ec5eef4 100755 +index 3d7edea..25e4b6c 100755 --- a/ovs_build/build-ovs-nsh-dpdk.sh +++ b/ovs_build/build-ovs-nsh-dpdk.sh @@ -3,7 +3,7 @@ set -eux - + OVS_COMMIT=7d433ae57ebb90cd68e8fa948a096f619ac4e2d8 -URL_OVS=https://github.com/openvswitch/ovs.git +URL_OVS_ARCHIVE=https://github.com/openvswitch/ovs/archive @@ -61,17 +61,17 @@ index 3d7edea..ec5eef4 100755 BUILD_DEST=${BUILD_DEST:-/deb} @@ -12,7 +12,7 @@ DIR="$(dirname `readlink -f $0`)" export DEB_BUILD_OPTIONS='parallel=8 nocheck' - + sudo apt-get build-dep openvswitch -y -sudo apt-get -y install devscripts dpkg-dev git wget +sudo apt-get -y install devscripts dpkg-dev wget - + rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME} - + @@ -35,7 +35,7 @@ sudo apt-get install -y debhelper \ texlive-fonts-recommended \ texlive-latex-extra - + -cd dpdk-2.2.0; rm -rf debian/patches/; +cd dpdk-2.2.0; rm -rf debian/patches/ cat << EOF > debian/changelog @@ -80,7 +80,7 @@ index 3d7edea..ec5eef4 100755 @@ -68,8 +68,8 @@ sudo apt-get install -y autoconf \ python-zopeinterface \ python-six - + -git clone https://github.com/openvswitch/ovs.git -cd ovs; git checkout ${OVS_COMMIT} +wget -c ${URL_OVS_ARCHIVE}/${OVS_COMMIT}.tar.gz diff --git a/patches/fuel-plugin-ovs/0004-build-apt-force-yes.patch b/patches/fuel-plugin-ovs/0003-build-apt-force-yes.patch index 5b5712d0..9ec04cd2 100644 --- a/patches/fuel-plugin-ovs/0004-build-apt-force-yes.patch +++ b/patches/fuel-plugin-ovs/0003-build-apt-force-yes.patch @@ -19,21 +19,21 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ovs_build/build-ovs-dpdk.sh b/ovs_build/build-ovs-dpdk.sh -index 9e92014..75904f2 100755 +index 01ba032..dd9c6ff 100755 --- a/ovs_build/build-ovs-dpdk.sh +++ b/ovs_build/build-ovs-dpdk.sh @@ -10,7 +10,7 @@ BUILD_DEST=${BUILD_DEST:-/tmp/ovs-dpdk} - + export DEB_BUILD_OPTIONS='parallel=8 nocheck' - + -sudo apt-get -y install devscripts dpkg-dev wget +sudo apt-get -y --force-yes install devscripts dpkg-dev wget - + rm -rf ${BUILD_DEST}; mkdir -p ${BUILD_DEST} - + @@ -21,7 +21,7 @@ cd dpdk-16.07 cp -r ${BUILD_SRC}/dpdk_16.07/debian . - + # copy from debian/control -sudo apt-get install -y debhelper \ +sudo apt-get install -y --force-yes debhelper \ @@ -43,7 +43,7 @@ index 9e92014..75904f2 100755 @@ -41,9 +41,9 @@ cd ${BUILD_DEST} sudo dpkg -i *.deb apt-get download libxenstore3.0 - + -sudo apt-get build-dep openvswitch -y +sudo apt-get build-dep openvswitch -y --force-yes # copy from debian/control @@ -53,23 +53,23 @@ index 9e92014..75904f2 100755 bzip2 \ debhelper \ diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh -index ec5eef4..3b84f4c 100755 +index 25e4b6c..3751c02 100755 --- a/ovs_build/build-ovs-nsh-dpdk.sh +++ b/ovs_build/build-ovs-nsh-dpdk.sh @@ -11,8 +11,8 @@ DIR="$(dirname `readlink -f $0`)" - + export DEB_BUILD_OPTIONS='parallel=8 nocheck' - + -sudo apt-get build-dep openvswitch -y -sudo apt-get -y install devscripts dpkg-dev wget +sudo apt-get build-dep openvswitch -y --force-yes +sudo apt-get -y --force-yes install devscripts dpkg-dev wget - + rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME} - + @@ -20,7 +20,7 @@ cd ${BUILD_HOME} dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc - + # copy from debian/control -sudo apt-get install -y debhelper \ +sudo apt-get install -y --force-yes debhelper \ @@ -78,7 +78,7 @@ index ec5eef4..3b84f4c 100755 doxygen \ @@ -49,7 +49,7 @@ cd ${BUILD_HOME} dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc - + # copy from debian/control -sudo apt-get install -y autoconf \ +sudo apt-get install -y --force-yes autoconf \ diff --git a/patches/fuel-plugin-ovs/0005-pre_build_hook-Introduce-USE_DOCKER-option.patch b/patches/fuel-plugin-ovs/0004-pre_build_hook-Introduce-USE_DOCKER-option.patch index dbbfefcf..7df0c5f6 100644 --- a/patches/fuel-plugin-ovs/0005-pre_build_hook-Introduce-USE_DOCKER-option.patch +++ b/patches/fuel-plugin-ovs/0004-pre_build_hook-Introduce-USE_DOCKER-option.patch @@ -26,11 +26,11 @@ index 63cf7b4..b9ae6bb 100755 +++ b/pre_build_hook @@ -3,27 +3,40 @@ set -eux - + BUILD_FOR=${BUILD_FOR:-ubuntu} +USE_DOCKER=${USE_DOCKER:-true} DIR="$(dirname `readlink -f $0`)" - + +if [ `uname -m` = 'aarch64' ]; then + USE_DOCKER=false +fi @@ -45,7 +45,7 @@ index 63cf7b4..b9ae6bb 100755 + rm -rf ${DIR}/repositories/ubuntu ${DEB_DIR} ${DEB_DIR_NSH} + mkdir -p ${DIR}/repositories/ubuntu ${DEB_DIR} ${DEB_DIR_NSH} + sudo chmod -R 777 ${DEB_DIR} ${DEB_DIR_NSH} - + cd ${DIR}/ovs_build - sudo docker build -t ovs_build . + if [ "${USE_DOCKER}" = true ]; then @@ -58,13 +58,13 @@ index 63cf7b4..b9ae6bb 100755 + BUILD_HOME=/tmp/ovs-build-nsh-dpdk BUILD_DEST=${DEB_DIR_NSH} ./build-ovs-nsh-dpdk.sh + rm -rf /tmp/ovs-build-{,nsh-}dpdk + fi - + - DEB_DIR=${DIR}/deb-ovs-dpdk - rm -rf ${DEB_DIR}; mkdir -p ${DEB_DIR}; chmod 777 ${DEB_DIR}; - sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-dpdk.sh cd ${DEB_DIR}; tar czvf ../repositories/ubuntu/ovs-dpdk.tar.gz .; cd ..; rm -rf ${DEB_DIR} - + - DEB_DIR=${DIR}/deb-ovs-nsh-dpdk - rm -rf ${DEB_DIR}; mkdir -p ${DEB_DIR}; chmod 777 ${DEB_DIR}; - sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-nsh-dpdk.sh @@ -72,6 +72,6 @@ index 63cf7b4..b9ae6bb 100755 - cd ..; rm -rf ${DEB_DIR} + cd ${DEB_DIR_NSH}; tar czvf ../repositories/ubuntu/ovs-nsh-dpdk.tar.gz .; + cd ..; rm -rf ${DEB_DIR_NSH} - + ;; *) echo "Not supported system"; exit 1;; diff --git a/patches/fuel-plugin-ovs/0006-build-install-pre_build_hook-Prepare-multiarch.patch b/patches/fuel-plugin-ovs/0005-build-install-pre_build_hook-Prepare-multiarch.patch index 8ba8dd25..da71d8e6 100644 --- a/patches/fuel-plugin-ovs/0006-build-install-pre_build_hook-Prepare-multiarch.patch +++ b/patches/fuel-plugin-ovs/0005-build-install-pre_build_hook-Prepare-multiarch.patch @@ -45,7 +45,7 @@ index efbed72..46d74bb 100644 dpdk_socket_mem=${4:-''} +arch=$(dpkg --print-architecture) +ovs="ovs-dpdk_${arch}.tar.gz" - + -if [ $nsh = 'true' ] -then - curl http://$host:8080/plugins/fuel-plugin-ovs-0.9/repositories/ubuntu/ovs-nsh-dpdk.tar.gz | tar -xzv @@ -58,7 +58,7 @@ index efbed72..46d74bb 100644 +if [ $nsh = 'true' ]; then + ovs="ovs-nsh-dpdk_${arch}.tar.gz" +fi -+ ++ +curl http://$host:8080/plugins/fuel-plugin-ovs-0.9/repositories/ubuntu/${ovs} | tar -xzv +dpkg -i openvswitch-datapath-dkms_*.deb +dpkg -i openvswitch-common_*.deb @@ -109,9 +109,9 @@ index dd9c6ff..a14f5fd 100755 --- a/ovs_build/build-ovs-dpdk.sh +++ b/ovs_build/build-ovs-dpdk.sh @@ -10,18 +10,27 @@ BUILD_DEST=${BUILD_DEST:-/tmp/ovs-dpdk} - + export DEB_BUILD_OPTIONS='parallel=8 nocheck' - + -sudo apt-get -y --force-yes install devscripts dpkg-dev wget +# Keep track of native arch (BUILD_ARCH) and target arch(s) (UBUNTU_ARCH) +# All archs should be represented in `dpkg --print-architecture` format @@ -119,7 +119,7 @@ index dd9c6ff..a14f5fd 100755 +# FIXME(armband): For now, only native building is supported! +BUILD_ARCH=$(dpkg --print-architecture) +UBUNTU_ARCH=${UBUNTU_ARCH:-${BUILD_ARCH}} - + -rm -rf ${BUILD_DEST}; mkdir -p ${BUILD_DEST} +# Build and/or fetch precompiled packages for all arch(s) in UBUNTU_ARCH +for ARCH in ${UBUNTU_ARCH}; do @@ -127,7 +127,7 @@ index dd9c6ff..a14f5fd 100755 + if [ ${ARCH} = ${BUILD_ARCH} ]; then + # Native building for: DPDK, OVS-DPDK, OVS + sudo apt-get -y --force-yes install devscripts dpkg-dev wget - + -cd ${BUILD_DEST} -wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz -xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar @@ -137,7 +137,7 @@ index dd9c6ff..a14f5fd 100755 + xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar + cd dpdk-16.07 + cp -r ${BUILD_SRC}/dpdk_16.07/debian . - + -# copy from debian/control -sudo apt-get install -y --force-yes debhelper \ + # DPDK build-dep install: copy from debian/control @@ -151,14 +151,14 @@ index dd9c6ff..a14f5fd 100755 texlive-latex-extra -debian/rules build; fakeroot debian/rules binary + debian/rules build; fakeroot debian/rules binary - + -cd ${BUILD_DEST} -sudo dpkg -i *.deb -apt-get download libxenstore3.0 + cd ${BUILD_DEST} + sudo dpkg -i *.deb + apt-get download libxenstore3.0 - + -sudo apt-get build-dep openvswitch -y --force-yes -# copy from debian/control -sudo apt-get install -y --force-yes autoconf \ @@ -171,27 +171,27 @@ index dd9c6ff..a14f5fd 100755 @@ -62,16 +71,19 @@ sudo apt-get install -y --force-yes autoconf \ python-zopeinterface \ python-six - + -wget -c ${URL_OVS_ARCHIVE}/${OVS_COMMIT}.tar.gz -tar xzf ${OVS_COMMIT}.tar.gz; mv ovs-${OVS_COMMIT} ovs -cp -r ovs ovs-dpdk + wget -c ${URL_OVS_ARCHIVE}/${OVS_COMMIT}.tar.gz + tar xzf ${OVS_COMMIT}.tar.gz; mv ovs-${OVS_COMMIT} ovs + cp -r ovs ovs-dpdk - + -cd ovs-dpdk -cp -r ${BUILD_SRC}/openvswitch-dpdk_2.5.90/debian . -debian/rules build; fakeroot debian/rules binary + cd ovs-dpdk + cp -r ${BUILD_SRC}/openvswitch-dpdk_2.5.90/debian . + debian/rules build; fakeroot debian/rules binary - + -cd ${BUILD_DEST}/ovs -debian/rules build; fakeroot debian/rules binary + cd ${BUILD_DEST}/ovs + debian/rules build; fakeroot debian/rules binary + fi - + -cp -r ${BUILD_DEST}/*.deb ${BUILD_DEB} -rm -rf ${BUILD_DEST} + # Store DEBs in <${BUILD_DEB}/${ARCH}/> dir and cleanup @@ -203,9 +203,9 @@ index 3751c02..a65a2bb 100755 --- a/ovs_build/build-ovs-nsh-dpdk.sh +++ b/ovs_build/build-ovs-nsh-dpdk.sh @@ -11,16 +11,24 @@ DIR="$(dirname `readlink -f $0`)" - + export DEB_BUILD_OPTIONS='parallel=8 nocheck' - + -sudo apt-get build-dep openvswitch -y --force-yes -sudo apt-get -y --force-yes install devscripts dpkg-dev wget +# Keep track of native arch (BUILD_ARCH) and target arch(s) (UBUNTU_ARCH) @@ -214,7 +214,7 @@ index 3751c02..a65a2bb 100755 +# FIXME(armband): For now, only native building is supported! +BUILD_ARCH=$(dpkg --print-architecture) +UBUNTU_ARCH=${UBUNTU_ARCH:-${BUILD_ARCH}} - + -rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME} +# Build and/or fetch precompiled packages for all arch(s) in UBUNTU_ARCH +for ARCH in ${UBUNTU_ARCH}; do @@ -224,7 +224,7 @@ index 3751c02..a65a2bb 100755 + sudo apt-get build-dep openvswitch -y --force-yes + sudo apt-get -y --force-yes install devscripts dpkg-dev wget + dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc - + -cd ${BUILD_HOME} -dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc - @@ -238,7 +238,7 @@ index 3751c02..a65a2bb 100755 @@ -35,21 +43,22 @@ sudo apt-get install -y --force-yes debhelper \ texlive-fonts-recommended \ texlive-latex-extra - + -cd dpdk-2.2.0; rm -rf debian/patches/ -cat << EOF > debian/changelog + cd dpdk-2.2.0; rm -rf debian/patches/ @@ -254,12 +254,12 @@ index 3751c02..a65a2bb 100755 + debian/rules build; fakeroot debian/rules binary + cd ${BUILD_HOME}; sudo dpkg -i *.deb + apt-get download libxenstore3.0 - + -cd ${BUILD_HOME} -dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc + cd ${BUILD_HOME} + dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc - + -# copy from debian/control -sudo apt-get install -y --force-yes autoconf \ + # OVS-NSH build-dep install: copy from debian/control @@ -270,7 +270,7 @@ index 3751c02..a65a2bb 100755 @@ -68,33 +77,41 @@ sudo apt-get install -y --force-yes autoconf \ python-zopeinterface \ python-six - + -wget -c ${URL_OVS_ARCHIVE}/${OVS_COMMIT}.tar.gz -tar xzf ${OVS_COMMIT}.tar.gz; mv ovs-${OVS_COMMIT} ovs -PATCHES=$(cd ${DIR}/patches; echo *patch) @@ -312,7 +312,7 @@ index 3751c02..a65a2bb 100755 EOF -debian/rules build; fakeroot debian/rules binary + debian/rules build; fakeroot debian/rules binary - + -cd ${BUILD_HOME}/ovs -cat << EOF > debian/changelog + cd ${BUILD_HOME}/ovs @@ -337,7 +337,7 @@ index b9ae6bb..3e46a37 100755 @@ -10,6 +10,11 @@ if [ `uname -m` = 'aarch64' ]; then USE_DOCKER=false fi - + +# Pass target arch(s) (UBUNTU_ARCH) to build scripts. +# All archs should be represented in `dpkg --print-architecture` format +# UBUNTU_ARCH holds a space-separated list of target arch(s) @@ -362,7 +362,7 @@ index b9ae6bb..3e46a37 100755 @@ -32,11 +39,14 @@ function build_pkg { rm -rf /tmp/ovs-build-{,nsh-}dpdk fi - + - cd ${DEB_DIR}; tar czvf ../repositories/ubuntu/ovs-dpdk.tar.gz .; - cd ..; rm -rf ${DEB_DIR} - @@ -376,6 +376,6 @@ index b9ae6bb..3e46a37 100755 + tar czvf ../../repositories/ubuntu/ovs-nsh-dpdk_${ARCH}.tar.gz . + done + cd ${DIR}; sudo rm -rf ${DEB_DIR} ${DEB_DIR_NSH} - + ;; *) echo "Not supported system"; exit 1;; diff --git a/patches/fuel-plugin-ovs/0007-AArch64-Add-native-build-support.patch b/patches/fuel-plugin-ovs/0006-AArch64-Add-native-build-support.patch index 1ea672b6..b4ca8841 100644 --- a/patches/fuel-plugin-ovs/0007-AArch64-Add-native-build-support.patch +++ b/patches/fuel-plugin-ovs/0006-AArch64-Add-native-build-support.patch @@ -18,9 +18,9 @@ index a14f5fd..a0c50e3 100755 --- a/ovs_build/build-ovs-dpdk.sh +++ b/ovs_build/build-ovs-dpdk.sh @@ -10,6 +10,10 @@ BUILD_DEST=${BUILD_DEST:-/tmp/ovs-dpdk} - + export DEB_BUILD_OPTIONS='parallel=8 nocheck' - + +# AArch64 specifics, repository base URL, debian build versions +AARCH64_REPO=${AARCH64_REPO:-'https://linux.enea.com/mos-repos/ubuntu/9.0'} +AARCH64_DPDK_DEBV=${AARCH64_DPDK_DEBV:-'0~u14.04+mos1+mos9.0+amos1'} @@ -31,7 +31,7 @@ index a14f5fd..a0c50e3 100755 @@ -24,10 +28,17 @@ for ARCH in ${UBUNTU_ARCH}; do # Native building for: DPDK, OVS-DPDK, OVS sudo apt-get -y --force-yes install devscripts dpkg-dev wget - + - wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz - xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar - cd dpdk-16.07 @@ -47,7 +47,7 @@ index a14f5fd..a0c50e3 100755 + cd dpdk-16.07 + cp -r ${BUILD_SRC}/dpdk_16.07/debian . + fi - + # DPDK build-dep install: copy from debian/control sudo apt-get install -y --force-yes debhelper \ diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh @@ -59,7 +59,7 @@ index a65a2bb..59d8a79 100755 sudo apt-get build-dep openvswitch -y --force-yes sudo apt-get -y --force-yes install devscripts dpkg-dev wget - dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc - + + # FIXME(armband): OVS-NSH-DPDK is not yet supported on arm64 # DPDK build-dep install: copy from debian/control - sudo apt-get install -y --force-yes debhelper \ @@ -72,7 +72,7 @@ index a65a2bb..59d8a79 100755 @@ -43,19 +45,20 @@ for ARCH in ${UBUNTU_ARCH}; do texlive-fonts-recommended \ texlive-latex-extra - + - cd dpdk-2.2.0; rm -rf debian/patches/ - cat << EOF > debian/changelog + cd dpdk-2.2.0; rm -rf debian/patches/ @@ -89,13 +89,13 @@ index a65a2bb..59d8a79 100755 + debian/rules build; fakeroot debian/rules binary + cd ${BUILD_HOME}; sudo dpkg -i *.deb + apt-get download libxenstore3.0 - + - cd ${BUILD_HOME} - dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc + # OVS-NSH-DPDK build preparations: download sources, patch if needed + dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc + fi - + # OVS-NSH build-dep install: copy from debian/control sudo apt-get install -y --force-yes autoconf \ @@ -88,20 +91,27 @@ EOF @@ -130,7 +130,7 @@ index a65a2bb..59d8a79 100755 - debian/rules build; fakeroot debian/rules binary + debian/rules build; fakeroot debian/rules binary + fi - + + # OVS-NSH build cd ${BUILD_HOME}/ovs cat << EOF > debian/changelog @@ -141,7 +141,7 @@ index e7171b9..e0c27c5 100644 +++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/control @@ -27,7 +27,7 @@ Homepage: http://openvswitch.org/ XS-Testsuite: autopkgtest - + Package: openvswitch-switch-dpdk -Architecture: i386 amd64 +Architecture: i386 amd64 arm64 diff --git a/patches/fuel-plugin-ovs/0008-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch b/patches/fuel-plugin-ovs/0007-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch index 0f7e072c..deb1d59a 100644 --- a/patches/fuel-plugin-ovs/0008-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch +++ b/patches/fuel-plugin-ovs/0007-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch @@ -70,7 +70,7 @@ index a0c50e3..8d70265 100755 AARCH64_REPO=${AARCH64_REPO:-'https://linux.enea.com/mos-repos/ubuntu/9.0'} AARCH64_DPDK_DEBV=${AARCH64_DPDK_DEBV:-'0~u14.04+mos1+mos9.0+amos1'} +AARCH64_OVS_DEBV=${AARCH64_OVS_DEBV:-'2.5.90-1'} - + # Keep track of native arch (BUILD_ARCH) and target arch(s) (UBUNTU_ARCH) # All archs should be represented in `dpkg --print-architecture` format # UBUNTU_ARCH holds a space-separated list of target arch(s) @@ -79,9 +79,9 @@ index a0c50e3..8d70265 100755 +# debian binaries is supported! BUILD_ARCH=$(dpkg --print-architecture) UBUNTU_ARCH=${UBUNTU_ARCH:-${BUILD_ARCH}} - + @@ -92,6 +94,20 @@ for ARCH in ${UBUNTU_ARCH}; do - + cd ${BUILD_DEST}/ovs debian/rules build; fakeroot debian/rules binary + else @@ -99,16 +99,16 @@ index a0c50e3..8d70265 100755 + echo "WARNING: Architecture [${ARCH}] does not provide precompiled DEBs, skipping!" + fi fi - + # Store DEBs in <${BUILD_DEB}/${ARCH}/> dir and cleanup diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh index 59d8a79..9d8a837 100755 --- a/ovs_build/build-ovs-nsh-dpdk.sh +++ b/ovs_build/build-ovs-nsh-dpdk.sh @@ -11,10 +11,14 @@ DIR="$(dirname `readlink -f $0`)" - + export DEB_BUILD_OPTIONS='parallel=8 nocheck' - + +# AArch64 specifics, repository base URL, debian build versions +AARCH64_OVS_NSH_DEBV=${AARCH64_OVS_NSH_DEBV:-'2.5.90-1.nsh'} + @@ -120,7 +120,7 @@ index 59d8a79..9d8a837 100755 +# debian binaries is supported! BUILD_ARCH=$(dpkg --print-architecture) UBUNTU_ARCH=${UBUNTU_ARCH:-${BUILD_ARCH}} - + @@ -119,6 +123,15 @@ openvswitch (${OVS_VER}-1.nsh) unstable; urgency=low -- Open vSwitch team <dev@openvswitch.org> $(date --rfc-2822) EOF @@ -135,5 +135,5 @@ index 59d8a79..9d8a837 100755 + echo "WARNING: Architecture [${ARCH}] does not provide precompiled DEBs, skipping!" + fi fi - + # Store DEBs in <${BUILD_DEST}/${ARCH}/> dir and cleanup diff --git a/patches/fuel-plugin-ovs/0009-build-docker-Use-host-s-network-stack.patch b/patches/fuel-plugin-ovs/0008-build-docker-Use-host-s-network-stack.patch index e0606819..e0606819 100644 --- a/patches/fuel-plugin-ovs/0009-build-docker-Use-host-s-network-stack.patch +++ b/patches/fuel-plugin-ovs/0008-build-docker-Use-host-s-network-stack.patch diff --git a/patches/fuel-plugin-ovs/0010-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch b/patches/fuel-plugin-ovs/0009-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch index 818203f3..bea8a059 100644 --- a/patches/fuel-plugin-ovs/0010-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch +++ b/patches/fuel-plugin-ovs/0009-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch @@ -32,7 +32,7 @@ index a810b93..8ab22cc 100755 @@ -30,16 +30,24 @@ function armband_fetch() { wget -c "${repo_base_url}/${repo_Packages_url}" fi - + - L=$(grep -Pzo "(?s)(?<=^Package: ${name}\n^Binary: )(\N*?)(?=\n^Version: ${ver})" \ + L=$(grep -Pzo "(?s)(?<=^Package: ${name}\n^Binary: )(\N*?)(?=\n^Version: ${src_ver})" \ Sources | tr -d ',') @@ -63,10 +63,10 @@ index 9d8a837..aebcb94 100755 +++ b/ovs_build/build-ovs-nsh-dpdk.sh @@ -12,7 +12,7 @@ DIR="$(dirname `readlink -f $0`)" export DEB_BUILD_OPTIONS='parallel=8 nocheck' - + # AArch64 specifics, repository base URL, debian build versions -AARCH64_OVS_NSH_DEBV=${AARCH64_OVS_NSH_DEBV:-'2.5.90-1.nsh'} +AARCH64_OVS_NSH_DEBV=${AARCH64_OVS_NSH_DEBV:-'2.5.90~04.05-1.nsh+amos2'} - + # Keep track of native arch (BUILD_ARCH) and target arch(s) (UBUNTU_ARCH) # All archs should be represented in `dpkg --print-architecture` format |