mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +00:00
gparted: add polkit support
* This was missing for me and is a good test case for xfce-polkit asking for root's password. * Decision to use polkit (installed?) is made at runtime. Unfortunately this cool solution was not my idea but stolen from [1] [1] http://pkgs.fedoraproject.org/cgit/gparted.git Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
parent
0bd73fae2f
commit
165de549b7
10
meta-gnome/recipes-extended/gparted/files/gparted_polkit
Normal file
10
meta-gnome/recipes-extended/gparted/files/gparted_polkit
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
# polkit installed?
|
||||
if [ $(which pkexec) ]; then
|
||||
pkexec --disable-internal-agent "%sbindir%/gparted" "$@"
|
||||
else
|
||||
%sbindir%/gparted "$@"
|
||||
fi
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<?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>
|
||||
|
||||
<action id="org.yoctoproject.pkexec.run-gparted">
|
||||
<description>Run the GParted program</description>
|
||||
<message>Authentication is required to run the GParted Partition Editor</message>
|
||||
<icon_name>gparted</icon_name>
|
||||
<defaults>
|
||||
<allow_any>auth_admin</allow_any>
|
||||
<allow_inactive>auth_admin</allow_inactive>
|
||||
<allow_active>auth_admin</allow_active>
|
||||
</defaults>
|
||||
<annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gparted</annotate>
|
||||
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
|
||||
</action>
|
||||
|
||||
</policyconfig>
|
||||
|
|
@ -5,14 +5,34 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
|
|||
|
||||
inherit autotools pkgconfig gtk-icon-cache
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2"
|
||||
SRC_URI = " \
|
||||
${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \
|
||||
file://org.yoctoproject.pkexec.run-gparted.policy \
|
||||
file://gparted_polkit \
|
||||
"
|
||||
SRC_URI[md5sum] = "b8480274c68876acff5965d4346710e7"
|
||||
SRC_URI[sha256sum] = "02398ab33894a59b0bd8707e598c46d8bb56f1413cd54de48eed61e2920ecd60"
|
||||
|
||||
DEPENDS = "glib-2.0 gtkmm parted gnome-doc-utils-native"
|
||||
|
||||
do_install_append() {
|
||||
# Add a script which checks if polkit is installed.
|
||||
# If yes: a policy is requested from polkit / otherwise start as usual
|
||||
install ${WORKDIR}/gparted_polkit ${D}${sbindir}
|
||||
sed -i 's:%sbindir%:${sbindir}:g' ${D}${sbindir}/gparted_polkit
|
||||
# relink menu entry to use our script
|
||||
sed -i 's:${sbindir}/gparted:${sbindir}/gparted_polkit:g' ${D}${datadir}/applications/gparted.desktop
|
||||
|
||||
install -d ${D}${datadir}/polkit-1/actions
|
||||
install ${WORKDIR}/org.yoctoproject.pkexec.run-gparted.policy ${D}${datadir}/polkit-1/actions/org.yoctoproject.pkexec.run-gparted.policy
|
||||
}
|
||||
|
||||
EXTRA_OECONF = "--disable-scrollkeeper --disable-doc"
|
||||
|
||||
FILES_${PN} += "${datadir}/icons ${datadir}/appdata"
|
||||
FILES_${PN} += " \
|
||||
${datadir}/appdata \
|
||||
${datadir}/icons \
|
||||
${datadir}/polkit-1 \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN} = "dosfstools mtools e2fsprogs"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user