[sys-auth/sssd] sync with PR

This commit is contained in:
Robert Förster 2020-08-20 20:48:50 +02:00
parent 97fe9c93ff
commit 2575837a21
2 changed files with 53 additions and 111 deletions

View File

@ -19,10 +19,6 @@
<flag name="ssh">Build helper to let <pkg>net-misc/openssh</pkg> use sssd provided information</flag> <flag name="ssh">Build helper to let <pkg>net-misc/openssh</pkg> use sssd provided information</flag>
<flag name="sudo">Build helper to let <pkg>app-admin/sudo</pkg> use sssd provided information</flag> <flag name="sudo">Build helper to let <pkg>app-admin/sudo</pkg> use sssd provided information</flag>
<flag name="valgrind">Depend on <pkg>dev-util/valgrind</pkg> for test suite</flag> <flag name="valgrind">Depend on <pkg>dev-util/valgrind</pkg> for test suite</flag>
<flag name="kcm">Install sssd's Kerberos Cache Manager</flag>
<flag name="secrets">Build secrets Responder</flag>
<flag name="kcm">Install sssd's Kerberos Cache Manager</flag>
<flag name="pac">Add Privileged Attribute Certificate Support for Kerberos</flag>
</use> </use>
<upstream> <upstream>
<remote-id type="cpe">cpe:/a:fedoraproject:sssd</remote-id> <remote-id type="cpe">cpe:/a:fedoraproject:sssd</remote-id>

View File

@ -3,9 +3,9 @@
EAPI=7 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" DESCRIPTION="System Security Services Daemon provides access to identity and authentication"
HOMEPAGE="https://github.com/SSSD/sssd" 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" LICENSE="GPL-3"
SLOT="0" 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 )" RESTRICT="!test? ( test )"
REQUIRED_USE="pac? ( samba ) REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
kcm? ( systemd )
python? ( ${PYTHON_REQUIRED_USE} )
secrets? ( systemd )
test? ( ssh sudo )"
DEPEND=" DEPEND="
>=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] >=app-crypt/mit-krb5-1.10.3
>=dev-libs/popt-1.16 app-crypt/p11-kit
dev-libs/glib:2
>=dev-libs/ding-libs-0.2 >=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= >=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/talloc-2.0.7
>=sys-libs/tdb-1.2.9 >=sys-libs/tdb-1.2.9
>=sys-libs/tevent-0.9.16 >=sys-libs/tevent-0.9.16
>=sys-libs/ldb-1.1.17-r1:= >=sys-libs/ldb-1.1.17-r1:=
>=net-nds/openldap-2.4.30[sasl] virtual/libintl
>=dev-libs/libpcre-8.30:=
>=app-crypt/mit-krb5-1.10.3
locator? ( locator? (
>=app-crypt/mit-krb5-1.12.2[${MULTILIB_USEDEP}] >=app-crypt/mit-krb5-1.12.2[${MULTILIB_USEDEP}]
>=net-dns/c-ares-1.10.0-r1[${MULTILIB_USEDEP}] >=net-dns/c-ares-1.10.0-r1[${MULTILIB_USEDEP}]
) )
>=sys-apps/keyutils-1.5:= acl? ( net-fs/cifs-utils[acl] )
>=net-dns/c-ares-1.7.4 netlink? ( dev-libs/libnl:3 )
app-crypt/p11-kit 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? ( selinux? (
>=sys-libs/libselinux-2.1.9 >=sys-libs/libselinux-2.1.9
>=sys-libs/libsemanage-2.1 >=sys-libs/libsemanage-2.1
) )
>=net-dns/bind-tools-9.9[gssapi] systemd? (
>=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? (
dev-libs/jansson:0= dev-libs/jansson:0=
net-libs/http-parser:0= net-libs/http-parser:0=
net-misc/curl:0= net-misc/curl:0=
) )
pac? (
app-crypt/mit-krb5[${MULTILIB_USEDEP}]
net-fs/samba[${MULTILIB_USEDEP}]
)
( ${PYTHON_DEPS} )
" "
RDEPEND="${DEPEND} RDEPEND="${DEPEND}
@ -90,8 +81,8 @@ BDEPEND="${DEPEND}
valgrind? ( dev-util/valgrind ) valgrind? ( dev-util/valgrind )
) )
manpages? ( manpages? (
>=dev-libs/libxslt-1.1.26
app-text/docbook-xml-dtd:4.4 app-text/docbook-xml-dtd:4.4
>=dev-libs/libxslt-1.1.26
nls? ( app-text/po4a ) nls? ( app-text/po4a )
)" )"
@ -134,35 +125,10 @@ src_configure() {
multilib-minimal_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() { multilib_src_configure() {
# configure args shared by python and non-python builds local myconf=()
local commonargs=(
myconf+=(
--localstatedir="${EPREFIX}"/var --localstatedir="${EPREFIX}"/var
--with-pid-path="${EPREFIX}"/run --with-pid-path="${EPREFIX}"/run
--with-plugin-path="${EPREFIX}"/usr/$(get_libdir)/sssd --with-plugin-path="${EPREFIX}"/usr/$(get_libdir)/sssd
@ -180,31 +146,26 @@ multilib_src_configure() {
--with-unicode-lib="glib2" --with-unicode-lib="glib2"
--disable-rpath --disable-rpath
--sbindir=/usr/sbin --sbindir=/usr/sbin
$(multilib_native_use_with selinux)
--with-crypto="libcrypto" --with-crypto="libcrypto"
--without-python2-bindings $(multilib_native_use_with systemd kcm)
) $(multilib_native_use_with systemd secrets)
$(use_with samba)
local myconf=()
myconf+=(
"${commonargs[@]}"
$(multilib_native_use_with kcm)
$(multilib_native_use_with secrets)
$(multilib_native_use_with samba)
$(multilib_native_use_enable acl cifs-idmap-plugin) $(multilib_native_use_enable acl cifs-idmap-plugin)
$(multilib_native_use_with selinux)
$(multilib_native_use_with selinux semanage) $(multilib_native_use_with selinux semanage)
$(use_enable locator krb5-locator-plugin) $(use_enable locator krb5-locator-plugin)
$(use_enable pac pac-responder) $(use_enable samba pac-responder)
$(multilib_native_use_with nfsv4 nfsv4-idmapd-plugin) $(multilib_native_use_with nfsv4 nfsv4-idmapd-plugin)
$(use_enable nls) $(use_enable nls)
$(multilib_native_use_with netlink libnl) $(multilib_native_use_with netlink libnl)
$(multilib_native_use_with manpages) $(multilib_native_use_with manpages)
$(multilib_native_use_with sudo) $(multilib_native_use_with sudo)
$(multilib_native_use_with autofs) $(multilib_native_with autofs)
$(multilib_native_use_with ssh) $(multilib_native_with ssh)
$(use_enable valgrind) $(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 # Annoyingly configure requires that you pick systemd XOR sysv
@ -234,53 +195,33 @@ multilib_src_configure() {
--without-secrets --without-secrets
--without-kcm --without-kcm
) )
else
if use python; then
python_foreach_impl python_configure
fi
fi fi
econf "${myconf[@]}" econf "${myconf[@]}"
} }
python_compile() {
pushd "${BUILD_DIR}" >/dev/null || die
emake
popd >/dev/null || die
}
multilib_src_compile() { multilib_src_compile() {
if multilib_is_native_abi; then if multilib_is_native_abi; then
default default
if use python; then use doc && emake docs
python_foreach_impl python_compile
fi
if use doc; then
emake docs
fi
if use manpages || use nls; then if use manpages || use nls; then
emake update-po emake update-po
fi fi
else else
emake libnss_sss.la pam_sss.la emake libnss_sss.la pam_sss.la
use locator && emake sssd_krb5_locator_plugin.la use locator && emake sssd_krb5_locator_plugin.la
use samba && emake sssd_pac_plugin.la
fi 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() { multilib_src_install() {
if multilib_is_native_abi; then if multilib_is_native_abi; then
emake -j1 DESTDIR="${D}" "${_at_args[@]}" install
if use python; then if use python; then
python_foreach_impl python_install python_optimize
python_fix_shebang "${ED}" python_fix_shebang "${ED}"
fi fi
emake -j1 DESTDIR="${D}" "${_at_args[@]}" install
else else
# easier than playing with automake... # easier than playing with automake...
dopammod .libs/pam_sss.so dopammod .libs/pam_sss.so
@ -292,6 +233,11 @@ multilib_src_install() {
exeinto /usr/$(get_libdir)/krb5/plugins/libkrb5 exeinto /usr/$(get_libdir)/krb5/plugins/libkrb5
doexe .libs/sssd_krb5_locator_plugin.so doexe .libs/sssd_krb5_locator_plugin.so
fi fi
if use samba; then
exeinto /usr/$(get_libdir)/krb5/plugins/authdata
doexe .libs/sssd_pac_plugin.so
fi
fi fi
} }
@ -320,7 +266,7 @@ multilib_src_install_all() {
keepdir /var/log/sssd keepdir /var/log/sssd
# strip empty dirs # 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}"/doc || die
rm -r "${ED}"/usr/share/doc/"${PF}"/{hbac,idmap,nss_idmap,sss_simpleifp}_doc || die rm -r "${ED}"/usr/share/doc/"${PF}"/{hbac,idmap,nss_idmap,sss_simpleifp}_doc || die
fi fi
@ -329,7 +275,7 @@ multilib_src_install_all() {
} }
multilib_src_test() { multilib_src_test() {
emake check multilib_is_native_abi && emake check
} }
pkg_postinst() { pkg_postinst() {