aboutsummaryrefslogtreecommitdiff
path: root/scripts/build_rpm.sh
blob: ac2510d00657b4ead10336ef2ef61459ce9abfb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/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)"

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/
  "

cp ${staging}/out/*.rpm "_dist/${app_name}-${arch}-${channel}-${distro}.rpm"
rm -rf "${staging}"