Browse Source

improve build script

main
Nicolas Massé 5 years ago
parent
commit
31ae249ebf
  1. 42
      rpmbuild/build.sh

42
rpmbuild/build.sh

@ -1,26 +1,38 @@
#!/bin/sh #!/bin/bash
set -Eeuo pipefail set -Eeuo pipefail
mkdir -p RPMS SRPMS BUILD BUILDROOT mkdir -p RPMS SRPMS BUILD BUILDROOT
tmp_dir=$(mktemp -d -t mock-XXXXXXXXXX) tmp_dir="$(mktemp -d -t mock-XXXXXXXXXX)"
trap "rm -rf $tmp_dir" EXIT trap "rm -rf $tmp_dir" EXIT
function build_pkg () { # List of available builders: ls -1 /etc/mock
spectool -g -R SPECS/$1.spec builder="${BUILDER:-centos-8-x86_64}"
rpmbuild -bs SPECS/$1.spec echo "Using builder image $builder..."
mock --enable-network -r centos-8-x86_64 --resultdir=$tmp_dir SRPMS/$(ls -1ct SRPMS | head -n1)
}
# TODO: rewrite this!
if [ $# -gt 0 ]; then function build_pkgs () {
source_rpms=()
for pkg; do for pkg; do
build_pkg $pkg pkg="$(basename "$pkg")"
pkg="${pkg%.spec}"
echo "Processing $pkg..."
spectool -g -R SPECS/$pkg.spec
rpmbuild -bs SPECS/$pkg.spec
source_rpm="SRPMS/$(ls -1ct SRPMS | head -n1)"
echo "Successfully generated $source_rpm!"
source_rpms+=("$source_rpm")
done done
cp $tmp_dir/*.x86_64.rpm RPMS/x86_64/ echo "Compiling ${source_rpms[@]}..."
#debug_opts="-nN"
debug_opts=""
mock --enable-network -r "$builder" --resultdir=$tmp_dir $debug_opts "${source_rpms[@]}"
}
if [ $# -gt 0 ]; then
build_pkgs "$@"
else else
for spec in SPECS/*.spec; do build_pkgs SPECS/*.spec
build_pkg $(basename $spec .spec)
done
fi fi
rm -f "$tmp_dir/*.src.rpm" "$tmp_dir/*.log"
mv $tmp_dir/*.rpm RPMS/x86_64/

Loading…
Cancel
Save