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

Reply via email to