[Pkg-utopia-maintainers] Bug#794723: Policykit crashes systemd

Martin Pitt mpitt at debian.org
Tue Oct 20 03:27:53 UTC 2015


Hello all,

I was just investigating the corresponding Ubuntu bug
https://launchpad.net/bugs/1447654 as this just got new duplicates.

I finally realized what was going on here, but of course Simon figured
it all out well before me :-)

Simon McVittie [2015-10-11 14:28 +0100]:
> The reason that polkit can't have its bus name is that the D-Bus
> configuration that would allow it to do so has not been installed yet.
> policykit-1.deb has been unpacked, which installed a static file each in
> /usr/share/dbus-1/system-services and /lib/systemd/system that
> declared it as available; so systemctl will attempt to use it.
> However, because policykit-1.deb has not yet been configured,
> the D-Bus configuration in /etc/dbus-1/system.d/ to allow it to
> own its name is still named org.freedesktop.PolicyKit1.conf.dpkg-new,
> and dbus-daemon won't read that file. So polkit is not yet runnable.
> 
> I think this means we need to modify policykit-1 so that whatever
> features make systemd/systemctl want to use it are not detected until
> policykit-1 has been configured, i.e. until policykit-1.postinst
> has run. That would break what is effectively a circular dependency.

For now I propose that the preinst temporarily masks polkitd.service
(ln -s /dev/null /run/systemd/system/polkitd.service), and the
postinst removes that symlink again, as then the conffiles are all in
place. I just tested this in a scenario that previously hung, and it
works smoothly.

What do you think about this?

> With dbus 1.10, we would be able to install the bus setup to allow
> claiming polkit's bus name in /usr/share instead of in /etc, as a
> non-conffile; but that wouldn't work during upgrades from jessie,
> since dbus 1.8 didn't look in /usr/share.

Right, this will be a lot simpler, more robust, and fix this problem
for other D-Bus services as well. It isn't so apparent for others
though, as systemd directly talks to polkit, but not to e. g. udisks.

Thanks,

Martin
-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)



More information about the Pkg-utopia-maintainers mailing list