From fa8703665be6c58bfe6969bd674081ce1009943f Mon Sep 17 00:00:00 2001 From: Ted Hess Date: Wed, 16 Jul 2014 12:28:32 -0400 Subject: [PATCH] Import avahi from oldpackages --- libs/avahi/Makefile | 312 ++++++++++++++++++ libs/avahi/files/avahi-daemon.conf | 28 ++ libs/avahi/files/avahi-daemon.init | 23 ++ libs/avahi/files/service-http | 10 + libs/avahi/files/service-ssh | 9 + .../010-step_back_autotools-no-gettext.patch | 80 +++++ 6 files changed, 462 insertions(+) create mode 100644 libs/avahi/Makefile create mode 100644 libs/avahi/files/avahi-daemon.conf create mode 100644 libs/avahi/files/avahi-daemon.init create mode 100644 libs/avahi/files/service-http create mode 100644 libs/avahi/files/service-ssh create mode 100644 libs/avahi/patches/010-step_back_autotools-no-gettext.patch diff --git a/libs/avahi/Makefile b/libs/avahi/Makefile new file mode 100644 index 000000000..5a13efe32 --- /dev/null +++ b/libs/avahi/Makefile @@ -0,0 +1,312 @@ +# +# Copyright (C) 2007-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +ifeq ($(BUILD_VARIANT),dbus) +PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)/dbus/$(PKG_NAME)-$(PKG_VERSION) +PKG_ALT_DIR=$(BUILD_DIR)/$(PKG_NAME)/nodbus/$(PKG_NAME)-$(PKG_VERSION) +else +PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)/nodbus/$(PKG_NAME)-$(PKG_VERSION) +PKG_ALT_DIR=$(BUILD_DIR)/$(PKG_NAME)/dbus/$(PKG_NAME)-$(PKG_VERSION) +endif + + +PKG_NAME:=avahi +PKG_VERSION:=0.6.31 +PKG_RELEASE:=5 + + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://avahi.org/download/ +PKG_MD5SUM:=2f22745b8f7368ad5a0a3fddac343f2d + +PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm intltool/host libpthread dbus + +PKG_FIXUP:=autoreconf +PKG_REMOVE_FILES:=autogen.sh + +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 + + + +include $(INCLUDE_DIR)/package.mk + +define Package/avahi/Default + SECTION:=net + CATEGORY:=Network + TITLE:=An mDNS/DNS-SD implementation + URL:=http://www.avahi.org/ +endef + +define Package/avahi/Default/description + Avahi is an mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) + implementation (library). It facilitates + service discovery on a local network -- this means that + you can plug your laptop or computer into a network and + instantly be able to view other people who you can chat with, + find printers to print to or find files being shared. + This kind of technology is already found in MacOS X + (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf') + and is very convenient. +endef + +define Package/libavahi + $(call Package/avahi/Default) + SECTION:=libs + CATEGORY:=Libraries + DEPENDS:=+libpthread +SSP_SUPPORT:libssp + TITLE+= (library) +endef + +define Package/libavahi/description +$(call Package/avahi/Default/description) + . + The libavahi 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 built without D-Bus support, + i.e. the --disable-dbus configuration flag is set. + To enable D-Bus support, select the package + libavahi-dbus-support. +endef + +define Package/avahi-autoipd + $(call Package/avahi/Default) + SUBMENU:=IP Addresses and Names + DEPENDS:=+libdaemon + TITLE:=IPv4LL network address configuration daemon +endef + +define Package/avahi-autoipd/description +$(call Package/avahi/Default/description) + . + This package implements IPv4LL, "Dynamic Configuration of IPv4 Link-Local + Addresses" (IETF RFC3927), a protocol for automatic IP address configuration + from the link-local 169.254.0.0/16 range without the need for a central + server. It is primarily intended to be used in ad-hoc networks which lack a + DHCP server. +endef + +define Package/avahi-daemon + $(call Package/avahi/Default) + SUBMENU:=IP Addresses and Names + ifeq ($(BUILD_VARIANT),dbus) + DEPENDS:=+libavahi +libexpat +librt +libdaemon +libdbus + else + DEPENDS:=+libavahi +libexpat +librt +libdaemon + endif + TITLE+= (daemon) +endef + +define Package/avahi-daemon/description +$(call Package/avahi/Default/description) + . + This package contains an mDNS/DNS-SD daemon. +endef + +define Package/avahi-daemon/conffiles +/etc/avahi/avahi-daemon.conf +/etc/avahi/services/http.service +/etc/avahi/services/ssh.service +endef + +define Package/avahi-dnsconfd + $(call Package/avahi/Default) + SUBMENU:=IP Addresses and Names + DEPENDS:=+libavahi +libdaemon + TITLE:=A Unicast DNS server from mDNS/DNS-SD configuration daemon +endef + +define Package/avahi-dnsconfd/description +$(call Package/avahi/Default/description) + . + This package contains a Unicast DNS server from mDNS/DNS-SD configuration + daemon, which may be used to configure conventional DNS servers using mDNS + 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) +endef + +define Package/libavahi-dbus-support/description +$(call Package/libavahi/description) + . + The libavahi-dbus-support package enables + D-Bus support in avahi, needed to support + the libavahi-client library and avahi-utils. + Selecting this package modifies the build configuration + so that avahi packages are built with support for D-BUS enabled; + it does not generate a separate binary of its own. + It also automatically adds the D-Bus package to the build. + libavahi-dbus-support is selected automatically if you select + libavahi-client or avahi-utils. +endef + +define Package/libavahi-client + $(call Package/avahi/Default) + SECTION:=libs + CATEGORY:=Libraries + DEPENDS:=+libavahi-dbus-support +avahi-daemon + TITLE+= (libavahi-client library) +endef + +define Package/libavahi-client/description +$(call Package/avahi/Default/description) + . + This packages adds the libavahi-client library. + It also automatically adds the required + libavahi-dbus-support and the avahi-daemon packages. + 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 +libgdbm + 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. + It also automatically adds the required libavahi-client package. + For more information please see the avahi documentation. +endef + +TARGET_CFLAGS += $(FPIC) -DGETTEXT_PACKAGE + +CONFIGURE_ARGS+= \ + --enable-shared \ + --enable-static \ + --disable-glib \ + --disable-gobject \ + --disable-qt3 \ + --disable-qt4 \ + --disable-gtk \ + --disable-gtk3 \ + --with-xml=expat \ + --disable-dbm \ + --enable-gdbm \ + --enable-libdaemon \ + --disable-python \ + --disable-pygtk \ + --disable-python-dbus \ + --disable-mono \ + --disable-monodoc \ + --disable-doxygen-doc \ + --disable-doxygen-dot \ + --disable-doxygen-man \ + --disable-doxygen-rtf \ + --disable-doxygen-xml \ + --disable-doxygen-chm \ + --disable-doxygen-chi \ + --disable-doxygen-html \ + --disable-doxygen-ps \ + --disable-doxygen-pdf \ + --disable-xmltoman \ + --with-distro=none \ + --with-avahi-user=nobody \ + --with-avahi-group=nogroup \ + --with-autoipd-user=nobody \ + --with-autoipd-group=nogroup + +ifneq ($(CONFIG_SSP_SUPPORT),y) +CONFIGURE_ARGS+= \ + --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" \ + ac_cv_header_sys_capability_h=no \ + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ + $(INSTALL_DIR) $(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/* $(1)/usr/lib/pkgconfig/ +endef + +define Package/libavahi-dbus-support/install + $(INSTALL_DIR) $(1)/etc/dbus-1/system.d + $(CP) $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/* $(1)/etc/dbus-1/system.d +endef + +define Package/libavahi/install + # The next line removes the ".build" file from the "other" build. + # The effect is that, if the other build is re-selected in the future, + # the build system will be forced to replace all the code in the + # installer packages, removing anything from the current build. + # "Other" means this: if the current build is "dbus", the other is "nodebus", + # and if the current build is "nodbus", the other is "dbus". + $(RM) -f $(PKG_ALT_DIR)/.built + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.so.* $(1)/usr/lib/ +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/ + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-autoipd $(1)/usr/sbin/ +endef + +define Package/avahi-daemon/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-daemon $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/etc/avahi + $(INSTALL_DATA) ./files/avahi-daemon.conf $(1)/etc/avahi/ + $(INSTALL_DIR) $(1)/etc/avahi/services + $(INSTALL_DATA) ./files/service-http $(1)/etc/avahi/services/http.service + $(INSTALL_DATA) ./files/service-ssh $(1)/etc/avahi/services/ssh.service + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/avahi-daemon.init $(1)/etc/init.d/avahi-daemon +endef + +define Package/avahi-dnsconfd/install + $(INSTALL_DIR) $(1)/etc/avahi + $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-dnsconfd.action $(1)/etc/avahi/ + $(INSTALL_DIR) $(1)/usr/sbin + $(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)) diff --git a/libs/avahi/files/avahi-daemon.conf b/libs/avahi/files/avahi-daemon.conf new file mode 100644 index 000000000..4ef64df2a --- /dev/null +++ b/libs/avahi/files/avahi-daemon.conf @@ -0,0 +1,28 @@ +[server] +#host-name=foo +#domain-name=local +use-ipv4=yes +use-ipv6=no +check-response-ttl=no +use-iff-running=no + +[publish] +publish-addresses=yes +publish-hinfo=yes +publish-workstation=no +publish-domain=yes +#publish-dns-servers=192.168.1.1 +#publish-resolv-conf-dns-servers=yes + +[reflector] +enable-reflector=no +reflect-ipv=no + +[rlimits] +#rlimit-as= +rlimit-core=0 +rlimit-data=4194304 +rlimit-fsize=0 +rlimit-nofile=30 +rlimit-stack=4194304 +rlimit-nproc=3 diff --git a/libs/avahi/files/avahi-daemon.init b/libs/avahi/files/avahi-daemon.init new file mode 100644 index 000000000..b2ae4580e --- /dev/null +++ b/libs/avahi/files/avahi-daemon.init @@ -0,0 +1,23 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org +START=61 + +BIN=avahi-daemon +DEFAULT=/etc/default/$BIN +OPTIONS="-D" +RUN_D=/var/run/$BIN + +start() { + [ -f $DEFAULT ] && . $DEFAULT + mkdir -p $RUN_D + $BIN $OPTIONS +} + +stop() { + $BIN -k +} + +reload() { + $BIN -r +} + diff --git a/libs/avahi/files/service-http b/libs/avahi/files/service-http new file mode 100644 index 000000000..7e9be2d42 --- /dev/null +++ b/libs/avahi/files/service-http @@ -0,0 +1,10 @@ + + + + Web Server on %h + + _http._tcp + 80 + path=/ + + diff --git a/libs/avahi/files/service-ssh b/libs/avahi/files/service-ssh new file mode 100644 index 000000000..b41580378 --- /dev/null +++ b/libs/avahi/files/service-ssh @@ -0,0 +1,9 @@ + + + + Secure Shell on %h + + _ssh._tcp + 22 + + diff --git a/libs/avahi/patches/010-step_back_autotools-no-gettext.patch b/libs/avahi/patches/010-step_back_autotools-no-gettext.patch new file mode 100644 index 000000000..fab87aaef --- /dev/null +++ b/libs/avahi/patches/010-step_back_autotools-no-gettext.patch @@ -0,0 +1,80 @@ +--- a/Makefile.am ++++ b/Makefile.am +@@ -75,8 +75,7 @@ SUBDIRS = \ + avahi-compat-howl \ + avahi-autoipd \ + avahi-ui \ +- avahi-ui-sharp \ +- po ++ avahi-ui-sharp + + DX_INPUT = \ + $(srcdir)/avahi-common/address.h \ +--- a/avahi-python/avahi-discover/Makefile.am ++++ b/avahi-python/avahi-discover/Makefile.am +@@ -38,7 +38,6 @@ if HAVE_GDBM + pythonscripts += \ + avahi-discover + desktop_DATA += avahi-discover.desktop +-@INTLTOOL_DESKTOP_RULE@ + avahi_discover_PYTHON += __init__.py + endif + +@@ -46,7 +45,6 @@ if HAVE_DBM + pythonscripts += \ + avahi-discover + desktop_DATA += avahi-discover.desktop +-@INTLTOOL_DESKTOP_RULE@ + avahi_discover_PYTHON += __init__.py + endif + +--- a/avahi-ui/Makefile.am ++++ b/avahi-ui/Makefile.am +@@ -78,7 +78,6 @@ endif + + bin_PROGRAMS = bssh + desktop_DATA += bssh.desktop bvnc.desktop +-@INTLTOOL_DESKTOP_RULE@ + + bssh_SOURCES = bssh.c + +@@ -106,6 +105,4 @@ endif # HAVE_GLIB + endif + endif + +-@INTLTOOL_DESKTOP_RULE@ +- + CLEANFILES = $(desktop_DATA) $(desktop_DATA_in) +--- a/configure.ac ++++ b/configure.ac +@@ -23,7 +23,7 @@ AC_INIT([avahi],[0.6.29],[avahi (at) lis + AC_CONFIG_SRCDIR([avahi-core/server.c]) + AC_CONFIG_MACRO_DIR([common]) + AC_CONFIG_HEADERS([config.h]) +-AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax]) ++AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability tar-pax]) + + AC_SUBST(PACKAGE_URL, [http://avahi.org/]) + +@@ -43,8 +43,6 @@ AC_SUBST(HOWL_COMPAT_VERSION, [0.9.8]) + + AC_CANONICAL_HOST + +-AM_SILENT_RULES([yes]) +- + AC_CHECK_PROG([STOW], [stow], [yes], [no]) + + AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [ +@@ -412,12 +410,6 @@ if test "x$have_kqueue" = "xyes" ; then + AC_DEFINE([HAVE_KQUEUE], 1, [Enable BSD kqueue() usage]) + fi + +-IT_PROG_INTLTOOL([0.35.0]) +-GETTEXT_PACKAGE=avahi +-AC_SUBST([GETTEXT_PACKAGE]) +-AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package]) +-AM_GLIB_GNU_GETTEXT +- + avahilocaledir='${prefix}/${DATADIRNAME}/locale' + AC_SUBST(avahilocaledir) +