public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH 1/3] ver_linux: Print clang version
@ 2018-12-19 14:14 Petr Vorel
  2018-12-19 14:14 ` [LTP] [PATCH 2/3] ver_linux: Add lsb_release -a Petr Vorel
  2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel
  0 siblings, 2 replies; 6+ messages in thread
From: Petr Vorel @ 2018-12-19 14:14 UTC (permalink / raw)
  To: ltp

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 ver_linux | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ver_linux b/ver_linux
index 897571703..bbc89987b 100755
--- a/ver_linux
+++ b/ver_linux
@@ -31,6 +31,7 @@ cat /proc/cmdline
 echo
 
 echo "Gnu C                 " `gcc --version 2>/dev/null | head -n 1`
+echo "Clang                 " `clang --version 2>/dev/null | head -n 1`
 
 make --version 2>&1 | awk -F, '{print $1}' | awk \
       '/GNU Make/{print "Gnu make              ",$NF}'
-- 
2.19.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [LTP] [PATCH 2/3] ver_linux: Add lsb_release -a
  2018-12-19 14:14 [LTP] [PATCH 1/3] ver_linux: Print clang version Petr Vorel
@ 2018-12-19 14:14 ` Petr Vorel
  2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel
  1 sibling, 0 replies; 6+ messages in thread
From: Petr Vorel @ 2018-12-19 14:14 UTC (permalink / raw)
  To: ltp

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 ver_linux | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/ver_linux b/ver_linux
index bbc89987b..f083c0df8 100755
--- a/ver_linux
+++ b/ver_linux
@@ -19,6 +19,10 @@ if [ $? = 1 ]; then
    echo '/etc/issue:'
    cat /etc/issue 2> /dev/null
 fi
+if [ $? = 1 ]; then
+	echo 'lsb_release -a'
+	lsb_release -a 2> /dev/null
+fi
 
 echo
 echo 'uname:'
-- 
2.19.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [LTP] [PATCH 3/3] travis: Use docker based builds
  2018-12-19 14:14 [LTP] [PATCH 1/3] ver_linux: Print clang version Petr Vorel
  2018-12-19 14:14 ` [LTP] [PATCH 2/3] ver_linux: Add lsb_release -a Petr Vorel
@ 2018-12-19 14:14 ` Petr Vorel
  2018-12-19 14:16   ` Petr Vorel
                     ` (2 more replies)
  1 sibling, 3 replies; 6+ messages in thread
From: Petr Vorel @ 2018-12-19 14:14 UTC (permalink / raw)
  To: ltp

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.

Implements: #448

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
Hi,

we can keep number of builds to 10 instead of current 15, but not sure
which jobs to remove.


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 +
 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
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
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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [LTP] [PATCH 3/3] travis: Use docker based builds
  2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel
@ 2018-12-19 14:16   ` Petr Vorel
  2019-01-02  5:51   ` Li Wang
  2019-01-02 15:11   ` Cyril Hrubis
  2 siblings, 0 replies; 6+ messages in thread
From: Petr Vorel @ 2018-12-19 14:16 UTC (permalink / raw)
  To: ltp

Hi,

Proposed docker based build in travis:
https://travis-ci.org/pevik/ltp/builds/470037766

Compare with previous Trusty based build:
https://travis-ci.org/linux-test-project/ltp/builds/469670856


Kind regards,
Petr

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [LTP] [PATCH 3/3] travis: Use docker based builds
  2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel
  2018-12-19 14:16   ` Petr Vorel
@ 2019-01-02  5:51   ` Li Wang
  2019-01-02 15:11   ` Cyril Hrubis
  2 siblings, 0 replies; 6+ messages in thread
From: Li Wang @ 2019-01-02  5:51 UTC (permalink / raw)
  To: ltp

On Wed, Dec 19, 2018 at 10:14 PM Petr Vorel <pvorel@suse.cz> wrote:
>
> 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.

I have no more comment for this changes, patch set looks pretty good to me.

>
> 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.
>
> Implements: #448
>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
Reviewed-by: Li Wang <liwang@redhat.com>

-- 
Regards,
Li Wang

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [LTP] [PATCH 3/3] travis: Use docker based builds
  2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel
  2018-12-19 14:16   ` Petr Vorel
  2019-01-02  5:51   ` Li Wang
@ 2019-01-02 15:11   ` Cyril Hrubis
  2 siblings, 0 replies; 6+ messages in thread
From: Cyril Hrubis @ 2019-01-02 15:11 UTC (permalink / raw)
  To: ltp

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-01-02 15:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-19 14:14 [LTP] [PATCH 1/3] ver_linux: Print clang version Petr Vorel
2018-12-19 14:14 ` [LTP] [PATCH 2/3] ver_linux: Add lsb_release -a Petr Vorel
2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel
2018-12-19 14:16   ` Petr Vorel
2019-01-02  5:51   ` Li Wang
2019-01-02 15:11   ` Cyril Hrubis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox