[ovs-dev] [PATCH 2/2] travis: Make it possible to build against a dpdk branch.
Ilya Maximets
i.maximets at samsung.com
Tue Jun 18 15:23:47 UTC 2019
On 12.06.2019 12:21, David Marchand wrote:
> Rework the build script so that we can pass branches and tags.
>
> With this, DPDK_VER can be passed as:
> - a string starting with refs/ which is understood as a git reference.
> This triggers a git clone on DPDK_GIT (default value points to
> https://dpdk.org/git/dpdk) for a single branch pointing to this
> reference (to save some disk),
> - else, any other string which is understood as an official release.
> This triggers a tarball download on dpdk.org.
>
> Signed-off-by: David Marchand <david.marchand at redhat.com>
> ---
> .travis/linux-build.sh | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
> index cd8cfcf..ddba2db 100755
> --- a/.travis/linux-build.sh
> +++ b/.travis/linux-build.sh
> @@ -63,10 +63,13 @@ function install_kernel()
>
> function install_dpdk()
> {
> - if [ -n "$DPDK_GIT" ]; then
> - git clone $DPDK_GIT dpdk-$1
> - cd dpdk-$1
> - git checkout tags/v$1
> + if [ "${1##refs/*/}" != "${1}" ]; then
> + DPDK_GIT=${DPDK_GIT:-https://dpdk.org/git/dpdk}
> + ref="${1##refs/*/}"
> + git clone --single-branch $DPDK_GIT dpdk-git -b $ref
> + name=$(git --git-dir=dpdk-git/.git describe)
> + mv dpdk-git dpdk-$name
Renaming the directory seems redundant.
Also, as you're moving EXTRA_OPTS update to this function we don't need
standardised folder names anymore. So, you could remove the renaming from
the 'else' branch too. Just 'cd dpdk-git' here and 'cd $DIR_NAME' there.
If you want the exact revision of the branch you're right now for debugging
reasons, you may print it to stdout like 'git log -1 --oneline' and it will
be kept in travis logs.
> + cd dpdk-$name
> else
> wget https://fast.dpdk.org/rel/dpdk-$1.tar.xz
> tar xvf dpdk-$1.tar.xz > /dev/null
> @@ -87,6 +90,7 @@ function install_dpdk()
> sed -i '/CONFIG_RTE_KNI_KMOD=y/s/=y/=n/' build/.config
>
> make -j4 CC=gcc EXTRA_CFLAGS='-fPIC'
> + EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=$(pwd)/build"
> echo "Installed DPDK source in $(pwd)"
> cd ..
> }
> @@ -109,7 +113,6 @@ if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
> # Disregard cast alignment errors until DPDK is fixed
> CFLAGS="$CFLAGS -Wno-cast-align"
> fi
> - EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=$(pwd)/dpdk-$DPDK_VER/build"
> fi
>
> OPTS="$EXTRA_OPTS $*"
>
More information about the dev
mailing list