uuid not getting generated until after install
Ray Strode
halfline at gmail.com
Mon May 12 11:56:30 PDT 2008
Hi,
> > This is not about %post assuming a running message bus.
> > This is about gconftool failing in buildroots because it now calls
> > dbus_error_init()...
>
> May be, but the patch for fixing that isn't what's posted here.
>
> Here's the thing: We _want_ system bus connections (and also
> dbus_bus_get_id()) to fail in %post otherwise real packaging bugs
> assuming a running system bus won't be found until very late.
>
> That does not mean that dbus_error_init() should fail as libdbus.so can
> be used for peer connections and private buses (which should be allowed
> in %post).
So the assertion is actually from dbus_bus_get () trying to autolaunch
a session bus. It turns out in the gconftool case we don't want an
autolaunched bus, ever, we just want an already running bus or no bus.
Even if the machine-id is properly installed we don't need or want to
start a bus just to have it make a call that's going to fail.
Given that, I think maybe the least invasive fix is to make gconf not
call dbus_bus_get () if DBUS_SESSION_BUS_ADDRESS is unset.
Making dbus_get_local_machine_id() return NULL would probably work
also, but that seems wrong because the surrounding code will treat it
as an OOM error.
Another, option might be to add a dbus_bus_set_auto_launch () method
to toggle whether dbus_bus_get() should autolaunch a bus if one isn't
around.
--Ray
More information about the dbus
mailing list