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