From owner-freebsd-ports-bugs@FreeBSD.ORG Tue Aug 8 20:30:17 2006 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EA53516A4E0 for ; Tue, 8 Aug 2006 20:30:16 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id C8E3B43D45 for ; Tue, 8 Aug 2006 20:30:15 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k78KUF08017239 for ; Tue, 8 Aug 2006 20:30:15 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k78KUFV9017238; Tue, 8 Aug 2006 20:30:15 GMT (envelope-from gnats) Resent-Date: Tue, 8 Aug 2006 20:30:15 GMT Resent-Message-Id: <200608082030.k78KUFV9017238@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Stanislav Sedov Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6A55B16A4DE for ; Tue, 8 Aug 2006 20:25:27 +0000 (UTC) (envelope-from ssedov@mbsd.msk.ru) Received: from com1.ht-systems.ru (com1.ht-systems.ru [83.97.104.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9FE5343D46 for ; Tue, 8 Aug 2006 20:25:25 +0000 (GMT) (envelope-from ssedov@mbsd.msk.ru) Received: from [217.118.83.1] (helo=fonon.realnet) by com1.ht-systems.ru with esmtpa (Exim 4.62) (envelope-from ) id 1GAY8X-0007yM-Rx for FreeBSD-gnats-submit@freebsd.org; Wed, 09 Aug 2006 00:25:23 +0400 Received: by fonon.realnet (Postfix, from userid 1001) id 807301264A; Wed, 9 Aug 2006 00:24:43 +0400 (MSD) Message-Id: <20060808202443.807301264A@fonon.realnet> Date: Wed, 9 Aug 2006 00:24:43 +0400 (MSD) From: Stanislav Sedov To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/101672: [PATCH] dns/dns_balance: update to 2.0, bugfix, take maintainership X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Aug 2006 20:30:17 -0000 >Number: 101672 >Category: ports >Synopsis: [PATCH] dns/dns_balance: update to 2.0, bugfix, take maintainership >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Tue Aug 08 20:30:15 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Stanislav Sedov >Release: FreeBSD 7.0-CURRENT i386 >Organization: MBSD labs, Inc. >Environment: System: FreeBSD fonon.realnet 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Wed Aug 2 21:44:37 MSD >Description: - Update to 2.0 - Fix RC_SUBR script (use command_interpreter, either it doesn't stop correctly) - Take maintainership >How-To-Repeat: >Fix: --- dns_balance-2.0.patch begins here --- diff -ruN --exclude=CVS /usr/ports/dns/dns_balance/Makefile /var/tmp/ruby/dns_balance/Makefile --- /usr/ports/dns/dns_balance/Makefile Thu Nov 17 22:13:22 2005 +++ /var/tmp/ruby/dns_balance/Makefile Wed Aug 9 00:20:49 2006 @@ -6,12 +6,12 @@ # PORTNAME= dns_balance -PORTVERSION= 1.1 +PORTVERSION= 2.0 CATEGORIES= dns MASTER_SITES= http://www.netlab.is.tsukuba.ac.jp/~yokota/archive/ DISTNAME= DNS-Balance-${PORTVERSION} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= ssedov@mbsd.msk.ru COMMENT= A dynamic load-balancing DNS server USE_RUBY= yes @@ -21,62 +21,60 @@ RUBY_SHEBANG_FILES= ${WRKSRC}/dns_balance.rb \ ${WRKSRC}/sample/makedb.rb \ - ${WRKSRC}/sample/makeringdb.rb \ ${WRKSRC}/sample/make_namespace.rb + ETCS= addrdb.rb \ namespace.rb +ETCDIR= ${PREFIX}/etc/${PORTNAME} LIBS= as_search.rb \ cache.rb \ datatype.rb \ log_writer.rb \ multilog.rb \ util.rb -EXAMPLES_EXEC= make_namespace.rb \ - makedb.rb \ - makeringdb.rb \ - ringupdate.sh -EXAMPLES_DATA= addr \ - addr.ring \ - addr.ring.txt \ - namespace.txt -DOCS_EN= Q_and_A.dns_balance.eng \ - README.dns_balance.eng \ - README.dnsbalance+daemontools.eng -DOCS_JA= ChangeLog \ - Q_and_A.dns_balance \ - README.dns_balance \ - README.dnsbalance+daemontools -SUBST= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR} + +PLIST_SUB+= ETCDIR=${ETCDIR} +SUB_LIST+= RUBY=${RUBY} post-patch: - ${SED} ${SUBST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} ${WRKSRC}/dns_balance.rb > ${WRKSRC}/dns_balance + ${SED} -E -e "s,%%PREFIX%%,${PREFIX},g" \ + -e "s,%%PORTNAME%%,${PORTNAME},g" \ + -e "s,%%ETCDIR%%,${ETCDIR},g" \ + ${WRKSRC}/dns_balance.rb > ${WRKSRC}/dns_balance do-install: +# +# Install main executable +# ${INSTALL_SCRIPT} ${WRKSRC}/dns_balance ${PREFIX}/sbin/ +# +# Install sample configuration files +# ${MKDIR} ${PREFIX}/etc/${PORTNAME} -.for f in ${ETCS} - ${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/etc/${PORTNAME}/${f}-dist - [ -f ${PREFIX}/etc/${PORTNAME}/${f} ] || ${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/etc/${PORTNAME}/${f} +.for FILE in ${ETCS} + ${INSTALL_DATA} ${WRKSRC}/${FILE} ${ETCDIR}/${FILE}.dist +. if !exists(${ETCDIR}/${FILE}) + ${INSTALL_DATA} ${WRKSRC}/${FILE} ${ETCDIR}/${FILE} +. endif .endfor + +# +# Install library files +# ${MKDIR} ${PREFIX}/lib/${PORTNAME} -.for f in ${LIBS} - ${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/lib/${PORTNAME}/ +.for FILE in ${LIBS} + ${INSTALL_DATA} ${WRKSRC}/${FILE} ${PREFIX}/lib/${PORTNAME}/ .endfor + +# +# Install port's documentation +# .if !defined(NOPORTDOCS) ${MKDIR} ${EXAMPLESDIR} -.for f in ${EXAMPLES_EXEC} - ${INSTALL_DATA} ${WRKSRC}/sample/${f} ${EXAMPLESDIR}/ -.endfor -.for f in ${EXAMPLES_DATA} - ${INSTALL_SCRIPT} ${WRKSRC}/sample/${f} ${EXAMPLESDIR}/ -.endfor - ${MKDIR} ${DOCSDIR}/ja -.for f in ${DOCS_EN} - ${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR}/ -.endfor -.for f in ${DOCS_JA} - ${INSTALL_SCRIPT} ${WRKSRC}/${f} ${DOCSDIR}/ja/ -.endfor + ${INSTALL_DATA} ${WRKSRC}/sample/* ${EXAMPLESDIR} + + ${MKDIR} ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/README* ${WRKSRC}/Q_and_A* ${DOCSDIR} .endif .include diff -ruN --exclude=CVS /usr/ports/dns/dns_balance/distinfo /var/tmp/ruby/dns_balance/distinfo --- /usr/ports/dns/dns_balance/distinfo Thu Nov 24 04:44:31 2005 +++ /var/tmp/ruby/dns_balance/distinfo Mon Aug 7 14:33:55 2006 @@ -1,3 +1,3 @@ -MD5 (DNS-Balance-1.1.tar.gz) = a01bcf3fc7ce6ac7ad5b6bb5e441ad9d -SHA256 (DNS-Balance-1.1.tar.gz) = 09148f5e5fb5f1e2ef384d93e55fd36e2d3d5537cd7f69fb032ec8a3573b36b0 -SIZE (DNS-Balance-1.1.tar.gz) = 16496 +MD5 (DNS-Balance-2.0.tar.gz) = 2d68bb2fd5279906feaf5570027ce267 +SHA256 (DNS-Balance-2.0.tar.gz) = 117d42986f7b090e827110ba74a00f6a488244f74605e22c5587a13e604bf4de +SIZE (DNS-Balance-2.0.tar.gz) = 17256 diff -ruN --exclude=CVS /usr/ports/dns/dns_balance/files/dns_balance.sh.in /var/tmp/ruby/dns_balance/files/dns_balance.sh.in --- /usr/ports/dns/dns_balance/files/dns_balance.sh.in Mon Feb 20 23:46:56 2006 +++ /var/tmp/ruby/dns_balance/files/dns_balance.sh.in Wed Aug 9 00:20:13 2006 @@ -11,12 +11,14 @@ rcvar=`set_rcvar` load_rc_config ${name} - : ${dns_balance_enable="NO"} -: ${dns_balance_pidfile="/var/run/dns_balance.pid"} -: ${dns_balance_flags="-l /var/log/dns_balance.log -p ${dns_balance_pidfile}"} +: ${dns_balance_logfile="/var/log/${name}.log"} +: ${dns_balance_pidfile="/var/log/${name}.pid"} +: ${dns_balance_flags=""} -command="env ROOT=%%PREFIX%%/lib/dns_balance %%PREFIX%%/sbin/dns_balance" +command="%%PREFIX%%/sbin/${name}" +command_args="-l ${dns_balance_logfile} -p ${dns_balance_pidfile}" +command_interpreter=%%RUBY%% pidfile=${dns_balance_pidfile} run_rc_command "$1" diff -ruN --exclude=CVS /usr/ports/dns/dns_balance/files/patch-dns_balance.rb /var/tmp/ruby/dns_balance/files/patch-dns_balance.rb --- /usr/ports/dns/dns_balance/files/patch-dns_balance.rb Tue Jul 20 00:58:53 2004 +++ /var/tmp/ruby/dns_balance/files/patch-dns_balance.rb Tue Aug 8 23:55:59 2006 @@ -1,36 +1,42 @@ ---- dns_balance.rb.orig Thu Feb 6 17:39:46 2003 -+++ dns_balance.rb Sun Jul 18 00:58:12 2004 -@@ -19,6 +19,8 @@ - require 'thread' - require 'getopts' - -+$:.unshift "%%PREFIX%%/etc/dns_balance", "%%PREFIX%%/lib/dns_balance" -+ - require 'datatype.rb' - require 'multilog.rb' - require 'log_writer.rb' -@@ -39,9 +41,11 @@ - # 関数 - - def usage() -- print "Usage: ruby dns_balance.rb [-lh] [-i ipaddr]\n" -+ print "Usage: dns_balance.rb [-h] [-i ipaddr] [-l logfile] [-p pidfile]\n" -+ print " -l logfile print log to logfile\n" - print " -i ipaddr listen IP address (default:0.0.0.0)\n" - print " -h help message\n" -+ print " -p pidfile record PID in pidfile\n" - print " --as Enable AS namespace\n" - exit(111) - end -@@ -184,12 +188,45 @@ - # main - - srand() --getopts("lh", "i:0.0.0.0", "d:", "as") -+getopts("h", "i:0.0.0.0", "d:", "as", 'l:', 'p:') - - usage() if $OPT_h +--- dns_balance.rb.orig Sat Jun 11 02:23:56 2005 ++++ dns_balance.rb Tue Aug 8 23:51:31 2006 +@@ -7,14 +7,7 @@ + # $Id: dns_balance.rb,v 1.25 2003/06/13 22:07:27 elca Exp $ + + # DNS Balance の存在するパス名 +-if ENV["ROOT"] == nil +- warn("\"ROOT\" environment is recommended. Use current directory in this time.") +- PREFIX = "." +-# exit(111) +-else +- PREFIX = ENV["ROOT"] +- $LOAD_PATH.unshift(PREFIX) +-end ++$LOAD_PATH.unshift("%%PREFIX%%/etc/%%PORTNAME%%", "%%PREFIX%%/lib/%%PORTNAME%%") + $LOAD_PATH.freeze + + require 'socket' +@@ -204,6 +197,14 @@ + opt.on("--as", "Enable AS namespace") { + OPT["as"] = true + } ++ opt.on("-l LOGFILE", String, "Print log to LOGFILE") { ++ |o| ++ OPT["l"] = o; ++ } ++ opt.on("-p PIDFILE", String, "Record PID to PIDFILE") { ++ |o| ++ OPT["p"] = o; ++ } + opt.on_tail("-h", "--help", "Show this help message and exit") { + STDERR.printf("%s", opt.to_s) + exit(111) +@@ -212,10 +213,42 @@ + } + OPT.freeze +-ML = MultiLog::new +-ML.open +exit! if fork +Process::setsid +exit! if fork @@ -39,14 +45,14 @@ +STDERR.close + +$pidfile = nil -+if $OPT_p -+ $pidfile = $OPT_p ++if OPT["p"] ++ $pidfile = OPT["p"] + File::open($pidfile, 'w') { |f| f.puts $$ } +end + -+$logout = nil -+if $OPT_l -+ $logout = File::open($OPT_l, 'a+') ++$logout = nil ++if OPT["l"] ++ $logout = File::open(OPT["l"], 'a+') + $logout.sync = true +end + @@ -58,15 +64,34 @@ + } +end + - ML = MultiLog.new --ML.open -+if $OPT_l -+ $logout = File::open($OPT_l, 'a+') ++ ML = MultiLog.new ++if OPT["l"] ++ $logout = File::open(OPT["l"], 'a+') + $logout.sync = true + ML.open($logout) +else + ML.open +end - ML.log("dir: " + Prefix) +-ML.log("dir: " + PREFIX) ML.log("start") + + +@@ -224,7 +257,7 @@ + # + Thread::start { + loop { +- if test(?r, PREFIX + "/addr") || test(?r, "./addr") ++ if test(?r, "%%ETCDIR%%" + "/addr") + begin + load("addr") + +@@ -234,7 +267,7 @@ + end + end + +- #if test(?r, PREFIX + "/addr-once") || test(?r, "./addr-once") ++ #if test(?r, "%%ETCDIR%%" + "/addr-once") + # Thread.exit + #end + diff -ruN --exclude=CVS /usr/ports/dns/dns_balance/pkg-descr /var/tmp/ruby/dns_balance/pkg-descr --- /usr/ports/dns/dns_balance/pkg-descr Mon Mar 5 11:58:43 2001 +++ /var/tmp/ruby/dns_balance/pkg-descr Tue Aug 8 23:53:49 2006 @@ -6,4 +6,9 @@ o Implements "A" record lookups only. This would be good for security. -WWW: http://openlab.ring.gr.jp/dns_balance/index.html.en +This (FreeBSD) version differs from original in the following: +- It works as a daemon +- Has ability to write messages to logfile +- Can save it's PID + +WWW: http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/dns_balance/ diff -ruN --exclude=CVS /usr/ports/dns/dns_balance/pkg-plist /var/tmp/ruby/dns_balance/pkg-plist --- /usr/ports/dns/dns_balance/pkg-plist Thu Nov 17 22:13:22 2005 +++ /var/tmp/ruby/dns_balance/pkg-plist Tue Aug 8 23:34:06 2006 @@ -1,9 +1,9 @@ sbin/dns_balance -@unexec if cmp -s %D/etc/dns_balance/addrdb.rb %D/etc/dns_balance/addrdb.rb-dist; then rm -f %D/etc/dns_balance/addrdb.rb; fi -etc/dns_balance/addrdb.rb-dist +@unexec if cmp -s %%ETCDIR%%/addrdb.rb %%ETCDIR%%/addrdb.rb.dist; then rm -f %%ETCDIR%%/addrdb.rb; fi +etc/dns_balance/addrdb.rb.dist @exec [ ! -f %B/addrdb.rb ] && cp %B/%f %B/addrdb.rb -@unexec if cmp -s %D/etc/dns_balance/namespace.rb %D/etc/dns_balance/namespace.rb-dist; then rm -f %D/etc/dns_balance/namespace.rb; fi -etc/dns_balance/namespace.rb-dist +@unexec if cmp -s %%ETCDIR%%/namespace.rb %%ETCDIR%%/namespace.rb.dist; then rm -f %%ETCDIR%%/namespace.rb; fi +etc/dns_balance/namespace.rb.dist @exec [ ! -f %B/namespace.rb ] && cp %B/%f %B/namespace.rb @dirrm etc/dns_balance lib/dns_balance/as_search.rb @@ -13,14 +13,12 @@ lib/dns_balance/multilog.rb lib/dns_balance/util.rb @dirrm lib/dns_balance +%%PORTDOCS%%%%DOCSDIR%%/Q_and_A.dns_balance %%PORTDOCS%%%%DOCSDIR%%/Q_and_A.dns_balance.eng +%%PORTDOCS%%%%DOCSDIR%%/README.dns_balance %%PORTDOCS%%%%DOCSDIR%%/README.dns_balance.eng +%%PORTDOCS%%%%DOCSDIR%%/README.dnsbalance+daemontools %%PORTDOCS%%%%DOCSDIR%%/README.dnsbalance+daemontools.eng -%%PORTDOCS%%%%DOCSDIR%%/ja/ChangeLog -%%PORTDOCS%%%%DOCSDIR%%/ja/Q_and_A.dns_balance -%%PORTDOCS%%%%DOCSDIR%%/ja/README.dns_balance -%%PORTDOCS%%%%DOCSDIR%%/ja/README.dnsbalance+daemontools -%%PORTDOCS%%@dirrm %%DOCSDIR%%/ja %%PORTDOCS%%@dirrm %%DOCSDIR%% %%PORTDOCS%%%%EXAMPLESDIR%%/addr %%PORTDOCS%%%%EXAMPLESDIR%%/addr.ring @@ -28,6 +26,7 @@ %%PORTDOCS%%%%EXAMPLESDIR%%/make_namespace.rb %%PORTDOCS%%%%EXAMPLESDIR%%/makedb.rb %%PORTDOCS%%%%EXAMPLESDIR%%/makeringdb.rb +%%PORTDOCS%%%%EXAMPLESDIR%%/namespace.rb %%PORTDOCS%%%%EXAMPLESDIR%%/namespace.txt %%PORTDOCS%%%%EXAMPLESDIR%%/ringupdate.sh %%PORTDOCS%%@dirrm %%EXAMPLESDIR%% --- dns_balance-2.0.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted: