[OE-core] [PATCH] systemd: Fix rootfs transaction error when PACKAGECONFIG has polkit

Jason Wessel jason.wessel at windriver.com
Tue Aug 15 18:55:34 UTC 2017


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 at windriver.com>
---
 meta/recipes-core/systemd/systemd_234.bb | 9 +++++++++
 1 file changed, 9 insertions(+)

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;"
 
-- 
2.11.0




More information about the Openembedded-core mailing list