################################################################################ # # 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 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))