2 # Copyright (C) 2006 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
9 include $(TOPDIR)/rules.mk
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=http://avahi.org/download/
17 PKG_MD5SUM:=29ebb2181958d5721ee5fc45f035a77c
20 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
21 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
23 PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm
25 include $(INCLUDE_DIR)/package.mk
27 define Package/avahi/Default
30 TITLE:=An mDNS/DNS-SD implementation
31 URL:=http://www.avahi.org/
34 define Package/libavahi
35 $(call Package/avahi/Default)
38 DEPENDS:=+libdaemon +libpthread
42 define Package/libavahi/description
44 An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).
45 Avahi is a system which facilitates service discovery on a local network --
46 this means that you can plug your laptop or computer into a network and
47 instantly be able to view other people who you can chat with, find printers
48 to print to or find files being shared. This kind of technology is already
49 found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
50 and is very convenient.
51 This package contains the mDNS/DNS-SD shared libraries, used by other programs.
54 define Package/avahi-autoipd
55 $(call Package/avahi/Default)
57 TITLE:=IPv4LL network address configuration daemon
60 define Package/avahi-autoipd/description
62 An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).
63 Avahi is a system which facilitates service discovery on a local network --
64 this means that you can plug your laptop or computer into a network and
65 instantly be able to view other people who you can chat with, find printers
66 to print to or find files being shared. This kind of technology is already
67 found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
68 and is very convenient.
69 This package implements IPv4LL, "Dynamic Configuration of
70 IPv4 Link-Local Addresses" (IETF RFC3927), a protocol for
71 automatic IP address configuration from the link-local
72 169.254.0.0/16 range without the need for a central server. It
73 is primarily intended to be used in ad-hoc networks which lack a
77 define Package/avahi-daemon
78 $(call Package/avahi/Default)
79 DEPENDS:=+libavahi +libexpat
83 define Package/avahi-daemon/description
85 An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).
86 Avahi is a system which facilitates service discovery on a local network --
87 this means that you can plug your laptop or computer into a network and
88 instantly be able to view other people who you can chat with, find printers
89 to print to or find files being shared. This kind of technology is already
90 found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
91 and is very convenient.
92 This package contains an mDNS/DNS-SD daemon.
95 define Package/avahi-daemon/conffiles
96 /etc/avahi/avahi-daemon.conf
97 /etc/avahi/services/http.service
98 /etc/avahi/services/ssh.service
101 define Package/avahi-dnsconfd
102 $(call Package/avahi/Default)
104 TITLE:=An Unicast DNS server from mDNS/DNS-SD configuration daemon
107 define Package/avahi-dnsconfd/description
110 This package contains an Unicast DNS server from mDNS/DNS-SD configuration
111 daemon, which may be used to configure conventional DNS servers using mDNS
112 in a DHCP-like fashion. Especially useful on IPv6.
115 define Build/Configure
116 $(call Build/Configure/Default, \
130 --disable-python-dbus \
133 --disable-doxygen-doc \
134 --disable-doxygen-dot \
135 --disable-doxygen-man \
136 --disable-doxygen-rtf \
137 --disable-doxygen-xml \
138 --disable-doxygen-chm \
139 --disable-doxygen-chi \
140 --disable-doxygen-html \
141 --disable-doxygen-ps \
142 --disable-doxygen-pdf \
145 --with-avahi-user=nobody \
146 --with-avahi-group=nogroup \
148 CFLAGS="$$$$CFLAGS -DNDEBUG" \
153 $(MAKE) -C $(PKG_BUILD_DIR) \
154 DESTDIR="$(PKG_INSTALL_DIR)" \
158 define Build/InstallDev
159 mkdir -p $(1)/usr/include
160 $(CP) $(PKG_INSTALL_DIR)/usr/include/avahi-{common,core} $(1)/usr/include/
161 mkdir -p $(1)/usr/lib
162 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.{a,so*} $(1)/usr/lib/
163 mkdir -p $(1)/usr/lib/pkgconfig
164 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/avahi-core.pc $(1)/usr/lib/pkgconfig/
167 define Build/UninstallDev
168 rm -rf $(STAGING_DIR)/usr/include/avahi-{common,core} \
169 $(STAGING_DIR)/usr/lib/libavahi-{common,core}.{a,so*} \
170 $(STAGING_DIR)/usr/lib/pkgconfig/avahi-core.pc
173 define Package/libavahi/install
174 $(INSTALL_DIR) $(1)/usr/lib
175 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.so.* $(1)/usr/lib/
178 define Package/avahi-autoipd/install
179 $(INSTALL_DIR) $(1)/etc/avahi
180 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-autoipd.action $(1)/etc/avahi/
181 $(INSTALL_DIR) $(1)/usr/sbin
182 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/avahi-autoipd $(1)/usr/sbin/
185 define Package/avahi-daemon/install
186 $(INSTALL_DIR) $(1)/usr/sbin
187 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/avahi-daemon $(1)/usr/sbin/
188 $(INSTALL_DIR) $(1)/etc/avahi
189 $(INSTALL_DATA) ./files/avahi-daemon.conf $(1)/etc/avahi/
190 $(INSTALL_DIR) $(1)/etc/avahi/services
191 $(INSTALL_DATA) ./files/service-http $(1)/etc/avahi/services/http.service
192 $(INSTALL_DATA) ./files/service-ssh $(1)/etc/avahi/services/ssh.service
193 $(INSTALL_DIR) $(1)/etc/init.d
194 $(INSTALL_BIN) ./files/avahi-daemon.init $(1)/etc/init.d/avahi-daemon
197 define Package/avahi-dnsconfd/install
198 $(INSTALL_DIR) $(1)/etc/avahi
199 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-dnsconfd.action $(1)/etc/avahi/
200 $(INSTALL_DIR) $(1)/usr/sbin
201 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/avahi-dnsconfd $(1)/usr/sbin/
204 $(eval $(call BuildPackage,libavahi))
205 $(eval $(call BuildPackage,avahi-autoipd))
206 $(eval $(call BuildPackage,avahi-daemon))
207 $(eval $(call BuildPackage,avahi-dnsconfd))
209 $(eval $(call RequireCommand,pkg-config, \
210 $(PKG_NAME) requires pkg-config. \