Skip to contentSkip to conversation

package/avahi: Set the path to D-Bus system.d directory

PATCH New Chris Lesiak 4 participants 5 messages Jan 23, 2018 – Mar 26, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/avahi: Set the path to D-Bus system.d directory

Add --with-dbus-sys=/usr/share/dbus-1/system.d to configure the path to D-Bus system.d directory. Without this option, distribution provided configuration files were unnecessarily stored in /etc.

---
 package/avahi/avahi.mk | 1 +
 1 file changed, 1 insertion(+)
package/avahi/avahi.mk +1 -0
index c8f1af9a9d..ef621620f0 100644
@@ -125,6 +125,7 @@ endif
 
 ifeq ($(BR2_PACKAGE_DBUS),y)
 AVAHI_DEPENDENCIES += dbus
+AVAHI_CONF_OPTS += --with-dbus-sys=/usr/share/dbus-1/system.d
 else
 AVAHI_CONF_OPTS += --disable-dbus
 endif
Signature · 1 line
2.13.6
#1 lore raw

PATCH 1/1 package/avahi: Set the path to D-Bus system.d directory

Quoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Chris" == Chris Lesiak <[email protected]> writes:

Add --with-dbus-sys=/usr/share/dbus-1/system.d to configure the path to D-Bus system.d directory. Without this option, distribution provided configuration files were unnecessarily stored in /etc.

Hmm, if we want this to happen then several other packages also look like they need to be fixed:

git grep '/system\.d'
package/dnsmasq/dnsmasq.mk: $(TARGET_DIR)/etc/dbus-1/system.d/dnsmasq.conf
package/miraclecast/miraclecast.mk: $(TARGET_DIR)/etc/dbus-1/system.d/org.freedesktop.miracle.conf
package/wpa_supplicant/wpa_supplicant.mk: $(TARGET_DIR)/etc/dbus-1/system.d/wpa_supplicant.conf

When did these files move from /etc/ to /usr/share? In D-Bus 1.8.x?

Signature · 1 line
Bye, Peter Korsgaard
#2 lore raw

PATCH 1/1 package/avahi: Set the path to D-Bus system.d directory

Quoted 9 lines · Peter Korsgaard
Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Chris" == Chris Lesiak <[email protected]> writes:

Add --with-dbus-sys=/usr/share/dbus-1/system.d to configure the path to D-Bus system.d directory. Without this option, distribution provided configuration files were unnecessarily stored in /etc.

Hmm, if we want this to happen then several other packages also look like they need to be fixed:

Quoted 7 lines

git grep '/system\.d'
package/dnsmasq/dnsmasq.mk: $(TARGET_DIR)/etc/dbus-1/system.d/dnsmasq.conf
package/miraclecast/miraclecast.mk: $(TARGET_DIR)/etc/dbus-1/system.d/org.freedesktop.miracle.conf
package/wpa_supplicant/wpa_supplicant.mk: $(TARGET_DIR)/etc/dbus-1/system.d/wpa_supplicant.conf

When did these files move from /etc/ to /usr/share? In D-Bus 1.8.x?

From the D-Bus NEWS file:

D-Bus 1.9.18 (2015-07-21)
==

The ?Pirate Elite? release.

Configuration changes:

? The basic setup for the well-known system and session buses is now done
? in read-only files in ${datadir}, moving a step closer to systems ? that can operate with an empty /etc directory. In increasing order ? of precedence:

? ? ${datadir}/dbus-1/s*.conf now perform the basic setup such as setting ??? the default message policies.
? ? ${sysconfdir}/dbus-1/s*.conf are now optional. By default ??? dbus still installs a trivial version of each, for documentation ??? purposes; putting configuration directives in these files is
deprecated.
? ? ${datadir}/dbus-1/s*.d/ are now available for third-party software ??? to install "drop-in" configuration snippets (any packages ??? using those directories should explicitly depend on at least this ??? version of dbus).
? ? ${sysconfdir}/dbus-1/s*.d/ are also still available for sysadmins ??? or third-party software to install "drop-in" configuration snippets ? ? ${sysconfdir}/dbus-1/s*-local.conf are still available for sysadmins' ??? overrides

? ${datadir} is normally /usr/share, ${sysconfdir} is normally /etc, ? and "s*" refers to either system or session as appropriate.

Signature · 7 lines
Chris Lesiak
Principal Design Engineer, Software
LI-COR Biosciences
chris.lesiak at licor.com

Any opinions expressed are those of the author and
do not necessarily represent those of his employer.
#3 lore raw

PATCH 1/1 package/avahi: Set the path to D-Bus system.d directory

Chris, all,

Quoted 51 lines · Chris Lesiak
Quoted 18 lines · Peter Korsgaard
Quoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Chris" == Chris Lesiak <[email protected]> writes:

Add --with-dbus-sys=/usr/share/dbus-1/system.d to configure the path to D-Bus system.d directory. Without this option, distribution provided configuration files were unnecessarily stored in /etc.

Hmm, if we want this to happen then several other packages also look like they need to be fixed:

git grep '/system\.d'
package/dnsmasq/dnsmasq.mk:
$(TARGET_DIR)/etc/dbus-1/system.d/dnsmasq.conf package/miraclecast/miraclecast.mk:
$(TARGET_DIR)/etc/dbus-1/system.d/org.freedesktop.miracle.conf package/wpa_supplicant/wpa_supplicant.mk:
$(TARGET_DIR)/etc/dbus-1/system.d/wpa_supplicant.conf

Quoted 2 lines

When did these files move from /etc/ to /usr/share? In D-Bus 1.8.x?

From the D-Bus NEWS file:

D-Bus 1.9.18 (2015-07-21)
==

The ?Pirate Elite? release.

Configuration changes:

? The basic setup for the well-known system and session buses is now done
in read-only files in ${datadir}, moving a step closer to systems that can operate with an empty /etc directory. In increasing order of precedence:

? ${datadir}/dbus-1/s*.conf now perform the basic setup such as setting
the default message policies.
? ${sysconfdir}/dbus-1/s*.conf are now optional. By default
dbus still installs a trivial version of each, for documentation purposes; putting configuration directives in these files is deprecated.
? ${datadir}/dbus-1/s*.d/ are now available for third-party software
to install "drop-in" configuration snippets (any packages using those directories should explicitly depend on at least this version of dbus).
? ${sysconfdir}/dbus-1/s*.d/ are also still available for sysadmins
or third-party software to install "drop-in" configuration snippets
? ${sysconfdir}/dbus-1/s*-local.conf are still available for sysadmins'
overrides

Quoted 3 lines

${datadir} is normally /usr/share, ${sysconfdir} is normally /etc, and "s*" refers to either system or session as appropriate.

A quick sum-up could have been added to the commit log... Anyway:

Regards,

Signature · 1 line
Samuel
#4 lore raw

PATCH 1/1 package/avahi: Set the path to D-Bus system.d directory

In reply to Chris Lesiak

Hello,

Quoted 9 lines · Chris Lesiak

Add --with-dbus-sys=/usr/share/dbus-1/system.d to configure the path to D-Bus system.d directory. Without this option, distribution provided configuration files were unnecessarily stored in /etc.

---
 package/avahi/avahi.mk | 1 +
 1 file changed, 1 insertion(+)

Applied to master after improving the commit log. As Peter Korsgaard said, a number of other packages still install their D-Bus files in /etc. Could you look at fixing those as well ?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com