Skip to content

Commit 5d61467

Browse files
committed
Avoid broken pipe in RPM package verifier
1 parent 8bebeb8 commit 5d61467

1 file changed

Lines changed: 12 additions & 9 deletions

File tree

packaging/scripts/verify-rpm-package.sh

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ done
1616

1717
rpm="$(TURTLE_TERM_OUT_DIR="$tmp" TURTLE_TERM_VERSION="0.1.0" TURTLE_TERM_RPM_ARCH="$(uname -m)" \
1818
"$repo_root/packaging/scripts/build-rpm-package.sh")"
19+
contents="$tmp/rpm-contents.txt"
1920
extract="$tmp/extract"
2021

2122
test -f "$rpm"
@@ -32,24 +33,25 @@ assert manifest['kind'] == 'rpm'
3233
assert manifest['version'] == '0.1.0'
3334
assert manifest['package'].endswith('.rpm')
3435
assert manifest['profile'] == '/etc/turtle-term/turtleterm.lua'
35-
for command in ['turtle-cloudfog', 'turtle-superconscious', 'turtle-agent-machine', 'turtle-language', 'turtle-session']:
36+
for command in ['turtle-agent-status', 'turtle-cloudfog', 'turtle-superconscious', 'turtle-agent-machine', 'turtle-language', 'turtle-session']:
3637
assert command in manifest['public_commands'], command
3738
PY
3839

3940
rpm -qp --queryformat '%{NAME}\n' "$rpm" | grep -qx 'turtle-term'
4041
rpm -qp --queryformat '%{VERSION}\n' "$rpm" | grep -qx '0.1.0'
42+
rpm -qpl "$rpm" > "$contents"
4143

42-
for command in turtleterm turtle-agentctl turtle-cloudfog turtle-superconscious turtle-agent-machine turtle-language turtle-session; do
43-
rpm -qpl "$rpm" | grep -q "^/usr/bin/$command$"
44+
for command in turtleterm turtle-agentctl turtle-agent-status turtle-cloudfog turtle-superconscious turtle-agent-machine turtle-language turtle-session; do
45+
grep -q "^/usr/bin/$command$" "$contents"
4446
done
4547

46-
rpm -qpl "$rpm" | grep -q '^/etc/turtle-term/turtleterm.lua$'
47-
rpm -qpl "$rpm" | grep -q '^/usr/share/applications/ai.sourceos.TurtleTerm.desktop$'
48-
rpm -qpl "$rpm" | grep -q '^/usr/share/metainfo/ai.sourceos.TurtleTerm.metainfo.xml$'
49-
rpm -qpl "$rpm" | grep -q '^/usr/share/icons/hicolor/scalable/apps/ai.sourceos.TurtleTerm.svg$'
50-
rpm -qpl "$rpm" | grep -q '^/usr/libexec/turtle-term/wezterm-gui$'
48+
grep -q '^/etc/turtle-term/turtleterm.lua$' "$contents"
49+
grep -q '^/usr/share/applications/ai.sourceos.TurtleTerm.desktop$' "$contents"
50+
grep -q '^/usr/share/metainfo/ai.sourceos.TurtleTerm.metainfo.xml$' "$contents"
51+
grep -q '^/usr/share/icons/hicolor/scalable/apps/ai.sourceos.TurtleTerm.svg$' "$contents"
52+
grep -q '^/usr/libexec/turtle-term/wezterm-gui$' "$contents"
5153

52-
if rpm -qpl "$rpm" | grep -q '^/usr/bin/wezterm-gui$'; then
54+
if grep -q '^/usr/bin/wezterm-gui$' "$contents"; then
5355
echo 'private runtime leaked onto product PATH in rpm' >&2
5456
exit 1
5557
fi
@@ -69,6 +71,7 @@ fi
6971
probe="$tmp/probe.py"
7072
printf 'def hello():\n return "world"\n' > "$probe"
7173
PATH="$extract/usr/bin:$PATH" "$extract/usr/bin/turtle-agentctl" --stdio surfaces >/dev/null
74+
PATH="$extract/usr/bin:$PATH" "$extract/usr/bin/turtle-agent-status" --json >/dev/null
7275
PATH="$extract/usr/bin:$PATH" "$extract/usr/bin/turtle-cloudfog" surfaces >/dev/null
7376
PATH="$extract/usr/bin:$PATH" "$extract/usr/bin/turtle-superconscious" observe rpm-package >/dev/null
7477
PATH="$extract/usr/bin:$PATH" "$extract/usr/bin/turtle-agent-machine" surfaces >/dev/null

0 commit comments

Comments
 (0)