Gentoo Archives: gentoo-commits

From: Conrad Kostecki <conikost@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/mit-krb5/, app-crypt/mit-krb5/files/
Date: Wed, 20 Jan 2021 20:47:53
Message-Id: 1611175642.04bdab0f9da07f3c3242281135914029efe44caf.conikost@gentoo
1 commit: 04bdab0f9da07f3c3242281135914029efe44caf
2 Author: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jan 20 20:30:20 2021 +0000
4 Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
5 CommitDate: Wed Jan 20 20:47:22 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04bdab0f
7
8 app-crypt/mit-krb5: don't hardcode libpath
9
10 If libpath is hardcoded for 'krb5-config --libs' this will fail the
11 compilation on 32-bit systems.
12
13 Closes: https://bugs.gentoo.org/634126
14 Package-Manager: Portage-3.0.12, Repoman-3.0.2
15 Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
16
17 .../files/mit-krb5-1.18.2-krb5-config.patch | 15 ++
18 app-crypt/mit-krb5/mit-krb5-1.18.2-r3.ebuild | 169 +++++++++++++++++++++
19 app-crypt/mit-krb5/mit-krb5-1.18.3-r1.ebuild | 168 ++++++++++++++++++++
20 3 files changed, 352 insertions(+)
21
22 diff --git a/app-crypt/mit-krb5/files/mit-krb5-1.18.2-krb5-config.patch b/app-crypt/mit-krb5/files/mit-krb5-1.18.2-krb5-config.patch
23 new file mode 100644
24 index 00000000000..ec901ce9c31
25 --- /dev/null
26 +++ b/app-crypt/mit-krb5/files/mit-krb5-1.18.2-krb5-config.patch
27 @@ -0,0 +1,15 @@
28 +--- a/build-tools/krb5-config.in
29 ++++ b/build-tools/krb5-config.in
30 +@@ -208,12 +208,6 @@
31 +
32 +
33 + if test -n "$do_libs"; then
34 +- # Assumes /usr/lib is the standard library directory everywhere...
35 +- if test "$libdir" = /usr/lib; then
36 +- libdirarg=
37 +- else
38 +- libdirarg="-L$libdir"
39 +- fi
40 + # Ugly gross hack for our build tree
41 + lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \
42 + -e 's/\$(PURE)//' \
43
44 diff --git a/app-crypt/mit-krb5/mit-krb5-1.18.2-r3.ebuild b/app-crypt/mit-krb5/mit-krb5-1.18.2-r3.ebuild
45 new file mode 100644
46 index 00000000000..7bbe482d448
47 --- /dev/null
48 +++ b/app-crypt/mit-krb5/mit-krb5-1.18.2-r3.ebuild
49 @@ -0,0 +1,169 @@
50 +# Copyright 1999-2021 Gentoo Authors
51 +# Distributed under the terms of the GNU General Public License v2
52 +
53 +EAPI=7
54 +
55 +PYTHON_COMPAT=( python3_{7,8,9} )
56 +inherit autotools flag-o-matic multilib-minimal python-any-r1 systemd toolchain-funcs
57 +
58 +MY_P="${P/mit-}"
59 +P_DIR=$(ver_cut 1-2)
60 +DESCRIPTION="MIT Kerberos V"
61 +HOMEPAGE="https://web.mit.edu/kerberos/www/"
62 +SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
63 +
64 +LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
65 +SLOT="0"
66 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
67 +IUSE="cpu_flags_x86_aes doc +keyutils libressl lmdb nls openldap +pkinit selinux +threads test xinetd"
68 +
69 +# Test suite requires network access
70 +RESTRICT="test"
71 +
72 +DEPEND="
73 + !!app-crypt/heimdal
74 + >=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
75 + || (
76 + >=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
77 + >=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
78 + >=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
79 + )
80 + keyutils? ( >=sys-apps/keyutils-1.5.8:=[${MULTILIB_USEDEP}] )
81 + lmdb? ( dev-db/lmdb )
82 + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
83 + openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
84 + pkinit? (
85 + !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
86 + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
87 + )
88 + xinetd? ( sys-apps/xinetd )
89 + "
90 +BDEPEND="
91 + ${PYTHON_DEPS}
92 + virtual/yacc
93 + cpu_flags_x86_aes? (
94 + amd64? ( dev-lang/yasm )
95 + x86? ( dev-lang/yasm )
96 + )
97 + doc? ( virtual/latex-base )
98 + test? (
99 + ${PYTHON_DEPS}
100 + dev-lang/tcl:0
101 + dev-util/dejagnu
102 + dev-util/cmocka
103 + )"
104 +RDEPEND="${DEPEND}
105 + selinux? ( sec-policy/selinux-kerberos )"
106 +
107 +S=${WORKDIR}/${MY_P}/src
108 +
109 +PATCHES=(
110 + "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
111 + "${FILESDIR}/${PN}-config_LDFLAGS-r1.patch"
112 + "${FILESDIR}/${PN}-1.16.3-libressl-r1.patch"
113 + "${FILESDIR}/${PN}_dont_create_run.patch"
114 + "${FILESDIR}/${PN}-1.18-libressl.patch"
115 + "${FILESDIR}/CVE-2020-28196.patch"
116 + "${FILESDIR}/${PN}-1.18.2-krb5-config.patch"
117 +)
118 +
119 +MULTILIB_CHOST_TOOLS=(
120 + /usr/bin/krb5-config
121 +)
122 +
123 +src_prepare() {
124 + default
125 + # Make sure we always use the system copies.
126 + rm -rf util/{et,ss,verto}
127 + sed -i 's:^[[:space:]]*util/verto$::' configure.ac || die
128 +
129 + eautoreconf
130 +}
131 +
132 +src_configure() {
133 + # QA
134 + append-flags -fno-strict-aliasing
135 + append-flags -fno-strict-overflow
136 +
137 + multilib-minimal_src_configure
138 +}
139 +
140 +multilib_src_configure() {
141 + ECONF_SOURCE=${S} \
142 + WARN_CFLAGS="set" \
143 + econf \
144 + $(use_with openldap ldap) \
145 + "$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
146 + $(use_enable nls) \
147 + $(use_enable pkinit) \
148 + $(use_enable threads thread-support) \
149 + $(use_with lmdb) \
150 + $(use_with keyutils) \
151 + --without-hesiod \
152 + --enable-shared \
153 + --with-system-et \
154 + --with-system-ss \
155 + --enable-dns-for-realm \
156 + --enable-kdc-lookaside-cache \
157 + --with-system-verto \
158 + --disable-rpath \
159 + \
160 + AR="$(tc-getAR)"
161 +}
162 +
163 +multilib_src_compile() {
164 + emake -j1
165 +}
166 +
167 +multilib_src_test() {
168 + multilib_is_native_abi && emake -j1 check
169 +}
170 +
171 +multilib_src_install() {
172 + emake \
173 + DESTDIR="${D}" \
174 + EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
175 + install
176 +}
177 +
178 +multilib_src_install_all() {
179 + # default database dir
180 + keepdir /var/lib/krb5kdc
181 +
182 + cd ..
183 + dodoc README
184 +
185 + if use doc; then
186 + dodoc -r doc/html
187 + docinto pdf
188 + dodoc doc/pdf/*.pdf
189 + fi
190 +
191 + newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
192 + newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
193 + newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
194 + newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
195 + newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
196 + newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
197 +
198 + systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service
199 + systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service
200 + systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service
201 + systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service"
202 + systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket
203 +
204 + insinto /etc
205 + newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
206 + insinto /var/lib/krb5kdc
207 + newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
208 +
209 + if use openldap ; then
210 + insinto /etc/openldap/schema
211 + doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
212 + fi
213 +
214 + if use xinetd ; then
215 + insinto /etc/xinetd.d
216 + newins "${FILESDIR}/kpropd.xinetd" kpropd
217 + fi
218 +}
219
220 diff --git a/app-crypt/mit-krb5/mit-krb5-1.18.3-r1.ebuild b/app-crypt/mit-krb5/mit-krb5-1.18.3-r1.ebuild
221 new file mode 100644
222 index 00000000000..b1742386374
223 --- /dev/null
224 +++ b/app-crypt/mit-krb5/mit-krb5-1.18.3-r1.ebuild
225 @@ -0,0 +1,168 @@
226 +# Copyright 1999-2021 Gentoo Authors
227 +# Distributed under the terms of the GNU General Public License v2
228 +
229 +EAPI=7
230 +
231 +PYTHON_COMPAT=( python3_{7,8,9} )
232 +inherit autotools flag-o-matic multilib-minimal python-any-r1 systemd toolchain-funcs
233 +
234 +MY_P="${P/mit-}"
235 +P_DIR=$(ver_cut 1-2)
236 +DESCRIPTION="MIT Kerberos V"
237 +HOMEPAGE="https://web.mit.edu/kerberos/www/"
238 +SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
239 +
240 +LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
241 +SLOT="0"
242 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
243 +IUSE="cpu_flags_x86_aes doc +keyutils libressl lmdb nls openldap +pkinit selinux +threads test xinetd"
244 +
245 +# Test suite requires network access
246 +RESTRICT="test"
247 +
248 +DEPEND="
249 + !!app-crypt/heimdal
250 + >=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
251 + || (
252 + >=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
253 + >=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
254 + >=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
255 + )
256 + keyutils? ( >=sys-apps/keyutils-1.5.8:=[${MULTILIB_USEDEP}] )
257 + lmdb? ( dev-db/lmdb )
258 + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
259 + openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
260 + pkinit? (
261 + !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
262 + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
263 + )
264 + xinetd? ( sys-apps/xinetd )
265 + "
266 +BDEPEND="
267 + ${PYTHON_DEPS}
268 + virtual/yacc
269 + cpu_flags_x86_aes? (
270 + amd64? ( dev-lang/yasm )
271 + x86? ( dev-lang/yasm )
272 + )
273 + doc? ( virtual/latex-base )
274 + test? (
275 + ${PYTHON_DEPS}
276 + dev-lang/tcl:0
277 + dev-util/dejagnu
278 + dev-util/cmocka
279 + )"
280 +RDEPEND="${DEPEND}
281 + selinux? ( sec-policy/selinux-kerberos )"
282 +
283 +S=${WORKDIR}/${MY_P}/src
284 +
285 +PATCHES=(
286 + "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
287 + "${FILESDIR}/${PN}-config_LDFLAGS-r1.patch"
288 + "${FILESDIR}/${PN}-1.16.3-libressl-r1.patch"
289 + "${FILESDIR}/${PN}_dont_create_run.patch"
290 + "${FILESDIR}/${PN}-1.18-libressl.patch"
291 + "${FILESDIR}/${PN}-1.18.2-krb5-config.patch"
292 +)
293 +
294 +MULTILIB_CHOST_TOOLS=(
295 + /usr/bin/krb5-config
296 +)
297 +
298 +src_prepare() {
299 + default
300 + # Make sure we always use the system copies.
301 + rm -rf util/{et,ss,verto}
302 + sed -i 's:^[[:space:]]*util/verto$::' configure.ac || die
303 +
304 + eautoreconf
305 +}
306 +
307 +src_configure() {
308 + # QA
309 + append-flags -fno-strict-aliasing
310 + append-flags -fno-strict-overflow
311 +
312 + multilib-minimal_src_configure
313 +}
314 +
315 +multilib_src_configure() {
316 + ECONF_SOURCE=${S} \
317 + WARN_CFLAGS="set" \
318 + econf \
319 + $(use_with openldap ldap) \
320 + "$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
321 + $(use_enable nls) \
322 + $(use_enable pkinit) \
323 + $(use_enable threads thread-support) \
324 + $(use_with lmdb) \
325 + $(use_with keyutils) \
326 + --without-hesiod \
327 + --enable-shared \
328 + --with-system-et \
329 + --with-system-ss \
330 + --enable-dns-for-realm \
331 + --enable-kdc-lookaside-cache \
332 + --with-system-verto \
333 + --disable-rpath \
334 + \
335 + AR="$(tc-getAR)"
336 +}
337 +
338 +multilib_src_compile() {
339 + emake -j1
340 +}
341 +
342 +multilib_src_test() {
343 + multilib_is_native_abi && emake -j1 check
344 +}
345 +
346 +multilib_src_install() {
347 + emake \
348 + DESTDIR="${D}" \
349 + EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
350 + install
351 +}
352 +
353 +multilib_src_install_all() {
354 + # default database dir
355 + keepdir /var/lib/krb5kdc
356 +
357 + cd ..
358 + dodoc README
359 +
360 + if use doc; then
361 + dodoc -r doc/html
362 + docinto pdf
363 + dodoc doc/pdf/*.pdf
364 + fi
365 +
366 + newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
367 + newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
368 + newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
369 + newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
370 + newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
371 + newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
372 +
373 + systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service
374 + systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service
375 + systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service
376 + systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service"
377 + systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket
378 +
379 + insinto /etc
380 + newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
381 + insinto /var/lib/krb5kdc
382 + newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
383 +
384 + if use openldap ; then
385 + insinto /etc/openldap/schema
386 + doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
387 + fi
388 +
389 + if use xinetd ; then
390 + insinto /etc/xinetd.d
391 + newins "${FILESDIR}/kpropd.xinetd" kpropd
392 + fi
393 +}