chore: checkpoint classroom 0.1.5 stable
This commit is contained in:
Executable
+83
@@ -0,0 +1,83 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
cd "$ROOT"
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
echo "Usage: $0 VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION="$1"
|
||||
|
||||
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||
echo "Invalid version: $VERSION"
|
||||
echo "Expected MAJOR.MINOR.PATCH, for example 0.1.6"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
STAGE="$ROOT/packaging/root"
|
||||
OUTPUT="$ROOT/dist/ekklesia-classroom_${VERSION}_amd64.deb"
|
||||
|
||||
echo "Building Ekklesia Classroom ${VERSION}"
|
||||
|
||||
# Always construct the package from clean canonical sources.
|
||||
rm -rf "$STAGE"
|
||||
mkdir -p "$STAGE/DEBIAN" "$ROOT/dist"
|
||||
|
||||
# Debian package metadata.
|
||||
sed \
|
||||
"s/^Version: @VERSION@$/Version: ${VERSION}/" \
|
||||
"$ROOT/packaging/debian/control.template" \
|
||||
> "$STAGE/DEBIAN/control"
|
||||
|
||||
install -m755 \
|
||||
"$ROOT/packaging/debian/postinst" \
|
||||
"$STAGE/DEBIAN/postinst"
|
||||
|
||||
# Classroom UI configuration.
|
||||
install -Dm644 \
|
||||
"$ROOT/config/sway/config" \
|
||||
"$STAGE/etc/ekklesia-classroom/sway/config"
|
||||
|
||||
install -Dm644 \
|
||||
"$ROOT/config/waybar/config.jsonc" \
|
||||
"$STAGE/etc/ekklesia-classroom/waybar/config.jsonc"
|
||||
|
||||
install -Dm644 \
|
||||
"$ROOT/config/waybar/style.css" \
|
||||
"$STAGE/etc/ekklesia-classroom/waybar/style.css"
|
||||
|
||||
# Classroom commands.
|
||||
install -Dm755 \
|
||||
"$ROOT/scripts/classroom-browser" \
|
||||
"$STAGE/usr/local/bin/classroom-browser"
|
||||
|
||||
install -Dm755 \
|
||||
"$ROOT/scripts/ekklesia-classroom-update" \
|
||||
"$STAGE/usr/local/bin/ekklesia-classroom-update"
|
||||
|
||||
# System configuration.
|
||||
install -Dm644 \
|
||||
"$ROOT/systemd/autologin/autologin.conf" \
|
||||
"$STAGE/etc/systemd/system/[email protected]/autologin.conf"
|
||||
|
||||
install -Dm644 \
|
||||
"$ROOT/systemd/updater/ekklesia-classroom-update.service" \
|
||||
"$STAGE/etc/systemd/system/ekklesia-classroom-update.service"
|
||||
|
||||
install -Dm644 \
|
||||
"$ROOT/systemd/updater/ekklesia-classroom-update.timer" \
|
||||
"$STAGE/etc/systemd/system/ekklesia-classroom-update.timer"
|
||||
|
||||
printf '%s\n' "$VERSION" > "$ROOT/VERSION"
|
||||
|
||||
dpkg-deb \
|
||||
--root-owner-group \
|
||||
--build "$STAGE" "$OUTPUT"
|
||||
|
||||
echo
|
||||
echo "Built:"
|
||||
echo "$OUTPUT"
|
||||
sha256sum "$OUTPUT"
|
||||
Reference in New Issue
Block a user