Skip to content

Commit 3ac0f67

Browse files
committed
net-dns/bind-tools: Add from Gentoo
It's from Gentoo commit 2cc662627fc0706dd3f422180f0121afd3d8bdc5.
1 parent cfb2756 commit 3ac0f67

File tree

5 files changed

+384
-0
lines changed

5 files changed

+384
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DIST bind-9.16.48.tar.xz 5131176 BLAKE2B 4a503b45df412c435cb0f75b54ee1270140cccce7ecc159cdf3e0e3cbd3c0a0866b7472782f20aacf130f57df12d20a102ac6979498138ce00a2655806d003e7 SHA512 83829a5045e2a29dd2b491d3ab72b545f5664023fcd4aa205a44dbb7bcc5c737b4466c0d73f124b8d88fd33c56776871a07dde1ba0530d43eec8e7304a08d353
2+
DIST bind-9.16.48.tar.xz.asc 833 BLAKE2B 740ed58863ed3a7dee6ada4edd03cad5378ea0aa53cd6f071ca1911bb2d6b285ed292f32846790d42b97e8d9bb72588f1cd30c4e10557ac1e9f1df545923a9b1 SHA512 7bd813b5ab6f9677fc4ef21e0c3930f6319fa6c49d6869570794bc28212fe8935b72f9f217cfce692a2dec9ec29994f345d1b1145cef1ca976c5361f6ce0f75d
3+
DIST bind-9.16.50.tar.xz 5134620 BLAKE2B 0464d1e246d0a5c39e20faf733b7f4ee21d192cc0ccce5bba2a22ae4303c82005ccfb319fe2da51872c7258852a747984d7327c70dec08414ab2d194c412199b SHA512 7627e0606ac389343046fa9d1ca789ed732b3c8d99e83ba6f59593f816cebc0b2ebd319c2812ac1f604c68f5115bbc281d432036c0d31bbe489ee2d678374213
4+
DIST bind-9.16.50.tar.xz.asc 833 BLAKE2B 7eabf67b96d1fc94ec096adf1b4d075c370b603b7225522fe5b97d04c519f68f017fe0ccaf7ddeff029d17c0b4c3932a09f009376553f987671ba21f6b9cdb7d SHA512 0650ad5d55da2d9fe848d68aa59b16998b781152209ebcaabaea68144dab75ff9f4cfcceaa87a6b6da4f2f98fcf6f9eddd16d19ddf958fef242d93da03516dbc
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
# Copyright 1999-2024 Gentoo Authors
2+
# Distributed under the terms of the GNU General Public License v2
3+
4+
EAPI=8
5+
6+
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc
7+
inherit autotools flag-o-matic multiprocessing toolchain-funcs verify-sig
8+
9+
MY_PN=${PN//-tools}
10+
MY_PV=${PV/_p/-P}
11+
MY_PV=${MY_PV/_rc/rc}
12+
MY_P="${MY_PN}-${MY_PV}"
13+
14+
DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
15+
HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9"
16+
SRC_URI="
17+
https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz
18+
verify-sig? ( https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz.asc )
19+
"
20+
S="${WORKDIR}/${MY_P}"
21+
22+
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
23+
SLOT="0"
24+
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
25+
IUSE="+caps doc gssapi idn libedit readline test xml"
26+
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687
27+
RESTRICT="!test? ( test )"
28+
29+
# libuv lower bound should be the highest value seen at
30+
# https://gitlab.isc.org/isc-projects/bind9/-/blob/bind-9.16/lib/isc/netmgr/netmgr.c?ref_type=heads#L244
31+
# to avoid issues with matching stable/testing, etc
32+
RDEPEND="
33+
>=dev-libs/libuv-1.42.0:=
34+
dev-libs/openssl:=
35+
caps? ( sys-libs/libcap )
36+
xml? ( dev-libs/libxml2 )
37+
idn? ( net-dns/libidn2:= )
38+
gssapi? ( virtual/krb5 )
39+
libedit? ( dev-libs/libedit )
40+
!libedit? (
41+
readline? ( sys-libs/readline:= )
42+
)
43+
"
44+
DEPEND="${RDEPEND}"
45+
# sphinx required for man-page and html creation
46+
BDEPEND="
47+
virtual/pkgconfig
48+
doc? ( dev-python/sphinx )
49+
test? (
50+
dev-util/cmocka
51+
dev-util/kyua
52+
)
53+
verify-sig? ( sec-keys/openpgp-keys-isc )
54+
"
55+
56+
src_prepare() {
57+
default
58+
59+
# Do not disable thread local storage on Solaris, it works with our
60+
# toolchain, and it breaks further configure checks
61+
sed -i -e '/LDFLAGS=/s/-zrelax=transtls//' configure.ac configure || die
62+
63+
# Slow tests
64+
sed -i "s/{name='mem_test'}/{name='mem_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die
65+
sed -i "s/{name='timer_test'}/{name='timer_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die
66+
67+
# Conditionally broken
68+
use sparc && ( sed -i "/{name='netmgr_test'}/d" "lib/isc/tests/Kyuafile" || die )
69+
70+
# bug #220361
71+
rm aclocal.m4 || die
72+
rm -rf libtool.m4/ || die
73+
74+
eautoreconf
75+
}
76+
77+
src_configure() {
78+
local myeconfargs=(
79+
# localstatedir for nsupdate -l, bug #395785
80+
--localstatedir="${EPREFIX}"/var
81+
--without-python
82+
--without-libjson
83+
--without-zlib
84+
--without-lmdb
85+
--without-maxminddb
86+
--disable-geoip
87+
--with-openssl="${ESYSROOT}"/usr
88+
$(use_with idn libidn2 "${ESYSROOT}"/usr)
89+
$(use_with xml libxml2)
90+
$(use_with gssapi)
91+
$(use_with readline)
92+
$(use_enable caps linux-caps)
93+
AR="$(type -P $(tc-getAR))"
94+
)
95+
96+
# bug #607400
97+
if use libedit ; then
98+
myeconfargs+=( --with-readline=-ledit )
99+
elif use readline ; then
100+
myeconfargs+=( --with-readline=-lreadline )
101+
else
102+
myeconfargs+=( --without-readline )
103+
fi
104+
105+
# bug #344029
106+
append-cflags "-DDIG_SIGCHASE"
107+
108+
append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)"
109+
110+
# to expose CMSG_* macros from sys/sockets.h
111+
[[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600"
112+
113+
tc-export BUILD_CC
114+
econf "${myeconfargs[@]}"
115+
116+
# bug #151839
117+
echo '#undef SO_BSDCOMPAT' >> config.h || die
118+
}
119+
120+
src_compile() {
121+
local AR="$(tc-getAR)"
122+
123+
emake AR="${AR}" -C lib/
124+
emake AR="${AR}" -C bin/delv/
125+
emake AR="${AR}" -C bin/dig/
126+
emake AR="${AR}" -C bin/nsupdate/
127+
emake AR="${AR}" -C bin/dnssec/
128+
emake -C doc/man/ man $(usev doc)
129+
}
130+
131+
src_test() {
132+
# system tests ('emake test') require network configuration for IPs etc
133+
# so we run the unit tests instead.
134+
TEST_PARALLEL_JOBS="$(makeopts_jobs)" emake -Onone unit
135+
}
136+
137+
src_install() {
138+
local man_dir="${S}/doc/man"
139+
local html_dir="${man_dir}/_build/html"
140+
141+
dodoc README CHANGES
142+
143+
cd "${S}"/bin/delv || die
144+
dobin delv
145+
doman ${man_dir}/delv.1
146+
147+
cd "${S}"/bin/dig || die
148+
dobin dig host nslookup
149+
doman ${man_dir}/{dig,host,nslookup}.1
150+
151+
cd "${S}"/bin/nsupdate || die
152+
dobin nsupdate
153+
doman ${man_dir}/nsupdate.1
154+
if use doc; then
155+
docinto html
156+
dodoc ${html_dir}/nsupdate.html
157+
fi
158+
159+
cd "${S}"/bin/dnssec || die
160+
local tool
161+
for tool in dsfromkey importkey keyfromlabel keygen \
162+
revoke settime signzone verify; do
163+
dobin dnssec-"${tool}"
164+
doman ${man_dir}/dnssec-"${tool}".8
165+
if use doc; then
166+
docinto html
167+
dodoc ${html_dir}/dnssec-"${tool}".html
168+
fi
169+
done
170+
}
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
# Copyright 1999-2024 Gentoo Authors
2+
# Distributed under the terms of the GNU General Public License v2
3+
4+
EAPI=8
5+
6+
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc
7+
inherit autotools flag-o-matic multiprocessing toolchain-funcs verify-sig
8+
9+
MY_PN=${PN//-tools}
10+
MY_PV=${PV/_p/-P}
11+
MY_PV=${MY_PV/_rc/rc}
12+
MY_P="${MY_PN}-${MY_PV}"
13+
14+
DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
15+
HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9"
16+
SRC_URI="
17+
https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz
18+
verify-sig? ( https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz.asc )
19+
"
20+
S="${WORKDIR}/${MY_P}"
21+
22+
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
23+
SLOT="0"
24+
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
25+
IUSE="+caps doc gssapi idn libedit readline test xml"
26+
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687
27+
RESTRICT="!test? ( test )"
28+
29+
# libuv lower bound should be the highest value seen at
30+
# https://gitlab.isc.org/isc-projects/bind9/-/blob/bind-9.16/lib/isc/netmgr/netmgr.c?ref_type=heads#L244
31+
# to avoid issues with matching stable/testing, etc
32+
RDEPEND="
33+
>=dev-libs/libuv-1.42.0:=
34+
dev-libs/openssl:=
35+
caps? ( sys-libs/libcap )
36+
xml? ( dev-libs/libxml2 )
37+
idn? ( net-dns/libidn2:= )
38+
gssapi? ( virtual/krb5 )
39+
libedit? ( dev-libs/libedit )
40+
!libedit? (
41+
readline? ( sys-libs/readline:= )
42+
)
43+
"
44+
DEPEND="${RDEPEND}"
45+
# sphinx required for man-page and html creation
46+
BDEPEND="
47+
virtual/pkgconfig
48+
doc? ( dev-python/sphinx )
49+
test? (
50+
dev-util/cmocka
51+
dev-util/kyua
52+
)
53+
verify-sig? ( sec-keys/openpgp-keys-isc )
54+
"
55+
56+
src_prepare() {
57+
default
58+
59+
# Do not disable thread local storage on Solaris, it works with our
60+
# toolchain, and it breaks further configure checks
61+
sed -i -e '/LDFLAGS=/s/-zrelax=transtls//' configure.ac configure || die
62+
63+
# Slow tests
64+
sed -i "s/{name='mem_test'}/{name='mem_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die
65+
sed -i "s/{name='timer_test'}/{name='timer_test',timeout=900}/" "lib/isc/tests/Kyuafile" || die
66+
67+
# Conditionally broken
68+
use sparc && ( sed -i "/{name='netmgr_test'}/d" "lib/isc/tests/Kyuafile" || die )
69+
70+
# bug #220361
71+
rm aclocal.m4 || die
72+
rm -rf libtool.m4/ || die
73+
74+
eautoreconf
75+
}
76+
77+
src_configure() {
78+
local myeconfargs=(
79+
# localstatedir for nsupdate -l, bug #395785
80+
--localstatedir="${EPREFIX}"/var
81+
--without-python
82+
--without-libjson
83+
--without-zlib
84+
--without-lmdb
85+
--without-maxminddb
86+
--disable-geoip
87+
--with-openssl="${ESYSROOT}"/usr
88+
$(use_with idn libidn2 "${ESYSROOT}"/usr)
89+
$(use_with xml libxml2)
90+
$(use_with gssapi)
91+
$(use_with readline)
92+
$(use_enable caps linux-caps)
93+
AR="$(type -P $(tc-getAR))"
94+
)
95+
96+
# bug #607400
97+
if use libedit ; then
98+
myeconfargs+=( --with-readline=-ledit )
99+
elif use readline ; then
100+
myeconfargs+=( --with-readline=-lreadline )
101+
else
102+
myeconfargs+=( --without-readline )
103+
fi
104+
105+
# bug #344029
106+
append-cflags "-DDIG_SIGCHASE"
107+
108+
append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)"
109+
110+
# to expose CMSG_* macros from sys/sockets.h
111+
[[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600"
112+
113+
tc-export BUILD_CC
114+
econf "${myeconfargs[@]}"
115+
116+
# bug #151839
117+
echo '#undef SO_BSDCOMPAT' >> config.h || die
118+
}
119+
120+
src_compile() {
121+
local AR="$(tc-getAR)"
122+
123+
emake AR="${AR}" -C lib/
124+
emake AR="${AR}" -C bin/delv/
125+
emake AR="${AR}" -C bin/dig/
126+
emake AR="${AR}" -C bin/nsupdate/
127+
emake AR="${AR}" -C bin/dnssec/
128+
emake -C doc/man/ man $(usev doc)
129+
}
130+
131+
src_test() {
132+
# system tests ('emake test') require network configuration for IPs etc
133+
# so we run the unit tests instead.
134+
TEST_PARALLEL_JOBS="$(makeopts_jobs)" emake -Onone unit
135+
}
136+
137+
src_install() {
138+
local man_dir="${S}/doc/man"
139+
local html_dir="${man_dir}/_build/html"
140+
141+
dodoc README CHANGES
142+
143+
cd "${S}"/bin/delv || die
144+
dobin delv
145+
doman ${man_dir}/delv.1
146+
147+
cd "${S}"/bin/dig || die
148+
dobin dig host nslookup
149+
doman ${man_dir}/{dig,host,nslookup}.1
150+
151+
cd "${S}"/bin/nsupdate || die
152+
dobin nsupdate
153+
doman ${man_dir}/nsupdate.1
154+
if use doc; then
155+
docinto html
156+
dodoc ${html_dir}/nsupdate.html
157+
fi
158+
159+
cd "${S}"/bin/dnssec || die
160+
local tool
161+
for tool in dsfromkey importkey keyfromlabel keygen \
162+
revoke settime signzone verify; do
163+
dobin dnssec-"${tool}"
164+
doman ${man_dir}/dnssec-"${tool}".8
165+
if use doc; then
166+
docinto html
167+
dodoc ${html_dir}/dnssec-"${tool}".html
168+
fi
169+
done
170+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copyright 1999-2024 Gentoo Authors
2+
# Distributed under the terms of the GNU General Public License v2
3+
4+
EAPI=8
5+
6+
DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
7+
HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9"
8+
9+
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
10+
SLOT="0"
11+
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
12+
IUSE="+caps doc gssapi idn libedit readline xml"
13+
14+
RDEPEND=">=net-dns/bind-9.18.0[caps?,doc?,gssapi?,idn?,xml?]"
15+
16+
pkg_postinst() {
17+
ewarn "net-dns/bind-tools is now merged into net-dns/bind and"
18+
ewarn "net-dns/bind-tools serves as a dummy package until it is"
19+
ewarn "eventually removed. The split was already a maintenance burden"
20+
ewarn "because of lack of build system support for it, but this became"
21+
ewarn "more severe with >=9.18.0."
22+
ewarn ""
23+
ewarn "Please run the following commands:"
24+
ewarn "* emerge --deselect net-dns/bind-tools"
25+
ewarn "* emerge --noreplace net-dns/bind instead"
26+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
3+
<pkgmetadata>
4+
<maintainer type="person">
5+
<email>[email protected]</email>
6+
<name>Patrick McLean</name>
7+
</maintainer>
8+
<use>
9+
<flag name="gssapi">Enable gssapi support</flag>
10+
</use>
11+
<upstream>
12+
<remote-id type="cpe">cpe:/a:isc:bind</remote-id>
13+
</upstream>
14+
</pkgmetadata>

0 commit comments

Comments
 (0)