Watch
1
0
Fork
You've already forked souveraine
0

usb: build the full KVM composite surface

This commit is contained in:
Fimeg 2026-08-07 14:48:07 -04:00
commit 8cd2adb828
15 changed files with 1562 additions and 47 deletions

View file

@ -53,6 +53,8 @@ jobs:
# old primary/public split: a signal that reads like coverage and isn't.
- name: cargo test (sessiond)
run: cargo test --features sessiond --bin souveraine-sessiond
- name: cargo test (USB KVM receiver)
run: cargo test --features usb-kvm --bin souveraine-usb-kvm
- name: cargo clippy
run: cargo clippy -- -D warnings
# Advisory, deliberately. Turning this on for the first time surfaced 9
@ -64,6 +66,8 @@ jobs:
- name: cargo clippy (sessiond)
continue-on-error: true
run: cargo clippy --features sessiond --bin souveraine-sessiond -- -D warnings
- name: cargo clippy (USB KVM receiver)
run: cargo clippy --features usb-kvm --bin souveraine-usb-kvm -- -D warnings
no-ai-attribution:
runs-on: ubuntu-latest
@ -157,6 +161,12 @@ jobs:
file "$NBIN" | grep -q aarch64 || { echo "sensord is not aarch64" >&2; exit 1; }
cp "$NBIN" souveraine-sensord-aarch64
# Full USB KVM receiver: GUD display-in and the HID return surface.
./scripts/build-cross.sh --features usb-kvm --bin souveraine-usb-kvm
UBIN="$CARGO_TARGET_DIR/aarch64-unknown-linux-gnu/release/souveraine-usb-kvm"
file "$UBIN" | grep -q aarch64 || { echo "usb-kvm is not aarch64" >&2; exit 1; }
cp "$UBIN" souveraine-usb-kvm-aarch64
# The wry host: self-hosted sites as apps, and the rig she wears.
# Needs webkit2gtk on the build sysroot; it is already installed on
# the phone (TASK-59 phase 1 measured against it).
@ -218,6 +228,7 @@ jobs:
sha256sum souveraine-aarch64 souveraine-x86_64 \
souveraine-sessiond-aarch64 souveraine-sensord-aarch64 \
souveraine-usb-kvm-aarch64 \
souveraine-secrets-aarch64 souveraine-secrets-x86_64 \
souveraine-machined-aarch64 souveraine-machined-x86_64 \
souveraine-sessiond-x86_64 \
@ -375,6 +386,7 @@ jobs:
cp packaging/souveraine-sessiond.service "$PKG_WORK/"
cp "souveraine-sensord-$ARCH" "$PKG_WORK/souveraine-sensord-binary"
cp packaging/souveraine-sensord.service "$PKG_WORK/"
cp "souveraine-usb-kvm-$ARCH" "$PKG_WORK/souveraine-usb-kvm-binary"
# The wry host. Guarded, and the PKGBUILD source line is removed
# when it is absent: it needs webkit2gtk in the aarch64 sysroot,
# and a missing avatar must not stop sessiond reaching the phone.
@ -398,6 +410,7 @@ jobs:
bsdtar -tf "$PKG" | grep -qx 'usr/bin/souveraine'
if [ "$ARCH" = aarch64 ]; then
bsdtar -tf "$PKG" | grep -qx 'usr/bin/souveraine-sessiond'
bsdtar -tf "$PKG" | grep -qx 'usr/bin/souveraine-usb-kvm'
fi
cp "$PKG" "$ARCH_REPO/"
gpg --batch --yes --local-user "$ARCHIVE_KEY" \