Skip to content

Commit

Permalink
sssd: update to 2.8.2.
Browse files Browse the repository at this point in the history
Dependencies:

* libwbclient is deprecated and removed upstream.

* libxslt-devel is not used for building; xsltproc from libxslt is
  used instead.

* xmlcatmgr does not seem to be used as a host make dependency.

* python3 is required for cross compiling bindings.

* http-parser-devel (http_parser.h) does not seem to be mentioned
  anywhere in the source code.

* nscd does not seem to be used in hostmakedepends.

Patches:

* libressl.patch is removed due to openssl replacing libressl.

* fix_tests.patch is divided into test_softhsm.patch and
  test_negcache.patch

Misc:

* "--without-python2-bindings" can be safely omitted from
  configure_args.

* oidc-child now requires libjose which is not present in the
  repository, hence it is disabled.
  • Loading branch information
klarasm committed Feb 11, 2023
1 parent c32f36b commit 49b12e2
Show file tree
Hide file tree
Showing 7 changed files with 109 additions and 104 deletions.
33 changes: 33 additions & 0 deletions srcpkgs/sssd/patches/configure_cross.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
configure was supposed to execute compiled testing binaries.

However, when it comes to cross compiling, the script chooses to exit
and interrupt the building.

Skipping execution is preferred to quitting in this case.

--- a/configure
+++ b/configure
@@ -20460,10 +20460,7 @@

if test "$cross_compiling" = yes
then :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
+ :
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -22915,10 +22912,7 @@
LIBS="$LIBS -L${sambalibdir} -lidmap-samba4 -Wl,-rpath ${sambalibdir}"
if test "$cross_compiling" = yes
then :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
+ :
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
54 changes: 0 additions & 54 deletions srcpkgs/sssd/patches/fix_tests.patch

This file was deleted.

26 changes: 0 additions & 26 deletions srcpkgs/sssd/patches/libressl.patch

This file was deleted.

30 changes: 30 additions & 0 deletions srcpkgs/sssd/patches/softhsm.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Fix tests by disabling failures related to softhsm, see

https://github.com/SSSD/sssd/issues/5397

--- a/src/tests/cmocka/test_pam_srv.c
+++ b/src/tests/cmocka/test_pam_srv.c
@@ -37,6 +37,7 @@
#include "util/crypto/sss_crypto.h"

#ifdef HAVE_TEST_CA
+#define TEST_MODULE_NAME SOFTHSM2_PATH
#include "tests/test_CA/SSSD_test_cert_x509_0001.h"
#include "tests/test_CA/SSSD_test_cert_x509_0002.h"
#include "tests/test_CA/SSSD_test_cert_x509_0005.h"
@@ -52,6 +53,7 @@
#define SSSD_TEST_CERT_0007 ""
#define SSSD_TEST_INTERMEDIATE_CA_CERT_0001 ""
#define SSSD_TEST_ECC_CERT_0001 ""
+#define TEST_MODULE_NAME ""
#endif

#define TESTS_PATH "tp_" BASE_FILE_STEM
@@ -71,7 +73,6 @@
#define TEST_TOKEN2_NAME "SSSD Test Token Number 2"
#define TEST_KEY_ID "C554C9F82C2A9D58B70921C143304153A8A42F17"
#define TEST_LABEL "SSSD test cert 0001"
-#define TEST_MODULE_NAME SOFTHSM2_PATH
#define TEST_PROMPT "SSSD test cert 0001\nCN=SSSD test cert 0001,OU=SSSD test,O=SSSD"
#define TEST2_PROMPT "SSSD test cert 0002\nCN=SSSD test cert 0002,OU=SSSD test,O=SSSD"
#define TEST5_PROMPT "SSSD test cert 0005\nCN=SSSD test cert 0005,OU=SSSD test,O=SSSD"
21 changes: 21 additions & 0 deletions srcpkgs/sssd/patches/test_negcache.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The test_ncache_* functions require a working user directory, which is
generally unavailable in xbps-src builds.

--- a/src/tests/cmocka/test_negcache.c
+++ b/src/tests/cmocka/test_negcache.c
@@ -1371,6 +1371,7 @@
cmocka_unit_test_setup_teardown(test_sss_ncache_domain_locate_type,
setup, teardown),

+#if 0
/* user */
cmocka_unit_test_setup_teardown(test_ncache_nocache_user,
test_ncache_setup,
@@ -1423,6 +1424,7 @@
cmocka_unit_test_setup_teardown(test_ncache_both_gid,
test_ncache_setup,
test_ncache_teardown),
+#endif
};

tests_set_cwd();
48 changes: 25 additions & 23 deletions srcpkgs/sssd/template
Original file line number Diff line number Diff line change
@@ -1,50 +1,52 @@
# Template file for 'sssd'
pkgname=sssd
version=2.4.0
revision=5
version=2.8.2
revision=1
# upstream explicitly hardcodes to use glibc:
# https://github.com/SSSD/sssd/blob/2.8.2/src/util/nss_dl_load.c
archs="~*-musl"
build_style=gnu-configure
# configure checks sys.version[:3] for Python versioning, so 3.10 becomes 3.1;
# until this is fixed upstream, manually define am_cv_python_version to circumvent
configure_args="--without-selinux --without-semanage --without-libwbclient
configure_args="--without-selinux --without-semanage --without-oidc-child
--disable-cifs-idmap-plugin --without-samba --with-os=fedora
--with-test-dir=/dev/shm --with-python3-bindings --with-pid-path=/run
--with-sudo-lib-path=/usr/lib/sssd --without-python2-bindings
am_cv_python_version=${py3_ver}"
hostmakedepends="pkg-config nscd bind xmlcatmgr docbook-xsl"
--with-sudo-lib-path=/usr/lib/sssd am_cv_python_version=${py3_ver}"
hostmakedepends="libxslt pkg-config bind docbook-xsl python3"
makedepends="pam-devel popt-devel talloc-devel tdb-devel tevent-devel ldb-devel
ding-libs-devel libldap-devel mit-krb5-devel c-ares-devel glib-devel
libxslt-devel nss-devel libnfsidmap-devel http-parser-devel p11-kit-devel
jansson-devel python3-devel libcurl-devel cmocka-devel check-devel"
libnfsidmap-devel p11-kit-devel jansson-devel python3-devel libcurl-devel
libunistring-devel"
make_dirs="/var/lib/sss/db 0700 root root
/var/lib/sss/secrets 0700 root root
/var/lib/sss/pubconf/krb5.include.d 0700 root root
/var/lib/sss/pipes/private 0700 root root
/var/lib/sss/mc 0700 root root
/var/lib/sss/keytabs 0700 root root
/var/lib/sss/gpo_cache 0700 root root
/var/lib/sss/db 0700 root root
/etc/sssd/ 0700 root root
/var/sssd/conf.d 0700 root root"
/var/lib/sss/deskprofile 0700 root root
/etc/sssd/pki 0700 root root
/etc/sssd/conf.d 0700 root root"
short_desc="System Security Services Daemon"
maintainer="Yuusha Spacewolf <xyuusha@paranoici.org>"
license="GPL-3.0-or-later"
homepage="https://sssd.io"
distfiles="https://github.com/SSSD/sssd/releases/download/${pkgname}-${version//./_}/${pkgname}-${version}.tar.gz"
checksum=13d7eeff15e582279f70a3aad32daeb40d3749ec14947a4eded35adce7490cdd
distfiles="https://github.com/SSSD/sssd/releases/download/${version}/${pkgname}-${version}.tar.gz"
checksum=ae16447d06bb725bfa9ccb47a9287135015f789ba7414f50cebcb62d52402fef
python_version=3
nocross="configure attempts to run compiled output"
# These modules in /usr/lib/sssd are required by sssd-python3
shlib_provides="libsss_util.so libsss_crypt.so libsss_debug.so"
# * test_sysdb_sudo: Could not run test: 0 != 0x1 (test_sudo_convert_time);
# * test_inotify: [test_timeout] (0x0010): The test timed out!
# * dlopen-tests: Error opening sss.so: [...] conf_get_str: symbol not found
# * strtonum-tests: Tests:test_strtoint32_alphaonly_base_10:0: errno
# unexpectedly set to 22
# * pam-srv-tests: https://github.com/SSSD/sssd/issues/5631
# * requires to manually 'make test_CA' (although it should be done by
# default?).
make_check=no

if [ "$XBPS_LIBC" != glibc ]; then
broken="nscd is glibc only"
fi

do_check() {
export CK_TIMEOUT_MULTIPLIER=10
make check VERBOSE=yes
unset CK_TIMEOUT_MULTIPLIER
}
export PYTHON_CONFIG="${XBPS_CROSS_BASE}/usr/bin/python3-config"

post_install() {
rm -rf ${DESTDIR}/etc/rc.d
Expand Down
1 change: 0 additions & 1 deletion srcpkgs/sssd/update

This file was deleted.

0 comments on commit 49b12e2

Please sign in to comment.