Skip to content

Commit 708251e

Browse files
committed
Add RPM package verifier
1 parent ba1b648 commit 708251e

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
5+
tmp="$(mktemp -d)"
6+
trap 'rm -rf "$tmp"' EXIT
7+
8+
mkdir -p "$repo_root/target/release"
9+
for binary in wezterm wezterm-gui wezterm-mux-server; do
10+
cat > "$repo_root/target/release/$binary" <<'EOF'
11+
#!/usr/bin/env sh
12+
echo turtleterm-stub
13+
EOF
14+
chmod 0755 "$repo_root/target/release/$binary"
15+
done
16+
17+
rpm="$(TURTLE_TERM_OUT_DIR="$tmp" TURTLE_TERM_VERSION="0.1.0" TURTLE_TERM_RPM_ARCH="$(uname -m)" \
18+
"$repo_root/packaging/scripts/build-rpm-package.sh")"
19+
20+
test -f "$rpm"
21+
22+
rpm -qp --queryformat '%{NAME}\n' "$rpm" | grep -qx 'turtle-term'
23+
rpm -qp --queryformat '%{VERSION}\n' "$rpm" | grep -qx '0.1.0'
24+
25+
rpm -qpl "$rpm" | grep -q '^/usr/bin/turtleterm$'
26+
rpm -qpl "$rpm" | grep -q '^/usr/bin/turtle-agentctl$'
27+
rpm -qpl "$rpm" | grep -q '^/etc/turtle-term/turtleterm.lua$'
28+
rpm -qpl "$rpm" | grep -q '^/usr/share/applications/ai.sourceos.TurtleTerm.desktop$'
29+
rpm -qpl "$rpm" | grep -q '^/usr/share/metainfo/ai.sourceos.TurtleTerm.metainfo.xml$'
30+
rpm -qpl "$rpm" | grep -q '^/usr/share/icons/hicolor/scalable/apps/ai.sourceos.TurtleTerm.svg$'
31+
rpm -qpl "$rpm" | grep -q '^/usr/libexec/turtle-term/wezterm-gui$'
32+
33+
if rpm -qpl "$rpm" | grep -q '^/usr/bin/wezterm-gui$'; then
34+
echo 'private runtime leaked onto product PATH in rpm' >&2
35+
exit 1
36+
fi
37+
38+
echo "verified $rpm"

0 commit comments

Comments
 (0)