diff options
author | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2016-12-17 14:01:06 +0000 |
---|---|---|
committer | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2016-12-19 20:29:02 +0000 |
commit | 7298f5261526384e4d95b267e502713494375dd5 (patch) | |
tree | 93579ddc855f0300b2b1c2ba712059d5b53297bf | |
parent | ca8e1afc4109667b7dbc951fc4ca0c3e5bb9a3ca (diff) | |
download | draklive-install-7298f5261526384e4d95b267e502713494375dd5.tar draklive-install-7298f5261526384e4d95b267e502713494375dd5.tar.gz draklive-install-7298f5261526384e4d95b267e502713494375dd5.tar.bz2 draklive-install-7298f5261526384e4d95b267e502713494375dd5.tar.xz draklive-install-7298f5261526384e4d95b267e502713494375dd5.zip |
Use polkit instead of consolehelper to gain root access.
Rather than spending lots of time figuring out why consolehelper no
longer works in GNOME.
-rw-r--r-- | NEWS | 1 | ||||
-rwxr-xr-x | draklive-install | 2 | ||||
-rw-r--r-- | draklive-install.desktop.in | 2 | ||||
-rwxr-xr-x | draklive-install.wrapper | 6 | ||||
-rw-r--r-- | mageia-draklive-install.desktop.in | 2 | ||||
-rw-r--r-- | org.mageia.draklive-install-lock-storage.policy | 22 | ||||
-rw-r--r-- | org.mageia.draklive-install.policy | 22 |
7 files changed, 55 insertions, 2 deletions
@@ -1,3 +1,4 @@ +- use polkit instead of consolehelper to gain root access - drop useless reboot in xsetup 2.7 diff --git a/draklive-install b/draklive-install index 42ac2f1..1a941a5 100755 --- a/draklive-install +++ b/draklive-install @@ -343,6 +343,8 @@ sub clean_live_system_hds() { sub finish_installation { my ($fstab) = @_; + #- remove the extra authorisation draklive added + run_program::rooted($::prefix, 'sed', '-i', '/for draklive-install/d', '/etc/pam.d/polkit-1'); sync_logs(); #- cleanly umount here, it will avoid fs journals to be corrupted after a hackish reboot umount_all($fstab); diff --git a/draklive-install.desktop.in b/draklive-install.desktop.in index 2777431..b3c2332 100644 --- a/draklive-install.desktop.in +++ b/draklive-install.desktop.in @@ -1,6 +1,6 @@ [Desktop Entry] Encoding=UTF-8 -Exec=/usr/bin/draklive-install-lock-storage +Exec=/usr/bin/draklive-install Icon=draklive-install Terminal=false Type=Application diff --git a/draklive-install.wrapper b/draklive-install.wrapper new file mode 100755 index 0000000..5a8f4eb --- /dev/null +++ b/draklive-install.wrapper @@ -0,0 +1,6 @@ +#!/bin/sh +if [[ "$UID" != "0" ]] ; then + /usr/bin/pkexec /usr/sbin/draklive-install-lock-storage "$@" + exit $? +fi +exec /usr/sbin/draklive-install-lock-storage "$@" diff --git a/mageia-draklive-install.desktop.in b/mageia-draklive-install.desktop.in index f935973..f9290e2 100644 --- a/mageia-draklive-install.desktop.in +++ b/mageia-draklive-install.desktop.in @@ -2,7 +2,7 @@ Encoding=UTF-8 _Name=Install on Hard Disk _Comment=Install your Mageia live system to disk -Exec=/usr/bin/draklive-install-lock-storage +Exec=/usr/bin/draklive-install Icon=draklive-install Terminal=false Type=Application diff --git a/org.mageia.draklive-install-lock-storage.policy b/org.mageia.draklive-install-lock-storage.policy new file mode 100644 index 0000000..a73282f --- /dev/null +++ b/org.mageia.draklive-install-lock-storage.policy @@ -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.draklive-install-lock-storage.pkexec.run"> + <description>Run draklive-install</description> + <message>Authentication is required to run Mageia Draklive Installer</message> + <icon_name>draklive-install</icon_name> + <defaults> + <allow_any>yes</allow_any> + <allow_inactive>no</allow_inactive> + <allow_active>yes</allow_active> + </defaults> + <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/draklive-install-lock-storage</annotate> + <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> + </action> +</policyconfig> diff --git a/org.mageia.draklive-install.policy b/org.mageia.draklive-install.policy new file mode 100644 index 0000000..dccc272 --- /dev/null +++ b/org.mageia.draklive-install.policy @@ -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.draklive-install.pkexec.run"> + <description>Run draklive-install</description> + <message>Authentication is required to run Mageia Draklive Installer</message> + <icon_name>draklive-install</icon_name> + <defaults> + <allow_any>yes</allow_any> + <allow_inactive>no</allow_inactive> + <allow_active>yes</allow_active> + </defaults> + <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/draklive-install</annotate> + <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> + </action> +</policyconfig> |