This updates the avahi package as follows: 1. The libavahi-client library can be selected.
2. The following 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) This patch applies to avahi 0.6.29 -- I sent in the previous version for 0.6.28 just after 0.6.29 came out, duh. :( (b) The libavahi-client library and the avahi utilities require avahi to 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. (c) The init.d start priority of avahi-daemon is changed from 50 to 61 so that it loads after D-Bus. The patch in Ticket #8929 has two problems, IMHO: 1. It makes the D-Bus package a compulsory requirement for avahi, even though it's only really needed if you select the libavahi-client library. (This patch makes D-Bus compulsory only if you select the libavahi-client library or the avahi utilities which depend on them.) 2. The avahi-daemon will fail to start because the D-Bus daemon is set to start up _after_ avahi-daemon starts looking for it. (This patch adjusts the init.d start priority of the avahi-daemon to later than that of D-Bus.) Signed-off-by: Mike Brady <mikebr...@eircom.net>
Index: files/avahi-daemon.init =================================================================== --- files/avahi-daemon.init (revision 26305) +++ 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 26305) +++ Makefile (working copy) @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://avahi.org/download/ PKG_MD5SUM:=bb9d326770689610d1dbaceab5a787fc -PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm intltool/host +PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm intltool/host libpthread dbus PKG_FIXUP:=autoreconf PKG_REMOVE_FILES:=autogen.sh @@ -54,6 +54,9 @@ $(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 @@ -96,7 +99,7 @@ $(call Package/avahi/Default) SUBMENU:=IP Addresses and Names 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 @@ -107,6 +110,56 @@ 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+= (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 the libavahi-client library. + 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-dbuscompilation 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+= (libavahi-client library) +endef + +define Package/libavahi-client/description +$(call Package/avahi/Default/description) + . + This packages adds the libavahi-client library. + For more information please see the avahi documentation. +endef + +define Package/avahi-utils + $(call Package/avahi/Default) + SUBMENU:=IP Addresses and Names + DEPENDS:=+libavahi-client + TITLE+= (utilities) +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. +endef + TARGET_CFLAGS += $(FPIC) -DGETTEXT_PACKAGE CONFIGURE_ARGS+= \ @@ -118,7 +171,6 @@ --disable-qt4 \ --disable-gtk \ --disable-gtk3 \ - --disable-dbus \ --with-xml=expat \ --disable-dbm \ --enable-gdbm \ @@ -150,23 +202,49 @@ --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/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/ @@ -193,7 +271,11 @@ $(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)) $(eval $(call BuildPackage,avahi-dnsconfd)) +
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel