2 # Copyright (C) 2007-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
15 PKG_SOURCE_URL
:=https
://github.com
/lathiat
/avahi
/releases
/download
/v
$(PKG_VERSION
) \
16 https
://avahi.org
/download
17 PKG_HASH
:=060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda
19 PKG_MAINTAINER
:=Ted Hess
<thess@kitschensync.net
>
20 PKG_LICENSE
:=LGPL-2.1
-or-later
21 PKG_LICENSE_FILES
:=LICENSE
22 PKG_CPE_ID
:=cpe
:/a
:avahi
:avahi
28 include $(INCLUDE_DIR
)/package.mk
30 define Package
/avahi
/Default
33 TITLE
:=An mDNS
/DNS-SD implementation
34 URL
:=http
://www.avahi.org
/
37 define Package
/avahi
/Default
/description
38 Avahi is an mDNS
/DNS-SD
(aka RendezVous
/Bonjour
/ZeroConf
)
39 implementation
(library
). It facilitates
40 service discovery on a local network
-- this means that
41 you can plug your laptop or computer into a network and
42 instantly be able to view other people who you can chat with
,
43 find printers to
print to or find files being shared.
44 This kind of technology is already found in MacOS X
45 (branded
'Rendezvous', 'Bonjour' and sometimes
'ZeroConf')
46 and is very convenient.
49 define Package
/libavahi
/Default
50 $(call Package
/avahi
/Default
)
57 define Package
/libavahi
/description
58 $(call Package
/avahi
/Default
/description
)
60 The libavahi package contains the mDNS
/DNS-SD shared libraries
,
61 used by other programs. Specifically
, it provides
62 libavahi-core and libavahi-common libraries.
65 define Package
/avahi-autoipd
66 $(call Package
/avahi
/Default
)
67 SUBMENU
:=IP Addresses and Names
69 TITLE
:=IPv4LL network address configuration daemon
72 define Package
/avahi-autoipd
/description
73 $(call Package
/avahi
/Default
/description
)
75 This package implements IPv4LL
, "Dynamic Configuration of IPv4 Link-Local
76 Addresses" (IETF RFC3927
), a protocol for automatic IP address configuration
77 from the link-local
169.254.0.0/16 range without the need for a central
78 server. It is primarily intended to be used in ad-hoc networks which lack a
82 define Package
/avahi-dbus-daemon
83 $(call Package
/avahi
/Default
)
84 PROVIDES
:=avahi-daemon
86 SUBMENU
:=IP Addresses and Names
87 DEPENDS
:=+libavahi-dbus-support
+libexpat
+librt
+libdaemon
91 define Package
/avahi-nodbus-daemon
92 $(call Package
/avahi
/Default
)
93 PROVIDES
:=avahi-daemon
95 SUBMENU
:=IP Addresses and Names
96 DEPENDS
:=+libavahi-nodbus-support
+libexpat
+librt
+libdaemon
98 USERID
:=avahi
=105:avahi
=105
101 define Package
/avahi-daemon
/description
102 $(call Package
/avahi
/Default
/description
)
104 This package contains an mDNS
/DNS-SD daemon.
107 Package
/avahi-dbus-daemon
/description
=$(Package
/avahi-daemon
/description
)
108 Package
/avahi-nodbus-daemon
/description
=$(Package
/avahi-daemon
/description
)
110 define Package
/avahi-daemon
/conffiles
111 /etc
/avahi
/avahi-daemon.conf
114 Package
/avahi-dbus-daemon
/conffiles
=$(Package
/avahi-daemon
/conffiles
)
115 Package
/avahi-nodbus-daemon
/conffiles
=$(Package
/avahi-daemon
/conffiles
)
117 define Package
/avahi-daemon-service-http
118 $(call Package
/avahi
/Default
)
119 SUBMENU
:=IP Addresses and Names
120 DEPENDS
:=+avahi-daemon
121 TITLE
:=Announce HTTP service
124 define Package
/avahi-daemon-service-http
/description
125 $(call Package
/avahi
/Default
/description
)
127 This package contains the service definition for announcing HTTP service.
130 define Package
/avahi-daemon-service-http
/conffiles
131 /etc
/avahi
/services
/http.service
134 define Package
/avahi-daemon-service-ssh
135 $(call Package
/avahi
/Default
)
136 SUBMENU
:=IP Addresses and Names
137 DEPENDS
:=+avahi-daemon
138 TITLE
:=Announce SSH service
141 define Package
/avahi-daemon-service-ssh
/description
142 $(call Package
/avahi
/Default
/description
)
144 This package contains the service definition for announcing SSH service.
147 define Package
/avahi-daemon-service-ssh
/conffiles
148 /etc
/avahi
/services
/ssh.service
151 define Package
/avahi-dnsconfd
152 $(call Package
/avahi
/Default
)
153 SUBMENU
:=IP Addresses and Names
154 DEPENDS
:=+libavahi
+libdaemon
+libpthread
155 TITLE
:=A Unicast DNS server using avahi-daemon
158 define Package
/avahi-dnsconfd
/description
159 $(call Package
/avahi
/Default
/description
)
161 This package contains a Unicast DNS server from mDNS
/DNS-SD configuration
162 daemon
, which may be used to configure conventional DNS servers using mDNS
163 in a DHCP-like fashion. Especially useful on IPv6.
166 define Package
/libavahi-dbus-support
167 $(call Package
/libavahi
/Default
)
170 TITLE
+= (D-Bus support
)
173 define Package
/libavahi-nodbus-support
174 $(call Package
/libavahi
/Default
)
179 define Package
/libavahi-dbus-support
/description
180 $(call Package
/libavahi
/description
)
182 The libavahi-dbus-support package enables
183 D-Bus support in avahi
, needed to support
184 the libavahi-client library and avahi-utils.
186 Selecting this package modifies the build configuration
187 so that avahi packages are built with support for D-BUS enabled
;
188 it does not generate a separate binary of its own.
189 It also automatically adds the D-Bus package to the build.
190 libavahi-dbus-support is selected automatically if you select
191 libavahi-client or avahi-utils.
194 define Package
/libavahi-nodbus-support
/description
195 $(call Package
/libavahi
/description
)
197 Selecting this package modifies the build configuration
198 so that avahi packages are built without support for D-BUS enabled
;
199 it does not generate a separate binary of its own.
202 define Package
/libavahi-client
203 $(call Package
/avahi
/Default
)
207 DEPENDS
:=+avahi-dbus-daemon
208 TITLE
+= (libavahi-client library
)
211 define Package
/libavahi-client
/description
212 $(call Package
/avahi
/Default
/description
)
214 This packages adds the libavahi-client library.
215 It also automatically adds the required
216 libavahi-dbus-support and the avahi-dbus-daemon packages.
217 For more information please see the avahi documentation.
220 define Package
/libavahi-compat-libdnssd
221 $(call Package
/avahi
/Default
)
225 DEPENDS
:=+libavahi-client
229 define Package
/libavahi-compat-libdnssd
/description
230 $(call Package
/avahi
/Default
/description
)
232 This packages adds the libavahi-compat-libdnssd library.
233 It also automatically adds the required libavahi-client package.
234 For more information please see the avahi documentation.
237 define Package
/avahi-utils
238 $(call Package
/avahi
/Default
)
239 SUBMENU
:=IP Addresses and Names
241 DEPENDS
:=+libavahi-client
+libgdbm
245 define Package
/avahi-utils
/description
246 $(call Package
/avahi
/Default
/description
)
248 This packages installs the following avahi utility programs
:
249 avahi-browse
, avahi-publish
, avahi-resolve
, avahi-set-host-name.
250 It also automatically adds the required libavahi-client package.
251 For more information please see the avahi documentation.
254 TARGET_CFLAGS
+= $(FPIC
) -DGETTEXT_PACKAGE
261 --disable-introspection \
272 --disable-python-dbus \
275 --disable-doxygen-doc \
276 --disable-doxygen-dot \
277 --disable-doxygen-man \
278 --disable-doxygen-rtf \
279 --disable-doxygen-xml \
280 --disable-doxygen-chm \
281 --disable-doxygen-chi \
282 --disable-doxygen-html \
283 --disable-doxygen-ps \
284 --disable-doxygen-pdf \
290 --with-avahi-user
=nobody \
291 --with-avahi-group
=nogroup \
292 --with-avahi-priv-access-group
=nogroup \
293 --with-autoipd-user
=nobody \
294 --with-autoipd-group
=nogroup
296 ifeq ($(BUILD_VARIANT
),dbus
)
297 ifneq ($(CONFIG_PACKAGE_libavahi-compat-libdnssd
),)
299 --enable-compat-libdns_sd
309 CFLAGS
="$$$$CFLAGS -DNDEBUG -DDISABLE_SYSTEMD" \
310 ac_cv_header_sys_capability_h
=no
312 define Build
/InstallDev
313 $(INSTALL_DIR
) $(1)/usr
/include
314 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(1)/usr
/include/
315 $(INSTALL_DIR
) $(1)/usr
/lib
316 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libavahi-
* $(1)/usr
/lib
/
317 ifneq ($(CONFIG_PACKAGE_libavahi-compat-libdnssd
),)
318 ifeq ($(BUILD_VARIANT
),dbus
)
319 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libdns_sd
* $(1)/usr
/lib
/
322 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
323 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/* $(1)/usr
/lib
/pkgconfig
/
326 define Package
/libavahi
/install
327 $(INSTALL_DIR
) $(1)/usr
/lib
328 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libavahi-
{common
,core
}.so.
* $(1)/usr
/lib
/
331 define Package
/libavahi-dbus-support
/install
332 $(call Package
/libavahi
/install,$(1))
333 $(INSTALL_DIR
) $(1)/etc
/dbus-1
/system.d
334 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/etc
/dbus-1
/system.d
/* $(1)/etc
/dbus-1
/system.d
337 Package
/libavahi-nodbus-support
/install=$(Package
/libavahi
/install)
339 define Package
/libavahi-client
/install
340 $(INSTALL_DIR
) $(1)/usr
/lib
341 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libavahi-client.so.
* $(1)/usr
/lib
/
344 define Package
/libavahi-compat-libdnssd
/install
345 $(INSTALL_DIR
) $(1)/usr
/lib
346 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libdns_sd.so
* $(1)/usr
/lib
/
349 define Package
/avahi-utils
/install
350 $(INSTALL_DIR
) $(1)/usr
/bin
351 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/* $(1)/usr
/bin
/
354 define Package
/avahi-autoipd
/install
355 $(INSTALL_DIR
) $(1)/etc
/avahi
356 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/etc
/avahi
/avahi-autoipd.action
$(1)/etc
/avahi
/
357 $(INSTALL_DIR
) $(1)/usr
/sbin
358 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/avahi-autoipd
$(1)/usr
/sbin
/
359 $(INSTALL_DIR
) $(1)/lib
/netifd
/proto
360 $(INSTALL_BIN
) .
/files
/netifd-autoip.sh
$(1)/lib
/netifd
/proto
/autoip.sh
363 define Package
/avahi-daemon
/install
364 $(INSTALL_DIR
) $(1)/usr
/sbin
365 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/avahi-daemon
$(1)/usr
/sbin
/
366 $(INSTALL_DIR
) $(1)/etc
/avahi
367 $(INSTALL_DATA
) .
/files
/avahi-daemon.conf
$(1)/etc
/avahi
/
368 # install empty service directory so that user knows where
369 # to place custom service files
370 $(INSTALL_DIR
) $(1)/etc
/avahi
/services
371 $(INSTALL_DIR
) $(1)/etc
/init.d
372 $(INSTALL_BIN
) .
/files
/avahi-daemon.init
$(1)/etc
/init.d
/avahi-daemon
375 Package
/avahi-dbus-daemon
/install=$(Package
/avahi-daemon
/install)
376 Package
/avahi-nodbus-daemon
/install=$(Package
/avahi-daemon
/install)
378 define Package
/avahi-daemon-service-http
/install
379 $(INSTALL_DIR
) $(1)/etc
/avahi
/services
380 $(INSTALL_DATA
) .
/files
/service-http
$(1)/etc
/avahi
/services
/http.service
383 define Package
/avahi-daemon-service-ssh
/install
384 $(INSTALL_DIR
) $(1)/etc
/avahi
/services
385 $(INSTALL_DATA
) .
/files
/service-ssh
$(1)/etc
/avahi
/services
/ssh.service
388 define Package
/avahi-dnsconfd
/install
389 $(INSTALL_DIR
) $(1)/etc
/avahi
390 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/etc
/avahi
/avahi-dnsconfd.action
$(1)/etc
/avahi
/
391 $(INSTALL_DIR
) $(1)/usr
/sbin
392 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/avahi-dnsconfd
$(1)/usr
/sbin
/
395 $(eval
$(call BuildPackage
,libavahi-client
))
396 $(eval
$(call BuildPackage
,libavahi-compat-libdnssd
))
397 $(eval
$(call BuildPackage
,avahi-utils
))
398 $(eval
$(call BuildPackage
,libavahi-dbus-support
))
399 $(eval
$(call BuildPackage
,libavahi-nodbus-support
))
400 $(eval
$(call BuildPackage
,avahi-autoipd
))
401 $(eval
$(call BuildPackage
,avahi-dbus-daemon
))
402 $(eval
$(call BuildPackage
,avahi-nodbus-daemon
))
403 $(eval
$(call BuildPackage
,avahi-daemon-service-http
))
404 $(eval
$(call BuildPackage
,avahi-daemon-service-ssh
))
405 $(eval
$(call BuildPackage
,avahi-dnsconfd
))