DBus 1.14.x now has the Containers1 interface which uses path in
runstatedir (by default set to /var/run) for creating sockets. With the
default, Systemd complains about it being a legacy directory:
systemd-tmpfiles[102]: /usr/lib/tmpfiles.d/dbus.conf:13: Line references
path below legacy directory /var/run/, updating /var/run/dbus/containers
→ /run/dbus/containers; please update the tmpfiles.d/ drop-in file
accordingly.
Set the configure option runstatedir to /run to use the preferred path
to avoid the warning and use the /run directory consistently. Setting
the value only affects the path of these sockets and to the PID file,
which is already explicitly set by another option.
We already tried to set the --runstatedir option globally, but that
confuses older autotools, so in the end it got reverted in
c8af4eef49.
Signed-off-by: Jan Čermák <sairon@sairon.cz>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
143 lines
3.8 KiB
Makefile
143 lines
3.8 KiB
Makefile
################################################################################
|
|
#
|
|
# dbus
|
|
#
|
|
################################################################################
|
|
|
|
# When updating dbus, check if there are changes in session.conf and
|
|
# system.conf, and update the versions in the dbus-broker package accordingly.
|
|
DBUS_VERSION = 1.14.10
|
|
DBUS_SOURCE = dbus-$(DBUS_VERSION).tar.xz
|
|
DBUS_SITE = https://dbus.freedesktop.org/releases/dbus
|
|
DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools)
|
|
DBUS_LICENSE_FILES = COPYING
|
|
DBUS_CPE_ID_VENDOR = freedesktop
|
|
DBUS_INSTALL_STAGING = YES
|
|
|
|
define DBUS_PERMISSIONS
|
|
/usr/libexec/dbus-daemon-launch-helper f 4750 0 dbus - - - - -
|
|
endef
|
|
|
|
define DBUS_USERS
|
|
dbus -1 dbus -1 * /run/dbus - dbus DBus messagebus user
|
|
endef
|
|
|
|
DBUS_DEPENDENCIES = host-pkgconf expat
|
|
|
|
DBUS_SELINUX_MODULES = dbus
|
|
|
|
DBUS_CONF_OPTS = \
|
|
--with-dbus-user=dbus \
|
|
--disable-tests \
|
|
--disable-asserts \
|
|
--disable-xml-docs \
|
|
--disable-doxygen-docs \
|
|
--with-system-socket=/run/dbus/system_bus_socket \
|
|
--with-system-pid-file=/run/messagebus.pid \
|
|
--runstatedir=/run
|
|
|
|
ifeq ($(BR2_STATIC_LIBS),y)
|
|
DBUS_CONF_OPTS += LIBS='-pthread'
|
|
endif
|
|
|
|
ifeq ($(BR2_microblaze),y)
|
|
# microblaze toolchain doesn't provide inotify_rm_* but does have sys/inotify.h
|
|
DBUS_CONF_OPTS += --disable-inotify
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
|
|
DBUS_CONF_OPTS += --enable-selinux
|
|
DBUS_DEPENDENCIES += libselinux
|
|
else
|
|
DBUS_CONF_OPTS += --disable-selinux
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_AUDIT)$(BR2_PACKAGE_LIBCAP_NG),yy)
|
|
DBUS_CONF_OPTS += --enable-libaudit
|
|
DBUS_DEPENDENCIES += audit libcap-ng
|
|
else
|
|
DBUS_CONF_OPTS += --disable-libaudit
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
|
|
DBUS_CONF_OPTS += --with-x
|
|
DBUS_DEPENDENCIES += xlib_libX11
|
|
ifeq ($(BR2_PACKAGE_XLIB_LIBSM),y)
|
|
DBUS_DEPENDENCIES += xlib_libSM
|
|
endif
|
|
else
|
|
DBUS_CONF_OPTS += --without-x
|
|
endif
|
|
|
|
ifeq ($(BR2_INIT_SYSTEMD),y)
|
|
DBUS_CONF_OPTS += \
|
|
--enable-systemd \
|
|
--with-systemdsystemunitdir=/usr/lib/systemd/system
|
|
DBUS_DEPENDENCIES += systemd
|
|
else
|
|
DBUS_CONF_OPTS += --disable-systemd
|
|
endif
|
|
|
|
# fix rebuild (dbus makefile errors out if /var/lib/dbus is a symlink)
|
|
define DBUS_REMOVE_VAR_LIB_DBUS
|
|
rm -rf $(TARGET_DIR)/var/lib/dbus
|
|
endef
|
|
|
|
DBUS_PRE_INSTALL_TARGET_HOOKS += DBUS_REMOVE_VAR_LIB_DBUS
|
|
|
|
define DBUS_REMOVE_DEVFILES
|
|
rm -rf $(TARGET_DIR)/usr/lib/dbus-1.0
|
|
endef
|
|
|
|
DBUS_POST_INSTALL_TARGET_HOOKS += DBUS_REMOVE_DEVFILES
|
|
|
|
define DBUS_INSTALL_INIT_SYSV
|
|
$(INSTALL) -m 0755 -D package/dbus/S30dbus \
|
|
$(TARGET_DIR)/etc/init.d/S30dbus
|
|
|
|
mkdir -p $(TARGET_DIR)/var/lib
|
|
rm -rf $(TARGET_DIR)/var/lib/dbus
|
|
ln -sf /tmp/dbus $(TARGET_DIR)/var/lib/dbus
|
|
endef
|
|
|
|
# If dbus-broker is installed, don't install the activation links for
|
|
# dbus itself, not the configuration files. They will be overwritten
|
|
# by dbus-broker
|
|
ifeq ($(BR2_PACKAGE_DBUS_BROKER),y)
|
|
define DBUS_REMOVE_SYSTEMD_ACTIVATION_LINKS
|
|
rm -f $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/dbus.service
|
|
rm -f $(TARGET_DIR)/usr/lib/systemd/system/sockets.target.wants/dbus.socket
|
|
rm -f $(TARGET_DIR)/usr/lib/systemd/system/dbus.socket
|
|
rm -f $(TARGET_DIR)/usr/share/dbus-1/session.conf
|
|
rm -f $(TARGET_DIR)/usr/share/dbus-1/system.conf
|
|
endef
|
|
DBUS_POST_INSTALL_TARGET_HOOKS += DBUS_REMOVE_SYSTEMD_ACTIVATION_LINKS
|
|
endif
|
|
|
|
define DBUS_INSTALL_INIT_SYSTEMD
|
|
mkdir -p $(TARGET_DIR)/var/lib/dbus
|
|
ln -sf /etc/machine-id $(TARGET_DIR)/var/lib/dbus/machine-id
|
|
endef
|
|
|
|
HOST_DBUS_DEPENDENCIES = host-pkgconf host-expat
|
|
HOST_DBUS_CONF_OPTS = \
|
|
--with-dbus-user=dbus \
|
|
--disable-tests \
|
|
--disable-asserts \
|
|
--disable-selinux \
|
|
--disable-xml-docs \
|
|
--disable-doxygen-docs \
|
|
--disable-systemd \
|
|
--without-x
|
|
|
|
# dbus for the host
|
|
DBUS_HOST_INTROSPECT = $(HOST_DBUS_DIR)/introspect.xml
|
|
|
|
HOST_DBUS_GEN_INTROSPECT = \
|
|
$(HOST_DIR)/bin/dbus-daemon --introspect > $(DBUS_HOST_INTROSPECT)
|
|
|
|
HOST_DBUS_POST_INSTALL_HOOKS += HOST_DBUS_GEN_INTROSPECT
|
|
|
|
$(eval $(autotools-package))
|
|
$(eval $(host-autotools-package))
|