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