ostree/ci/libpaprci/libbuild.sh
Colin Walters d85366d52a ci: Add prow/ subdirectory with Dockerfile
I'd like to add OpenShift's prow to this repository.  Let's start
by adding a Dockerfile - it doesn't really do anything besides build.

However...I've lately been thinking about e.g. shipping the ostree tests
as an image, and then e.g. we could test FCOS by running that container
(which would orchestrate the *host's* ostree).

Anyways, not doing that right now but this is a start.

Also this cherry picks the fix from rpm-ostree CI for the sad
Fedora release package brokenness.

Closes: #1906
Approved by: cgwalters
2019-08-29 05:43:11 +00:00

70 lines
1.9 KiB
Bash

#!/usr/bin/bash
dn=$(cd $(dirname $0) && pwd)
OS_ID=$(. /etc/os-release; echo $ID)
OS_VERSION_ID=$(. /etc/os-release; echo $VERSION_ID)
pkg_upgrade() {
yum -y distro-sync
}
make() {
/usr/bin/make -j $(getconf _NPROCESSORS_ONLN) "$@"
}
build() {
env NOCONFIGURE=1 ./autogen.sh
./configure --sysconfdir=/etc --prefix=/usr --libdir=/usr/lib64 "$@"
make V=1
}
pkg_install() {
yum -y install "$@"
}
pkg_install_if_os() {
local os=$1
shift
if test "${os}" = "${OS_ID}"; then
pkg_install "$@"
else
echo "Skipping installation targeted for ${os} (current OS: ${OS_ID}): $@"
fi
}
pkg_install_buildroot() {
case "${OS_ID}" in
fedora)
# https://github.com/projectatomic/rpm-ostree/pull/1889/commits/9ff611758bea22b0ad4892cc16182dd1f7f47e89
# https://fedoraproject.org/wiki/Common_F30_bugs#Conflicts_between_fedora-release_packages_when_installing_package_groups
if rpm -q fedora-release-container; then
yum -y swap fedora-release{-container,}
fi
pkg_install dnf-plugins-core @buildsys-build;;
centos) pkg_install yum-utils
# Base buildroot, copied from the mock config sadly
pkg_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;;
*) fatal "pkg_install_buildroot(): Unhandled OS ${OS_ID}";;
esac
}
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
}
# Install both build and runtime dependencies for $pkg
pkg_builddep_runtimedep() {
local pkg=$1
pkg_builddep $pkg
pkg_install $pkg
rpm -e $pkg
}