From 3c2d5f71619cf214b995b60e52e54fb667116e82 Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Wed, 26 Mar 2025 19:27:34 -0400 Subject: [PATCH] fix(packaging/flatpak): reload udev rules during install --- .../linux/flatpak/scripts/additional-install.sh | 17 ++++++++++++++--- .../scripts/remove-additional-install.sh | 16 ++++++++++++++-- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/packaging/linux/flatpak/scripts/additional-install.sh b/packaging/linux/flatpak/scripts/additional-install.sh index a27db4e0..78eb2e76 100644 --- a/packaging/linux/flatpak/scripts/additional-install.sh +++ b/packaging/linux/flatpak/scripts/additional-install.sh @@ -2,12 +2,23 @@ # User Service mkdir -p ~/.config/systemd/user -cp /app/share/sunshine/systemd/user/sunshine.service $HOME/.config/systemd/user/sunshine.service +cp /app/share/sunshine/systemd/user/sunshine.service "${HOME}/.config/systemd/user/sunshine.service" echo Sunshine User Service has been installed. echo Use [systemctl --user enable sunshine] once to autostart Sunshine on login. # Udev rule UDEV=$(cat /app/share/sunshine/udev/rules.d/60-sunshine.rules) -echo Configuring mouse permission. +echo Configuring input permissions. flatpak-spawn --host pkexec sh -c "echo '$UDEV' > /etc/udev/rules.d/60-sunshine.rules" -echo Restart computer for mouse permission to take effect. + +# Reload udev rules +path_to_udevadm=$(flatpak-spawn --host which udevadm) +if [ -x "$path_to_udevadm" ] ; then + echo "Reloading udev rules." + flatpak-spawn --host "$path_to_udevadm" control --reload-rules + flatpak-spawn --host "$path_to_udevadm" trigger --property-match=DEVNAME=/dev/uinput + flatpak-spawn --host "$path_to_udevadm" trigger --property-match=DEVNAME=/dev/uhid + echo "Udev rules reloadeded successfully." +else + echo "error: udevadm not found or not executable." +fi diff --git a/packaging/linux/flatpak/scripts/remove-additional-install.sh b/packaging/linux/flatpak/scripts/remove-additional-install.sh index 27d7af03..9fd90ce7 100644 --- a/packaging/linux/flatpak/scripts/remove-additional-install.sh +++ b/packaging/linux/flatpak/scripts/remove-additional-install.sh @@ -2,10 +2,22 @@ # User Service systemctl --user stop sunshine -rm $HOME/.config/systemd/user/sunshine.service +rm "${HOME}/.config/systemd/user/sunshine.service" systemctl --user daemon-reload echo Sunshine User Service has been removed. # Udev rule +echo Removing input permissions. flatpak-spawn --host pkexec sh -c "rm /etc/udev/rules.d/60-sunshine.rules" -echo Input rules removed. Restart computer to take effect. + +# Reload udev rules +path_to_udevadm=$(flatpak-spawn --host which udevadm) +if [ -x "$path_to_udevadm" ] ; then + echo "Reloading udev rules." + flatpak-spawn --host "$path_to_udevadm" control --reload-rules + flatpak-spawn --host "$path_to_udevadm" trigger --property-match=DEVNAME=/dev/uinput + flatpak-spawn --host "$path_to_udevadm" trigger --property-match=DEVNAME=/dev/uhid + echo "Udev rules reloadeded successfully." +else + echo "error: udevadm not found or not executable." +fi