From b738f8dbae0caac6410c973ed5f19b44c378eb56 Mon Sep 17 00:00:00 2001
From: nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sun, 15 May 2005 12:34:56 +0000
Subject: Add howl package

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@907 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/Config.in                         |   1 +
 package/Makefile                          |   1 +
 package/howl/Config.in                    |  34 +++++++++
 package/howl/Makefile                     | 120 ++++++++++++++++++++++++++++++
 package/howl/files/autoipd.init           |  20 +++++
 package/howl/files/mDNSResponder.conf     |   2 +
 package/howl/files/mDNSResponder.init     |  20 +++++
 package/howl/files/nifd.init              |  21 ++++++
 package/howl/ipkg/autoipd.control         |   9 +++
 package/howl/ipkg/howl-utils.control      |   9 +++
 package/howl/ipkg/libhowl.control         |   8 ++
 package/howl/ipkg/mdnsresponder.conffiles |   1 +
 package/howl/ipkg/mdnsresponder.control   |   9 +++
 package/howl/ipkg/nifd.control            |   9 +++
 package/howl/patches/config-path.patch    |  14 ++++
 package/howl/patches/debug-log.patch      |  10 +++
 package/howl/patches/proto-fix.patch      |  11 +++
 17 files changed, 299 insertions(+)
 create mode 100644 package/howl/Config.in
 create mode 100644 package/howl/Makefile
 create mode 100644 package/howl/files/autoipd.init
 create mode 100644 package/howl/files/mDNSResponder.conf
 create mode 100644 package/howl/files/mDNSResponder.init
 create mode 100644 package/howl/files/nifd.init
 create mode 100644 package/howl/ipkg/autoipd.control
 create mode 100644 package/howl/ipkg/howl-utils.control
 create mode 100644 package/howl/ipkg/libhowl.control
 create mode 100644 package/howl/ipkg/mdnsresponder.conffiles
 create mode 100644 package/howl/ipkg/mdnsresponder.control
 create mode 100644 package/howl/ipkg/nifd.control
 create mode 100644 package/howl/patches/config-path.patch
 create mode 100644 package/howl/patches/debug-log.patch
 create mode 100644 package/howl/patches/proto-fix.patch

diff --git a/package/Config.in b/package/Config.in
index 3ab661f79..922548264 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -66,6 +66,7 @@ source "package/robocfg/Config.in"
 source "package/siproxd/Config.in"
 source "package/sipsak/Config.in"
 source "package/htpdate/Config.in"
+source "package/howl/Config.in"
 
 comment "Libraries"
 source "package/libpthread/Config.in"
diff --git a/package/Makefile b/package/Makefile
index 5f9a3f366..7fc50c1be 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -87,6 +87,7 @@ package-$(BR2_PACKAGE_LIBOSIP2) += libosip2
 package-$(BR2_PACKAGE_SIPROXD) += siproxd
 package-$(BR2_PACKAGE_SIPSAK) += sipsak
 package-$(BR2_PACKAGE_HTPDATE) += htpdate
+package-$(BR2_PACKAGE_HOWL) += howl
 package-$(BR2_PACKAGE_OSIRISD) += osiris
 
 DEV_LIBS:=tcp_wrappers glib ncurses openssl pcre popt zlib libnet libpcap mysql postgresql iptables matrixssl lzo gmp fuse portmap libelf uclibc++ speex libpng libgd
diff --git a/package/howl/Config.in b/package/howl/Config.in
new file mode 100644
index 000000000..12c9bda4b
--- /dev/null
+++ b/package/howl/Config.in
@@ -0,0 +1,34 @@
+config BR2_PACKAGE_HOWL
+	bool "howl - a cross-platform implementation of Zeroconf networking"
+	default y if CONFIG_DEVEL
+	help
+	  A cross-platform implementation of Zeroconf networking.
+	  
+	  http://www.porchdogsoft.com/products/howl/
+	  
+
+config BR2_PACKAGE_LIBHOWL
+	tristate "libhowl - howl library"
+	default m if CONFIG_DEVEL
+	depends BR2_PACKAGE_HOWL
+
+config BR2_PACKAGE_HOWL_UTILS
+	tristate "howl-utils - howl client utilities"
+	default m if CONFIG_DEVEL
+	depends BR2_PACKAGE_LIBHOWL
+
+config BR2_PACKAGE_MDNSRESPONDER
+	tristate "mdnsresponder - an mDNS (Multicast DNS) service responder daemon"
+	default m if CONFIG_DEVEL
+	depends BR2_PACKAGE_LIBHOWL
+
+config BR2_PACKAGE_AUTOIPD
+	tristate "autoipd - an IPv4 Link-Local address self-assigner daemon"
+	default m if CONFIG_DEVEL
+	depends BR2_PACKAGE_LIBHOWL
+
+config BR2_PACKAGE_NIFD
+	tristate "nifd - a network interface monitor daemon"
+	default m if CONFIG_DEVEL
+	depends BR2_PACKAGE_LIBHOWL
+
diff --git a/package/howl/Makefile b/package/howl/Makefile
new file mode 100644
index 000000000..bf844fbfa
--- /dev/null
+++ b/package/howl/Makefile
@@ -0,0 +1,120 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=howl
+PKG_VERSION:=0.9.10
+PKG_RELEASE:=1
+PKG_MD5SUM:=444f2c1fe8eaf16d6822c01bfafba99b
+
+PKG_SOURCE_URL:=http://www.porchdogsoft.com/download/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,LIBHOWL,libhowl,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,MDNSRESPONDER,mdnsresponder,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,HOWL_UTILS,howl-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,AUTOIPD,autoipd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,NIFD,nifd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+	(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+		$(TARGET_CONFIGURE_OPTS) \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+		LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
+		./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 \
+	)
+	touch $(PKG_BUILD_DIR)/.configured
+
+$(PKG_BUILD_DIR)/.built:
+	$(MAKE) -C $(PKG_BUILD_DIR)
+	mkdir -p $(PKG_INSTALL_DIR)
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		install
+	touch $(PKG_BUILD_DIR)/.built
+
+$(IPKG_LIBHOWL):
+	install -m0755 -d $(IDIR_LIBHOWL)/usr/lib
+	cp -fpR $(PKG_INSTALL_DIR)/usr/lib/lib{howl,mDNSResponder}.so.* $(IDIR_LIBHOWL)/usr/lib/
+	$(RSTRIP) $(IDIR_LIBHOWL)
+	$(IPKG_BUILD) $(IDIR_LIBHOWL) $(PACKAGE_DIR)
+
+$(IPKG_HOWL_UTILS):
+	install -m0755 -d $(IDIR_HOWL_UTILS)/usr/bin
+	cp -fpR $(PKG_INSTALL_DIR)/usr/bin/mDNS{Browse,Publish,Query,Resolve} $(IDIR_HOWL_UTILS)/usr/bin/
+	$(RSTRIP) $(IDIR_HOWL_UTILS)
+	$(IPKG_BUILD) $(IDIR_LIBHOWL) $(PACKAGE_DIR)
+	
+$(IPKG_MDNSRESPONDER):
+	install -m0755 -d $(IDIR_MDNSRESPONDER)/etc
+	install -m0644 ./files/mDNSResponder.conf $(IDIR_MDNSRESPONDER)/etc/mDNSResponder.conf
+	install -m0755 -d $(IDIR_MDNSRESPONDER)/etc/init.d
+	install -m0644 ./files/mDNSResponder.init $(IDIR_MDNSRESPONDER)/etc/init.d/mDNSResponder
+	install -m0755 -d $(IDIR_MDNSRESPONDER)/usr/sbin
+	cp -fpR $(PKG_INSTALL_DIR)/usr/bin/mDNSResponder $(IDIR_MDNSRESPONDER)/usr/sbin/
+	$(RSTRIP) $(IDIR_MDNSRESPONDER)
+	$(IPKG_BUILD) $(IDIR_MDNSRESPONDER) $(PACKAGE_DIR)
+	
+$(IPKG_AUTOIPD):
+	install -m0755 -d $(IDIR_AUTOIPD)/etc/init.d
+	install -m0644 ./files/autoipd.init $(IDIR_AUTOIPD)/etc/init.d/autoipd
+	install -m0755 -d $(IDIR_AUTOIPD)/usr/sbin
+	cp -fpR $(PKG_INSTALL_DIR)/usr/bin/autoipd $(IDIR_AUTOIPD)/usr/sbin/
+	$(RSTRIP) $(IDIR_AUTOIPD)
+	$(IPKG_BUILD) $(IDIR_AUTOIPD) $(PACKAGE_DIR)
+	
+$(IPKG_NIFD):
+	install -m0755 -d $(IDIR_NIFD)/etc/init.d
+	install -m0644 ./files/nifd.init $(IDIR_NIFD)/etc/init.d/nifd
+	install -m0755 -d $(IDIR_NIFD)/usr/sbin
+	cp -fpR $(PKG_INSTALL_DIR)/usr/bin/nifd $(IDIR_NIFD)/usr/sbin/
+	$(RSTRIP) $(IDIR_NIFD)
+	$(IPKG_BUILD) $(IDIR_NIFD) $(PACKAGE_DIR)
+	
+$(STAGING_DIR)/usr/lib/libhowl.so: $(PKG_BUILD_DIR)/.built
+	mkdir -p $(STAGING_DIR)/usr/include
+	cp -fpR $(PKG_INSTALL_DIR)/usr/include/howl $(STAGING_DIR)/usr/include/
+	mkdir -p $(STAGING_DIR)/usr/lib
+	cp -fpR $(PKG_INSTALL_DIR)/usr/lib/lib{howl,mDNSResponder}.{a,so*} $(STAGING_DIR)/usr/lib/
+	mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig
+	cp -fpR $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/howl.pc $(STAGING_DIR)/usr/lib/pkgconfig/
+	touch $(STAGING_DIR)/usr/lib/libhowl.so
+
+install-dev: $(STAGING_DIR)/usr/lib/libhowl.so
+
+uninstall-dev:
+	rm -rf \
+	  $(STAGING_DIR)/usr/include/howl \
+	  $(STAGING_DIR)/usr/lib/lib{howl,mDNSResponder}.{a,so*} \
+	  $(STAGING_DIR)/usr/lib/pkgconfig/howl.pc \
+
+compile: install-dev
+clean: uninstall-dev
diff --git a/package/howl/files/autoipd.init b/package/howl/files/autoipd.init
new file mode 100644
index 000000000..eed593603
--- /dev/null
+++ b/package/howl/files/autoipd.init
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+DEFAULT=/etc/default/autopid
+RUN_D=/var/run
+PID_F=$RUN_D/autoipd.pid
+[ -f $DEFAULT ] && . $DEFAULT
+
+case $1 in
+ start)
+  [ -d $RUN_D ] || mkdir -p $RUN_D
+  autoipd $OPTIONS
+  ;;
+ stop)
+  [ -f $PID_F ] && kill $(cat $PID_F)
+  ;;
+ *)
+  echo "usage: $0 (start|stop)"
+  exit 1
+esac
+exit $?
diff --git a/package/howl/files/mDNSResponder.conf b/package/howl/files/mDNSResponder.conf
new file mode 100644
index 000000000..eac712f9e
--- /dev/null
+++ b/package/howl/files/mDNSResponder.conf
@@ -0,0 +1,2 @@
+#name         #type        #domain  #port  #text
+"My Router"   _http._tcp   local.   80     "txtvers=1" "path=/P" "note=My Router"
diff --git a/package/howl/files/mDNSResponder.init b/package/howl/files/mDNSResponder.init
new file mode 100644
index 000000000..292280f7c
--- /dev/null
+++ b/package/howl/files/mDNSResponder.init
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+DEFAULT=/etc/default/mDNSResponder
+RUN_D=/var/run
+PID_F=$RUN_D/mDNSResponder.pid
+[ -f $DEFAULT ] && . $DEFAULT
+
+case $1 in
+ start)
+  [ -d $RUN_D ] || mkdir -p $RUN_D
+  mDNSResponder $OPTIONS
+  ;;
+ stop)
+  [ -f $PID_F ] && kill $(cat $PID_F)
+  ;;
+ *)
+  echo "usage: $0 (start|stop)"
+  exit 1
+esac
+exit $?
diff --git a/package/howl/files/nifd.init b/package/howl/files/nifd.init
new file mode 100644
index 000000000..b67861eb2
--- /dev/null
+++ b/package/howl/files/nifd.init
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+DEFAULT=/etc/default/nifd
+RUN_D=/var/run
+PID_F=$RUN_D/nifd.pid
+
+[ -f $DEFAULT ] && . $DEFAULT
+
+case $1 in
+ start)
+  [ -d $RUN_D ] || mkdir -p $RUN_D
+  nifd $OPTIONS
+  ;;
+ stop)
+  [ -f $PID_F ] && kill $(cat $PID_F)
+  ;;
+ *)
+  echo "usage: $0 (start|stop)"
+  exit 1
+esac
+exit $?
diff --git a/package/howl/ipkg/autoipd.control b/package/howl/ipkg/autoipd.control
new file mode 100644
index 000000000..ff71eec41
--- /dev/null
+++ b/package/howl/ipkg/autoipd.control
@@ -0,0 +1,9 @@
+Package: autoipd
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/howl/
+Description: an IPv4 Link-Local address self-assigner daemon
+Depends: libhowl, libpthread
diff --git a/package/howl/ipkg/howl-utils.control b/package/howl/ipkg/howl-utils.control
new file mode 100644
index 000000000..9b99d22fe
--- /dev/null
+++ b/package/howl/ipkg/howl-utils.control
@@ -0,0 +1,9 @@
+Package: howl-utils
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/howl/
+Description: a ZeroConf (aka RendezVous) implementation (utilities)
+Depends: libhowl, libpthread
diff --git a/package/howl/ipkg/libhowl.control b/package/howl/ipkg/libhowl.control
new file mode 100644
index 000000000..62d38b340
--- /dev/null
+++ b/package/howl/ipkg/libhowl.control
@@ -0,0 +1,8 @@
+Package: libhowl
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/howl/
+Description: a ZeroConf (aka RendezVous) implementation (library)
diff --git a/package/howl/ipkg/mdnsresponder.conffiles b/package/howl/ipkg/mdnsresponder.conffiles
new file mode 100644
index 000000000..eaf1aead9
--- /dev/null
+++ b/package/howl/ipkg/mdnsresponder.conffiles
@@ -0,0 +1 @@
+/etc/mDNSResponder.conf
diff --git a/package/howl/ipkg/mdnsresponder.control b/package/howl/ipkg/mdnsresponder.control
new file mode 100644
index 000000000..ba9f15e57
--- /dev/null
+++ b/package/howl/ipkg/mdnsresponder.control
@@ -0,0 +1,9 @@
+Package: mdnsresponder
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/howl/
+Description: an mDNS (Multicast DNS) service responder daemon
+Depends: libhowl, libpthread
diff --git a/package/howl/ipkg/nifd.control b/package/howl/ipkg/nifd.control
new file mode 100644
index 000000000..3c148d5f5
--- /dev/null
+++ b/package/howl/ipkg/nifd.control
@@ -0,0 +1,9 @@
+Package: nifd
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/howl/
+Description: a network interface monitor daemon
+Depends: libhowl
diff --git a/package/howl/patches/config-path.patch b/package/howl/patches/config-path.patch
new file mode 100644
index 000000000..a0c26d1e2
--- /dev/null
+++ b/package/howl/patches/config-path.patch
@@ -0,0 +1,14 @@
+--- howl-0.9.10-orig/src/mDNSResponder/Posix/posix_main.c	2005-01-27 04:11:20.000000000 +0100
++++ howl-0.9.10-2/src/mDNSResponder/Posix/posix_main.c	2005-03-19 13:04:42.000000000 +0100
+@@ -249,9 +249,9 @@
+ 	{
+ 		sw_mdns_servant_load_file(servant, conf_file);
+ 	}
+-	else if (sw_mdns_servant_load_file(servant, "/etc/howl/mDNSResponder.conf") != SW_OKAY)
++	else
+ 	{
+-		sw_mdns_servant_load_file(servant, "/usr/local/etc/howl/mDNSResponder.conf");
++		sw_mdns_servant_load_file(servant, "/etc/mDNSResponder.conf");
+ 	}
+ 
+ 	write_pidfile("mDNSResponder", &pidfd);
diff --git a/package/howl/patches/debug-log.patch b/package/howl/patches/debug-log.patch
new file mode 100644
index 000000000..91410b8e9
--- /dev/null
+++ b/package/howl/patches/debug-log.patch
@@ -0,0 +1,10 @@
+--- howl-0.9.10-orig/src/mDNSResponder/Posix/posix_main.c	2005-01-27 04:11:20.000000000 +0100
++++ howl-0.9.10-2/src/mDNSResponder/Posix/posix_main.c	2005-03-19 13:04:42.000000000 +0100
+@@ -186,6 +186,7 @@
+ 			case 'd':
+ 			{
+ 				make_daemon = SW_FALSE;
++				sw_debug_set_level(SW_LOG_VERBOSE);
+ 			}
+ 			break;
+ 
diff --git a/package/howl/patches/proto-fix.patch b/package/howl/patches/proto-fix.patch
new file mode 100644
index 000000000..0b9d105dd
--- /dev/null
+++ b/package/howl/patches/proto-fix.patch
@@ -0,0 +1,11 @@
+--- howl-0.9.10-orig/include/salt/platform.h	2005-01-28 21:46:14.000000000 +0100
++++ howl-0.9.10-2/include/salt/platform.h	2005-03-19 13:04:42.000000000 +0100
+@@ -409,7 +409,7 @@
+  */
+ 
+ sw_const_string
+-sw_strerror();
++sw_strerror(void);
+ 
+ 
+ /*
-- 
cgit v1.2.3