You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.1 KiB
51 lines
1.1 KiB
#!/bin/bash
|
|
|
|
set -Eeuo pipefail
|
|
|
|
mkdir -p RPMS/x86_64 SRPMS BUILD BUILDROOT
|
|
|
|
BUILDER="${BUILDER:-centos-stream-8-x86_64}"
|
|
|
|
function build_pkg () {
|
|
tmp_dir="$(mktemp -d -t mock-XXXXXXXXXX)"
|
|
trap "rm -rf $tmp_dir" RETURN
|
|
|
|
echo "========================================================="
|
|
echo " Building $1 on $BUILDER"
|
|
echo "========================================================="
|
|
echo
|
|
|
|
echo "Downloading sources and building srpm..."
|
|
spectool -g -R SPECS/$1.spec
|
|
rpmbuild -bs SPECS/$1.spec
|
|
source_rpm="SRPMS/$(ls -1ct SRPMS | head -n1)"
|
|
echo "Successfully generated $source_rpm!"
|
|
echo
|
|
|
|
echo "Compiling..."
|
|
# To debug, add "-nN"
|
|
mock -r "$BUILDER" --resultdir="$tmp_dir" ${EXTRA_PARAMS:-} "$source_rpm"
|
|
echo
|
|
|
|
echo "Cleaning up..."
|
|
rm -f $tmp_dir/*.src.rpm $tmp_dir/*.log
|
|
mv $tmp_dir/*.rpm RPMS/x86_64/
|
|
echo
|
|
}
|
|
|
|
function build_custom_pkg () {
|
|
pkg="$(basename "$spec")"
|
|
pkg="${pkg%.spec}"
|
|
(test -f "MOCKCONFIG/$pkg.cfg" && . "MOCKCONFIG/$pkg.cfg" ; build_pkg "$pkg")
|
|
}
|
|
|
|
if [ $# -gt 0 ]; then
|
|
for spec; do
|
|
build_custom_pkg "$spec"
|
|
done
|
|
else
|
|
for spec in SPECS/*.spec; do
|
|
build_custom_pkg "$spec"
|
|
done
|
|
fi
|
|
|
|
|