Browse Source

avahi: Build 2 versions and allow selection of dbus vs non-dbus

shairplay: Fixup avahi dependency (select dbus version)
forked-daapd: Fixup avahi dependency (select dbus version)

Signed-off-by: Ted Hess <thess@kitschensync.net>
Ted Hess 10 years ago
parent
commit
9bc03b9d99
3 changed files with 76 additions and 58 deletions
  1. 74
    56
      libs/avahi/Makefile
  2. 1
    1
      multimedia/shairplay/Makefile
  3. 1
    1
      sound/forked-daapd/Makefile

+ 74
- 56
libs/avahi/Makefile View File

@@ -1,5 +1,5 @@
1 1
 #
2
-# Copyright (C) 2007-2014 OpenWrt.org
2
+# Copyright (C) 2007-2015 OpenWrt.org
3 3
 #
4 4
 # This is free software, licensed under the GNU General Public License v2.
5 5
 # See /LICENSE for more information.
@@ -7,19 +7,9 @@
7 7
 
8 8
 include $(TOPDIR)/rules.mk
9 9
 
10
-ifeq ($(BUILD_VARIANT),dbus)
11
-PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)/dbus/$(PKG_NAME)-$(PKG_VERSION)
12
-PKG_ALT_DIR=$(BUILD_DIR)/$(PKG_NAME)/nodbus/$(PKG_NAME)-$(PKG_VERSION)
13
-else
14
-PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)/nodbus/$(PKG_NAME)-$(PKG_VERSION)
15
-PKG_ALT_DIR=$(BUILD_DIR)/$(PKG_NAME)/dbus/$(PKG_NAME)-$(PKG_VERSION)
16
-endif
17
-
18
-
19 10
 PKG_NAME:=avahi
20 11
 PKG_VERSION:=0.6.31
21
-PKG_RELEASE:=9
22
-
12
+PKG_RELEASE:=10
23 13
 
24 14
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
25 15
 PKG_SOURCE_URL:=http://avahi.org/download/
@@ -34,7 +24,11 @@ PKG_REMOVE_FILES:=autogen.sh
34 24
 PKG_INSTALL:=1
35 25
 PKG_BUILD_PARALLEL:=1
36 26
 
37
-
27
+ifeq ($(BUILD_VARIANT),dbus)
28
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)/dbus/$(PKG_NAME)-$(PKG_VERSION)
29
+else
30
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)/nodbus/$(PKG_NAME)-$(PKG_VERSION)
31
+endif
38 32
 
39 33
 include $(INCLUDE_DIR)/package.mk
40 34
 
@@ -57,12 +51,11 @@ define Package/avahi/Default/description
57 51
  and is very convenient.
58 52
 endef
59 53
 
60
-define Package/libavahi
54
+define Package/libavahi/Default
61 55
   $(call Package/avahi/Default)
62 56
   SECTION:=libs
63 57
   CATEGORY:=Libraries
64 58
   DEPENDS:=+libpthread +SSP_SUPPORT:libssp
65
-  TITLE+= (library)
66 59
 endef
67 60
 
68 61
 define Package/libavahi/description
@@ -71,10 +64,6 @@ $(call Package/avahi/Default/description)
71 64
  The libavahi package contains the mDNS/DNS-SD shared libraries,
72 65
  used by other programs. Specifically, it provides
73 66
  libavahi-core and libavahi-common libraries.
74
- By default, it is built without D-Bus support,
75
- i.e. the --disable-dbus configuration flag is set.
76
- To enable D-Bus support, select the package
77
- libavahi-dbus-support.
78 67
 endef
79 68
 
80 69
 define Package/avahi-autoipd
@@ -94,16 +83,22 @@ $(call Package/avahi/Default/description)
94 83
  DHCP server.
95 84
 endef
96 85
 
97
-define Package/avahi-daemon
86
+define Package/avahi-dbus-daemon
87
+  $(call Package/avahi/Default)
88
+  PROVIDES:=avahi-daemon
89
+  VARIANT:=dbus
90
+  SUBMENU:=IP Addresses and Names
91
+  DEPENDS:=+libavahi-dbus-support +libexpat +librt +libdaemon
92
+  TITLE+= (daemon)
93
+endef
94
+
95
+define Package/avahi-nodbus-daemon
98 96
   $(call Package/avahi/Default)
97
+  PROVIDES:=avahi-daemon
98
+  VARIANT:=nodbus
99 99
   SUBMENU:=IP Addresses and Names
100
-  ifeq ($(BUILD_VARIANT),dbus)
101
-  DEPENDS:=+libavahi +libexpat +librt +libdaemon +libdbus
102
-  else
103
-  DEPENDS:=+libavahi +libexpat +librt +libdaemon
104
-  endif
100
+  DEPENDS:=+libavahi-nodbus-support +libexpat +librt +libdaemon
105 101
   TITLE+= (daemon)
106
-  MENU:=1
107 102
 endef
108 103
 
109 104
 define Package/avahi-daemon/description
@@ -112,14 +107,20 @@ $(call Package/avahi/Default/description)
112 107
  This package contains an mDNS/DNS-SD daemon.
113 108
 endef
114 109
 
110
+Package/avahi-dbus-daemon/description=$(Package/avahi-daemon/description)
111
+Package/avahi-nodbus-daemon/description=$(Package/avahi-daemon/description)
112
+
115 113
 define Package/avahi-daemon/conffiles
116 114
 /etc/avahi/avahi-daemon.conf
117 115
 endef
118 116
 
117
+Package/avahi-dbus-daemon/conffiles=$(Package/avahi-daemon/conffiles)
118
+Package/avahi-nodbus-daemon/conffiles=$(Package/avahi-daemon/conffiles)
119
+
119 120
 define Package/avahi-daemon-service-http
120 121
   $(call Package/avahi/Default)
121 122
   SUBMENU:=IP Addresses and Names
122
-  DEPENDS:=avahi-daemon
123
+  DEPENDS:=+avahi-daemon
123 124
   TITLE:=Announce HTTP service
124 125
 endef
125 126
 
@@ -136,7 +137,7 @@ endef
136 137
 define Package/avahi-daemon-service-ssh
137 138
   $(call Package/avahi/Default)
138 139
   SUBMENU:=IP Addresses and Names
139
-  DEPENDS:=avahi-daemon
140
+  DEPENDS:=+avahi-daemon
140 141
   TITLE:=Announce SSH service
141 142
 endef
142 143
 
@@ -153,8 +154,8 @@ endef
153 154
 define Package/avahi-dnsconfd
154 155
   $(call Package/avahi/Default)
155 156
   SUBMENU:=IP Addresses and Names
156
-  DEPENDS:=+libavahi +libdaemon
157
-  TITLE:=A Unicast DNS server from mDNS/DNS-SD configuration daemon
157
+  DEPENDS:=+libavahi +libdaemon +libpthread +SSP_SUPPORT:libssp
158
+  TITLE:=A Unicast DNS server using avahi-daemon
158 159
 endef
159 160
 
160 161
 define Package/avahi-dnsconfd/description
@@ -166,20 +167,25 @@ $(call Package/avahi/Default/description)
166 167
 endef
167 168
 
168 169
 define Package/libavahi-dbus-support
169
-  $(call Package/avahi/Default)
170
-  SECTION:=libs
171
-  CATEGORY:=Libraries
170
+  $(call Package/libavahi/Default)
172 171
   VARIANT:=dbus
173
-  DEPENDS:=+dbus +libavahi
172
+  DEPENDS:=+dbus
174 173
   TITLE+= (D-Bus support)
175 174
 endef
176 175
 
176
+define Package/libavahi-nodbus-support
177
+  $(call Package/libavahi/Default)
178
+  VARIANT:=nodbus
179
+  TITLE+= (No D-Bus)
180
+endef
181
+
177 182
 define Package/libavahi-dbus-support/description
178 183
 $(call Package/libavahi/description)
179 184
  .
180 185
  The libavahi-dbus-support package enables
181 186
  D-Bus support in avahi, needed to support
182 187
  the libavahi-client library and avahi-utils.
188
+ .
183 189
  Selecting this package modifies the build configuration
184 190
  so that avahi packages are built with support for D-BUS enabled;
185 191
  it does not generate a separate binary of its own.
@@ -188,11 +194,20 @@ $(call Package/libavahi/description)
188 194
  libavahi-client or avahi-utils.
189 195
 endef
190 196
 
197
+define Package/libavahi-nodbus-support/description
198
+$(call Package/libavahi/description)
199
+ .
200
+ Selecting this package modifies the build configuration
201
+ so that avahi packages are built without support for D-BUS enabled;
202
+ it does not generate a separate binary of its own.
203
+endef
204
+
191 205
 define Package/libavahi-client
192 206
   $(call Package/avahi/Default)
193 207
   SECTION:=libs
194 208
   CATEGORY:=Libraries
195
-  DEPENDS:=+libavahi-dbus-support +avahi-daemon
209
+  VARIANT:=dbus
210
+  DEPENDS:=+avahi-dbus-daemon
196 211
   TITLE+= (libavahi-client library)
197 212
 endef
198 213
 
@@ -201,7 +216,7 @@ $(call Package/avahi/Default/description)
201 216
  .
202 217
  This packages adds the libavahi-client library.
203 218
  It also automatically adds the required
204
- libavahi-dbus-support and the avahi-daemon packages.
219
+ libavahi-dbus-support and the avahi-dbus-daemon packages.
205 220
  For more information please see the avahi documentation.
206 221
 endef
207 222
 
@@ -209,6 +224,7 @@ define Package/libavahi-compat-libdnssd
209 224
   $(call Package/avahi/Default)
210 225
   SECTION:=libs
211 226
   CATEGORY:=Libraries
227
+  VARIANT:=dbus
212 228
   DEPENDS:=+libavahi-client
213 229
   TITLE+= (libdnssd)
214 230
 endef
@@ -224,7 +240,8 @@ endef
224 240
 define Package/avahi-utils
225 241
   $(call Package/avahi/Default)
226 242
   SUBMENU:=IP Addresses and Names
227
-  DEPENDS:=+libavahi-client +libgdbm
243
+  VARIANT:=dbus
244
+  DEPENDS:=libavahi-client +libgdbm
228 245
   TITLE+= (utilities)
229 246
 endef
230 247
 
@@ -252,7 +269,8 @@ CONFIGURE_ARGS+= \
252 269
 	--disable-dbm \
253 270
 	--enable-gdbm \
254 271
 	--enable-libdaemon \
255
-	$(if $(CONFIG_PACKAGE_libavahi-compat-libdnssd),--enable-compat-libdns_sd) \
272
+	$(and $(CONFIG_PACKAGE_libavahi-compat-libdnssd),ifeq ($(BUILD_VARIANT),dbus),\
273
+		--enable-compat-libdns_sd) \
256 274
 	--disable-python \
257 275
 	--disable-pygtk \
258 276
 	--disable-python-dbus \
@@ -297,30 +315,26 @@ define Build/InstallDev
297 315
 	$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
298 316
 	$(INSTALL_DIR) $(1)/usr/lib
299 317
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-* $(1)/usr/lib/
300
-ifneq ($(CONFIG_PACKAGE_libavahi-compat-libdnssd),)
318
+ifeq ($(CONFIG_PACKAGE_libavahi-compat-libdnssd)-$(BUILD_VARIANT),y-dbus)
301 319
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdns_sd* $(1)/usr/lib/
302 320
 endif
303 321
 	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
304 322
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
305 323
 endef
306 324
 
307
-define Package/libavahi-dbus-support/install
308
-	$(INSTALL_DIR) $(1)/etc/dbus-1/system.d
309
-	$(CP) $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/* $(1)/etc/dbus-1/system.d
310
-endef
311
-
312 325
 define Package/libavahi/install
313
-	# The next line removes the ".build" file from the "other" build.
314
-	# The effect is that, if the other build is re-selected in the future,
315
-	# the build system will be forced to replace all the code in the
316
-	# installer packages, removing anything from the current build.
317
-	# "Other" means this: if the current build is "dbus", the other is "nodebus",
318
-	# and if the current build is "nodbus", the other is "dbus".
319
-	$(RM) -f $(PKG_ALT_DIR)/.built
320 326
 	$(INSTALL_DIR) $(1)/usr/lib
321 327
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.so.* $(1)/usr/lib/
322 328
 endef
323 329
 
330
+define Package/libavahi-dbus-support/install
331
+	$(call Package/libavahi/install,$(1))
332
+	$(INSTALL_DIR) $(1)/etc/dbus-1/system.d
333
+	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/* $(1)/etc/dbus-1/system.d
334
+endef
335
+
336
+Package/libavahi-nodbus-support/install=$(Package/libavahi/install)
337
+
324 338
 define Package/libavahi-client/install
325 339
 	$(INSTALL_DIR) $(1)/usr/lib
326 340
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-client.so.* $(1)/usr/lib/
@@ -333,12 +347,12 @@ endef
333 347
 
334 348
 define Package/avahi-utils/install
335 349
 	$(INSTALL_DIR) $(1)/usr/bin
336
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
350
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
337 351
 endef
338 352
 
339 353
 define Package/avahi-autoipd/install
340 354
 	$(INSTALL_DIR) $(1)/etc/avahi
341
-	$(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-autoipd.action $(1)/etc/avahi/
355
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/etc/avahi/avahi-autoipd.action $(1)/etc/avahi/
342 356
 	$(INSTALL_DIR) $(1)/usr/sbin
343 357
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-autoipd $(1)/usr/sbin/
344 358
 endef
@@ -355,6 +369,9 @@ define Package/avahi-daemon/install
355 369
 	$(INSTALL_BIN) ./files/avahi-daemon.init $(1)/etc/init.d/avahi-daemon
356 370
 endef
357 371
 
372
+Package/avahi-dbus-daemon/install=$(Package/avahi-daemon/install)
373
+Package/avahi-nodbus-daemon/install=$(Package/avahi-daemon/install)
374
+
358 375
 define Package/avahi-daemon-service-http/install
359 376
 	$(INSTALL_DIR) $(1)/etc/avahi/services
360 377
 	$(INSTALL_DATA) ./files/service-http $(1)/etc/avahi/services/http.service
@@ -367,7 +384,7 @@ endef
367 384
 
368 385
 define Package/avahi-dnsconfd/install
369 386
 	$(INSTALL_DIR) $(1)/etc/avahi
370
-	$(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-dnsconfd.action $(1)/etc/avahi/
387
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/etc/avahi/avahi-dnsconfd.action $(1)/etc/avahi/
371 388
 	$(INSTALL_DIR) $(1)/usr/sbin
372 389
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-dnsconfd $(1)/usr/sbin/
373 390
 endef
@@ -376,9 +393,10 @@ $(eval $(call BuildPackage,libavahi-client))
376 393
 $(eval $(call BuildPackage,libavahi-compat-libdnssd))
377 394
 $(eval $(call BuildPackage,avahi-utils))
378 395
 $(eval $(call BuildPackage,libavahi-dbus-support))
379
-$(eval $(call BuildPackage,libavahi))
396
+$(eval $(call BuildPackage,libavahi-nodbus-support))
380 397
 $(eval $(call BuildPackage,avahi-autoipd))
381
-$(eval $(call BuildPackage,avahi-daemon))
398
+$(eval $(call BuildPackage,avahi-dbus-daemon))
399
+$(eval $(call BuildPackage,avahi-nodbus-daemon))
382 400
 $(eval $(call BuildPackage,avahi-daemon-service-http))
383 401
 $(eval $(call BuildPackage,avahi-daemon-service-ssh))
384 402
 $(eval $(call BuildPackage,avahi-dnsconfd))

+ 1
- 1
multimedia/shairplay/Makefile View File

@@ -28,7 +28,7 @@ PKG_FIXUP:=libtool
28 28
 define Package/shairplay
29 29
   SECTION:=multimedia
30 30
   CATEGORY:=Multimedia
31
-  DEPENDS:=+avahi-daemon +libao +libavahi-compat-libdnssd +libltdl +libpthread
31
+  DEPENDS:=+libao +libavahi-compat-libdnssd +libltdl +libpthread
32 32
   TITLE:=Shairplay
33 33
 endef
34 34
 

+ 1
- 1
sound/forked-daapd/Makefile View File

@@ -36,7 +36,7 @@ TITLE:=iTunes (DAAP) server for Apple Remote and AirPlay
36 36
 URL:=https://github.com/ejurgensen/forked-daapd
37 37
 DEPENDS:=+libgpg-error +libgcrypt +libgdbm +zlib +libexpat +libunistring \
38 38
 	+libevent2 +libdaemon +libantlr3c +confuse +glib2 +alsa-lib +libffmpeg-full \
39
-	+mxml +libavl +avahi-daemon +libavahi-client +sqlite3-cli +libplist +libcurl
39
+	+mxml +libavl +libavahi-client +sqlite3-cli +libplist +libcurl
40 40
 endef
41 41
 
42 42
 define Package/forked-daapd/conffiles