Refine Settings and window startup; refresh project documentation
This commit is contained in:
1 parent
23991d5bd8
commit
c63af64d87
24 files changed
+696
-1850
No files matched your search
@@ -2,6 +2,12 @@
|
||||
# Install already-built binaries. Run from any directory with sudo.
|
||||
set -euo pipefail
|
||||
|
||||
session_entry_matches() {
|
||||
# App-icon metadata can change between managed releases. All other fields,
|
||||
# especially Exec/TryExec, must still match before replacing an entry.
|
||||
cmp -s -- <(sed '/^Icon=/d' "$1") <(sed '/^Icon=/d' "$2")
|
||||
}
|
||||
|
||||
repo_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
release_id=${1:?usage: install-session.sh RELEASE_ID}
|
||||
[[ $release_id =~ ^[a-zA-Z0-9][a-zA-Z0-9._-]*$ ]] || exit 2
|
||||
@@ -29,7 +35,7 @@ for link in current previous; do
|
||||
fi
|
||||
done
|
||||
if [[ -e $session_entry ]]; then
|
||||
cmp -s -- "$repo_dir/packaging/ferese.desktop" "$session_entry" || {
|
||||
session_entry_matches "$repo_dir/packaging/ferese.desktop" "$session_entry" || {
|
||||
echo "Different session entry exists: $session_entry" >&2; exit 1;
|
||||
}
|
||||
fi
|
||||
@@ -40,6 +46,9 @@ desktop-file-validate "$repo_dir/packaging/ferese.desktop"
|
||||
desktop-file-validate "$repo_dir/packaging/dev.ferese.Settings.desktop"
|
||||
|
||||
install -d -m 0755 -- "$release_dir" /usr/local/bin /usr/share/wayland-sessions
|
||||
if [[ -e $session_entry ]]; then
|
||||
install -m 0644 -- "$session_entry" "$release_dir/session.previous.desktop"
|
||||
fi
|
||||
for name in ferese ferese-shell ferese-settings feresectl; do
|
||||
install -m 0755 -- "$repo_dir/target/release/$name" "$release_dir/$name"
|
||||
done
|
||||
|
||||
@@ -35,7 +35,11 @@ if [[ ! -x "$feresectl_program" ]]; then
|
||||
fi
|
||||
|
||||
if [[ ! -x "$malformed_client_program" ]]; then
|
||||
cargo build -p ferese-malformed-client
|
||||
if [[ -n "${FERESE_MALFORMED_CLIENT:-}" ]]; then
|
||||
echo "configured malformed-client probe is not executable: $malformed_client_program" >&2
|
||||
exit 2
|
||||
fi
|
||||
echo "Local malformed-client probe unavailable; skipping protocol fuzz checks" >&2
|
||||
fi
|
||||
|
||||
if ! command -v "$client_program" >/dev/null 2>&1; then
|
||||
@@ -185,7 +189,9 @@ while ((SECONDS < deadline)); do
|
||||
launch_client
|
||||
wait_for_focus
|
||||
kill -TERM "${client_pids[-1]}" 2>/dev/null || true
|
||||
"$malformed_client_program" >>"$log_path" 2>&1
|
||||
if [[ -x "$malformed_client_program" ]]; then
|
||||
"$malformed_client_program" >>"$log_path" 2>&1
|
||||
fi
|
||||
control get-outputs
|
||||
fi
|
||||
reap_clients
|
||||
|
||||
Reference in new issue
Block a user