Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] dbus missing /var/lib/dbus directory
@ 2012-05-17  3:23 Michael J. Hammel
  2012-05-17  8:21 ` Thomas Petazzoni
  0 siblings, 1 reply; 3+ messages in thread
From: Michael J. Hammel @ 2012-05-17  3:23 UTC (permalink / raw)
  To: buildroot

I enabled NetworkManager, which got me dbus, but then disabled
NetworkManager, but dbus remained (that part is okay).  I noticed today
that the init script for dbus tries to run dbus-uuidgen but fails with a
message about not being able to open /etc/machine-id.  I dug around and
then strace'd dbus-uuidgen and found that if /var/lib/dbus is present
this message goes away.

Should the init script also try to create /var/lib/dbus with "mkdir -p"?
Of is that something the specific rootfs needs to address on its own?
-- 
Michael J. Hammel <buildroot@graphics-muse.org>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] dbus missing /var/lib/dbus directory
  2012-05-17  3:23 [Buildroot] dbus missing /var/lib/dbus directory Michael J. Hammel
@ 2012-05-17  8:21 ` Thomas Petazzoni
  2012-05-18  4:33   ` Michael J. Hammel
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2012-05-17  8:21 UTC (permalink / raw)
  To: buildroot

Le Wed, 16 May 2012 21:23:57 -0600,
"Michael J. Hammel" <buildroot@graphics-muse.org> a ?crit :

> I enabled NetworkManager, which got me dbus, but then disabled
> NetworkManager, but dbus remained (that part is okay).

That's the normal kconfig behavior. The NetworkManager package
"selects" the D-Bus package, so when you enable the NetworkManager
package, it automatically enables D-Bus. But when you disable
NetworkManager, it doesn't automatically disable D-Bus.

> I noticed today that the init script for dbus tries to run dbus-uuidgen but fails with a
> message about not being able to open /etc/machine-id.  I dug around and
> then strace'd dbus-uuidgen and found that if /var/lib/dbus is present
> this message goes away.
> 
> Should the init script also try to create /var/lib/dbus with "mkdir -p"?
> Of is that something the specific rootfs needs to address on its own?

Well, it should rather be done at build time, when the D-Bus package is
built. And, reading the code, it actually is created:

define DBUS_INSTALL_TARGET_FIXUP
        rm -rf $(TARGET_DIR)/var/lib/dbus
        ln -sf /tmp/dbus $(TARGET_DIR)/var/lib/dbus
        $(INSTALL) -m 0755 -D package/dbus/S30dbus $(TARGET_DIR)/etc/init.d/S30dbus
endef

DBUS_POST_INSTALL_TARGET_HOOKS += DBUS_INSTALL_TARGET_FIXUP

It doesn't exist in your filesystem?

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] dbus missing /var/lib/dbus directory
  2012-05-17  8:21 ` Thomas Petazzoni
@ 2012-05-18  4:33   ` Michael J. Hammel
  0 siblings, 0 replies; 3+ messages in thread
From: Michael J. Hammel @ 2012-05-18  4:33 UTC (permalink / raw)
  To: buildroot

On Thu, 2012-05-17 at 10:21 +0200, Thomas Petazzoni wrote:
> define DBUS_INSTALL_TARGET_FIXUP
>         rm -rf $(TARGET_DIR)/var/lib/dbus
>         ln -sf /tmp/dbus $(TARGET_DIR)/var/lib/dbus
>         $(INSTALL) -m 0755 -D package/dbus/S30dbus $(TARGET_DIR)/etc/init.d/S30dbus
> endef

> It doesn't exist in your filesystem?

Ah.  There's the reason.  I wipe /tmp on boot so I can create a custom
directory structure in a tmpfs.  I'll add support for /var/lib/dbus
there if I decide to keep dbus.

Thanks for the tip Thomas.
-- 
Michael J. Hammel <buildroot@graphics-muse.org>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-05-18  4:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-17  3:23 [Buildroot] dbus missing /var/lib/dbus directory Michael J. Hammel
2012-05-17  8:21 ` Thomas Petazzoni
2012-05-18  4:33   ` Michael J. Hammel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox