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
/avahi-utils
221 $(call Package
/avahi
/Default
)
222 SUBMENU
:=IP Addresses and Names
224 DEPENDS
:=+libavahi-client
+libgdbm
228 define Package
/avahi-utils
/description
229 $(call Package
/avahi
/Default
/description
)
231 This packages installs the following avahi utility programs
:
232 avahi-browse
, avahi-publish
, avahi-resolve
, avahi-set-host-name.
233 It also automatically adds the required libavahi-client package.
234 For more information please see the avahi documentation.
237 TARGET_CFLAGS
+= $(FPIC
) -DGETTEXT_PACKAGE
244 --disable-introspection \
255 --disable-python-dbus \
258 --disable-doxygen-doc \
259 --disable-doxygen-dot \
260 --disable-doxygen-man \
261 --disable-doxygen-rtf \
262 --disable-doxygen-xml \
263 --disable-doxygen-chm \
264 --disable-doxygen-chi \
265 --disable-doxygen-html \
266 --disable-doxygen-ps \
267 --disable-doxygen-pdf \
273 --with-avahi-user
=nobody \
274 --with-avahi-group
=nogroup \
275 --with-avahi-priv-access-group
=nogroup \
276 --with-autoipd-user
=nobody \
277 --with-autoipd-group
=nogroup
279 ifeq ($(BUILD_VARIANT
),dbus
)
288 CFLAGS
="$$$$CFLAGS -DNDEBUG -DDISABLE_SYSTEMD" \
289 ac_cv_header_sys_capability_h
=no
291 define Build
/InstallDev
292 $(INSTALL_DIR
) $(1)/usr
/include
293 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(1)/usr
/include/
294 $(INSTALL_DIR
) $(1)/usr
/lib
295 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libavahi-
* $(1)/usr
/lib
/
296 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
297 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/* $(1)/usr
/lib
/pkgconfig
/
300 define Package
/libavahi
/install
301 $(INSTALL_DIR
) $(1)/usr
/lib
302 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libavahi-
{common
,core
}.so.
* $(1)/usr
/lib
/
305 define Package
/libavahi-dbus-support
/install
306 $(call Package
/libavahi
/install,$(1))
307 $(INSTALL_DIR
) $(1)/etc
/dbus-1
/system.d
308 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/etc
/dbus-1
/system.d
/* $(1)/etc
/dbus-1
/system.d
311 Package
/libavahi-nodbus-support
/install=$(Package
/libavahi
/install)
313 define Package
/libavahi-client
/install
314 $(INSTALL_DIR
) $(1)/usr
/lib
315 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libavahi-client.so.
* $(1)/usr
/lib
/
318 define Package
/avahi-utils
/install
319 $(INSTALL_DIR
) $(1)/usr
/bin
320 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/* $(1)/usr
/bin
/
323 define Package
/avahi-autoipd
/install
324 $(INSTALL_DIR
) $(1)/etc
/avahi
325 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/etc
/avahi
/avahi-autoipd.action
$(1)/etc
/avahi
/
326 $(INSTALL_DIR
) $(1)/usr
/sbin
327 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/avahi-autoipd
$(1)/usr
/sbin
/
328 $(INSTALL_DIR
) $(1)/lib
/netifd
/proto
329 $(INSTALL_BIN
) .
/files
/netifd-autoip.sh
$(1)/lib
/netifd
/proto
/autoip.sh
332 define Package
/avahi-daemon
/install
333 $(INSTALL_DIR
) $(1)/usr
/sbin
334 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/avahi-daemon
$(1)/usr
/sbin
/
335 $(INSTALL_DIR
) $(1)/etc
/avahi
336 $(INSTALL_DATA
) .
/files
/avahi-daemon.conf
$(1)/etc
/avahi
/
337 # install empty service directory so that user knows where
338 # to place custom service files
339 $(INSTALL_DIR
) $(1)/etc
/avahi
/services
340 $(INSTALL_DIR
) $(1)/etc
/init.d
341 $(INSTALL_BIN
) .
/files
/avahi-daemon.init
$(1)/etc
/init.d
/avahi-daemon
344 Package
/avahi-dbus-daemon
/install=$(Package
/avahi-daemon
/install)
345 Package
/avahi-nodbus-daemon
/install=$(Package
/avahi-daemon
/install)
347 define Package
/avahi-daemon-service-http
/install
348 $(INSTALL_DIR
) $(1)/etc
/avahi
/services
349 $(INSTALL_DATA
) .
/files
/service-http
$(1)/etc
/avahi
/services
/http.service
352 define Package
/avahi-daemon-service-ssh
/install
353 $(INSTALL_DIR
) $(1)/etc
/avahi
/services
354 $(INSTALL_DATA
) .
/files
/service-ssh
$(1)/etc
/avahi
/services
/ssh.service
357 define Package
/avahi-dnsconfd
/install
358 $(INSTALL_DIR
) $(1)/etc
/avahi
359 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/etc
/avahi
/avahi-dnsconfd.action
$(1)/etc
/avahi
/
360 $(INSTALL_DIR
) $(1)/usr
/sbin
361 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/avahi-dnsconfd
$(1)/usr
/sbin
/
364 $(eval
$(call BuildPackage
,libavahi-client
))
365 $(eval
$(call BuildPackage
,avahi-utils
))
366 $(eval
$(call BuildPackage
,libavahi-dbus-support
))
367 $(eval
$(call BuildPackage
,libavahi-nodbus-support
))
368 $(eval
$(call BuildPackage
,avahi-autoipd
))
369 $(eval
$(call BuildPackage
,avahi-dbus-daemon
))
370 $(eval
$(call BuildPackage
,avahi-nodbus-daemon
))
371 $(eval
$(call BuildPackage
,avahi-daemon-service-http
))
372 $(eval
$(call BuildPackage
,avahi-daemon-service-ssh
))
373 $(eval
$(call BuildPackage
,avahi-dnsconfd
))