diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in index 3ab661f793..9225482642 100644 --- a/openwrt/package/Config.in +++ b/openwrt/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/openwrt/package/Makefile b/openwrt/package/Makefile index 5f9a3f366b..7fc50c1be4 100644 --- a/openwrt/package/Makefile +++ b/openwrt/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/openwrt/package/howl/Config.in b/openwrt/package/howl/Config.in new file mode 100644 index 0000000000..12c9bda4be --- /dev/null +++ b/openwrt/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/openwrt/package/howl/Makefile b/openwrt/package/howl/Makefile new file mode 100644 index 0000000000..bf844fbfaa --- /dev/null +++ b/openwrt/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/openwrt/package/howl/files/autoipd.init b/openwrt/package/howl/files/autoipd.init new file mode 100644 index 0000000000..eed593603c --- /dev/null +++ b/openwrt/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/openwrt/package/howl/files/mDNSResponder.conf b/openwrt/package/howl/files/mDNSResponder.conf new file mode 100644 index 0000000000..eac712f9e5 --- /dev/null +++ b/openwrt/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/openwrt/package/howl/files/mDNSResponder.init b/openwrt/package/howl/files/mDNSResponder.init new file mode 100644 index 0000000000..292280f7c1 --- /dev/null +++ b/openwrt/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/openwrt/package/howl/files/nifd.init b/openwrt/package/howl/files/nifd.init new file mode 100644 index 0000000000..b67861eb26 --- /dev/null +++ b/openwrt/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/openwrt/package/howl/ipkg/autoipd.control b/openwrt/package/howl/ipkg/autoipd.control new file mode 100644 index 0000000000..ff71eec413 --- /dev/null +++ b/openwrt/package/howl/ipkg/autoipd.control @@ -0,0 +1,9 @@ +Package: autoipd +Priority: optional +Section: net +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +Source: http://nthill.free.fr/openwrt/sources/howl/ +Description: an IPv4 Link-Local address self-assigner daemon +Depends: libhowl, libpthread diff --git a/openwrt/package/howl/ipkg/howl-utils.control b/openwrt/package/howl/ipkg/howl-utils.control new file mode 100644 index 0000000000..9b99d22fec --- /dev/null +++ b/openwrt/package/howl/ipkg/howl-utils.control @@ -0,0 +1,9 @@ +Package: howl-utils +Priority: optional +Section: net +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +Source: http://nthill.free.fr/openwrt/sources/howl/ +Description: a ZeroConf (aka RendezVous) implementation (utilities) +Depends: libhowl, libpthread diff --git a/openwrt/package/howl/ipkg/libhowl.control b/openwrt/package/howl/ipkg/libhowl.control new file mode 100644 index 0000000000..62d38b3402 --- /dev/null +++ b/openwrt/package/howl/ipkg/libhowl.control @@ -0,0 +1,8 @@ +Package: libhowl +Priority: optional +Section: net +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +Source: http://nthill.free.fr/openwrt/sources/howl/ +Description: a ZeroConf (aka RendezVous) implementation (library) diff --git a/openwrt/package/howl/ipkg/mdnsresponder.conffiles b/openwrt/package/howl/ipkg/mdnsresponder.conffiles new file mode 100644 index 0000000000..eaf1aead95 --- /dev/null +++ b/openwrt/package/howl/ipkg/mdnsresponder.conffiles @@ -0,0 +1 @@ +/etc/mDNSResponder.conf diff --git a/openwrt/package/howl/ipkg/mdnsresponder.control b/openwrt/package/howl/ipkg/mdnsresponder.control new file mode 100644 index 0000000000..ba9f15e57a --- /dev/null +++ b/openwrt/package/howl/ipkg/mdnsresponder.control @@ -0,0 +1,9 @@ +Package: mdnsresponder +Priority: optional +Section: net +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +Source: http://nthill.free.fr/openwrt/sources/howl/ +Description: an mDNS (Multicast DNS) service responder daemon +Depends: libhowl, libpthread diff --git a/openwrt/package/howl/ipkg/nifd.control b/openwrt/package/howl/ipkg/nifd.control new file mode 100644 index 0000000000..3c148d5f50 --- /dev/null +++ b/openwrt/package/howl/ipkg/nifd.control @@ -0,0 +1,9 @@ +Package: nifd +Priority: optional +Section: net +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +Source: http://nthill.free.fr/openwrt/sources/howl/ +Description: a network interface monitor daemon +Depends: libhowl diff --git a/openwrt/package/howl/patches/config-path.patch b/openwrt/package/howl/patches/config-path.patch new file mode 100644 index 0000000000..a0c26d1e27 --- /dev/null +++ b/openwrt/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/openwrt/package/howl/patches/debug-log.patch b/openwrt/package/howl/patches/debug-log.patch new file mode 100644 index 0000000000..91410b8e94 --- /dev/null +++ b/openwrt/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/openwrt/package/howl/patches/proto-fix.patch b/openwrt/package/howl/patches/proto-fix.patch new file mode 100644 index 0000000000..0b9d105dd6 --- /dev/null +++ b/openwrt/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); + + + /*