daemontools: Fix build with clang15 and musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2022-09-01 23:39:07 -07:00
parent 9502097f2f
commit e0effa21cd
3 changed files with 287 additions and 0 deletions

View File

@ -0,0 +1,209 @@
From 269f18d5e6698fdd34fec2798f10c6fe072f3cd5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 1 Sep 2022 23:36:52 -0700
Subject: [PATCH] Fix signature of main function
Clang-15 errors out otherewise.
Include needed headers for missing functions
Upstream-Status:Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/chkshsgr.c | 2 +-
src/tai64n.c | 2 +-
src/tai64nlocal.c | 2 +-
src/trycpp.c | 5 +++--
src/tryflock.c | 4 ++--
src/trymkffo.c | 2 +-
src/trypoll.c | 3 ++-
src/trysgact.c | 4 ++--
src/trysgprm.c | 4 ++--
src/tryshsgr.c | 3 ++-
src/tryulong64.c | 4 ++--
src/trywaitp.c | 4 ++--
src/x86cpuid.c | 2 +-
13 files changed, 22 insertions(+), 19 deletions(-)
diff --git a/src/chkshsgr.c b/src/chkshsgr.c
index 038afe9..9547a4c 100644
--- a/src/chkshsgr.c
+++ b/src/chkshsgr.c
@@ -5,7 +5,7 @@
#include <grp.h>
#include <unistd.h>
-int main()
+int main(int argc, char *argv[])
{
gid_t x[4];
diff --git a/src/tai64n.c b/src/tai64n.c
index 17bdb82..7096ab3 100644
--- a/src/tai64n.c
+++ b/src/tai64n.c
@@ -27,7 +27,7 @@ buffer in = BUFFER_INIT(myread,0,inbuf,sizeof inbuf);
char stamp[TIMESTAMP + 1];
-int main()
+int main(int argc, char *argv[])
{
char ch;
diff --git a/src/tai64nlocal.c b/src/tai64nlocal.c
index ce16ad8..2435737 100644
--- a/src/tai64nlocal.c
+++ b/src/tai64nlocal.c
@@ -28,7 +28,7 @@ unsigned long nanosecs;
unsigned long u;
struct tm *t;
-int main()
+int main(int argc, char *argv[])
{
char ch;
diff --git a/src/trycpp.c b/src/trycpp.c
index e4503d4..d96c955 100644
--- a/src/trycpp.c
+++ b/src/trycpp.c
@@ -1,6 +1,7 @@
/* Public domain. */
-
-int main()
+#include <stdio.h>
+#include <stdlib.h>
+int main(int argc, char *argv[])
{
#ifdef NeXT
printf("nextstep\n"); exit(0);
diff --git a/src/tryflock.c b/src/tryflock.c
index a82ffc2..5ca97d3 100644
--- a/src/tryflock.c
+++ b/src/tryflock.c
@@ -3,8 +3,8 @@
#include <sys/types.h>
#include <sys/file.h>
#include <fcntl.h>
-
-main()
+void
+main(int argc, char *argv[])
{
flock(0,LOCK_EX | LOCK_UN | LOCK_NB);
}
diff --git a/src/trymkffo.c b/src/trymkffo.c
index 9356342..f92414a 100644
--- a/src/trymkffo.c
+++ b/src/trymkffo.c
@@ -3,7 +3,7 @@
#include <sys/types.h>
#include <sys/stat.h>
-void main()
+void main(int argc, char *argv[])
{
mkfifo("temp-trymkffo",0);
}
diff --git a/src/trypoll.c b/src/trypoll.c
index 6506617..cb888cc 100644
--- a/src/trypoll.c
+++ b/src/trypoll.c
@@ -3,8 +3,9 @@
#include <sys/types.h>
#include <fcntl.h>
#include <poll.h>
+#include <unistd.h>
-int main()
+int main(int argc, char *argv[])
{
struct pollfd x;
diff --git a/src/trysgact.c b/src/trysgact.c
index e264ef2..25da013 100644
--- a/src/trysgact.c
+++ b/src/trysgact.c
@@ -1,8 +1,8 @@
/* Public domain. */
#include <signal.h>
-
-main()
+void
+main(int argc, char *argv[])
{
struct sigaction sa;
sa.sa_handler = 0;
diff --git a/src/trysgprm.c b/src/trysgprm.c
index a46c82c..5a9491c 100644
--- a/src/trysgprm.c
+++ b/src/trysgprm.c
@@ -1,8 +1,8 @@
/* Public domain. */
#include <signal.h>
-
-main()
+void
+main(int argc, char *argv[])
{
sigset_t ss;
diff --git a/src/tryshsgr.c b/src/tryshsgr.c
index c5ed6d6..d111e40 100644
--- a/src/tryshsgr.c
+++ b/src/tryshsgr.c
@@ -1,6 +1,7 @@
/* Public domain. */
-int main()
+#include <unistd.h>
+int main(int argc, char *argv[])
{
short x[4];
diff --git a/src/tryulong64.c b/src/tryulong64.c
index 003548a..20a3a40 100644
--- a/src/tryulong64.c
+++ b/src/tryulong64.c
@@ -1,6 +1,6 @@
/* Public domain. */
-
-int main()
+#include <unistd.h>
+int main(int argc, char *argv[])
{
unsigned long u;
u = 1;
diff --git a/src/trywaitp.c b/src/trywaitp.c
index 319b81f..90bc5aa 100644
--- a/src/trywaitp.c
+++ b/src/trywaitp.c
@@ -2,8 +2,8 @@
#include <sys/types.h>
#include <sys/wait.h>
-
-main()
+void
+main(int argc, char *argv[])
{
waitpid(0,0,0);
}
diff --git a/src/x86cpuid.c b/src/x86cpuid.c
index f81c593..1cb1ea6 100644
--- a/src/x86cpuid.c
+++ b/src/x86cpuid.c
@@ -7,7 +7,7 @@ void nope()
exit(1);
}
-int main()
+int main(int argc, char *argv[])
{
unsigned long x[4];
unsigned long y[4];
--
2.37.3

View File

@ -0,0 +1,74 @@
Fixup misc warnings
Patch by RiverRat
http://bugs.gentoo.org/124487
--- a/src/chkshsgr.c
+++ b/src/chkshsgr.c
@@ -1,10 +1,13 @@
/* Public domain. */
+#include <sys/types.h>
+#include <stdlib.h>
+#include <grp.h>
#include <unistd.h>
int main()
{
- short x[4];
+ gid_t x[4];
x[0] = x[1] = 0;
if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1);
--- a/src/matchtest.c
+++ b/src/matchtest.c
@@ -1,3 +1,4 @@
+#include <unistd.h>
#include "match.h"
#include "buffer.h"
#include "str.h"
--- a/src/multilog.c
+++ b/src/multilog.c
@@ -1,3 +1,4 @@
+#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
--- a/src/prot.c
+++ b/src/prot.c
@@ -1,5 +1,8 @@
/* Public domain. */
+#include <sys/types.h>
+#include <unistd.h>
+#include <grp.h>
#include "hasshsgr.h"
#include "prot.h"
--- a/src/seek_set.c
+++ b/src/seek_set.c
@@ -1,6 +1,7 @@
/* Public domain. */
#include <sys/types.h>
+#include <unistd.h>
#include "seek.h"
#define SET 0 /* sigh */
--- a/src/supervise.c
+++ b/src/supervise.c
@@ -1,3 +1,4 @@
+#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
--- a/src/pathexec_run.c
+++ b/src/pathexec_run.c
@@ -1,5 +1,6 @@
/* Public domain. */
+#include <unistd.h>
#include "error.h"
#include "stralloc.h"
#include "str.h"

View File

@ -15,11 +15,15 @@ SECTION = "System/Servers"
LIC_FILES_CHKSUM = "file://src/prot.c;beginline=1;endline=1;md5=96964cadf07e8f8c1e2ffb3b507dd647" LIC_FILES_CHKSUM = "file://src/prot.c;beginline=1;endline=1;md5=96964cadf07e8f8c1e2ffb3b507dd647"
LICENSE = "PD" LICENSE = "PD"
DEPENDS += "coreutils"
SRC_URI = "http://cr.yp.to/daemontools/${BPN}-${PV}.tar.gz \ SRC_URI = "http://cr.yp.to/daemontools/${BPN}-${PV}.tar.gz \
file://0001-error.h-include-errno.h-instead-of-extern-int.diff \ file://0001-error.h-include-errno.h-instead-of-extern-int.diff \
file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff \ file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff \
file://cross-compile.patch \ file://cross-compile.patch \
file://0001-daemontools-Fix-QA-Issue.patch \ file://0001-daemontools-Fix-QA-Issue.patch \
file://warnings.patch \
file://0001-Fix-signature-of-main-function.patch \
" "
SRC_URI[md5sum] = "1871af2453d6e464034968a0fbcb2bfc" SRC_URI[md5sum] = "1871af2453d6e464034968a0fbcb2bfc"