[sys-auth/sssd] rename back, this is now a PR candidate

This commit is contained in:
Robert Förster 2020-08-16 16:17:56 +02:00
parent bd7b86a5a1
commit bb577e6904
2 changed files with 113 additions and 16 deletions

View File

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata> <pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<maintainer type="person"> <maintainer type="person">
<email>alexxy@gentoo.org</email> <email>alexxy@gentoo.org</email>
<name>Alexey Shvetsov</name> <name>Alexey Shvetsov</name>
@ -14,8 +18,14 @@
<flag name="autofs">Build helper to let <pkg>net-fs/autofs</pkg> use sssd provided information</flag> <flag name="autofs">Build helper to let <pkg>net-fs/autofs</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="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="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>
<remote-id type="github">SSSD/sssd</remote-id>
</upstream> </upstream>
</pkgmetadata> </pkgmetadata>

View File

@ -14,13 +14,14 @@ 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 kcm +locator +netlink nfsv4 nls +manpages pac python samba secrets selinux sudo ssh systemd test valgrind" IUSE="acl +autofs doc kcm +locator +netlink nfsv4 nls +manpages pac python samba secrets selinux sudo ssh systemd test valgrind"
RESTRICT="!test? ( test )" RESTRICT="!test? ( test )"
REQUIRED_USE="test? ( ssh sudo ) REQUIRED_USE="pac? ( samba )
pac? ( samba )
kcm? ( systemd ) kcm? ( systemd )
secrets? ( systemd )" python? ( ${PYTHON_REQUIRED_USE} )
secrets? ( systemd )
test? ( ssh sudo )"
DEPEND=" DEPEND="
>=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}]
@ -76,8 +77,8 @@ RDEPEND="${DEPEND}
>=sys-libs/glibc-2.17[nscd] >=sys-libs/glibc-2.17[nscd]
selinux? ( >=sec-policy/selinux-sssd-2.20120725-r9 ) selinux? ( >=sec-policy/selinux-sssd-2.20120725-r9 )
" "
# FIXME: Add pam_wrapper when it enters the tree. Bug #730974
BDEPEND="${DEPEND} BDEPEND="${DEPEND}
doc? ( app-doc/doxygen )
test? ( test? (
app-crypt/p11-kit app-crypt/p11-kit
dev-libs/check dev-libs/check
@ -86,12 +87,14 @@ BDEPEND="${DEPEND}
net-libs/gnutls[pkcs11,tools] net-libs/gnutls[pkcs11,tools]
sys-libs/libfaketime sys-libs/libfaketime
sys-libs/nss_wrapper sys-libs/nss_wrapper
sys-libs/pam_wrapper
sys-libs/uid_wrapper sys-libs/uid_wrapper
valgrind? ( dev-util/valgrind ) valgrind? ( dev-util/valgrind )
) )
manpages? ( manpages? (
>=dev-libs/libxslt-1.1.26 >=dev-libs/libxslt-1.1.26
app-text/docbook-xml-dtd:4.4 app-text/docbook-xml-dtd:4.4
nls? ( app-text/po4a )
)" )"
CONFIG_CHECK="~KEYS" CONFIG_CHECK="~KEYS"
@ -116,9 +119,15 @@ pkg_setup() {
} }
src_prepare() { src_prepare() {
sed -i 's:/var/run:/run:' \
"${S}"/src/examples/logrotate || die
default default
eautoreconf eautoreconf
multilib_copy_sources multilib_copy_sources
if use python && multilib_is_native_abi; then
python_setup
fi
} }
src_configure() { src_configure() {
@ -127,23 +136,67 @@ src_configure() {
multilib-minimal_src_configure multilib-minimal_src_configure
} }
python_configure() {
local myeconfargs=(
--localstatedir="${EPREFIX}"/var
--with-pid-path="${EPREFIX}"/run
--with-plugin-path="${EPREFIX}"/usr/$(get_libdir)/sssd
--enable-pammoddir="${EPREFIX}"/$(getpam_mod_dir)
--with-ldb-lib-dir="${EPREFIX}"/usr/$(get_libdir)/samba/ldb
--with-db-path="${EPREFIX}"/var/lib/sss/db
--with-gpo-cache-path="${EPREFIX}"/var/lib/sss/gpo_cache
--with-pubconf-path="${EPREFIX}"/var/lib/sss/pubconf
--with-pipe-path="${EPREFIX}"/var/lib/sss/pipes
--with-mcache-path="${EPREFIX}"/var/lib/sss/mc
--with-secrets-db-path="${EPREFIX}"/var/lib/sss/secrets
--with-log-path="${EPREFIX}"/var/log/sssd
--with-os=gentoo
--with-nscd="${EPREFIX}"/usr/sbin/nscd
--with-unicode-lib="glib2"
--disable-rpath
--sbindir=/usr/sbin
$(multilib_native_use_with selinux)
--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-crypto="libcrypto"
--without-python2-bindings
--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() {
local myconf=() local myconf=()
local python3_configure=--without-python3-bindings
if use python; then
python_configure() {
python3_configure=--with-python3-bindings
}
python_foreach_impl python_configure
fi
myconf+=( 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
--enable-pammoddir="${EPREFIX}"/$(getpam_mod_dir) --enable-pammoddir="${EPREFIX}"/$(getpam_mod_dir)
--with-ldb-lib-dir="${EPREFIX}"/usr/$(get_libdir)/samba/ldb --with-ldb-lib-dir="${EPREFIX}"/usr/$(get_libdir)/samba/ldb
--with-db-path="${EPREFIX}"/var/lib/sss/db
--with-gpo-cache-path="${EPREFIX}"/var/lib/sss/gpo_cache
--with-pubconf-path="${EPREFIX}"/var/lib/sss/pubconf
--with-pipe-path="${EPREFIX}"/var/lib/sss/pipes
--with-mcache-path="${EPREFIX}"/var/lib/sss/mc
--with-secrets-db-path="${EPREFIX}"/var/lib/sss/secrets
--with-log-path="${EPREFIX}"/var/log/sssd
--with-os=gentoo --with-os=gentoo
--with-nscd="${EPREFIX}"/usr/sbin/nscd --with-nscd="${EPREFIX}"/usr/sbin/nscd
--with-unicode-lib="glib2" --with-unicode-lib="glib2"
@ -167,7 +220,7 @@ multilib_src_configure() {
$(use_enable valgrind) $(use_enable valgrind)
--with-crypto="libcrypto" --with-crypto="libcrypto"
--without-python2-bindings --without-python2-bindings
${python3_configure} --without-python3-bindings
) )
# Annoyingly configure requires that you pick systemd XOR sysv # Annoyingly configure requires that you pick systemd XOR sysv
@ -197,22 +250,52 @@ 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
python_foreach_impl python_compile
fi
if use doc; then
emake docs
fi
if use manpages || use nls; then
emake update-po
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
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
if use python; then
python_foreach_impl python_install
python_fix_shebang "${ED}"
fi
emake -j1 DESTDIR="${D}" "${_at_args[@]}" install emake -j1 DESTDIR="${D}" "${_at_args[@]}" install
else else
# easier than playing with automake... # easier than playing with automake...
@ -252,9 +335,13 @@ multilib_src_install_all() {
keepdir /var/lib/sss/secrets keepdir /var/lib/sss/secrets
keepdir /var/log/sssd keepdir /var/log/sssd
if use python; then # strip empty dirs
python_foreach_impl python_optimize 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 fi
rm -r "${ED}"/run || die
} }
multilib_src_test() { multilib_src_test() {