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

Martin Jansa martin.jansa at gmail.com
Wed Sep 6 18:35:31 UTC 2017


Does this work on hosts without polkitd user?

Here it failed with:

| chown: invalid user: ‘polkitd:root’






On Tue, Aug 15, 2017 at 8:55 PM, Jason Wessel <jason.wessel at windriver.com>
wrote:

> 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
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170906/cd3b9575/attachment-0002.html>


More information about the Openembedded-core mailing list