fix(audio): grant operator alsa access

This commit is contained in:
Brad Stein 2026-04-24 22:43:25 -03:00
parent 70426ad8a8
commit 040cf31d01
6 changed files with 23 additions and 6 deletions

6
Cargo.lock generated
View File

@ -1642,7 +1642,7 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
[[package]]
name = "lesavka_client"
version = "0.13.10"
version = "0.13.11"
dependencies = [
"anyhow",
"async-stream",
@ -1676,7 +1676,7 @@ dependencies = [
[[package]]
name = "lesavka_common"
version = "0.13.10"
version = "0.13.11"
dependencies = [
"anyhow",
"base64",
@ -1688,7 +1688,7 @@ dependencies = [
[[package]]
name = "lesavka_server"
version = "0.13.10"
version = "0.13.11"
dependencies = [
"anyhow",
"base64",

View File

@ -4,7 +4,7 @@ path = "src/main.rs"
[package]
name = "lesavka_client"
version = "0.13.10"
version = "0.13.11"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "lesavka_common"
version = "0.13.10"
version = "0.13.11"
edition = "2024"
build = "build.rs"

View File

@ -302,6 +302,11 @@ echo "==> 1c. GPIO permissions for relay"
echo 'z /dev/gpiochip* 0660 root gpio -' | sudo tee /etc/tmpfiles.d/gpiochip.conf >/dev/null
sudo systemd-tmpfiles --create /etc/tmpfiles.d/gpiochip.conf || true
echo "==> 1d. Audio permissions for diagnostics"
if getent group audio >/dev/null 2>&1 && [ -n "${SUDO_USER:-}" ] && [ "${SUDO_USER}" != "root" ]; then
sudo usermod -aG audio "${SUDO_USER}" || true
fi
echo "==> 2a. Kernel-driver tweaks"
cat <<'EOF' | sudo tee /etc/modprobe.d/gc311-stream.conf >/dev/null
options uvcvideo quirks=0x200 timeout=10000

View File

@ -10,7 +10,7 @@ bench = false
[package]
name = "lesavka_server"
version = "0.13.10"
version = "0.13.11"
edition = "2024"
autobins = false

View File

@ -43,3 +43,15 @@ fn server_install_keeps_uac_sanity_helper_available() {
"install script should install the UAC sanity helper to a stable path"
);
}
#[test]
fn server_install_grants_operator_audio_group_access() {
assert!(
SERVER_INSTALL.contains("usermod -aG audio"),
"install script should grant the invoking operator access to ALSA devices"
);
assert!(
SERVER_INSTALL.contains("SUDO_USER"),
"install script should target the sudo-invoking operator instead of a hard-coded account"
);
}