Fixed handling of supplementary groups for sound device.

This commit is contained in:
Jocelyn Le Sage 2022-10-10 13:49:35 -04:00
parent d52d8e95bf
commit 2b14dd6a9b
2 changed files with 28 additions and 4 deletions

View File

@ -13,9 +13,5 @@ fi
# Save the associated group.
SND_GRP="$(find "$SND_DEV" -maxdepth 1 -not -type d -exec stat -c "%g" {} \; | sort -u | tail -n1)"
echo "sound device group $SND_GRP."
if [ -f /var/run/s6/container_environment/SUP_GROUP_IDS ]; then
echo -n "," >> /var/run/s6/container_environment/SUP_GROUP_IDS
fi
echo -n "$SND_GRP" >> /var/run/s6/container_environment/SUP_GROUP_IDS
# vim: set ft=sh :

28
rootfs/etc/services.d/app/sgid Executable file
View File

@ -0,0 +1,28 @@
#!/bin/sh
#
# Get the supplementary group ID(s) needed to access sound device. These are
# added to the ones provided by $SUP_GROUP_IDS.
#
set -e # Exit immediately if a command exits with a non-zero status.
set -u # Treat unset variables as an error.
SND_DEV="/dev/snd"
SUP_GROUP_IDS="${SUP_GROUP_IDS:-}"
# Add group associated to the sound device.
if [ -d "$SND_DEV" ]; then
# Save the associated group.
SND_GRP="$(find "$SND_DEV" -maxdepth 1 -not -type d -exec stat -c "%g" {} \; | sort -u | tail -n1)"
if [ -n "$SUP_GROUP_IDS" ]; then
SUP_GROUP_IDS="$SUP_GROUP_IDS,$SND_GRP"
else
SUP_GROUP_IDS="$SND_GRP"
fi
fi
echo "$SUP_GROUP_IDS" | tr ',' '\n'
# vim:ft=sh:ts=4:sw=4:et:sts=4