AArch64: Add native build support

- ovs-dpdk/debian/control: Add arm64 to supported arch list
- Dockerfile: For AArch64 native builds, pull Docker image from
  "aarch64/ubuntu:16.04".
- install.sh: Simplify and remove version harcodes
  Since only one set of packages (DPDK/OVS/OVS-DPDK) is shipped per
  archive, we can safely wildcard the installed versions in
  install.sh, which previously hardcoded DPDK and OVS versions.
  This is helpful for arm64, which has a custom deb subversion
  for DPDK and also has different package names ("*_arm64.deb").
- build-ovs-*.sh: Fix debian changelog date formatting (two spaces)

Change-Id: I0f2ade6516040ae6295ca61c37beba1fd87d28c1
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
This commit is contained in:
Alexandru Avadanii 2017-01-25 18:06:38 +01:00
parent 710f1b6ad2
commit cf24224808
5 changed files with 25 additions and 26 deletions

View File

@ -11,32 +11,23 @@ dpdk=$3
dpdk_socket_mem=${4:-''}
pmd_cpu_mask=${5:-'2'}
ovs="ovs-dpdk.tar.gz"
if [ $nsh = 'true' ]; then
ovs="ovs-nsh-dpdk.tar.gz"
fi
apt-get install -y --allow-unauthenticated dkms
if [ $nsh = 'true' ]
then
curl http://$host:8080/plugins/fuel-plugin-ovs-1.0/repositories/ubuntu/ovs-nsh-dpdk.tar.gz | tar -xzv
dpkg -i openvswitch-datapath-dkms_2.6.1-1.nsh_all.deb
dpkg -i openvswitch-common_2.6.1-1.nsh_amd64.deb
dpkg -i openvswitch-switch_2.6.1-1.nsh_amd64.deb
dpkg -i python-openvswitch_2.6.1-1.nsh_all.deb
if [ $dpdk = 'true' ]
then
apt-get install -y --allow-unauthenticated dpdk dpdk-dev dpdk-dkms
dpkg -i openvswitch-switch-dpdk_2.6.1-1.nsh_amd64.deb
fi
else
curl http://$host:8080/plugins/fuel-plugin-ovs-1.0/repositories/ubuntu/ovs-dpdk.tar.gz | tar -xzv
dpkg -i openvswitch-datapath-dkms_2.6.90-1_all.deb
dpkg -i openvswitch-common_2.6.90-1_amd64.deb
dpkg -i openvswitch-switch_2.6.90-1_amd64.deb
dpkg -i python-openvswitch_2.6.90-1_all.deb
if [ $dpdk = 'true' ]
then
apt-get install -y --allow-unauthenticated dpdk dpdk-dev dpdk-dkms
dpkg -i openvswitch-switch-dpdk_2.6.90-1_amd64.deb
curl http://$host:8080/plugins/fuel-plugin-ovs-1.0/repositories/ubuntu/${ovs} | tar -xzv
dpkg -i openvswitch-datapath-dkms_*.deb
dpkg -i openvswitch-common_*.deb
dpkg -i openvswitch-switch_*.deb
dpkg -i python-openvswitch_*.deb
fi
if [ $dpdk = 'true' ]
then
apt-get install -y --allow-unauthenticated dpdk dpdk-dev dpdk-dkms
dpkg -i openvswitch-switch-dpdk_*.deb
fi
if [[ $dpdk = 'true' && -n $dpdk_socket_mem ]]
@ -51,3 +42,5 @@ then
service openvswitch-switch restart
fi
rm -rf $INSTALL_HOME

View File

@ -25,7 +25,7 @@ dpdk (16.07-0ubuntu5~u1604+fuel10) xenial; urgency=low
* Rebuild debian package
* update librte-eal2.symbols
-- Ruijing Guo <ruijing.guo@intel.com> $(date --rfc-2822)
-- Ruijing Guo <ruijing.guo@intel.com> $(date --rfc-2822)
EOF
# copy from debian/control

View File

@ -25,7 +25,7 @@ dpdk (16.07-0ubuntu5~u1604+fuel10) xenial; urgency=low
* Rebuild debian package
* update librte-eal2.symbols
-- Ruijing Guo <ruijing.guo@intel.com> $(date --rfc-2822)
-- Ruijing Guo <ruijing.guo@intel.com> $(date --rfc-2822)
EOF
# copy from debian/control

View File

@ -27,7 +27,7 @@ Homepage: http://openvswitch.org/
XS-Testsuite: autopkgtest
Package: openvswitch-switch-dpdk
Architecture: i386 amd64
Architecture: i386 amd64 arm64
Depends: dpdk,
openvswitch-switch (>= 2.4.0),
${misc:Depends},

View File

@ -3,9 +3,15 @@
set -eux
BUILD_FOR=${BUILD_FOR:-ubuntu}
BUILD_ARCH="$(dpkg --print-architecture)"
DIR="$(dirname `readlink -f $0`)"
function build_pkg {
case ${BUILD_ARCH} in
arm64)
sed -i -e "s|FROM ubuntu|FROM aarch64/ubuntu|g" ovs_build/Dockerfile
;;
esac
case $1 in
ubuntu)
rm -rf ${DIR}/repositories/ubuntu; mkdir -p ${DIR}/repositories/ubuntu