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
19 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
20 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
22 PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm
24 include $(INCLUDE_DIR)/package.mk
26 define Package/avahi/Default
29 TITLE:=An mDNS/DNS-SD implementation
30 URL:=http://www.avahi.org/
33 define Package/libavahi
34 $(call Package/avahi/Default)
37 DEPENDS:=+libdaemon +libpthread
41 define Package/libavahi/description
42 An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).
43 Avahi is a system which facilitates service discovery on a local network --
44 this means that you can plug your laptop or computer into a network and
45 instantly be able to view other people who you can chat with, find printers
46 to print to or find files being shared. This kind of technology is already
47 found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
48 and is very convenient.
49 This package contains the mDNS/DNS-SD shared libraries, used by other programs.
52 define Package/avahi-autoipd
53 $(call Package/avahi/Default)
55 TITLE:=IPv4LL network address configuration daemon
58 define Package/avahi-autoipd/description
59 An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).
60 Avahi is a system which facilitates service discovery on a local network --
61 this means that you can plug your laptop or computer into a network and
62 instantly be able to view other people who you can chat with, find printers
63 to print to or find files being shared. This kind of technology is already
64 found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
65 and is very convenient.
66 This package implements IPv4LL, "Dynamic Configuration of
67 IPv4 Link-Local Addresses" (IETF RFC3927), a protocol for
68 automatic IP address configuration from the link-local
69 169.254.0.0/16 range without the need for a central server. It
70 is primarily intended to be used in ad-hoc networks which lack a
74 define Package/avahi-daemon
75 $(call Package/avahi/Default)
76 DEPENDS:=+libavahi +libexpat
80 define Package/avahi-daemon/description
81 An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).
82 Avahi is a system which facilitates service discovery on a local network --
83 this means that you can plug your laptop or computer into a network and
84 instantly be able to view other people who you can chat with, find printers
85 to print to or find files being shared. This kind of technology is already
86 found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
87 and is very convenient.
88 This package contains an mDNS/DNS-SD daemon.
91 define Package/avahi-daemon/conffiles
92 /etc/avahi/avahi-daemon.conf
93 /etc/avahi/services/http.service
94 /etc/avahi/services/ssh.service
97 define Package/avahi-dnsconfd
98 $(call Package/avahi/Default)
100 TITLE:=An Unicast DNS server from mDNS/DNS-SD configuration daemon
103 define Package/avahi-dnsconfd/description
106 This package contains an Unicast DNS server from mDNS/DNS-SD configuration
107 daemon, which may be used to configure conventional DNS servers using mDNS
108 in a DHCP-like fashion. Especially useful on IPv6.
111 define Build/Configure
112 $(call Build/Configure/Default, \
126 --disable-python-dbus \
129 --disable-doxygen-doc \
130 --disable-doxygen-dot \
131 --disable-doxygen-man \
132 --disable-doxygen-rtf \
133 --disable-doxygen-xml \
134 --disable-doxygen-chm \
135 --disable-doxygen-chi \
136 --disable-doxygen-html \
137 --disable-doxygen-ps \
138 --disable-doxygen-pdf \
141 --with-avahi-user=nobody \
142 --with-avahi-group=nogroup \
144 CFLAGS="$$$$CFLAGS -DNDEBUG" \
149 $(MAKE) -C $(PKG_BUILD_DIR) \
150 DESTDIR="$(PKG_INSTALL_DIR)" \
154 define Build/InstallDev
155 mkdir -p $(1)/usr/include
156 $(CP) $(PKG_INSTALL_DIR)/usr/include/avahi-{common,core} $(1)/usr/include/
157 mkdir -p $(1)/usr/lib
158 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.{a,so*} $(1)/usr/lib/
159 mkdir -p $(1)/usr/lib/pkgconfig
160 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/avahi-core.pc $(1)/usr/lib/pkgconfig/
163 define Build/UninstallDev
164 rm -rf $(STAGING_DIR)/usr/include/avahi-{common,core} \
165 $(STAGING_DIR)/usr/lib/libavahi-{common,core}.{a,so*} \
166 $(STAGING_DIR)/usr/lib/pkgconfig/avahi-core.pc
169 define Package/libavahi/install
170 $(INSTALL_DIR) $(1)/usr/lib
171 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.so.* $(1)/usr/lib/
174 define Package/avahi-autoipd/install
175 $(INSTALL_DIR) $(1)/etc/avahi
176 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-autoipd.action $(1)/etc/avahi/
177 $(INSTALL_DIR) $(1)/usr/sbin
178 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/avahi-autoipd $(1)/usr/sbin/
181 define Package/avahi-daemon/install
182 $(INSTALL_DIR) $(1)/usr/sbin
183 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/avahi-daemon $(1)/usr/sbin/
184 $(INSTALL_DIR) $(1)/etc/avahi
185 $(INSTALL_DATA) ./files/avahi-daemon.conf $(1)/etc/avahi/
186 $(INSTALL_DIR) $(1)/etc/avahi/services
187 $(INSTALL_DATA) ./files/service-http $(1)/etc/avahi/services/http.service
188 $(INSTALL_DATA) ./files/service-ssh $(1)/etc/avahi/services/ssh.service
189 $(INSTALL_DIR) $(1)/etc/init.d
190 $(INSTALL_BIN) ./files/avahi-daemon.init $(1)/etc/init.d/avahi-daemon
193 define Package/avahi-dnsconfd/install
194 $(INSTALL_DIR) $(1)/etc/avahi
195 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-dnsconfd.action $(1)/etc/avahi/
196 $(INSTALL_DIR) $(1)/usr/sbin
197 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/avahi-dnsconfd $(1)/usr/sbin/
200 $(eval $(call BuildPackage,libavahi))
201 $(eval $(call BuildPackage,avahi-autoipd))
202 $(eval $(call BuildPackage,avahi-daemon))
203 $(eval $(call BuildPackage,avahi-dnsconfd))
205 $(eval $(call RequireCommand,pkg-config, \
206 $(PKG_NAME) requires pkg-config. \