diff options
author | miwi <miwi@FreeBSD.org> | 2012-06-09 23:47:57 +0800 |
---|---|---|
committer | miwi <miwi@FreeBSD.org> | 2012-06-09 23:47:57 +0800 |
commit | f14b21721d89aa27cbe257bf9de894e38c5fced5 (patch) | |
tree | 5958e98e9c64bb8c10daf287be538eefa4e87d1e /dns/gdnsd | |
parent | 50e6fbdcaf560f741f17898138212098e9b47d04 (diff) | |
download | freebsd-ports-gnome-f14b21721d89aa27cbe257bf9de894e38c5fced5.tar.gz freebsd-ports-gnome-f14b21721d89aa27cbe257bf9de894e38c5fced5.tar.zst freebsd-ports-gnome-f14b21721d89aa27cbe257bf9de894e38c5fced5.zip |
gdnsd is an Authoritative-only DNS server.
The initial g stands for Geographic, as gdnsd offers a plugin system for
geographic (or other sorts of) balancing, redirection, and service-state-conscious
failover. If you don't care about that feature, it's still quite good at being
a very fast, lean, and resilient authoritative-only server for static DNS data.
gdnsd is written in C using libev and pthreads with a focus on highi performance,
low latency service. It does not offer any form of caching or recursive service,
and does not support DNSSEC.
WWW: http://code.google.com/p/gdnsd/
PR: ports/167946
Submitted by: Stefan Caunter <stef@scaleengine.com>
Diffstat (limited to 'dns/gdnsd')
-rw-r--r-- | dns/gdnsd/Makefile | 50 | ||||
-rw-r--r-- | dns/gdnsd/distinfo | 2 | ||||
-rw-r--r-- | dns/gdnsd/files/gdnsd.in | 49 | ||||
-rw-r--r-- | dns/gdnsd/files/patch-docs-config.example | 19 | ||||
-rw-r--r-- | dns/gdnsd/pkg-descr | 12 | ||||
-rw-r--r-- | dns/gdnsd/pkg-plist | 77 |
6 files changed, 209 insertions, 0 deletions
diff --git a/dns/gdnsd/Makefile b/dns/gdnsd/Makefile new file mode 100644 index 000000000000..49e364b0cdf5 --- /dev/null +++ b/dns/gdnsd/Makefile @@ -0,0 +1,50 @@ +# New ports collection makefile for: gdnsd +# Date created: Tue May 15, 2012 +# Whom: Stefan Caunter <stef@scaleengine.com> +# +# $FreeBSD$ +# + +PORTNAME= gdnsd +PORTVERSION= 1.6.7 +CATEGORIES= dns +MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE} +MASTER_SITES+= http://gdnsd.scaleengine.net/gdnsd/ + +MAINTAINER= ports@scaleengine.com +COMMENT= Authoritative-only GeoIP-aware DNS server + +LICENSE= GPLv3 + +OPTIONS_DEFINE= GEOIP + +HAS_CONFIGURE= yes +MAKE_JOBS_SAFE= yes +USE_LDCONFIG= yes + +MAN1= gdnsd_geoip_test.1 +MAN3= gdnsd-plugin-api.3 +MAN5= gdnsd.config.5 gdnsd.zonefile.5 +MAN8= gdnsd.8 gdnsd-plugin-simplefo.8 gdnsd-plugin-multifo.8 \ + gdnsd-plugin-metafo.8 gdnsd-plugin-geoip.8 \ + gdnsd-plugin-weighted.8 +MANCOMPRESSED= no + +USE_RC_SUBR= gdnsd + +CONFIGURE_ARGS+= --mandir=${PREFIX}/man + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MWITH_GEOIP} +RUN_DEPENDS+= ${LOCALBASE}/share/GeoIP/GeoIP.dat:${PORTSDIR}/net/GeoIP +.endif + +post-install: + ${CP} ${WRKDIR}/${DISTNAME}/docs/config.example ${ETCDIR}/config-dist + @if [ ! -f ${ETCDIR}/config ]; then \ + ${CP} -p ${WRKDIR}/${DISTNAME}/docs/config.example ${ETCDIR}/config ; \ + fi + ${CP} ${WRKDIR}/${DISTNAME}/docs/example.com ${ETCDIR}/example.com + +.include <bsd.port.mk> diff --git a/dns/gdnsd/distinfo b/dns/gdnsd/distinfo new file mode 100644 index 000000000000..9673e135587d --- /dev/null +++ b/dns/gdnsd/distinfo @@ -0,0 +1,2 @@ +SHA256 (gdnsd-1.6.7.tar.gz) = 39bf9849a586564f60319e4012edc037633077780060a4f925c418871d6d8672 +SIZE (gdnsd-1.6.7.tar.gz) = 942433 diff --git a/dns/gdnsd/files/gdnsd.in b/dns/gdnsd/files/gdnsd.in new file mode 100644 index 000000000000..95062d168abc --- /dev/null +++ b/dns/gdnsd/files/gdnsd.in @@ -0,0 +1,49 @@ +#!/bin/sh + +# $FreeBSD$ +# +# PROVIDE: gdnsd +# REQUIRE: DAEMON +# REQUIRE: LOGIN +# KEYWORD: FreeBSD shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# gdnsd_enable (bool): Set to NO by default. +# Set it to YES to enable gdnsd. +# gdnsd_config (path): Set to %%PREFIX%%/etc/gdnsd/config +# by default. + +. /etc/rc.subr + +name="gdnsd" +rcvar=`set_rcvar` +command="%%PREFIX%%/sbin/gdnsd" + +# set defaults +load_rc_config $name +: ${gdnsd_enable:="NO"} +: ${gdnsd_config="%%PREFIX%%/etc/gdnsd/config"} +: ${gdnsd_pidfile="%%PREFIX%%/var/run/gdnsd.pid"} + +required_files=${gdnsd_config} +command_args="-c ${gdnsd_config} start" +procname=${command} +extra_commands="checkconf" +checkconf_cmd="gdnsd_checkconf" + +stop_postcmd=stop_postcmd + +stop_postcmd() +{ + rm -f ${gdnsd_pidfile} +} + +gdnsd_checkconf() +{ + ${command} -c ${gdnsd_config} checkconf +} + +run_rc_command "$1" + diff --git a/dns/gdnsd/files/patch-docs-config.example b/dns/gdnsd/files/patch-docs-config.example new file mode 100644 index 000000000000..0c9761e36167 --- /dev/null +++ b/dns/gdnsd/files/patch-docs-config.example @@ -0,0 +1,19 @@ +--- config.example.orig 2012-05-06 20:26:34.000000000 +0000 ++++ docs/config.example 2012-05-25 20:13:28.000000000 +0000 +@@ -1,4 +1,14 @@ +- + # For more information on configuration, see "man gdnsd.config" +-options => { zones_default_ttl = 43200 } ++ ++options => { ++ username = gdnsd ++ zones_default_ttl = 3600 ++ http_port = 13506 ++ tcp_clients_per_socket = 256 ++ tcp_timeout = 8 ++ max_http_clients = 32 ++ priority = 0 ++ listen = 127.0.0.1 ++ http_listen = 127.0.0.1 ++} + zones => { example.com => { default_ttl = 86400 } } diff --git a/dns/gdnsd/pkg-descr b/dns/gdnsd/pkg-descr new file mode 100644 index 000000000000..7f1c888e5693 --- /dev/null +++ b/dns/gdnsd/pkg-descr @@ -0,0 +1,12 @@ +gdnsd is an Authoritative-only DNS server. + +The initial g stands for Geographic, as gdnsd offers a plugin system for +geographic (or other sorts of) balancing, redirection, and service-state-conscious +failover. If you don't care about that feature, it's still quite good at being +a very fast, lean, and resilient authoritative-only server for static DNS data. + +gdnsd is written in C using libev and pthreads with a focus on highi performance, +low latency service. It does not offer any form of caching or recursive service, +and does not support DNSSEC. + +WWW: http://code.google.com/p/gdnsd/ diff --git a/dns/gdnsd/pkg-plist b/dns/gdnsd/pkg-plist new file mode 100644 index 000000000000..908df42cf36c --- /dev/null +++ b/dns/gdnsd/pkg-plist @@ -0,0 +1,77 @@ +bin/gdnsd_geoip_test +@unexec if cmp -s %D/%%ETCDIR%%/config-dist %D/%%ETCDIR%%/config; then rm -f %D/%%ETCDIR%%/config; fi +%%ETCDIR%%/config-dist +@exec if [ ! -f %D/%%ETCDIR%%/config ] ; then cp -p %D/%F %B/config; fi +%%ETCDIR%%/example.com +@dirrmtry %%ETCDIR%% +include/gdnsd-compiler.h +include/gdnsd-dmn.h +include/gdnsd-dname.h +include/gdnsd-ev.h +include/gdnsd-log.h +include/gdnsd-misc.h +include/gdnsd-monio.h +include/gdnsd-net.h +include/gdnsd-plugapi.h +include/gdnsd-plugin.h +include/gdnsd-satom.h +include/gdnsd-vscf.h +%%DOCSDIR%%/gdnsd-plugin-multifo.pod +%%DOCSDIR%%/gdnsd-plugin-geoip.pod +%%DOCSDIR%%/gdnsd-plugin-metafo.txt +%%DOCSDIR%%/gdnsd_geoip_test.pod +%%DOCSDIR%%/gdnsd-plugin-simplefo.txt +%%DOCSDIR%%/gdnsd.zonefile.pod +%%DOCSDIR%%/COPYING +%%DOCSDIR%%/gdnsd.config.pod +%%DOCSDIR%%/gdnsd_manual.pod +%%DOCSDIR%%/gdnsd.txt +%%DOCSDIR%%/gdnsd-plugin-api.pod +%%DOCSDIR%%/gdnsd-plugin-weighted.txt +%%DOCSDIR%%/AUTHORS +%%DOCSDIR%%/gdnsd-plugin-simplefo.pod +%%DOCSDIR%%/README +%%DOCSDIR%%/gdnsd_geoip_test.txt +%%DOCSDIR%%/gdnsd-plugin-metafo.pod +%%DOCSDIR%%/gdnsd-plugin-geoip.txt +%%DOCSDIR%%/gdnsd-plugin-multifo.txt +%%DOCSDIR%%/config.example +%%DOCSDIR%%/gdnsd.zonefile.txt +%%DOCSDIR%%/gdnsd_manual.txt +%%DOCSDIR%%/gdnsd.config.txt +%%DOCSDIR%%/example.com +%%DOCSDIR%%/gdnsd-plugin-api.txt +%%DOCSDIR%%/ChangeLog +%%DOCSDIR%%/gdnsd-plugin-weighted.pod +%%DOCSDIR%%/gdnsd.pod +%%DOCSDIR%%/INSTALL +lib/gdnsd/libgdnsd.la +lib/gdnsd/libgdnsd.so +lib/gdnsd/plugin_geoip.la +lib/gdnsd/plugin_geoip.so +lib/gdnsd/plugin_http_status.la +lib/gdnsd/plugin_http_status.so +lib/gdnsd/plugin_metafo.la +lib/gdnsd/plugin_metafo.so +lib/gdnsd/plugin_multifo.la +lib/gdnsd/plugin_multifo.so +lib/gdnsd/plugin_null.la +lib/gdnsd/plugin_null.so +lib/gdnsd/plugin_reflect.la +lib/gdnsd/plugin_reflect.so +lib/gdnsd/plugin_simplefo.la +lib/gdnsd/plugin_simplefo.so +lib/gdnsd/plugin_static.la +lib/gdnsd/plugin_static.so +lib/gdnsd/plugin_tcp_connect.la +lib/gdnsd/plugin_tcp_connect.so +lib/gdnsd/plugin_weighted.la +lib/gdnsd/plugin_weighted.so +@dirrm %%DOCSDIR%%/ +@dirrm lib/gdnsd +sbin/gdnsd +@exec mkdir -p %D/var/gdnsd +@dirrm var/gdnsd +@exec mkdir -p %D/etc/gdnsd +@dirrmtry etc/gdnsd +@stopdaemon gdnsd |