diff options
author | Khem Raj <raj.khem@gmail.com> | 2016-01-02 21:49:23 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-01-22 23:42:49 +0000 |
commit | a590e541338d49130aaae5339856d31badd56719 (patch) | |
tree | 1ea17bd040bb0a76fef9398e7cb178ebfff71866 | |
parent | cc4f9860332300925d93e2607d675509fc002be4 (diff) | |
download | openembedded-core-a590e541338d49130aaae5339856d31badd56719.tar.gz openembedded-core-a590e541338d49130aaae5339856d31badd56719.tar.bz2 openembedded-core-a590e541338d49130aaae5339856d31badd56719.zip |
sysklogd: untangle header inclusion maze
wait is not union per posix it is int
remove assumption about glibc is linux
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r-- | meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch | 132 | ||||
-rw-r--r-- | meta/recipes-extended/sysklogd/sysklogd.inc | 1 |
2 files changed, 133 insertions, 0 deletions
diff --git a/meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch b/meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch new file mode 100644 index 0000000000..9567946c0c --- /dev/null +++ b/meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch @@ -0,0 +1,132 @@ +From f0af5bcfd753691652eac35efbcb208c933253f1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 31 Aug 2015 05:11:53 +0000 +Subject: [PATCH] Fix build with musl + +Explicitly include fcntl.h since with glibc is comes in as indirect +include but not with musl + +linux/time.h inclusion is not required on musl so using !__GLIBC__ is +not right for musl here + +wait type is glibc specific + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + klogd.c | 10 +--------- + ksym_mod.c | 5 +---- + pidfile.c | 1 + + syslog.c | 3 ++- + syslogd.c | 4 +--- + 5 files changed, 6 insertions(+), 17 deletions(-) + +diff --git a/klogd.c b/klogd.c +index 6cc80ed..9219671 100644 +--- a/klogd.c ++++ b/klogd.c +@@ -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 --git a/ksym_mod.c b/ksym_mod.c +index 68cd6b6..6e26da1 100644 +--- a/ksym_mod.c ++++ b/ksym_mod.c +@@ -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 --git a/pidfile.c b/pidfile.c +index e0959a0..6daa2e0 100644 +--- a/pidfile.c ++++ b/pidfile.c +@@ -31,6 +31,7 @@ + #include <string.h> + #include <errno.h> + #include <signal.h> ++#include <fcntl.h> + + /* read_pid + * +diff --git a/syslog.c b/syslog.c +index bdb3ff2..ef7b34e 100644 +--- a/syslog.c ++++ b/syslog.c +@@ -55,7 +55,7 @@ static char sccsid[] = "@(#)syslog.c 5.28 (Berkeley) 6/27/90"; + #include <sys/types.h> + #include <sys/socket.h> + #include <sys/file.h> +-#include <sys/signal.h> ++//#include <sys/signal.h> + #include <sys/syslog.h> + #if 0 + #include "syslog.h" +@@ -72,6 +72,7 @@ static char sccsid[] = "@(#)syslog.c 5.28 (Berkeley) 6/27/90"; + #include <stdarg.h> + #include <paths.h> + #include <stdio.h> ++#include <fcntl.h> + + #define _PATH_LOGNAME "/dev/log" + +diff --git a/syslogd.c b/syslogd.c +index ea73ea5..1ca0595 100644 +--- a/syslogd.c ++++ b/syslogd.c +@@ -818,9 +818,7 @@ void doexit(int sig); + 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(); +@@ -2094,7 +2092,7 @@ void reapchild() + (void) signal(SIGCHLD, reapchild); /* reset signal handler -ASP */ + wait ((int *)0); + #else +- union wait status; ++ int status; + + while (wait3(&status, WNOHANG, (struct rusage *) NULL) > 0) + ; +-- +2.5.1 + diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc index 85b3cdc56a..f789c54d22 100644 --- a/meta/recipes-extended/sysklogd/sysklogd.inc +++ b/meta/recipes-extended/sysklogd/sysklogd.inc @@ -15,6 +15,7 @@ inherit update-rc.d update-alternatives SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \ file://no-strip-install.patch \ + file://0001-Fix-build-with-musl.patch \ file://sysklogd \ file://syslog.conf \ " |