fda0be62ce
The default `_NPROCESSORS_ONLN` heuristic we have isn't cgroups aware. So it thinks it has e.g. 40 CPUs when running in a k8s pod. This can then blow through our allocated resource limits. Declare some modest amount of RAM and CPU resources and override `make` parallelism. This matches what ostree does in https://github.com/ostreedev/ostree/pull/2151.
48 lines
1.2 KiB
Bash
48 lines
1.2 KiB
Bash
#!/usr/bin/bash
|
|
|
|
pkg_upgrade() {
|
|
echo "Running dnf -y distro-sync... $(date)"
|
|
dnf -y distro-sync
|
|
echo "Done dnf -y distro-sync! $(date)"
|
|
}
|
|
|
|
make() {
|
|
/usr/bin/make -j ${MAKE_JOBS:-$(getconf _NPROCESSORS_ONLN)} "$@"
|
|
}
|
|
|
|
build() {
|
|
env NOCONFIGURE=1 ./autogen.sh
|
|
./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc "$@"
|
|
make V=1
|
|
}
|
|
|
|
pkg_install() {
|
|
echo "Running dnf -y install... $(date)"
|
|
dnf -y install "$@"
|
|
echo "Done running dnf -y install! $(date)"
|
|
}
|
|
|
|
pkg_builddep() {
|
|
echo "Running builddep... $(date)"
|
|
# 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
|
|
echo "Done running builddep! $(date)"
|
|
}
|
|
|
|
pkg_install_builddeps() {
|
|
pkg_install dnf-plugins-core 'dnf-command(builddep)'
|
|
# Base buildroot (but exclude fedora-release, conflicts with -container:
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1649921)
|
|
pkg_install @buildsys-build --excludepkg fedora-release
|
|
# builddeps+runtime deps
|
|
if [ $# -ne 0 ]; then
|
|
pkg_builddep "$@"
|
|
pkg_install "$@"
|
|
rpm -e "$@"
|
|
fi
|
|
}
|