Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 56bf7a855cac
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0adfe8ca756c
Choose a head ref
  • 3 commits
  • 3 files changed
  • 2 contributors

Commits on Jan 19, 2021

  1. sysklogd: fix building against musl

    taking guidance from alpine linux's patch[1], removed a few ifdefs and
    fixed up some includes.
    
    [1]: https://git.alpinelinux.org/aports/tree/main/sysklogd/fix-includes.patch
    pjjw committed Jan 19, 2021

    Verified

    This commit was signed with the committer’s verified signature.
    gaborbernat Bernát Gábor
    Copy the full SHA
    a47a55e View commit details

Commits on Jan 20, 2021

  1. Verified

    This commit was signed with the committer’s verified signature.
    gaborbernat Bernát Gábor
    Copy the full SHA
    cba38a2 View commit details
  2. Merge pull request #109894 from pjjw/sysklogd-musl-patch

    sysklogd: fix building against musl
    symphorien authored Jan 20, 2021

    Verified

    This commit was signed with the committer’s verified signature.
    gaborbernat Bernát Gábor
    Copy the full SHA
    0adfe8c View commit details
Showing with 122 additions and 2 deletions.
  1. +1 −1 pkgs/os-specific/linux/sysklogd/default.nix
  2. +120 −0 pkgs/os-specific/linux/sysklogd/fix-includes-for-musl.patch
  3. +1 −1 pkgs/os-specific/linux/sysklogd/systemd.patch
2 changes: 1 addition & 1 deletion pkgs/os-specific/linux/sysklogd/default.nix
Original file line number Diff line number Diff line change
@@ -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 changes: 120 additions & 0 deletions pkgs/os-specific/linux/sysklogd/fix-includes-for-musl.patch
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 1 addition & 1 deletion pkgs/os-specific/linux/sysklogd/systemd.patch
Original file line number Diff line number Diff line change
@@ -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>