summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri John Ledkov <dimitri.j.ledkov@intel.com>2015-02-25 15:39:04 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2015-05-27 11:49:34 +0100
commitb2c61ca6ea2dd9ba62ebddc98fa295ee84ab3949 (patch)
tree162c3ec61692523c8e6806c9ac030f066965cef4
parent4cbe3019c727380ec8734b7d2aa5a02e251d1489 (diff)
downloaddbus-b2c61ca6ea2dd9ba62ebddc98fa295ee84ab3949.tar.gz
Move session & system bus configuration to datadir, by default.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89280 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
-rw-r--r--bus/Makefile.am21
-rw-r--r--bus/legacy-config/session.conf.in20
-rw-r--r--bus/legacy-config/system.conf.in20
-rw-r--r--bus/session.conf.in7
-rw-r--r--bus/system.conf.in7
-rw-r--r--configure.ac7
-rw-r--r--dbus/Makefile.am6
-rw-r--r--test/Makefile.am6
-rw-r--r--tools/Makefile.am2
9 files changed, 77 insertions, 19 deletions
diff --git a/bus/Makefile.am b/bus/Makefile.am
index ac2b4fce..38c0558f 100644
--- a/bus/Makefile.am
+++ b/bus/Makefile.am
@@ -1,4 +1,5 @@
-configdir=$(sysconfdir)/dbus-1
+dbusdatadir=$(datadir)/dbus-1
+legacydbusdatadir=$(sysconfdir)/dbus-1
dbus_daemon_execdir = $(DBUS_DAEMONDIR)
DBUS_BUS_LIBS = \
@@ -21,7 +22,7 @@ AM_CPPFLAGS = \
$(DBUS_STATIC_BUILD_CPPFLAGS) \
$(XML_CFLAGS) \
$(APPARMOR_CFLAGS) \
- -DDBUS_SYSTEM_CONFIG_FILE=\""$(configdir)/system.conf"\" \
+ -DDBUS_SYSTEM_CONFIG_FILE=\""$(dbusdatadir)/system.conf"\" \
-DDBUS_COMPILATION \
$(NULL)
@@ -33,15 +34,19 @@ EFENCE=
CONFIG_IN_FILES= \
session.conf.in \
system.conf.in \
+ legacy-config/session.conf.in \
+ legacy-config/system.conf.in \
org.freedesktop.dbus-session.plist.in \
example-system-enable-stats.conf.in \
example-session-disable-stats.conf.in \
$(NULL)
-config_DATA = session.conf
+dbusdata_DATA = session.conf
+legacydbusdata_DATA = legacy-config/session.conf
if DBUS_UNIX
-config_DATA += system.conf
+dbusdata_DATA += system.conf
+legacydbusdata_DATA += legacy-config/system.conf
endif
examplesdir = ${docdir}/examples
@@ -231,12 +236,12 @@ clean-local:
/bin/rm *.bb *.bbg *.da *.gcov || true
install-data-hook:
- $(mkinstalldirs) $(DESTDIR)$(configdir)/session.d
- $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services
+ $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/session.d
+ $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/services
if DBUS_UNIX
$(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus
- $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d
- $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/system-services
+ $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/system.d
+ $(mkinstalldirs) $(DESTDIR)$(dbusdatadir)/system-services
endif
if HAVE_SYSTEMD
# Install dbus.socket as default implementation of a D-Bus stack.
diff --git a/bus/legacy-config/session.conf.in b/bus/legacy-config/session.conf.in
new file mode 100644
index 00000000..aaea9104
--- /dev/null
+++ b/bus/legacy-config/session.conf.in
@@ -0,0 +1,20 @@
+<!--
+This configuration file is no longer required and may be removed.
+
+In older versions of dbus, this file defined the behaviour of the well-known
+session bus. That behaviour is now determined by
+@DBUS_DATADIR@/dbus-1/session.conf, which should not be edited.
+
+For local configuration changes, create a file
+@DBUS_SYSCONFDIR@/dbus-1/session-local.conf or files matching
+@DBUS_SYSCONFDIR@/dbus-1/session.d/*.conf, with a <busconfig>
+element containing configuration directives. These directives can
+override D-Bus or OS defaults.
+
+For upstream or distribution-wide defaults that can be overridden
+by a local sysadmin, create files matching
+@DBUS_DATADIR@/dbus-1/session.d/*.conf instead.
+-->
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig></busconfig>
diff --git a/bus/legacy-config/system.conf.in b/bus/legacy-config/system.conf.in
new file mode 100644
index 00000000..84ed2967
--- /dev/null
+++ b/bus/legacy-config/system.conf.in
@@ -0,0 +1,20 @@
+<!--
+This configuration file is no longer required and may be removed.
+
+In older versions of dbus, this file defined the behaviour of the well-known
+system bus. That behaviour is now determined by
+@DBUS_DATADIR@/dbus-1/system.conf, which should not be edited.
+
+For local configuration changes, create a file
+@DBUS_SYSCONFDIR@/dbus-1/system-local.conf or files matching
+@DBUS_SYSCONFDIR@/dbus-1/system.d/*.conf, with a <busconfig>
+element containing configuration directives. These directives can
+override D-Bus or OS defaults.
+
+For upstream or distribution-wide defaults that can be overridden
+by a local sysadmin, create files matching
+@DBUS_DATADIR@/dbus-1/system.d/*.conf instead.
+-->
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig></busconfig>
diff --git a/bus/session.conf.in b/bus/session.conf.in
index e78c1d33..97e1f673 100644
--- a/bus/session.conf.in
+++ b/bus/session.conf.in
@@ -35,13 +35,18 @@
<allow own="*"/>
</policy>
+ <!-- Include legacy configuration location -->
+ <include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/session.conf</include>
+
<!-- Config files are placed here that among other things,
further restrict the above policy for specific services. -->
<includedir>session.d</includedir>
+ <includedir>@DBUS_SYSCONFDIR@/dbus-1/session.d</includedir>
+
<!-- This is included last so local configuration can override what's
in this standard file -->
- <include ignore_missing="yes">session-local.conf</include>
+ <include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/session-local.conf</include>
<include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
diff --git a/bus/system.conf.in b/bus/system.conf.in
index ac78c734..3679115e 100644
--- a/bus/system.conf.in
+++ b/bus/system.conf.in
@@ -97,13 +97,18 @@
send_interface="org.freedesktop.DBus.Debug.Stats"/>
</policy>
+ <!-- Include legacy configuration location -->
+ <include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/system.conf</include>
+
<!-- Config files are placed here that among other things, punch
holes in the above policy for specific services. -->
<includedir>system.d</includedir>
+ <includedir>@DBUS_SYSCONFDIR@/dbus-1/system.d</includedir>
+
<!-- This is included last so local configuration can override what's
in this standard file -->
- <include ignore_missing="yes">system-local.conf</include>
+ <include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/system-local.conf</include>
<include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
diff --git a/configure.ac b/configure.ac
index fd0600ff..2f47f6b8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1689,6 +1689,11 @@ DBUS_LIBEXECDIR="$EXPANDED_LIBEXECDIR"
AC_SUBST(DBUS_LIBEXECDIR)
AC_DEFINE_UNQUOTED(DBUS_LIBEXECDIR,"$DBUS_LIBEXECDIR", [Directory for installing the libexec binaries])
+#### Directory to source sysconfdir configuration from
+DBUS_SYSCONFDIR="$EXPANDED_SYSCONFDIR"
+AC_SUBST(DBUS_SYSCONFDIR)
+AC_DEFINE_UNQUOTED(DBUS_SYSCONFDIR,"$DBUS_SYSCONFDIR", [Directory to source sysconfdir configuration from])
+
#### Tell tests where to find certain stuff in builddir
DBUS_PWD=`pwd`
@@ -1848,6 +1853,8 @@ dbus/versioninfo.rc
dbus/dbus-arch-deps.h
bus/system.conf
bus/session.conf
+bus/legacy-config/system.conf
+bus/legacy-config/session.conf
bus/example-system-enable-stats.conf
bus/example-session-disable-stats.conf
bus/messagebus
diff --git a/dbus/Makefile.am b/dbus/Makefile.am
index e5a5688a..a7b34917 100644
--- a/dbus/Makefile.am
+++ b/dbus/Makefile.am
@@ -1,5 +1,5 @@
-configdir=$(sysconfdir)/dbus-1
+dbusdatadir=$(datadir)/dbus-1
AM_CPPFLAGS = \
-I$(top_builddir) \
@@ -9,8 +9,8 @@ AM_CPPFLAGS = \
$(VALGRIND_CFLAGS) \
-DDBUS_COMPILATION \
-DDBUS_MACHINE_UUID_FILE=\""$(localstatedir)/lib/dbus/machine-id"\" \
- -DDBUS_SYSTEM_CONFIG_FILE=\""$(configdir)/system.conf"\" \
- -DDBUS_SESSION_CONFIG_FILE=\""$(configdir)/session.conf"\" \
+ -DDBUS_SYSTEM_CONFIG_FILE=\""$(dbusdatadir)/system.conf"\" \
+ -DDBUS_SESSION_CONFIG_FILE=\""$(dbusdatadir)/session.conf"\" \
$(NULL)
AM_CFLAGS =
diff --git a/test/Makefile.am b/test/Makefile.am
index 05459ed5..1a43c071 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -459,10 +459,8 @@ if DBUS_ENABLE_INSTALLED_TESTS
install -d "$(DESTDIR)$(testexecdir)/$${F%/*}"; \
install -m644 "installable/$${F%.in}" "$(DESTDIR)$(testexecdir)/$${F%.in}"; \
done
- ln -nfs $(sysconfdir)/dbus-1/session.conf $(DESTDIR)$(testexecdir)/data/valid-config-files/session.conf
- ln -nfs $(sysconfdir)/dbus-1/session.d $(DESTDIR)$(testexecdir)/data/valid-config-files/session.d
- ln -nfs $(sysconfdir)/dbus-1/system.conf $(DESTDIR)$(testexecdir)/data/valid-config-files/system.conf
- ln -nfs $(sysconfdir)/dbus-1/system.d $(DESTDIR)$(testexecdir)/data/valid-config-files/system.d
+ ln -nfs $(datadir)/dbus-1/session.conf $(DESTDIR)$(testexecdir)/data/valid-config-files/session.conf
+ ln -nfs $(datadir)/dbus-1/system.conf $(DESTDIR)$(testexecdir)/data/valid-config-files/system.conf
else
@:
endif
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 0743b52e..56a0b7fc 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,5 +1,3 @@
-configdir=$(sysconfdir)/dbus-1
-
AM_CPPFLAGS = \
-I$(top_srcdir) \
$(DBUS_STATIC_BUILD_CPPFLAGS) \