diff --git a/net-nds/389-ds-base/389-ds-base-1.4.4.4.ebuild b/net-nds/389-ds-base/389-ds-base-1.4.4.7.ebuild similarity index 90% rename from net-nds/389-ds-base/389-ds-base-1.4.4.4.ebuild rename to net-nds/389-ds-base/389-ds-base-1.4.4.7.ebuild index e15616c..acb90f1 100644 --- a/net-nds/389-ds-base/389-ds-base-1.4.4.4.ebuild +++ b/net-nds/389-ds-base/389-ds-base-1.4.4.7.ebuild @@ -59,7 +59,7 @@ winapi-i686-pc-windows-gnu-0.4.0 winapi-x86_64-pc-windows-gnu-0.4.0 " -PYTHON_COMPAT=( python3_8 ) +PYTHON_COMPAT=( python3_{8,9} ) DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_SETUPTOOLS=rdepend @@ -69,17 +69,16 @@ inherit multilib flag-o-matic autotools distutils-r1 systemd tmpfiles db-use car DESCRIPTION="389 Directory Server (core libraries and daemons)" HOMEPAGE="https://directory.fedoraproject.org/" SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.bz2 - rust? ( $(cargo_crate_uris ${CRATES}) )" -LICENSE="GPL-3+ - rust? ( Apache-2.0 MIT MPL-2.0 Unlicense )" + $(cargo_crate_uris ${CRATES})" +LICENSE="GPL-3+ Apache-2.0 MIT MPL-2.0 Unlicense" SLOT="$(ver_cut 1-2)/0" KEYWORDS="~amd64" IUSE_PLUGINS="+accountpolicy +bitwise +dna +pam-passthru" -IUSE="${IUSE_PLUGINS} +autobind auto-dn-suffix debug doc +ldapi rust selinux systemd" +IUSE="${IUSE_PLUGINS} +autobind auto-dn-suffix debug doc +ldapi selinux systemd" REQUIRED_USE="${PYTHON_REQUIRED_USE}" -# most of the tests fail, some due to userpriv. +# these don't work with userpriv but somehow also not without it RESTRICT="test" # always list newer first @@ -89,7 +88,7 @@ BERKDB_SLOTS=( 5.3 5.1 4.8 4.7 ) DEPEND=" >=app-crypt/mit-krb5-1.7-r100[openldap] - >=dev-libs/cyrus-sasl-2.1.19 + >=dev-libs/cyrus-sasl-2.1.19[kerberos] >=dev-libs/icu-60.2:= dev-libs/nspr >=dev-libs/nss-3.22[utils] @@ -104,7 +103,6 @@ DEPEND=" sys-libs/cracklib sys-libs/zlib pam-passthru? ( sys-libs/pam ) - rust? ( virtual/rust ) selinux? ( $(python_gen_cond_dep ' sys-libs/libselinux[python,${PYTHON_MULTI_USEDEP}] @@ -113,9 +111,7 @@ DEPEND=" systemd? ( >=sys-apps/systemd-244 ) " -# perl is for mkDBErrStrs.pl being run in make step -BDEPEND="dev-lang/perl - virtual/pkgconfig +BDEPEND="virtual/pkgconfig ${PYTHON_DEPS} $(python_gen_cond_dep ' dev-python/argparse-manpage[${PYTHON_MULTI_USEDEP}] @@ -135,6 +131,7 @@ RDEPEND="${DEPEND} dev-python/pyasn1[${PYTHON_MULTI_USEDEP}] dev-python/pyasn1-modules[${PYTHON_MULTI_USEDEP}] dev-python/argcomplete[${PYTHON_MULTI_USEDEP}] + dev-python/python-dateutil[${PYTHON_MULTI_USEDEP}] dev-python/python-ldap[sasl,${PYTHON_MULTI_USEDEP}] dev-python/distro[${PYTHON_MULTI_USEDEP}] ') @@ -150,6 +147,11 @@ RDEPEND="${DEPEND} selinux? ( sec-policy/selinux-dirsrv ) " +PATCHES=( + "${FILESDIR}/${PN}-db-gentoo.patch" + "${FILESDIR}/${P}-musl-and-nspr-build.patch" +) + distutils_enable_tests pytest src_prepare() { @@ -159,8 +161,8 @@ src_prepare() { -e 's|WITH_SYSTEMD = 1|WITH_SYSTEMD = 0|' \ Makefile.am || die fi - eapply "${FILESDIR}/${PN}-db-gentoo.patch" - eapply_user + + default eautoreconf } @@ -175,8 +177,6 @@ src_configure() { $(use_enable auto-dn-suffix) \ $(use_enable debug) \ $(use_enable ldapi) \ - $(use_enable rust) \ - $(use_enable rust rust-offline) \ $(use_with selinux) \ $(use_with systemd) \ $(use_with systemd systemdsystemunitdir "$(systemd_get_systemunitdir)") \ @@ -184,6 +184,8 @@ src_configure() { $(use_with systemd tmpfiles-d "/usr/lib/tmpfiles.d") \ $(use_with !systemd initddir "/etc/init.d") \ $(use_enable test cmocka) \ + --enable-rust \ + --enable-rust-offline \ --with-pythonexec="${PYTHON}" \ --with-fhs \ --with-openldap \ @@ -206,12 +208,12 @@ src_compile() { # argparse-manpage dynamic man pages have hardcoded man v1 in header sed -i \ "1s/\"1\"/\"8\"/" \ - "${S}"/src/lib389/man/ds{conf,ctl,idm,create}.8 || die + "${S}"/src/lib389/man/{openldap_to_ds,ds{conf,ctl,idm,create}}.8 || die } src_test () { - cd "${S}"/src/lib389 || die - distutils-r1_src_test + emake check + pytest -vv dirsrvtests/tests/suites/basic/ } src_install() { diff --git a/net-nds/389-ds-base/Manifest b/net-nds/389-ds-base/Manifest index 0f4352f..218387c 100644 --- a/net-nds/389-ds-base/Manifest +++ b/net-nds/389-ds-base/Manifest @@ -1,4 +1,4 @@ -DIST 389-ds-base-1.4.4.4.tar.bz2 6289272 BLAKE2B 6ef60461928fbe9790d899b0624793f6d9f23d612878b64a8cb2fbb7c8677e9fe3783f0378188da924bb6c9ad36a4afb4295a36e323450ca1641333ab66d7126 SHA512 e819a736ba30a1b2c35a180dac9815b7f90d1de32050c87f4fd996596ab466b603deca3ab0701eaf4753e820a23dc53f67f68a35397bbbbe41cf655b4a679bef +DIST 389-ds-base-1.4.4.7.tar.bz2 6126035 BLAKE2B 3bc4d1090df297015a17ca396dfef05fbe360769b6ccdc9d06670e7704a4824fbb72e169dcac695808ad864b3b364a1dcd389024f95855ca3cde3749a1f89271 SHA512 c0980c2b69ac64f57675d763b5874db139a374cb8196ba969d907a9ac2fb42bffd47c8b971bf6f1514df144185a5d2c9487656c2359cbcefb66bba85bdd99092 DIST ansi_term-0.11.0.crate 17087 BLAKE2B 9bd35c045a01ce4c6c4a5db1b4f15e9412bb97426eec19d4421dffbec633de8d13452c13c1dc1b30998690b78d7ed38311aca700087f13a81f66bd1d5d7300c4 SHA512 a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9 DIST autocfg-1.0.0.crate 12870 BLAKE2B 79e495d53298574afd3b292da7c9c363dcb3ea434fd44258efaf3628e95ebfc731f03083f8a1060272a2a3478a6452cdc41539e2dac08465cc6e6283844bf260 SHA512 451fc63148792ba1952b884170e3481359b01bacca5ec0456f43ca58f8e092b8f81c9764f8b00d4104059ff608089be5858220ee868127c064cc890c767ec3a3 diff --git a/net-nds/389-ds-base/files/389-ds-base-1.4.4.7-musl-and-nspr-build.patch b/net-nds/389-ds-base/files/389-ds-base-1.4.4.7-musl-and-nspr-build.patch new file mode 100644 index 0000000..89045b4 --- /dev/null +++ b/net-nds/389-ds-base/files/389-ds-base-1.4.4.7-musl-and-nspr-build.patch @@ -0,0 +1,126 @@ +From c88e97fecac4403f73242b673df195c4ae860db5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kaz=C4=B1m=20SARIKAYA?= +Date: Tue, 27 Oct 2020 06:34:47 +0000 +Subject: [PATCH] build problems at alpine linux + +--- + ldap/servers/plugins/sync/sync_persist.c | 3 --- + ldap/servers/slapd/libglobs.c | 8 ++++++++ + ldap/servers/slapd/main.c | 2 ++ + ldap/servers/slapd/slapi2nspr.c | 3 +++ + 4 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/ldap/servers/plugins/sync/sync_persist.c b/ldap/servers/plugins/sync/sync_persist.c +index 598c6868d..2085a4314 100644 +--- a/ldap/servers/plugins/sync/sync_persist.c ++++ b/ldap/servers/plugins/sync/sync_persist.c +@@ -9,9 +9,6 @@ + #include + #endif + +-#include +-#include +- + #include "sync.h" + + /* Main list of established persistent synchronizaton searches */ +diff --git a/ldap/servers/slapd/libglobs.c b/ldap/servers/slapd/libglobs.c +index 7d5374c90..e82ccaa5b 100644 +--- a/ldap/servers/slapd/libglobs.c ++++ b/ldap/servers/slapd/libglobs.c +@@ -251,10 +251,12 @@ slapi_onoff_t init_cn_uses_dn_syntax_in_dns; + slapi_onoff_t init_global_backend_local; + slapi_onoff_t init_enable_nunc_stans; + #if defined(LINUX) ++#if defined(__GLIBC__) + slapi_int_t init_malloc_mxfast; + slapi_int_t init_malloc_trim_threshold; + slapi_int_t init_malloc_mmap_threshold; + #endif ++#endif + slapi_onoff_t init_extract_pem; + slapi_onoff_t init_ignore_vattrs; + slapi_onoff_t init_enable_upgrade_hash; +@@ -1133,6 +1135,7 @@ static struct config_get_and_set + (void **)&global_slapdFrontendConfig.cn_uses_dn_syntax_in_dns, CONFIG_ON_OFF, + (ConfigGetFunc)config_get_cn_uses_dn_syntax_in_dns, &init_cn_uses_dn_syntax_in_dns, NULL}, + #if defined(LINUX) ++#if defined(__GLIBC__) + {CONFIG_MALLOC_MXFAST, config_set_malloc_mxfast, + NULL, 0, + (void **)&global_slapdFrontendConfig.malloc_mxfast, +@@ -1148,6 +1151,7 @@ static struct config_get_and_set + (void **)&global_slapdFrontendConfig.malloc_mmap_threshold, + CONFIG_INT, (ConfigGetFunc)config_get_malloc_mmap_threshold, + &init_malloc_mmap_threshold, NULL}, ++#endif + #endif + {CONFIG_IGNORE_TIME_SKEW, config_set_ignore_time_skew, + NULL, 0, +@@ -1794,9 +1798,11 @@ FrontendConfig_init(void) + cfg->rootdn = slapi_ch_strdup(SLAPD_DEFAULT_DIRECTORY_MANAGER); + init_enable_nunc_stans = cfg->enable_nunc_stans = LDAP_OFF; + #if defined(LINUX) ++#if defined(__GLIBC__) + init_malloc_mxfast = cfg->malloc_mxfast = DEFAULT_MALLOC_UNSET; + init_malloc_trim_threshold = cfg->malloc_trim_threshold = DEFAULT_MALLOC_UNSET; + init_malloc_mmap_threshold = cfg->malloc_mmap_threshold = DEFAULT_MALLOC_UNSET; ++#endif + #endif + init_extract_pem = cfg->extract_pem = LDAP_ON; + /* +@@ -8548,6 +8554,7 @@ config_get_extract_pem() + } + + #if defined(LINUX) ++#if defined(__GLIBC__) + int + config_set_malloc_mxfast(const char *attrname, char *value, char *errorbuf, int apply __attribute__((unused))) + { +@@ -8675,6 +8682,7 @@ config_get_malloc_mmap_threshold() + return retVal; + } + #endif ++#endif + + char * + slapi_err2string(int result) +diff --git a/ldap/servers/slapd/main.c b/ldap/servers/slapd/main.c +index 26d284f18..33f1fd1b1 100644 +--- a/ldap/servers/slapd/main.c ++++ b/ldap/servers/slapd/main.c +@@ -529,6 +529,7 @@ main(int argc, char **argv) + daemon_ports_t ports_info = {0}; + + #ifdef LINUX ++#if defined(__GLIBC__) + char *m = getenv("SLAPD_MXFAST"); + if (m) { + int val = atoi(m); +@@ -538,6 +539,7 @@ main(int argc, char **argv) + mallopt(M_MXFAST, val); + } + } ++#endif + #endif + + /* +diff --git a/ldap/servers/slapd/slapi2nspr.c b/ldap/servers/slapd/slapi2nspr.c +index 232d1599e..30a687bec 100644 +--- a/ldap/servers/slapd/slapi2nspr.c ++++ b/ldap/servers/slapd/slapi2nspr.c +@@ -189,11 +189,14 @@ slapi_new_rwlock_prio(int32_t prio_writer) + pthread_rwlockattr_t attr; + + pthread_rwlockattr_init(&attr); ++ ++#if defined(__GLIBC__) + if (prio_writer) { + pthread_rwlockattr_setkind_np(&attr, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP); + } else { + pthread_rwlockattr_setkind_np(&attr, PTHREAD_RWLOCK_PREFER_READER_NP); + } ++#endif + + rwlock = (pthread_rwlock_t *)slapi_ch_malloc(sizeof(pthread_rwlock_t)); + if (rwlock) { diff --git a/net-nds/389-ds-base/metadata.xml b/net-nds/389-ds-base/metadata.xml index bbf298a..35a2c72 100644 --- a/net-nds/389-ds-base/metadata.xml +++ b/net-nds/389-ds-base/metadata.xml @@ -28,7 +28,6 @@ Enable auto bind with auto dn suffix over unix domain socket (LDAPI) support Enable LDAP over unix domain socket (LDAPI) support - Enable rust language features cpe:/a:fedoraproject:389_directory_server