From 2575837a2125434766c1c8a71818bd91411268db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20F=C3=B6rster?= Date: Thu, 20 Aug 2020 20:48:50 +0200 Subject: [PATCH] [sys-auth/sssd] sync with PR --- sys-auth/sssd/metadata.xml | 4 - sys-auth/sssd/sssd-2.3.1.ebuild | 160 +++++++++++--------------------- 2 files changed, 53 insertions(+), 111 deletions(-) diff --git a/sys-auth/sssd/metadata.xml b/sys-auth/sssd/metadata.xml index d560b94..4c905c1 100644 --- a/sys-auth/sssd/metadata.xml +++ b/sys-auth/sssd/metadata.xml @@ -19,10 +19,6 @@ Build helper to let net-misc/openssh use sssd provided information Build helper to let app-admin/sudo use sssd provided information Depend on dev-util/valgrind for test suite - Install sssd's Kerberos Cache Manager - Build secrets Responder - Install sssd's Kerberos Cache Manager - Add Privileged Attribute Certificate Support for Kerberos cpe:/a:fedoraproject:sssd diff --git a/sys-auth/sssd/sssd-2.3.1.ebuild b/sys-auth/sssd/sssd-2.3.1.ebuild index c2d37e3..b4b65b2 100644 --- a/sys-auth/sssd/sssd-2.3.1.ebuild +++ b/sys-auth/sssd/sssd-2.3.1.ebuild @@ -3,9 +3,9 @@ EAPI=7 -PYTHON_COMPAT=( python3_{8,9} ) +PYTHON_COMPAT=( python3_{7,8,9} ) -inherit autotools flag-o-matic linux-info multilib-minimal python-r1 pam systemd toolchain-funcs +inherit autotools flag-o-matic linux-info multilib-minimal python-single-r1 pam systemd toolchain-funcs DESCRIPTION="System Security Services Daemon provides access to identity and authentication" HOMEPAGE="https://github.com/SSSD/sssd" @@ -14,62 +14,53 @@ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x LICENSE="GPL-3" SLOT="0" -IUSE="acl +autofs doc kcm +locator +netlink nfsv4 nls +manpages pac python samba secrets selinux sudo ssh systemd test valgrind" +IUSE="acl doc +locator +netlink nfsv4 nls +manpages python samba selinux sudo systemd test valgrind" RESTRICT="!test? ( test )" -REQUIRED_USE="pac? ( samba ) - kcm? ( systemd ) - python? ( ${PYTHON_REQUIRED_USE} ) - secrets? ( systemd ) - test? ( ssh sudo )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" DEPEND=" - >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] - >=dev-libs/popt-1.16 - dev-libs/glib:2 + >=app-crypt/mit-krb5-1.10.3 + app-crypt/p11-kit >=dev-libs/ding-libs-0.2 + dev-libs/glib:2 + >=dev-libs/cyrus-sasl-2.1.25-r3[kerberos] + >=dev-libs/libpcre-8.30:= + >=dev-libs/popt-1.16 >=dev-libs/openssl-1.0.2:0= + >=net-dns/bind-tools-9.9[gssapi] + >=net-dns/c-ares-1.7.4 + >=net-nds/openldap-2.4.30[sasl] + >=sys-apps/dbus-1.6 + >=sys-apps/keyutils-1.5:= + >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] >=sys-libs/talloc-2.0.7 >=sys-libs/tdb-1.2.9 >=sys-libs/tevent-0.9.16 >=sys-libs/ldb-1.1.17-r1:= - >=net-nds/openldap-2.4.30[sasl] - >=dev-libs/libpcre-8.30:= - >=app-crypt/mit-krb5-1.10.3 + virtual/libintl locator? ( >=app-crypt/mit-krb5-1.12.2[${MULTILIB_USEDEP}] >=net-dns/c-ares-1.10.0-r1[${MULTILIB_USEDEP}] ) - >=sys-apps/keyutils-1.5:= - >=net-dns/c-ares-1.7.4 - app-crypt/p11-kit + acl? ( net-fs/cifs-utils[acl] ) + netlink? ( dev-libs/libnl:3 ) + nfsv4? ( || ( >=net-fs/nfs-utils-2.3.1-r2 net-libs/libnfsidmap ) ) + nls? ( >=sys-devel/gettext-0.18 ) + python? ( ${PYTHON_DEPS} ) + samba? ( + app-crypt/mit-krb5[${MULTILIB_USEDEP}] + >=net-fs/samba-4.10.2[winbind,${MULTILIB_USEDEP}] + ) selinux? ( >=sys-libs/libselinux-2.1.9 >=sys-libs/libsemanage-2.1 ) - >=net-dns/bind-tools-9.9[gssapi] - >=dev-libs/cyrus-sasl-2.1.25-r3[kerberos] - >=sys-apps/dbus-1.6 - acl? ( net-fs/cifs-utils[acl] ) - kcm? ( - dev-libs/jansson:0= - net-misc/curl:0= - ) - nfsv4? ( || ( >=net-fs/nfs-utils-2.3.1-r2 net-libs/libnfsidmap ) ) - nls? ( >=sys-devel/gettext-0.18 ) - virtual/libintl - netlink? ( dev-libs/libnl:3 ) - samba? ( >=net-fs/samba-4.10.2[winbind] ) - secrets? ( + systemd? ( dev-libs/jansson:0= net-libs/http-parser:0= net-misc/curl:0= ) - pac? ( - app-crypt/mit-krb5[${MULTILIB_USEDEP}] - net-fs/samba[${MULTILIB_USEDEP}] - ) - ( ${PYTHON_DEPS} ) " RDEPEND="${DEPEND} @@ -90,8 +81,8 @@ BDEPEND="${DEPEND} valgrind? ( dev-util/valgrind ) ) manpages? ( - >=dev-libs/libxslt-1.1.26 app-text/docbook-xml-dtd:4.4 + >=dev-libs/libxslt-1.1.26 nls? ( app-text/po4a ) )" @@ -134,35 +125,10 @@ src_configure() { multilib-minimal_src_configure } -python_configure() { - local myeconfargs=( - "${commonargs[@]}" - --without-kcm - --without-secrets - --without-samba - --disable-cifs-idmap-plugin - --without-semanage - --disable-krb5-locator-plugin - --disable-pac-responder - --without-nfsv4-idmapd-plugin - --disable-nls - --without-libnl - --without-manpages - --without-sudo - --without-autofs - --without-ssh - --disable-valgrind - --with-python3-bindings - ) - mkdir "${BUILD_DIR}" || die - pushd "${BUILD_DIR}" >/dev/null || die - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" - popd >/dev/null || die -} - multilib_src_configure() { - # configure args shared by python and non-python builds - local commonargs=( + local myconf=() + + myconf+=( --localstatedir="${EPREFIX}"/var --with-pid-path="${EPREFIX}"/run --with-plugin-path="${EPREFIX}"/usr/$(get_libdir)/sssd @@ -180,31 +146,26 @@ multilib_src_configure() { --with-unicode-lib="glib2" --disable-rpath --sbindir=/usr/sbin - $(multilib_native_use_with selinux) --with-crypto="libcrypto" - --without-python2-bindings - ) - - local myconf=() - - myconf+=( - "${commonargs[@]}" - $(multilib_native_use_with kcm) - $(multilib_native_use_with secrets) - $(multilib_native_use_with samba) + $(multilib_native_use_with systemd kcm) + $(multilib_native_use_with systemd secrets) + $(use_with samba) $(multilib_native_use_enable acl cifs-idmap-plugin) + $(multilib_native_use_with selinux) $(multilib_native_use_with selinux semanage) $(use_enable locator krb5-locator-plugin) - $(use_enable pac pac-responder) + $(use_enable samba pac-responder) $(multilib_native_use_with nfsv4 nfsv4-idmapd-plugin) $(use_enable nls) $(multilib_native_use_with netlink libnl) $(multilib_native_use_with manpages) $(multilib_native_use_with sudo) - $(multilib_native_use_with autofs) - $(multilib_native_use_with ssh) + $(multilib_native_with autofs) + $(multilib_native_with ssh) $(use_enable valgrind) - --without-python3-bindings + --without-python2-bindings + $(multilib_native_use_with python python3-bindings) + ) # Annoyingly configure requires that you pick systemd XOR sysv @@ -234,53 +195,33 @@ multilib_src_configure() { --without-secrets --without-kcm ) - else - if use python; then - python_foreach_impl python_configure - fi fi econf "${myconf[@]}" } -python_compile() { - pushd "${BUILD_DIR}" >/dev/null || die - emake - popd >/dev/null || die -} - multilib_src_compile() { if multilib_is_native_abi; then default - if use python; then - python_foreach_impl python_compile - fi - if use doc; then - emake docs - fi + use doc && emake docs if use manpages || use nls; then emake update-po fi else emake libnss_sss.la pam_sss.la use locator && emake sssd_krb5_locator_plugin.la + use samba && emake sssd_pac_plugin.la fi } -python_install() { - pushd "${BUILD_DIR}" >/dev/null || die - emake -j1 DESTDIR="${D}" "${_at_args[@]}" install - python_optimize - popd >/dev/null || die -} - multilib_src_install() { if multilib_is_native_abi; then + emake -j1 DESTDIR="${D}" "${_at_args[@]}" install if use python; then - python_foreach_impl python_install + python_optimize python_fix_shebang "${ED}" fi - emake -j1 DESTDIR="${D}" "${_at_args[@]}" install + else # easier than playing with automake... dopammod .libs/pam_sss.so @@ -292,6 +233,11 @@ multilib_src_install() { exeinto /usr/$(get_libdir)/krb5/plugins/libkrb5 doexe .libs/sssd_krb5_locator_plugin.so fi + + if use samba; then + exeinto /usr/$(get_libdir)/krb5/plugins/authdata + doexe .libs/sssd_pac_plugin.so + fi fi } @@ -320,7 +266,7 @@ multilib_src_install_all() { keepdir /var/log/sssd # strip empty dirs - if use !doc; then + if ! use doc ; then rm -r "${ED}"/usr/share/doc/"${PF}"/doc || die rm -r "${ED}"/usr/share/doc/"${PF}"/{hbac,idmap,nss_idmap,sss_simpleifp}_doc || die fi @@ -329,7 +275,7 @@ multilib_src_install_all() { } multilib_src_test() { - emake check + multilib_is_native_abi && emake check } pkg_postinst() {