summaryrefslogtreecommitdiff
path: root/sysutils/syslog-ng
diff options
context:
space:
mode:
authorbouyer <bouyer@pkgsrc.org>2019-03-15 10:04:00 +0000
committerbouyer <bouyer@pkgsrc.org>2019-03-15 10:04:00 +0000
commit442df93639fe93124a0f6ba1b6d2f26b21da028f (patch)
tree0c514ed62e56bb7718d7a1182e88b708028c9fd4 /sysutils/syslog-ng
parent9cdf8cbfccd79124e1bbc9ee33379c3aa8869609 (diff)
downloadpkgsrc-442df93639fe93124a0f6ba1b6d2f26b21da028f.tar.gz
syslog-ng overloads sigaction() with its own version, and calls the libc
sigaction() with a dlsym call. On NetBSD this ends up calling the compatibility sigaction() which fails with ENOSYS if COMPAT_13 is not in the kernel. Even with COMPAT_13 it would be incorrect because we call the compat sigaction() with the non-compat arguments. On NetBSD, fix this by calling explicitely __libc_sigaction14(). Bump PKGREVISION
Diffstat (limited to 'sysutils/syslog-ng')
-rw-r--r--sysutils/syslog-ng/Makefile4
-rw-r--r--sysutils/syslog-ng/distinfo3
-rw-r--r--sysutils/syslog-ng/patches/patch-lib_signal-handler.c23
3 files changed, 28 insertions, 2 deletions
diff --git a/sysutils/syslog-ng/Makefile b/sysutils/syslog-ng/Makefile
index a53af69b629..ca45cecd4f3 100644
--- a/sysutils/syslog-ng/Makefile
+++ b/sysutils/syslog-ng/Makefile
@@ -1,7 +1,9 @@
-# $NetBSD: Makefile,v 1.33 2018/02/28 13:26:08 fhajny Exp $
+# $NetBSD: Makefile,v 1.34 2019/03/15 10:04:00 bouyer Exp $
.include "../../sysutils/syslog-ng/Makefile.common"
+PKGREVISION= 1
+
CONFIGURE_ARGS+= --enable-ssl
CONFIGURE_ARGS+= --enable-stomp
CONFIGURE_ARGS+= --enable-tcp-wrapper
diff --git a/sysutils/syslog-ng/distinfo b/sysutils/syslog-ng/distinfo
index 420503b6b66..d11d78c8d63 100644
--- a/sysutils/syslog-ng/distinfo
+++ b/sysutils/syslog-ng/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2018/08/15 13:08:21 fhajny Exp $
+$NetBSD: distinfo,v 1.16 2019/03/15 10:04:00 bouyer Exp $
SHA1 (syslog-ng-3.17.2.tar.gz) = 75d7881d2cf258017c3b98fd37ceb3322c1855ad
RMD160 (syslog-ng-3.17.2.tar.gz) = 6464dd3fd20662e69e3056d090bcce470be90e93
@@ -6,4 +6,5 @@ SHA512 (syslog-ng-3.17.2.tar.gz) = 2b82ea047bab125d35ab0a90e933b8a282852c6b4a9a8
Size (syslog-ng-3.17.2.tar.gz) = 9119227 bytes
SHA1 (patch-ac) = 7d48f689b6ff69c68697baf729fba8be9aec5ce8
SHA1 (patch-configure) = 2d8ef2285de44de016f44e51be47cd4c1178dfdb
+SHA1 (patch-lib_signal-handler.c) = dd59ad8dba34139da6233aa65ded757f3268ac5c
SHA1 (patch-modules_system-source_system-source.c) = 14c2bb4b6681766da1330b43965da9547cf73b12
diff --git a/sysutils/syslog-ng/patches/patch-lib_signal-handler.c b/sysutils/syslog-ng/patches/patch-lib_signal-handler.c
new file mode 100644
index 00000000000..d47f34fa2a1
--- /dev/null
+++ b/sysutils/syslog-ng/patches/patch-lib_signal-handler.c
@@ -0,0 +1,23 @@
+$NetBSD: patch-lib_signal-handler.c,v 1.1 2019/03/15 10:04:00 bouyer Exp $
+sigaction() is the old, compat syscall. On NetBSD call the up to date one.
+
+--- lib/signal-handler.c.orig 2019-03-15 09:25:35.669181384 +0100
++++ lib/signal-handler.c 2019-03-15 09:29:02.023178726 +0100
+@@ -45,6 +45,9 @@
+ static int
+ call_original_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact)
+ {
++#ifdef __NetBSD__
++ __libc_sigaction14(signum, act, oldact);
++#else
+ static int (*real_sa)(int, const struct sigaction *, struct sigaction *);
+
+ if (real_sa == NULL)
+@@ -52,6 +55,7 @@
+ real_sa = dlsym(RTLD_NEXT, "sigaction");
+ }
+ return real_sa(signum, act, oldact);
++#endif
+ }
+
+ static gboolean