summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2005-11-19 04:34:52 +0000
committermarcus <marcus@FreeBSD.org>2005-11-19 04:34:52 +0000
commit38949606488d00a74e7615ed995f24c9ad12e0ca (patch)
treeef250ef1187d4887cd8657ddc600a10998dde23c /net
parentd9f08969199389c59a829c8132f44fac144748bf (diff)
downloadFreeBSD-ports-38949606488d00a74e7615ed995f24c9ad12e0ca.zip
FreeBSD-ports-38949606488d00a74e7615ed995f24c9ad12e0ca.tar.gz
Add avahi, another mDNS, Zeroconf, Bonjour, Redezvous, etc. implementation
...but with a twist. Avahi is a D-BUS based mDNS solution from Freedesktop.org. Avahi provides 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. WWW: http://www.freedesktop.org/Software/Avahi A lot of the ground work for this port was provided by ahze.
Diffstat (limited to 'net')
-rw-r--r--net/Makefile1
-rw-r--r--net/avahi/Makefile59
-rw-r--r--net/avahi/distinfo3
-rw-r--r--net/avahi/files/avahi-daemon.sh36
-rw-r--r--net/avahi/files/avahi-dnsconfd.sh39
-rw-r--r--net/avahi/pkg-descr7
-rw-r--r--net/avahi/pkg-install36
-rw-r--r--net/avahi/pkg-plist76
8 files changed, 257 insertions, 0 deletions
diff --git a/net/Makefile b/net/Makefile
index 8ee2fe0..43876f5 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -33,6 +33,7 @@
SUBDIR += asterisk
SUBDIR += asterisk-oh323
SUBDIR += atmsupport
+ SUBDIR += avahi
SUBDIR += azureus
SUBDIR += b2bua
SUBDIR += balance
diff --git a/net/avahi/Makefile b/net/avahi/Makefile
new file mode 100644
index 0000000..04b9928
--- /dev/null
+++ b/net/avahi/Makefile
@@ -0,0 +1,59 @@
+# New ports collection makefile for: avahi
+# Date created: 18 November 2005
+# Whom: Joe Marcus Clarke <marcus@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= avahi
+PORTVERSION= 0.6
+CATEGORIES= net dns
+MASTER_SITES= http://www.freedesktop.org/~lennart/
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Service discovery on a local network
+
+LIB_DEPENDS= expat.5:${PORTSDIR}/textproc/expat2 \
+ daemon.2:${PORTSDIR}/devel/libdaemon \
+ dbus-1.1:${PORTSDIR}/devel/dbus \
+ gdbm.3:${PORTSDIR}/databases/gdbm
+
+USE_GNOME= gnomehack ltverhack glib20
+USE_GMAKE= yes
+USE_AUTOTOOLS= libtool:15
+INSTALLS_SHLIB= yes
+CONFIGURE_ARGS= --with-distro=freebsd \
+ --disable-gtk \
+ --disable-qt3 \
+ --disable-qt4 \
+ --disable-python \
+ --disable-mono \
+ --disable-monodoc \
+ --disable-doxygen-doc \
+ --disable-doxygen-dot
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib"
+
+USE_RC_SUBR= yes
+FILES_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR}
+
+MAN1= avahi-browse-domains.1 avahi-browse.1 avahi-publish-address.1 \
+ avahi-publish-service.1 avahi-publish.1 avahi-resolve-address.1 \
+ avahi-resolve-host-name.1 avahi-resolve.1
+MAN5= avahi-daemon.conf.5 avahi.service.5
+MAN8= avahi-daemon.8 avahi-dnsconfd.8 avahi-dnsconfd.action.8
+
+post-configure:
+ @${SED} ${FILES_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+ ${FILESDIR}/avahi-daemon.sh > ${WRKDIR}/avahi-daemon.sh
+ @${SED} ${FILES_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+ ${FILESDIR}/avahi-dnsconfd.sh > ${WRKDIR}/avahi-dnsconfd.sh
+
+post-install:
+.if !defined(PACKAGE_BUILDING)
+ @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+.endif
+ ${INSTALL_SCRIPT} ${WRKDIR}/avahi-daemon.sh ${PREFIX}/etc/rc.d
+ ${INSTALL_SCRIPT} ${WRKDIR}/avahi-dnsconfd.sh ${PREFIX}/etc/rc.d
+
+.include <bsd.port.mk>
diff --git a/net/avahi/distinfo b/net/avahi/distinfo
new file mode 100644
index 0000000..350b0e9
--- /dev/null
+++ b/net/avahi/distinfo
@@ -0,0 +1,3 @@
+MD5 (avahi-0.6.tar.gz) = 297c87077f5a0462f5cdb656351702e8
+SHA256 (avahi-0.6.tar.gz) = 455807d3f574d9d81f0d78c97a4102c827b69359767aae9da96e2aa1a67b4357
+SIZE (avahi-0.6.tar.gz) = 844657
diff --git a/net/avahi/files/avahi-daemon.sh b/net/avahi/files/avahi-daemon.sh
new file mode 100644
index 0000000..1d1f9b9
--- /dev/null
+++ b/net/avahi/files/avahi-daemon.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: avahi_daemon
+# REQUIRE: DAEMON
+# KEYWORD: FreeBSD
+#
+# Avahi's mDNSResponder, a Zeroconf (Bonjour) service advertisement daemon.
+#
+
+avahi_daemon_enable=${avahi_daemon_enable-"NO"}
+avahi_daemon_flags=${avahi_daemon_flags-"-D"}
+
+. %%RC_SUBR%%
+
+name=avahi_daemon
+rcvar=`set_rcvar`
+
+start_cmd=avahi_daemon_start
+stop_cmd=avahi_daemon_stop
+
+avahi_daemon_bin=%%PREFIX%%/sbin/avahi-daemon
+
+avahi_daemon_start() {
+ checkyesno avahi_daemon_enable && echo "Starting avahi-daemon." && \
+ ${avahi_daemon_bin} ${avahi_daemon_flags}
+}
+
+avahi_daemon_stop() {
+ checkyesno avahi_daemon_enable && echo "Stopping avahi-daemon." && \
+ ${avahi_daemon_bin} -k
+}
+
+load_rc_config ${name}
+run_rc_command "$1"
diff --git a/net/avahi/files/avahi-dnsconfd.sh b/net/avahi/files/avahi-dnsconfd.sh
new file mode 100644
index 0000000..d194235
--- /dev/null
+++ b/net/avahi/files/avahi-dnsconfd.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: avahi_dnsconfd
+# REQUIRE: DAEMON
+# KEYWORD: FreeBSD
+#
+# avahi-dnsconfd connects to a running avahi-daemon and runs the script
+# %%PREFIX%%/etc/avahi/dnsconf.action for each unicast DNS server that
+# is announced on the local LAN. This is useful for configuring unicast
+# DNS servers in a DHCP-like fashion with mDNS.
+#
+
+avahi_dnsconfd_enable=${avahi_dnsconfd_enable-"NO"}
+avahi_dnsconfd_flags=${avahi_dnsconfd_flags-"-D"}
+
+. %%RC_SUBR%%
+
+name=avahi_dnsconfd
+rcvar=`set_rcvar`
+
+start_cmd=avahi_dnsconfd_start
+stop_cmd=avahi_dnsconfd_stop
+
+avahi_dnsconfd_bin=%%PREFIX%%/sbin/avahi-daemon
+
+avahi_dnsconfd_start() {
+ checkyesno avahi_dnsconfd_enable && echo "Starting avahi-dnsconfd." && \
+ ${avahi_dnsconfd_bin} ${avahi_dnsconfd_flags}
+}
+
+avahi_dnsconfd_stop() {
+ checkyesno avahi_dnsconfd_enable && echo "Stopping avahi-dnsconfd." && \
+ ${avahi_dnsconfd_bin} -k
+}
+
+load_rc_config ${name}
+run_rc_command "$1"
diff --git a/net/avahi/pkg-descr b/net/avahi/pkg-descr
new file mode 100644
index 0000000..c2797d6
--- /dev/null
+++ b/net/avahi/pkg-descr
@@ -0,0 +1,7 @@
+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.
+
+WWW: http://www.freedesktop.org/Software/Avahi
diff --git a/net/avahi/pkg-install b/net/avahi/pkg-install
new file mode 100644
index 0000000..9bbd14b
--- /dev/null
+++ b/net/avahi/pkg-install
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+case $2 in
+POST-INSTALL)
+ USER=avahi
+ GROUP=${USER}
+ UID=558
+ GID=${UID}
+ PW=/usr/sbin/pw
+
+ if ${PW} group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if ${PW} groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if ${PW} user show "${USER}" 2>/dev/null; then
+ echo "You already have a user \"${USER}\", so I will use it."
+ else
+ if ${PW} useradd ${USER} -u ${UID} -g ${GROUP} -h - \
+ -d "/nonexistent" -s /sbin/nologin -c "Avahi Daemon User"
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ exit 1
+ fi
+ fi
+ exit 0
+ ;;
+esac
diff --git a/net/avahi/pkg-plist b/net/avahi/pkg-plist
new file mode 100644
index 0000000..ffe46d1
--- /dev/null
+++ b/net/avahi/pkg-plist
@@ -0,0 +1,76 @@
+bin/avahi-browse
+bin/avahi-browse-domains
+bin/avahi-publish
+bin/avahi-publish-address
+bin/avahi-publish-service
+bin/avahi-resolve
+bin/avahi-resolve-address
+bin/avahi-resolve-host-name
+etc/avahi/avahi-daemon.conf
+etc/avahi/avahi-dnsconfd.action
+etc/avahi/services/ssh.service
+etc/dbus-1/system.d/avahi-dbus.conf
+etc/rc.d/avahi-daemon.sh
+etc/rc.d/avahi-dnsconfd.sh
+include/avahi-client/client.h
+include/avahi-client/lookup.h
+include/avahi-client/publish.h
+include/avahi-common/address.h
+include/avahi-common/alternative.h
+include/avahi-common/cdecl.h
+include/avahi-common/defs.h
+include/avahi-common/domain.h
+include/avahi-common/error.h
+include/avahi-common/gccmacro.h
+include/avahi-common/llist.h
+include/avahi-common/malloc.h
+include/avahi-common/rlist.h
+include/avahi-common/simple-watch.h
+include/avahi-common/strlst.h
+include/avahi-common/timeval.h
+include/avahi-common/watch.h
+include/avahi-core/core.h
+include/avahi-core/log.h
+include/avahi-core/lookup.h
+include/avahi-core/publish.h
+include/avahi-core/rr.h
+include/avahi-glib/glib-malloc.h
+include/avahi-glib/glib-watch.h
+lib/libavahi-client.a
+lib/libavahi-client.so
+lib/libavahi-client.so.3
+lib/libavahi-common.a
+lib/libavahi-common.so
+lib/libavahi-common.so.3
+lib/libavahi-core.a
+lib/libavahi-core.so
+lib/libavahi-core.so.3
+lib/libavahi-glib.a
+lib/libavahi-glib.so
+lib/libavahi-glib.so.1
+libdata/pkgconfig/avahi-client.pc
+libdata/pkgconfig/avahi-compat-howl.pc
+libdata/pkgconfig/avahi-compat-libdns_sd.pc
+libdata/pkgconfig/avahi-core.pc
+libdata/pkgconfig/avahi-glib.pc
+sbin/avahi-daemon
+sbin/avahi-dnsconfd
+%%DATADIR%%/avahi-service.dtd
+%%DATADIR%%/introspection/AddressResolver.introspect
+%%DATADIR%%/introspection/DomainBrowser.introspect
+%%DATADIR%%/introspection/EntryGroup.introspect
+%%DATADIR%%/introspection/HostNameResolver.introspect
+%%DATADIR%%/introspection/RecordBrowser.introspect
+%%DATADIR%%/introspection/Server.introspect
+%%DATADIR%%/introspection/ServiceBrowser.introspect
+%%DATADIR%%/introspection/ServiceResolver.introspect
+%%DATADIR%%/introspection/ServiceTypeBrowser.introspect
+%%DATADIR%%/service-types
+@dirrm %%DATADIR%%/introspection
+@dirrm %%DATADIR%%
+@dirrm include/avahi-glib
+@dirrm include/avahi-core
+@dirrm include/avahi-common
+@dirrm include/avahi-client
+@dirrm etc/avahi/services
+@dirrm etc/avahi
OpenPOWER on IntegriCloud