Merge pull request #109894 from pjjw/sysklogd-musl-patch
sysklogd: fix building against musl
This commit is contained in:
commit
0adfe8ca75
3 changed files with 122 additions and 2 deletions
|
@ -8,7 +8,7 @@ stdenv.mkDerivation {
|
|||
sha256 = "00f2wy6f0qng7qzga4iicyzl9j8b7mp6mrpfky5jxj93ms2w2rji";
|
||||
};
|
||||
|
||||
patches = [ ./systemd.patch ./union-wait.patch ];
|
||||
patches = [ ./systemd.patch ./union-wait.patch ./fix-includes-for-musl.patch ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-DSYSV";
|
||||
|
||||
|
|
120
pkgs/os-specific/linux/sysklogd/fix-includes-for-musl.patch
Normal file
120
pkgs/os-specific/linux/sysklogd/fix-includes-for-musl.patch
Normal file
|
@ -0,0 +1,120 @@
|
|||
# this patch both fixes some include paths as well as removes glibc
|
||||
# gates around defines that musl-libc also depends on.
|
||||
diff -u sysklogd-1.5.1.orig/klogd.c sysklogd-1.5.1/klogd.c
|
||||
--- sysklogd-1.5.1.orig/klogd.c 2014-10-04 15:47:18.000000000 -0400
|
||||
+++ sysklogd-1.5.1/klogd.c 2021-01-18 23:09:23.000000000 -0500
|
||||
@@ -260,11 +260,8 @@
|
||||
#include <unistd.h>
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
-#include <sys/fcntl.h>
|
||||
+#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
-#if !defined(__GLIBC__)
|
||||
-#include <linux/time.h>
|
||||
-#endif /* __GLIBC__ */
|
||||
#include <stdarg.h>
|
||||
#include <paths.h>
|
||||
#include <stdlib.h>
|
||||
@@ -277,13 +274,8 @@
|
||||
|
||||
#define __LIBRARY__
|
||||
#include <linux/unistd.h>
|
||||
-#if !defined(__GLIBC__)
|
||||
-# define __NR_ksyslog __NR_syslog
|
||||
-_syscall3(int,ksyslog,int, type, char *, buf, int, len);
|
||||
-#else
|
||||
#include <sys/klog.h>
|
||||
#define ksyslog klogctl
|
||||
-#endif
|
||||
|
||||
#define LOG_BUFFER_SIZE 4096
|
||||
#define LOG_LINE_LENGTH 1000
|
||||
diff -u sysklogd-1.5.1.orig/ksym_mod.c sysklogd-1.5.1/ksym_mod.c
|
||||
--- sysklogd-1.5.1.orig/ksym_mod.c 2014-10-04 15:47:18.000000000 -0400
|
||||
+++ sysklogd-1.5.1/ksym_mod.c 2021-01-18 23:09:57.000000000 -0500
|
||||
@@ -113,12 +113,9 @@
|
||||
#include <unistd.h>
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
-#include <sys/fcntl.h>
|
||||
+#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include "module.h"
|
||||
-#if !defined(__GLIBC__)
|
||||
-#include <linux/time.h>
|
||||
-#endif /* __GLIBC__ */
|
||||
#include <stdarg.h>
|
||||
#include <paths.h>
|
||||
#include <linux/version.h>
|
||||
diff -u sysklogd-1.5.1.orig/pidfile.c sysklogd-1.5.1/pidfile.c
|
||||
--- sysklogd-1.5.1.orig/pidfile.c 2014-10-04 15:47:18.000000000 -0400
|
||||
+++ sysklogd-1.5.1/pidfile.c 2021-01-18 23:23:55.000000000 -0500
|
||||
@@ -25,6 +25,7 @@
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/file.h>
|
||||
diff -u sysklogd-1.5.1.orig/syslog.c sysklogd-1.5.1/syslog.c
|
||||
--- sysklogd-1.5.1.orig/syslog.c 2014-10-04 15:47:18.000000000 -0400
|
||||
+++ sysklogd-1.5.1/syslog.c 2021-01-18 23:11:45.000000000 -0500
|
||||
@@ -55,7 +55,6 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/file.h>
|
||||
-#include <sys/signal.h>
|
||||
#include <sys/syslog.h>
|
||||
#if 0
|
||||
#include "syslog.h"
|
||||
@@ -64,6 +63,8 @@
|
||||
|
||||
#include <sys/uio.h>
|
||||
#include <sys/wait.h>
|
||||
+#include <signal.h>
|
||||
+#include <fcntl.h>
|
||||
#include <netdb.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
diff -u sysklogd-1.5.1.orig/syslogd.c sysklogd-1.5.1/syslogd.c
|
||||
--- sysklogd-1.5.1.orig/syslogd.c 2014-10-04 15:47:18.000000000 -0400
|
||||
+++ sysklogd-1.5.1/syslogd.c 2021-01-18 23:13:25.000000000 -0500
|
||||
@@ -519,9 +519,9 @@
|
||||
#include <time.h>
|
||||
|
||||
#define SYSLOG_NAMES
|
||||
+#include <errno.h>
|
||||
#include <sys/syslog.h>
|
||||
#include <sys/param.h>
|
||||
-#include <sys/errno.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/wait.h>
|
||||
@@ -818,9 +818,7 @@
|
||||
void init();
|
||||
void cfline(char *line, register struct filed *f);
|
||||
int decode(char *name, struct code *codetab);
|
||||
-#if defined(__GLIBC__)
|
||||
#define dprintf mydprintf
|
||||
-#endif /* __GLIBC__ */
|
||||
static void dprintf(char *, ...);
|
||||
static void allocate_log(void);
|
||||
void sighup_handler();
|
||||
@@ -840,15 +838,9 @@
|
||||
register char *p;
|
||||
#ifndef TESTING
|
||||
ssize_t msglen;
|
||||
-#endif
|
||||
-#if !defined(__GLIBC__)
|
||||
- int len, num_fds;
|
||||
-#else /* __GLIBC__ */
|
||||
-#ifndef TESTING
|
||||
socklen_t len;
|
||||
#endif
|
||||
int num_fds;
|
||||
-#endif /* __GLIBC__ */
|
||||
/*
|
||||
* It took me quite some time to figure out how this is
|
||||
* supposed to work so I guess I should better write it down.
|
|
@ -71,9 +71,9 @@ diff -ruN -x '*~' sysklogd-1.5-old/sd-daemon.c sysklogd-1.5/sd-daemon.c
|
|||
+#include <sys/stat.h>
|
||||
+#include <sys/socket.h>
|
||||
+#include <sys/un.h>
|
||||
+#include <sys/fcntl.h>
|
||||
+#include <netinet/in.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <fcntl.h>
|
||||
+#include <errno.h>
|
||||
+#include <unistd.h>
|
||||
+#include <string.h>
|
||||
|
|
Loading…
Reference in a new issue