aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2017-08-15 11:55:34 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-16 00:07:44 +0100
commite2e36bb83355208aaf5a399107b4a99e62a708d3 (patch)
tree10b6f1be546b3f2f56dc22e750cbb57c635a5bf2 /meta/recipes-core/systemd
parentbb837cae92472b294ac886b121b2249e4314439f (diff)
downloadopenembedded-core-contrib-e2e36bb83355208aaf5a399107b4a99e62a708d3.tar.gz
systemd: Fix rootfs transaction error when PACKAGECONFIG has polkit
The systemd 234 added some files to the polkit directory and the directory the files live in must be owned by the polkitd user, else you will receive the following error when the rootfs is being assembled: Error: Transaction check error: file /usr/share/polkit-1/rules.d conflicts between attempted installs of polkit-0.113-r0.15.core2_64 and systemd-1:234-r0.0.core2_64 The fix similar to other packages such as libvirt where the user must exist and the directory must be created with the proper attributes. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/systemd')
-rw-r--r--meta/recipes-core/systemd/systemd_234.bb9
1 files changed, 9 insertions, 0 deletions
diff --git a/meta/recipes-core/systemd/systemd_234.bb b/meta/recipes-core/systemd/systemd_234.bb
index ad7fc99b90..4560cf4175 100644
--- a/meta/recipes-core/systemd/systemd_234.bb
+++ b/meta/recipes-core/systemd/systemd_234.bb
@@ -245,6 +245,14 @@ do_install() {
ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
fi
install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
+
+ # If polkit is setup fixup permissions and ownership
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'polkit', '', d)}" = "polkit" ] ; then
+ if [ -d ${D}${datadir}/polkit-1/rules.d ] ; then
+ chmod 700 ${D}${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}${datadir}/polkit-1/rules.d
+ fi
+ fi
}
do_install_ptest () {
@@ -308,6 +316,7 @@ USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--sy
USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /bin/nologin systemd-network;', '', d)}"
USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /bin/nologin systemd-coredump;', '', d)}"
USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /bin/nologin systemd-resolve;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
USERADD_PARAM_${PN}-extra-utils += "--system -d / -M --shell /bin/nologin systemd-bus-proxy;"