Browse Source

dbus: adopt here

Signed-off-by: Steven Barth <steven@midlink.org>
Steven Barth 10 years ago
parent
commit
14003935f1
3 changed files with 217 additions and 0 deletions
  1. 188
    0
      utils/dbus/Makefile
  2. 12
    0
      utils/dbus/files/dbus-launch
  3. 17
    0
      utils/dbus/files/dbus.init

+ 188
- 0
utils/dbus/Makefile View File

@@ -0,0 +1,188 @@
1
+#
2
+# Copyright (C) 2007-2011 OpenWrt.org
3
+#
4
+# This is free software, licensed under the GNU General Public License v2.
5
+# See /LICENSE for more information.
6
+#
7
+
8
+include $(TOPDIR)/rules.mk
9
+
10
+# Make sure to also update the dbus-x package
11
+PKG_NAME:=dbus
12
+PKG_VERSION:=1.8.6
13
+PKG_RELEASE:=1
14
+
15
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16
+PKG_SOURCE_URL:=http://dbus.freedesktop.org/releases/dbus/
17
+PKG_MD5SUM:=6a08ba555d340e9dfe2d623b83c0eea8
18
+PKG_MAINTAINER:=Steven Barth <cyrus@openwrt.org>
19
+
20
+PKG_FIXUP:=autoreconf
21
+PKG_INSTALL:=1
22
+
23
+include $(INCLUDE_DIR)/package.mk
24
+
25
+TARGET_LDFLAGS+= \
26
+	-Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
27
+	-Wl,-rpath=/usr/lib/
28
+
29
+define Package/dbus/Default
30
+  SECTION:=utils
31
+  CATEGORY:=Utilities
32
+  TITLE:=Simple interprocess messaging system
33
+  URL:=http://dbus.freedesktop.org/
34
+endef
35
+
36
+define Package/dbus/Default/description
37
+ D-Bus is a message bus system, a simple way for applications to talk to one
38
+ another. In addition to interprocess communication, D-Bus helps coordinate
39
+ process lifecycle; it makes it simple and reliable to code a "single instance"
40
+ application or daemon, and to launch applications and daemons on demand when
41
+ their services are needed.
42
+endef
43
+
44
+define Package/libdbus
45
+$(call Package/dbus/Default)
46
+  CATEGORY:=Libraries
47
+  TITLE+= (library)
48
+  DEPENDS:= +librt
49
+endef
50
+
51
+define Package/libdbus/Description
52
+$(call Package/dbus/Default/description)
53
+ This package contains the D-Bus shared library.
54
+endef
55
+
56
+define Package/dbus
57
+$(call Package/dbus/Default)
58
+ TITLE+= (daemon)
59
+ DEPENDS:= +libexpat +libdbus
60
+endef
61
+
62
+define Package/dbus/Description
63
+$(call Package/dbus/Default/description)
64
+ This package contains the D-Bus daemon.
65
+endef
66
+
67
+define Package/dbus-utils
68
+$(call Package/dbus/Default)
69
+ TITLE+= (utilities)
70
+ DEPENDS:= dbus
71
+endef
72
+
73
+define Package/dbus-utils/Description
74
+$(call Package/dbus/Default/description)
75
+ This package contains D-Bus utilities.
76
+endef
77
+
78
+
79
+define Build/Prepare
80
+	$(Build/Prepare/Default)
81
+	$(SED) 's/-Wl,--gc-sections/--gc-sections/' $(PKG_BUILD_DIR)/configure
82
+endef
83
+
84
+CONFIGURE_ARGS += \
85
+	--enable-shared \
86
+	--enable-static \
87
+	--disable-abstract-sockets \
88
+	--disable-ansi \
89
+	--disable-asserts \
90
+	--disable-console-owner-file \
91
+	--disable-doxygen-docs \
92
+	--disable-compiler_coverage \
93
+	--disable-selinux \
94
+	--disable-tests \
95
+	--disable-verbose-mode \
96
+	--disable-xml-docs \
97
+	--with-xml="expat" \
98
+	--with-dbus-user=root \
99
+	--with-dbus-daemondir="/usr/sbin" \
100
+	--with-system-socket="/var/run/dbus/system_bus_socket" \
101
+	--with-system-pid-file="/var/run/dbus.pid" \
102
+	--without-x \
103
+	--libexecdir=/usr/lib/dbus-1
104
+
105
+CONFIGURE_VARS+= \
106
+	ac_cv_have_abstract_sockets="yes" \
107
+	ac_cv_lib_expat_XML_ParserCreate_MM="yes" \
108
+
109
+
110
+define Build/InstallDev
111
+	$(INSTALL_DIR) $(1)/usr/include
112
+	$(CP) \
113
+		$(PKG_INSTALL_DIR)/usr/include/dbus-1.0 \
114
+		$(1)/usr/include/
115
+	$(INSTALL_DIR) $(1)/usr/lib/dbus-1.0/include/dbus/
116
+	$(INSTALL_DATA) \
117
+		$(PKG_INSTALL_DIR)/usr/lib/dbus-1.0/include/dbus/*.h \
118
+		$(1)/usr/lib/dbus-1.0/include/dbus/
119
+
120
+	$(INSTALL_DIR) $(1)/usr/lib
121
+	$(INSTALL_DATA) \
122
+		$(PKG_INSTALL_DIR)/usr/lib/libdbus-1.{so*,la,a} \
123
+		$(1)/usr/lib/
124
+	$(CP) \
125
+		$(PKG_INSTALL_DIR)/usr/lib/dbus-1.0 \
126
+		$(1)/usr/lib/
127
+	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
128
+	$(INSTALL_DATA) \
129
+		$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/dbus-1.pc \
130
+		$(1)/usr/lib/pkgconfig/
131
+endef
132
+
133
+define Package/dbus/conffiles
134
+/etc/dbus-1/session.conf
135
+/etc/dbus-1/system.conf
136
+endef
137
+
138
+define Package/libdbus/install
139
+	$(INSTALL_DIR) $(1)/usr/lib
140
+	$(CP) \
141
+		$(PKG_INSTALL_DIR)/usr/lib/libdbus-1.so.* \
142
+		$(1)/usr/lib/
143
+endef
144
+
145
+define Package/dbus/install
146
+	$(INSTALL_DIR) $(1)/etc
147
+	$(CP) \
148
+		$(PKG_INSTALL_DIR)/etc/dbus-1 \
149
+		$(1)/etc/
150
+
151
+	$(INSTALL_DIR) $(1)/usr/lib/dbus-1
152
+	$(INSTALL_BIN) \
153
+		$(PKG_INSTALL_DIR)/usr/lib/dbus-1/dbus-daemon-launch-helper \
154
+		$(1)/usr/lib/dbus-1/
155
+
156
+	$(INSTALL_DIR) $(1)/usr/sbin
157
+	$(INSTALL_BIN) \
158
+		$(PKG_INSTALL_DIR)/usr/sbin/dbus-daemon \
159
+		$(1)/usr/sbin/
160
+
161
+	$(INSTALL_DIR) $(1)/usr/bin
162
+	$(INSTALL_BIN) \
163
+		$(PKG_INSTALL_DIR)/usr/bin/dbus-uuidgen \
164
+		$(1)/usr/bin/
165
+
166
+	$(INSTALL_BIN) \
167
+		$(PKG_INSTALL_DIR)/usr/bin/dbus-launch \
168
+		$(1)/usr/bin/dbus-launch.real
169
+	$(INSTALL_BIN) \
170
+		./files/dbus-launch \
171
+		$(1)/usr/bin/
172
+
173
+	$(INSTALL_DIR) $(1)/etc/init.d
174
+	$(INSTALL_BIN) \
175
+		./files/dbus.init \
176
+		$(1)/etc/init.d/dbus
177
+endef
178
+
179
+define Package/dbus-utils/install
180
+	$(INSTALL_DIR) $(1)/usr/bin
181
+	$(INSTALL_BIN) \
182
+		$(PKG_INSTALL_DIR)/usr/bin/dbus-{send,monitor,cleanup-sockets} \
183
+		$(1)/usr/bin/
184
+endef
185
+
186
+$(eval $(call BuildPackage,libdbus))
187
+$(eval $(call BuildPackage,dbus))
188
+$(eval $(call BuildPackage,dbus-utils))

+ 12
- 0
utils/dbus/files/dbus-launch View File

@@ -0,0 +1,12 @@
1
+#!/bin/sh
2
+#
3
+# Simple wrapper script which allows us to build dbus without general x support
4
+# If an application needs x support in dbus-launch it has to depend on the
5
+# dbus-launch-x package. The script is used to prefer dbus-launch with x over
6
+# the dbus-lauch without x.
7
+
8
+if [ -f /usr/bin/dbus-launch-x ]; then
9
+	exec /usr/bin/dbus-launch-x $@
10
+else
11
+	exec /usr/bin/dbus-launch.real $@
12
+fi

+ 17
- 0
utils/dbus/files/dbus.init View File

@@ -0,0 +1,17 @@
1
+#!/bin/sh /etc/rc.common
2
+# Copyright (C) 2007-2011 OpenWrt.org
3
+
4
+START=60
5
+
6
+SERVICE_PID_FILE=/var/run/dbus.pid
7
+
8
+start() {
9
+	mkdir -m 0755 -p /var/lib/dbus
10
+	mkdir -m 0755 -p /var/run/dbus
11
+	[ -x /usr/bin/dbus-uuidgen ] && /usr/bin/dbus-uuidgen --ensure
12
+	service_start /usr/sbin/dbus-daemon --system
13
+}
14
+
15
+stop() {
16
+	service_stop /usr/sbin/dbus-daemon && rm $SERVICE_PID_FILE
17
+}