[LTP] [PATCH 3/3] travis: Use docker based builds
Cyril Hrubis
chrubis@suse.cz
Wed Jan 2 16:11:36 CET 2019
Hi!
> Previously we used 10 Trusty environment (VM) based travis jobs with
> different gcc and clang versions installed via ubuntu-toolchain-r apt
> repository.
>
> We agreed that testing just different gcc/clang versions isn't enough,
> it'd be good to test also different glibc and kernel headers, which are
> on different distros. Therefore now we test 15 jobs based on various
> distros (Debian, Ubuntu, Fedora, openSUSE, centOS).
> We still test both gcc/clang, out-of-tree and cross-compilation builds.
>
> Disadvantage of this approach is that it's not obvious compiler and libc
> version. Travis C testing environment implementation prints compiler
> version ($CC) before installing actually used compiler via docker.
> Therefore run ver_linux printing version info and print $CC version in
> build.sh.
Generally this approach greatly improves our coverage and I do like it
very much, a few comments below.
> ---
> Hi,
>
> we can keep number of builds to 10 instead of current 15, but not sure
> which jobs to remove.
Nah, let's keep it as it is, it's fast enough.
> Kind regards,
> Petr
> ---
> .travis.packages_i386 | 9 --
> .travis.packages_native | 18 ---
> .travis.yml | 143 ++++++------------
> build.sh | 12 +-
> travis/Dockerfile.centos.latest | 5 +
> travis/Dockerfile.centos6 | 5 +
> .../Dockerfile.debian.cross-compile.aarch64 | 1 +
> .../Dockerfile.debian.cross-compile.ppc64le | 1 +
> travis/Dockerfile.debian.i386 | 1 +
> travis/Dockerfile.debian.minimal | 1 +
> travis/Dockerfile.debian.oldstable | 5 +
> travis/Dockerfile.debian.ppc64le | 5 +
> travis/Dockerfile.debian.stable | 5 +
> travis/Dockerfile.debian.testing | 5 +
> travis/Dockerfile.fedora.latest | 5 +
> travis/Dockerfile.leap | 5 +
> travis/Dockerfile.tumbleweed | 5 +
> travis/Dockerfile.ubuntu.latest | 5 +
> travis/Dockerfile.ubuntu.xenial | 5 +
> travis/travis.centos.latest.sh | 1 +
> travis/travis.centos6.sh | 1 +
> travis/travis.debian.cross-compile.aarch64.sh | 9 ++
> travis/travis.debian.cross-compile.ppc64le.sh | 9 ++
> travis/travis.debian.i386.sh | 19 +++
> travis/travis.debian.minimal.sh | 21 +++
> travis/travis.debian.oldstable.sh | 1 +
> travis/travis.debian.stable.sh | 35 +++++
> travis/travis.debian.testing.sh | 1 +
> travis/travis.fedora.latest.sh | 12 ++
> travis/travis.leap.sh | 1 +
> travis/travis.sh | 6 +
This script appears to be unused, we do call the travis.$DISTRO.sh and
build.sh from the yml file directly.
> travis/travis.tumbleweed.sh | 21 +++
> travis/travis.ubuntu.latest.sh | 1 +
> travis/travis.ubuntu.xenial.sh | 1 +
> 34 files changed, 254 insertions(+), 126 deletions(-)
> delete mode 100644 .travis.packages_i386
> delete mode 100644 .travis.packages_native
> create mode 100644 travis/Dockerfile.centos.latest
> create mode 100644 travis/Dockerfile.centos6
> create mode 120000 travis/Dockerfile.debian.cross-compile.aarch64
> create mode 120000 travis/Dockerfile.debian.cross-compile.ppc64le
> create mode 120000 travis/Dockerfile.debian.i386
> create mode 120000 travis/Dockerfile.debian.minimal
> create mode 100644 travis/Dockerfile.debian.oldstable
> create mode 100644 travis/Dockerfile.debian.ppc64le
> create mode 100644 travis/Dockerfile.debian.stable
> create mode 100644 travis/Dockerfile.debian.testing
> create mode 100644 travis/Dockerfile.fedora.latest
> create mode 100644 travis/Dockerfile.leap
> create mode 100644 travis/Dockerfile.tumbleweed
> create mode 100644 travis/Dockerfile.ubuntu.latest
> create mode 100644 travis/Dockerfile.ubuntu.xenial
> create mode 120000 travis/travis.centos.latest.sh
> create mode 120000 travis/travis.centos6.sh
> create mode 100755 travis/travis.debian.cross-compile.aarch64.sh
> create mode 100755 travis/travis.debian.cross-compile.ppc64le.sh
> create mode 100755 travis/travis.debian.i386.sh
> create mode 100755 travis/travis.debian.minimal.sh
> create mode 120000 travis/travis.debian.oldstable.sh
> create mode 100755 travis/travis.debian.stable.sh
> create mode 120000 travis/travis.debian.testing.sh
> create mode 100755 travis/travis.fedora.latest.sh
> create mode 120000 travis/travis.leap.sh
> create mode 100755 travis/travis.sh
> create mode 100755 travis/travis.tumbleweed.sh
> create mode 120000 travis/travis.ubuntu.latest.sh
> create mode 120000 travis/travis.ubuntu.xenial.sh
>
> diff --git a/.travis.packages_i386 b/.travis.packages_i386
> deleted file mode 100644
> index 725329041..000000000
> --- a/.travis.packages_i386
> +++ /dev/null
> @@ -1,9 +0,0 @@
> -libacl1:i386
> -libaio1:i386
> -libcap2:i386
> -libc6-dev-i386
> -libc6:i386
> -libkeyutils1:i386
> -libnuma1:i386
> -libssl-dev:i386
> -libtirpc1:i386
> diff --git a/.travis.packages_native b/.travis.packages_native
> deleted file mode 100644
> index d9e1a2acc..000000000
> --- a/.travis.packages_native
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -libacl1
> -libacl1-dev
> -libaio-dev
> -libaio1
> -libcap-dev
> -libcap2
> -libc6
> -libc6-dev
> -libkeyutils-dev
> -libkeyutils1
> -libmm-dev
> -libnuma-dev
> -libnuma1
> -libselinux1-dev
> -libsepol1-dev
> -libssl-dev
> -libtirpc1
> -linux-libc-dev
> diff --git a/.travis.yml b/.travis.yml
> index 078028f9b..fe8e901fb 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -1,124 +1,73 @@
> +sudo: required
> language: c
> -
> -# BUILD="native": native builds
> -# BUILD="32": 32-bit builds
> -# BUILD="cross": cross compile build
> -# TREE="out": out-of-tree build
> -# NO INSTALL_PACKAGES variable: build with minimal dependencies
> +services:
> + - docker
>
> matrix:
> include:
> - ### native builds ###
> + # 32 bit build
> - os: linux
> - env: BUILD="native" INSTALL_PACKAGES="$BUILD"
> - compiler: gcc-5
> - addons:
> - apt:
> - sources: ['ubuntu-toolchain-r-test']
> - packages: ['gcc-5']
> + env: DISTRO=debian.i386 BUILD="32"
> + compiler: gcc
>
> + # cross compilation builds
> + - os: linux
> + env: DISTRO=debian.cross-compile.ppc64le TREE="out" BUILD="cross"
> + compiler: powerpc64le-linux-gnu-gcc
> - os: linux
> - env: BUILD="native" TREE="out" INSTALL_PACKAGES="$BUILD"
> - compiler: gcc-7
> - addons:
> - apt:
> - sources: ['ubuntu-toolchain-r-test']
> - packages: ['gcc-7']
> + env: DISTRO=debian.cross-compile.aarch64 TREE="out" BUILD="cross"
> + compiler: aarch64-linux-gnu-gcc
>
> + # build with minimal dependencies
> - os: linux
> - env: BUILD="native" TREE="out"
> - compiler: clang-4.0
> - addons:
> - apt:
> - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-4.0']
> - packages: ['clang-4.0']
> + env: DISTRO=debian.minimal TREE="out"
> + compiler: clang
>
> - os: linux
> - env: BUILD="native" INSTALL_PACKAGES="$BUILD"
> - compiler: clang-5.0
> - addons:
> - apt:
> - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0']
> - packages: ['clang-5.0']
> + env: DISTRO=debian.testing
> + compiler: gcc
> + - os: linux
> + env: DISTRO=debian.testing
> + compiler: clang
>
> - os: linux
> - env: BUILD="native"
> - compiler: clang-3.9
> - addons:
> - apt:
> - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-3.9']
> - packages: ['clang-3.9']
> + env: DISTRO=debian.oldstable
> + compiler: gcc
> + - os: linux
> + env: DISTRO=debian.oldstable
> + compiler: clang
>
> - ### 32-bit builds ###
> - os: linux
> - env: BUILD="32" INSTALL_PACKAGES="$BUILD"
> - compiler: gcc-4.9
> - addons:
> - apt:
> - sources: ['ubuntu-toolchain-r-test']
> - packages: ['gcc-4.9', 'gcc-4.9-multilib', 'linux-libc-dev:i386']
> + env: DISTRO=ubuntu.latest TREE="out"
> + compiler: gcc
>
> - os: linux
> - env: BUILD="32" TREE="out" INSTALL_PACKAGES="$BUILD"
> - compiler: gcc-6
> - addons:
> - apt:
> - sources: ['ubuntu-toolchain-r-test']
> - packages: ['gcc-6', 'gcc-6-multilib', 'linux-libc-dev:i386']
> + env: DISTRO=ubuntu.xenial
> + compiler: gcc
>
> - ### cross-compile builds ###
> - os: linux
> - env: BUILD="cross" INSTALL_PACKAGES="$BUILD"
> - compiler: arm-linux-gnueabihf-gcc
> - addons:
> - apt:
> - packages: ['gcc-arm-linux-gnueabihf', 'libc6-dev-armhf-cross']
> + env: DISTRO=tumbleweed
> + compiler: gcc
>
> - os: linux
> - env: BUILD="cross" TREE="out" INSTALL_PACKAGES="$BUILD"
> - compiler: aarch64-linux-gnu-gcc
> - addons:
> - apt:
> - packages: ['gcc-aarch64-linux-gnu', 'libc6-dev-arm64-cross']
> + env: DISTRO=leap
> + compiler: gcc
>
> - os: linux
> - env: BUILD="cross" TREE="out"
> - compiler: powerpc64le-linux-gnu-gcc
> - addons:
> - apt:
> - packages: ['gcc-powerpc64le-linux-gnu', 'libc6-dev-ppc64el-cross']
> + env: DISTRO=fedora.latest
> + compiler: clang
>
> -notifications:
> - email:
> - secure: "b/xcA/K5OyQvPPnd0PRahTH5LJu8lgz8goGHvhXpHo+ZPsPgTDXNFo5cX9fSOkMuFKeoW8iGl0wOgK2+ptc8mbYDw277K4RFIHRHeV/KIoE1EzjQnEFiL8J0oHCAvDj12o0AXeriTyY9gICXKbR31Br6Zh5eKViDJe2OAGeHeDU="
> + - os: linux
> + env: DISTRO=centos.latest
> + compiler: gcc
> + - os: linux
> + env: DISTRO=centos6 TREE="out"
> + compiler: gcc
>
> before_install:
> - # travis-ci/travis-ci#9112: remove all third party repositories except ubuntu-toolchain-r-test
> - - if [ -f /etc/apt/sources.list.d/ubuntu-toolchain-r-test*.list ]; then
> - cp -v /etc/apt/sources.list.d/ubuntu-toolchain-r-test*.list /tmp
> - ; fi
> - - sudo rm -fv /etc/apt/sources.list.d/*
> - - if [ -f /tmp/ubuntu-toolchain-r-test*.list ]; then
> - sudo cp -v /tmp/ubuntu-toolchain-r-test*.list /etc/apt/sources.list.d/
> - ; fi
> -
> - # workaround apt related for error:
> - # Err:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu trusty InRelease
> - # The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1E9377A2BA9EF27F
> - - sudo apt update -o Acquire::Retries=100 -o Acquire::http::Timeout="60" -o Acquire::AllowInsecureRepositories=true -o Acquire::AllowDowngradeToInsecureRepositories=true
> -
> - # installing / removing dependencies
> - - if [ "$INSTALL_PACKAGES" = "" ]; then
> - sudo apt remove $(cat .travis.packages_native | grep -v -e 'libc6' -e 'libc6-dev' -e 'linux-libc-dev' -e 'libacl1')
> - ; else
> - sudo apt install -qq $(cat .travis.packages_native)
> - ; fi
> -
> - - if [ "$INSTALL_PACKAGES" = "32" ]; then
> - sudo apt install -qq $(cat .travis.packages_i386)
> - ; fi
> - - if [ ! "$TREE" ]; then
> - TREE="in"
> - ; fi
> + - docker build -f travis/Dockerfile.$DISTRO -t ltp .
>
> -script: ./build.sh -o $TREE -t $BUILD -c $CC
> +script:
> + - if [ ! "$TREE" ]; then TREE="in"; fi
> + - if [ ! "$BUILD" ]; then BUILD="native"; fi
> + - docker run -it ltp /bin/sh -c "cd travis && ./travis.$DISTRO.sh && ../build.sh -o $TREE -t $BUILD -c $CC"
> diff --git a/build.sh b/build.sh
> index 4e8357982..ae3b86ff2 100755
> --- a/build.sh
> +++ b/build.sh
> @@ -1,5 +1,5 @@
> #!/bin/sh
> -# Copyright (c) 2017 Petr Vorel <pvorel@suse.cz>
> +# Copyright (c) 2017-2018 Petr Vorel <pvorel@suse.cz>
> # Script for travis builds.
> #
> # TODO: Implement comparison of installed files. List of installed files can
> @@ -16,7 +16,7 @@ CONFIGURE_OPTS_IN_TREE="--with-open-posix-testsuite --with-realtime-testsuite"
> # TODO: open posix testsuite is currently broken in out-tree-build. Enable it once it's fixed.
> CONFIGURE_OPTS_OUT_TREE="--with-realtime-testsuite"
> MAKE_OPTS="-j$(getconf _NPROCESSORS_ONLN)"
> -CC=
> +CC=gcc
>
> build_32()
> {
> @@ -152,4 +152,12 @@ while getopts "c:ho:p:t:" opt; do
> done
>
> cd `dirname $0`
> +
> +echo "=== ver_linux ==="
> +./ver_linux
> +echo
> +
> +echo "=== compiler version ==="
> +$CC --version
> +
> eval build_$build $tree
> diff --git a/travis/Dockerfile.centos.latest b/travis/Dockerfile.centos.latest
> new file mode 100644
> index 000000000..35741009a
> --- /dev/null
> +++ b/travis/Dockerfile.centos.latest
> @@ -0,0 +1,5 @@
> +FROM centos:latest
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
I wonder if we can generate these on-the-fly? I doubt that there is a
good reason to keep 15 files in the git tree that differ only in distro
name.
> diff --git a/travis/Dockerfile.centos6 b/travis/Dockerfile.centos6
> new file mode 100644
> index 000000000..cbc7660ed
> --- /dev/null
> +++ b/travis/Dockerfile.centos6
> @@ -0,0 +1,5 @@
> +FROM centos:6
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
> diff --git a/travis/Dockerfile.debian.cross-compile.aarch64 b/travis/Dockerfile.debian.cross-compile.aarch64
> new file mode 120000
> index 000000000..0695d8fef
> --- /dev/null
> +++ b/travis/Dockerfile.debian.cross-compile.aarch64
> @@ -0,0 +1 @@
> +Dockerfile.debian.stable
> \ No newline at end of file
> diff --git a/travis/Dockerfile.debian.cross-compile.ppc64le b/travis/Dockerfile.debian.cross-compile.ppc64le
> new file mode 120000
> index 000000000..0695d8fef
> --- /dev/null
> +++ b/travis/Dockerfile.debian.cross-compile.ppc64le
> @@ -0,0 +1 @@
> +Dockerfile.debian.stable
> \ No newline at end of file
> diff --git a/travis/Dockerfile.debian.i386 b/travis/Dockerfile.debian.i386
> new file mode 120000
> index 000000000..0695d8fef
> --- /dev/null
> +++ b/travis/Dockerfile.debian.i386
> @@ -0,0 +1 @@
> +Dockerfile.debian.stable
> \ No newline at end of file
> diff --git a/travis/Dockerfile.debian.minimal b/travis/Dockerfile.debian.minimal
> new file mode 120000
> index 000000000..0695d8fef
> --- /dev/null
> +++ b/travis/Dockerfile.debian.minimal
> @@ -0,0 +1 @@
> +Dockerfile.debian.stable
> \ No newline at end of file
> diff --git a/travis/Dockerfile.debian.oldstable b/travis/Dockerfile.debian.oldstable
> new file mode 100644
> index 000000000..9b50fe6b8
> --- /dev/null
> +++ b/travis/Dockerfile.debian.oldstable
> @@ -0,0 +1,5 @@
> +FROM debian:oldstable
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
> diff --git a/travis/Dockerfile.debian.ppc64le b/travis/Dockerfile.debian.ppc64le
> new file mode 100644
> index 000000000..6eb2ec7aa
> --- /dev/null
> +++ b/travis/Dockerfile.debian.ppc64le
> @@ -0,0 +1,5 @@
> +FROM ppc64le/debian:stable
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
> diff --git a/travis/Dockerfile.debian.stable b/travis/Dockerfile.debian.stable
> new file mode 100644
> index 000000000..0e496079a
> --- /dev/null
> +++ b/travis/Dockerfile.debian.stable
> @@ -0,0 +1,5 @@
> +FROM debian:stable
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
> diff --git a/travis/Dockerfile.debian.testing b/travis/Dockerfile.debian.testing
> new file mode 100644
> index 000000000..ca086c9ac
> --- /dev/null
> +++ b/travis/Dockerfile.debian.testing
> @@ -0,0 +1,5 @@
> +FROM debian:testing
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
> diff --git a/travis/Dockerfile.fedora.latest b/travis/Dockerfile.fedora.latest
> new file mode 100644
> index 000000000..4f0f8f86e
> --- /dev/null
> +++ b/travis/Dockerfile.fedora.latest
> @@ -0,0 +1,5 @@
> +FROM fedora:latest
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
> diff --git a/travis/Dockerfile.leap b/travis/Dockerfile.leap
> new file mode 100644
> index 000000000..f40ba3d38
> --- /dev/null
> +++ b/travis/Dockerfile.leap
> @@ -0,0 +1,5 @@
> +FROM opensuse:leap
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
> diff --git a/travis/Dockerfile.tumbleweed b/travis/Dockerfile.tumbleweed
> new file mode 100644
> index 000000000..493f6c4b0
> --- /dev/null
> +++ b/travis/Dockerfile.tumbleweed
> @@ -0,0 +1,5 @@
> +FROM opensuse:tumbleweed
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
> diff --git a/travis/Dockerfile.ubuntu.latest b/travis/Dockerfile.ubuntu.latest
> new file mode 100644
> index 000000000..ce38a1f04
> --- /dev/null
> +++ b/travis/Dockerfile.ubuntu.latest
> @@ -0,0 +1,5 @@
> +FROM ubuntu:latest
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
> diff --git a/travis/Dockerfile.ubuntu.xenial b/travis/Dockerfile.ubuntu.xenial
> new file mode 100644
> index 000000000..2012aab96
> --- /dev/null
> +++ b/travis/Dockerfile.ubuntu.xenial
> @@ -0,0 +1,5 @@
> +FROM ubuntu:xenial
> +
> +RUN mkdir -p /usr/src/ltp
> +WORKDIR /usr/src/ltp
> +COPY . /usr/src/ltp
> diff --git a/travis/travis.centos.latest.sh b/travis/travis.centos.latest.sh
> new file mode 120000
> index 000000000..5b53be398
> --- /dev/null
> +++ b/travis/travis.centos.latest.sh
> @@ -0,0 +1 @@
> +travis.fedora.latest.sh
> \ No newline at end of file
Maybe we should name these setup.$foo.sh since they live in the travis
directory already...
> diff --git a/travis/travis.centos6.sh b/travis/travis.centos6.sh
> new file mode 120000
> index 000000000..5b53be398
> --- /dev/null
> +++ b/travis/travis.centos6.sh
> @@ -0,0 +1 @@
> +travis.fedora.latest.sh
> \ No newline at end of file
> diff --git a/travis/travis.debian.cross-compile.aarch64.sh b/travis/travis.debian.cross-compile.aarch64.sh
> new file mode 100755
> index 000000000..e30f60d2e
> --- /dev/null
> +++ b/travis/travis.debian.cross-compile.aarch64.sh
> @@ -0,0 +1,9 @@
> +#!/bin/sh
> +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz>
> +set -e
> +
> +./travis.debian.stable.sh
> +
> +apt install -y --no-install-recommends \
> + gcc-aarch64-linux-gnu \
> + libc6-dev-arm64-cross
> diff --git a/travis/travis.debian.cross-compile.ppc64le.sh b/travis/travis.debian.cross-compile.ppc64le.sh
> new file mode 100755
> index 000000000..c5169214c
> --- /dev/null
> +++ b/travis/travis.debian.cross-compile.ppc64le.sh
> @@ -0,0 +1,9 @@
> +#!/bin/sh
> +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz>
> +set -e
> +
> +./travis.debian.stable.sh
> +
> +apt install -y --no-install-recommends \
> + gcc-powerpc64le-linux-gnu \
> + libc6-dev-ppc64el-cross
> diff --git a/travis/travis.debian.i386.sh b/travis/travis.debian.i386.sh
> new file mode 100755
> index 000000000..167953332
> --- /dev/null
> +++ b/travis/travis.debian.i386.sh
> @@ -0,0 +1,19 @@
> +#!/bin/sh
> +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz>
> +set -e
> +
> +dpkg --add-architecture i386
> +./travis.debian.stable.sh
> +
> +apt install -y --no-install-recommends \
> + linux-libc-dev:i386 \
> + gcc-multilib \
> + libacl1:i386 \
> + libaio1:i386 \
> + libcap2:i386 \
> + libc6-dev-i386 \
> + libc6:i386 \
> + libkeyutils1:i386 \
> + libnuma1:i386 \
> + libssl-dev:i386 \
> + libtirpc1:i386
> diff --git a/travis/travis.debian.minimal.sh b/travis/travis.debian.minimal.sh
> new file mode 100755
> index 000000000..36d185e3f
> --- /dev/null
> +++ b/travis/travis.debian.minimal.sh
> @@ -0,0 +1,21 @@
> +#!/bin/sh
> +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz>
> +set -e
> +
> +./travis.debian.stable.sh
> +
> +apt remove -y \
> + libacl1-dev \
> + libaio-dev \
> + libaio1 \
> + libcap-dev \
> + libcap2 \
> + libkeyutils-dev \
> + libkeyutils1 \
> + libmm-dev \
> + libnuma-dev \
> + libnuma1 \
> + libselinux1-dev \
> + libsepol1-dev \
> + libssl-dev \
> + libtirpc1
> diff --git a/travis/travis.debian.oldstable.sh b/travis/travis.debian.oldstable.sh
> new file mode 120000
> index 000000000..ffd9a3d86
> --- /dev/null
> +++ b/travis/travis.debian.oldstable.sh
> @@ -0,0 +1 @@
> +travis.debian.stable.sh
> \ No newline at end of file
> diff --git a/travis/travis.debian.stable.sh b/travis/travis.debian.stable.sh
> new file mode 100755
> index 000000000..3918a915f
> --- /dev/null
> +++ b/travis/travis.debian.stable.sh
> @@ -0,0 +1,35 @@
> +#!/bin/sh
> +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz>
> +set -e
> +
> +apt update
> +
> +apt install -y --no-install-recommends \
> + acl-dev \
> + autoconf \
> + automake \
> + build-essential \
> + debhelper \
> + devscripts \
> + clang \
> + gcc \
> + libacl1 \
> + libacl1-dev \
> + libaio-dev \
> + libaio1 \
> + libcap-dev \
> + libcap2 \
> + libc6 \
> + libc6-dev \
> + libkeyutils-dev \
> + libkeyutils1 \
> + libmm-dev \
> + libnuma-dev \
> + libnuma1 \
> + libselinux1-dev \
> + libsepol1-dev \
> + libssl-dev \
> + linux-libc-dev \
> + lsb-release
> +
> +apt install libtirpc1 libtirpc3 || true
> diff --git a/travis/travis.debian.testing.sh b/travis/travis.debian.testing.sh
> new file mode 120000
> index 000000000..ffd9a3d86
> --- /dev/null
> +++ b/travis/travis.debian.testing.sh
> @@ -0,0 +1 @@
> +travis.debian.stable.sh
> \ No newline at end of file
> diff --git a/travis/travis.fedora.latest.sh b/travis/travis.fedora.latest.sh
> new file mode 100755
> index 000000000..a4633333e
> --- /dev/null
> +++ b/travis/travis.fedora.latest.sh
> @@ -0,0 +1,12 @@
> +#!/bin/sh
> +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz>
> +set -e
> +
> +yum -y install \
> + autoconf \
> + automake \
> + make \
> + clang \
> + gcc \
> + findutils \
> + redhat-lsb-core
> diff --git a/travis/travis.leap.sh b/travis/travis.leap.sh
> new file mode 120000
> index 000000000..c7ce18b7d
> --- /dev/null
> +++ b/travis/travis.leap.sh
> @@ -0,0 +1 @@
> +travis.tumbleweed.sh
> \ No newline at end of file
> diff --git a/travis/travis.sh b/travis/travis.sh
> new file mode 100755
> index 000000000..16d469cc4
> --- /dev/null
> +++ b/travis/travis.sh
> @@ -0,0 +1,6 @@
> +#!/bin/sh
> +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz>
> +set -e
> +
> +./travis.$DISTRO.sh
> +../build.sh -o $TREE -t native -c $CC
> diff --git a/travis/travis.tumbleweed.sh b/travis/travis.tumbleweed.sh
> new file mode 100755
> index 000000000..8bae69065
> --- /dev/null
> +++ b/travis/travis.tumbleweed.sh
> @@ -0,0 +1,21 @@
> +#!/bin/sh
> +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz>
> +set -e
> +
> +zypper --non-interactive in --no-recommends \
> + autoconf \
> + automake \
> + clang \
> + gcc \
> + make \
> + kernel-default-devel \
> + keyutils-devel \
> + libacl-devel \
> + libaio-devel \
> + libcap-devel \
> + libnuma-devel \
> + libopenssl-devel \
> + libselinux-devel \
> + libtirpc-devel \
> + linux-glibc-devel \
> + lsb-release
> diff --git a/travis/travis.ubuntu.latest.sh b/travis/travis.ubuntu.latest.sh
> new file mode 120000
> index 000000000..ffd9a3d86
> --- /dev/null
> +++ b/travis/travis.ubuntu.latest.sh
> @@ -0,0 +1 @@
> +travis.debian.stable.sh
> \ No newline at end of file
> diff --git a/travis/travis.ubuntu.xenial.sh b/travis/travis.ubuntu.xenial.sh
> new file mode 120000
> index 000000000..ffd9a3d86
> --- /dev/null
> +++ b/travis/travis.ubuntu.xenial.sh
> @@ -0,0 +1 @@
> +travis.debian.stable.sh
> \ No newline at end of file
> --
> 2.19.2
>
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list