ports/69912: New Port dns/mDNSResponder a re-port of Apple's mDNS responder code
Andrew
andrew at ugh.net.au
Mon Aug 2 16:50:24 UTC 2004
>Number: 69912
>Category: ports
>Synopsis: New Port dns/mDNSResponder a re-port of Apple's mDNS responder code
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Aug 02 16:50:23 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Andrew
>Release: FreeBSD 4.7-STABLE i386
>Organization:
UgH!
>Environment:
System: FreeBSD starbug.ugh.net.au 4.7-STABLE FreeBSD 4.7-STABLE #9: Sun Oct 27 22:46:03 EST 2002 andrew at starbug.ugh.net.au:/usr/obj/usr/src/sys/STARBUG i386
>Description:
This is a port of Apple's rendezvous. I did one of these a while back but by
the time a committer had a chance to look at it Apple had released a new
version and hidden the old. The man pages were written a while ago and may not
match the current versions perfectly but I don't have time to update them
now.
I'm suddenly getting a lot of email about my old port so I finally got around
to this port of the current version.
>How-To-Repeat:
>Fix:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# mDNSResponder
# mDNSResponder/files
# mDNSResponder/files/patch-Responder.c
# mDNSResponder/files/mDNSResponder.sh
# mDNSResponder/files/mDNSResponder.conf.sample
# mDNSResponder/files/patch-NetMonitor.c
# mDNSResponder/Makefile
# mDNSResponder/pkg-descr
# mDNSResponder/pkg-plist
# mDNSResponder/distinfo
# mDNSResponder/pkg-message
#
echo c - mDNSResponder
mkdir -p mDNSResponder > /dev/null 2>&1
echo c - mDNSResponder/files
mkdir -p mDNSResponder/files > /dev/null 2>&1
echo x - mDNSResponder/files/patch-Responder.c
sed 's/^X//' >mDNSResponder/files/patch-Responder.c << 'END-of-mDNSResponder/files/patch-Responder.c'
X--- mDNSPosix/Responder.c.orig Thu Apr 8 09:51:09 2004
X+++ mDNSPosix/Responder.c Mon Aug 2 22:48:55 2004
X@@ -404,7 +404,7 @@
X // Parse command line options using getopt.
X
X do {
X- ch = getopt(argc, argv, "v:rn:t:d:x:p:f:dPb");
X+ ch = getopt(argc, argv, "v:rn:t:d:x:p:f:dP:b");
X if (ch != -1) {
X switch (ch) {
X case 'v':
END-of-mDNSResponder/files/patch-Responder.c
echo x - mDNSResponder/files/mDNSResponder.sh
sed 's/^X//' >mDNSResponder/files/mDNSResponder.sh << 'END-of-mDNSResponder/files/mDNSResponder.sh'
X#!/bin/sh
X
X# PROVIDE: mDNSResponder
X# REQUIRE: NETWORKING
X# KEYWORD: FreeBSD
X
X. %%RC_SUBR%%
X
Xname=mDNSResponder
Xrcvar=`set_rcvar`
X
Xcommand=%%PREFIX%%/sbin/mDNSResponder
X
XmDNSResponder_enable=${mDNSResponder_enable:-"NO"}
XmDNSResponder_flags=${mDNSResponder_flags:-"-b -n `/bin/hostname -s`"}
X
Xpidfile="/var/run/mDNSResponder.pid"
X
Xload_rc_config $name
Xrun_rc_command "$1"
END-of-mDNSResponder/files/mDNSResponder.sh
echo x - mDNSResponder/files/mDNSResponder.conf.sample
sed 's/^X//' >mDNSResponder/files/mDNSResponder.conf.sample << 'END-of-mDNSResponder/files/mDNSResponder.conf.sample'
Xtweedlebug
X_afpovertcp._tcp.
X
X548
X
Xhumphrey
X_ipp._tcp.
Xipp://humphrey.local/laser
X631
END-of-mDNSResponder/files/mDNSResponder.conf.sample
echo x - mDNSResponder/files/patch-NetMonitor.c
sed 's/^X//' >mDNSResponder/files/patch-NetMonitor.c << 'END-of-mDNSResponder/files/patch-NetMonitor.c'
X--- mDNSPosix/NetMonitor.c.orig Mon Aug 2 22:54:18 2004
X+++ mDNSPosix/NetMonitor.c Mon Aug 2 22:54:42 2004
X@@ -214,6 +214,7 @@
X #include <string.h> // For bcopy()
X #include <time.h> // For "struct tm" etc.
X #include <netdb.h> // For gethostbyname()
X+#include <sys/types.h> // so we can include socket
X #include <sys/socket.h> // For AF_INET, AF_INET6, etc.
X #include <arpa/inet.h> // For inet_addr()
X #include <netinet/in.h> // For INADDR_NONE
END-of-mDNSResponder/files/patch-NetMonitor.c
echo x - mDNSResponder/Makefile
sed 's/^X//' >mDNSResponder/Makefile << 'END-of-mDNSResponder/Makefile'
X# New ports collection makefile for: mDNSResponder
X# Date created: 29 December 2002
X# Whom: Andrew Stevenson <andrew at ugh.net.au>
X#
X# $FreeBSD$
X#
X
XPORTNAME= mDNSResponder
XPORTVERSION= 58.8
XCATEGORIES= dns
X# You must agree to the APSL and manually fetch mDNSResponder-58.8.tar.gz from
X# ${MASTER_SITES}:source
XMASTER_SITES= http://www.opensource.apple.com/darwinsource/tarballs/apsl/:source \
X ftp://ftp.ugh.net.au/pub/unix/mDNSdocs/:docs \
X ftp://ftp.megamirror.com/pub/ugh/unix/newmail/:docs \
X http://ftp.megamirror.com/pub/ugh/unix/newmail/:docs
XDISTFILES= mDNSResponder-58.8.tar.gz:source \
X mDNSdocs-1.0.tar.gz:docs
X
XMAINTAINER= andrew at ugh.net.au
XCOMMENT= Apple's multicast DNS responder/client (part of Rendezvous/ZeroConf)
X
X# I've asked Apple about distribution terms. Ron Dumont <rond at apple.com>,
X# Program Manager for open source at Apple, says packages can be distributed
X# "...as long as the license headers are maintained in the files. The APSL
X# should also be included in the package as a text file...". He said that the
X# conditions were the same for the original source. That said you still need
X# to agree to the APSL at Apple's web site to get a username and password to
X# download mDNSResponder-58.8.tar.gz in the first place.
XRESTRICTED= "Must agree to APSL before downloading the source code - http://www.opensource.apple.com/apsl/"
XRESTRICTED_FILES= mDNSResponder-58.8.tar.gz
X.if defined(BATCH) || defined(PACKAGE_BUILDING)
XIGNORE= ${RESTRICTED}
X.endif
X
XMAN1= mDNSClient.1
XMAN8= mDNSResponder.8 \
X mDNSProxyResponder.8
X
XUSE_RC_SUBR= yes
X
XUSE_GMAKE= yes
XBUILD_WRKSRC= ${WRKSRC}/mDNSPosix
XMAKE_ARGS= os=freebsd
XPROGRAM_SUFFIX= Posix
XPROGRAMS_BIN= mDNSClientPosix mDNSIdentify
XPROGRAMS_SBIN= mDNSNetMonitor mDNSProxyResponderPosix mDNSResponderPosix
X
Xpre-fetch:
X @[ -f ${DISTDIR}/${RESTRICTED_FILES} ] || ( \
X ${ECHO} "********************************************************************"; \
X ${ECHO} "Please get ${RESTRICTED_FILES} from"; \
X ${ECHO} " http://developer.apple.com/darwin/projects/rendezvous/"; \
X ${ECHO} "and place it in ${DISTDIR}. You will need to agree to the"; \
X ${ECHO} "APSL (Apple Public Source License) first."; \
X ${ECHO} "********************************************************************"; \
X ${FALSE} \
X )
X
Xpost-build:
X @${SED} -e 's|%%PREFIX%%|${PREFIX}|g' -e 's|%%RC_SUBR%%|${RC_SUBR}|g' ${FILESDIR}/mDNSResponder.sh > ${WRKDIR}/mDNSResponder.sh
X
Xdo-install:
X # install binaries
X. for directory in bin sbin
X. for program in ${PROGRAMS_${directory:U}}
X ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/build/${program} ${PREFIX}/${directory}/${program:S/${PROGRAM_SUFFIX}$//}
X. endfor
X. endfor
X # install man pages
X. for section in 1 2 3 4 5 6 7 8
X. for page in ${MAN${section}}
X ${INSTALL_MAN} ${WRKDIR}/mDNSdocs/${page} ${MAN${section}PREFIX}/man/man${page:E}/
X. endfor
X. endfor
X # install docs and license
X @-${MKDIR} ${DOCSDIR}
X ${INSTALL_MAN} ${WRKSRC}/APPLE_LICENSE ${DOCSDIR}
X. if !defined(NOPORTDOCS)
X ${INSTALL_MAN} ${WRKSRC}/README.txt ${PREFIX}/share/doc/${PORTNAME}
X. endif
X # install scripts and examples
X ${INSTALL_DATA} ${FILESDIR}/mDNSResponder.conf.sample ${PREFIX}/etc
X ${INSTALL_SCRIPT} ${WRKDIR}/mDNSResponder.sh ${PREFIX}/etc/rc.d
X
Xpost-install:
X @if [ -f ${MASTERDIR}/pkg-message ]; then \
X ${CAT} ${MASTERDIR}/pkg-message | \
X ${SED} "s|%%DOCSDIR%%|${DOCSDIR}|g"; \
X fi
X
X.include <bsd.port.mk>
END-of-mDNSResponder/Makefile
echo x - mDNSResponder/pkg-descr
sed 's/^X//' >mDNSResponder/pkg-descr << 'END-of-mDNSResponder/pkg-descr'
XThis is a port of Apple's multicast DNS responder (and client). It allows
Xname to address translation without requiring a DNS and allows for service
Xdiscovery without requiring any other support infrastructure.
X
XApple refer to this technology as Rendezvous and the IETF call it Zeroconf.
X
XN.B. This port does not provide dynamic configuration of IPv4 link-local
Xaddresses.
X
XWWW: http://developer.apple.com/darwin/projects/rendezvous/
X
X- Andrew
Xandrew at ugh.net.au
END-of-mDNSResponder/pkg-descr
echo x - mDNSResponder/pkg-plist
sed 's/^X//' >mDNSResponder/pkg-plist << 'END-of-mDNSResponder/pkg-plist'
Xbin/mDNSClient
Xbin/mDNSIdentify
Xsbin/mDNSNetMonitor
Xsbin/mDNSProxyResponder
Xsbin/mDNSResponder
Xetc/mDNSResponder.conf.sample
Xetc/rc.d/mDNSResponder.sh
X%%DOCSDIR%%/APPLE_LICENSE
X%%PORTDOCS%%%%DOCSDIR%%/README.txt
X at dirrm %%DOCSDIR%%
END-of-mDNSResponder/pkg-plist
echo x - mDNSResponder/distinfo
sed 's/^X//' >mDNSResponder/distinfo << 'END-of-mDNSResponder/distinfo'
XMD5 (mDNSResponder-58.8.tar.gz) = b8511918fe91450886857a8757e3e7d9
XSIZE (mDNSResponder-58.8.tar.gz) = 481676
XMD5 (mDNSdocs-1.0.tar.gz) = df051ab199a700c30203989caa758bfe
XSIZE (mDNSdocs-1.0.tar.gz) = 4241
END-of-mDNSResponder/distinfo
echo x - mDNSResponder/pkg-message
sed 's/^X//' >mDNSResponder/pkg-message << 'END-of-mDNSResponder/pkg-message'
XPlease note that this software is covered by the Apple Public Source License.
X
XThis license is available on the web at:
X http://www.opensource.apple.com/apsl/
XThere is also a copy in your filesystem at:
X %%DOCSDIR%%/APPLE_LICENSE
END-of-mDNSResponder/pkg-message
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list