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() {