# # Copyright (C) 2006 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # # $Id$ include $(TOPDIR)/rules.mk PKG_NAME:=avahi PKG_VERSION:=0.6.10 PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://avahi.org/download/ PKG_MD5SUM:=cfb9e05c138dff4c430a35eee6229e8a PKG_CAT:=zcat PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install PKG_BUILDDEP:=libexpat libdaemon libgdbm include $(INCLUDE_DIR)/package.mk define Package/libavahi SECTION:=libs CATEGORY:=Libraries DEPENDS:=+libdaemon TITLE:=An mDNS/DNS-SD implementation (library) DESCRIPTION:=An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).\\\ Avahi is a system which facilitates service discovery on a local network -- \\\ this means that you can plug your laptop or computer into a network and \\\ instantly be able to view other people who you can chat with, find printers \\\ to print to or find files being shared. This kind of technology is already \\\ found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf') \\\ and is very convenient.\\\ \\\ This package contains the mDNS/DNS-SD shared libraries, used by other programs. URL:=http://www.avahi.org/ endef define Package/avahi-daemon SECTION:=net CATEGORY:=Network DEPENDS:=+libavahi TITLE:=An mDNS/DNS-SD implementation (daemon) DESCRIPTION:=An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (daemon).\\\ Avahi is a system which facilitates service discovery on a local network -- \\\ this means that you can plug your laptop or computer into a network and \\\ instantly be able to view other people who you can chat with, find printers \\\ to print to or find files being shared. This kind of technology is already \\\ found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf') \\\ and is very convenient.\\\ \\\ This package contains an mDNS/DNS-SD daemon. URL:=http://www.avahi.org/ endef define Package/avahi-daemon/conffiles /etc/avahi/avahi-daemon.conf /etc/avahi/services/http.service /etc/avahi/services/ssh.service endef define Package/avahi-dnsconfd SECTION:=net CATEGORY:=Network DEPENDS:=+libavahi TITLE:=An Unicast DNS server from mDNS/DNS-SD configuration daemon DESCRIPTION:=An Unicast DNS server from mDNS/DNS-SD configuration daemon.\\\ Avahi is a system which facilitates service discovery on a local network -- \\\ this means that you can plug your laptop or computer into a network and \\\ instantly be able to view other people who you can chat with, find printers \\\ to print to or find files being shared. This kind of technology is already \\\ found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf') \\\ and is very convenient.\\\ \\\ This package contains an Unicast DNS server from mDNS/DNS-SD configuration \\\ daemon, which may be used to configure conventional DNS servers using mDNS \\\ in a DHCP-like fashion. Especially useful on IPv6. URL:=http://www.avahi.org/ endef define Build/Configure (cd $(PKG_BUILD_DIR); rm -f config.cache; \ $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS) -DNDEBUG" \ CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \ LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \ PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" \ ac_cv_func_malloc_0_nonnull=yes \ ac_cv_func_realloc_0_nonnull=yes \ ac_cv_func_memcmp_working=yes \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ --program-prefix="" \ --program-suffix="" \ --prefix=/usr \ --exec-prefix=/usr \ --bindir=/usr/bin \ --datadir=/usr/share \ --includedir=/usr/include \ --infodir=/usr/share/info \ --libdir=/usr/lib \ --libexecdir=/usr/lib \ --localstatedir=/var \ --mandir=/usr/share/man \ --sbindir=/usr/sbin \ --sysconfdir=/etc \ $(DISABLE_LARGEFILE) \ $(DISABLE_NLS) \ --enable-shared \ --enable-static \ --disable-rpath \ --with-gnu-ld \ --disable-glib \ --disable-qt3 \ --disable-qt4 \ --disable-gtk \ --disable-dbus \ --enable-expat \ --enable-libdaemon \ --disable-python \ --disable-pygtk \ --disable-python-dbus \ --disable-mono \ --disable-monodoc \ --disable-doxygen-doc \ --disable-doxygen-dot \ --disable-doxygen-man \ --disable-doxygen-rtf \ --disable-doxygen-xml \ --disable-doxygen-chm \ --disable-doxygen-chi \ --disable-doxygen-html \ --disable-doxygen-ps \ --disable-doxygen-pdf \ --disable-xmltoman \ --with-distro=none \ --with-avahi-user=nobody \ --with-avahi-group=nogroup \ ); endef define Build/Compile rm -rf $(PKG_INSTALL_DIR) mkdir -p $(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) \ DESTDIR="$(PKG_INSTALL_DIR)" \ all install endef define Package/avahi-daemon/install install -d -m0755 $(1)/etc/avahi install -m0644 ./files/avahi-daemon.conf $(1)/etc/avahi/ install -d -m0755 $(1)/etc/avahi/services install -m0644 ./files/service-http $(1)/etc/avahi/services/http.service install -m0644 ./files/service-ssh $(1)/etc/avahi/services/ssh.service install -d -m0755 $(1)/etc/init.d install -m0755 ./files/avahi-daemon.init $(1)/etc/init.d/avahi-daemon install -d -m0755 $(1)/usr/sbin $(CP) $(PKG_INSTALL_DIR)/usr/sbin/avahi-daemon $(1)/usr/sbin/ endef define Package/avahi-dnsconfd/install install -d -m0755 $(1)/etc/avahi $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-dnsconfd.action $(1)/etc/avahi/ install -d -m0755 $(1)/usr/sbin $(CP) $(PKG_INSTALL_DIR)/usr/sbin/avahi-dnsconfd $(1)/usr/sbin/ endef define Package/libavahi/install install -d -m0755 $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.so.* $(1)/usr/lib/ endef define Build/InstallDev mkdir -p $(STAGING_DIR)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include/avahi-{common,core} $(STAGING_DIR)/usr/include/ mkdir -p $(STAGING_DIR)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.{a,so*} $(STAGING_DIR)/usr/lib/ mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/avahi-core.pc $(STAGING_DIR)/usr/lib/pkgconfig/ $(SED) 's,-I$$$${includedir},,g' $(STAGING_DIR)/usr/lib/pkgconfig/avahi-core.pc $(SED) 's,-L$$$${libdir},,g' $(STAGING_DIR)/usr/lib/pkgconfig/avahi-core.pc endef define Build/UninstallDev rm -rf \ $(STAGING_DIR)/usr/include/avahi-{common,core} \ $(STAGING_DIR)/usr/lib/libavahi-{common,core}.{a,so*} \ $(STAGING_DIR)/usr/lib/pkgconfig/avahi-core.pc endef $(eval $(call BuildPackage,libavahi)) $(eval $(call BuildPackage,avahi-daemon)) $(eval $(call BuildPackage,avahi-dnsconfd))