Index: head/dns/dns_balance/Makefile =================================================================== --- head/dns/dns_balance/Makefile (revision 433819) +++ head/dns/dns_balance/Makefile (revision 433820) @@ -1,61 +1,58 @@ # Created by: Akinori MUSHA aka knu # $FreeBSD$ PORTNAME= dns_balance -PORTVERSION= 2.0 -PORTREVISION= 2 +PORTVERSION= 2.1 CATEGORIES= dns -MASTER_SITES= http://www.netlab.cs.tsukuba.ac.jp/~yokota/archive/ \ - http://BSDforge.com/projects/source/dns/dns_balance/ -DISTNAME= DNS-Balance-${PORTVERSION} +MASTER_SITES= http://BSDforge.com/projects/source/dns/dns_balance/ MAINTAINER= portmaster@BSDforge.com COMMENT= Dynamic load-balancing DNS server +LICENSE= BSD2CLAUSE + USE_RUBY= yes -USES= shebangfix +USES= shebangfix tar:xz USE_RC_SUBR= dns_balance NO_BUILD= yes -BROKEN_RUBY22= yes -BROKEN_RUBY23= yes SHEBANG_FILES= ${WRKSRC}/dns_balance.rb \ ${WRKSRC}/sample/makedb.rb \ ${WRKSRC}/sample/make_namespace.rb ETCS= addrdb.rb \ namespace.rb LIBS= as_search.rb \ cache.rb \ datatype.rb \ log_writer.rb \ multilog.rb \ util.rb PLIST_SUB+= ETCDIR=${ETCDIR} SUB_LIST+= RUBY=${RUBY} OPTIONS_DEFINE= DOCS EXAMPLES post-patch: ${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_SCRIPT} ${WRKSRC}/dns_balance ${STAGEDIR}${PREFIX}/sbin @${MKDIR} ${STAGEDIR}${ETCDIR} .for FILE in ${ETCS} ${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${ETCDIR}/${FILE}.dist .endfor @${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME} (cd ${WRKSRC} && ${INSTALL_DATA} ${LIBS} \ ${STAGEDIR}${PREFIX}/lib/${PORTNAME}) @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/sample/* ${STAGEDIR}${EXAMPLESDIR} @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README* ${WRKSRC}/Q_and_A* ${STAGEDIR}${DOCSDIR} .include Index: head/dns/dns_balance/distinfo =================================================================== --- head/dns/dns_balance/distinfo (revision 433819) +++ head/dns/dns_balance/distinfo (revision 433820) @@ -1,2 +1,3 @@ -SHA256 (DNS-Balance-2.0.tar.gz) = 117d42986f7b090e827110ba74a00f6a488244f74605e22c5587a13e604bf4de -SIZE (DNS-Balance-2.0.tar.gz) = 17256 +TIMESTAMP = 1486748693 +SHA256 (dns_balance-2.1.tar.xz) = 6a0c366173d7865c51b322400954a004012f7858be95a23d61884b67ebe0a8f9 +SIZE (dns_balance-2.1.tar.xz) = 15796 Index: head/dns/dns_balance/files/patch-dns_balance.rb =================================================================== --- head/dns/dns_balance/files/patch-dns_balance.rb (revision 433819) +++ head/dns/dns_balance/files/patch-dns_balance.rb (revision 433820) @@ -1,97 +1,97 @@ ---- dns_balance.rb.orig 2005-06-10 22:23:56 UTC -+++ dns_balance.rb -@@ -7,14 +7,7 @@ - # $Id: dns_balance.rb,v 1.25 2003/06/13 22:07:27 elca Exp $ +--- dns_balance.rb.orig 2017-02-09 19:28:01.643383000 -0800 ++++ dns_balance.rb 2017-02-09 19:26:31.609711000 -0800 +@@ -8,14 +8,7 @@ + # $Id: dns_balance.rb,v 1.26 2017-02-09 17:18:59 chrish Exp $ - # DNS Balance の存在するパス名 + # 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 @@ OptionParser::new { +@@ -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 @@ OptionParser::new { +@@ -212,10 +213,42 @@ } OPT.freeze -ML = MultiLog::new -ML.open +exit! if fork +Process::setsid +exit! if fork +STDIN.close +STDOUT.close +STDERR.close + +$pidfile = nil +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.sync = true +end + +[0, 2, 3, 5, 10, 13, 15].each do |sig| + trap(sig) { + File::unlink($pidfile) if $pidfile + $logout.close if $logout + exit + } +end + + 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("start") -@@ -224,7 +257,7 @@ 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 @@ Thread::start { +@@ -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