Date: Tue, 3 Aug 2004 02:41:41 +1000 (EST) From: Andrew <andrew@ugh.net.au> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/69912: New Port dns/mDNSResponder a re-port of Apple's mDNS responder code Message-ID: <20040802164141.7D8BCA810@starbug.ugh.net.au> Resent-Message-ID: <200408021650.i72GoNQi064451@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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@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@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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040802164141.7D8BCA810>