hc
2023-02-14 0cc9b7c44253c93447ddf73e206fbdbb3d9f16b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
################################################################################
#
# dbus
#
################################################################################
 
DBUS_VERSION = 1.12.2
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_INSTALL_STAGING = YES
 
define DBUS_PERMISSIONS
   /usr/libexec/dbus-daemon-launch-helper f 4755 0 0 - - - - -
endef
 
define DBUS_USERS
   dbus -1 dbus -1 * /var/run/dbus - dbus DBus messagebus user
endef
 
DBUS_DEPENDENCIES = host-pkgconf expat
 
DBUS_CONF_OPTS = \
   --with-dbus-user=dbus \
   --disable-tests \
   --disable-asserts \
   --disable-xml-docs \
   --disable-doxygen-docs \
   --with-xml=expat \
   --with-system-socket=/var/run/dbus/system_bus_socket \
   --with-system-pid-file=/var/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
 
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 \
   --without-x \
   --with-xml=expat
 
# 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))