mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-01-08 03:30:18 +01:00
On Windows, load local configuration relative to bus setup
This makes an installed tree with
/some-prefix/
etc/
dbus-1/
session-local.conf
share/
dbus-1/
session.conf
relocatable to any location.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92028
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
Tested-by: Ralf Habacker <ralf.habacker@freenet.de>
This commit is contained in:
parent
694d63b679
commit
d0f4684138
6 changed files with 45 additions and 22 deletions
|
|
@ -3,17 +3,16 @@ 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.
|
||||
@DATADIR_FROM_PKGSYSCONFDIR@/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.
|
||||
session-local.conf or files matching session.d/*.conf in the same directory
|
||||
as this one, 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.
|
||||
@DATADIR_FROM_PKGSYSCONFDIR@/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">
|
||||
|
|
|
|||
|
|
@ -3,17 +3,16 @@ 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.
|
||||
@DATADIR_FROM_PKGSYSCONFDIR@/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.
|
||||
system-local.conf or files matching system.d/*.conf in the same directory
|
||||
as this one, 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.
|
||||
@DATADIR_FROM_PKGSYSCONFDIR@/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">
|
||||
|
|
|
|||
|
|
@ -36,17 +36,17 @@
|
|||
</policy>
|
||||
|
||||
<!-- Include legacy configuration location -->
|
||||
<include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/session.conf</include>
|
||||
<include ignore_missing="yes">@SYSCONFDIR_FROM_PKGDATADIR@/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>
|
||||
<includedir>@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session.d</includedir>
|
||||
|
||||
<!-- This is included last so local configuration can override what's
|
||||
in this standard file -->
|
||||
<include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/session-local.conf</include>
|
||||
<include ignore_missing="yes">@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf</include>
|
||||
|
||||
<include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
|
||||
|
||||
|
|
|
|||
|
|
@ -98,17 +98,17 @@
|
|||
</policy>
|
||||
|
||||
<!-- Include legacy configuration location -->
|
||||
<include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/system.conf</include>
|
||||
<include ignore_missing="yes">@SYSCONFDIR_FROM_PKGDATADIR@/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>
|
||||
<includedir>@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/system.d</includedir>
|
||||
|
||||
<!-- This is included last so local configuration can override what's
|
||||
in this standard file -->
|
||||
<include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/system-local.conf</include>
|
||||
<include ignore_missing="yes">@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/system-local.conf</include>
|
||||
|
||||
<include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
|
||||
|
||||
|
|
|
|||
|
|
@ -92,7 +92,20 @@ set(DBUS_MACHINE_UUID_FILE ${DBUS_INSTALL_DIR}/lib/dbus/machine-id)
|
|||
set(DBUS_BINDIR ${EXPANDED_BINDIR})
|
||||
set(DBUS_DAEMONDIR ${EXPANDED_BINDIR})
|
||||
set(DBUS_LOCALSTATEDIR ${EXPANDED_LOCALSTATEDIR})
|
||||
set(DBUS_SYSCONFDIR ${EXPANDED_SYSCONFDIR})
|
||||
|
||||
# On Windows this is relative to where we put the bus setup, in
|
||||
# ${datadir}/dbus-1. For simplicity, we only do this if
|
||||
# ${sysconfdir} = ${prefix}/etc and ${datadir} = ${prefix}/share.
|
||||
#
|
||||
# On Unix, or on Windows with weird install layouts, it's the absolute path.
|
||||
if(WIN32 AND ${EXPANDED_SYSCONFDIR} STREQUAL ${prefix}/etc AND ${EXPANDED_DATADIR} STREQUAL ${prefix}/share)
|
||||
set(SYSCONFDIR_FROM_PKGDATADIR ../../etc)
|
||||
set(DATADIR_FROM_PKGSYSCONFDIR ../../share)
|
||||
else()
|
||||
set(SYSCONFDIR_FROM_PKGDATADIR ${EXPANDED_SYSCONFDIR})
|
||||
set(DATADIR_FROM_PKGSYSCONFDIR ${EXPANDED_DATADIR})
|
||||
endif()
|
||||
|
||||
set(DBUS_LIBEXECDIR ${EXPANDED_LIBDIR})
|
||||
set(DBUS_DATADIR ${EXPANDED_DATADIR})
|
||||
|
||||
|
|
|
|||
18
configure.ac
18
configure.ac
|
|
@ -1690,9 +1690,21 @@ 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])
|
||||
|
||||
# On Windows this is relative to where we put the bus setup, in
|
||||
# ${datadir}/dbus-1. For simplicity, we only do this if
|
||||
# ${sysconfdir} = ${prefix}/etc and ${datadir} = ${prefix}/share.
|
||||
#
|
||||
# On Unix, or on Windows with weird install layouts, it's the absolute path.
|
||||
AS_IF([test "${dbus_win}" = yes && \
|
||||
test "$EXPANDED_SYSCONFDIR" = "$EXPANDED_PREFIX/etc" && \
|
||||
test "$EXPANDED_DATADIR" = "$EXPANDED_PREFIX/share"],
|
||||
[SYSCONFDIR_FROM_PKGDATADIR="../../etc"
|
||||
DATADIR_FROM_PKGSYSCONFDIR="../../share"],
|
||||
[SYSCONFDIR_FROM_PKGDATADIR="$EXPANDED_SYSCONFDIR"
|
||||
DATADIR_FROM_PKGSYSCONFDIR="$EXPANDED_DATADIR"])
|
||||
AC_SUBST([SYSCONFDIR_FROM_PKGDATADIR])
|
||||
AC_SUBST([DATADIR_FROM_PKGSYSCONFDIR])
|
||||
|
||||
#### Tell tests where to find certain stuff in builddir
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue