summaryrefslogtreecommitdiffstats
path: root/polkit
diff options
context:
space:
mode:
authorColin Guthrie <colin@mageia.org>2013-10-07 11:40:13 +0100
committerColin Guthrie <colin@mageia.org>2013-10-07 11:55:32 +0100
commitec7c0926cc98fa3adb0d70bd82404b52b46d0da4 (patch)
treebeae3ac8856d0878182edc088a3343d9b9969ecc /polkit
parent8e3b15321bc251e0aadad652f5b3896333b3b2fa (diff)
downloaddrak3d-ec7c0926cc98fa3adb0d70bd82404b52b46d0da4.tar
drak3d-ec7c0926cc98fa3adb0d70bd82404b52b46d0da4.tar.gz
drak3d-ec7c0926cc98fa3adb0d70bd82404b52b46d0da4.tar.bz2
drak3d-ec7c0926cc98fa3adb0d70bd82404b52b46d0da4.tar.xz
drak3d-ec7c0926cc98fa3adb0d70bd82404b52b46d0da4.zip
Convert to polkit from usermode consolehelper for gaining root privileges
polkit is better integrated into various environments, both console and GUI and offers better access rules and prevents the internal need to run su which is prone to errors and doesn't offer an environment integrated prompt to the user. In this case the current package policy (in rpm spec) has been migrated here and is as follows: drak3d requires authentication as the current user. mga#11125
Diffstat (limited to 'polkit')
-rw-r--r--polkit/policy/Makefile16
-rw-r--r--polkit/policy/org.mageia.drak3d.policy.in22
-rwxr-xr-xpolkit/wrappers/drak3d2
3 files changed, 40 insertions, 0 deletions
diff --git a/polkit/policy/Makefile b/polkit/policy/Makefile
new file mode 100644
index 0000000..1de7222
--- /dev/null
+++ b/polkit/policy/Makefile
@@ -0,0 +1,16 @@
+POLKITPOLICYDEST = $(DESTDIR)/usr/share/polkit-1/actions
+
+POLICY_IN := $(wildcard *.policy.in)
+POLICY = $(POLICY_IN:.policy.in=.policy)
+
+all: $(POLICY)
+
+clean:
+ rm -f $(POLICY)
+
+install: all
+ install -d $(POLKITPOLICYDEST)
+ install -m644 $(POLICY) $(POLKITPOLICYDEST)
+
+%.policy: %.policy.in
+ intltool-merge --utf8 ../../po $< $@ -x -u -c ../../po/.intltool-merge-cache
diff --git a/polkit/policy/org.mageia.drak3d.policy.in b/polkit/policy/org.mageia.drak3d.policy.in
new file mode 100644
index 0000000..ce262ec
--- /dev/null
+++ b/polkit/policy/org.mageia.drak3d.policy.in
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE policyconfig PUBLIC
+"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
+"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
+<policyconfig>
+
+ <vendor>Mageia</vendor>
+ <vendor_url>http://www.mageia.org/</vendor_url>
+
+ <action id="org.mageia.drak3d.pkexec.run">
+ <_description>Run Mageia 3D Desktop Configuration</_description>
+ <_message>Authentication is required to run Mageia 3D Desktop Configuration</_message>
+ <icon_name>drakconf</icon_name>
+ <defaults>
+ <allow_any>no</allow_any>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>auth_self_keep</allow_active>
+ </defaults>
+ <annotate key="org.freedesktop.policykit.exec.path">/usr/libexec/drak3d</annotate>
+ <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
+ </action>
+</policyconfig>
diff --git a/polkit/wrappers/drak3d b/polkit/wrappers/drak3d
new file mode 100755
index 0000000..1f54048
--- /dev/null
+++ b/polkit/wrappers/drak3d
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /usr/bin/pkexec /usr/libexec/drak3d $*