aboutsummaryrefslogtreecommitdiff
path: root/scripts/build_deb.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build_deb.sh')
-rwxr-xr-xscripts/build_deb.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/build_deb.sh b/scripts/build_deb.sh
new file mode 100755
index 0000000..66b51fa
--- /dev/null
+++ b/scripts/build_deb.sh
@@ -0,0 +1,31 @@
+#!/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}/${app_name}_${version}.orig.tar.xz"
+tar -xJf "${staging}/${app_name}_${version}.orig.tar.xz" -C "${staging}"
+mkdir -p ${staging}/${app_name}-${version}
+cp -r build-aux/debian "${staging}/${app_name}-${version}/debian"
+
+podman run --rm -v "${staging}:/build:Z" \
+ ${container_image_prefix}:${distro} \
+ bash -c "
+ cd /build/${app_name}-${version}
+ dpkg-buildpackage -us -uc -b
+ mkdir -p /build/out
+ cp /build/${app_name}_${version}*_*.deb /build/out/
+ "
+
+mkdir -p dist
+cp ${staging}/out/*.deb "dist/${app_name}-${arch}-${channel}-${distro}.deb"
+rm -rf "${staging}"