xref: /OK3568_Linux_fs/buildroot/package/dbus/dbus.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# dbus
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunDBUS_VERSION = 1.12.20
8*4882a593SmuzhiyunDBUS_SITE = https://dbus.freedesktop.org/releases/dbus
9*4882a593SmuzhiyunDBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools)
10*4882a593SmuzhiyunDBUS_LICENSE_FILES = COPYING
11*4882a593SmuzhiyunDBUS_CPE_ID_VENDOR = d-bus_project
12*4882a593SmuzhiyunDBUS_CPE_ID_PRODUCT = d-bus
13*4882a593SmuzhiyunDBUS_INSTALL_STAGING = YES
14*4882a593Smuzhiyun
15*4882a593Smuzhiyundefine DBUS_PERMISSIONS
16*4882a593Smuzhiyun	/usr/libexec/dbus-daemon-launch-helper f 4750 0 dbus - - - - -
17*4882a593Smuzhiyunendef
18*4882a593Smuzhiyun
19*4882a593Smuzhiyundefine DBUS_USERS
20*4882a593Smuzhiyun	dbus -1 dbus -1 * /run/dbus - dbus DBus messagebus user
21*4882a593Smuzhiyunendef
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunDBUS_DEPENDENCIES = host-pkgconf expat
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunDBUS_SELINUX_MODULES = dbus
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunDBUS_CONF_OPTS = \
28*4882a593Smuzhiyun	--with-dbus-user=dbus \
29*4882a593Smuzhiyun	--disable-tests \
30*4882a593Smuzhiyun	--disable-asserts \
31*4882a593Smuzhiyun	--disable-xml-docs \
32*4882a593Smuzhiyun	--disable-doxygen-docs \
33*4882a593Smuzhiyun	--with-system-socket=/run/dbus/system_bus_socket \
34*4882a593Smuzhiyun	--with-system-pid-file=/run/messagebus.pid
35*4882a593Smuzhiyun
36*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS),y)
37*4882a593SmuzhiyunDBUS_CONF_OPTS += LIBS='-pthread'
38*4882a593Smuzhiyunendif
39*4882a593Smuzhiyun
40*4882a593Smuzhiyunifeq ($(BR2_microblaze),y)
41*4882a593Smuzhiyun# microblaze toolchain doesn't provide inotify_rm_* but does have sys/inotify.h
42*4882a593SmuzhiyunDBUS_CONF_OPTS += --disable-inotify
43*4882a593Smuzhiyunendif
44*4882a593Smuzhiyun
45*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBSELINUX),y)
46*4882a593SmuzhiyunDBUS_CONF_OPTS += --enable-selinux
47*4882a593SmuzhiyunDBUS_DEPENDENCIES += libselinux
48*4882a593Smuzhiyunelse
49*4882a593SmuzhiyunDBUS_CONF_OPTS += --disable-selinux
50*4882a593Smuzhiyunendif
51*4882a593Smuzhiyun
52*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_AUDIT)$(BR2_PACKAGE_LIBCAP_NG),yy)
53*4882a593SmuzhiyunDBUS_CONF_OPTS += --enable-libaudit
54*4882a593SmuzhiyunDBUS_DEPENDENCIES += audit libcap-ng
55*4882a593Smuzhiyunelse
56*4882a593SmuzhiyunDBUS_CONF_OPTS += --disable-libaudit
57*4882a593Smuzhiyunendif
58*4882a593Smuzhiyun
59*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
60*4882a593SmuzhiyunDBUS_CONF_OPTS += --with-x
61*4882a593SmuzhiyunDBUS_DEPENDENCIES += xlib_libX11
62*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XLIB_LIBSM),y)
63*4882a593SmuzhiyunDBUS_DEPENDENCIES += xlib_libSM
64*4882a593Smuzhiyunendif
65*4882a593Smuzhiyunelse
66*4882a593SmuzhiyunDBUS_CONF_OPTS += --without-x
67*4882a593Smuzhiyunendif
68*4882a593Smuzhiyun
69*4882a593Smuzhiyunifeq ($(BR2_INIT_SYSTEMD),y)
70*4882a593SmuzhiyunDBUS_CONF_OPTS += \
71*4882a593Smuzhiyun	--enable-systemd \
72*4882a593Smuzhiyun	--with-systemdsystemunitdir=/usr/lib/systemd/system
73*4882a593SmuzhiyunDBUS_DEPENDENCIES += systemd
74*4882a593Smuzhiyunelse
75*4882a593SmuzhiyunDBUS_CONF_OPTS += --disable-systemd
76*4882a593Smuzhiyunendif
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun# fix rebuild (dbus makefile errors out if /var/lib/dbus is a symlink)
79*4882a593Smuzhiyundefine DBUS_REMOVE_VAR_LIB_DBUS
80*4882a593Smuzhiyun	rm -rf $(TARGET_DIR)/var/lib/dbus
81*4882a593Smuzhiyunendef
82*4882a593Smuzhiyun
83*4882a593SmuzhiyunDBUS_PRE_INSTALL_TARGET_HOOKS += DBUS_REMOVE_VAR_LIB_DBUS
84*4882a593Smuzhiyun
85*4882a593Smuzhiyundefine DBUS_REMOVE_DEVFILES
86*4882a593Smuzhiyun	rm -rf $(TARGET_DIR)/usr/lib/dbus-1.0
87*4882a593Smuzhiyunendef
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunDBUS_POST_INSTALL_TARGET_HOOKS += DBUS_REMOVE_DEVFILES
90*4882a593Smuzhiyun
91*4882a593Smuzhiyundefine DBUS_INSTALL_INIT_SYSV
92*4882a593Smuzhiyun	$(INSTALL) -m 0755 -D package/dbus/S30dbus \
93*4882a593Smuzhiyun		$(TARGET_DIR)/etc/init.d/S30dbus
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun	mkdir -p $(TARGET_DIR)/var/lib
96*4882a593Smuzhiyun	rm -rf $(TARGET_DIR)/var/lib/dbus
97*4882a593Smuzhiyun	ln -sf /tmp/dbus $(TARGET_DIR)/var/lib/dbus
98*4882a593Smuzhiyunendef
99*4882a593Smuzhiyun
100*4882a593Smuzhiyundefine DBUS_INSTALL_INIT_SYSTEMD
101*4882a593Smuzhiyun	mkdir -p $(TARGET_DIR)/var/lib/dbus
102*4882a593Smuzhiyun	ln -sf /etc/machine-id $(TARGET_DIR)/var/lib/dbus/machine-id
103*4882a593Smuzhiyunendef
104*4882a593Smuzhiyun
105*4882a593SmuzhiyunHOST_DBUS_DEPENDENCIES = host-pkgconf host-expat
106*4882a593SmuzhiyunHOST_DBUS_CONF_OPTS = \
107*4882a593Smuzhiyun	--with-dbus-user=dbus \
108*4882a593Smuzhiyun	--disable-tests \
109*4882a593Smuzhiyun	--disable-asserts \
110*4882a593Smuzhiyun	--disable-selinux \
111*4882a593Smuzhiyun	--disable-xml-docs \
112*4882a593Smuzhiyun	--disable-doxygen-docs \
113*4882a593Smuzhiyun	--disable-systemd \
114*4882a593Smuzhiyun	--without-x
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun# dbus for the host
117*4882a593SmuzhiyunDBUS_HOST_INTROSPECT = $(HOST_DBUS_DIR)/introspect.xml
118*4882a593Smuzhiyun
119*4882a593SmuzhiyunHOST_DBUS_GEN_INTROSPECT = \
120*4882a593Smuzhiyun	$(HOST_DIR)/bin/dbus-daemon --introspect > $(DBUS_HOST_INTROSPECT)
121*4882a593Smuzhiyun
122*4882a593SmuzhiyunHOST_DBUS_POST_INSTALL_HOOKS += HOST_DBUS_GEN_INTROSPECT
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun$(eval $(autotools-package))
125*4882a593Smuzhiyun$(eval $(host-autotools-package))
126