diff options
author | 2006-01-21 12:17:05 +0000 | |
---|---|---|
committer | 2006-01-21 12:17:05 +0000 | |
commit | 7a1fa57237333587041eacec2e6953d951a6470a (patch) | |
tree | e7b3eae49716900899bf7762c565312b850bb5a0 /net-dns/djbdns/djbdns-1.05-r17.ebuild | |
parent | Fixed DEPEND for modular X. (diff) | |
download | gentoo-2-7a1fa57237333587041eacec2e6953d951a6470a.tar.gz gentoo-2-7a1fa57237333587041eacec2e6953d951a6470a.tar.bz2 gentoo-2-7a1fa57237333587041eacec2e6953d951a6470a.zip |
Added patches for multiple data files (multidata, datadir), replaced useq with use, updated djbdns-setup (bug 118371). Stable on hppa, mips, ppc, sparc. Put myself as maintainer.
(Portage version: 2.1_pre3-r1)
Diffstat (limited to 'net-dns/djbdns/djbdns-1.05-r17.ebuild')
-rw-r--r-- | net-dns/djbdns/djbdns-1.05-r17.ebuild | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/net-dns/djbdns/djbdns-1.05-r17.ebuild b/net-dns/djbdns/djbdns-1.05-r17.ebuild new file mode 100644 index 000000000000..27a6b51a62f1 --- /dev/null +++ b/net-dns/djbdns/djbdns-1.05-r17.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/djbdns/djbdns-1.05-r17.ebuild,v 1.1 2006/01/21 12:17:05 hansmi Exp $ + +IUSE="aliaschain cnamefix doc fwdzone ipv6 \ + multipleip roundrobin semanticfix static selinux \ + multidata datadir" + +inherit eutils + +DESCRIPTION="Excellent high-performance DNS services" +HOMEPAGE="http://cr.yp.to/djbdns.html" +URL1="http://www.skarnet.org/software/djbdns-fwdzone" +URL2="http://homepages.tesco.net/~J.deBoynePollard/Softwares/djbdns" +URL3="http://dustman.net/andy/djbware/tinydns-datadir" +IPV6_PATCH="test23" + +SRC_URI="http://cr.yp.to/djbdns/${P}.tar.gz + fwdzone? ( ${URL1}/djbdns-1.04-fwdzone.patch ) + roundrobin? ( http://www.legend.co.uk/djb/dns/round-robin.patch ) + multipleip? ( + http://danp.net/djbdns/dnscache-multiple-ip.patch + http://www.ohse.de/uwe/patches/djbdns-1.05-multiip.diff + ) + aliaschain? ( ${URL2}/tinydns-alias-chain-truncation.patch ) + semanticfix? ( ${URL2}/tinydns-data-semantic-error.patch ) + cnamefix? ( ${URL2}/dnscache-cname-handling.patch ) + ipv6? ( http://www.fefe.de/dns/${P}-${IPV6_PATCH}.diff.bz2 ) + datadir? ( ${URL3}/0.0.0/djbdns-1.0.5-datadir.patch ) + multidata? ( + http://js.hu/package/djbdns-conf/djbdns-1.05-multi_tinydns_data.patch + )" + +SLOT="0" +LICENSE="as-is" +KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86" + +RDEPEND=">=sys-process/daemontools-0.70 + doc? ( app-doc/djbdns-man ) + sys-apps/ucspi-tcp + selinux? ( sec-policy/selinux-djbdns )" + +src_unpack() { + unpack ${A} + cd ${S} + + use ipv6 && use cnamefix && \ + eerror "ipv6 cannot currently be used with the cnamefix patch" && \ + exit -1 + + use ipv6 && use multipleip && \ + eerror "ipv6 cannot currently be used with the multipleip patch" && \ + exit -1 + + use ipv6 && ( use fwdzone || use roundrobin ) && \ + eerror "ipv6 cannot currently be used with the fwdzone or " && \ + eerror "roundrobin patch." && \ + eerror && \ + eerror "If you would like to see ipv6 support along with one of " && \ + eerror "those other patches please submit a working patch that " && \ + eerror "combines ipv6 with either fwdzone or roundrobin but not " && \ + eerror "both at the same time, since the latter 2 patches are " && \ + eerror "mutually exclusive according to bug #31238." && exit -1 + + use fwdzone && use roundrobin && \ + eerror "fwdzone and roundrobin do not work together according " && \ + eerror "to bug #31238" && exit -1 + + use datadir && use multidata && \ + die "The datadir and multidata patches are not compatible with each other" && \ + exit -1 + + use cnamefix && \ + sed s:'\r'::g < ${DISTDIR}/dnscache-cname-handling.patch \ + > ${WORKDIR}/dnscache-cname-handling.patch && \ + epatch ${WORKDIR}/dnscache-cname-handling.patch + use aliaschain && \ + epatch ${DISTDIR}/tinydns-alias-chain-truncation.patch + use semanticfix && \ + epatch ${DISTDIR}/tinydns-data-semantic-error.patch + + use fwdzone && epatch ${DISTDIR}/djbdns-1.04-fwdzone.patch + use roundrobin && epatch ${DISTDIR}/round-robin.patch + use multipleip && \ + epatch ${DISTDIR}/dnscache-multiple-ip.patch && \ + epatch ${DISTDIR}/djbdns-1.05-multiip.diff + use datadir && \ + epatch ${DISTDIR}/djbdns-1.0.5-datadir.patch + use multidata && \ + epatch ${DISTDIR}/djbdns-1.05-multi_tinydns_data.patch + + epatch ${FILESDIR}/headtail.patch + epatch ${FILESDIR}/dnsroots.patch + + use ipv6 && { + einfo "At present dnstrace does NOT support IPv6. It will " \ + "be compiled without IPv6 support." + cp -pR ${S} ${S}-noipv6 + # Careful -- >=test21 of the ipv6 patch includes the errno patch + epatch ${WORKDIR}/${P}-${IPV6_PATCH}.diff + cd ${S}-noipv6 + epatch ${FILESDIR}/${PV}-errno.patch + } || { + epatch ${FILESDIR}/${PV}-errno.patch + } +} + +src_compile() { + LDFLAGS= + use static && LDFLAGS="-static" + echo "gcc ${CFLAGS}" > conf-cc + echo "gcc ${LDFLAGS}" > conf-ld + echo "/usr" > conf-home + MAKEOPTS="-j1" emake || die "emake failed" + + # If djbdns is compiled with ipv6 support it breaks dnstrace + # therefore we must compile dnstrace separately without ipv6 + # support. + if use ipv6; then + einfo "Compiling dnstrace without ipv6 support" + cd ${S}-noipv6 + LDFLAGS= + use static && LDFLAGS="-static" + echo "gcc ${CFLAGS}" > conf-cc + echo "gcc ${LDFLAGS}" > conf-ld + echo "/usr" > conf-home + MAKEOPTS="-j1" emake dnstrace || die "emake failed" + fi +} + +src_install() { + insinto /etc + doins dnsroots.global + into /usr + dobin *-conf dnscache tinydns walldns rbldns pickdns axfrdns \ + *-get *-data *-edit dnsip dnsipq dnsname dnstxt dnsmx \ + dnsfilter random-ip dnsqr dnsq dnstrace dnstracesort + + use ipv6 && dobin dnsip6 dnsip6q ${S}-noipv6/dnstrace + + dodoc CHANGES FILES README SYSDEPS TARGETS TODO VERSION + + dobin ${FILESDIR}/dnscache-setup + use fwdzone && cd ${D}${DESTTREE}/bin && \ + epatch ${FILESDIR}/fwdzone-fix.patch + dobin ${FILESDIR}/tinydns-setup + newbin ${FILESDIR}/djbdns-setup-${PR} djbdns-setup +} + +pkg_postinst() { + enewgroup nofiles + enewuser dnscache -1 -1 /nonexistent nofiles + enewuser dnslog -1 -1 /nonexistent nofiles + enewuser tinydns -1 -1 /nonexistent nofiles + + einfo "Use (dnscache-setup + tinydns-setup) or djbdns-setup" \ + "to configure djbdns." +} |