diff options
Diffstat (limited to 'scripts/build_rpm.sh')
| -rwxr-xr-x | scripts/build_rpm.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/build_rpm.sh b/scripts/build_rpm.sh new file mode 100755 index 0000000..efffef3 --- /dev/null +++ b/scripts/build_rpm.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +set -euo pipefail + +container_image_prefix=$1 +distro=$2 +app_name=$3 +arch=$4 +channel=$5 + +version=`just version` +staging="$(mktemp -d)" + +just dist +cp _build/meson-dist/map-${version}.tar.xz "${staging}/" + +just vendor "${staging}/vendor" +tar -cJf "${staging}/map-${version}-vendor.tar.xz" -C "${staging}" vendor +rm -rf "${staging}/vendor" + +cp build-aux/rpm/map.spec "${staging}/" + +podman run --rm -v "${staging}:/build:Z" \ + ${container_image_prefix}:${distro} \ + bash -c " + mkdir -p ~/rpmbuild/{SOURCES,SPECS} + cp /build/map-*.tar.xz ~/rpmbuild/SOURCES/ + cp /build/map.spec ~/rpmbuild/SPECS/ + rpmbuild -bb ~/rpmbuild/SPECS/map.spec + mkdir -p /build/out + cp ~/rpmbuild/RPMS/${arch}/map-${version}-1.*.rpm /build/out/ + " + +mkdir -p dist +cp ${staging}/out/*.rpm "dist/${app_name}-${arch}-${channel}-${distro}.rpm" +rm -rf "${staging}" |