diff mbox series

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

Message ID 20180123231723.5923-1-chris.lesiak@licor.com
State Accepted
Headers show
Series package/avahi: Set the path to D-Bus system.d directory | expand

Commit Message

Chris Lesiak Jan. 23, 2018, 11:17 p.m. UTC
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.

Signed-off-by: Chris Lesiak <chris.lesiak@licor.com>
---
 package/avahi/avahi.mk | 1 +
 1 file changed, 1 insertion(+)

Comments

Peter Korsgaard Jan. 28, 2018, 9:09 p.m. UTC | #1
>>>>> "Chris" == Chris Lesiak <chris.lesiak@licor.com> 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?
Chris Lesiak Jan. 29, 2018, 2:19 p.m. UTC | #2
On 01/28/2018 03:09 PM, Peter Korsgaard wrote:

>>>>>> "Chris" == Chris Lesiak <chris.lesiak@licor.com> 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?
>

 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.
Samuel Martin Feb. 6, 2018, 2:52 p.m. UTC | #3
Chris, all,

On Mon, Jan 29, 2018 at 3:19 PM, Chris Lesiak <chris.lesiak@licor.com> wrote:
> On 01/28/2018 03:09 PM, Peter Korsgaard wrote:
>
>>>>>>> "Chris" == Chris Lesiak <chris.lesiak@licor.com> 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?
>>
>
> 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.
>

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

Reviewed-by: Samuel Martin <s.martin49@gmail.com>

Regards,
Thomas Petazzoni March 26, 2018, 9:04 p.m. UTC | #4
Hello,

On Tue, 23 Jan 2018 17:17:23 -0600, Chris Lesiak wrote:
> 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.
> 
> Signed-off-by: Chris Lesiak <chris.lesiak@licor.com>
> ---
>  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
diff mbox series

Patch

diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk
index c8f1af9a9d..ef621620f0 100644
--- a/package/avahi/avahi.mk
+++ b/package/avahi/avahi.mk
@@ -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