fuel-plugin-ovs/ovs_build/build-ovs-dpdk.sh

101 lines
3.2 KiB
Bash
Executable File

#!/bin/bash
set -eux
OVS_COMMIT=7d8eadce4df70f563a0c0123c612f6117c8ff864
URL_OVS=https://github.com/openvswitch/ovs.git
OVS_VER=${OVS_VER:-2.5.90}
BUILD_HOME=$HOME/dpdk
BUILD_DEST=${BUILD_DEST:-/deb}
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
sudo apt-get build-dep openvswitch -y
sudo apt-get -y install devscripts dpkg-dev git wget
rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}
cp `dirname $0`/rules ${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
wget -c http://fast.dpdk.org/rel/dpdk-16.04.tar.xz
# copy from debian/control
sudo apt-get install -y debhelper \
dh-python \
dh-systemd \
doxygen \
graphviz \
inkscape \
libcap-dev \
libpcap-dev \
libxen-dev \
libxenstore3.0 \
python \
python-sphinx \
texlive-fonts-recommended \
texlive-latex-extra
cd dpdk-2.2.0; rm -rf debian/patches/; uupdate -v 16.04 ../dpdk-16.04.tar.xz
cd ${BUILD_HOME}/dpdk-16.04
cat << EOF > debian/changelog
dpdk (16.04-1) unstable; urgency=low
* DPDK 16.04
-- DPDK team <dev@dpdk.org>
EOF
mv debian/rules debian/rules.orig
cp ${BUILD_HOME}/rules debian/rules
debian/rules build; fakeroot debian/rules binary
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
# copy from debian/control
sudo apt-get install -y autoconf \
automake \
bzip2 \
debhelper \
dh-autoreconf \
dh-systemd \
graphviz \
libdpdk-dev \
libfuse-dev \
libssl-dev \
libtool \
openssl \
procps \
python-all \
python-qt4 \
python-twisted-conch \
python-zopeinterface \
python-six
git clone https://github.com/openvswitch/ovs.git
cd ovs; git checkout ${OVS_COMMIT}
cd ${BUILD_HOME}; tar czvf ovs.tar.gz ovs
rm -rf openvswitch-dpdk-${OVS_VER}*
cd openvswitch-dpdk-2.4.0; uupdate -v ${OVS_VER} ../ovs.tar.gz
cd ../openvswitch-dpdk-${OVS_VER}
#sed -i 's~DPDK_LIB_DIR=.*~DPDK_LIB_DIR="$with_dpdk/x86_64-linux-gnu/lib"~' acinclude.m4
autoreconf --install
rm -rf debian/patches/ .git;
cat << EOF > debian/changelog
openvswitch-dpdk (${OVS_VER}-1) unstable; urgency=low
* New upstream version
-- Open vSwitch team <dev@openvswitch.org>
EOF
debian/rules build; fakeroot debian/rules binary
cd ${BUILD_HOME}/ovs
debian/rules build; fakeroot debian/rules binary
cp ${BUILD_HOME}/*.deb ${BUILD_DEST}