Gentoo Archives: gentoo-commits

From: Mikle Kolyada <zlogene@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-auth/sssd/
Date: Sun, 18 Jul 2021 13:55:22
Message-Id: 1626616505.636f43e30bee7d168ef5966a431bf34073c2db91.zlogene@gentoo
1 commit: 636f43e30bee7d168ef5966a431bf34073c2db91
2 Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jul 18 13:52:14 2021 +0000
4 Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 18 13:55:05 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=636f43e3
7
8 sys-auth/sssd: add 2.5.2
9
10 Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
11
12 sys-auth/sssd/Manifest | 1 +
13 sys-auth/sssd/sssd-2.5.2.ebuild | 297 ++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 298 insertions(+)
15
16 diff --git a/sys-auth/sssd/Manifest b/sys-auth/sssd/Manifest
17 index 4e73b72b90d..0e5e62e5f17 100644
18 --- a/sys-auth/sssd/Manifest
19 +++ b/sys-auth/sssd/Manifest
20 @@ -1,3 +1,4 @@
21 DIST sssd-2.3.1.tar.gz 7186526 BLAKE2B 6d630fe75b9b426ef54adbe1704fde8e01fc34df7861028c07ce2985db8a151ce743d633061386fea6460fe8eabb89242b816d4bac87975bb9b7b2064ad1d547 SHA512 6aeb52d5222c5992d581296996749327bcaf276e4eb4413a6a32ea6529343432cfe413006aca4245c19b38b515be1c4c2ef88a157c617d889274179253355bc6
22 DIST sssd-2.5.0.tar.gz 7474851 BLAKE2B 835ca53a7910f457666a92be62fe047dbcf52c56560dad60d6c6275dccca917b4349d053586c8c88da49f900d570c890faa7372783be35940ccd49d1fd4ec09d SHA512 80b5e81cedacdf0bbe724af20d69b918bb6cc353976c6c65421afcd5809d1723f523bc3c1be294b9e01cfda9617c2df5c6ceb007837f195eb1abc2abdab9858c
23 DIST sssd-2.5.1.tar.gz 7492275 BLAKE2B 9f19d12cb0e071b15bd8fe2660ab9a2223d53267549602c4837f35ed852fa60022514a0bbd03c684c1f398d763120c5f706999d86432d9fe03c3715cb0d43000 SHA512 7441df3b5f1cc1eadb0c6853b048d780ecb36761876aaeb26b9a2d87729211d3ceeae01085dc3ec4fd1c5328f951c8abe854b1d01d91fae25466f930fe16e44a
24 +DIST sssd-2.5.2.tar.gz 7579208 BLAKE2B ec5d9aeaf5b5e05b56c01f9137f6f24db05544dbd48458d742285b60e7beb6d48af865f3415e11ce89e187f4643bbecf15bbb321859ec80cfe458eb781cea6c9 SHA512 a9bac7b2cc23022dce3bcda314c9c26a0a0914c448f6d5a51c5ba18670f04c1fd1a94cb20173235b6285df1dcc9251cb6b3f3e71a220037b4eb66668e6f33c48
25
26 diff --git a/sys-auth/sssd/sssd-2.5.2.ebuild b/sys-auth/sssd/sssd-2.5.2.ebuild
27 new file mode 100644
28 index 00000000000..3c3af9abb66
29 --- /dev/null
30 +++ b/sys-auth/sssd/sssd-2.5.2.ebuild
31 @@ -0,0 +1,297 @@
32 +# Copyright 1999-2021 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +PYTHON_COMPAT=( python3_{7..10} )
38 +
39 +inherit autotools flag-o-matic linux-info multilib-minimal python-single-r1 pam systemd toolchain-funcs
40 +
41 +DESCRIPTION="System Security Services Daemon provides access to identity and authentication"
42 +HOMEPAGE="https://github.com/SSSD/sssd"
43 +SRC_URI="https://github.com/SSSD/sssd/releases/download/${PV}/${P}.tar.gz"
44 +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
45 +
46 +LICENSE="GPL-3"
47 +SLOT="0"
48 +IUSE="acl doc +locator +netlink nfsv4 nls +man pac python samba selinux sudo systemd systemtap test valgrind"
49 +RESTRICT="!test? ( test )"
50 +
51 +REQUIRED_USE="${PYTHON_REQUIRED_USE}
52 + pac? ( samba )
53 + test? ( sudo )
54 + valgrind? ( test )"
55 +
56 +BDEPEND=">=sys-devel/autoconf-2.69-r5
57 + virtual/pkgconfig
58 + ${PYTHON_DEPS}
59 + doc? ( app-doc/doxygen )
60 + test? (
61 + dev-libs/check
62 + dev-libs/softhsm:2
63 + dev-util/cmocka
64 + net-libs/gnutls[pkcs11,tools]
65 + sys-libs/libfaketime
66 + sys-libs/nss_wrapper
67 + sys-libs/pam_wrapper
68 + sys-libs/uid_wrapper
69 + valgrind? ( dev-util/valgrind )
70 + )
71 + man? (
72 + app-text/docbook-xml-dtd:4.4
73 + >=dev-libs/libxslt-1.1.26
74 + nls? ( app-text/po4a )
75 + )"
76 +
77 +DEPEND=">=app-crypt/mit-krb5-1.19.1[${MULTILIB_USEDEP}]
78 + app-crypt/p11-kit
79 + >=dev-libs/ding-libs-0.2
80 + dev-libs/glib:2
81 + >=dev-libs/cyrus-sasl-2.1.25-r3[kerberos]
82 + >=dev-libs/libpcre-8.30:=
83 + >=dev-libs/popt-1.16
84 + >=dev-libs/openssl-1.0.2:0=
85 + >=net-dns/bind-tools-9.9[gssapi]
86 + >=net-dns/c-ares-1.7.4
87 + >=net-nds/openldap-2.4.30[sasl]
88 + >=sys-apps/dbus-1.6
89 + >=sys-apps/keyutils-1.5:=
90 + >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}]
91 + >=sys-libs/talloc-2.0.7
92 + >=sys-libs/tdb-1.2.9
93 + >=sys-libs/tevent-0.9.16
94 + >=sys-libs/ldb-1.1.17-r1:=
95 + virtual/libintl
96 + locator? (
97 + >=net-dns/c-ares-1.10.0-r1[${MULTILIB_USEDEP}]
98 + )
99 + acl? ( net-fs/cifs-utils[acl] )
100 + netlink? ( dev-libs/libnl:3 )
101 + nfsv4? ( || ( >=net-fs/nfs-utils-2.3.1-r2 net-libs/libnfsidmap ) )
102 + nls? ( >=sys-devel/gettext-0.18 )
103 + pac? (
104 + net-fs/samba
105 + )
106 + python? ( ${PYTHON_DEPS} )
107 + samba? ( >=net-fs/samba-4.10.2[winbind] )
108 + selinux? (
109 + >=sys-libs/libselinux-2.1.9
110 + >=sys-libs/libsemanage-2.1
111 + )
112 + systemd? (
113 + dev-libs/jansson:0=
114 + net-libs/http-parser:0=
115 + net-misc/curl:0=
116 + )
117 + systemtap? ( dev-util/systemtap )"
118 +RDEPEND="${DEPEND}
119 + >=sys-libs/glibc-2.17[nscd]
120 + selinux? ( >=sec-policy/selinux-sssd-2.20120725-r9 )"
121 +
122 +CONFIG_CHECK="~KEYS"
123 +
124 +MULTILIB_WRAPPED_HEADERS=(
125 + /usr/include/ipa_hbac.h
126 + /usr/include/sss_idmap.h
127 + /usr/include/sss_nss_idmap.h
128 + # --with-ifp
129 + /usr/include/sss_sifp.h
130 + /usr/include/sss_sifp_dbus.h
131 + # from 1.15.3
132 + /usr/include/sss_certmap.h
133 +)
134 +
135 +pkg_setup() {
136 + linux-info_pkg_setup
137 + python-single-r1_pkg_setup
138 +}
139 +
140 +src_prepare() {
141 + default
142 +
143 + sed -i \
144 + -e 's:/var/run:/run:' \
145 + "${S}"/src/examples/logrotate \
146 + || die
147 +
148 + # disable flaky test, see https://github.com/SSSD/sssd/issues/5631
149 + sed -i \
150 + -e '/^\s*pam-srv-tests[ \\]*$/d' \
151 + "${S}"/Makefile.am \
152 + || die
153 +
154 + eautoreconf
155 +
156 + multilib_copy_sources
157 +}
158 +
159 +src_configure() {
160 + local native_dbus_cflags=$($(tc-getPKG_CONFIG) --cflags dbus-1)
161 +
162 + multilib-minimal_src_configure
163 +}
164 +
165 +multilib_src_configure() {
166 + local myconf=()
167 +
168 + myconf+=(
169 + --localstatedir="${EPREFIX}"/var
170 + --runstatedir="${EPREFIX}"/run
171 + --with-pid-path="${EPREFIX}"/run
172 + --with-plugin-path="${EPREFIX}"/usr/$(get_libdir)/sssd
173 + --enable-pammoddir="${EPREFIX}"/$(getpam_mod_dir)
174 + --with-ldb-lib-dir="${EPREFIX}"/usr/$(get_libdir)/samba/ldb
175 + --with-db-path="${EPREFIX}"/var/lib/sss/db
176 + --with-gpo-cache-path="${EPREFIX}"/var/lib/sss/gpo_cache
177 + --with-pubconf-path="${EPREFIX}"/var/lib/sss/pubconf
178 + --with-pipe-path="${EPREFIX}"/var/lib/sss/pipes
179 + --with-mcache-path="${EPREFIX}"/var/lib/sss/mc
180 + --with-secrets-db-path="${EPREFIX}"/var/lib/sss/secrets
181 + --with-log-path="${EPREFIX}"/var/log/sssd
182 + --with-os=gentoo
183 + --with-nscd="${EPREFIX}"/usr/sbin/nscd
184 + --with-unicode-lib="glib2"
185 + --disable-rpath
186 + --disable-static
187 + --sbindir=/usr/sbin
188 + --enable-local-provider
189 + $(multilib_native_use_with systemd kcm)
190 + $(multilib_native_use_with systemd secrets)
191 + $(use_with samba)
192 + --with-smb-idmap-interface-version=6
193 + $(multilib_native_use_enable acl cifs-idmap-plugin)
194 + $(multilib_native_use_with selinux)
195 + $(multilib_native_use_with selinux semanage)
196 + $(use_enable locator krb5-locator-plugin)
197 + $(use_enable pac pac-responder)
198 + $(multilib_native_use_with nfsv4 nfsv4-idmapd-plugin)
199 + $(use_enable nls)
200 + $(multilib_native_use_with netlink libnl)
201 + $(multilib_native_use_with man manpages)
202 + $(multilib_native_use_with sudo)
203 + $(multilib_native_with autofs)
204 + $(multilib_native_with ssh)
205 + $(use_enable systemtap)
206 + $(use_enable valgrind)
207 + --without-python2-bindings
208 + $(multilib_native_use_with python python3-bindings)
209 + )
210 +
211 + # Annoyingly configure requires that you pick systemd XOR sysv
212 + if use systemd; then
213 + myconf+=(
214 + --with-initscript="systemd"
215 + --with-systemdunitdir=$(systemd_get_systemunitdir)
216 + )
217 + else
218 + myconf+=(--with-initscript="sysv")
219 + fi
220 +
221 + if ! multilib_is_native_abi; then
222 + # work-around all the libraries that are used for CLI and server
223 + myconf+=(
224 + {POPT,TALLOC,TDB,TEVENT,LDB}_{CFLAGS,LIBS}=' '
225 + # ldb headers are fine since native needs it
226 + # ldb lib fails... but it does not seem to bother
227 + {DHASH,COLLECTION,INI_CONFIG_V{0,1,1_1,1_3}}_{CFLAGS,LIBS}=' '
228 + {PCRE,CARES,SYSTEMD_LOGIN,SASL,GLIB2,DBUS,CRYPTO,P11_KIT}_{CFLAGS,LIBS}=' '
229 + {NDR_NBT,SMBCLIENT,NDR_KRB5PAC}_{CFLAGS,LIBS}=' '
230 +
231 + # use native include path for dbus (needed for build)
232 + DBUS_CFLAGS="${native_dbus_cflags}"
233 +
234 + # non-pkgconfig checks
235 + ac_cv_lib_ldap_ldap_search=yes
236 + --without-secrets
237 + --without-kcm
238 + )
239 + fi
240 +
241 + econf "${myconf[@]}"
242 +}
243 +
244 +multilib_src_compile() {
245 + if multilib_is_native_abi; then
246 + default
247 + use doc && emake docs
248 + if use man || use nls; then
249 + emake update-po
250 + fi
251 + else
252 + emake libnss_sss.la pam_sss.la
253 + use locator && emake sssd_krb5_locator_plugin.la
254 + use pac && emake sssd_pac_plugin.la
255 + fi
256 +}
257 +
258 +multilib_src_test() {
259 + if multilib_is_native_abi; then
260 + local -x CK_TIMEOUT_MULTIPLIER=10
261 + emake check VERBOSE=yes
262 + fi
263 +}
264 +
265 +multilib_src_install() {
266 + if multilib_is_native_abi; then
267 + emake -j1 DESTDIR="${D}" "${_at_args[@]}" install
268 + if use python; then
269 + python_optimize
270 + python_fix_shebang "${ED}"
271 + fi
272 + else
273 + # easier than playing with automake...
274 + dopammod .libs/pam_sss.so
275 +
276 + into /
277 + dolib.so .libs/libnss_sss.so*
278 +
279 + if use locator; then
280 + exeinto /usr/$(get_libdir)/krb5/plugins/libkrb5
281 + doexe .libs/sssd_krb5_locator_plugin.so
282 + fi
283 +
284 + if use pac; then
285 + exeinto /usr/$(get_libdir)/krb5/plugins/authdata
286 + doexe .libs/sssd_pac_plugin.so
287 + fi
288 + fi
289 +}
290 +
291 +multilib_src_install_all() {
292 + einstalldocs
293 + find "${ED}" -type f -name '*.la' -delete || die
294 +
295 + insinto /etc/sssd
296 + insopts -m600
297 + doins "${S}"/src/examples/sssd-example.conf
298 +
299 + insinto /etc/logrotate.d
300 + insopts -m644
301 + newins "${S}"/src/examples/logrotate sssd
302 +
303 + newconfd "${FILESDIR}"/sssd.conf sssd
304 +
305 + keepdir /var/lib/sss/db
306 + keepdir /var/lib/sss/deskprofile
307 + keepdir /var/lib/sss/gpo_cache
308 + keepdir /var/lib/sss/keytabs
309 + keepdir /var/lib/sss/mc
310 + keepdir /var/lib/sss/pipes/private
311 + keepdir /var/lib/sss/pubconf/krb5.include.d
312 + keepdir /var/lib/sss/secrets
313 + keepdir /var/log/sssd
314 +
315 + # strip empty dirs
316 + if ! use doc; then
317 + rm -r "${ED}"/usr/share/doc/"${PF}"/doc || die
318 + rm -r "${ED}"/usr/share/doc/"${PF}"/{hbac,idmap,nss_idmap,sss_simpleifp}_doc || die
319 + fi
320 +
321 + rm -r "${ED}"/run || die
322 +}
323 +
324 +pkg_postinst() {
325 + elog "You must set up sssd.conf (default installed into /etc/sssd)"
326 + elog "and (optionally) configuration in /etc/pam.d in order to use SSSD"
327 + elog "features. Please see howto in https://sssd.io/docs/design_pages/smartcard_authentication_require.html"
328 +}