From 56bd759df1d0c750a065b8c845e93d5dfa6b549d Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Sat, 8 Aug 2015 13:49:04 -0700 Subject: proj/gentoo: Initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson X-Thanks: Alec Warner - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring - wrote much python to improve cvs2svn X-Thanks: Rich Freeman - validation scripts X-Thanks: Patrick Lauer - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed --- net-dns/maradns/Manifest | 1 + net-dns/maradns/files/deadwood | 22 ++ .../maradns/files/maradns-2.0.06-askmara-tcp.patch | 251 +++++++++++++++++++++ .../maradns/files/maradns-2.0.06-duende-man.patch | 109 +++++++++ net-dns/maradns/files/maradns-2.0.09-build.patch | 43 ++++ net-dns/maradns/files/maradns.rc6 | 23 ++ net-dns/maradns/files/maradns.service.in | 9 + net-dns/maradns/files/maradns2 | 23 ++ net-dns/maradns/files/zoneserver.rc6 | 21 ++ net-dns/maradns/files/zoneserver2 | 22 ++ net-dns/maradns/maradns-2.0.09.ebuild | 98 ++++++++ net-dns/maradns/metadata.xml | 10 + 12 files changed, 632 insertions(+) create mode 100644 net-dns/maradns/Manifest create mode 100644 net-dns/maradns/files/deadwood create mode 100644 net-dns/maradns/files/maradns-2.0.06-askmara-tcp.patch create mode 100644 net-dns/maradns/files/maradns-2.0.06-duende-man.patch create mode 100644 net-dns/maradns/files/maradns-2.0.09-build.patch create mode 100644 net-dns/maradns/files/maradns.rc6 create mode 100644 net-dns/maradns/files/maradns.service.in create mode 100644 net-dns/maradns/files/maradns2 create mode 100644 net-dns/maradns/files/zoneserver.rc6 create mode 100644 net-dns/maradns/files/zoneserver2 create mode 100644 net-dns/maradns/maradns-2.0.09.ebuild create mode 100644 net-dns/maradns/metadata.xml (limited to 'net-dns/maradns') diff --git a/net-dns/maradns/Manifest b/net-dns/maradns/Manifest new file mode 100644 index 000000000000..fa432eb341b7 --- /dev/null +++ b/net-dns/maradns/Manifest @@ -0,0 +1 @@ +DIST maradns-2.0.09.tar.bz2 1139409 SHA256 e1ee80836f0fbc47b9b94ec839e112ea19c40bed0b70d672d231849a4dea1083 SHA512 42bfcafaf4e465d8d566b4d9ea8383b5d0f553486b86dd807b35a07358987227e5dc8187de0e8192fba5b53098d61f91091cec112ef7cc80c5d5e73d8acff3bf WHIRLPOOL 6f3e55d8c6633a465c0e9de576921d833c67332cf0cbc8c01e7bc7d70c46102c32566d0ee867cdbf11c8b2b1d5cdc40d18ee4791bd0a4e045ad0e0bc590e61d6 diff --git a/net-dns/maradns/files/deadwood b/net-dns/maradns/files/deadwood new file mode 100644 index 000000000000..d9e8175ad5eb --- /dev/null +++ b/net-dns/maradns/files/deadwood @@ -0,0 +1,22 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net +} + +start() { + ebegin "Starting deadwood" + start-stop-daemon --start --quiet --name deadwood --wait 1000 \ + --exec /usr/bin/duende /usr/sbin/Deadwood -- -f /etc/maradns/dwood3rc + eend $? +} + +stop() { + ebegin "Stopping deadwood" + start-stop-daemon --stop --quiet --name deadwood --wait 1000 \ + --exec /usr/bin/duende + eend $? +} diff --git a/net-dns/maradns/files/maradns-2.0.06-askmara-tcp.patch b/net-dns/maradns/files/maradns-2.0.06-askmara-tcp.patch new file mode 100644 index 000000000000..107097159c83 --- /dev/null +++ b/net-dns/maradns/files/maradns-2.0.06-askmara-tcp.patch @@ -0,0 +1,251 @@ +Author: Nicholas Bamber +Subject: askmara-tcp lazily copies askmara usage and man page +Last-Updated: 2011-09-21 +Forwarded: no +--- a/tools/askmara_labels_en.h ++++ b/tools/askmara_labels_en.h +@@ -1,11 +1,12 @@ + /* Placed in the public domain 2001 by Sam Trenholme */ + +-/* All of the labels for replies used in askmara */ ++/* All of the labels for replies used in askmara(-tcp) */ + + #define L_NEWLINE "\n" + #define L_HARD_ERROR "Hard Error: " + #define L_QUERYING "Querying the server with the IP " + #define L_USAGE "Usage: askmara [-n] [-v | -t timeout] Query [server]\n#Example: askmara Ayahoo.com." ++#define L_USAGE_TCP "Usage: askmara-tcp [-n] [-v | -t timeout] Query [server]\n#Example: askmara-tcp Ayahoo.com." + #define L_JS_CREATE_INDATA "js_create with indata" + #define L_JS_CREATE_UINDATA "js_create with uindata" + #define L_JS_CREATE_OUTDATA "js_create with outdata" +--- a/tools/askmara-tcp.c ++++ b/tools/askmara-tcp.c +@@ -190,7 +190,7 @@ + nrd = 1; + else if(argv[0][0] == '-' && argv[0][1] == 'p') { + if(argc < 2) { +- harderror(L_USAGE); ++ harderror(L_USAGE_TCP); + } + argc--; + argv++; +@@ -201,7 +201,7 @@ + } + else if(argv[0][0] == '-' && argv[0][1] == 't') { + if(argc < 2) { +- harderror(L_USAGE); ++ harderror(L_USAGE_TCP); + } + argc--; + argv++; +@@ -213,14 +213,14 @@ + else if (argv[0][0] != '-') + break; + else +- harderror(L_USAGE); ++ harderror(L_USAGE_TCP); + argc--; + argv++; + } + + /* we expect now the query string and possibly the server */ + if(argc<1) +- harderror(L_USAGE); ++ harderror(L_USAGE_TCP); + + /* Determine what IP address to connect to */ + if(argc>1) +--- /dev/null ++++ b/doc/en/man/askmara-tcp.1 +@@ -0,0 +1,191 @@ ++.\" Do *not* edit this file; it was automatically generated by ej2man ++.\" Look for a name.ej file with the same name as this filename ++.\" ++.\" Process this file with the following ++.\" nroff -man -Tutf8 maradns.8 | tr '\020' ' ' ++.\" ++.\" Last updated Mon Sep 27 15:36:06 2010 ++.\" ++.TH ASKMARA-TCP 1 "askmara-tcp" "January 2002" "askmara-tcp" ++.\" We don't want hyphenation (it's too ugly) ++.\" We also disable justification when using nroff ++.\" Due to the way the -mandoc macro works, this needs to be placed ++.\" after the .TH heading ++.hy 0 ++.if n .na ++.\" ++.\" We need the following stuff so that we can have single quotes ++.\" In both groff and other UNIX *roff processors ++.if \n(.g .mso www.tmac ++.ds aq \(aq ++.if !\n(.g .if '\(aq'' .ds aq \' ++ ++.SH "NAME" ++.PP ++askmara-tcp \- do simple dns queries over TCP ++.SH "DESCRIPTION" ++.PP ++.B "askmara-tcp" ++queries the user-specified dns server for records, and ++outputs the reply in a csv2-compatible format (csv2 is the format of ++zone ++files that ++.B "maradns" ++uses). However unlike ++.B "askmara" ++it uses TCP rather than UDP. ++.SH "USAGE" ++.PP ++.B "askmara-tcp" ++.RB [ -n ] ++.RB [ -v | -t ++.IR timeout ] ++.I query ++.RI [ server ] ++.SH "OPTIONS" ++.PP ++.TP 4 ++.BI -t ++If this is present, the following argument is the askmara-tcp ++.IR timeout , ++in seconds. Note that ++.B "askmara-tcp" ++can not both have a user-defined ++timeout and verbose output. ++.TP 4 ++.BI -v ++If this is set, ++.B "askmara-tcp" ++will verbosely output the complete reply that the server sent. Note ++that this verbose output is not csv2-compatible. ++.TP 4 ++.BI -n ++If this is set, ++.BR "askmara-tcp" "," ++when sending out a query, will not ++request DNS recursion; in other words, askmara-tcp will request that the ++remote DNS server not contact other DNS servers to answer the query in ++question. ++.TP 4 ++.I query ++dns record to be queried. The query has two sections: ++The type of record we desire, and the hostname we want this record for. ++.PP ++The type of query can have two forms: A one-letter mnemonic, or a ++numeric rtype followed by a colon. This is immediately concatenated by ++the full name of the host name we wish to look up. ++.PP ++For example, to ask for the IP of \(aqexample.com.\(aq, we can use the ++one-letter ++mnemonic, in the form \(aqAexample.com.\(aq, or we can use the numeric ++RR followed ++by a colon, giving the query \(aq1:example.com.\(aq (since A has the ++record type ++of one). Note that the query name needs the trailing dot at the end. ++.PP ++Askmara supports a handful one-letter mnemonics, as follows: ++.PP ++.B "A" ++signifies a request for an A (ipv4 address) RR ++.PP ++.B "N" ++signifies a NS RR ++.PP ++.B "C" ++signifies that we are asking for a CNAME RR ++.PP ++.B "S" ++signifies that we want a SOA RR ++.PP ++.B "P" ++signifies that we want a PTR RR ++.PP ++.B "@" ++signifies that we mant a MX RR ++.PP ++.B "T" ++signifies that we want a TXT RR ++.PP ++.B "Z" ++signifies that we want to ask for all RRs. ++.TP 4 ++.I server ++IP address of the dns server to be queried. If no server is given, ++askmara-tcp will query 127.0.0.1. ++.PP ++.SH "EXAMPLES" ++.PP ++Asking the server with the ip 127.0.0.1 for the IP address of ++example.com: ++ ++.nf ++askmara-tcp Aexample.com. ++.fi ++ ++Asking the server with the ip 198.41.0.4 for the IP address of ++example.com: ++ ++.nf ++askmara-tcp Aexample.com. 198.41.0.4 ++.fi ++ ++Asking the server with the ip address 127.0.0.1 for the IP address of ++example.com, using the rr_number:query format: ++ ++.nf ++askmara-tcp 1:example.com. ++.fi ++ ++Asking the server with the ip address 127.0.0.1 for a SRV record. In ++particular, we ask for the "http over tcp" service for example.net. ++Since askmara-tcp doesn\(aqt have a mnemonic for SRV record types, we ++use the numeric code (33 for SRV): ++ ++.nf ++askmara-tcp 33:_http._tcp.example.net. ++.fi ++ ++Asking the server with the ip address 127.0.0.1 for the AAAA (ipv6 ip) ++record for example.net: ++ ++.nf ++askmara-tcp 28:example.net. ++.fi ++ ++Note that the output will be a raw DNS packet in both the SRV ++and AAAA examples. ++.SH "BUGS" ++.PP ++When askmara-tcp is asked for an SOA record, the output of ++.B "askmara-tcp" ++closely resembles the format of a csv2 file, but can not be parsed as a ++csv2 file without modification. ++.PP ++askmara-tcp outputs multi-chunk ("character-string") TXT ++records incorrectly (it only outputs the first chunk). ++.SH "SEE ALSO" ++.PP ++.B maradns(8), ++.B askmara(1) ++ ++.br ++http://www.maradns.org ++.SH "LEGAL DISCLAIMER" ++.PP ++THIS SOFTWARE IS PROVIDED BY THE AUTHORS \(aq\(aqAS IS\(aq\(aq AND ANY ++EXPRESS ++OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ++WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE ++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR ++BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ++WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE ++OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, ++EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++.SH "AUTHOR" ++.PP ++MaraDNS is written by Sam Trenholme. Jaakko Niemi used 5 minutes ++to roll this manpage together, which Sam has subsequently revised. ++ diff --git a/net-dns/maradns/files/maradns-2.0.06-duende-man.patch b/net-dns/maradns/files/maradns-2.0.06-duende-man.patch new file mode 100644 index 000000000000..8e9283bc0802 --- /dev/null +++ b/net-dns/maradns/files/maradns-2.0.06-duende-man.patch @@ -0,0 +1,109 @@ +Author: Nicholas Bamber +Subject: Duende man page + We have made various changes to the duende executable and these need to + be reflected in the Debian man page. +Forwarded: yes +Last-Update: 2011-07-18 +--- a/doc/en/man/duende.8 ++++ b/doc/en/man/duende.8 +@@ -29,11 +29,12 @@ + makes a given child process a daemon. The standard output + and standard error + of the child process is logged via syslog() with a priority of +-LOG_INFO. ++LOG_ALERT. + .SH "USAGE" + .PP + .B "duende" +-child_process [ all subsequent arguments passed on to child ] ++.RB [ options ] ++child_process [ arguments passed onto child ] + .SH "DETAILS" + .PP + When +@@ -76,48 +77,52 @@ + duende uses a setuid() call to change the user ID of the logging + process + to the user with ID 66. ++.SH "OPTIONS" ++.PP ++Most of the above behaviour can be configured by command line arguments. ++.TP 4 ++.BI -c | --chroot " directory" ++The log helper process will change its directory and root to this location. ++This defaults to ++.B /etc/maradns/logger "." ++.TP 4 ++.BI -i | --ident " string" ++The log helper process will use this string to identify the process when ++sending messages to syslog. ++This defaults to ++.B log-help "." ++.TP 4 ++.BI -p | --pid " filename" ++If this argument is present, the duende parent process will store its pid in ++this file. ++.TP 4 ++.BI -u | --uid " integer" ++The log helper process will drop its user id to this. This value defaults to ++66. ++.TP 4 ++.BI -g | --gid " integer" ++The log helper process will drop its group id to this. This value defaults to ++66. ++.TP 4 ++.BI -r | --restart_on " integer" ++The log helper process will restart the child process if it exists with this ++status code. This defaults to 8. + .SH "LOGGING" + .PP + .B "duende" + uses the syslog() facility to log the standard output of the + program that it invokes. The name of the program (in other words, the +-"ident" given to openlog()) is the full path of the first argument +-given +-to +-.BR "duende" "." ++"ident" given to openlog()) defaults to ++.BR "log-helper" ++but can be overridden with the ++.RB "--ident" ++argument. + All messages created by the child process are sent +-to syslog() with a priority of LOG_INFO and a "facility" +-of LOG_DAEMON (daemon.info in /etc/syslog.conf); since daemon.info +-messages are not logged by default in FreeBSD, on FreeBSD systems +-messages generated by the child process are logged with a priority of +-LOG_ALERT and a "facility" of LOG_DAEMON (daemon.alert in +-/etc/syslog.conf). ++to syslog() with a priority of LOG_ALERT and a "facility" ++of LOG_DAEMON (daemon.info in /etc/syslog.conf). + Should duende itself encounter an error, it will send + messages to syslog() with a priority of LOG_ALERT. + .PP +-For example, suppose one invokes duende thusly: +- +-.nf +- duende /usr/local/sbin/maradns +-.fi +- +-If invoked thusly, duende will log all messages with the "ident" +-(program +-name) of "/usr/local/sbin/maradns". If this is not desired, invoke +-duende +-with something like: +- +-.nf +- export PATH=$PATH:/usr/local/sbin +- duende maradns +-.fi +- +-This will log messages with a (more sensible) "ident" of maradns. +-.PP +-Note: If a non-POSIX Bourne shell (such as csh, es, rc, or fish) is +-used to +-invoke MaraDNS, the above syntax needs to be changed. +-.PP + Also, the directory /etc/maradns/logger, while used by duende, is not + used + to store any log messages. That is unless, for some reason, one diff --git a/net-dns/maradns/files/maradns-2.0.09-build.patch b/net-dns/maradns/files/maradns-2.0.09-build.patch new file mode 100644 index 000000000000..33622b9bc876 --- /dev/null +++ b/net-dns/maradns/files/maradns-2.0.09-build.patch @@ -0,0 +1,43 @@ +Index: maradns-2.0.09/build/Makefile.linux +=================================================================== +--- maradns-2.0.09.orig/build/Makefile.linux ++++ maradns-2.0.09/build/Makefile.linux +@@ -10,7 +10,7 @@ POBJECTS=parse/ParseMaraRc.o parse/Parse + DOBJECTS=dns/Queries.o dns/Compress.o dns/bobbit.o + # Secure random number generator objects + ROBJECTS=rng/rng-api-fst.o rng/rng-alg-fst.o +-OBJECTS=$(JOBJS) $(MHOBJS) $(SOBJECTS) $(DOBJECTS) $(POBJECTS) $(DOBJECTS) $(ROBJECTS) ++OBJECTS=$(JOBJS) $(MHOBJS) $(SOBJECTS) $(DOBJECTS) $(POBJECTS) $(DOBJECTS) $(ROBJECTS) -lrt + EXECS=server/maradns + + # Uncomment the following three lines to get this to compile on Solaris +@@ -28,19 +28,21 @@ Q="DEFINES=-DSELECT_PROBLEM" + + # Debug + +-FLAGS = -O2 -Wall -DSELECT_PROBLEM ++FLAGS=$(CFLAGS) $(LDFLAGS) -Wall -DSELECT_PROBLEM + M="CC=$(CC) $(FLAGS)" + D="CC=$(CC) $(FLAGS) -DDEBUG -DTHREADS" + #FLAGS = -g + + all: +- cd libs ; make $(M) ; cd ../dns ; make $(M) ; \ +- cd ../rng ; make $(M) ; cd ../parse ; make $(M) ; \ +- cd ../qual ; make $(M) ; cd ../server ; \ +- make $(M) $(V) COMPILED=\"$(COMPILED)\" ; \ +- cd ../tools ; make $(M) ; \ +- cd ../deadwood-*/src/ ; make FLAGS=-O2 ; \ +- cd ../../tcp ; make $(M) $(V) ; cat ../00README.FIRST ++ $(MAKE) -C libs $(M) ++ $(MAKE) -C dns $(M) ++ $(MAKE) -C rng $(M) ++ $(MAKE) -C parse $(M) ++ $(MAKE_ -C qual $(M) ++ $(MAKE) -C server $(M) $(V) COMPILED=\"$(COMPILED)\" ++ $(MAKE) -C tools $(M) ++ $(MAKE) -C deadwood-*/src $(M) ++ $(MAKE) -C tcp $(M) $(V) + + debug: + cd libs ; make $(D) DEBUG="-DDEBUG -DTHREADS" ; \ diff --git a/net-dns/maradns/files/maradns.rc6 b/net-dns/maradns/files/maradns.rc6 new file mode 100644 index 000000000000..32db2e419273 --- /dev/null +++ b/net-dns/maradns/files/maradns.rc6 @@ -0,0 +1,23 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net + provide dns +} + +start() { + ebegin "Starting maradns" + start-stop-daemon --start --quiet --name maradns \ + --exec /usr/bin/duende /usr/sbin/maradns + eend $? +} + +stop() { + ebegin "Stopping maradns" + start-stop-daemon --stop --quiet --name maradns \ + --exec /usr/sbin/duende + eend $? +} diff --git a/net-dns/maradns/files/maradns.service.in b/net-dns/maradns/files/maradns.service.in new file mode 100644 index 000000000000..f27d94653400 --- /dev/null +++ b/net-dns/maradns/files/maradns.service.in @@ -0,0 +1,9 @@ +[Unit] +Description=maradns DNS server +After=network.target + +[Service] +ExecStart=@bindir@/maradns -cf @sysconfdir@/mararc + +[Install] +WantedBy=multi-user.target diff --git a/net-dns/maradns/files/maradns2 b/net-dns/maradns/files/maradns2 new file mode 100644 index 000000000000..cc6915f5b8e2 --- /dev/null +++ b/net-dns/maradns/files/maradns2 @@ -0,0 +1,23 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net + provide dns +} + +start() { + ebegin "Starting maradns" + start-stop-daemon --start --quiet --name maradns --wait 1000 \ + --exec /usr/bin/duende /usr/sbin/maradns -- -f /etc/maradns/mararc + eend $? +} + +stop() { + ebegin "Stopping maradns" + start-stop-daemon --stop --quiet --name maradns --wait 1000 \ + --exec /usr/bin/duende + eend $? +} diff --git a/net-dns/maradns/files/zoneserver.rc6 b/net-dns/maradns/files/zoneserver.rc6 new file mode 100644 index 000000000000..9d175a6320a3 --- /dev/null +++ b/net-dns/maradns/files/zoneserver.rc6 @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net +} + +start() { + ebegin "Starting zoneserver" + start-stop-daemon --start --quiet --name zoneserver \ + --exec /usr/bin/duende /usr/sbin/zoneserver + eend $? +} + +stop() { + ebegin "Stopping zoneserver" + start-stop-daemon --stop --quiet --name zoneserver + eend $? +} diff --git a/net-dns/maradns/files/zoneserver2 b/net-dns/maradns/files/zoneserver2 new file mode 100644 index 000000000000..6c6486d5e9ba --- /dev/null +++ b/net-dns/maradns/files/zoneserver2 @@ -0,0 +1,22 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net +} + +start() { + ebegin "Starting zoneserver" + start-stop-daemon --start --quiet --name zoneserver --wait 1000 \ + --exec /usr/bin/duende /usr/sbin/zoneserver -- -f /etc/maradns/mararc + eend $? +} + +stop() { + ebegin "Stopping zoneserver" + start-stop-daemon --stop --quiet --name zoneserver --wait 1000 \ + --exec /usr/bin/duende + eend $? +} diff --git a/net-dns/maradns/maradns-2.0.09.ebuild b/net-dns/maradns/maradns-2.0.09.ebuild new file mode 100644 index 000000000000..189839f84464 --- /dev/null +++ b/net-dns/maradns/maradns-2.0.09.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils systemd toolchain-funcs user + +DEADWOOD_VER="3.2.05" + +DESCRIPTION="A security-aware DNS server" +HOMEPAGE="http://www.maradns.org/" +SRC_URI="http://www.maradns.org/download/${PV%.*}/${PV}/${P}.tar.bz2" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 ~mips ppc x86" +IUSE="authonly ipv6" + +DEPEND="" +RDEPEND="" + +pkg_setup() { + ebegin "Creating group and users" + enewgroup maradns 99 + enewuser duende 66 -1 -1 maradns + enewuser maradns 99 -1 -1 maradns + eend ${?} +} + +src_prepare() { + # Apply some minor patches from Debian. Last one - from Gentoo + epatch "${FILESDIR}/${PN}-2.0.06-askmara-tcp.patch" \ + "${FILESDIR}/${PN}-2.0.06-duende-man.patch" \ + "${FILESDIR}/${P}-build.patch" + epatch_user +} + +src_configure() { + # Use duende-ng.c. + cp "${S}/tools/duende-ng.c" "${S}/tools/duende.c" || die + + tc-export CC + ./configure $(use ipv6 && echo "--ipv6") || die "Failed to configure ${PN}" +} + +src_install() { + # Install the MaraDNS binaries. + dosbin server/maradns + dosbin tcp/zoneserver + dobin tcp/getzone tcp/fetchzone + dobin tools/askmara tools/askmara-tcp tools/duende + dobin tools/bind2csv2.py tools/csv1tocsv2.pl + + # MaraDNS docs, manpages, misc. + dodoc doc/en/{QuickStart,README,*.txt} + dodoc doc/en/text/*.txt + doman doc/en/man/*.[1-9] + dodoc maradns.gpg.key + dohtml doc/en/*.html + dohtml -r doc/en/webpage + dohtml -r doc/en/tutorial + docinto examples + dodoc doc/en/examples/example_* + + # Deadwood binary, docs, manpages, etc. + if ! use authonly; then + dosbin deadwood-${DEADWOOD_VER}/src/Deadwood + doman deadwood-${DEADWOOD_VER}/doc/{Deadwood,Duende}.1 + docinto deadwood + dodoc deadwood-${DEADWOOD_VER}/doc/{Deadwood,Duende,FAQ}.txt + dohtml deadwood-${DEADWOOD_VER}/doc/{Deadwood,FAQ}.html + docinto deadwood/internals + dodoc deadwood-${DEADWOOD_VER}/doc/internals/* + insinto /etc/maradns + newins deadwood-${DEADWOOD_VER}/doc/dwood3rc-all dwood3rc_all.dist + fi + + # Example configurations. + insinto /etc/maradns + newins doc/en/examples/example_full_mararc mararc_full.dist + newins doc/en/examples/example_csv2 example_csv2.dist + keepdir /etc/maradns/logger + + # Init scripts. + newinitd "${FILESDIR}"/maradns2 maradns + newinitd "${FILESDIR}"/zoneserver2 zoneserver + if ! use authonly; then + newinitd "${FILESDIR}"/deadwood deadwood + fi + + # systemd unit + # please keep paths in sync! + sed -e "s^@bindir@^${EPREFIX}/usr/sbin^" \ + -e "s^@sysconfdir@^${EPREFIX}/etc/maradns^" \ + "${FILESDIR}"/maradns.service.in > "${T}"/maradns.service + systemd_dounit "${T}"/maradns.service +} diff --git a/net-dns/maradns/metadata.xml b/net-dns/maradns/metadata.xml new file mode 100644 index 000000000000..0057a2e30e34 --- /dev/null +++ b/net-dns/maradns/metadata.xml @@ -0,0 +1,10 @@ + + + + +maintainer-needed@gentoo.org + + + Allows one to build only authoritative DNS server + + -- cgit v1.2.3-65-gdbad