summaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2017-06-09 10:57:40 -0400
committerAtomic Bot <atomic-devel@projectatomic.io>2017-06-09 18:30:15 +0000
commite0e07e2a48ad61e497ee812d97db3cb1bb6e0d70 (patch)
tree51a42c1770368b263d40e47d4cb957c9df3c8a0f /ci
parenta98faa911343378781114d458ba3936c282b90ec (diff)
downloadostree-e0e07e2a48ad61e497ee812d97db3cb1bb6e0d70.tar.gz
ci: Add CentOS 7 build
For similar reasons as https://github.com/projectatomic/rpm-ostree/pull/824 Closes: #919 Approved by: jlebon
Diffstat (limited to 'ci')
-rwxr-xr-xci/build-check.sh18
-rwxr-xr-xci/build.sh14
-rw-r--r--ci/libbuild.sh45
3 files changed, 58 insertions, 19 deletions
diff --git a/ci/build-check.sh b/ci/build-check.sh
index 6123440e..d15032e7 100755
--- a/ci/build-check.sh
+++ b/ci/build-check.sh
@@ -10,11 +10,15 @@ make check
make syntax-check # TODO: do syntax-check under check
# And now run the installed tests
make install
-gnome-desktop-testing-runner -p 0 ostree
+if test -x /usr/bin/gnome-desktop-testing-runner; then
+ gnome-desktop-testing-runner -p 0 ostree
+fi
-git clean -dfx && git submodule foreach git clean -dfx
-# And now a clang build to find unused variables; perhaps
-# in the future these could parallelize
-export CC=clang
-export CFLAGS='-Werror=unused-variable'
-build
+if test -x /usr/bin/clang; then
+ git clean -dfx && git submodule foreach git clean -dfx
+ # And now a clang build to find unused variables; perhaps
+ # in the future these could parallelize
+ export CC=clang
+ export CFLAGS='-Werror=unused-variable'
+ build
+fi
diff --git a/ci/build.sh b/ci/build.sh
index d5bacd38..eefb7c3c 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -6,10 +6,14 @@ set -xeuo pipefail
dn=$(dirname $0)
. ${dn}/libbuild.sh
-install_builddeps ostree
-
-dnf install -y sudo which attr fuse gjs parallel coccinelle clang \
- libubsan libasan libtsan PyYAML gnome-desktop-testing redhat-rpm-config \
+pkg_install_builddeps ostree
+pkg_install sudo which attr fuse \
+ libubsan libasan libtsan PyYAML redhat-rpm-config \
elfutils
+pkg_install_if_os fedora gjs gnome-desktop-testing parallel coccinelle clang
-build --enable-gtk-doc --enable-installed-tests=exclusive ${CONFIGOPTS:-}
+DETECTED_CONFIGOPTS=
+if test -x /usr/bin/gnome-desktop-testing-runner; then
+ DETECTED_CONFIGOPTS="${DETECTED_CONFIGOPTS} --enable-installed-tests=exclusive"
+fi
+build --enable-gtk-doc ${DETECTED_CONFIGOPTS} ${CONFIGOPTS:-}
diff --git a/ci/libbuild.sh b/ci/libbuild.sh
index b061a486..fef9d3ae 100644
--- a/ci/libbuild.sh
+++ b/ci/libbuild.sh
@@ -10,14 +10,45 @@ build() {
make V=1
}
-install_builddeps() {
- pkg=$1
- dnf -y install dnf-plugins-core
- dnf install -y @buildsys-build
- dnf install -y 'dnf-command(builddep)'
+pkg_install() {
+ yum -y install "$@"
+}
+
+pkg_install_if_os() {
+ os=$1
+ shift
+ (. /etc/os-release;
+ if test "${os}" = "${ID}"; then
+ pkg_install "$@"
+ else
+ echo "Skipping installation on OS ${ID}: $@"
+ fi
+ )
+}
+pkg_builddep() {
+ # This is sadly the only case where it's a different command
+ if test -x /usr/bin/dnf; then
+ dnf builddep -y "$@"
+ else
+ yum-builddep -y "$@"
+ fi
+}
+
+pkg_install_builddeps() {
+ pkg=$1
+ if test -x /usr/bin/dnf; then
+ yum -y install dnf-plugins-core
+ yum install -y 'dnf-command(builddep)'
+ # Base buildroot
+ pkg_install @buildsys-build
+ else
+ yum -y install yum-utils
+ # Base buildroot, copied from the mock config sadly
+ yum -y install bash bzip2 coreutils cpio diffutils system-release findutils gawk gcc gcc-c++ grep gzip info make patch redhat-rpm-config rpm-build sed shadow-utils tar unzip util-linux which xz
+ fi
# builddeps+runtime deps
- dnf builddep -y $pkg
- dnf install -y $pkg
+ pkg_builddep $pkg
+ pkg_install $pkg
rpm -e $pkg
}