]> gitweb.michael.orlitzky.com - mjo-overlay.git/blobdiff - net-dns/djbdns/djbdns-1.05-r27.ebuild
Use a separate makefule patch for net-dns/djbdns-1.05-r29.
[mjo-overlay.git] / net-dns / djbdns / djbdns-1.05-r27.ebuild
index 9b19cdb1b00c6c7c14e2ad4f64275a895a78d297..a596d9231a79ae0c44e3e0180093fb9f7b5ee9cd 100644 (file)
@@ -1,14 +1,16 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-dns/djbdns/djbdns-1.05-r24.ebuild,v 1.3 2011/04/04 18:58:49 c1pher Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dns/djbdns/djbdns-1.05-r27.ebuild,v 1.1 2013/06/23 18:53:24 pinkbyte Exp $
 
 EAPI="2"
-inherit eutils flag-o-matic toolchain-funcs
+inherit eutils flag-o-matic toolchain-funcs user
 
 DESCRIPTION="Excellent high-performance DNS services"
 HOMEPAGE="http://cr.yp.to/djbdns.html"
+IPV6_PATCH="test23"
 
-SRC_URI="http://cr.yp.to/djbdns/${P}.tar.gz"
+SRC_URI="http://cr.yp.to/djbdns/${P}.tar.gz
+       ipv6? ( http://www.fefe.de/dns/${P}-${IPV6_PATCH}.diff.bz2 )"
 
 SLOT="0"
 LICENSE="public-domain"
@@ -24,61 +26,39 @@ RDEPEND="${DEPEND}
 "
 
 src_prepare() {
-       echo
-       elog 'Several patches have been dropped from this djbdns ebuild revision.'
-       elog 'Please use the DJBDNS_PATCH_DIR variable to specify a directory'
-       elog 'of custom patches.'
-       elog
-       elog 'Some of them can be found at http://tinydns.org/ or'
-       elog 'http://homepages.tesco.net/J.deBoynePollard/Softwares/djbdns/'
-       elog
-
        epatch \
                "${FILESDIR}/headtail.patch" \
-               "${FILESDIR}/dnsroots-r25.patch" \
+               "${FILESDIR}/dnsroots.patch" \
                "${FILESDIR}/dnstracesort.patch" \
                "${FILESDIR}/string_length_255.patch"
 
        # Fix CVE2009-0858
        epatch "${FILESDIR}/CVE2009-0858_0001-check-response-domain-name-length.patch"
 
-       # Fix CVE2008-4392
-       epatch \
-               "${FILESDIR}/CVE2008-4392_0001-dnscache-merge-similar-outgoing-queries.patch" \
-               "${FILESDIR}/CVE2008-4392_0002-dnscache-cache-soa-records.patch"
-
        if use ipv6; then
                elog "At present dnstrace does NOT support IPv6. It will"\
-                        "be compiled without IPv6 support."
+                    "be compiled without IPv6 support."
                cp -pR "${S}" "${S}-noipv6"
                # Careful -- >=test21 of the IPv6 patch includes the errno patch
-               epatch "${FILESDIR}/ipv6-mjo.patch"
-
-               # The ipv6 patch is a little sloppy in the Makefile.
-               # Anything depending on socket.h should depend on uint32.h as well.
-               epatch "${FILESDIR}/makefile-uint32-fix.patch"
+               epatch "${DISTDIR}/${P}-${IPV6_PATCH}.diff.bz2"
 
-               # Parts of the ipv6 patch fail due to the CVE2008-4392 fix above.
-               # The following two patches fix those hunks.
+               # Fix CVE2008-4392
                epatch \
-                       "${FILESDIR}/query.h-mjo.patch" \
-                       "${FILESDIR}/query.c-mjo.patch"
+                       "${FILESDIR}/CVE2008-4392_0001-dnscache-merge-similar-outgoing-queries-ipv6.patch" \
+                       "${FILESDIR}/CVE2008-4392_0002-dnscache-cache-soa-records-ipv6.patch" \
+                       "${FILESDIR}/makefile-parallel.patch"
 
                cd "${S}-noipv6"
        fi
 
+       # Fix CVE2008-4392
+       epatch \
+               "${FILESDIR}/CVE2008-4392_0001-dnscache-merge-similar-outgoing-queries.patch" \
+               "${FILESDIR}/CVE2008-4392_0002-dnscache-cache-soa-records.patch"
+
        epatch "${FILESDIR}/${PV}-errno.patch"
 
-       if [[ -n "${DJBDNS_PATCH_DIR}" && -d "${DJBDNS_PATCH_DIR}" ]]
-       then
-               echo
-               ewarn "You enabled custom patches from ${DJBDNS_PATCH_DIR}."
-               ewarn "Be warned that you won't get any support when using "
-               ewarn "this feature. You're on your own from now!"
-               echo
-               ebeep
-               cd "${S}" && epatch "${DJBDNS_PATCH_DIR}/"*
-       fi
+       epatch_user
 }
 
 src_compile() {
@@ -86,7 +66,6 @@ src_compile() {
        echo "$(tc-getCC) ${CFLAGS}" > conf-cc
        echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
        echo "/usr" > conf-home
-       #emake -j1 || die "emake failed"
        emake || die "emake failed"
 
        # If djbdns is compiled with IPv6 support, it breaks dnstrace.
@@ -98,7 +77,6 @@ src_compile() {
                echo "$(tc-getCC) ${CFLAGS}" > conf-cc
                echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
                echo "/usr" > conf-home
-               #emake -j1 dnstrace || die "emake failed"
                emake dnstrace || die "emake failed"
        fi
 }
@@ -120,11 +98,14 @@ src_install() {
 
        dobin "${FILESDIR}/dnscache-setup" || die
        dobin "${FILESDIR}/tinydns-setup" || die
-       newbin "${FILESDIR}/djbdns-setup-r17" djbdns-setup || die
+       dobin "${FILESDIR}/djbdns-setup" || die
 }
 
 pkg_preinst() {
-       # The nofiles group is provided by baselayout
+       # The nofiles group is no longer provided by baselayout.
+       # Share it with qmail if possible.
+       enewgroup nofiles 200
+
        enewuser dnscache -1 -1 -1 nofiles
        enewuser dnslog -1 -1 -1 nofiles
        enewuser tinydns -1 -1 -1 nofiles