2 ##############################################################################
3 # Copyright (c) 2016 Red Hat Inc. and others.
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
13 echo "==============================="
15 echo executing on machine `uname -a`
18 echo run BuildAndTestOVS -h for help
21 while getopts "cdg:hkp:u:v" opt; do
24 setnocheck="--without check"
43 OVS_REPO_URL=${OPTARG}
60 sudo yum -y install gcc make python-devel openssl-devel kernel-devel graphviz \
61 kernel-debug-devel autoconf automake rpm-build redhat-rpm-config \
66 kernel_version=$(uname -a | awk '{print $3}')
72 mkdir -p $HOME/rpmbuild/RPMS
73 mkdir -p $HOME/rpmbuild/SOURCES
74 mkdir -p $HOME/rpmbuild/SPECS
75 mkdir -p $HOME/rpmbuild/SRPMS
80 echo "---------------------"
81 echo "Clone git repo $OVS_REPO_URL and checkout branch or tag $TAG"
83 git clone $OVS_REPO_URL
86 echo "--------------------"
87 echo "Checkout OVS $TAG"
89 if [[ ! "$TAG" =~ "master" ]]; then
92 if [[ ! "$OVS_PATCH" =~ "no" ]]; then
93 echo "Apply patches from $OVS_PATCH"
96 if [ ! -z $DPDK ]; then
97 ./configure --with-dpdk
99 ./configure --with-linux=/lib/modules/`uname -r`/build
101 echo "--------------------"
106 if [[ "$TAG" =~ "master" ]]; then
107 v=$($TMPDIR/ovs/utilities/ovs-vsctl --version | head -1 | cut -d' ' -f4)
110 export VERSION=${TAG:1}
113 echo making RPM for Open vswitch version $VERSION
116 echo cp openvswitch-*.tar.gz $HOME/rpmbuild/SOURCES
117 cp openvswitch-*.tar.gz $HOME/rpmbuild/SOURCES
119 if [ ! -z $kmod ]; then
120 echo "Building kernel module..."
121 rpmbuild -bb -D "kversion $kernel_version" -D "kflavors default" --define "_topdir `echo $RPMDIR`" $setnocheck rhel/openvswitch-kmod-${os_type}.spec
122 echo " Kernel RPM built!"
125 echo "Building User Space..."
126 rpmbuild -bb --define "_topdir `echo $RPMDIR`" $setnocheck rhel/openvswitch.spec
128 cp $RPMDIR/RPMS/x86_64/*.rpm $HOME