-
-
Save 257/2b8e0fa86e68b1ca400333dc8553fa7f to your computer and use it in GitHub Desktop.
stdin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 1999-2017 Gentoo Foundation | |
# Distributed under the terms of the GNU General Public License v2 | |
EAPI=6 | |
inherit flag-o-matic user git-r3 | |
DESCRIPTION="A caching full DNS resolver implementation written in C and LuaJIT" | |
HOMEPAGE="https://www.knot-resolver.cz" | |
#SRC_URI="https://secure.nic.cz/files/${PN}/${P}.tar.xz" | |
EGIT_REPO_URI="https://github.com/CZ-NIC/knot-resolver.git" | |
EGIT_COMMIT=v"${PV}" | |
#EGIT_BRANCH=" | |
#RESTRICT="mirror" | |
LICENSE="GPL-3" | |
SLOT="0" | |
KEYWORDS="~amd64 ~x86" | |
IUSE="dnstap go pie memcached redis test" | |
RDEPEND=">=net-dns/knot-2.3.1 | |
>=dev-libs/libuv-1.7.0 | |
dev-lang/luajit:2 | |
dev-lua/luasocket | |
dev-lua/luasec | |
dnstap? ( | |
>=dev-libs/protobuf-3.0 | |
dev-libs/protobuf-c | |
dev-libs/fstrm | |
) | |
go? ( >=dev-lang/go-1.5.0 ) | |
memcached? ( dev-libs/libmemcached ) | |
redis? ( >=dev-libs/hiredis-0.11.0 )" | |
DEPEND="${RDEPEND} | |
virtual/pkgconfig | |
test? ( | |
dev-util/cmocka | |
dnstap? ( >=dev-lang/go-1.5.0 ) | |
)" | |
pkg_setup() { | |
enewgroup kresd | |
enewuser kresd -1 -1 /var/lib/knot-resolver kresd | |
} | |
src_prepare() { | |
# Gentoo has FORTIFY_SOURCE enabled by default | |
sed -i 's/ -D_FORTIFY_SOURCE=2//g' \ | |
./config.mk || die | |
default | |
} | |
src_compile() { | |
append-cflags -DNDEBUG | |
emake \ | |
LDFLAGS="${LDFLAGS}" \ | |
PREFIX="${EPREFIX}"/usr \ | |
ETCDIR="${EPREFIX}"/etc/knot-resolver \ | |
ENABLE_DNSTAP=$(usex dnstap) \ | |
HARDENING=$(usex pie) \ | |
HAS_cmocka=$(usex test) \ | |
HAS_go=$(usex go) \ | |
HAS_hiredis=$(usex redis) \ | |
HAS_libmemcached=$(usex memcached) | |
} | |
src_test() { | |
emake check | |
use dnstap && emake ckeck-dnstap | |
} | |
src_install() { | |
emake \ | |
PREFIX=/usr \ | |
ETCDIR=/etc/knot-resolver \ | |
LIBDIR=/usr/"$(get_libdir)" \ | |
DESTDIR="${D}" install | |
newinitd "${FILESDIR}"/${PN}.initd ${PN} | |
newconfd "${FILESDIR}"/${PN}.confd ${PN} | |
insinto /var/lib/knot-resolver | |
doins "${FILESDIR}"/root.keys | |
fowners kresd:kresd /var/lib/knot-resolver/root.keys | |
insinto /etc/knot-resolver | |
newins "${FILESDIR}"/${PN}.config config | |
insinto /etc/logrotate.d | |
newins "${FILESDIR}"/${PN}.logrotate ${PN} | |
} | |
pkg_postinst() { | |
if [ -z "${REPLACING_VERSIONS}" ]; then | |
einfo | |
elog "If you prefer not to use the bundled root.keys, just delete" | |
elog "'${EROOT%/}/var/lib/knot-resolver/root.keys', then start ${PN}." | |
elog "The bootstrapping of the keys is automated, and kresd fetches" | |
elog "root trust anchors set over a secure channel from IANA." | |
elog "From there, it can perform automatic updates for you." | |
einfo | |
fi | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment