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: Thu, 01 Jun 2017 23:33:36
Message-Id: 1496360002.59d350e093e650a90925a43325281ba2e9b5d036.chutzpah@gentoo
1 commit: 59d350e093e650a90925a43325281ba2e9b5d036
2 Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 1 23:32:50 2017 +0000
4 Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 1 23:33:22 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59d350e0
7
8 net-dns/dnsmasq: Version bump to 2.77
9
10 Package-Manager: Portage-2.3.6, Repoman-2.3.2
11
12 net-dns/dnsmasq/Manifest | 1 +
13 net-dns/dnsmasq/dnsmasq-2.77.ebuild | 198 ++++++++++++++++++++++++++++++++++++
14 net-dns/dnsmasq/metadata.xml | 2 +
15 3 files changed, 201 insertions(+)
16
17 diff --git a/net-dns/dnsmasq/Manifest b/net-dns/dnsmasq/Manifest
18 index 24a420d02f2..241b1aa59f7 100644
19 --- a/net-dns/dnsmasq/Manifest
20 +++ b/net-dns/dnsmasq/Manifest
21 @@ -1 +1,2 @@
22 DIST dnsmasq-2.76.tar.xz 480796 SHA256 4b92698dee19ca0cb2a8f2e48f1d2dffd01a21eb15d1fbed4cf085630c8c9f96 SHA512 8a930f3e7cdc0c291ce89bea8128a4b8438b9aa9e660a2ac037e0baa4c5c74f4482a8f83b0410066a759444b3c4e1cf62a9beb625e38509690227996de10e06a WHIRLPOOL e0710f879fd6f8e27581b8c400704660941601cd2077f32d7c2b3f9791c6be8404469770e74f7e1a03880507a32a30c19b89f6a953a757ad01305f829448f0bc
23 +DIST dnsmasq-2.77.tar.xz 487244 SHA256 6eac3b1c50ae25170e3ff8c96ddb55236cf45007633fdb8a35b1f3e02f5f8b8a SHA512 6ca98a71a8fdfd606e29c58b34dadfa63148c39f931570cca67a287e044d52c6ec2f8acbf5620ada3312e9db3a2fd63877188d829c070beaa730607e3309e768 WHIRLPOOL 94a4fdc23d81fe38456756d81e53f1258ccd360c4d22952c889f2d5f76d401696587a5362f5aacd1ef86799874ac9eae3c3879d0fe81b66beeafb2f3ce0e01d0
24
25 diff --git a/net-dns/dnsmasq/dnsmasq-2.77.ebuild b/net-dns/dnsmasq/dnsmasq-2.77.ebuild
26 new file mode 100644
27 index 00000000000..aca27f5483b
28 --- /dev/null
29 +++ b/net-dns/dnsmasq/dnsmasq-2.77.ebuild
30 @@ -0,0 +1,198 @@
31 +# Copyright 1999-2017 Gentoo Foundation
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=6
35 +
36 +inherit toolchain-funcs flag-o-matic user systemd
37 +
38 +DESCRIPTION="Small forwarding DNS server"
39 +HOMEPAGE="http://www.thekelleys.org.uk/dnsmasq/doc.html"
40 +SRC_URI="http://www.thekelleys.org.uk/dnsmasq/${P}.tar.xz"
41 +
42 +LICENSE="|| ( GPL-2 GPL-3 )"
43 +SLOT="0"
44 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
45 +
46 +IUSE="auth-dns conntrack dbus +dhcp dhcp-tools dnssec +id idn libidn2 +inotify"
47 +IUSE+=" ipv6 lua nls script selinux static tftp"
48 +
49 +DM_LINGUAS=(de es fi fr id it no pl pt_BR ro)
50 +
51 +for dm_lingua in "${DM_LINGUAS[@]}"; do
52 + IUSE+=" linguas_${dm_lingua}"
53 +done
54 +
55 +CDEPEND="dbus? ( sys-apps/dbus )
56 + idn? ( net-dns/libidn )
57 + libidn2? ( net-dns/libidn2 )
58 + lua? ( dev-lang/lua:* )
59 + conntrack? ( net-libs/libnetfilter_conntrack )
60 + nls? ( sys-devel/gettext )
61 +"
62 +
63 +DEPEND="${CDEPEND}
64 + app-arch/xz-utils
65 + dnssec? (
66 + dev-libs/nettle[gmp]
67 + static? (
68 + dev-libs/nettle[static-libs(+)]
69 + )
70 + )
71 + virtual/pkgconfig"
72 +
73 +RDEPEND="${CDEPEND}
74 + dnssec? (
75 + !static? (
76 + dev-libs/nettle[gmp]
77 + )
78 + )
79 + selinux? ( sec-policy/selinux-dnsmasq )
80 +"
81 +
82 +REQUIRED_USE="dhcp-tools? ( dhcp )
83 + lua? ( script )
84 + libidn2? ( !idn )
85 + nls? ( || ( libidn2 idn ) )"
86 +
87 +use_have() {
88 + local useflag no_only uword
89 + if [[ $1 == '-n' ]]; then
90 + no_only=1
91 + shift
92 + fi
93 + useflag="${1}"
94 + shift
95 +
96 + uword="${1:-${useflag}}"
97 + shift
98 +
99 + while [[ ${uword} ]]; do
100 + uword="${uword^^}"
101 +
102 + if ! use "${useflag}"; then
103 + echo -n " -DNO_${uword}"
104 + elif [[ -z "${no_only}" ]]; then
105 + echo -n " -DHAVE_${uword}"
106 + fi
107 + uword="${1}"
108 + shift
109 + done
110 +}
111 +
112 +pkg_pretend() {
113 + if use static; then
114 + einfo "Only sys-libs/gmp and dev-libs/nettle are statically linked."
115 + use dnssec || einfo "Thus, ${P}[!dnssec,static] makes no sense; the static USE flag is ignored."
116 + fi
117 +}
118 +
119 +pkg_setup() {
120 + enewgroup dnsmasq
121 + enewuser dnsmasq -1 -1 /dev/null dnsmasq
122 +}
123 +
124 +src_prepare() {
125 + default
126 +
127 + sed -i -r 's:lua5.[0-9]+:lua:' Makefile
128 + sed -i "s:%%PREFIX%%:${EPREFIX}/usr:" dnsmasq.conf.example
129 +}
130 +
131 +src_configure() {
132 + COPTS="$(use_have -n auth-dns auth)"
133 + COPTS+="$(use_have conntrack)"
134 + COPTS+="$(use_have dbus)"
135 + COPTS+="$(use_have idn)"
136 + COPTS+="$(use_have libidn2)"
137 + COPTS+="$(use_have -n inotify)"
138 + COPTS+="$(use_have -n dhcp dhcp dhcp6)"
139 + COPTS+="$(use_have -n ipv6 ipv6 dhcp6)"
140 + COPTS+="$(use_have -n id id)"
141 + COPTS+="$(use_have lua luascript)"
142 + COPTS+="$(use_have -n script)"
143 + COPTS+="$(use_have -n tftp)"
144 + COPTS+="$(use_have dnssec)"
145 + COPTS+="$(use_have static dnssec_static)"
146 +}
147 +
148 +src_compile() {
149 + emake \
150 + PREFIX=/usr \
151 + MANDIR=/usr/share/man \
152 + CC="$(tc-getCC)" \
153 + PKG_CONFIG="$(tc-getPKG_CONFIG)" \
154 + CFLAGS="${CFLAGS}" \
155 + LDFLAGS="${LDFLAGS}" \
156 + COPTS="${COPTS}" \
157 + CONFFILE="/etc/${PN}.conf" \
158 + all$(use nls && echo "-i18n")
159 +
160 + use dhcp-tools && emake -C contrib/lease-tools \
161 + PREFIX=/usr \
162 + MANDIR=/usr/share/man \
163 + CC="$(tc-getCC)" \
164 + PKG_CONFIG="$(tc-getPKG_CONFIG)" \
165 + CFLAGS="${CFLAGS}" \
166 + LDFLAGS="${LDFLAGS}" \
167 + all
168 +}
169 +
170 +src_install() {
171 + local lingua puid
172 + emake \
173 + PREFIX=/usr \
174 + MANDIR=/usr/share/man \
175 + COPTS="${COPTS}" \
176 + DESTDIR="${D}" \
177 + install$(use nls && echo "-i18n")
178 +
179 + for lingua in "${DM_LINGUAS[@]}"; do
180 + use linguas_${lingua} || rm -rf "${D}"/usr/share/locale/${lingua}
181 + done
182 + [[ -d "${D}"/usr/share/locale/ ]] && rmdir --ignore-fail-on-non-empty "${D}"/usr/share/locale/
183 +
184 + dodoc CHANGELOG CHANGELOG.archive FAQ dnsmasq.conf.example
185 + dodoc -r logo
186 +
187 + docinto html/
188 + dodoc *.html
189 +
190 + newinitd "${FILESDIR}"/dnsmasq-init-r2 ${PN}
191 + newconfd "${FILESDIR}"/dnsmasq.confd-r1 ${PN}
192 +
193 + insinto /etc
194 + newins dnsmasq.conf.example dnsmasq.conf
195 +
196 + insinto /usr/share/dnsmasq
197 + doins trust-anchors.conf
198 +
199 + if use dhcp; then
200 + dodir /var/lib/misc
201 + newinitd "${FILESDIR}"/dnsmasq-init-dhcp-r1 ${PN}
202 + fi
203 + if use dbus; then
204 + insinto /etc/dbus-1/system.d
205 + doins dbus/dnsmasq.conf
206 + fi
207 +
208 + if use dhcp-tools; then
209 + dosbin contrib/lease-tools/{dhcp_release,dhcp_lease_time}
210 + doman contrib/lease-tools/{dhcp_release,dhcp_lease_time}.1
211 + if use ipv6; then
212 + dosbin contrib/lease-tools/dhcp_release6
213 + doman contrib/lease-tools/dhcp_release6.1
214 + fi
215 + fi
216 +
217 + systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
218 +}
219 +
220 +pkg_preinst() {
221 + # temporary workaround to (hopefully) prevent leases file from being removed
222 + [[ -f /var/lib/misc/dnsmasq.leases ]] && cp /var/lib/misc/dnsmasq.leases "${T}"
223 +}
224 +
225 +pkg_postinst() {
226 + # temporary workaround to (hopefully) prevent leases file from being removed
227 + [[ -f "${T}"/dnsmasq.leases ]] && cp "${T}"/dnsmasq.leases /var/lib/misc/dnsmasq.leases
228 +}
229
230 diff --git a/net-dns/dnsmasq/metadata.xml b/net-dns/dnsmasq/metadata.xml
231 index 6c712464c21..dd1a2a161c6 100644
232 --- a/net-dns/dnsmasq/metadata.xml
233 +++ b/net-dns/dnsmasq/metadata.xml
234 @@ -11,6 +11,8 @@
235 <flag name="dhcp-tools">Install extra command line tools for manually managing DHCP leases.</flag>
236 <flag name="dhcp">Enable support for acting as a DHCP server.</flag>
237 <flag name="dnssec">Enable support DNSSEC validation and caching.</flag>
238 + <flag name="id">Whether report *.bind CHAOS info to clients, otherwise forward such requests upstream instead</flag>
239 + <flag name="libidn2">Enable support for Internationalized Domain Names, via net-dns/libidn2 rather than net-dns/libidn</flag>
240 <flag name="script">Enable support for calling scripts when leases change.</flag>
241 <flag name="tftp">Enables built in TFTP server for netbooting.</flag>
242 </use>