Sun Mar 17 15:45:44 2019 UTC ()
Pullup ticket #5924 - requested by bouyer
sysutils/syslog-ng: NetBSD bugfix
Revisions pulled up:
- sysutils/syslog-ng/Makefile 1.34
- sysutils/syslog-ng/distinfo 1.16
- sysutils/syslog-ng/patches/patch-lib_signal-handler.c 1.1
---
Module Name: pkgsrc
Committed By: bouyer
Date: Fri Mar 15 10:04:00 UTC 2019
Modified Files:
pkgsrc/sysutils/syslog-ng: Makefile distinfo
Added Files:
pkgsrc/sysutils/syslog-ng/patches: patch-lib_signal-handler.c
Log Message:
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
(bsiegert)
diff -r1.33 -r1.33.8.1 pkgsrc/sysutils/syslog-ng/Makefile
diff -r1.15 -r1.15.4.1 pkgsrc/sysutils/syslog-ng/distinfo
diff -r0 -r1.1.2.2 pkgsrc/sysutils/syslog-ng/patches/patch-lib_signal-handler.c
--- pkgsrc/sysutils/syslog-ng/Makefile 2018/02/28 13:26:08 1.33
+++ pkgsrc/sysutils/syslog-ng/Makefile 2019/03/17 15:45:44 1.33.8.1
| @@ -1,17 +1,19 @@ | | | @@ -1,17 +1,19 @@ |
1 | # $NetBSD: Makefile,v 1.33 2018/02/28 13:26:08 fhajny Exp $ | | 1 | # $NetBSD: Makefile,v 1.33.8.1 2019/03/17 15:45:44 bsiegert Exp $ |
2 | | | 2 | |
3 | .include "../../sysutils/syslog-ng/Makefile.common" | | 3 | .include "../../sysutils/syslog-ng/Makefile.common" |
4 | | | 4 | |
| | | 5 | PKGREVISION= 1 |
| | | 6 | |
5 | CONFIGURE_ARGS+= --enable-ssl | | 7 | CONFIGURE_ARGS+= --enable-ssl |
6 | CONFIGURE_ARGS+= --enable-stomp | | 8 | CONFIGURE_ARGS+= --enable-stomp |
7 | CONFIGURE_ARGS+= --enable-tcp-wrapper | | 9 | CONFIGURE_ARGS+= --enable-tcp-wrapper |
8 | CONFIGURE_ARGS+= --with-jsonc=system | | 10 | CONFIGURE_ARGS+= --with-jsonc=system |
9 | | | 11 | |
10 | CONFIGURE_ARGS.SunOS+= --enable-dynamic-linking | | 12 | CONFIGURE_ARGS.SunOS+= --enable-dynamic-linking |
11 | CONFIGURE_ARGS.SunOS+= --enable-sun-streams | | 13 | CONFIGURE_ARGS.SunOS+= --enable-sun-streams |
12 | CPPFLAGS.SunOS+= -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ | | 14 | CPPFLAGS.SunOS+= -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ |
13 | | | 15 | |
14 | .include "options.mk" | | 16 | .include "options.mk" |
15 | | | 17 | |
16 | BUILD_DEFS+= VARBASE | | 18 | BUILD_DEFS+= VARBASE |
17 | | | 19 | |
--- pkgsrc/sysutils/syslog-ng/distinfo 2018/08/15 13:08:21 1.15
+++ pkgsrc/sysutils/syslog-ng/distinfo 2019/03/17 15:45:44 1.15.4.1
| @@ -1,9 +1,10 @@ | | | @@ -1,9 +1,10 @@ |
1 | $NetBSD: distinfo,v 1.15 2018/08/15 13:08:21 fhajny Exp $ | | 1 | $NetBSD: distinfo,v 1.15.4.1 2019/03/17 15:45:44 bsiegert Exp $ |
2 | | | 2 | |
3 | SHA1 (syslog-ng-3.17.2.tar.gz) = 75d7881d2cf258017c3b98fd37ceb3322c1855ad | | 3 | SHA1 (syslog-ng-3.17.2.tar.gz) = 75d7881d2cf258017c3b98fd37ceb3322c1855ad |
4 | RMD160 (syslog-ng-3.17.2.tar.gz) = 6464dd3fd20662e69e3056d090bcce470be90e93 | | 4 | RMD160 (syslog-ng-3.17.2.tar.gz) = 6464dd3fd20662e69e3056d090bcce470be90e93 |
5 | SHA512 (syslog-ng-3.17.2.tar.gz) = 2b82ea047bab125d35ab0a90e933b8a282852c6b4a9a8adc3f2a0ddf392f24210ce1296d0cfb389f98e54e50090a3ded5a64c5a9529d2a90cbecbfafd620edd7 | | 5 | SHA512 (syslog-ng-3.17.2.tar.gz) = 2b82ea047bab125d35ab0a90e933b8a282852c6b4a9a8adc3f2a0ddf392f24210ce1296d0cfb389f98e54e50090a3ded5a64c5a9529d2a90cbecbfafd620edd7 |
6 | Size (syslog-ng-3.17.2.tar.gz) = 9119227 bytes | | 6 | Size (syslog-ng-3.17.2.tar.gz) = 9119227 bytes |
7 | SHA1 (patch-ac) = 7d48f689b6ff69c68697baf729fba8be9aec5ce8 | | 7 | SHA1 (patch-ac) = 7d48f689b6ff69c68697baf729fba8be9aec5ce8 |
8 | SHA1 (patch-configure) = 2d8ef2285de44de016f44e51be47cd4c1178dfdb | | 8 | SHA1 (patch-configure) = 2d8ef2285de44de016f44e51be47cd4c1178dfdb |
| | | 9 | SHA1 (patch-lib_signal-handler.c) = dd59ad8dba34139da6233aa65ded757f3268ac5c |
9 | SHA1 (patch-modules_system-source_system-source.c) = 14c2bb4b6681766da1330b43965da9547cf73b12 | | 10 | SHA1 (patch-modules_system-source_system-source.c) = 14c2bb4b6681766da1330b43965da9547cf73b12 |
$NetBSD: patch-lib_signal-handler.c,v 1.1.2.2 2019/03/17 15:45:44 bsiegert 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