This updates the avahi package as follows: 1. The avahi client API libraries libavahi-client.* can be selected.
2. The avahi utilities can be selected: avahi-browse, aka: avahi-browse-domains avahi-publish, aka: avahi-publish-address, avahi-publish-service avahi-resolve, aka: avahi-resolve-address, avahi-resolve-host-name avahi-set-host-name. Notes: (a) The avahi client libraries and the avahi utilities require that avahi be compiled with D-Bus support, and D-Bus must be included in the build. If they are not selected, avahi is compiled without D-Bus support, as it is at present. (b) The init.d start priority of avahi-daemon is changed from 50 to 61 so that it loads after D-Bus. Signed-off-by: Mike Brady <mikebr...@eircom.net> --- Index: files/avahi-daemon.init =================================================================== --- files/avahi-daemon.init (revision 25894) +++ files/avahi-daemon.init (working copy) @@ -1,6 +1,6 @@ #!/bin/sh /etc/rc.common # Copyright (C) 2006 OpenWrt.org -START=50 +START=61 BIN=avahi-daemon DEFAULT=/etc/default/$BIN Index: Makefile =================================================================== --- Makefile (revision 25894) +++ Makefile (working copy) @@ -1,5 +1,5 @@ # -# Copyright (C) 2007-2009 OpenWrt.org +# Copyright (C) 2007-2011 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,13 +9,13 @@ PKG_NAME:=avahi PKG_VERSION:=0.6.28 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://avahi.org/download/ PKG_MD5SUM:=d0143a5aa3265019072e53ab497818d0 -PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm intltool/host +PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm intltool/host libpthread dbus PKG_FIXUP:=libtool PKG_REMOVE_FILES:=autogen.sh @@ -52,8 +52,10 @@ define Package/libavahi/description $(call Package/avahi/Default/description) - . This package contains the mDNS/DNS-SD shared libraries, used by other programs. + Specifically, it provides libavahi-core and libavahi-common libraries. + By default, it is compiled without D-Bus support, i.e. the --disable-dbus compilation flag is set. + To enable D-Bus support, add the package libavahi-dbus-support. endef define Package/avahi-autoipd @@ -93,7 +95,7 @@ define Package/avahi-dnsconfd $(call Package/avahi/Default) DEPENDS:=+libavahi - TITLE:=An Unicast DNS server from mDNS/DNS-SD configuration daemon + TITLE:=A Unicast DNS server from mDNS/DNS-SD configuration daemon endef define Package/avahi-dnsconfd/description @@ -104,6 +106,57 @@ in a DHCP-like fashion. Especially useful on IPv6. endef +define Package/libavahi-dbus-support + $(call Package/avahi/Default) + SECTION:=libs + CATEGORY:=Libraries + VARIANT:=dbus + DEPENDS:=+dbus +libavahi + TITLE:=Adds D-Bus support for advanced features +endef + +define Package/libavahi-dbus-support/description +$(call Package/libavahi/description) + This package enables D-Bus support in libavahi. This is needed for libavahi to + provide advanced features -- support for avahi-browse, avahi-publish + and libavahi-client -- the object-oriented APIs needed to provide the avahi client interface. + It requires the D-Bus package to be included in the build. + Selecting this modifies the contents of the libavahi package by setting the --enable-dbus compilation flag; + it does not generate a separate package of its own. +endef + +define Package/libavahi-client + $(call Package/avahi/Default) + SECTION:=libs + CATEGORY:=Libraries + DEPENDS:=+libavahi-dbus-support + TITLE:=The libavahi-client library +endef + +define Package/libavahi-client/description +$(call Package/avahi/Default/description) + This packages adds the libavahi-client libraries. + For more information please see the avahi documentation. + Note: this package selects the libavahi-dbus-support package and requires the D-Bus package. +endef + +define Package/avahi-utils + $(call Package/avahi/Default) + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=+libavahi-dbus-support + TITLE:=The avahi utility programs +endef + +define Package/avahi-utils/description +$(call Package/avahi/Default/description) + This packages installs the following avahi utility programs: + avahi-browse, avahi-publish, avahi-resolve, avahi-set-host-name. + For more information please see the avahi documentation. + Note: this package selects the libavahi-dbus-support package and requires the D-Bus package. +endef + + TARGET_CFLAGS += $(FPIC) -DGETTEXT_PACKAGE CONFIGURE_ARGS+= \ @@ -115,7 +168,6 @@ --disable-qt4 \ --disable-gtk \ --disable-gtk3 \ - --disable-dbus \ --with-xml=expat \ --disable-dbm \ --enable-gdbm \ @@ -147,23 +199,54 @@ --disable-stack-protector endif +ifeq ($(BUILD_VARIANT),dbus) +CONFIGURE_ARGS += \ + --enable-dbus +else +CONFIGURE_ARGS += \ + --disable-dbus +endif + CONFIGURE_VARS+= \ CFLAGS="$$$$CFLAGS -DNDEBUG -DDISABLE_SYSTEMD" \ +define Build/Configure + (cd $(PKG_BUILD_DIR); autoreconf -f) + $(call Build/Configure/Default, ) +endef + define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include - $(CP) $(PKG_INSTALL_DIR)/usr/include/avahi-{common,core} $(1)/usr/include/ + $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.{a,so*} $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-* $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig - $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/avahi-core.pc $(1)/usr/lib/pkgconfig/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/ endef +define Package/libavahi-dbus-support/install + $(INSTALL_DIR) $(1)/usr/lib +endef + define Package/libavahi/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.so.* $(1)/usr/lib/ +ifeq ($(BUILD_VARIANT),dbus) + $(INSTALL_DIR) $(1)/etc/dbus-1/system.d + $(CP) $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/* $(1)/etc/dbus-1/system.d +endif endef +define Package/libavahi-client/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-client.so.* $(1)/usr/lib/ +endef + +define Package/avahi-utils/install + $(INSTALL_DIR) $(1)/usr/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ +endef + define Package/avahi-autoipd/install $(INSTALL_DIR) $(1)/etc/avahi $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-autoipd.action $(1)/etc/avahi/ @@ -190,6 +273,9 @@ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-dnsconfd $(1)/usr/sbin/ endef +$(eval $(call BuildPackage,libavahi-client)) +$(eval $(call BuildPackage,avahi-utils)) +$(eval $(call BuildPackage,libavahi-dbus-support)) $(eval $(call BuildPackage,libavahi)) $(eval $(call BuildPackage,avahi-autoipd)) $(eval $(call BuildPackage,avahi-daemon)) _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel