summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortaca <taca@pkgsrc.org>2022-06-22 13:32:49 +0000
committertaca <taca@pkgsrc.org>2022-06-22 13:32:49 +0000
commiteabcd300f9caa8376e9e5bf01d0a78a06d21dcad (patch)
tree5eeba5750e8b676b69f4a3ecd5681ec369658195
parent50d4729234af8a8a4b8ebda4347c086043c314b1 (diff)
downloadpkgsrc-eabcd300f9caa8376e9e5bf01d0a78a06d21dcad.tar.gz
databases/openldap-server: fix runtime problem of slapd
Apply fix for slapd from upstream (gitlab commit): ITS#9847 slapd: fix kqueue for FreeBSD/MacOSX/OpenBSD. Without this fix, slapd dose not reply properly. Bump PKGREVISION.
-rw-r--r--databases/openldap-server/Makefile3
-rw-r--r--databases/openldap/patches/patch-servers_slapd_daemon.c21
2 files changed, 23 insertions, 1 deletions
diff --git a/databases/openldap-server/Makefile b/databases/openldap-server/Makefile
index 3d72e3d3d0b..b5f666e9f01 100644
--- a/databases/openldap-server/Makefile
+++ b/databases/openldap-server/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.61 2021/10/12 09:10:05 adam Exp $
+# $NetBSD: Makefile,v 1.62 2022/06/22 13:32:49 taca Exp $
PKGNAME= ${DISTNAME:S/-/-server-/}
+PKGREVISION= 1
COMMENT= Lightweight Directory Access Protocol server suite
CONFLICTS+= openldap<2.3.23nb1
diff --git a/databases/openldap/patches/patch-servers_slapd_daemon.c b/databases/openldap/patches/patch-servers_slapd_daemon.c
new file mode 100644
index 00000000000..385a77e7475
--- /dev/null
+++ b/databases/openldap/patches/patch-servers_slapd_daemon.c
@@ -0,0 +1,21 @@
+$NetBSD: patch-servers_slapd_daemon.c,v 1.1 2022/06/22 13:32:49 taca Exp $
+
+Apply fix from openldap's gitlab <ced6652e>:
+ITS#9847 slapd: fix kqueue for FreeBSD/MacOSX/OpenBSD
+
+--- servers/slapd/daemon.c.orig 2022-05-04 14:55:23.000000000 +0000
++++ servers/slapd/daemon.c
+@@ -227,11 +227,10 @@ static slap_daemon_st *slap_daemon;
+ slap_daemon[t].sd_kq = kqueue(); \
+ } while (0)
+
+-/* a kqueue fd obtained before a fork can't be used in child process.
+- * close it and reacquire it.
++/* a kqueue fd obtained before a fork isn't inherited by child process.
++ * reacquire it.
+ */
+ # define SLAP_SOCK_INIT2() do { \
+- close(slap_daemon[0].sd_kq); \
+ slap_daemon[0].sd_kq = kqueue(); \
+ } while (0)
+