diff options
Diffstat (limited to 'net-dns/nsd')
-rw-r--r-- | net-dns/nsd/Manifest | 1 | ||||
-rw-r--r-- | net-dns/nsd/nsd-4.2.0.ebuild | 117 |
2 files changed, 118 insertions, 0 deletions
diff --git a/net-dns/nsd/Manifest b/net-dns/nsd/Manifest index 92215a6d3ebf..62a12c1cd63a 100644 --- a/net-dns/nsd/Manifest +++ b/net-dns/nsd/Manifest @@ -1,2 +1,3 @@ DIST nsd-4.1.26.tar.gz 1127895 BLAKE2B b132022b846cffffa0ca34fff189f95c26dc7646648773d455ad7835c42718b1a00645b3b686e5c211432ef4bb83a3618ae6b675b9b53fd40ecf7a9f6d9ec5ba SHA512 49c07ad79e4e056bd519dad157a44d5cc55cd9a28723fd910159dc761d4ba56ef86cb7bf289dc5d1b363a49b999232bb7ec1afa737ca5c2659c4c9893e93494b DIST nsd-4.1.27.tar.gz 1131881 BLAKE2B 94a7f7efe23d130b04258faca0f73690712919e14268e6efabf4029bc30273d8ef3155259b072190776b6cde32050b61ade0584175f00eef0129e4621d5896a3 SHA512 9c75041f5a6213cdba7238c2e51fc73031f6f073e06587659f93992fed49418ee789642b25b5522d48642507050ac15021f385927eed81ce5ea649f974e66402 +DIST nsd-4.2.0.tar.gz 1141796 BLAKE2B 3e3df373e2ff00c170b9c104e1a4ca7038f98ad613104f045c594b7df17d4d66be1473a07e545deb9096c6a3945570530c5639c7b2f4c76234f643bce8c4fb40 SHA512 caa14fcd599ddc631cb74c3a56e571044dae1deb2fa9bd6b062f143954f9207b64b42ab5eab917360161f96bae8711df932f3e18b58be98b3f7b640071e7e807 diff --git a/net-dns/nsd/nsd-4.2.0.ebuild b/net-dns/nsd/nsd-4.2.0.ebuild new file mode 100644 index 000000000000..e8a9dc238025 --- /dev/null +++ b/net-dns/nsd/nsd-4.2.0.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools user systemd + +# version voodoo needed only for non-release tarballs: 4.0.0_rc1 => 4.0.0rc1 +MY_PV="${PV/_beta/b}" +MY_PV="${MY_PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="An authoritative only, high performance, open source name server" +HOMEPAGE="http://www.nlnetlabs.nl/projects/nsd" +SRC_URI="http://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="bind8-stats dnstap ipv6 libevent minimal-responses mmap munin +nsec3 ratelimit root-server runtime-checks ssl systemd libressl" + +S="${WORKDIR}/${MY_P}" + +RDEPEND=" + dnstap? ( + dev-libs/fstrm + dev-libs/protobuf-c + ) + libevent? ( dev-libs/libevent ) + munin? ( net-analyzer/munin ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + sys-devel/flex + virtual/yacc + systemd? ( virtual/pkgconfig ) +" + +PATCHES=( + # Fix the paths in the munin plugin to match our install + "${FILESDIR}"/nsd_munin_.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + --enable-largefile + --enable-pie + --enable-relro-now + --enable-tcp-fastopen + --with-dbfile="${EPREFIX}"/var/db/nsd/nsd.db + --with-logfile="${EPREFIX}"/var/log/nsd.log + --with-pidfile="${EPREFIX}"/run/nsd/nsd.pid + --with-xfrdfile="${EPREFIX}"/var/db/nsd/xfrd.state + --with-xfrdir="${EPREFIX}"/var/db/nsd + --with-zonelistfile="${EPREFIX}"/var/db/nsd/zone.list + --with-zonesdir="${EPREFIX}"/var/lib/nsd + $(use_enable bind8-stats) + $(use_enable bind8-stats zone-stats) + $(use_enable dnstap) + $(use_enable ipv6) + $(use_enable minimal-responses) + $(use_enable mmap) + $(use_enable nsec3) + $(use_enable ratelimit) + $(use_enable root-server) + $(use_enable runtime-checks checking) + $(use_enable systemd) + $(use_with libevent) + $(use_with ssl) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + emake DESTDIR="${D}" install + + dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS} + + newinitd "${FILESDIR}"/nsd.initd-r1 nsd + + # install munin plugin and config + if use munin ; then + exeinto /usr/libexec/munin/plugins + doexe contrib/nsd_munin_ + insinto /etc/munin/plugin-conf.d + newins "${FILESDIR}"/nsd.munin-conf nsd_munin + fi + + systemd_dounit "${FILESDIR}"/nsd.service + + # remove the /run directory that usually resides on tmpfs and is + # being taken care of by the nsd init script anyway (checkpath) + rm -r "${ED}"/run || die "Failed to remove /run" + + keepdir /var/db/${PN} +} + +pkg_postinst() { + # Do this in postinst to ensure the uid/gid is consistent for binpkgs + enewgroup nsd + enewuser nsd -1 -1 -1 nsd + + # database directory, writable by nsd for database updates and zone transfers + install -d -m 750 -o nsd -g nsd "${EROOT}"/var/db/nsd + + # zones directory, writable by nsd for zone file updates (nsd-control write) + install -d -m 750 -o nsd -g nsd "${EROOT}"/var/lib/nsd +} |