From b49088575eb777ced2551f484da86317332d6087 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 24 Jul 2021 02:11:45 +0100 Subject: gentoo resync : 24.07.2021 --- net-dns/Manifest.gz | Bin 8517 -> 8526 bytes net-dns/bind-tools/Manifest | 4 +- net-dns/bind-tools/bind-tools-9.16.15.ebuild | 2 +- net-dns/bind-tools/bind-tools-9.16.18.ebuild | 148 +++++++++++ net-dns/bind/Manifest | 6 +- net-dns/bind/bind-9.16.15-r1.ebuild | 373 -------------------------- net-dns/bind/bind-9.16.15-r2.ebuild | 376 +++++++++++++++++++++++++++ net-dns/bind/bind-9.16.18.ebuild | 373 ++++++++++++++++++++++++++ net-dns/bind/files/named.init-r13 | 252 ------------------ net-dns/bind/files/named.init-r14 | 252 ++++++++++++++++++ net-dns/djbdns/Manifest | 3 +- net-dns/djbdns/djbdns-1.05-r33.ebuild | 132 ---------- net-dns/djbdns/djbdns-1.05-r35.ebuild | 2 +- net-dns/hash-slinger/Manifest | 2 +- net-dns/hash-slinger/hash-slinger-3.1.ebuild | 10 +- net-dns/libidn/Manifest | 3 + net-dns/libidn/libidn-1.38-r1.ebuild | 111 ++++++++ net-dns/libidn2/Manifest | 3 + net-dns/libidn2/libidn2-2.3.2.ebuild | 58 +++++ net-dns/nsd/Manifest | 8 +- net-dns/nsd/nsd-4.3.4.ebuild | 117 --------- net-dns/nsd/nsd-4.3.5.ebuild | 117 --------- net-dns/nsd/nsd-4.3.6.ebuild | 2 +- net-dns/nsd/nsd-4.3.7.ebuild | 117 +++++++++ net-dns/openresolv/Manifest | 2 +- net-dns/openresolv/openresolv-3.12.0.ebuild | 3 +- 26 files changed, 1464 insertions(+), 1012 deletions(-) create mode 100644 net-dns/bind-tools/bind-tools-9.16.18.ebuild delete mode 100644 net-dns/bind/bind-9.16.15-r1.ebuild create mode 100644 net-dns/bind/bind-9.16.15-r2.ebuild create mode 100644 net-dns/bind/bind-9.16.18.ebuild delete mode 100644 net-dns/bind/files/named.init-r13 create mode 100644 net-dns/bind/files/named.init-r14 delete mode 100644 net-dns/djbdns/djbdns-1.05-r33.ebuild create mode 100644 net-dns/libidn/libidn-1.38-r1.ebuild create mode 100644 net-dns/libidn2/libidn2-2.3.2.ebuild delete mode 100644 net-dns/nsd/nsd-4.3.4.ebuild delete mode 100644 net-dns/nsd/nsd-4.3.5.ebuild create mode 100644 net-dns/nsd/nsd-4.3.7.ebuild (limited to 'net-dns') diff --git a/net-dns/Manifest.gz b/net-dns/Manifest.gz index 605c464f5cf2..36353ef1d8c8 100644 Binary files a/net-dns/Manifest.gz and b/net-dns/Manifest.gz differ diff --git a/net-dns/bind-tools/Manifest b/net-dns/bind-tools/Manifest index 67b91333ecde..69c09d8f68d6 100644 --- a/net-dns/bind-tools/Manifest +++ b/net-dns/bind-tools/Manifest @@ -1,3 +1,5 @@ DIST bind-9.16.15.tar.xz 5025688 BLAKE2B 8b0723d46f812793f5a52b1ddacf21fe28e183ef8cd166eadf0af163280021fce7c0a6a560d28dacbc6dd4642e41eb5424b4de2c5ff1049a5cfa5d52e3df5beb SHA512 30dad6e2144b3ac53ef0a2d1ed3c8342120f148fc0eb6409113a6d5ed3444eecb917915fdf39c26fd223396fc1e873410a50da305f0b870864f7fbbdccec8033 -EBUILD bind-tools-9.16.15.ebuild 3397 BLAKE2B beb66258b1045a35f74a7dfd4f52bb453ad5698a3fc2c61ae0d4e9276adca1ee7112d8e680f251c47861119cce6b48ef57b2f513c87d1d0b37c7e81e3e745774 SHA512 d4dfc28973e12410e1e41f8922239adc6e7efe7638b3486d2b48fb2aaee23e389efd22d2a2757e2f597df3d89419e521c765b0e641687e5eea9d1a7a73231db3 +DIST bind-9.16.18.tar.xz 5023512 BLAKE2B 7766c1e6ab30ae42f0ba49d96fe0e2675e79aa01c48569d3cf5c122944319fbb88299a193ce06cc0aa67f6085fd80e29472fc7adc845e4bbb7ff6896dae87ed6 SHA512 6ba2f14324ebdc66d2a6d60e929fb47e170dd7662cf4b18ef3ad9da30a61b43c7d5539e931c483ab36e63ae0398aeed255fd672489fb332dccf182df9aa102f9 +EBUILD bind-tools-9.16.15.ebuild 3404 BLAKE2B 366a20661af50d30017201916c796e8ffda13d6621909e2df2e28e5834623699c5e27d7b3e12f603b2b9eeb5ac5b38e06f67b5c1750a57dfb3b2f645795b3097 SHA512 53cdf632ed2c18e4f39692d35c5d51fff1d1c944d576365f287a5f0176c24df090430342f601efbf59301faa6a7f512f69e112fef481d3cf70ac6addff5f3631 +EBUILD bind-tools-9.16.18.ebuild 3404 BLAKE2B 51b4dfcf08d3419270d844e606409f1c9a28346e5ce9ef870f02a7277e74de51e24692a8362e8f35fa09897a9c0571af14d2a26c6afff1d7cff9b530981eee81 SHA512 637dbeff0759f3247738d97a8ffb43dc715197a2a5bd33f10154fda1d5d66eb34961cd53335c41b452284564d2b8a1952c8cff740cee81203285c3e0d70ebf3f MISC metadata.xml 423 BLAKE2B 210c34f4faa1fa53d06d31b1bb401711c82102eeb319739ac85dd80d118a2cf6af7b3145e31a942b41afa56633265e5e950183e9421d9885a8278d55374ad889 SHA512 74d175fa11c79732223d09f91a8ead2d32140a508e05a45a897c85704a4c016701b4147f1c590eb3982eb01bcb14f33f51582b51564504505080e18953983b85 diff --git a/net-dns/bind-tools/bind-tools-9.16.15.ebuild b/net-dns/bind-tools/bind-tools-9.16.15.ebuild index 18d30a0f166f..892235add429 100644 --- a/net-dns/bind-tools/bind-tools-9.16.15.ebuild +++ b/net-dns/bind-tools/bind-tools-9.16.15.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz" LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+caps doc gssapi idn ipv6 libedit readline xml" # no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687 diff --git a/net-dns/bind-tools/bind-tools-9.16.18.ebuild b/net-dns/bind-tools/bind-tools-9.16.18.ebuild new file mode 100644 index 000000000000..9a10170e22ca --- /dev/null +++ b/net-dns/bind-tools/bind-tools-9.16.18.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit 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="https://www.isc.org/software/bind" +SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+caps doc gssapi idn ipv6 libedit readline xml" +# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687 + +COMMON_DEPEND=" + dev-libs/libuv:= + caps? ( sys-libs/libcap ) + dev-libs/openssl:= + xml? ( dev-libs/libxml2 ) + idn? ( net-dns/libidn2:= ) + gssapi? ( virtual/krb5 ) + libedit? ( dev-libs/libedit ) + !libedit? ( + readline? ( sys-libs/readline:= ) + ) +" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +# sphinx required for man-page and html creation +BDEPEND=" + doc? ( dev-python/sphinx ) + virtual/pkgconfig +" + +S="${WORKDIR}/${MY_P}" + +# bug 479092, requires networking +RESTRICT="test" + +src_prepare() { + default + + export LDFLAGS="${LDFLAGS} -L${EPREFIX}/usr/$(get_libdir)" + + # Disable tests for now, bug 406399 + sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die + + # bug #220361 + rm aclocal.m4 || die + rm -rf libtool.m4/ || die + + eautoreconf +} + +src_configure() { + local myeconfargs=( + --localstatedir="${EPREFIX}"/var + --without-python + --without-libjson + --without-zlib + --without-lmdb + --without-maxminddb + --disable-geoip + --with-openssl="${EPREFIX}"/usr + $(use_with idn libidn2) + $(use_with xml libxml2) + $(use_with gssapi) + $(use_with readline) + $(use_enable caps linux-caps) + AR="$(type -P $(tc-getAR))" + ) + + # bug 607400 + if use libedit ; then + myeconfargs+=( --with-readline=-ledit ) + elif use readline ; then + myeconfargs+=( --with-readline=-lreadline ) + else + myeconfargs+=( --without-readline ) + fi + + # bug 344029 + append-cflags "-DDIG_SIGCHASE" + + # to expose CMSG_* macros from sys/sockets.h + [[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600" + + # localstatedir for nsupdate -l, bug 395785 + tc-export BUILD_CC + econf "${myeconfargs[@]}" + + # 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/ + emake -C doc/man/ man $(usev doc) +} + +src_install() { + local man_dir="${S}/doc/man" + local html_dir="${man_dir}/_build/html" + + dodoc README CHANGES + + cd "${S}"/bin/delv || die + dobin delv + doman ${man_dir}/delv.1 + + cd "${S}"/bin/dig || die + dobin dig host nslookup + doman ${man_dir}/{dig,host,nslookup}.1 + + cd "${S}"/bin/nsupdate || die + dobin nsupdate + doman ${man_dir}/nsupdate.1 + if use doc; then + docinto html + dodoc ${html_dir}/nsupdate.html + fi + + cd "${S}"/bin/dnssec || die + for tool in dsfromkey importkey keyfromlabel keygen \ + revoke settime signzone verify; do + dobin dnssec-"${tool}" + doman ${man_dir}/dnssec-"${tool}".8 + if use doc; then + docinto html + dodoc ${html_dir}/dnssec-"${tool}".html + fi + done +} diff --git a/net-dns/bind/Manifest b/net-dns/bind/Manifest index 4ee7b1403d47..3e7fcc0a864a 100644 --- a/net-dns/bind/Manifest +++ b/net-dns/bind/Manifest @@ -6,9 +6,11 @@ AUX named.cache-r3 3316 BLAKE2B 09a17fbb29f2122a61c7e17a8dfc8eef3b0fdaa94e8dbe17 AUX named.conf 32 BLAKE2B 15548145717b526be3d7898a0c2144a13e29b0595a3c27d220cc45646156cc8ddae954cb3b3907ca845765fc8ce30508d8e570c0a492b965027531a0f6df43ac SHA512 c344fd4949eb80114d0c157517ece3f4b9505b94e3de00489d4b2b23beb74612f38cf3443f2f3b98fe01d98ad1842f45ff1d1826d67937e72e4629bbdf683a59 AUX named.conf-r8 4020 BLAKE2B beb900a89be0f2acc1b08a8d29443c87b098e5ac1f1de9c63b22f6f50df2644d583d4fc504f55710f6549142bf6bfaa7c9fb3097202276135b9bbdb69af32f90 SHA512 60ab117e488604810a6e42a627eae465f6241208e726e763127f84102d05a661cceeddd00bc9d8d92c3da7d73d034ef876ace6744a0516b2bcadbaff1d9c82ad AUX named.confd-r7 1364 BLAKE2B cfb72f221bc6657c5a8ef8b9cd804afeaf5f642d2046880f5bae6c2313485808b99a1a46fc10431913d187ed67cc1e6bad019a9192638bc7fdf97c951e2326ce SHA512 68fa7c8963ac59349de3d05972c07aa0123b7bebbe0ba9604463ccfd1b377c2babe01eed4745cbe0f7d3831d1b47c2fa620f8092c67465fb771cae4932b0861a -AUX named.init-r13 6202 BLAKE2B 1968806c9580517b8443a08b90f7b425913b2dc17d9503834c0d7d7d56f1a987175cb413bc7fec10249002b84b6580d87cb61d2b6a1965cd34d05807abe0390c SHA512 c675adec65796989dc8524d533868975d4e2c3b2ed5f09aa3cd92ec21b8dfb161582dd5afdf08ab78174873f3e1458e90c2d50958f0b5a303078540a675ec0c9 +AUX named.init-r14 6167 BLAKE2B 7c3deb3492a50d2655814f9fb492706b671e08ccdc406be0fe9ef5e55de19f2e1ee3abe2c0f9fbff0a958ce751361c5faa690970d31a935aa2854a765a224c03 SHA512 65c65f261b950559487a6ac1d589cc51e6a4800aa9801c84aeb18083b7f587ff0ca6ce9e2994b1c58586d96a9181c05ca47ffef93fa210ffc53f4e9af21f4d1b AUX named.service-r1 327 BLAKE2B b0471100b425a1d4db29c1ef577dd6f14b2c3d040fd826bed03105f514bf1ea2c58c19d59557d0eafe27a96588adaf60156f31b6befdd9be96a8ca1fe8613678 SHA512 1d3dbf9d1de0c23c398a523b05c0fb266b6b699e54d232818b28205f697ca227acae9f2778d6f41309b117a6cd78eee170b745594b786b1c1571d5f66d6c3de4 DIST bind-9.16.15.tar.xz 5025688 BLAKE2B 8b0723d46f812793f5a52b1ddacf21fe28e183ef8cd166eadf0af163280021fce7c0a6a560d28dacbc6dd4642e41eb5424b4de2c5ff1049a5cfa5d52e3df5beb SHA512 30dad6e2144b3ac53ef0a2d1ed3c8342120f148fc0eb6409113a6d5ed3444eecb917915fdf39c26fd223396fc1e873410a50da305f0b870864f7fbbdccec8033 +DIST bind-9.16.18.tar.xz 5023512 BLAKE2B 7766c1e6ab30ae42f0ba49d96fe0e2675e79aa01c48569d3cf5c122944319fbb88299a193ce06cc0aa67f6085fd80e29472fc7adc845e4bbb7ff6896dae87ed6 SHA512 6ba2f14324ebdc66d2a6d60e929fb47e170dd7662cf4b18ef3ad9da30a61b43c7d5539e931c483ab36e63ae0398aeed255fd672489fb332dccf182df9aa102f9 DIST dyndns-samples.tbz2 22866 BLAKE2B 409890653c6536cb9c0e3ba809d2bfde0e0ae73a2a101b4f229b46c01568466bc022bbbc37712171adbd08c572733e93630feab95a0fcd1ac50a7d37da1d1108 SHA512 83b0bf99f8e9ff709e8e9336d8c5231b98a4b5f0c60c10792f34931e32cc638d261967dfa5a83151ec3740977d94ddd6e21e9ce91267b3e279b88affdbc18cac -EBUILD bind-9.16.15-r1.ebuild 10946 BLAKE2B 2cc8b3b882ed36933e8bb13f59e88954b18bf20c5205bafbe48ac51f936edd6a627783c3647e4d4f8107d281914a004d2807bff00a580a42f07e5440b7c4825e SHA512 5ddd345e4c8ad379256664a546870f01534a1d6a0f1d5b0db1dcc8a2da0f6646aa6e1e9939e79467949f07d0bef4b2794733c5d10688f78c588521c462fb0791 +EBUILD bind-9.16.15-r2.ebuild 11030 BLAKE2B a9d6493aab1cea25ca0439e699b5d378dc54591aec121050b8a833584cdd949bed3a22df624e5be86ed2d8f934786a4c4f654c6461b1e2397b72bcaecd5eda64 SHA512 bbb0e6d934d31ccd2a3518b4a50e28136cbf2f1c3d6c3d4e4244710bcf94099aafabceb6bb3dabd2754c1eae6a591c94cbe410ecff6d83f05d059cb8ee896bba +EBUILD bind-9.16.18.ebuild 10981 BLAKE2B 5bb750d517b143317420cf19068d4f42ac35bcfd9032ff930091364994e605a6c7ed3b9328dcdaf1e0218db7da586b12761bac3c1a2bb1b4666f54df359ab199 SHA512 990bcbbabdd98ca05c32b04dfabd6ed7df485eb6d7e33faef5ed20e8a0dbcdffcddf22b301e0acfa70eac3cbec8f77f985404ca3794397bc34175f6e991b6532 MISC metadata.xml 973 BLAKE2B 9e2cd4d34c8cd9f6bc860c667d2440e7916dfa7ca343e578d7c089b3f45db3b1fbdd79d14ccf1af7fc25115316c42304dc635f1aec78d47eee1fec5c1a09aa43 SHA512 87ee75e39604d9839f849763f2b1675e6d13835dc482bcecd729e6c8416ef90d76edd8e5c5ec87b9e4eb0aa416fb7dc74143bc29cbce02ac3a83eaaa5a88f012 diff --git a/net-dns/bind/bind-9.16.15-r1.ebuild b/net-dns/bind/bind-9.16.15-r1.ebuild deleted file mode 100644 index 35e114e47df0..000000000000 --- a/net-dns/bind/bind-9.16.15-r1.ebuild +++ /dev/null @@ -1,373 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Re dlz/mysql and threads, needs to be verified.. -# MySQL uses thread local storage in its C api. Thus MySQL -# requires that each thread of an application execute a MySQL -# thread initialization to setup the thread local storage. -# This is impossible to do safely while staying within the DLZ -# driver API. This is a limitation caused by MySQL, and not the DLZ API. -# Because of this BIND MUST only run with a single thread when -# using the MySQL driver. - -EAPI=7 - -PYTHON_COMPAT=( python3_{7..9} ) - -inherit python-r1 autotools toolchain-funcs flag-o-matic db-use systemd tmpfiles - -MY_PV="${PV/_p/-P}" -MY_PV="${MY_PV/_rc/rc}" -MY_P="${PN}-${MY_PV}" - -SDB_LDAP_VER="1.1.0-fc14" - -RRL_PV="${MY_PV}" - -# SDB-LDAP: http://bind9-ldap.bayour.com/ - -DESCRIPTION="Berkeley Internet Name Domain - Name Server" -HOMEPAGE="https://www.isc.org/software/bind" -SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz - doc? ( mirror://gentoo/dyndns-samples.tbz2 )" - -LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux" -# -berkdb by default re bug 602682 -IUSE="berkdb +caps +dlz dnstap doc dnsrps fixed-rrset geoip geoip2 gssapi -json ldap lmdb mysql odbc postgres python selinux static-libs xml +zlib" -# sdb-ldap - patch broken -# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687 - -# Upstream dropped the old geoip library, but the BIND configuration for using -# GeoIP remained the same. -REQUIRED_USE=" - postgres? ( dlz ) - berkdb? ( dlz ) - mysql? ( dlz ) - odbc? ( dlz ) - ldap? ( dlz ) - dnsrps? ( dlz ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -DEPEND=" - acct-group/named - acct-user/named - berkdb? ( sys-libs/db:= ) - dev-libs/openssl:=[-bindist(-)] - mysql? ( dev-db/mysql-connector-c:0= ) - odbc? ( >=dev-db/unixODBC-2.2.6 ) - ldap? ( net-nds/openldap ) - postgres? ( dev-db/postgresql:= ) - caps? ( >=sys-libs/libcap-2.1.0 ) - xml? ( dev-libs/libxml2 ) - geoip? ( dev-libs/libmaxminddb ) - geoip2? ( dev-libs/libmaxminddb ) - gssapi? ( virtual/krb5 ) - json? ( dev-libs/json-c:= ) - lmdb? ( dev-db/lmdb ) - zlib? ( sys-libs/zlib ) - dnstap? ( dev-libs/fstrm dev-libs/protobuf-c ) - python? ( - ${PYTHON_DEPS} - dev-python/ply[${PYTHON_USEDEP}] - ) - dev-libs/libuv:= -" - -RDEPEND="${DEPEND} - selinux? ( sec-policy/selinux-bind ) - sys-process/psmisc" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/ldap-library-path-on-multilib-machines.patch" -) - -# bug 479092, requires networking -# bug 710840, cmocka fails LDFLAGS='-Wl,-O1' -#RESTRICT="test" - -src_prepare() { - default - - # should be installed by bind-tools - sed -i -r -e "s:(nsupdate|dig|delv) ::g" bin/Makefile.in || die - - # Disable tests for now, bug 406399 - sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die - - # bug #220361 - rm aclocal.m4 || die - rm -rf libtool.m4/ || die - eautoreconf - - use python && python_copy_sources -} - -src_configure() { - bind_configure --without-python - use python && python_foreach_impl python_configure -} - -bind_configure() { - local myeconfargs=( - AR="$(type -P $(tc-getAR))" - --prefix="${EPREFIX}"/usr - --sysconfdir=/etc/bind - --localstatedir=/var - --with-libtool - --enable-full-report - --without-readline - --with-openssl="${EPREFIX}"/usr - --without-cmocka - $(use_enable caps linux-caps) - $(use_enable dnsrps) - $(use_enable dnstap) - $(use_enable fixed-rrset) - # $(use_enable static-libs static) - $(use_with berkdb dlz-bdb) - $(use_with dlz dlopen) - $(use_with dlz dlz-filesystem) - $(use_with dlz dlz-stub) - $(use_with gssapi) - $(use_with json json-c) - $(use_with ldap dlz-ldap) - $(use_with mysql dlz-mysql) - $(use_with odbc dlz-odbc) - $(use_with postgres dlz-postgres) - $(use_with lmdb) - $(use_with xml libxml2) - $(use_with zlib) - "${@}" - ) - # This is for users to start to migrate back to USE=geoip, rather than - # USE=geoip2 - if use geoip ; then - myeconfargs+=( $(use_with geoip maxminddb) --enable-geoip ) - elif use geoip2 ; then - # Added 2020/09/30 - # Remove USE=geoip2 support after 2020/03/01 - ewarn "USE=geoip2 is deprecated; update your USE flags!" - myeconfargs+=( $(use_with geoip2 maxminddb) --enable-geoip ) - else - myeconfargs+=( --without-maxminddb --disable-geoip ) - fi - - # bug #158664 -# gcc-specs-ssp && replace-flags -O[23s] -O - - # To include db.h from proper path - use berkdb && append-flags "-I$(db_includedir)" - - export BUILD_CC=$(tc-getBUILD_CC) - econf "${myeconfargs[@]}" - - # bug #151839 - echo '#undef SO_BSDCOMPAT' >> config.h -} - -python_configure() { - pushd "${BUILD_DIR}" >/dev/null || die - bind_configure --with-python - popd >/dev/null || die -} - -src_compile() { - default - use python && python_foreach_impl python_compile -} - -python_compile() { - pushd "${BUILD_DIR}"/bin/python >/dev/null || die - emake - popd >/dev/null || die -} - -src_install() { - default - - # don't create /var/run - rmdir "${ED}"/var/run || die - - dodoc CHANGES README - - if use doc; then - docinto misc - dodoc -r doc/misc/ - - # might a 'html' useflag make sense? - docinto html - dodoc -r doc/arm/ - - docinto contrib - dodoc contrib/scripts/{nanny.pl,named-bootconf.sh} - - # some handy-dandy dynamic dns examples - pushd "${ED}"/usr/share/doc/${PF} 1>/dev/null || die - tar xf "${DISTDIR}"/dyndns-samples.tbz2 || die - popd 1>/dev/null || die - fi - - insinto /etc/bind - newins "${FILESDIR}"/named.conf-r8 named.conf - - # ftp://ftp.rs.internic.net/domain/named.cache: - insinto /var/bind - newins "${FILESDIR}"/named.cache-r3 named.cache - - insinto /var/bind/pri - newins "${FILESDIR}"/localhost.zone-r3 localhost.zone - - newinitd "${FILESDIR}"/named.init-r13 named - newconfd "${FILESDIR}"/named.confd-r7 named - - newenvd "${FILESDIR}"/10bind.env 10bind - - # Let's get rid of those tools and their manpages since they're provided by bind-tools - rm -f "${ED}"/usr/share/man/man1/{dig,host,nslookup,delv,nsupdate}.1* || die - rm -f "${ED}"/usr/share/man/man8/nsupdate.8* || die - rm -f "${ED}"/usr/bin/{dig,host,nslookup,nsupdate} || die - rm -f "${ED}"/usr/sbin/{dig,host,nslookup,nsupdate} || die - for tool in dsfromkey importkey keyfromlabel keygen \ - revoke settime signzone verify; do - rm -f "${ED}"/usr/{,s}bin/dnssec-"${tool}" || die - rm -f "${ED}"/usr/share/man/man8/dnssec-"${tool}".8* || die - done - - # bug 405251, library archives aren't properly handled by --enable/disable-static - if ! use static-libs; then - find "${ED}" -type f -name '*.a' -delete || die - fi - - # bug 405251 - find "${ED}" -type f -name '*.la' -delete || die - - use python && python_foreach_impl python_install - - # bug 450406 - dosym named.cache /var/bind/root.cache - - dosym ../../var/bind/pri /etc/bind/pri - dosym ../../var/bind/sec /etc/bind/sec - dosym ../../var/bind/dyn /etc/bind/dyn - keepdir /var/bind/{pri,sec,dyn} /var/log/named - - fowners root:named /{etc,var}/bind /var/log/named /var/bind/{sec,pri,dyn} - fowners root:named /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf} - fperms 0640 /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf} - fperms 0750 /etc/bind /var/bind/pri - fperms 0770 /var/log/named /var/bind/{,sec,dyn} - - systemd_newunit "${FILESDIR}/named.service-r1" named.service - dotmpfiles "${FILESDIR}"/named.conf - exeinto /usr/libexec - doexe "${FILESDIR}/generate-rndc-key.sh" -} - -python_install() { - pushd "${BUILD_DIR}"/bin/python >/dev/null || die - emake DESTDIR="${D}" install - python_scriptinto /usr/sbin - python_doscript dnssec-{checkds,coverage} - python_optimize - popd >/dev/null || die -} - -pkg_postinst() { - tmpfiles_process "${FILESDIR}"/named.conf - - if [[ ! -f '/etc/bind/rndc.key' && ! -f '/etc/bind/rndc.conf' ]]; then - einfo "Using /dev/urandom for generating rndc.key" - /usr/sbin/rndc-confgen -a - chown root:named /etc/bind/rndc.key || die - chmod 0640 /etc/bind/rndc.key || die - fi - - einfo - einfo "You can edit /etc/conf.d/named to customize named settings" - einfo - use mysql || use postgres || use ldap && { - elog "If your named depends on MySQL/PostgreSQL or LDAP," - elog "uncomment the specified rc_named_* lines in your" - elog "/etc/conf.d/named config to ensure they'll start before bind" - einfo - } - einfo "If you'd like to run bind in a chroot AND this is a new" - einfo "install OR your bind doesn't already run in a chroot:" - einfo "1) Uncomment and set the CHROOT variable in /etc/conf.d/named." - einfo "2) Run \`emerge --config '=${CATEGORY}/${PF}'\`" - einfo - - CHROOT=$(source /etc/conf.d/named 2>/dev/null; echo ${CHROOT}) - if [[ -n ${CHROOT} ]]; then - elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" - elog "To enable the old behaviour (without using mount) uncomment the" - elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config." - elog "If you decide to use the new/default method, ensure to make backup" - elog "first and merge your existing configs/zones to /etc/bind and" - elog "/var/bind because bind will now mount the needed directories into" - elog "the chroot dir." - fi -} - -pkg_config() { - CHROOT=$(source /etc/conf.d/named; echo ${CHROOT}) - CHROOT_NOMOUNT=$(source /etc/conf.d/named; echo ${CHROOT_NOMOUNT}) - CHROOT_GEOIP=$(source /etc/conf.d/named; echo ${CHROOT_GEOIP}) - - if [[ -z "${CHROOT}" ]]; then - eerror "This config script is designed to automate setting up" - eerror "a chrooted bind/named. To do so, please first uncomment" - eerror "and set the CHROOT variable in '/etc/conf.d/named'." - die "Unset CHROOT" - fi - if [[ -d "${CHROOT}" ]]; then - ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" - ewarn "To enable the old behaviour (without using mount) uncomment the" - ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config." - ewarn - ewarn "${CHROOT} already exists... some things might become overridden" - ewarn "press CTRL+C if you don't want to continue" - sleep 10 - fi - - echo; einfo "Setting up the chroot directory..." - - mkdir -m 0750 -p ${CHROOT} || die - mkdir -m 0755 -p ${CHROOT}/{dev,etc,var/log,run} || die - mkdir -m 0750 -p ${CHROOT}/etc/bind || die - mkdir -m 0770 -p ${CHROOT}/var/{bind,log/named} ${CHROOT}/run/named/ || die - - chown root:named \ - ${CHROOT} \ - ${CHROOT}/var/{bind,log/named} \ - ${CHROOT}/run/named/ \ - ${CHROOT}/etc/bind \ - || die - - mknod ${CHROOT}/dev/null c 1 3 || die - chmod 0666 ${CHROOT}/dev/null || die - - mknod ${CHROOT}/dev/zero c 1 5 || die - chmod 0666 ${CHROOT}/dev/zero || die - - if [ "${CHROOT_NOMOUNT:-0}" -ne 0 ]; then - cp -a /etc/bind ${CHROOT}/etc/ || die - cp -a /var/bind ${CHROOT}/var/ || die - fi - - if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then - if use geoip; then - mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP || die - elif use geoip2; then - mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP2 || die - fi - fi - - elog "You may need to add the following line to your syslog-ng.conf:" - elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };" -} diff --git a/net-dns/bind/bind-9.16.15-r2.ebuild b/net-dns/bind/bind-9.16.15-r2.ebuild new file mode 100644 index 000000000000..9beac1bb8860 --- /dev/null +++ b/net-dns/bind/bind-9.16.15-r2.ebuild @@ -0,0 +1,376 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Re dlz/mysql and threads, needs to be verified.. +# MySQL uses thread local storage in its C api. Thus MySQL +# requires that each thread of an application execute a MySQL +# thread initialization to setup the thread local storage. +# This is impossible to do safely while staying within the DLZ +# driver API. This is a limitation caused by MySQL, and not the DLZ API. +# Because of this BIND MUST only run with a single thread when +# using the MySQL driver. + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +inherit python-r1 autotools toolchain-funcs flag-o-matic db-use systemd tmpfiles + +MY_PV="${PV/_p/-P}" +MY_PV="${MY_PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" + +SDB_LDAP_VER="1.1.0-fc14" + +RRL_PV="${MY_PV}" + +# SDB-LDAP: http://bind9-ldap.bayour.com/ + +DESCRIPTION="Berkeley Internet Name Domain - Name Server" +HOMEPAGE="https://www.isc.org/software/bind" +SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz + doc? ( mirror://gentoo/dyndns-samples.tbz2 )" + +LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux" +# -berkdb by default re bug 602682 +IUSE="berkdb +caps +dlz dnstap doc dnsrps fixed-rrset geoip geoip2 gssapi +json ldap lmdb mysql odbc postgres python selinux static-libs xml +zlib" +# sdb-ldap - patch broken +# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687 + +# Upstream dropped the old geoip library, but the BIND configuration for using +# GeoIP remained the same. +REQUIRED_USE=" + postgres? ( dlz ) + berkdb? ( dlz ) + mysql? ( dlz ) + odbc? ( dlz ) + ldap? ( dlz ) + dnsrps? ( dlz ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +DEPEND=" + acct-group/named + acct-user/named + berkdb? ( sys-libs/db:= ) + dev-libs/openssl:=[-bindist(-)] + mysql? ( dev-db/mysql-connector-c:0= ) + odbc? ( >=dev-db/unixODBC-2.2.6 ) + ldap? ( net-nds/openldap ) + postgres? ( dev-db/postgresql:= ) + caps? ( >=sys-libs/libcap-2.1.0 ) + xml? ( dev-libs/libxml2 ) + geoip? ( dev-libs/libmaxminddb ) + geoip2? ( dev-libs/libmaxminddb ) + gssapi? ( virtual/krb5 ) + json? ( dev-libs/json-c:= ) + lmdb? ( dev-db/lmdb ) + zlib? ( sys-libs/zlib ) + dnstap? ( dev-libs/fstrm dev-libs/protobuf-c ) + python? ( + ${PYTHON_DEPS} + dev-python/ply[${PYTHON_USEDEP}] + ) + dev-libs/libuv:= +" + +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-bind ) + sys-process/psmisc" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/ldap-library-path-on-multilib-machines.patch" +) + +# bug 479092, requires networking +# bug 710840, cmocka fails LDFLAGS='-Wl,-O1' +#RESTRICT="test" + +src_prepare() { + default + + # should be installed by bind-tools + sed -i -r -e "s:(nsupdate|dig|delv) ::g" bin/Makefile.in || die + + # Disable tests for now, bug 406399 + sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die + + # bug #220361 + rm aclocal.m4 || die + rm -rf libtool.m4/ || die + eautoreconf + + use python && python_copy_sources +} + +src_configure() { + bind_configure --without-python + use python && python_foreach_impl python_configure +} + +bind_configure() { + local myeconfargs=( + AR="$(type -P $(tc-getAR))" + --prefix="${EPREFIX}"/usr + --sysconfdir=/etc/bind + --localstatedir=/var + --with-libtool + --enable-full-report + --without-readline + --with-openssl="${EPREFIX}"/usr + --without-cmocka + $(use_enable caps linux-caps) + $(use_enable dnsrps) + $(use_enable dnstap) + $(use_enable fixed-rrset) + # $(use_enable static-libs static) + $(use_with berkdb dlz-bdb) + $(use_with dlz dlopen) + $(use_with dlz dlz-filesystem) + $(use_with dlz dlz-stub) + $(use_with gssapi) + $(use_with json json-c) + $(use_with ldap dlz-ldap) + $(use_with mysql dlz-mysql) + $(use_with odbc dlz-odbc) + $(use_with postgres dlz-postgres) + $(use_with lmdb) + $(use_with xml libxml2) + $(use_with zlib) + "${@}" + ) + # This is for users to start to migrate back to USE=geoip, rather than + # USE=geoip2 + if use geoip ; then + myeconfargs+=( $(use_with geoip maxminddb) --enable-geoip ) + elif use geoip2 ; then + # Added 2020/09/30 + # Remove USE=geoip2 support after 2020/03/01 + ewarn "USE=geoip2 is deprecated; update your USE flags!" + myeconfargs+=( $(use_with geoip2 maxminddb) --enable-geoip ) + else + myeconfargs+=( --without-maxminddb --disable-geoip ) + fi + + # bug #158664 +# gcc-specs-ssp && replace-flags -O[23s] -O + + # To include db.h from proper path + use berkdb && append-flags "-I$(db_includedir)" + + export BUILD_CC=$(tc-getBUILD_CC) + econf "${myeconfargs[@]}" + + # bug #151839 + echo '#undef SO_BSDCOMPAT' >> config.h +} + +python_configure() { + pushd "${BUILD_DIR}" >/dev/null || die + bind_configure --with-python + popd >/dev/null || die +} + +src_compile() { + default + use python && python_foreach_impl python_compile +} + +python_compile() { + pushd "${BUILD_DIR}"/bin/python >/dev/null || die + emake + popd >/dev/null || die +} + +src_install() { + default + + # don't create /var/run + rmdir "${ED}"/var/run || die + + dodoc CHANGES README + + if use doc; then + docinto misc + dodoc -r doc/misc/ + + # might a 'html' useflag make sense? + docinto html + dodoc -r doc/arm/ + + docinto contrib + dodoc contrib/scripts/{nanny.pl,named-bootconf.sh} + + # some handy-dandy dynamic dns examples + pushd "${ED}"/usr/share/doc/${PF} 1>/dev/null || die + tar xf "${DISTDIR}"/dyndns-samples.tbz2 || die + popd 1>/dev/null || die + fi + + insinto /etc/bind + newins "${FILESDIR}"/named.conf-r8 named.conf + + # ftp://ftp.rs.internic.net/domain/named.cache: + insinto /var/bind + newins "${FILESDIR}"/named.cache-r3 named.cache + + insinto /var/bind/pri + newins "${FILESDIR}"/localhost.zone-r3 localhost.zone + + newinitd "${FILESDIR}"/named.init-r14 named + newconfd "${FILESDIR}"/named.confd-r7 named + + newenvd "${FILESDIR}"/10bind.env 10bind + + # Let's get rid of those tools and their manpages since they're provided by bind-tools + rm -f "${ED}"/usr/share/man/man1/{dig,host,nslookup,delv,nsupdate}.1* || die + rm -f "${ED}"/usr/share/man/man8/nsupdate.8* || die + rm -f "${ED}"/usr/bin/{dig,host,nslookup,nsupdate} || die + rm -f "${ED}"/usr/sbin/{dig,host,nslookup,nsupdate} || die + for tool in dsfromkey importkey keyfromlabel keygen \ + revoke settime signzone verify; do + rm -f "${ED}"/usr/{,s}bin/dnssec-"${tool}" || die + rm -f "${ED}"/usr/share/man/man8/dnssec-"${tool}".8* || die + done + + # bug 405251, library archives aren't properly handled by --enable/disable-static + if ! use static-libs; then + find "${ED}" -type f -name '*.a' -delete || die + fi + + # bug 405251 + find "${ED}" -type f -name '*.la' -delete || die + + use python && python_foreach_impl python_install + + # bug 450406 + dosym named.cache /var/bind/root.cache + + dosym ../../var/bind/pri /etc/bind/pri + dosym ../../var/bind/sec /etc/bind/sec + dosym ../../var/bind/dyn /etc/bind/dyn + keepdir /var/bind/{pri,sec,dyn} /var/log/named + + fowners root:named /{etc,var}/bind /var/log/named /var/bind/{sec,pri,dyn} + fowners root:named /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf} + fperms 0640 /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf} + fperms 0750 /etc/bind /var/bind/pri + fperms 0770 /var/log/named /var/bind/{,sec,dyn} + + systemd_newunit "${FILESDIR}/named.service-r1" named.service + dotmpfiles "${FILESDIR}"/named.conf + exeinto /usr/libexec + doexe "${FILESDIR}/generate-rndc-key.sh" +} + +python_install() { + pushd "${BUILD_DIR}"/bin/python >/dev/null || die + emake DESTDIR="${D}" install + python_scriptinto /usr/sbin + python_doscript dnssec-{checkds,coverage} + python_optimize + popd >/dev/null || die +} + +pkg_postinst() { + tmpfiles_process "${FILESDIR}"/named.conf + + if [[ ! -f '/etc/bind/rndc.key' && ! -f '/etc/bind/rndc.conf' ]]; then + einfo "Using /dev/urandom for generating rndc.key" + /usr/sbin/rndc-confgen -a + chown root:named /etc/bind/rndc.key || die + chmod 0640 /etc/bind/rndc.key || die + fi + + einfo + einfo "You can edit /etc/conf.d/named to customize named settings" + einfo + use mysql || use postgres || use ldap && { + elog "If your named depends on MySQL/PostgreSQL or LDAP," + elog "uncomment the specified rc_named_* lines in your" + elog "/etc/conf.d/named config to ensure they'll start before bind" + einfo + } + einfo "If you'd like to run bind in a chroot AND this is a new" + einfo "install OR your bind doesn't already run in a chroot:" + einfo "1) Uncomment and set the CHROOT variable in /etc/conf.d/named." + einfo "2) Run \`emerge --config '=${CATEGORY}/${PF}'\`" + einfo + + CHROOT=$(source /etc/conf.d/named 2>/dev/null; echo ${CHROOT}) + if [[ -n ${CHROOT} ]]; then + elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + elog "To enable the old behaviour (without using mount) uncomment the" + elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + elog "If you decide to use the new/default method, ensure to make backup" + elog "first and merge your existing configs/zones to /etc/bind and" + elog "/var/bind because bind will now mount the needed directories into" + elog "the chroot dir." + fi +} + +pkg_config() { + CHROOT=$(source /etc/conf.d/named; echo ${CHROOT}) + CHROOT_NOMOUNT=$(source /etc/conf.d/named; echo ${CHROOT_NOMOUNT}) + CHROOT_GEOIP=$(source /etc/conf.d/named; echo ${CHROOT_GEOIP}) + + if [[ -z "${CHROOT}" ]]; then + eerror "This config script is designed to automate setting up" + eerror "a chrooted bind/named. To do so, please first uncomment" + eerror "and set the CHROOT variable in '/etc/conf.d/named'." + die "Unset CHROOT" + fi + if [[ -d "${CHROOT}" ]]; then + ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + ewarn "To enable the old behaviour (without using mount) uncomment the" + ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + ewarn + ewarn "${CHROOT} already exists... some things might become overridden" + ewarn "press CTRL+C if you don't want to continue" + sleep 10 + fi + + echo; einfo "Setting up the chroot directory..." + + mkdir -m 0750 -p ${CHROOT} || die + mkdir -m 0755 -p ${CHROOT}/{dev,etc,var/log,run} || die + mkdir -m 0750 -p ${CHROOT}/etc/bind || die + mkdir -m 0770 -p ${CHROOT}/var/{bind,log/named} ${CHROOT}/run/named/ || die + + chown root:named \ + ${CHROOT} \ + ${CHROOT}/var/{bind,log/named} \ + ${CHROOT}/run/named/ \ + ${CHROOT}/etc/bind \ + || die + + mknod ${CHROOT}/dev/null c 1 3 || die + chmod 0666 ${CHROOT}/dev/null || die + + mknod ${CHROOT}/dev/zero c 1 5 || die + chmod 0666 ${CHROOT}/dev/zero || die + + mknod ${CHROOT}/dev/urandom c 1 9 || die + chmod 0666 ${CHROOT}/dev/urandom || die + + if [ "${CHROOT_NOMOUNT:-0}" -ne 0 ]; then + cp -a /etc/bind ${CHROOT}/etc/ || die + cp -a /var/bind ${CHROOT}/var/ || die + fi + + if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then + if use geoip; then + mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP || die + elif use geoip2; then + mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP2 || die + fi + fi + + elog "You may need to add the following line to your syslog-ng.conf:" + elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };" +} diff --git a/net-dns/bind/bind-9.16.18.ebuild b/net-dns/bind/bind-9.16.18.ebuild new file mode 100644 index 000000000000..b7e24261c206 --- /dev/null +++ b/net-dns/bind/bind-9.16.18.ebuild @@ -0,0 +1,373 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Re dlz/mysql and threads, needs to be verified.. +# MySQL uses thread local storage in its C api. Thus MySQL +# requires that each thread of an application execute a MySQL +# thread initialization to setup the thread local storage. +# This is impossible to do safely while staying within the DLZ +# driver API. This is a limitation caused by MySQL, and not the DLZ API. +# Because of this BIND MUST only run with a single thread when +# using the MySQL driver. + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +inherit python-r1 autotools toolchain-funcs flag-o-matic db-use systemd tmpfiles + +MY_PV="${PV/_p/-P}" +MY_PV="${MY_PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" + +SDB_LDAP_VER="1.1.0-fc14" + +RRL_PV="${MY_PV}" + +# SDB-LDAP: http://bind9-ldap.bayour.com/ + +DESCRIPTION="Berkeley Internet Name Domain - Name Server" +HOMEPAGE="https://www.isc.org/software/bind" +SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz + doc? ( mirror://gentoo/dyndns-samples.tbz2 )" + +LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +# -berkdb by default re bug 602682 +IUSE="berkdb +caps +dlz dnstap doc dnsrps fixed-rrset geoip geoip2 gssapi +json ldap lmdb mysql odbc postgres python selinux static-libs xml +zlib" +# sdb-ldap - patch broken +# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687 + +# Upstream dropped the old geoip library, but the BIND configuration for using +# GeoIP remained the same. +REQUIRED_USE=" + postgres? ( dlz ) + berkdb? ( dlz ) + mysql? ( dlz ) + odbc? ( dlz ) + ldap? ( dlz ) + dnsrps? ( dlz ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +DEPEND=" + acct-group/named + acct-user/named + berkdb? ( sys-libs/db:= ) + dev-libs/openssl:=[-bindist(-)] + mysql? ( dev-db/mysql-connector-c:0= ) + odbc? ( >=dev-db/unixODBC-2.2.6 ) + ldap? ( net-nds/openldap ) + postgres? ( dev-db/postgresql:= ) + caps? ( >=sys-libs/libcap-2.1.0 ) + xml? ( dev-libs/libxml2 ) + geoip? ( dev-libs/libmaxminddb ) + geoip2? ( dev-libs/libmaxminddb ) + gssapi? ( virtual/krb5 ) + json? ( dev-libs/json-c:= ) + lmdb? ( dev-db/lmdb ) + zlib? ( sys-libs/zlib ) + dnstap? ( dev-libs/fstrm dev-libs/protobuf-c ) + python? ( + ${PYTHON_DEPS} + dev-python/ply[${PYTHON_USEDEP}] + ) + dev-libs/libuv:= +" + +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-bind ) + sys-process/psmisc" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/ldap-library-path-on-multilib-machines.patch" +) + +# bug 479092, requires networking +# bug 710840, cmocka fails LDFLAGS='-Wl,-O1' +#RESTRICT="test" + +src_prepare() { + default + + # should be installed by bind-tools + sed -i -r -e "s:(nsupdate|dig|delv) ::g" bin/Makefile.in || die + + # Disable tests for now, bug 406399 + sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die + + # bug #220361 + rm aclocal.m4 || die + rm -rf libtool.m4/ || die + eautoreconf + + use python && python_copy_sources +} + +src_configure() { + bind_configure --without-python + use python && python_foreach_impl python_configure +} + +bind_configure() { + local myeconfargs=( + AR="$(type -P $(tc-getAR))" + --prefix="${EPREFIX}"/usr + --sysconfdir=/etc/bind + --localstatedir=/var + --with-libtool + --enable-full-report + --without-readline + --with-openssl="${EPREFIX}"/usr + --without-cmocka + $(use_enable caps linux-caps) + $(use_enable dnsrps) + $(use_enable dnstap) + $(use_enable fixed-rrset) + # $(use_enable static-libs static) + $(use_with berkdb dlz-bdb) + $(use_with dlz dlopen) + $(use_with dlz dlz-filesystem) + $(use_with dlz dlz-stub) + $(use_with gssapi) + $(use_with json json-c) + $(use_with ldap dlz-ldap) + $(use_with mysql dlz-mysql) + $(use_with odbc dlz-odbc) + $(use_with postgres dlz-postgres) + $(use_with lmdb) + $(use_with xml libxml2) + $(use_with zlib) + "${@}" + ) + # This is for users to start to migrate back to USE=geoip, rather than + # USE=geoip2 + if use geoip ; then + myeconfargs+=( $(use_with geoip maxminddb) --enable-geoip ) + elif use geoip2 ; then + # Added 2020/09/30 + # Remove USE=geoip2 support after 2020/03/01 + ewarn "USE=geoip2 is deprecated; update your USE flags!" + myeconfargs+=( $(use_with geoip2 maxminddb) --enable-geoip ) + else + myeconfargs+=( --without-maxminddb --disable-geoip ) + fi + + # bug #158664 +# gcc-specs-ssp && replace-flags -O[23s] -O + + # To include db.h from proper path + use berkdb && append-flags "-I$(db_includedir)" + + export BUILD_CC=$(tc-getBUILD_CC) + econf "${myeconfargs[@]}" + + # bug #151839 + echo '#undef SO_BSDCOMPAT' >> config.h +} + +python_configure() { + pushd "${BUILD_DIR}" >/dev/null || die + bind_configure --with-python + popd >/dev/null || die +} + +src_compile() { + default + use python && python_foreach_impl python_compile +} + +python_compile() { + pushd "${BUILD_DIR}"/bin/python >/dev/null || die + emake + popd >/dev/null || die +} + +src_install() { + default + + dodoc CHANGES README + + if use doc; then + docinto misc + dodoc -r doc/misc/ + + # might a 'html' useflag make sense? + docinto html + dodoc -r doc/arm/ + + docinto contrib + dodoc contrib/scripts/{nanny.pl,named-bootconf.sh} + + # some handy-dandy dynamic dns examples + pushd "${ED}"/usr/share/doc/${PF} 1>/dev/null || die + tar xf "${DISTDIR}"/dyndns-samples.tbz2 || die + popd 1>/dev/null || die + fi + + insinto /etc/bind + newins "${FILESDIR}"/named.conf-r8 named.conf + + # ftp://ftp.rs.internic.net/domain/named.cache: + insinto /var/bind + newins "${FILESDIR}"/named.cache-r3 named.cache + + insinto /var/bind/pri + newins "${FILESDIR}"/localhost.zone-r3 localhost.zone + + newinitd "${FILESDIR}"/named.init-r14 named + newconfd "${FILESDIR}"/named.confd-r7 named + + newenvd "${FILESDIR}"/10bind.env 10bind + + # Let's get rid of those tools and their manpages since they're provided by bind-tools + rm -f "${ED}"/usr/share/man/man1/{dig,host,nslookup,delv,nsupdate}.1* || die + rm -f "${ED}"/usr/share/man/man8/nsupdate.8* || die + rm -f "${ED}"/usr/bin/{dig,host,nslookup,nsupdate} || die + rm -f "${ED}"/usr/sbin/{dig,host,nslookup,nsupdate} || die + for tool in dsfromkey importkey keyfromlabel keygen \ + revoke settime signzone verify; do + rm -f "${ED}"/usr/{,s}bin/dnssec-"${tool}" || die + rm -f "${ED}"/usr/share/man/man8/dnssec-"${tool}".8* || die + done + + # bug 405251, library archives aren't properly handled by --enable/disable-static + if ! use static-libs; then + find "${ED}" -type f -name '*.a' -delete || die + fi + + # bug 405251 + find "${ED}" -type f -name '*.la' -delete || die + + use python && python_foreach_impl python_install + + # bug 450406 + dosym named.cache /var/bind/root.cache + + dosym ../../var/bind/pri /etc/bind/pri + dosym ../../var/bind/sec /etc/bind/sec + dosym ../../var/bind/dyn /etc/bind/dyn + keepdir /var/bind/{pri,sec,dyn} /var/log/named + + fowners root:named /{etc,var}/bind /var/log/named /var/bind/{sec,pri,dyn} + fowners root:named /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf} + fperms 0640 /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf} + fperms 0750 /etc/bind /var/bind/pri + fperms 0770 /var/log/named /var/bind/{,sec,dyn} + + systemd_newunit "${FILESDIR}/named.service-r1" named.service + dotmpfiles "${FILESDIR}"/named.conf + exeinto /usr/libexec + doexe "${FILESDIR}/generate-rndc-key.sh" +} + +python_install() { + pushd "${BUILD_DIR}"/bin/python >/dev/null || die + emake DESTDIR="${D}" install + python_scriptinto /usr/sbin + python_doscript dnssec-{checkds,coverage} + python_optimize + popd >/dev/null || die +} + +pkg_postinst() { + tmpfiles_process "${FILESDIR}"/named.conf + + if [[ ! -f '/etc/bind/rndc.key' && ! -f '/etc/bind/rndc.conf' ]]; then + einfo "Using /dev/urandom for generating rndc.key" + /usr/sbin/rndc-confgen -a + chown root:named /etc/bind/rndc.key || die + chmod 0640 /etc/bind/rndc.key || die + fi + + einfo + einfo "You can edit /etc/conf.d/named to customize named settings" + einfo + use mysql || use postgres || use ldap && { + elog "If your named depends on MySQL/PostgreSQL or LDAP," + elog "uncomment the specified rc_named_* lines in your" + elog "/etc/conf.d/named config to ensure they'll start before bind" + einfo + } + einfo "If you'd like to run bind in a chroot AND this is a new" + einfo "install OR your bind doesn't already run in a chroot:" + einfo "1) Uncomment and set the CHROOT variable in /etc/conf.d/named." + einfo "2) Run \`emerge --config '=${CATEGORY}/${PF}'\`" + einfo + + CHROOT=$(source /etc/conf.d/named 2>/dev/null; echo ${CHROOT}) + if [[ -n ${CHROOT} ]]; then + elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + elog "To enable the old behaviour (without using mount) uncomment the" + elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + elog "If you decide to use the new/default method, ensure to make backup" + elog "first and merge your existing configs/zones to /etc/bind and" + elog "/var/bind because bind will now mount the needed directories into" + elog "the chroot dir." + fi +} + +pkg_config() { + CHROOT=$(source /etc/conf.d/named; echo ${CHROOT}) + CHROOT_NOMOUNT=$(source /etc/conf.d/named; echo ${CHROOT_NOMOUNT}) + CHROOT_GEOIP=$(source /etc/conf.d/named; echo ${CHROOT_GEOIP}) + + if [[ -z "${CHROOT}" ]]; then + eerror "This config script is designed to automate setting up" + eerror "a chrooted bind/named. To do so, please first uncomment" + eerror "and set the CHROOT variable in '/etc/conf.d/named'." + die "Unset CHROOT" + fi + if [[ -d "${CHROOT}" ]]; then + ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + ewarn "To enable the old behaviour (without using mount) uncomment the" + ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + ewarn + ewarn "${CHROOT} already exists... some things might become overridden" + ewarn "press CTRL+C if you don't want to continue" + sleep 10 + fi + + echo; einfo "Setting up the chroot directory..." + + mkdir -m 0750 -p ${CHROOT} || die + mkdir -m 0755 -p ${CHROOT}/{dev,etc,var/log,run} || die + mkdir -m 0750 -p ${CHROOT}/etc/bind || die + mkdir -m 0770 -p ${CHROOT}/var/{bind,log/named} ${CHROOT}/run/named/ || die + + chown root:named \ + ${CHROOT} \ + ${CHROOT}/var/{bind,log/named} \ + ${CHROOT}/run/named/ \ + ${CHROOT}/etc/bind \ + || die + + mknod ${CHROOT}/dev/null c 1 3 || die + chmod 0666 ${CHROOT}/dev/null || die + + mknod ${CHROOT}/dev/zero c 1 5 || die + chmod 0666 ${CHROOT}/dev/zero || die + + mknod ${CHROOT}/dev/urandom c 1 9 || die + chmod 0666 ${CHROOT}/dev/urandom || die + + if [ "${CHROOT_NOMOUNT:-0}" -ne 0 ]; then + cp -a /etc/bind ${CHROOT}/etc/ || die + cp -a /var/bind ${CHROOT}/var/ || die + fi + + if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then + if use geoip; then + mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP || die + elif use geoip2; then + mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP2 || die + fi + fi + + elog "You may need to add the following line to your syslog-ng.conf:" + elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };" +} diff --git a/net-dns/bind/files/named.init-r13 b/net-dns/bind/files/named.init-r13 deleted file mode 100644 index 4240a09176b8..000000000000 --- a/net-dns/bind/files/named.init-r13 +++ /dev/null @@ -1,252 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -extra_commands="checkconfig checkzones" -extra_started_commands="reload" - -depend() { - need net - use logger - provide dns -} - -NAMED_CONF=${CHROOT}/etc/bind/named.conf - -OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-0} -MOUNT_CHECK_TIMEOUT=${MOUNT_CHECK_TIMEOUT:-60} - -_mount() { - local from - local to - local opts - local ret=0 - - if [ "${#}" -lt 3 ]; then - eerror "_mount(): to few arguments" - return 1 - fi - - from=$1 - to=$2 - shift 2 - - opts="${*}" - shift $# - - if [ -z "$(awk "\$2 == \"${to}\" { print \$2 }" /proc/mounts)" ]; then - einfo "mounting ${from} to ${to}" - mount ${from} ${to} ${opts} - ret=$? - - eend $ret - return $ret - fi - - return 0 -} - -_umount() { - local dir=$1 - local ret=0 - - if [ -n "$(awk "\$2 == \"${dir}\" { print \$2 }" /proc/mounts)" ]; then - ebegin "umounting ${dir}" - umount ${dir} - ret=$? - - eend $ret - return $ret - fi - - return 0 -} - -_get_pidfile() { - # as suggested in bug #107724, bug 335398#c17 - [ -n "${PIDFILE}" ] || PIDFILE=${CHROOT}$(\ - /usr/sbin/named-checkconf -p ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} | grep 'pid-file' | cut -d\" -f2) - [ -z "${PIDFILE}" ] && PIDFILE=${CHROOT}/run/named/named.pid -} - -check_chroot() { - if [ -n "${CHROOT}" ]; then - [ ! -d "${CHROOT}" ] && return 1 - [ ! -d "${CHROOT}/dev" ] || [ ! -d "${CHROOT}/etc" ] || [ ! -d "${CHROOT}/var" ] && return 1 - [ ! -d "${CHROOT}/run" ] || [ ! -d "${CHROOT}/var/log" ] && return 1 - [ ! -d "${CHROOT}/etc/bind" ] || [ ! -d "${CHROOT}/var/bind" ] && return 1 - [ ! -d "${CHROOT}/var/log/named" ] && return 1 - [ ! -c "${CHROOT}/dev/null" ] || [ ! -c "${CHROOT}/dev/zero" ] && return 1 - [ ! -c "${CHROOT}/dev/random" ] && [ ! -c "${CHROOT}/dev/urandom" ] && return 1 - [ "${CHROOT_GEOIP:-0}" -eq 1 ] && [ ! -d "${CHROOT}/usr/share/GeoIP" ] && return 1 - if [ ${OPENSSL_LIBGOST:-0} -eq 1 ]; then - if [ -d "/usr/lib64" ]; then - [ ! -d "${CHROOT}/usr/lib64/engines" ] && return 1 - elif [ -d "/usr/lib" ]; then - [ ! -d "${CHROOT}/usr/lib/engines" ] && return 1 - fi - fi - fi - - return 0 -} - -checkconfig() { - ebegin "Checking named configuration" - - if [ ! -f "${NAMED_CONF}" ] ; then - eerror "No ${NAMED_CONF} file exists!" - return 1 - fi - - /usr/sbin/named-checkconf ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} || { - eerror "named-checkconf failed! Please fix your config first." - return 1 - } - - eend 0 - return 0 -} - -checkzones() { - ebegin "Checking named configuration and zones" - /usr/sbin/named-checkconf -z -j ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} - eend $? -} - -start() { - local piddir - - ebegin "Starting ${CHROOT:+chrooted }named" - - if [ -n "${CHROOT}" ]; then - if [ ${CHROOT_NOCHECK:-0} -eq 0 ]; then - check_chroot || { - eend 1 - eerror "Your chroot dir ${CHROOT} is inconsistent, please run 'emerge --config net-dns/bind' first" - return 1 - } - fi - - if [ ${OPENSSL_LIBGOST:-0} -eq 1 ]; then - if [ ! -e /usr/lib/engines/libgost.so ]; then - eend 1 - eerror "Couldn't find /usr/lib/engines/libgost.so but bind has been built with openssl and libgost support" - return 1 - fi - cp -Lp /usr/lib/engines/libgost.so "${CHROOT}/usr/lib/engines/libgost.so" || { - eend 1 - eerror "Couldn't copy /usr/lib/engines/libgost.so into '${CHROOT}/usr/lib/engines/'" - return 1 - } - fi - cp -Lp /etc/localtime "${CHROOT}/etc/localtime" - - if [ "${CHROOT_NOMOUNT:-0}" -eq 0 ]; then - einfo "Mounting chroot dirs" - _mount /etc/bind ${CHROOT}/etc/bind -o bind - _mount /var/bind ${CHROOT}/var/bind -o bind - _mount /var/log/named ${CHROOT}/var/log/named -o bind - if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then - _mount /usr/share/GeoIP ${CHROOT}/usr/share/GeoIP -o bind - fi - fi - - # On initial startup, if piddir inside the chroot /var/run/named - # Then the .../var/run part might not exist yet - checkpath -q -d -o root:root -m 0755 "${piddir}/.." - fi - - checkconfig || { eend 1; return 1; } - - # create piddir (usually /run/named) if necessary, bug 334535 - _get_pidfile - piddir="${PIDFILE%/*}" - checkpath -q -d -o root:named -m 0770 "${piddir}" || { - eerror "Failed to create PID directory at $piddir" - eend 1 - return 1 - } - - # In case someone have $CPU set in /etc/conf.d/named - if [ -n "${CPU}" ] && [ "${CPU}" -gt 0 ]; then - CPU="-n ${CPU}" - fi - - start-stop-daemon --start --pidfile ${PIDFILE} \ - --nicelevel ${NAMED_NICELEVEL:-0} \ - --exec /usr/sbin/named \ - -- -u named ${CPU} ${OPTIONS} ${CHROOT:+-t} ${CHROOT} - eend $? -} - -stop() { - local reported=0 - - ebegin "Stopping ${CHROOT:+chrooted }named" - - # Workaround for now, until openrc's restart has been fixed. - # openrc doesn't care about a restart() function in init scripts. - if [ "${RC_CMD}" = "restart" ]; then - if [ -n "${CHROOT}" -a ${CHROOT_NOCHECK:-0} -eq 0 ]; then - check_chroot || { - eend 1 - eerror "Your chroot dir ${CHROOT} is inconsistent, please run 'emerge --config net-dns/bind' first" - return 1 - } - fi - - checkconfig || { eend 1; return 1; } - fi - - # -R 10, bug 335398 - _get_pidfile - start-stop-daemon --stop --retry 10 --pidfile $PIDFILE \ - --exec /usr/sbin/named - - if [ -n "${CHROOT}" ] && [ "${CHROOT_NOMOUNT:-0}" -eq 0 ]; then - ebegin "Umounting chroot dirs" - - # just to be sure everything gets clean - while fuser -s ${CHROOT} 2>/dev/null; do - if [ "${reported}" -eq 0 ]; then - einfo "Waiting until all named processes are stopped (max. ${MOUNT_CHECK_TIMEOUT} seconds)" - elif [ "${reported}" -eq "${MOUNT_CHECK_TIMEOUT}" ]; then - eerror "Waiting until all named processes are stopped failed!" - eend 1 - break - fi - sleep 1 - reported=$((reported+1)) - done - - [ "${CHROOT_GEOIP:-0}" -eq 1 ] && _umount ${CHROOT}/usr/share/GeoIP - _umount ${CHROOT}/etc/bind - _umount ${CHROOT}/var/log/named - _umount ${CHROOT}/var/bind - fi - - eend $? -} - -reload() { - local ret - - ebegin "Reloading named.conf and zone files" - - checkconfig || { eend 1; return 1; } - - _get_pidfile - if [ -n "${PIDFILE}" ]; then - start-stop-daemon --pidfile $PIDFILE --signal HUP - ret=$? - else - ewarn "Unable to determine the pidfile... this is" - ewarn "a fallback mode. Please check your installation!" - - $RC_SERVICE restart - ret=$? - fi - - eend $ret -} diff --git a/net-dns/bind/files/named.init-r14 b/net-dns/bind/files/named.init-r14 new file mode 100644 index 000000000000..ff6ab216abc1 --- /dev/null +++ b/net-dns/bind/files/named.init-r14 @@ -0,0 +1,252 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="checkconfig checkzones" +extra_started_commands="reload" + +depend() { + need net + use logger + provide dns +} + +NAMED_CONF=${CHROOT}/etc/bind/named.conf + +OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-0} +MOUNT_CHECK_TIMEOUT=${MOUNT_CHECK_TIMEOUT:-60} + +_mount() { + local from + local to + local opts + local ret=0 + + if [ "${#}" -lt 3 ]; then + eerror "_mount(): to few arguments" + return 1 + fi + + from=$1 + to=$2 + shift 2 + + opts="${*}" + shift $# + + if [ -z "$(awk "\$2 == \"${to}\" { print \$2 }" /proc/mounts)" ]; then + einfo "mounting ${from} to ${to}" + mount ${from} ${to} ${opts} + ret=$? + + eend $ret + return $ret + fi + + return 0 +} + +_umount() { + local dir=$1 + local ret=0 + + if [ -n "$(awk "\$2 == \"${dir}\" { print \$2 }" /proc/mounts)" ]; then + ebegin "umounting ${dir}" + umount ${dir} + ret=$? + + eend $ret + return $ret + fi + + return 0 +} + +_get_pidfile() { + # as suggested in bug #107724, bug 335398#c17 + [ -n "${PIDFILE}" ] || PIDFILE=${CHROOT}$(\ + /usr/sbin/named-checkconf -p ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} | grep 'pid-file' | cut -d\" -f2) + [ -z "${PIDFILE}" ] && PIDFILE=${CHROOT}/run/named/named.pid +} + +check_chroot() { + if [ -n "${CHROOT}" ]; then + [ ! -d "${CHROOT}" ] && return 1 + [ ! -d "${CHROOT}/dev" ] || [ ! -d "${CHROOT}/etc" ] || [ ! -d "${CHROOT}/var" ] && return 1 + [ ! -d "${CHROOT}/run" ] || [ ! -d "${CHROOT}/var/log" ] && return 1 + [ ! -d "${CHROOT}/etc/bind" ] || [ ! -d "${CHROOT}/var/bind" ] && return 1 + [ ! -d "${CHROOT}/var/log/named" ] && return 1 + [ ! -c "${CHROOT}/dev/null" ] || [ ! -c "${CHROOT}/dev/zero" ] && return 1 + [ ! -c "${CHROOT}/dev/urandom" ] && return 1 + [ "${CHROOT_GEOIP:-0}" -eq 1 ] && [ ! -d "${CHROOT}/usr/share/GeoIP" ] && return 1 + if [ ${OPENSSL_LIBGOST:-0} -eq 1 ]; then + if [ -d "/usr/lib64" ]; then + [ ! -d "${CHROOT}/usr/lib64/engines" ] && return 1 + elif [ -d "/usr/lib" ]; then + [ ! -d "${CHROOT}/usr/lib/engines" ] && return 1 + fi + fi + fi + + return 0 +} + +checkconfig() { + ebegin "Checking named configuration" + + if [ ! -f "${NAMED_CONF}" ] ; then + eerror "No ${NAMED_CONF} file exists!" + return 1 + fi + + /usr/sbin/named-checkconf ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} || { + eerror "named-checkconf failed! Please fix your config first." + return 1 + } + + eend 0 + return 0 +} + +checkzones() { + ebegin "Checking named configuration and zones" + /usr/sbin/named-checkconf -z -j ${CHROOT:+-t} ${CHROOT} ${NAMED_CONF#${CHROOT}} + eend $? +} + +start() { + local piddir + + ebegin "Starting ${CHROOT:+chrooted }named" + + if [ -n "${CHROOT}" ]; then + if [ ${CHROOT_NOCHECK:-0} -eq 0 ]; then + check_chroot || { + eend 1 + eerror "Your chroot dir ${CHROOT} is inconsistent, please run 'emerge --config net-dns/bind' first" + return 1 + } + fi + + if [ ${OPENSSL_LIBGOST:-0} -eq 1 ]; then + if [ ! -e /usr/lib/engines/libgost.so ]; then + eend 1 + eerror "Couldn't find /usr/lib/engines/libgost.so but bind has been built with openssl and libgost support" + return 1 + fi + cp -Lp /usr/lib/engines/libgost.so "${CHROOT}/usr/lib/engines/libgost.so" || { + eend 1 + eerror "Couldn't copy /usr/lib/engines/libgost.so into '${CHROOT}/usr/lib/engines/'" + return 1 + } + fi + cp -Lp /etc/localtime "${CHROOT}/etc/localtime" + + if [ "${CHROOT_NOMOUNT:-0}" -eq 0 ]; then + einfo "Mounting chroot dirs" + _mount /etc/bind ${CHROOT}/etc/bind -o bind + _mount /var/bind ${CHROOT}/var/bind -o bind + _mount /var/log/named ${CHROOT}/var/log/named -o bind + if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then + _mount /usr/share/GeoIP ${CHROOT}/usr/share/GeoIP -o bind + fi + fi + + # On initial startup, if piddir inside the chroot /var/run/named + # Then the .../var/run part might not exist yet + checkpath -q -d -o root:root -m 0755 "${piddir}/.." + fi + + checkconfig || { eend 1; return 1; } + + # create piddir (usually /run/named) if necessary, bug 334535 + _get_pidfile + piddir="${PIDFILE%/*}" + checkpath -q -d -o root:named -m 0770 "${piddir}" || { + eerror "Failed to create PID directory at $piddir" + eend 1 + return 1 + } + + # In case someone have $CPU set in /etc/conf.d/named + if [ -n "${CPU}" ] && [ "${CPU}" -gt 0 ]; then + CPU="-n ${CPU}" + fi + + start-stop-daemon --start --pidfile ${PIDFILE} \ + --nicelevel ${NAMED_NICELEVEL:-0} \ + --exec /usr/sbin/named \ + -- -u named ${CPU} ${OPTIONS} ${CHROOT:+-t} ${CHROOT} + eend $? +} + +stop() { + local reported=0 + + ebegin "Stopping ${CHROOT:+chrooted }named" + + # Workaround for now, until openrc's restart has been fixed. + # openrc doesn't care about a restart() function in init scripts. + if [ "${RC_CMD}" = "restart" ]; then + if [ -n "${CHROOT}" -a ${CHROOT_NOCHECK:-0} -eq 0 ]; then + check_chroot || { + eend 1 + eerror "Your chroot dir ${CHROOT} is inconsistent, please run 'emerge --config net-dns/bind' first" + return 1 + } + fi + + checkconfig || { eend 1; return 1; } + fi + + # -R 10, bug 335398 + _get_pidfile + start-stop-daemon --stop --retry 10 --pidfile $PIDFILE \ + --exec /usr/sbin/named + + if [ -n "${CHROOT}" ] && [ "${CHROOT_NOMOUNT:-0}" -eq 0 ]; then + ebegin "Umounting chroot dirs" + + # just to be sure everything gets clean + while fuser -s ${CHROOT} 2>/dev/null; do + if [ "${reported}" -eq 0 ]; then + einfo "Waiting until all named processes are stopped (max. ${MOUNT_CHECK_TIMEOUT} seconds)" + elif [ "${reported}" -eq "${MOUNT_CHECK_TIMEOUT}" ]; then + eerror "Waiting until all named processes are stopped failed!" + eend 1 + break + fi + sleep 1 + reported=$((reported+1)) + done + + [ "${CHROOT_GEOIP:-0}" -eq 1 ] && _umount ${CHROOT}/usr/share/GeoIP + _umount ${CHROOT}/etc/bind + _umount ${CHROOT}/var/log/named + _umount ${CHROOT}/var/bind + fi + + eend $? +} + +reload() { + local ret + + ebegin "Reloading named.conf and zone files" + + checkconfig || { eend 1; return 1; } + + _get_pidfile + if [ -n "${PIDFILE}" ]; then + start-stop-daemon --pidfile $PIDFILE --signal HUP + ret=$? + else + ewarn "Unable to determine the pidfile... this is" + ewarn "a fallback mode. Please check your installation!" + + $RC_SERVICE restart + ret=$? + fi + + eend $ret +} diff --git a/net-dns/djbdns/Manifest b/net-dns/djbdns/Manifest index 4d12d9ed9634..113d7cae703f 100644 --- a/net-dns/djbdns/Manifest +++ b/net-dns/djbdns/Manifest @@ -16,6 +16,5 @@ AUX string_length_255.patch 299 BLAKE2B 083d963d8d67baec402321c7fb8be2e485985ce0 DIST djbdns-1.05-man.tar.gz 17170 BLAKE2B 2fef7e1be8a427b2c426c2af58bf4c22795e64d03e0f605ca333e38f187ff65b333e88a7cea0e8a9ec867b446b5ca34a5c97dd24ae18b28ee4c747f2fd1f1608 SHA512 98af7bd9033a2205fbbc0f23b7eab45b9756f6ceff5199a62952e19c89c9fe3c03495cb6f8621d388f883c40650309a1509095417df3f54af21a71350c4aa183 DIST djbdns-1.05-test28.diff.xz 22072 BLAKE2B fff6c13220adfa056a0ac5942ff9385d83b75f8622adaebab65f557a2ca8d014fe3c255fe55ba9afca56b24880b7cd28597b26b5bcc3bbbd3ef9f581b67004fd SHA512 7fbfeda10221a0a09897c2e744df5606c83113c394ce055d822b0d8733873d72567a88c37905d21c7d2395170fc12b9e9eb133a941aa809f1b9856872ab48230 DIST djbdns-1.05.tar.gz 85648 BLAKE2B 51918fcc8944e64e72709636ee7d56975a138a2806e22c019fa836770de3a338bb8f682216b89c09d6b2861c2423e60e28dc60639f5a86aca2040e1788e4cf5c SHA512 20f066402801d7bec183cb710a5bc51e41f1410024741e5803e26f68f2c13567e48eba793f233dfab903459c3335bc169e24b99d66a4c64e617e1f0779732fa9 -EBUILD djbdns-1.05-r33.ebuild 3671 BLAKE2B a1316a82339046ec5560d0b1b458fbbaf202d7e8ebcfbccd9568ddf7fa5cbe84a827fd2b9e3720567fbb8cf27bbe50e51867425a9b249b1d8830501120487671 SHA512 5f73d51ada1789dd96c372b5ca9a587031136fcf60a72e0ecac7a0481a73f52394016723f98dcf6a16f7e7af4f0e4d9626678db77aa16fde067349d334c0287e -EBUILD djbdns-1.05-r35.ebuild 3565 BLAKE2B 042fd688e007c1cf25403283d657cae13b7d335995ec4df44ff3e0d2a8eaaf88c66bceecbc388eea7ffa7fde3ccc2a12dcd0f6b5ee0dab2eea6fcfde7d6ec9f1 SHA512 8ab1fbecd6ee931dca4f8752ec57c63249c0b1c7fd70fe423f34b5d9dc396f7b49d139e5baa1dffad87db10f21d5b804cef9a56c72b85d7280bc370e00e287f4 +EBUILD djbdns-1.05-r35.ebuild 3564 BLAKE2B d4cd41577de6d5639b8ac7cdc58850677ecef30e9d4147d0972d28a2624b2aabf2ab2249dfb3a8ff7b7795895f00dc38adce23a4cb260a65fce587e1986f853b SHA512 fc9235c3a2aca2b304888e107ef922a5b9abbc2d78087bc5082d021f6bbce3011446d0dd472e97574f9cd50b6e0c7e914042a10950a1dc2bd859664638db686a MISC metadata.xml 244 BLAKE2B c21c7a6cd7f859220baee98b22912e06955a7d63b4fc954a40507126ef6cb30659a3b7e89e798bb7d074814810f9625d3979ed2ac8877e213dc378da841bc786 SHA512 125b00b9e85650a6dcc365871f9f8be44d85cde4b938a66f7d96b6dc0237a1cae68b30be1ee16d7850998fc31be35eaf459df1bb7d9ea169904854b532f37bab diff --git a/net-dns/djbdns/djbdns-1.05-r33.ebuild b/net-dns/djbdns/djbdns-1.05-r33.ebuild deleted file mode 100644 index ca8d5bbf314b..000000000000 --- a/net-dns/djbdns/djbdns-1.05-r33.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit flag-o-matic readme.gentoo-r1 toolchain-funcs user - -DESCRIPTION="Collection of DNS client/server software" -HOMEPAGE="http://cr.yp.to/djbdns.html" -IPV6_PATCH="test28" - -SRC_URI="http://cr.yp.to/djbdns/${P}.tar.gz - http://smarden.org/pape/djb/manpages/${P}-man.tar.gz - ipv6? ( http://www.fefe.de/dns/${P}-${IPV6_PATCH}.diff.xz )" - -SLOT="0" -LICENSE="public-domain" -KEYWORDS="~alpha amd64 ~hppa ~mips ppc ppc64 sparc x86" -IUSE="ipv6 selinux" - -DEPEND="" -RDEPEND="sys-apps/ucspi-tcp - virtual/daemontools - selinux? ( sec-policy/selinux-djbdns )" - -src_unpack() { - # Unpack both djbdns and its man pages to separate directories. - default - - # Now move the man pages under ${S} so that user patches can be - # applied to them as well in src_prepare(). - mv "${PN}-man" "${P}/man" || die "failed to transplant man pages" -} - -PATCHES=( - "${FILESDIR}/headtail-r1.patch" - "${FILESDIR}/dnsroots.patch" - "${FILESDIR}/dnstracesort.patch" - "${FILESDIR}/string_length_255.patch" - "${FILESDIR}/srv_record_support.patch" - "${FILESDIR}/increase-cname-recustion-depth.patch" - "${FILESDIR}/CVE2009-0858_0001-check-response-domain-name-length.patch" - "${FILESDIR}/CVE2012-1191_0001-ghost-domain-attack.patch" -) - -src_prepare() { - if use ipv6; then - PATCHES=(${PATCHES[@]} - # The big ipv6 patch. - "${WORKDIR}/${P}-${IPV6_PATCH}.diff" - # Fix CVE2008-4392 (ipv6) - "${FILESDIR}/CVE2008-4392_0001-dnscache-merge-similar-outgoing-queries-ipv6-test28.patch" - "${FILESDIR}/CVE2008-4392_0002-dnscache-cache-soa-records-ipv6.patch" - "${FILESDIR}/makefile-parallel-test25.patch" - ) - else - PATCHES=(${PATCHES[@]} - # Fix CVE2008-4392 (no ipv6) - "${FILESDIR}/CVE2008-4392_0001-dnscache-merge-similar-outgoing-queries-r1.patch" - "${FILESDIR}/CVE2008-4392_0002-dnscache-cache-soa-records.patch" - # Later versions of the ipv6 patch include this - "${FILESDIR}/${PV}-errno-r1.patch" - ) - fi - - default -} - -src_compile() { - echo "$(tc-getCC) ${CFLAGS}" > conf-cc || die - echo "$(tc-getCC) ${LDFLAGS}" > conf-ld || die - echo "/usr" > conf-home || die - emake -} - -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 - - if use ipv6; then - dobin dnsip6 dnsip6q - fi - - dodoc CHANGES README - - doman man/*.[158] - - readme.gentoo_create_doc -} - -pkg_preinst() { - # 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 -} - -DISABLE_AUTOFORMATTING=1 -DOC_CONTENTS=' -To configure djbdns, please follow the instructions at, - - http://cr.yp.to/djbdns.html - -Of particular interest are, - - axfrdns : http://cr.yp.to/djbdns/axfrdns-conf.html - dnscache: http://cr.yp.to/djbdns/run-cache-x-home.html - tinydns : http://cr.yp.to/djbdns/run-server.html - -Portage has created users for axfrdns, dnscache, and tinydns; the -commands to configure these programs are, - - 1. axfrdns-conf tinydns dnslog /var/axfrdns /var/tinydns $ip - 2. dnscache-conf dnscache dnslog /var/dnscache $ip - 3. tinydns-conf tinydns dnslog /var/tinydns $ip - -(replace $ip with the ip address on which the server will run). - -If you wish to configure rbldns or walldns, you will need to create -those users yourself (although you should still use the "dnslog" -user for the logs): - - 4. rbldns-conf $username dnslog /var/rbldns $ip $base - 5. walldns-conf $username dnslog /var/walldns $ip -' diff --git a/net-dns/djbdns/djbdns-1.05-r35.ebuild b/net-dns/djbdns/djbdns-1.05-r35.ebuild index 6b06f4f1eebe..b9430c86fb90 100644 --- a/net-dns/djbdns/djbdns-1.05-r35.ebuild +++ b/net-dns/djbdns/djbdns-1.05-r35.ebuild @@ -14,7 +14,7 @@ SRC_URI="http://cr.yp.to/djbdns/${P}.tar.gz SLOT="0" LICENSE="public-domain" -KEYWORDS="~alpha amd64 ~hppa ~mips ~ppc ppc64 sparc x86" +KEYWORDS="~alpha amd64 ~hppa ~mips ppc ppc64 sparc x86" IUSE="ipv6 selinux" DEPEND="" diff --git a/net-dns/hash-slinger/Manifest b/net-dns/hash-slinger/Manifest index f2d607461b5b..da92abf805e0 100644 --- a/net-dns/hash-slinger/Manifest +++ b/net-dns/hash-slinger/Manifest @@ -1,3 +1,3 @@ DIST hash-slinger-3.1.tar.gz 38224 BLAKE2B 35d60b648704e1aa96fbec000ff07c06a31a1f45c58f708fdad1bab464849d4de60963acde9f2c26eb4304454ed1406f698c8007dbf471794f16f26b8ebdb080 SHA512 04ad33b718f716cfd08bd52ee50db81372b7dc13895695e1b23cf904306166b73e388285c7cce8a0a0e5003e783bc61dea4c9ede7a44f22c16e24e2411c7f427 -EBUILD hash-slinger-3.1.ebuild 1167 BLAKE2B a511f5882fd1fbb7c65b78ab317a1f83e077e6a7ce81041d0c5a72d7b3cebe7569708ccab8b2065b284bff16ebb3569d867bf1bfa751f3b0e34fb197b0411a5b SHA512 b278f9532a1603908d3a32fddfd3d754619220788b5d4a3a6343e6cf5ccc23aeedcd643ac88c2308624d53c3b48af4b0c15c3bd9cb806a41c1fcb95575de0112 +EBUILD hash-slinger-3.1.ebuild 1141 BLAKE2B eea3180f3469e15f115441dd203967872fc56c84acbaa0a4552a2f481748636f74e022dc24feb5ae51d82d74e430f180d2c38b5a0b76fac33c2172bc73b4fa33 SHA512 3445cf13cfe7fad2ae0a948436dffa1678b127928be1c86128bd96a173e20327974198574082b76aa2c33e6c8d765ea9c24749ebc322b50d05b73b4cc70aba8f MISC metadata.xml 512 BLAKE2B 6038437e45983e453f8738a081665affeb3a7293e0abe727fa7e61f91b9e1a6cb27f799037079b9ae49a94a38c082e48f984c5735988102bd8b5665ab37adb32 SHA512 126df24bc6c1129888d66dc1ecae7b6cf86a3b1f7589a09c08312b89f2edf6f3ed6257c7e78bcc0bb7cfe8cfffdc819c1b725c0f7302152f7f542c79eb04f4de diff --git a/net-dns/hash-slinger/hash-slinger-3.1.ebuild b/net-dns/hash-slinger/hash-slinger-3.1.ebuild index 2f14f5b8fea7..330f6cc1075e 100644 --- a/net-dns/hash-slinger/hash-slinger-3.1.ebuild +++ b/net-dns/hash-slinger/hash-slinger-3.1.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8,9} ) inherit python-single-r1 @@ -21,13 +21,13 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND=" ${PYTHON_DEPS} $(python_gen_cond_dep ' - dev-python/dnspython[${PYTHON_MULTI_USEDEP}] - dev-python/ipaddr[${PYTHON_MULTI_USEDEP}] - dev-python/m2crypto[${PYTHON_MULTI_USEDEP}] + dev-python/dnspython[${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/m2crypto[${PYTHON_USEDEP}] ') net-dns/unbound[python,${PYTHON_SINGLE_USEDEP}] ipsec? ( net-vpn/libreswan[dnssec] ) - openpgp? ( $(python_gen_cond_dep 'dev-python/python-gnupg[${PYTHON_MULTI_USEDEP}]') ) + openpgp? ( $(python_gen_cond_dep 'dev-python/python-gnupg[${PYTHON_USEDEP}]') ) ssh? ( net-misc/openssh ) " diff --git a/net-dns/libidn/Manifest b/net-dns/libidn/Manifest index 01a05b844405..5d9dc97c51d7 100644 --- a/net-dns/libidn/Manifest +++ b/net-dns/libidn/Manifest @@ -1,5 +1,8 @@ AUX 50libidn-gentoo.el 455 BLAKE2B d6d3a0576c1d0b5030ae32ed5c99e198f06faa897864d06251b07ee2fd3ecbac16347d633644f30dc7428e5bdf9747b0a4d51d7541601d3fbd4be6f9f746693f SHA512 13bcc7078ae8e088014323707d451c0bfdb53414e550945248a9648afa81681db013cb523eae71116c84f1dcfbb3b87e8743971775b75c4ce6dad914b3b0a501 DIST libidn-1.37.tar.gz 2603177 BLAKE2B 2f55644b8e521ae75638e6b660f7a7e457957b783bfa359de497a475f70372d46557d9abd1263588cf8aecbaa713f24e5baf460b4aa663d3ead7326f296a58dc SHA512 198a5b2f0db3ad076e3726dda7f197835dd93a126ee796c138185abd09ee2f828042225dd570fa19b58b3e81b120daf929f348a55f9a536c546dd3311c29e27c DIST libidn-1.37.tar.gz.sig 488 BLAKE2B 449e2222becc9c3714463c9875a625ef017aad9c188c2487ea3c7677a56c7821f02ac39404581bb033a23860e8b07251efabefd85a1f2be91461f2bd27162869 SHA512 6fc3543d32d2a2b730ee22c04098420200292c95582a625cbd05729b3df40f87faa35aaceb9fa45245fa891971a10f47281f490eb7bc3099910e349c643360a2 +DIST libidn-1.38.tar.gz 2681263 BLAKE2B 92059e87554338a3565ee4b517fa1ba7bd3e9d57d8be7d71aee377220f50b597e529469c6ddc7c9e7c25b9e83c76f652457256dd32249c3e1cd97df8867723a1 SHA512 5e59b2263fde44d1463b47b516347b17a4e3e3696ebba66ab5fe464d567e2ec81f769fa7cf72ed51cfb501e32221813bb375373713a47e2f599fc6122850e419 +DIST libidn-1.38.tar.gz.sig 488 BLAKE2B 3a5a5f3d79f2f01019d71e2b20b7daf264c71ed21ec922733c03ed42e0acd0bb6c2758ca7095b7fc52025d01c784eb539e53408ae663ac2bcdcc8e92ba11f342 SHA512 9caf0f9633f607861e94d6efe30383181db67e6fb437903b6c1ff1758363824afc1b01458f845d2bf11c8f2ec01708ba98da54a43a6e2429978caa0f41166ffe EBUILD libidn-1.37.ebuild 2798 BLAKE2B 6ba3a5a3a6699f45d9e52d54df7933f26e97290fd2a957f90b4be22fee8f13de5e722fae7991b9d88fcf422f84fc0bbeac93d02eb0f28ac80540c32a4c13e3e9 SHA512 7b6fa387a4177cad5ec1b5f5d102da90deb641570c20d59aae90172b318faf6865431cf7142f3606bc8ef75c9c23389a1a22c0a448968abdb0cd3f89c94e23c7 +EBUILD libidn-1.38-r1.ebuild 2748 BLAKE2B e38276943a8c10a8703b0e9b18af8d57f61c5d2500e1229403e4de797692d9457c5ac4b4c73ebccf04bbaaebdee9e4f564fd3b941ab0dfedea196eefcd0ac480 SHA512 f51f55b72ace2e6d4f5b364cae58cc975c69bbaf31f8e08441fcd28a0ee31243b961b48a5b60f16569c5c03dc5bce76482bfec86eec0fae0b9bd3bf817819d22 MISC metadata.xml 347 BLAKE2B 293e4cc6e22f51f47bf25f9be723ae443dd92138e6ddac7bfa4bbeb314a823dcf62429551125167fdc41e1031050f5baf034f493daa1cfa0aaa3fd824a4ddea7 SHA512 8fc22ee1c8de823f07c90e20c8075ef00ad130c07f5e556f61b501e4b162992050cbbfd6ad492b551464370f8d90382f3243d93830be92ccef6bd54481dd6bdd diff --git a/net-dns/libidn/libidn-1.38-r1.ebuild b/net-dns/libidn/libidn-1.38-r1.ebuild new file mode 100644 index 000000000000..f5700cc22cb1 --- /dev/null +++ b/net-dns/libidn/libidn-1.38-r1.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libidn.asc +inherit elisp-common java-pkg-opt-2 libtool mono-env multilib-minimal verify-sig + +DESCRIPTION="Internationalized Domain Names (IDN) implementation" +HOMEPAGE="https://www.gnu.org/software/libidn/" +SRC_URI="mirror://gnu/libidn/${P}.tar.gz + verify-sig? ( mirror://gnu/libidn/${P}.tar.gz.sig )" + +LICENSE="GPL-2 GPL-3 LGPL-3 java? ( Apache-2.0 )" +SLOT="0/12" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="doc emacs java mono nls" + +DEPEND="mono? ( >=dev-lang/mono-0.95 ) + nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )" +RDEPEND="java? ( >=virtual/jre-1.8:* )" +BDEPEND="emacs? ( >=app-editors/emacs-23.1:* ) + java? ( >=virtual/jdk-1.8:* ) + nls? ( >=sys-devel/gettext-0.17 ) + verify-sig? ( app-crypt/openpgp-keys-libidn )" + +DOCS=( AUTHORS ChangeLog FAQ NEWS README THANKS ) + +pkg_setup() { + use mono && mono-env_pkg_setup + + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default + + # Bundled and with wrong bytecode + rm "${S}/java/${P}.jar" || die + + # For Solaris shared objects + elibtoolize +} + +multilib_src_configure() { + local -x GJDOC=javadoc + + local args=( + $(multilib_native_use_enable java) + $(multilib_native_use_enable mono csharp mono) + $(use_enable nls) + --disable-static + --disable-valgrind-tests + --with-lispdir="${EPREFIX}${SITELISP}/${PN}" + --with-packager-bug-reports="https://bugs.gentoo.org" + --with-packager-version="r${PR}" + --with-packager="Gentoo Linux" + ) + + ECONF_SOURCE="${S}" econf "${args[@]}" +} + +multilib_src_compile() { + default + + if multilib_is_native_abi; then + use emacs && elisp-compile "${S}"/src/*.el + use java && use doc && emake -C java/src/main/java javadoc + fi +} + +multilib_src_test() { + # Only run libidn specific tests and not gnulib tests (bug #539356) + emake -C tests check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + if multilib_is_native_abi && use java; then + java-pkg_newjar java/${P}.jar ${PN}.jar + + rm -r "${ED}"/usr/share/java || die + + use doc && java-pkg_dojavadoc "${S}"/doc/java + fi +} + +multilib_src_install_all() { + if use emacs; then + # *.el are installed by the build system + elisp-install ${PN} "${S}"/src/*.elc + elisp-site-file-install "${FILESDIR}"/50${PN}-gentoo.el + else + rm -r "${ED}"/usr/share/emacs || die + fi + + einstalldocs + + use doc && dodoc -r doc/reference/html + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/net-dns/libidn2/Manifest b/net-dns/libidn2/Manifest index 6346a3cc2137..ba044b339c7d 100644 --- a/net-dns/libidn2/Manifest +++ b/net-dns/libidn2/Manifest @@ -1,4 +1,7 @@ DIST libidn2-2.3.1.tar.gz 2188338 BLAKE2B 323840b0d84f41cc746ca9b5a24169a374e95bd4669b96d7b62ac3304f6d78195acef7739628cf7e31cf7b230ffb60f74961c3e22693571fd2fc7cbb35f1ac23 SHA512 4d77a4a79e08a05e46fc14827f987b9e7645ebf5d0c0869eb96f9902c2f6b73ea69fd6f9f97b80a9f07cce84f7aa299834df91485d4e7c16500d31a4b9865fe4 DIST libidn2-2.3.1.tar.gz.sig 488 BLAKE2B 2e1428ec240964fcdc1dbe96afa69920e5f5439ebf9c58e134832ceab932aef57176744a8fdf76ca29e73650c18406ec894b8e92dd95d52cb712bf7f823ca820 SHA512 2db4bb3a11562634276664fb857306271c6ebc96cf5e90b39b404c3fe47190ec65ce3866cebcfa0c1216d29d7aed8c7907b869e602a722db1cf8f6ab94da9c78 +DIST libidn2-2.3.2.tar.gz 2169556 BLAKE2B 6914630ecf6dcf18eb808dae933b819ee705c73011e6ffd68f8d14dd2c2ed084a9b504385c29988b2c4b439c6c8f2f552e47f4d624ae20d8b64767bf4d47f6a3 SHA512 958dbf49a47a84c7627ac182f4cc8ea452696cec3f0d1ff102a6c48e89893e772b2aa81f75da8223dfc6326515cca3ae085268fbf997828de9330c3a351152f1 +DIST libidn2-2.3.2.tar.gz.sig 488 BLAKE2B 832a5424034147a2c969fdbe0e094c23cda6305fe6411728f7727054571f54f6f056b939cf13023606dcb4f4bd85ed527b8e85bce6e56ed366e893ea16f8eb13 SHA512 0559b51b37c7937f3e1f8bf9de9b193f137f16b79d6673f85691a4f4a12ec132568e913848a70136f8522118817f7ecaa8432d353a5eff6b99a7be8719421fe0 EBUILD libidn2-2.3.1.ebuild 1483 BLAKE2B 1ff3a3ebdcfa331ca560505ff5f9347bc3936f65e55b384a46def83079e8de58dde6090938a95545cba8fae8e2ea53d706c595195ca726e57b5d2f2d39f5c28c SHA512 678b749b553f5b10c63768471858825ad42abaab422829c946c4c2c1a413ccf8c5a85300499b80b1353ad38bc37a9c85c97ce34f41f32730d7166434047eb9d3 +EBUILD libidn2-2.3.2.ebuild 1491 BLAKE2B 1e8bed08c6b8d76bd85cb25ea4a372531887dbc1de267288e51dd2ec8ca31fb2ed9d5b40ff9215e1530804e7ba688975668499182889299c8b2ccb5467ad8b1c SHA512 4f9fc2eaa29080ab07c7f5e5ff4487a1143acae876cf193829d0be8fb55d2e03207b23e036992a1dbc98d12b94ff70c764c7025892b0b5b2bb82f5744153d87d MISC metadata.xml 561 BLAKE2B 074256567a8f1b82c825d213cf6ea2030ab7b08151d7c14b35396abaa1043974808deba8ef4bbf48dfda4d2f68f832a2c9342090aae38b8e30b73ed91f17c846 SHA512 96d7ffcaa48c2bfb6273f7ec4ea99e4accc7c615d08c9aba892c7eacb7429c1b0ec8d330152cc88ad165cfd4ff5b1062db3f5df43b7e33bfcf5296d19376f654 diff --git a/net-dns/libidn2/libidn2-2.3.2.ebuild b/net-dns/libidn2/libidn2-2.3.2.ebuild new file mode 100644 index 000000000000..ca045ed9ec8c --- /dev/null +++ b/net-dns/libidn2/libidn2-2.3.2.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libidn.asc +inherit multilib-minimal toolchain-funcs verify-sig + +DESCRIPTION="An implementation of the IDNA2008 specifications (RFCs 5890, 5891, 5892, 5893)" +HOMEPAGE="https://www.gnu.org/software/libidn/#libidn2 https://gitlab.com/libidn/libidn2" +SRC_URI=" + mirror://gnu/libidn/${P}.tar.gz + verify-sig? ( mirror://gnu/libidn/${P}.tar.gz.sig ) +" +S="${WORKDIR}"/${P/a/} + +LICENSE="GPL-2+ LGPL-3+" +SLOT="0/2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="static-libs" + +RDEPEND=" + dev-libs/libunistring:=[${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-lang/perl + sys-apps/help2man + verify-sig? ( app-crypt/openpgp-keys-libidn ) +" + +src_prepare() { + default + + if [[ ${CHOST} == *-darwin* ]] ; then + # Darwin ar chokes when TMPDIR doesn't exist (as done for some + # reason in the Makefile) + sed -i -e '/^TMPDIR = /d' Makefile.in || die + export TMPDIR="${T}" + fi + + multilib_copy_sources +} + +multilib_src_configure() { + econf \ + CC_FOR_BUILD="$(tc-getBUILD_CC)" \ + $(use_enable static-libs static) \ + --disable-doc \ + --disable-gcc-warnings \ + --disable-gtk-doc +} + +multilib_src_install() { + default + + find "${ED}" -name '*.la' -delete || die +} diff --git a/net-dns/nsd/Manifest b/net-dns/nsd/Manifest index 51b4571f2061..1b74cb7e681e 100644 --- a/net-dns/nsd/Manifest +++ b/net-dns/nsd/Manifest @@ -2,10 +2,8 @@ AUX nsd.initd-r1 1383 BLAKE2B b90de2ebef09a4f9050f6e95f5faf659c62910462aba1179da AUX nsd.munin-conf 23 BLAKE2B 0b08804b2218d77ea925d4c9e26e73649b453b923d6d7b1e1df39ceb58b92a44c48cb21583a480e622f72d07650f410f2e0703f1d16af08152aed16982ab8da2 SHA512 c06d0b035387e7be79cfa8fedf8afb3900772146c6d4090ac39ea2ef165772d875b222ef467bd73422078ef57818bcc931ca67fa290bd99a7a9456efa5448853 AUX nsd.service 272 BLAKE2B 66a7d4132246589f71341afd98361f6b02082be3d4e230c86ae690876a797ea0a4580b29892d91feba2785ea933a053f862e0d00f2c8a8c09ab907386c39a03c SHA512 fbca86887bfc36d61af06992cc98b3f3cb33c39274fbdc1e53d489bdcc767993911fab27a20244c3878b36bacbd1644a552364b2f7bf4d48e6eb247d0eecdf0f AUX nsd_munin_.patch 542 BLAKE2B 13ff49c41683d5bf505e257cd17bf5f3ad06662c00032d79b36be3f96486eb89fdd62a42b5ed4816ad99835366864603568613e27504894340ebb64057e2b2c3 SHA512 6034086d6b6f6980468766c901e92291fea8a32df179561ede2add5918c37bfe3aabf122735d4ae2e28efece394fd3398f9a0cc4d8fdcc1e5da1ca709d2ba6ae -DIST nsd-4.3.4.tar.gz 1182467 BLAKE2B 10c06be9df393774627a42a7cf254202fe9800e7cd5048d392fbf90a65321a4596e742165b1157b3a0ce0645a80ae5425f7d43eb0a453077e45bff06d52347d4 SHA512 fe332caecfd3c6bb8ae1a92fec26984a7953e5e462515e8622c1079b217c962728e841826cdf7899f47f9ac24af1dd383f8ba7981541b05a2338cd288c40b0a7 -DIST nsd-4.3.5.tar.gz 1184220 BLAKE2B 0ded84d9a0c25b86af6c05a7ab3ffb680177142b79a96f952cdeb92d87d9d0f306fb3c864b8f3cb769b05b0a863a7470df9407e6f3f5f0bc9a32891185d32b6f SHA512 bd031da779ff7b9b53fb4ea4d038a51f3b8f7b59a2927f674def46ca775f30afa059b471fed7d8ebcd2b7d02968945972b98856198eafbc4263d3064dae01029 DIST nsd-4.3.6.tar.gz 1197835 BLAKE2B 943ae0700a2f49fffa9414f1d2718fef5e6a2f181373cc0a17ebe04433bce22d3863c8f17bd4d0412264503a80720d6dea9ce0d3ad6305f54dc3a2496118c90f SHA512 d87837b483ab37fde5d3eae7dca4c9e2672a718a1f49847db13232358108a5e0d6395c07d3fac72092a949d3c9861cd1dbed3e9bd0342ba6cbe7ca32feba09d0 -EBUILD nsd-4.3.4.ebuild 3049 BLAKE2B d84f9df0a35e63354adaf78ac2b579a79db4e31626105907b85d1c376713b51b4e8e017a37ea90eac9fda4276a53aa568360a45888feeeae02e4a53d848b78ea SHA512 a1acc0e770919a4165d7c98fbf750e12f711c4f7da11e01dfa645c8ac541f9c21e134cf065797e89a5e4d709e7575759688780a794add1044ceaa85cb911e498 -EBUILD nsd-4.3.5.ebuild 3051 BLAKE2B afc4b9d56ae956f6849ac89a83f5492af4f13b95a2117bba8f80bfcbe3e80aea24e84f80c06e7f8fea3bd2f8e9fb0d03dbc645aa57d3b99e207cdffde8d10384 SHA512 13df4a616e144d059757bd4cf9fa4fa642edf8d160dd5014c3cc2694c32004079c352a97ccb50b2283d1d8a4ac429b2246ca5514f56cddd2f3d923b3424b8e8a -EBUILD nsd-4.3.6.ebuild 3051 BLAKE2B afc4b9d56ae956f6849ac89a83f5492af4f13b95a2117bba8f80bfcbe3e80aea24e84f80c06e7f8fea3bd2f8e9fb0d03dbc645aa57d3b99e207cdffde8d10384 SHA512 13df4a616e144d059757bd4cf9fa4fa642edf8d160dd5014c3cc2694c32004079c352a97ccb50b2283d1d8a4ac429b2246ca5514f56cddd2f3d923b3424b8e8a +DIST nsd-4.3.7.tar.gz 1221215 BLAKE2B 79bd49324f62812a7f0f5800a686d09600620d1dc87ed9e7d4c1f2822c68700b73f5c58c328927fdf7f4af61a401033e39a8e59e054e53c564acfefc86d68bde SHA512 ef5fbcbeccba7e90cc7eed32c6a6f61f5471e13bfb74e5dd072cc9be7af67ebf97c93c0902e115efeda89489399e0543566a6847788ea7bebf13b9007f2c6193 +EBUILD nsd-4.3.6.ebuild 3049 BLAKE2B d84f9df0a35e63354adaf78ac2b579a79db4e31626105907b85d1c376713b51b4e8e017a37ea90eac9fda4276a53aa568360a45888feeeae02e4a53d848b78ea SHA512 a1acc0e770919a4165d7c98fbf750e12f711c4f7da11e01dfa645c8ac541f9c21e134cf065797e89a5e4d709e7575759688780a794add1044ceaa85cb911e498 +EBUILD nsd-4.3.7.ebuild 3051 BLAKE2B afc4b9d56ae956f6849ac89a83f5492af4f13b95a2117bba8f80bfcbe3e80aea24e84f80c06e7f8fea3bd2f8e9fb0d03dbc645aa57d3b99e207cdffde8d10384 SHA512 13df4a616e144d059757bd4cf9fa4fa642edf8d160dd5014c3cc2694c32004079c352a97ccb50b2283d1d8a4ac429b2246ca5514f56cddd2f3d923b3424b8e8a MISC metadata.xml 1160 BLAKE2B bd724c7485cbabe2738d0439b442c28858f66200acd237ec2a79f0b583fe4fbd0c82a68efd3af277a4e7d5333fc371b8150cea742373100d5b3667cb7d161145 SHA512 8576175fa8c53b3f7c2c588fb467ca633f6a628c90d7c08cb0d9414a5e721ab57c29c012f8021a7710aeac9be8d4d1ccd69acd6cb7309804460638ca6b51aa1d diff --git a/net-dns/nsd/nsd-4.3.4.ebuild b/net-dns/nsd/nsd-4.3.4.ebuild deleted file mode 100644 index 21733815a1e3..000000000000 --- a/net-dns/nsd/nsd-4.3.4.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools systemd - -# version voodoo needed only for non-release tarballs: 4.0.0_rc1 => 4.0.0rc1 -MY_PV="${PV/_beta/b}" -MY_PV="${MY_PV/_rc/rc}" -MY_P="${PN}-${MY_PV}" - -DESCRIPTION="An authoritative only, high performance, open source name server" -HOMEPAGE="http://www.nlnetlabs.nl/projects/nsd" -SRC_URI="http://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz" -LICENSE="BSD" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64 x86" -IUSE="bind8-stats dnstap ipv6 libevent minimal-responses mmap munin +nsec3 ratelimit root-server runtime-checks ssl systemd" - -S="${WORKDIR}/${MY_P}" - -RDEPEND=" - acct-group/nsd - acct-user/nsd - dnstap? ( - dev-libs/fstrm - dev-libs/protobuf-c - ) - libevent? ( dev-libs/libevent ) - munin? ( net-analyzer/munin ) - ssl? ( - dev-libs/openssl:0= - ) - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - sys-devel/flex - virtual/yacc - systemd? ( virtual/pkgconfig ) -" - -PATCHES=( - # Fix the paths in the munin plugin to match our install - "${FILESDIR}"/nsd_munin_.patch -) - -src_prepare() { - default - # Required to get correct pkg-config macros with USE="systemd" - # see bugs #663618 and #758050 - eautoreconf -} - -src_configure() { - local myeconfargs=( - --enable-largefile - --enable-pie - --enable-relro-now - --enable-tcp-fastopen - --with-dbfile="${EPREFIX}"/var/db/nsd/nsd.db - --with-logfile="${EPREFIX}"/var/log/nsd.log - --with-pidfile="${EPREFIX}"/run/nsd/nsd.pid - --with-xfrdfile="${EPREFIX}"/var/db/nsd/xfrd.state - --with-xfrdir="${EPREFIX}"/var/db/nsd - --with-zonelistfile="${EPREFIX}"/var/db/nsd/zone.list - --with-zonesdir="${EPREFIX}"/var/lib/nsd - $(use_enable bind8-stats) - $(use_enable bind8-stats zone-stats) - $(use_enable dnstap) - $(use_enable ipv6) - $(use_enable minimal-responses) - $(use_enable mmap) - $(use_enable nsec3) - $(use_enable ratelimit) - $(use_enable root-server) - $(use_enable runtime-checks checking) - $(use_enable systemd) - $(use_with libevent) - $(use_with ssl) - ) - econf "${myeconfargs[@]}" -} - -src_install() { - emake DESTDIR="${D}" install - - dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS} - - newinitd "${FILESDIR}"/nsd.initd-r1 nsd - - # install munin plugin and config - if use munin ; then - exeinto /usr/libexec/munin/plugins - doexe contrib/nsd_munin_ - insinto /etc/munin/plugin-conf.d - newins "${FILESDIR}"/nsd.munin-conf nsd_munin - fi - - systemd_dounit "${FILESDIR}"/nsd.service - - # remove the /run directory that usually resides on tmpfs and is - # being taken care of by the nsd init script anyway (checkpath) - rm -r "${ED}"/run || die "Failed to remove /run" - - keepdir /var/db/${PN} -} - -pkg_postinst() { - # database directory, writable by nsd for database updates and zone transfers - install -d -m 750 -o nsd -g nsd "${EROOT}"/var/db/nsd - - # zones directory, writable by nsd for zone file updates (nsd-control write) - install -d -m 750 -o nsd -g nsd "${EROOT}"/var/lib/nsd -} diff --git a/net-dns/nsd/nsd-4.3.5.ebuild b/net-dns/nsd/nsd-4.3.5.ebuild deleted file mode 100644 index 729d48122082..000000000000 --- a/net-dns/nsd/nsd-4.3.5.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools systemd - -# version voodoo needed only for non-release tarballs: 4.0.0_rc1 => 4.0.0rc1 -MY_PV="${PV/_beta/b}" -MY_PV="${MY_PV/_rc/rc}" -MY_P="${PN}-${MY_PV}" - -DESCRIPTION="An authoritative only, high performance, open source name server" -HOMEPAGE="http://www.nlnetlabs.nl/projects/nsd" -SRC_URI="http://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz" -LICENSE="BSD" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="bind8-stats dnstap ipv6 libevent minimal-responses mmap munin +nsec3 ratelimit root-server runtime-checks ssl systemd" - -S="${WORKDIR}/${MY_P}" - -RDEPEND=" - acct-group/nsd - acct-user/nsd - dnstap? ( - dev-libs/fstrm - dev-libs/protobuf-c - ) - libevent? ( dev-libs/libevent ) - munin? ( net-analyzer/munin ) - ssl? ( - dev-libs/openssl:0= - ) - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - sys-devel/flex - virtual/yacc - systemd? ( virtual/pkgconfig ) -" - -PATCHES=( - # Fix the paths in the munin plugin to match our install - "${FILESDIR}"/nsd_munin_.patch -) - -src_prepare() { - default - # Required to get correct pkg-config macros with USE="systemd" - # see bugs #663618 and #758050 - eautoreconf -} - -src_configure() { - local myeconfargs=( - --enable-largefile - --enable-pie - --enable-relro-now - --enable-tcp-fastopen - --with-dbfile="${EPREFIX}"/var/db/nsd/nsd.db - --with-logfile="${EPREFIX}"/var/log/nsd.log - --with-pidfile="${EPREFIX}"/run/nsd/nsd.pid - --with-xfrdfile="${EPREFIX}"/var/db/nsd/xfrd.state - --with-xfrdir="${EPREFIX}"/var/db/nsd - --with-zonelistfile="${EPREFIX}"/var/db/nsd/zone.list - --with-zonesdir="${EPREFIX}"/var/lib/nsd - $(use_enable bind8-stats) - $(use_enable bind8-stats zone-stats) - $(use_enable dnstap) - $(use_enable ipv6) - $(use_enable minimal-responses) - $(use_enable mmap) - $(use_enable nsec3) - $(use_enable ratelimit) - $(use_enable root-server) - $(use_enable runtime-checks checking) - $(use_enable systemd) - $(use_with libevent) - $(use_with ssl) - ) - econf "${myeconfargs[@]}" -} - -src_install() { - emake DESTDIR="${D}" install - - dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS} - - newinitd "${FILESDIR}"/nsd.initd-r1 nsd - - # install munin plugin and config - if use munin ; then - exeinto /usr/libexec/munin/plugins - doexe contrib/nsd_munin_ - insinto /etc/munin/plugin-conf.d - newins "${FILESDIR}"/nsd.munin-conf nsd_munin - fi - - systemd_dounit "${FILESDIR}"/nsd.service - - # remove the /run directory that usually resides on tmpfs and is - # being taken care of by the nsd init script anyway (checkpath) - rm -r "${ED}"/run || die "Failed to remove /run" - - keepdir /var/db/${PN} -} - -pkg_postinst() { - # database directory, writable by nsd for database updates and zone transfers - install -d -m 750 -o nsd -g nsd "${EROOT}"/var/db/nsd - - # zones directory, writable by nsd for zone file updates (nsd-control write) - install -d -m 750 -o nsd -g nsd "${EROOT}"/var/lib/nsd -} diff --git a/net-dns/nsd/nsd-4.3.6.ebuild b/net-dns/nsd/nsd-4.3.6.ebuild index 729d48122082..21733815a1e3 100644 --- a/net-dns/nsd/nsd-4.3.6.ebuild +++ b/net-dns/nsd/nsd-4.3.6.ebuild @@ -16,7 +16,7 @@ SRC_URI="http://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz" LICENSE="BSD" SLOT="0" [[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="bind8-stats dnstap ipv6 libevent minimal-responses mmap munin +nsec3 ratelimit root-server runtime-checks ssl systemd" S="${WORKDIR}/${MY_P}" diff --git a/net-dns/nsd/nsd-4.3.7.ebuild b/net-dns/nsd/nsd-4.3.7.ebuild new file mode 100644 index 000000000000..729d48122082 --- /dev/null +++ b/net-dns/nsd/nsd-4.3.7.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools systemd + +# version voodoo needed only for non-release tarballs: 4.0.0_rc1 => 4.0.0rc1 +MY_PV="${PV/_beta/b}" +MY_PV="${MY_PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="An authoritative only, high performance, open source name server" +HOMEPAGE="http://www.nlnetlabs.nl/projects/nsd" +SRC_URI="http://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz" +LICENSE="BSD" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="bind8-stats dnstap ipv6 libevent minimal-responses mmap munin +nsec3 ratelimit root-server runtime-checks ssl systemd" + +S="${WORKDIR}/${MY_P}" + +RDEPEND=" + acct-group/nsd + acct-user/nsd + dnstap? ( + dev-libs/fstrm + dev-libs/protobuf-c + ) + libevent? ( dev-libs/libevent ) + munin? ( net-analyzer/munin ) + ssl? ( + dev-libs/openssl:0= + ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + sys-devel/flex + virtual/yacc + systemd? ( virtual/pkgconfig ) +" + +PATCHES=( + # Fix the paths in the munin plugin to match our install + "${FILESDIR}"/nsd_munin_.patch +) + +src_prepare() { + default + # Required to get correct pkg-config macros with USE="systemd" + # see bugs #663618 and #758050 + eautoreconf +} + +src_configure() { + local myeconfargs=( + --enable-largefile + --enable-pie + --enable-relro-now + --enable-tcp-fastopen + --with-dbfile="${EPREFIX}"/var/db/nsd/nsd.db + --with-logfile="${EPREFIX}"/var/log/nsd.log + --with-pidfile="${EPREFIX}"/run/nsd/nsd.pid + --with-xfrdfile="${EPREFIX}"/var/db/nsd/xfrd.state + --with-xfrdir="${EPREFIX}"/var/db/nsd + --with-zonelistfile="${EPREFIX}"/var/db/nsd/zone.list + --with-zonesdir="${EPREFIX}"/var/lib/nsd + $(use_enable bind8-stats) + $(use_enable bind8-stats zone-stats) + $(use_enable dnstap) + $(use_enable ipv6) + $(use_enable minimal-responses) + $(use_enable mmap) + $(use_enable nsec3) + $(use_enable ratelimit) + $(use_enable root-server) + $(use_enable runtime-checks checking) + $(use_enable systemd) + $(use_with libevent) + $(use_with ssl) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + emake DESTDIR="${D}" install + + dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS} + + newinitd "${FILESDIR}"/nsd.initd-r1 nsd + + # install munin plugin and config + if use munin ; then + exeinto /usr/libexec/munin/plugins + doexe contrib/nsd_munin_ + insinto /etc/munin/plugin-conf.d + newins "${FILESDIR}"/nsd.munin-conf nsd_munin + fi + + systemd_dounit "${FILESDIR}"/nsd.service + + # remove the /run directory that usually resides on tmpfs and is + # being taken care of by the nsd init script anyway (checkpath) + rm -r "${ED}"/run || die "Failed to remove /run" + + keepdir /var/db/${PN} +} + +pkg_postinst() { + # database directory, writable by nsd for database updates and zone transfers + install -d -m 750 -o nsd -g nsd "${EROOT}"/var/db/nsd + + # zones directory, writable by nsd for zone file updates (nsd-control write) + install -d -m 750 -o nsd -g nsd "${EROOT}"/var/lib/nsd +} diff --git a/net-dns/openresolv/Manifest b/net-dns/openresolv/Manifest index a0d0a0ad4950..23c645dd0936 100644 --- a/net-dns/openresolv/Manifest +++ b/net-dns/openresolv/Manifest @@ -1,3 +1,3 @@ DIST openresolv-3.12.0.tar.xz 21008 BLAKE2B 1609d8e97a9abe82f9ead7179727dd4323571e92b36aa2ca2a1177972f3a61946f612dd0cf81a804087f1c71bda25e78dab8b085ad2be55ce21214dc9870fdf6 SHA512 60348ca35114b105c8b3121e5f2d301311fcc7251a9be60c45fedc27267cfd94e413e77c7d5c91d0a0ccb8f1b4288bc147582b0ac9be64afcaa96ad3d833f26f -EBUILD openresolv-3.12.0.ebuild 1054 BLAKE2B f3d5751724ab8ae7ae3696529dda12f5de6f64bafea6cab8fcb9d85004895ec4dcd9415541f23d12d2b3f7b205d59f75b2bcd0d5916e54073393c13b91689861 SHA512 7581367618108f4406c422d3adf829568d5795648f3cd03f96d8fca7a4ae6d3afa5cfd5ac27b366bb84092cb6d2d71dbc5b5a6af728c19a1f702d00fd2147f57 +EBUILD openresolv-3.12.0.ebuild 1085 BLAKE2B f953b2b16a7035a5919ed83242081bea2476a77a365278db7d1c864e7c255d38c09efe1731106afd5c456ae71032d5a28cff6f8acfd79a9a729b24ef213ba7b9 SHA512 a34c1bfb3a50654f65e3587d100867f4c8c9e8746157a800993e209e17d5728e477000e9990d158b9b898536c7940daf88821e1d3a2ea90eefaa5325072b9df9 MISC metadata.xml 268 BLAKE2B 64bd35ab0734da264061b8946fa2d38f03b25ae7fb2aafbbe8c51c63f58c98ae052e49f5854c711895c0b81b46be7bbef8525408883b7fcdcd5a975295c92eab SHA512 dd949ae4aac3d786ce9127771b07178f1044f5611b9aa0ed59235dc0f3f7f75eea71c0ccde661bf5149773f9c4c9ebbc81940c01260a456ee578351bf935e68b diff --git a/net-dns/openresolv/openresolv-3.12.0.ebuild b/net-dns/openresolv/openresolv-3.12.0.ebuild index 2cc9fb729890..74668adebd0a 100644 --- a/net-dns/openresolv/openresolv-3.12.0.ebuild +++ b/net-dns/openresolv/openresolv-3.12.0.ebuild @@ -12,7 +12,8 @@ SLOT="0" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" IUSE="selinux" -RDEPEND="selinux? ( sec-policy/selinux-resolvconf )" +RDEPEND="!sys-apps/systemd[resolvconf] + selinux? ( sec-policy/selinux-resolvconf )" src_configure() { local myeconfargs=( -- cgit v1.2.3