diff options
author | bouyer <bouyer@pkgsrc.org> | 2019-03-15 10:04:00 +0000 |
---|---|---|
committer | bouyer <bouyer@pkgsrc.org> | 2019-03-15 10:04:00 +0000 |
commit | 442df93639fe93124a0f6ba1b6d2f26b21da028f (patch) | |
tree | 0c514ed62e56bb7718d7a1182e88b708028c9fd4 /sysutils/syslog-ng | |
parent | 9cdf8cbfccd79124e1bbc9ee33379c3aa8869609 (diff) | |
download | pkgsrc-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/Makefile | 4 | ||||
-rw-r--r-- | sysutils/syslog-ng/distinfo | 3 | ||||
-rw-r--r-- | sysutils/syslog-ng/patches/patch-lib_signal-handler.c | 23 |
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 |