|
|
# Copyright 1999-2005 Gentoo Foundation |
# Copyright 1999-2006 Gentoo Foundation |
# Distributed under the terms of the GNU General Public License v2 | # Distributed under the terms of the GNU General Public License v2 |
# $Header: /var/cvsroot/gentoo-x86/net-dns/djbdns/djbdns-1.05-r16.ebuild,v 1.1 2005/09/09 09:51:46 flameeyes Exp $ | # $Header: /var/cvsroot/gentoo-x86/net-dns/djbdns/djbdns-1.05-r16.ebuild,v 1.1 2005/09/09 09:51:46 flameeyes Exp $ |
| |
|
|
fwdzone? ( ${URL1}/djbdns-1.04-fwdzone.patch ) | fwdzone? ( ${URL1}/djbdns-1.04-fwdzone.patch ) |
roundrobin? ( http://www.legend.co.uk/djb/dns/round-robin.patch ) | roundrobin? ( http://www.legend.co.uk/djb/dns/round-robin.patch ) |
multipleip? ( http://danp.net/djbdns/dnscache-multiple-ip.patch | multipleip? ( http://danp.net/djbdns/dnscache-multiple-ip.patch |
http://www.ohse.de/uwe/patches/djbdns-1.05-multiip.diff ) |
http://www.ohse.de/uwe/patches/djbdns-1.05-multiip.diff ) |
aliaschain? ( ${URL2}/tinydns-alias-chain-truncation.patch ) | aliaschain? ( ${URL2}/tinydns-alias-chain-truncation.patch ) |
semanticfix? ( ${URL2}/tinydns-data-semantic-error.patch ) | semanticfix? ( ${URL2}/tinydns-data-semantic-error.patch ) |
cnamefix? ( ${URL2}/dnscache-cname-handling.patch ) | cnamefix? ( ${URL2}/dnscache-cname-handling.patch ) |
|
|
unpack ${A} | unpack ${A} |
cd ${S} | cd ${S} |
| |
useq ipv6 && useq cnamefix && \ |
use ipv6 && use cnamefix && \ |
eerror "ipv6 cannot currently be used with the cnamefix patch" && \ | eerror "ipv6 cannot currently be used with the cnamefix patch" && \ |
exit -1 | exit -1 |
| |
useq ipv6 && useq multipleip && \ |
use ipv6 && use multipleip && \ |
eerror "ipv6 cannot currently be used with the multipleip patch" && \ | eerror "ipv6 cannot currently be used with the multipleip patch" && \ |
exit -1 | exit -1 |
| |
useq ipv6 && ( useq fwdzone || useq roundrobin ) && \ |
use ipv6 && ( use fwdzone || use roundrobin ) && \ |
eerror "ipv6 cannot currently be used with the fwdzone or " && \ | eerror "ipv6 cannot currently be used with the fwdzone or " && \ |
eerror "roundrobin patch." && \ | eerror "roundrobin patch." && \ |
eerror && \ | eerror && \ |
|
|
eerror "both at the same time, since the latter 2 patches are " && \ | eerror "both at the same time, since the latter 2 patches are " && \ |
eerror "mutually exclusive according to bug #31238." && exit -1 | eerror "mutually exclusive according to bug #31238." && exit -1 |
| |
useq fwdzone && useq roundrobin && \ |
use fwdzone && use roundrobin && \ |
eerror "fwdzone and roundrobin do not work together according " && \ | eerror "fwdzone and roundrobin do not work together according " && \ |
eerror "to bug #31238" && exit -1 | eerror "to bug #31238" && exit -1 |
| |
useq cnamefix && \ |
use cnamefix && \ |
sed s:'\r'::g < ${DISTDIR}/dnscache-cname-handling.patch \ | sed s:'\r'::g < ${DISTDIR}/dnscache-cname-handling.patch \ |
> ${WORKDIR}/dnscache-cname-handling.patch && \ | > ${WORKDIR}/dnscache-cname-handling.patch && \ |
epatch ${WORKDIR}/dnscache-cname-handling.patch | epatch ${WORKDIR}/dnscache-cname-handling.patch |
useq aliaschain && \ |
use aliaschain && \ |
epatch ${DISTDIR}/tinydns-alias-chain-truncation.patch | epatch ${DISTDIR}/tinydns-alias-chain-truncation.patch |
useq semanticfix && \ |
use semanticfix && \ |
epatch ${DISTDIR}/tinydns-data-semantic-error.patch | epatch ${DISTDIR}/tinydns-data-semantic-error.patch |
| |
useq fwdzone && epatch ${DISTDIR}/djbdns-1.04-fwdzone.patch |
use fwdzone && epatch ${DISTDIR}/djbdns-1.04-fwdzone.patch |
useq roundrobin && epatch ${DISTDIR}/round-robin.patch |
use roundrobin && epatch ${DISTDIR}/round-robin.patch |
useq multipleip && \ |
use multipleip && \ |
epatch ${DISTDIR}/dnscache-multiple-ip.patch && \ | epatch ${DISTDIR}/dnscache-multiple-ip.patch && \ |
epatch ${DISTDIR}/djbdns-1.05-multiip.diff | epatch ${DISTDIR}/djbdns-1.05-multiip.diff |
| |
epatch ${FILESDIR}/headtail.patch | epatch ${FILESDIR}/headtail.patch |
epatch ${FILESDIR}/dnsroots.patch | epatch ${FILESDIR}/dnsroots.patch |
| |
useq ipv6 && { |
# NB: All versions >=test21 of the ipv6 patch include the errno patch |
einfo "At present dnstrace does NOT support IPv6. It will " \ |
use ipv6 && { |
"be compiled without IPv6 support." |
einfo "At present dnstrace does NOT support IPv6. It will" \ |
|
"be compiled without IPv6 support." |
|
|
|
# preserve an unpatched copy of ${S} for dnstrace |
cp -pR ${S} ${S}-noipv6 | cp -pR ${S} ${S}-noipv6 |
# Careful -- >=test21 of the ipv6 patch includes the errno patch |
|
epatch ${WORKDIR}/${P}-${IPV6_PATCH}.diff |
|
cd ${S}-noipv6 | cd ${S}-noipv6 |
epatch ${FILESDIR}/${PV}-errno.patch | epatch ${FILESDIR}/${PV}-errno.patch |
|
|
|
# now patch ${S} with the ${IPV6_PATCH} |
|
cd ${S} |
|
epatch ${WORKDIR}/${P}-${IPV6_PATCH}.diff |
} || { | } || { |
epatch ${FILESDIR}/${PV}-errno.patch | epatch ${FILESDIR}/${PV}-errno.patch |
} | } |
|
|
| |
src_compile() { | src_compile() { |
LDFLAGS= | LDFLAGS= |
useq static && LDFLAGS="-static" |
use static && LDFLAGS="-static" |
echo "gcc ${CFLAGS}" > conf-cc | echo "gcc ${CFLAGS}" > conf-cc |
echo "gcc ${LDFLAGS}" > conf-ld | echo "gcc ${LDFLAGS}" > conf-ld |
echo "/usr" > conf-home | echo "/usr" > conf-home |
|
|
# If djbdns is compiled with ipv6 support it breaks dnstrace | # If djbdns is compiled with ipv6 support it breaks dnstrace |
# therefore we must compile dnstrace separately without ipv6 | # therefore we must compile dnstrace separately without ipv6 |
# support. | # support. |
if useq ipv6; |
if use ipv6 |
then | then |
einfo "Compiling dnstrace without ipv6 support" | einfo "Compiling dnstrace without ipv6 support" |
cd ${S}-noipv6 | cd ${S}-noipv6 |
LDFLAGS= | LDFLAGS= |
useq static && LDFLAGS="-static" |
use static && LDFLAGS="-static" |
echo "gcc ${CFLAGS}" > conf-cc | echo "gcc ${CFLAGS}" > conf-cc |
echo "gcc ${LDFLAGS}" > conf-ld | echo "gcc ${LDFLAGS}" > conf-ld |
echo "/usr" > conf-home | echo "/usr" > conf-home |
|
|
doins dnsroots.global | doins dnsroots.global |
into /usr | into /usr |
dobin *-conf dnscache tinydns walldns rbldns pickdns axfrdns \ | dobin *-conf dnscache tinydns walldns rbldns pickdns axfrdns \ |
*-get *-data *-edit dnsip dnsipq dnsname dnstxt dnsmx \ |
*-get *-data *-edit dnsip dnsipq dnsname dnstxt dnsmx \ |
dnsfilter random-ip dnsqr dnsq dnstrace dnstracesort |
dnsfilter random-ip dnsqr dnsq dnstrace dnstracesort |
| |
useq ipv6 && dobin dnsip6 dnsip6q ${S}-noipv6/dnstrace |
use ipv6 && dobin dnsip6 dnsip6q ${S}-noipv6/dnstrace |
| |
dodoc CHANGES FILES README SYSDEPS TARGETS TODO VERSION | dodoc CHANGES FILES README SYSDEPS TARGETS TODO VERSION |
| |
dobin ${FILESDIR}/dnscache-setup | dobin ${FILESDIR}/dnscache-setup |
useq fwdzone && cd ${D}${DESTTREE}/bin && \ |
use fwdzone && cd ${D}${DESTTREE}/bin && \ |
epatch ${FILESDIR}/fwdzone-fix.patch | epatch ${FILESDIR}/fwdzone-fix.patch |
dobin ${FILESDIR}/tinydns-setup | dobin ${FILESDIR}/tinydns-setup |
dobin ${FILESDIR}/djbdns-setup | dobin ${FILESDIR}/djbdns-setup |
|
|
enewuser dnslog -1 -1 /nonexistent nofiles | enewuser dnslog -1 -1 /nonexistent nofiles |
enewuser tinydns -1 -1 /nonexistent nofiles | enewuser tinydns -1 -1 /nonexistent nofiles |
| |
einfo "Use (dnscache-setup + tinydns-setup) or djbdns-setup" \ |
einfo |
"to configure djbdns." |
einfo "Use (/usr/bin/dnscache-setup + /usr/bin/tinydns-setup)" |
|
einfo "or /usr/bin/djbdns-setup to configure djbdns." |
|
einfo |
} | } |