From 9ee284eb961ca51d8dc1f2822b2bf30de9d940da Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Tue, 5 Jul 2022 19:10:19 +0000 Subject: polkit: add rule to allow agl-driver to control agl-app@ systemd services Bug-AGL: SPEC-4466 Signed-off-by: Denys Dmytriyenko Change-Id: I8007aacc12f8b6bdfbca660c994d321ef1b5eca7 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27751 Reviewed-by: Scott Murray Reviewed-by: Marius Vlad Reviewed-by: Jan-Simon Moeller Tested-by: Jan-Simon Moeller --- .../polkit-rule-agl-app/files/50-agl-app.rules | 7 +++++++ .../polkit-rule-agl-app/polkit-rule-agl-app.bb | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules create mode 100644 meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb diff --git a/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules b/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules new file mode 100644 index 000000000..5fa34fbd2 --- /dev/null +++ b/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules @@ -0,0 +1,7 @@ +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.systemd1.manage-units" && + action.lookup("unit").indexOf("agl-app@") == 0 && + subject.user == "agl-driver") { + return polkit.Result.YES; + } +}); diff --git a/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb b/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb new file mode 100644 index 000000000..920bb86b3 --- /dev/null +++ b/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb @@ -0,0 +1,16 @@ +SUMMARY = "Rule for agl-driver to control agl-app@ services" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://50-agl-app.rules" + +DEPENDS += "polkit" + +inherit features_check +REQUIRED_DISTRO_FEATURES = "polkit" + +do_install() { + install -m 700 -d ${D}${sysconfdir}/polkit-1/rules.d + chown polkitd:root ${D}/${sysconfdir}/polkit-1/rules.d + install -m 0644 ${WORKDIR}/50-agl-app.rules ${D}${sysconfdir}/polkit-1/rules.d +} -- cgit 1.2.3-korg