Gentoo Archives: gentoo-commits

From: Patrick McLean <chutzpah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-dns/dnsmasq/
Date: Wed, 15 Sep 2021 00:49:42
Message-Id: 1631666959.843b910d58000b964df3b7716a7466c974b452ca.chutzpah@gentoo
1 commit: 843b910d58000b964df3b7716a7466c974b452ca
2 Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
3 AuthorDate: Wed Sep 15 00:49:19 2021 +0000
4 Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 15 00:49:19 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=843b910d
7
8 net-dns/dnsmasq-2.86: Version bump
9
10 Copyright: Sony Interactive Entertainment Inc.
11 Package-Manager: Portage-3.0.23, Repoman-3.0.3
12 Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
13
14 net-dns/dnsmasq/Manifest | 1 +
15 net-dns/dnsmasq/dnsmasq-2.86.ebuild | 218 ++++++++++++++++++++++++++++++++++++
16 net-dns/dnsmasq/metadata.xml | 1 +
17 3 files changed, 220 insertions(+)
18
19 diff --git a/net-dns/dnsmasq/Manifest b/net-dns/dnsmasq/Manifest
20 index 8a4d81c60fb..5e894e46701 100644
21 --- a/net-dns/dnsmasq/Manifest
22 +++ b/net-dns/dnsmasq/Manifest
23 @@ -1 +1,2 @@
24 DIST dnsmasq-2.85.tar.xz 518316 BLAKE2B b7c081132c65d67b65f797bdbc603930c1509717bc1b5209b12f72fa3f01b4bae2f26a5387f95ef20317cd3d60e097c0b8bef5e019a35013f3ed2acce9fe9e89 SHA512 8beefe76b46f7d561f40d0900ba68b260a199cb62ab5b653746e3a1104c04fb8899b9e7a160a1be4fe8782bfb1607b556e9ffb9c25c4e99653e4bc74fcc03b09
25 +DIST dnsmasq-2.86.tar.xz 531404 BLAKE2B 27307c70cc90d6e27dbf8e87589b8c72622e93f402c3a431e06facc58a62af46a478d1fdbfb9808a91ff3d2f5da88a8d12de9755009b558d685903e4d2a34de3 SHA512 487eae0afbc8bb3d5282a729ffb0cb2c9bdc7d8e46e2e8aa114cd7c5d82e0fd66f49926e7fa4028577548d6f57e8a865aca17f33963a589874584d608ab2deaf
26
27 diff --git a/net-dns/dnsmasq/dnsmasq-2.86.ebuild b/net-dns/dnsmasq/dnsmasq-2.86.ebuild
28 new file mode 100644
29 index 00000000000..24c56481d2a
30 --- /dev/null
31 +++ b/net-dns/dnsmasq/dnsmasq-2.86.ebuild
32 @@ -0,0 +1,218 @@
33 +# Copyright 1999-2021 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=8
37 +
38 +LUA_COMPAT=( lua5-{1..4} luajit )
39 +
40 +inherit toolchain-funcs lua-single systemd
41 +
42 +DESCRIPTION="Small forwarding DNS server"
43 +HOMEPAGE="http://www.thekelleys.org.uk/dnsmasq/doc.html"
44 +SRC_URI="http://www.thekelleys.org.uk/dnsmasq/${P}.tar.xz"
45 +
46 +LICENSE="|| ( GPL-2 GPL-3 )"
47 +SLOT="0"
48 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
49 +
50 +IUSE="auth-dns conntrack dbus +dhcp dhcp-tools dnssec +dumpfile id idn libidn2"
51 +IUSE+=" +loop +inotify ipv6 lua nettlehash nls script selinux static tftp"
52 +
53 +DM_LINGUAS=(de es fi fr id it no pl pt_BR ro)
54 +
55 +BDEPEND="
56 + app-arch/xz-utils
57 + virtual/pkgconfig
58 + nls? ( sys-devel/gettext )
59 +"
60 +
61 +COMMON_DEPEND="
62 + acct-group/dnsmasq
63 + acct-user/dnsmasq
64 + dbus? ( sys-apps/dbus:= )
65 + idn? (
66 + !libidn2? ( net-dns/libidn:0= )
67 + libidn2? ( >=net-dns/libidn2-2.0:= )
68 + )
69 + lua? ( ${LUA_DEPS} )
70 + conntrack? ( net-libs/libnetfilter_conntrack:= )
71 + nls? ( sys-devel/gettext )
72 +"
73 +
74 +DEPEND="${COMMON_DEPEND}
75 + dnssec? (
76 + dev-libs/nettle:=[gmp]
77 + static? ( >=dev-libs/nettle-3.4[static-libs(+)] )
78 + )
79 +"
80 +
81 +RDEPEND="${COMMON_DEPEND}
82 + dnssec? (
83 + !static? ( >=dev-libs/nettle-3.4:=[gmp] )
84 + )
85 + selinux? ( sec-policy/selinux-dnsmasq )
86 +"
87 +
88 +REQUIRED_USE="
89 + dhcp-tools? ( dhcp )
90 + dnssec? ( !nettlehash )
91 + lua? (
92 + script
93 + ${LUA_REQUIRED_USE}
94 + )
95 + libidn2? ( idn )
96 +"
97 +
98 +use_have() {
99 + local no_only
100 + if [[ ${1} == '-n' ]]; then
101 + no_only=1
102 + shift
103 + fi
104 + local useflag="${1}"
105 + shift
106 +
107 + local uword="${1:-${useflag}}"
108 + shift
109 +
110 + while [[ ${uword} ]]; do
111 + uword="${uword^^}"
112 +
113 + if ! use "${useflag}"; then
114 + printf -- " -DNO_%s" "${uword}"
115 + elif [[ -z "${no_only}" ]]; then
116 + printf -- " -DHAVE_%s" "${uword}"
117 + fi
118 + uword="${1}"
119 + shift
120 + done
121 +}
122 +
123 +pkg_setup() {
124 + use lua && lua-single_pkg_setup
125 +}
126 +
127 +pkg_pretend() {
128 + if use static; then
129 + einfo "Only sys-libs/gmp and dev-libs/nettle are statically linked."
130 + use dnssec || einfo "Thus, ${P}[!dnssec,static] makes no sense;" \
131 + "in this case the static USE flag does nothing."
132 + fi
133 +}
134 +
135 +src_prepare() {
136 + default
137 +
138 + sed -i -r 's:lua5.[0-9]+:lua:' Makefile || die
139 + sed -i "s:%%PREFIX%%:${EPREFIX}/usr:" \
140 + dnsmasq.conf.example || die
141 +}
142 +
143 +src_configure() {
144 + COPTS=(
145 + $(use_have -n auth-dns auth)
146 + $(use_have conntrack)
147 + $(use_have dbus)
148 + $(use libidn2 || use_have idn)
149 + $(use_have libidn2)
150 + $(use_have -n inotify)
151 + $(use_have -n dhcp dhcp dhcp6)
152 + $(use_have -n ipv6 ipv6 dhcp6)
153 + $(use_have -n id id)
154 + $(use_have -n loop)
155 + $(use_have lua luascript)
156 + $(use_have -n script)
157 + $(use_have -n tftp)
158 + $(use_have dnssec)
159 + $(use_have nettlehash)
160 + $(use_have static dnssec_static)
161 + $(use_have -n dumpfile)
162 + )
163 +}
164 +
165 +src_compile() {
166 + emake \
167 + PREFIX=/usr \
168 + MANDIR=/usr/share/man \
169 + CC="$(tc-getCC)" \
170 + PKG_CONFIG="$(tc-getPKG_CONFIG)" \
171 + CFLAGS="${CFLAGS}" \
172 + LDFLAGS="${LDFLAGS}" \
173 + COPTS="${COPTS[*]}" \
174 + CONFFILE="/etc/${PN}.conf" \
175 + all$(use nls && printf -- "-i18n\n")
176 +
177 + use dhcp-tools && emake -C contrib/lease-tools \
178 + PREFIX=/usr \
179 + MANDIR=/usr/share/man \
180 + CC="$(tc-getCC)" \
181 + PKG_CONFIG="$(tc-getPKG_CONFIG)" \
182 + CFLAGS="${CFLAGS}" \
183 + LDFLAGS="${LDFLAGS}" \
184 + all
185 +}
186 +
187 +src_install() {
188 + local lingua puid
189 + emake \
190 + PREFIX=/usr \
191 + MANDIR=/usr/share/man \
192 + COPTS="${COPTS[*]}" \
193 + DESTDIR="${ED}" \
194 + install$(use nls && printf -- "-i18n\n")
195 +
196 + for lingua in "${DM_LINGUAS[@]}"; do
197 + has ${lingua} ${LINGUAS-${lingua}} \
198 + || rm -rf "${ED}"/usr/share/locale/${lingua}
199 + done
200 + [[ -d "${D}"/usr/share/locale/ ]] && \
201 + rmdir --ignore-fail-on-non-empty "${ED}"/usr/share/locale/
202 +
203 + dodoc CHANGELOG CHANGELOG.archive FAQ dnsmasq.conf.example
204 + dodoc -r logo
205 +
206 + docinto html/
207 + dodoc *.html
208 +
209 + newinitd "${FILESDIR}"/dnsmasq-init-r4 ${PN}
210 + newconfd "${FILESDIR}"/dnsmasq.confd-r1 ${PN}
211 +
212 + insinto /etc/logrotate.d
213 + newins "${FILESDIR}"/dnsmasq.logrotate ${PN}
214 +
215 + insinto /etc
216 + newins dnsmasq.conf.example dnsmasq.conf
217 +
218 + insinto /usr/share/dnsmasq
219 + doins trust-anchors.conf
220 +
221 + if use dhcp; then
222 + keepdir /var/lib/misc
223 + newinitd "${FILESDIR}"/dnsmasq-init-dhcp-r3 ${PN}
224 + fi
225 + if use dbus; then
226 + insinto /etc/dbus-1/system.d
227 + doins dbus/dnsmasq.conf
228 + fi
229 +
230 + if use dhcp-tools; then
231 + dosbin contrib/lease-tools/{dhcp_release,dhcp_lease_time}
232 + doman contrib/lease-tools/{dhcp_release,dhcp_lease_time}.1
233 + if use ipv6; then
234 + dosbin contrib/lease-tools/dhcp_release6
235 + doman contrib/lease-tools/dhcp_release6.1
236 + fi
237 + fi
238 +
239 + systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
240 +}
241 +
242 +pkg_preinst() {
243 + [[ -f /var/lib/misc/dnsmasq.leases ]] && \
244 + cp /var/lib/misc/dnsmasq.leases "${T}"
245 +}
246 +
247 +pkg_postinst() {
248 + [[ -f "${T}"/dnsmasq.leases ]] && \
249 + cp "${T}"/dnsmasq.leases /var/lib/misc/dnsmasq.leases
250 +}
251
252 diff --git a/net-dns/dnsmasq/metadata.xml b/net-dns/dnsmasq/metadata.xml
253 index 8a0660cfec5..18d01fd9abb 100644
254 --- a/net-dns/dnsmasq/metadata.xml
255 +++ b/net-dns/dnsmasq/metadata.xml
256 @@ -13,6 +13,7 @@
257 <flag name="dnssec">Enable support DNSSEC validation and caching.</flag>
258 <flag name="dumpfile">Include code to dump packets to a libpcap-format file for debugging</flag>
259 <flag name="id">Whether report *.bind CHAOS info to clients, otherwise forward such requests upstream instead</flag>
260 + <flag name="loop">Include functionality to probe for and remove DNS forwarding loops</flag>
261 <flag name="libidn2">Enable support for Internationalized Domain Names, via <pkg>net-dns/libidn2</pkg> rather than <pkg>net-dns/libidn</pkg></flag>
262 <flag name="nettlehash">Use hashing functions from <pkg>dev-libs/nettle</pkg></flag>
263 <flag name="script">Enable support for calling scripts when leases change.</flag>