2019-08-17 00:21:45 -07:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at:
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
KERNEL_VERSION=$1
|
|
|
|
OVS_BRANCH=$2
|
|
|
|
GITHUB_SRC=$3
|
|
|
|
|
|
|
|
# Install deps
|
|
|
|
linux="linux-image-$KERNEL_VERSION linux-headers-$KERNEL_VERSION"
|
2019-10-11 14:56:46 -07:00
|
|
|
build_deps="apt-utils libelf-dev build-essential libssl-dev python3 \
|
2019-12-20 18:35:08 +01:00
|
|
|
wget gdb autoconf libtool git automake bzip2 debhelper dh-autoreconf openssl"
|
2019-08-17 00:21:45 -07:00
|
|
|
|
|
|
|
apt-get update
|
|
|
|
apt-get install -y ${linux} ${build_deps}
|
|
|
|
|
|
|
|
# get the source
|
|
|
|
mkdir /build; cd /build
|
|
|
|
git clone --depth 1 -b $OVS_BRANCH $GITHUB_SRC
|
|
|
|
cd ovs
|
|
|
|
|
|
|
|
# build and install
|
|
|
|
./boot.sh
|
|
|
|
./configure --localstatedir="/var" --sysconfdir="/etc" --prefix="/usr" \
|
|
|
|
--with-linux=/lib/modules/$KERNEL_VERSION/build --enable-ssl
|
|
|
|
make -j8; make install; make modules_install
|
|
|
|
|
|
|
|
# remove deps to make the container light weight.
|
|
|
|
apt-get remove --purge -y ${build_deps}
|
|
|
|
apt-get autoremove -y --purge
|
|
|
|
cd ..; rm -rf ovs
|
|
|
|
basic_utils="vim kmod net-tools uuid-runtime iproute2"
|
|
|
|
apt-get install -y ${basic_utils}
|