bind-tools: upgraded package to upstream
Upgraded net-dns/bind-tools to version 9.10.2-r1 on arm, x86
BUG=None
TEST=emerged bind-tools both locally and to target.
Change-Id: If3e656a66682fefd113b1570e3f9a3d3cc8fe8b3
Previous-Reviewed-on: https://chromium-review.googlesource.com/273958
(cherry picked from commit a247a8c3266413c4feb7504f7bedb8645d446d62)
Reviewed-on: https://chromium-review.googlesource.com/285257
Reviewed-by: Dharani Govindan <dharani@chromium.org>
Commit-Queue: Christopher Grant <cjgrant@chromium.org>
Tested-by: Christopher Grant <cjgrant@chromium.org>
diff --git a/metadata/md5-cache/net-dns/bind-tools-9.10.2-r1 b/metadata/md5-cache/net-dns/bind-tools-9.10.2-r1
new file mode 100644
index 0000000..c5695cd
--- /dev/null
+++ b/metadata/md5-cache/net-dns/bind-tools-9.10.2-r1
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install prepare
+DEPEND=ssl? ( dev-libs/openssl:0 ) gost? ( >=dev-libs/openssl-1.0.0:0[-bindist] ) xml? ( dev-libs/libxml2 ) idn? ( net-dns/idnkit ) gssapi? ( virtual/krb5 ) readline? ( sys-libs/readline:0= ) seccomp? ( sys-libs/libseccomp ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.13:1.13 >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=bind tools: dig, nslookup, host, nsupdate, dnssec-keygen
+EAPI=5
+HOMEPAGE=http://www.isc.org/software/bind
+IUSE=doc gost gssapi idn ipv6 readline seccomp ssl urandom xml
+KEYWORDS=*
+LICENSE=ISC BSD BSD-2 HPND JNIC RSA openssl
+RDEPEND=ssl? ( dev-libs/openssl:0 ) gost? ( >=dev-libs/openssl-1.0.0:0[-bindist] ) xml? ( dev-libs/libxml2 ) idn? ( net-dns/idnkit ) gssapi? ( virtual/krb5 ) readline? ( sys-libs/readline:0= ) seccomp? ( sys-libs/libseccomp ) !<net-dns/bind-9.10.2
+REQUIRED_USE=gost? ( ssl )
+RESTRICT=test
+SLOT=0
+SRC_URI=ftp://ftp.isc.org/isc/bind9/9.10.2/bind-9.10.2.tar.gz
+_eclasses_=autotools 999c8f6cf5d91495cb0779588f20716c eutils 06133990e861be0fe60c2b428fd025d9 flag-o-matic 5d5921a298e95441da2f85be419894c0 libtool 52d0e17251d04645ffaa61bfdd858944 multilib 3bf24e6abb9b76d9f6c20600f0b716bf toolchain-funcs 48b38a216afb92db6314d6c3187abea3
+_md5_=b68f0447ed381d29ba6bc3401d6718db
diff --git a/net-dns/bind-tools/Manifest b/net-dns/bind-tools/Manifest
new file mode 100644
index 0000000..e3eca09
--- /dev/null
+++ b/net-dns/bind-tools/Manifest
@@ -0,0 +1 @@
+DIST bind-9.10.2.tar.gz 8481111 SHA256 6f9bb7908aa45c1edfa391e356fc0afc1ded175386cdefb6cf9e1289f7457a98 SHA512 e4c72fe52641a515620930d0e1c149e6f0d9cec2e1a64cbfd510829d908ccab7293197dbbe603c863168f9ea9ded57b27b32cbad02f8b60abc91acb035c2e79f WHIRLPOOL 6b1df7b711fd6d7bba0aad533a11cc979d9e06ea43d4c160536306945e18ece8e622077f75be0bf6a077dd6b40789377e443d92d7dbabdb528b3bdd24aec0553
diff --git a/net-dns/bind-tools/bind-tools-9.10.2-r1.ebuild b/net-dns/bind-tools/bind-tools-9.10.2-r1.ebuild
new file mode 100644
index 0000000..2dee5d0
--- /dev/null
+++ b/net-dns/bind-tools/bind-tools-9.10.2-r1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dns/bind-tools/bind-tools-9.10.2-r1.ebuild,v 1.1 2015/05/26 03:01:00 vapier Exp $
+
+EAPI="5"
+
+inherit eutils autotools flag-o-matic toolchain-funcs
+
+MY_PN=${PN//-tools}
+MY_PV=${PV/_p/-P}
+MY_PV=${MY_PV/_rc/rc}
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
+HOMEPAGE="http://www.isc.org/software/bind"
+SRC_URI="ftp://ftp.isc.org/isc/bind9/${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="ISC BSD BSD-2 HPND JNIC RSA openssl"
+SLOT="0"
+KEYWORDS="*"
+IUSE="doc gost gssapi idn ipv6 readline seccomp ssl urandom xml"
+# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687
+
+REQUIRED_USE="gost? ( ssl )"
+
+DEPEND="ssl? ( dev-libs/openssl:0 )
+ gost? ( >=dev-libs/openssl-1.0.0:0[-bindist] )
+ xml? ( dev-libs/libxml2 )
+ idn? ( net-dns/idnkit )
+ gssapi? ( virtual/krb5 )
+ readline? ( sys-libs/readline:0= )
+ seccomp? ( sys-libs/libseccomp )"
+RDEPEND="${DEPEND}
+ !<net-dns/bind-9.10.2"
+
+S="${WORKDIR}/${MY_P}"
+
+# bug 479092, requires networking
+RESTRICT="test"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-9.5.0_p1-lwconfig.patch #231247
+ epatch "${FILESDIR}"/${PN}-9.10.2-openssl.patch #417129
+
+ # Disable tests for now, bug 406399
+ sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die
+
+ # bug #220361
+ rm aclocal.m4
+ rm -rf libtool.m4/
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=
+
+ if use urandom; then
+ myconf="${myconf} --with-randomdev=/dev/urandom"
+ else
+ myconf="${myconf} --with-randomdev=/dev/random"
+ fi
+
+ # bug 344029
+ append-cflags "-DDIG_SIGCHASE"
+
+ # localstatedir for nsupdate -l, bug 395785
+ tc-export BUILD_CC
+ econf \
+ --localstatedir=/var \
+ --without-python \
+ --without-libjson \
+ --disable-openssl-version-check \
+ $(use_enable ipv6) \
+ $(use_with idn) \
+ $(usex idn --with-idnlib=-lidnkit '') \
+ $(use_enable seccomp) \
+ $(use_with ssl openssl) \
+ $(use_with xml libxml2) \
+ $(use_with gssapi) \
+ $(use_with readline) \
+ $(use_with gost) \
+ ${myconf}
+
+ # bug #151839
+ echo '#undef SO_BSDCOMPAT' >> config.h
+}
+
+src_compile() {
+ local AR=$(tc-getAR)
+
+ emake AR="${AR}" -C lib/
+ emake AR="${AR}" -C bin/delv/
+ emake AR="${AR}" -C bin/dig/
+ emake AR="${AR}" -C bin/nsupdate/
+ emake AR="${AR}" -C bin/dnssec/
+}
+
+src_install() {
+ dodoc README CHANGES FAQ
+
+ cd "${S}"/bin/delv
+ dobin delv
+ doman delv.1
+
+ cd "${S}"/bin/dig
+ dobin dig host nslookup
+ doman {dig,host,nslookup}.1
+
+ cd "${S}"/bin/nsupdate
+ dobin nsupdate
+ doman nsupdate.1
+ if use doc; then
+ dohtml nsupdate.html
+ fi
+
+ cd "${S}"/bin/dnssec
+ for tool in dsfromkey importkey keyfromlabel keygen \
+ revoke settime signzone verify; do
+ dobin dnssec-"${tool}"
+ doman dnssec-"${tool}".8
+ if use doc; then
+ dohtml dnssec-"${tool}".html
+ fi
+ done
+}
diff --git a/net-dns/bind-tools/files/bind-tools-9.10.2-openssl.patch b/net-dns/bind-tools/files/bind-tools-9.10.2-openssl.patch
new file mode 100644
index 0000000..deeb109
--- /dev/null
+++ b/net-dns/bind-tools/files/bind-tools-9.10.2-openssl.patch
@@ -0,0 +1,145 @@
+https://bugs.gentoo.org/417129
+
+fix openssl build logic:
+* do not probe direct filesystem paths (including hardcoding things like /usr)
+* use pkg-config to locate proper openssl libraries
+* turn dsa check into a header one
+* turn ecdsa check into a link one
+* have gost/aes actually default to --with-xxx value when cross-compiling
+
+Patch by Mike Frysinger <vapier@chromium.org>
+
+--- a/configure.in
++++ b/configure.in
+@@ -1442,16 +1442,21 @@ case "$use_openssl" in
+ OPENSSLLINKOBJS=""
+ OPENSSLLINKSRCS=""
+ ;;
+- auto)
+- DST_OPENSSL_INC=""
+- CRYPTO=""
++ yes|auto)
++ CRYPTO=""
++ PKG_CHECK_MODULES([OPENSSL], [libcrypto], [CRYPTO='-DOPENSSL'], [
++ if test "$use_openssl" = "yes"; then
++ AC_MSG_ERROR(openssl not found)
++ fi
++ use_openssl="no"
++ ])
++
++ DST_OPENSSL_INC=$OPENSSL_CFLAGS
++ DST_OPENSSL_LIBS=$OPENSSL_LIBS
+ OPENSSLGOSTLINKOBJS=""
+ OPENSSLGOSTLINKSRS=""
+ OPENSSLLINKOBJS=""
+ OPENSSLLINKSRCS=""
+- AC_MSG_ERROR(
+-[OpenSSL was not found in any of $openssldirs; use --with-openssl=/path
+-If you don't want OpenSSL, use --without-openssl])
+ ;;
+ *)
+ if test "$want_native_pkcs11" = "yes"
+@@ -1588,27 +1593,39 @@ no)
+ ;;
+ esac
+
++ CC="$saved_cc"
++ CFLAGS="$saved_cflags"
++ LIBS="$saved_libs"
++ OPENSSLLINKOBJS='${OPENSSLLINKOBJS}'
++ OPENSSLLINKSRCS='${OPENSSLLINKSRCS}'
++ ;;
++esac
++
++if test "$use_openssl" = "yes"; then
++ saved_cc="$CC"
++ saved_cflags="$CFLAGS"
++ saved_libs="$LIBS"
++ CFLAGS="$CFLAGS $DST_OPENSSL_INC"
++ LIBS="$LIBS $DST_OPENSSL_LIBS"
++
+- AC_MSG_CHECKING(for OpenSSL DSA support)
+- if test -f $use_openssl/include/openssl/dsa.h
+- then
++ AC_CHECK_HEADERS([openssl/dsa.h])
++ if test "$ac_cv_header_openssl_dsa_h" = yes; then
+ AC_DEFINE(HAVE_OPENSSL_DSA)
+- AC_MSG_RESULT(yes)
+- else
+- AC_MSG_RESULT(no)
+ fi
+
+ AC_CHECK_FUNCS(EVP_sha256 EVP_sha384 EVP_sha512)
+
+ AC_MSG_CHECKING(for OpenSSL ECDSA support)
+ have_ecdsa=""
+- AC_TRY_RUN([
++ AC_TRY_LINK([
+ #include <openssl/ecdsa.h>
+ #include <openssl/objects.h>
++],[
+ int main() {
+ EC_KEY *ec256, *ec384;
+
+ #if !defined(HAVE_EVP_SHA256) || !defined(HAVE_EVP_SHA384)
+- return (1);
++#error choke
+ #endif
+ ec256 = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
+ ec384 = EC_KEY_new_by_curve_name(NID_secp384r1);
+@@ -1637,24 +1654,7 @@ int main() {
+ [AC_MSG_RESULT(yes)
+ have_ecdsa="yes"],
+ [AC_MSG_RESULT(no)
+- have_ecdsa="no"],
++ have_ecdsa="no"])
+- [AC_MSG_RESULT(using --with-ecdsa)])
+- case "$with_ecdsa" in
+- yes)
+- case "$have_ecdsa" in
+- no) AC_MSG_ERROR([ecdsa not supported]) ;;
+- *) have_ecdsa=yes ;;
+- esac
+- ;;
+- no)
+- have_ecdsa=no ;;
+- *)
+- case "$have_ecdsa" in
+- yes|no) ;;
+- *) AC_MSG_ERROR([need --with-ecdsa=[[yes or no]]]) ;;
+- esac
+- ;;
+- esac
+ case $have_ecdsa in
+ yes)
+ OPENSSL_ECDSA="yes"
+@@ -1702,7 +1702,8 @@ int main() {
+ have_gost="yes"],
+ [AC_MSG_RESULT(no)
+ have_gost="no"],
+- [AC_MSG_RESULT(using --with-gost)])
++ [AC_MSG_RESULT(using --with-gost)
++ have_gost=$with_gost])
+ case "$with_gost" in
+ yes)
+ case "$have_gost" in
+@@ -1752,7 +1753,8 @@ int main() {
+ [AC_MSG_RESULT(yes)
+ have_aes="yes"],
+ [AC_MSG_RESULT(no)])],
+- [AC_MSG_RESULT(using --with-aes)])
++ [AC_MSG_RESULT(using --with-aes)
++ have_aes=$with_aes])
+
+ ISC_OPENSSL_INC=""
+ ISC_OPENSSL_LIBS=""
+@@ -1765,8 +1767,7 @@ int main() {
+ OPENSSLLINKOBJS='${OPENSSLLINKOBJS}'
+ OPENSSLLINKSRCS='${OPENSSLLINKSRCS}'
+
+- ;;
+-esac
++fi
+
+ #
+ # This would include the system openssl path (and linker options to use
diff --git a/net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch b/net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch
new file mode 100644
index 0000000..7aa1d16
--- /dev/null
+++ b/net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch
@@ -0,0 +1,63 @@
+--- lib/lwres/lwconfig.c.old 2007-06-20 01:47:22.000000000 +0200
++++ lib/lwres/lwconfig.c 2008-06-15 02:57:02.000000000 +0200
+@@ -175,13 +175,8 @@
+ REQUIRE(buffer != NULL);
+ REQUIRE(size > 0U);
+
+- *p = '\0';
+-
+ ch = eatwhite(fp);
+
+- if (ch == EOF)
+- return (EOF);
+-
+ do {
+ *p = '\0';
+
+@@ -592,23 +587,37 @@
+ if (strlen(word) == 0U)
+ rval = LWRES_R_SUCCESS;
+ else if (strcmp(word, "nameserver") == 0)
+- rval = lwres_conf_parsenameserver(ctx, fp);
++ rval = (stopchar != '\n')? /* fail instantly if EOL is reached */
++ lwres_conf_parsenameserver(ctx, fp)
++ : LWRES_R_FAILURE;
+ else if (strcmp(word, "lwserver") == 0)
+- rval = lwres_conf_parselwserver(ctx, fp);
++ rval = (stopchar != '\n')?
++ lwres_conf_parselwserver(ctx, fp)
++ : LWRES_R_FAILURE;
+ else if (strcmp(word, "domain") == 0)
+- rval = lwres_conf_parsedomain(ctx, fp);
++ rval = (stopchar != '\n')?
++ lwres_conf_parsedomain(ctx, fp)
++ : LWRES_R_FAILURE;
+ else if (strcmp(word, "search") == 0)
+- rval = lwres_conf_parsesearch(ctx, fp);
++ rval = (stopchar != '\n')?
++ lwres_conf_parsesearch(ctx, fp)
++ : LWRES_R_FAILURE;
+ else if (strcmp(word, "sortlist") == 0)
+- rval = lwres_conf_parsesortlist(ctx, fp);
++ rval = (stopchar != '\n')?
++ lwres_conf_parsesortlist(ctx, fp)
++ : LWRES_R_FAILURE;
+ else if (strcmp(word, "options") == 0)
+- rval = lwres_conf_parseoption(ctx, fp);
++ rval = (stopchar != '\n')?
++ lwres_conf_parseoption(ctx, fp)
++ : LWRES_R_FAILURE;
+ else {
+ /* unrecognised word. Ignore entire line */
+ rval = LWRES_R_SUCCESS;
+- stopchar = eatline(fp);
+- if (stopchar == EOF) {
+- break;
++ if (stopchar != '\n') { /* do not eat the next line */
++ stopchar = eatline(fp);
++ if (stopchar == EOF) {
++ break;
++ }
+ }
+ }
+ if (ret == LWRES_R_SUCCESS && rval != LWRES_R_SUCCESS)
diff --git a/net-dns/bind-tools/metadata.xml b/net-dns/bind-tools/metadata.xml
new file mode 100644
index 0000000..fb31564
--- /dev/null
+++ b/net-dns/bind-tools/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>idl0r@gentoo.org</email>
+ <name>Christian Ruppert</name>
+ </maintainer>
+ <use>
+ <flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
+ <flag name="gssapi">Enable gssapi support</flag>
+ <flag name="gost">Enables gost OpenSSL engine support</flag>
+ </use>
+ <longdescription>ISC's Bind DNS' server tools</longdescription>
+</pkgmetadata>