diff --git a/.travis.yml b/.travis.yml index f6177c7d5d2..b91327d34a2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,10 +7,16 @@ before_install: ./.travis/prepare.sh env: - OPTS="--disable-ssl" - - TESTSUITE=1 KERNEL=1 OPTS="--with-linux=./linux-3.16.2" - - KERNEL=1 DPDK=1 OPTS="--with-dpdk=./dpdk-1.7.1/build" + - TESTSUITE=1 KERNEL=3.17.4 + - KERNEL=3.17.4 DPDK=1 OPTS="--with-dpdk=./dpdk-1.7.1/build" - TESTSUITE=1 OPTS="--enable-shared" - - DPDK=1 OPTS="--enable-shared" + - KERNEL=3.17.4 DPDK=1 OPTS="--enable-shared" + - KERNEL=3.16.7 + - KERNEL=3.14.25 + - KERNEL=3.12.33 + - KERNEL=3.10.61 + - KERNEL=3.4.104 + - KERNEL=2.6.32.64 script: ./.travis/build.sh $OPTS diff --git a/.travis/build.sh b/.travis/build.sh index 7043c40a0d3..6e99c630c8f 100755 --- a/.travis/build.sh +++ b/.travis/build.sh @@ -4,15 +4,32 @@ set -o errexit KERNELSRC="" CFLAGS="-Werror" +EXTRA_OPTS="" function install_kernel() { - wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.2.tar.gz - tar xzvf linux-3.16.2.tar.gz > /dev/null - cd linux-3.16.2 + if [[ "$1" =~ ^3.* ]]; then + PREFIX="v3.x" + else + PREFIX="v2.6/longterm/v2.6.32" + fi + + wget https://www.kernel.org/pub/linux/kernel/${PREFIX}/linux-${1}.tar.gz + tar xzvf linux-${1}.tar.gz > /dev/null + cd linux-${1} make allmodconfig - make net/openvswitch/ + + # Older kernels do not include openvswitch + if [ -d "net/openvswitch" ]; then + make net/openvswitch/ + else + make net/bridge/ + fi + KERNELSRC=$(pwd) + if [ ! "$DPDK" ]; then + EXTRA_OPTS="--with-linux=$(pwd)" + fi echo "Installed kernel source in $(pwd)" cd .. } @@ -38,7 +55,7 @@ function configure_ovs() } if [ "$KERNEL" ] || [ "$DPDK" ]; then - install_kernel + install_kernel $KERNEL fi if [ "$DPDK" ]; then @@ -50,8 +67,12 @@ elif [ $CC != "clang" ]; then CFLAGS="$CFLAGS -Wsparse-error" fi -configure_ovs $* +configure_ovs $EXTRA_OPTS $* +# Only build datapath if we are testing kernel w/o running testsuite +if [ $KERNEL ] && [ ! "$TESTSUITE" ] && [ ! "$DPDK" ]; then + cd datapath +fi if [ $CC = "clang" ]; then make CFLAGS="$CFLAGS -Wno-error=unused-command-line-argument"