From c8f9f09bcfec97ab54bf26b70995701d73410201 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Sat, 30 May 2015 14:43:58 +0200 Subject: Powerdevil: added Polkit Local Authority files. Fixes KDEBUG 344456. This fixes the missing Shutdown/Reboot and Suspend/Hibernate functionality. --- kde/doinst.sh/powerdevil | 18 ++++++++++++++++++ kde/post-install/powerdevil.post-install | 17 ++++++++++++++++- .../powerdevil/30-org.freedesktop.upower.pkla | 9 +++++++++ ...edesktop.consolekit.system.stop-multiple-users.pkla | 8 ++++++++ ...sktop.consolekit.system.restart-multiple-users.pkla | 7 +++++++ 5 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 kde/doinst.sh/powerdevil create mode 100644 kde/post-install/powerdevil/30-org.freedesktop.upower.pkla create mode 100644 kde/post-install/powerdevil/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla create mode 100644 kde/post-install/powerdevil/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla diff --git a/kde/doinst.sh/powerdevil b/kde/doinst.sh/powerdevil new file mode 100644 index 0000000..ccf6b67 --- /dev/null +++ b/kde/doinst.sh/powerdevil @@ -0,0 +1,18 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# Move over the new policy files: +config etc/polkit-1/localauthority/50-local.d/30-org.freedesktop.upower.pkla.new +config etc/polkit-1/localauthority/50-local.d/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla.new +config etc/polkit-1/localauthority/50-local.d/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla.new + diff --git a/kde/post-install/powerdevil.post-install b/kde/post-install/powerdevil.post-install index 19920d4..20e2e59 100644 --- a/kde/post-install/powerdevil.post-install +++ b/kde/post-install/powerdevil.post-install @@ -1,4 +1,19 @@ # Move the polkit dbus configuration files to the proper place: mkdir -p $PKG/etc -mv $PKG//etc/kde/dbus-1 $PKG/etc/ +mv $PKG/etc/kde/dbus-1 $PKG/etc/ + +mkdir -p $PKG/etc/polkit-1/localauthority/50-local.d +chmod 700 $PKG/etc/polkit-1/localauthority + +# Add polkit policy file that brings back suspend/hibernate options: +install -m 0660 -o root \ + $CWD/post-install/powerdevil/30-org.freedesktop.upower.pkla \ + $PKG/etc/polkit-1/localauthority/50-local.d/30-org.freedesktop.upower.pkla.new +# Add polkit policy files that bring back shutdown/reboot: +install -m 0660 -o root \ + $CWD/post-install/powerdevil/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla \ + $PKG/etc/polkit-1/localauthority/50-local.d/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla.new +install -m 0660 -o root \ + $CWD/post-install/powerdevil/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla \ + $PKG/etc/polkit-1/localauthority/50-local.d/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla.new diff --git a/kde/post-install/powerdevil/30-org.freedesktop.upower.pkla b/kde/post-install/powerdevil/30-org.freedesktop.upower.pkla new file mode 100644 index 0000000..b3b5dd2 --- /dev/null +++ b/kde/post-install/powerdevil/30-org.freedesktop.upower.pkla @@ -0,0 +1,9 @@ +# /etc/polkit-1/localauthority/50-local.d/30-org.freedesktop.upower.pkla +# Allow all power users to suspend/hibernate the computer: +[Power Users] +Identity=unix-group:power +Action=org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate +ResultAny=yes +ResultInactive=no +ResultActive=yes + diff --git a/kde/post-install/powerdevil/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla b/kde/post-install/powerdevil/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla new file mode 100644 index 0000000..1fae73a --- /dev/null +++ b/kde/post-install/powerdevil/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla @@ -0,0 +1,8 @@ +# /etc/polkit-1/localauthority/50-local.d/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla +[Allow power users to shutdown] +Identity=unix-group:power +Action=org.freedesktop.consolekit.system.stop-multiple-users;org.freedesktop.consolekit.system.stop +ResultAny=yes +ResultInactive=no +ResultActive=yes + diff --git a/kde/post-install/powerdevil/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla b/kde/post-install/powerdevil/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla new file mode 100644 index 0000000..db17c63 --- /dev/null +++ b/kde/post-install/powerdevil/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla @@ -0,0 +1,7 @@ +# /etc/polkit-1/localauthority/50-local.d/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla +[Allow power users to restart] +Identity=unix-group:power +Action=org.freedesktop.consolekit.system.restart-multiple-users;org.freedesktop.consolekit.system.restart +ResultAny=yes +ResultInactive=no +ResultActive=yes -- cgit v1.2.3