2017-04-28 19:29:25 +03:00
#!/usr/bin/bash
2017-09-06 20:53:46 +03:00
pkg_upgrade( ) {
# https://bugzilla.redhat.com/show_bug.cgi?id=1483553
2017-09-19 17:40:35 +03:00
ecode = 0
yum -y distro-sync 2>err.txt || ecode = $?
if test ${ ecode } '!=' 0 && grep -q -F -e "BDB1539 Build signature doesn't match environment" err.txt; then
rpm --rebuilddb
yum -y distro-sync
else
if test ${ ecode } '!=' 0; then
2017-09-06 20:53:46 +03:00
cat err.txt
exit ${ ecode }
fi
fi
}
2017-04-28 19:29:25 +03:00
make( ) {
2017-05-05 22:56:53 +03:00
/usr/bin/make -j $( getconf _NPROCESSORS_ONLN) " $@ "
2017-04-28 19:29:25 +03:00
}
build( ) {
env NOCONFIGURE = 1 ./autogen.sh
./configure --prefix= /usr --libdir= /usr/lib64 " $@ "
2017-09-19 17:40:35 +03:00
make V = 1
2017-04-28 19:29:25 +03:00
}
2017-09-19 17:40:35 +03:00
pkg_install( ) {
yum -y install " $@ "
2017-04-28 19:29:25 +03:00
}
2017-09-19 17:40:35 +03:00
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
)
}
2017-07-17 20:40:25 +03:00
2017-09-19 17:40:35 +03:00
pkg_builddep( ) {
# This is sadly the only case where it's a different command
if test -x /usr/bin/dnf; then
dnf builddep -y " $@ "
2017-07-17 20:40:25 +03:00
else
2017-09-19 17:40:35 +03:00
yum-builddep -y " $@ "
2017-07-17 20:40:25 +03:00
fi
2017-09-19 17:40:35 +03:00
}
2017-04-28 19:29:25 +03:00
2017-09-19 17:40:35 +03:00
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
2017-04-28 19:29:25 +03:00
# builddeps+runtime deps
2017-09-19 17:40:35 +03:00
pkg_builddep $pkg
pkg_install $pkg
2017-04-28 19:29:25 +03:00
rpm -e $pkg
}