summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-extended/polkit/files/50-org.freedesktop.udiskie.rules24
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb17
2 files changed, 41 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.udiskie.rules b/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.udiskie.rules
new file mode 100644
index 0000000000..2ffa4087a8
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.udiskie.rules
@@ -0,0 +1,24 @@
1polkit.addRule(function(action, subject) {
2 var YES = polkit.Result.YES;
3 var permission = {
4 // required for udisks1:
5 "org.freedesktop.udisks.filesystem-mount": YES,
6 "org.freedesktop.udisks.luks-unlock": YES,
7 "org.freedesktop.udisks.drive-eject": YES,
8 "org.freedesktop.udisks.drive-detach": YES,
9 // required for udisks2:
10 "org.freedesktop.udisks2.filesystem-mount": YES,
11 "org.freedesktop.udisks2.encrypted-unlock": YES,
12 "org.freedesktop.udisks2.eject-media": YES,
13 "org.freedesktop.udisks2.power-off-drive": YES,
14 // required for udisks2 if using udiskie from another seat (e.g. systemd):
15 "org.freedesktop.udisks2.filesystem-mount-other-seat": YES,
16 "org.freedesktop.udisks2.filesystem-unmount-others": YES,
17 "org.freedesktop.udisks2.encrypted-unlock-other-seat": YES,
18 "org.freedesktop.udisks2.eject-media-other-seat": YES,
19 "org.freedesktop.udisks2.power-off-drive-other-seat": YES
20 };
21 if (subject.isInGroup("plugdev")) {
22 return permission[action.id];
23 }
24});
diff --git a/meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb b/meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb
new file mode 100644
index 0000000000..ae024d0328
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb
@@ -0,0 +1,17 @@
1DESCRIPTION = "Polkit rule to allow non-priviledged users mount/umount block devices via udisks2"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
4
5require polkit-group-rule.inc
6
7# The file originates from https://github.com/coldfix/udiskie/wiki/Permissions
8SRC_URI = "file://50-org.freedesktop.udiskie.rules"
9
10RDEPENDS_${PN} += "udisks2"
11
12do_install() {
13 install -m 0755 ${WORKDIR}/50-org.freedesktop.udiskie.rules ${D}${sysconfdir}/polkit-1/rules.d
14}
15
16USERADD_PACKAGES = "${PN}"
17GROUPADD_PARAM:${PN} = "--system plugdev"