diff options
-rw-r--r-- | meta-oe/recipes-extended/polkit/files/50-org.freedesktop.udiskie.rules | 24 | ||||
-rw-r--r-- | meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb | 17 |
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 @@ | |||
1 | polkit.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 @@ | |||
1 | DESCRIPTION = "Polkit rule to allow non-priviledged users mount/umount block devices via udisks2" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" | ||
4 | |||
5 | require polkit-group-rule.inc | ||
6 | |||
7 | # The file originates from https://github.com/coldfix/udiskie/wiki/Permissions | ||
8 | SRC_URI = "file://50-org.freedesktop.udiskie.rules" | ||
9 | |||
10 | RDEPENDS_${PN} += "udisks2" | ||
11 | |||
12 | do_install() { | ||
13 | install -m 0755 ${WORKDIR}/50-org.freedesktop.udiskie.rules ${D}${sysconfdir}/polkit-1/rules.d | ||
14 | } | ||
15 | |||
16 | USERADD_PACKAGES = "${PN}" | ||
17 | GROUPADD_PARAM:${PN} = "--system plugdev" | ||