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)