projects/guix·blob java-team · refs

561 lines · 15.7 KiB

1Taken from Debian, see
2https://salsa.debian.org/debian/daemontools/-/blob/6b5584ccae6bd7c8cb6f47dd71062e3b1cd0a038/debian/patches/0005-fix-ftbfs.patch
3
4From: =?utf-8?b?SmFuIE1vasW+w63FoQ==?= <[email protected]>
5Date: Sat, 30 Mar 2024 10:15:13 +0100
6Subject: fix ftbfs
7
8Forwarded: no
9---
10 daemontools-0.76/src/chkshsgr.c | 3 ++-
11 daemontools-0.76/src/envdir.c | 2 +-
12 daemontools-0.76/src/envuidgid.c | 2 +-
13 daemontools-0.76/src/fghack.c | 6 ++++--
14 daemontools-0.76/src/matchtest.c | 1 +
15 daemontools-0.76/src/multilog.c | 3 ++-
16 daemontools-0.76/src/pathexec.h | 4 ++--
17 daemontools-0.76/src/pathexec_env.c | 6 +++---
18 daemontools-0.76/src/pathexec_run.c | 3 ++-
19 daemontools-0.76/src/pgrphack.c | 2 +-
20 daemontools-0.76/src/prot.c | 4 +++-
21 daemontools-0.76/src/seek_set.c | 1 +
22 daemontools-0.76/src/setlock.c | 2 +-
23 daemontools-0.76/src/setuidgid.c | 2 +-
24 daemontools-0.76/src/sgetopt.c | 2 +-
25 daemontools-0.76/src/sgetopt.h | 2 +-
26 daemontools-0.76/src/softlimit.c | 2 +-
27 daemontools-0.76/src/subgetopt.c | 2 +-
28 daemontools-0.76/src/subgetopt.h | 2 +-
29 daemontools-0.76/src/supervise.c | 6 ++++--
30 daemontools-0.76/src/svc.c | 2 +-
31 daemontools-0.76/src/svscan.c | 2 +-
32 daemontools-0.76/src/trycpp.c | 3 +++
33 daemontools-0.76/src/tryflock.c | 2 +-
34 daemontools-0.76/src/trypoll.c | 1 +
35 daemontools-0.76/src/trysgact.c | 2 +-
36 daemontools-0.76/src/trysgprm.c | 2 +-
37 daemontools-0.76/src/tryshsgr.c | 13 ++++++++-----
38 daemontools-0.76/src/tryulong64.c | 5 ++++-
39 daemontools-0.76/src/trywaitp.c | 2 +-
40 daemontools-0.76/src/uint64.h1 | 2 +-
41 daemontools-0.76/src/uint64.h2 | 5 +++--
42 daemontools-0.76/src/x86cpuid.c | 2 ++
43 33 files changed, 62 insertions(+), 38 deletions(-)
44
45diff --git a/daemontools-0.76/src/chkshsgr.c b/daemontools-0.76/src/chkshsgr.c
46index 38c352d..470f565 100644
47--- a/daemontools-0.76/src/chkshsgr.c
48+++ b/daemontools-0.76/src/chkshsgr.c
49@@ -1,12 +1,13 @@
50 /* Public domain. */
51
52 #include <unistd.h>
53+#include <grp.h>
54
55 int main()
56 {
57 short x[4];
58
59 x[0] = x[1] = 0;
60- if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1);
61+ if (getgroups(1,(gid_t *)x) == 0) if (setgroups(1,(gid_t *)x) == -1) _exit(1);
62 _exit(0);
63 }
64diff --git a/daemontools-0.76/src/envdir.c b/daemontools-0.76/src/envdir.c
65index beb1b1f..d02bc63 100644
66--- a/daemontools-0.76/src/envdir.c
67+++ b/daemontools-0.76/src/envdir.c
68@@ -21,7 +21,7 @@ void nomem(void)
69
70 static stralloc sa;
71
72-int main(int argc,const char *const *argv)
73+int main(int argc,char **argv)
74 {
75 int fdorigdir;
76 const char *fn;
77diff --git a/daemontools-0.76/src/envuidgid.c b/daemontools-0.76/src/envuidgid.c
78index 294960a..f097db1 100644
79--- a/daemontools-0.76/src/envuidgid.c
80+++ b/daemontools-0.76/src/envuidgid.c
81@@ -15,7 +15,7 @@ char strnum[FMT_ULONG];
82 const char *account;
83 struct passwd *pw;
84
85-int main(int argc,const char *const *argv)
86+int main(int argc,char **argv)
87 {
88 account = *++argv;
89 if (!account || !*++argv)
90diff --git a/daemontools-0.76/src/fghack.c b/daemontools-0.76/src/fghack.c
91index 34ca1db..262876a 100644
92--- a/daemontools-0.76/src/fghack.c
93+++ b/daemontools-0.76/src/fghack.c
94@@ -9,12 +9,13 @@
95
96 int pid;
97
98-int main(int argc,const char * const *argv,const char * const *envp)
99+int main(int argc,char **argv,char **envp)
100 {
101 char ch;
102 int wstat;
103 int pi[2];
104 int i;
105+ int dummy;
106
107 if (!argv[1])
108 strerr_die1x(100,"fghack: usage: fghack child");
109@@ -28,7 +29,8 @@ int main(int argc,const char * const *argv,const char * const *envp)
110 case 0:
111 close(pi[0]);
112 for (i = 0;i < 30;++i)
113- dup(pi[1]);
114+ dummy = dup(pi[1]);
115+ (void) dummy;
116 pathexec_run(argv[1],argv + 1,envp);
117 strerr_die4sys(111,FATAL,"unable to run ",argv[1],": ");
118 }
119diff --git a/daemontools-0.76/src/matchtest.c b/daemontools-0.76/src/matchtest.c
120index 980dd1c..1bd4bbc 100644
121--- a/daemontools-0.76/src/matchtest.c
122+++ b/daemontools-0.76/src/matchtest.c
123@@ -1,3 +1,4 @@
124+#include <unistd.h>
125 #include "match.h"
126 #include "buffer.h"
127 #include "str.h"
128diff --git a/daemontools-0.76/src/multilog.c b/daemontools-0.76/src/multilog.c
129index be27a6a..ea02909 100644
130--- a/daemontools-0.76/src/multilog.c
131+++ b/daemontools-0.76/src/multilog.c
132@@ -1,6 +1,7 @@
133 #include <unistd.h>
134 #include <sys/types.h>
135 #include <sys/stat.h>
136+#include <stdio.h>
137 #include "direntry.h"
138 #include "alloc.h"
139 #include "buffer.h"
140@@ -172,7 +173,7 @@ void finish(struct cyclog *d,const char *file,const char *code)
141
142 void startprocessor(struct cyclog *d)
143 {
144- const char *args[4];
145+ char *args[4];
146 int fd;
147
148 sig_uncatch(sig_term);
149diff --git a/daemontools-0.76/src/pathexec.h b/daemontools-0.76/src/pathexec.h
150index 61da922..f984f77 100644
151--- a/daemontools-0.76/src/pathexec.h
152+++ b/daemontools-0.76/src/pathexec.h
153@@ -3,8 +3,8 @@
154 #ifndef PATHEXEC_H
155 #define PATHEXEC_H
156
157-extern void pathexec_run(const char *,const char * const *,const char * const *);
158+extern void pathexec_run(const char *,char **,char **);
159 extern int pathexec_env(const char *,const char *);
160-extern void pathexec(const char * const *);
161+extern void pathexec(char **);
162
163 #endif
164diff --git a/daemontools-0.76/src/pathexec_env.c b/daemontools-0.76/src/pathexec_env.c
165index 2cb101c..a1404ad 100644
166--- a/daemontools-0.76/src/pathexec_env.c
167+++ b/daemontools-0.76/src/pathexec_env.c
168@@ -22,9 +22,9 @@ int pathexec_env(const char *s,const char *t)
169 return stralloc_cat(&plus,&tmp);
170 }
171
172-void pathexec(const char *const *argv)
173+void pathexec(char **argv)
174 {
175- const char **e;
176+ char **e;
177 unsigned int elen;
178 unsigned int i;
179 unsigned int j;
180@@ -40,7 +40,7 @@ void pathexec(const char *const *argv)
181 if (!plus.s[i])
182 ++elen;
183
184- e = (const char **) alloc((elen + 1) * sizeof(char *));
185+ e = (char **) alloc((elen + 1) * sizeof(char *));
186 if (!e) return;
187
188 elen = 0;
189diff --git a/daemontools-0.76/src/pathexec_run.c b/daemontools-0.76/src/pathexec_run.c
190index 1770ac7..7929144 100644
191--- a/daemontools-0.76/src/pathexec_run.c
192+++ b/daemontools-0.76/src/pathexec_run.c
193@@ -1,5 +1,6 @@
194 /* Public domain. */
195
196+#include <unistd.h>
197 #include "error.h"
198 #include "stralloc.h"
199 #include "str.h"
200@@ -8,7 +9,7 @@
201
202 static stralloc tmp;
203
204-void pathexec_run(const char *file,const char * const *argv,const char * const *envp)
205+void pathexec_run(const char *file,char **argv,char **envp)
206 {
207 const char *path;
208 unsigned int split;
209diff --git a/daemontools-0.76/src/pgrphack.c b/daemontools-0.76/src/pgrphack.c
210index 9aa10dc..6b06a84 100644
211--- a/daemontools-0.76/src/pgrphack.c
212+++ b/daemontools-0.76/src/pgrphack.c
213@@ -4,7 +4,7 @@
214
215 #define FATAL "pgrphack: fatal: "
216
217-int main(int argc,const char * const *argv,const char * const *envp)
218+int main(int argc,char **argv,char **envp)
219 {
220 if (!argv[1]) strerr_die1x(100,"pgrphack: usage: pgrphack child");
221 setsid(); /* shouldn't fail; if it does, too bad */
222diff --git a/daemontools-0.76/src/prot.c b/daemontools-0.76/src/prot.c
223index 79a88c5..45af0ef 100644
224--- a/daemontools-0.76/src/prot.c
225+++ b/daemontools-0.76/src/prot.c
226@@ -1,5 +1,7 @@
227 /* Public domain. */
228
229+#include <unistd.h>
230+#include <grp.h>
231 #include "hasshsgr.h"
232 #include "prot.h"
233
234@@ -8,7 +10,7 @@ int prot_gid(int gid)
235 #ifdef HASSHORTSETGROUPS
236 short x[2];
237 x[0] = gid; x[1] = 73; /* catch errors */
238- if (setgroups(1,x) == -1) return -1;
239+ if (setgroups(1,(gid_t *)x) == -1) return -1;
240 #else
241 if (setgroups(1,&gid) == -1) return -1;
242 #endif
243diff --git a/daemontools-0.76/src/seek_set.c b/daemontools-0.76/src/seek_set.c
244index 19b8265..5299201 100644
245--- a/daemontools-0.76/src/seek_set.c
246+++ b/daemontools-0.76/src/seek_set.c
247@@ -1,5 +1,6 @@
248 /* Public domain. */
249
250+#include <unistd.h>
251 #include <sys/types.h>
252 #include "seek.h"
253
254diff --git a/daemontools-0.76/src/setlock.c b/daemontools-0.76/src/setlock.c
255index eec2192..d900540 100644
256--- a/daemontools-0.76/src/setlock.c
257+++ b/daemontools-0.76/src/setlock.c
258@@ -14,7 +14,7 @@ void usage() {
259 int flagndelay = 0;
260 int flagx = 0;
261
262-int main(int argc,const char *const *argv,const char *const *envp)
263+int main(int argc,char **argv,char **envp)
264 {
265 int opt;
266 int fd;
267diff --git a/daemontools-0.76/src/setuidgid.c b/daemontools-0.76/src/setuidgid.c
268index 8c683de..90485e9 100644
269--- a/daemontools-0.76/src/setuidgid.c
270+++ b/daemontools-0.76/src/setuidgid.c
271@@ -9,7 +9,7 @@
272 const char *account;
273 struct passwd *pw;
274
275-int main(int argc,const char *const *argv,const char *const *envp)
276+int main(int argc,char **argv,char **envp)
277 {
278 account = *++argv;
279 if (!account || !*++argv)
280diff --git a/daemontools-0.76/src/sgetopt.c b/daemontools-0.76/src/sgetopt.c
281index 8bb608f..1d6d9f4 100644
282--- a/daemontools-0.76/src/sgetopt.c
283+++ b/daemontools-0.76/src/sgetopt.c
284@@ -27,7 +27,7 @@ Documentation in sgetopt.3.
285 int opterr = 1;
286 const char *optprogname = 0;
287
288-int getopt(int argc,const char *const *argv,const char *opts)
289+int getopt(int argc,char **argv,const char *opts)
290 {
291 int c;
292 const char *s;
293diff --git a/daemontools-0.76/src/sgetopt.h b/daemontools-0.76/src/sgetopt.h
294index bf8bce6..6a6e111 100644
295--- a/daemontools-0.76/src/sgetopt.h
296+++ b/daemontools-0.76/src/sgetopt.h
297@@ -16,7 +16,7 @@
298
299 #include "subgetopt.h"
300
301-extern int sgetoptmine(int,const char *const *,const char *);
302+extern int sgetoptmine(int,char **,const char *);
303 extern int sgetopterr;
304 extern const char *sgetoptprogname;
305
306diff --git a/daemontools-0.76/src/softlimit.c b/daemontools-0.76/src/softlimit.c
307index 8be40b8..4d9f81e 100644
308--- a/daemontools-0.76/src/softlimit.c
309+++ b/daemontools-0.76/src/softlimit.c
310@@ -36,7 +36,7 @@ void doit(int resource,const char *arg)
311 strerr_die2sys(111,FATAL,"setrlimit failed: ");
312 }
313
314-int main(int argc,const char *const *argv,const char *const *envp)
315+int main(int argc,char **argv,char **envp)
316 {
317 int opt;
318
319diff --git a/daemontools-0.76/src/subgetopt.c b/daemontools-0.76/src/subgetopt.c
320index 266e72a..bbbbb6c 100644
321--- a/daemontools-0.76/src/subgetopt.c
322+++ b/daemontools-0.76/src/subgetopt.c
323@@ -16,7 +16,7 @@ const char *optarg = 0;
324 int optproblem = 0;
325 int optdone = SUBGETOPTDONE;
326
327-int sgopt(int argc,const char *const *argv,const char *opts)
328+int sgopt(int argc,char **argv,const char *opts)
329 {
330 int c;
331 const char *s;
332diff --git a/daemontools-0.76/src/subgetopt.h b/daemontools-0.76/src/subgetopt.h
333index 41ad26a..7e5636e 100644
334--- a/daemontools-0.76/src/subgetopt.h
335+++ b/daemontools-0.76/src/subgetopt.h
336@@ -15,7 +15,7 @@
337
338 #define SUBGETOPTDONE -1
339
340-extern int subgetopt(int,const char *const *,const char *);
341+extern int subgetopt(int,char **,const char *);
342 extern const char *subgetoptarg;
343 extern int subgetoptind;
344 extern int subgetoptpos;
345diff --git a/daemontools-0.76/src/supervise.c b/daemontools-0.76/src/supervise.c
346index 483e9a2..3a27f42 100644
347--- a/daemontools-0.76/src/supervise.c
348+++ b/daemontools-0.76/src/supervise.c
349@@ -2,6 +2,7 @@
350 #include <sys/types.h>
351 #include <sys/stat.h>
352 #include <signal.h>
353+#include <stdio.h>
354 #include "sig.h"
355 #include "strerr.h"
356 #include "error.h"
357@@ -81,10 +82,11 @@ void announce(void)
358
359 void trigger(void)
360 {
361- write(selfpipe[1],"",1);
362+ int dummy = write(selfpipe[1],"",1);
363+ (void) dummy;
364 }
365
366-const char *run[2] = { "./run", 0 };
367+char *run[2] = { "./run", 0 };
368
369 int flagfailed = 0;
370
371diff --git a/daemontools-0.76/src/svc.c b/daemontools-0.76/src/svc.c
372index 08e9a5c..aae2d9d 100644
373--- a/daemontools-0.76/src/svc.c
374+++ b/daemontools-0.76/src/svc.c
375@@ -19,7 +19,7 @@ char bspace[1];
376
377 int fdorigdir;
378
379-int main(int argc,const char *const *argv)
380+int main(int argc,char **argv)
381 {
382 int opt;
383 int fd;
384diff --git a/daemontools-0.76/src/svscan.c b/daemontools-0.76/src/svscan.c
385index 15a8c89..39b8887 100644
386--- a/daemontools-0.76/src/svscan.c
387+++ b/daemontools-0.76/src/svscan.c
388@@ -36,7 +36,7 @@ void start(char *fn)
389 struct stat st;
390 int child;
391 int i;
392- const char *args[3];
393+ char *args[3];
394
395 if (fn[0] == '.') return;
396
397diff --git a/daemontools-0.76/src/trycpp.c b/daemontools-0.76/src/trycpp.c
398index e4503d4..70bc8d6 100644
399--- a/daemontools-0.76/src/trycpp.c
400+++ b/daemontools-0.76/src/trycpp.c
401@@ -1,5 +1,8 @@
402 /* Public domain. */
403
404+#include <stdio.h>
405+#include <stdlib.h>
406+
407 int main()
408 {
409 #ifdef NeXT
410diff --git a/daemontools-0.76/src/tryflock.c b/daemontools-0.76/src/tryflock.c
411index a82ffc2..68599d3 100644
412--- a/daemontools-0.76/src/tryflock.c
413+++ b/daemontools-0.76/src/tryflock.c
414@@ -4,7 +4,7 @@
415 #include <sys/file.h>
416 #include <fcntl.h>
417
418-main()
419+int main()
420 {
421 flock(0,LOCK_EX | LOCK_UN | LOCK_NB);
422 }
423diff --git a/daemontools-0.76/src/trypoll.c b/daemontools-0.76/src/trypoll.c
424index 6506617..a7b26df 100644
425--- a/daemontools-0.76/src/trypoll.c
426+++ b/daemontools-0.76/src/trypoll.c
427@@ -3,6 +3,7 @@
428 #include <sys/types.h>
429 #include <fcntl.h>
430 #include <poll.h>
431+#include <unistd.h>
432
433 int main()
434 {
435diff --git a/daemontools-0.76/src/trysgact.c b/daemontools-0.76/src/trysgact.c
436index e264ef2..841b88a 100644
437--- a/daemontools-0.76/src/trysgact.c
438+++ b/daemontools-0.76/src/trysgact.c
439@@ -2,7 +2,7 @@
440
441 #include <signal.h>
442
443-main()
444+int main()
445 {
446 struct sigaction sa;
447 sa.sa_handler = 0;
448diff --git a/daemontools-0.76/src/trysgprm.c b/daemontools-0.76/src/trysgprm.c
449index a46c82c..3e78a82 100644
450--- a/daemontools-0.76/src/trysgprm.c
451+++ b/daemontools-0.76/src/trysgprm.c
452@@ -2,7 +2,7 @@
453
454 #include <signal.h>
455
456-main()
457+int main()
458 {
459 sigset_t ss;
460
461diff --git a/daemontools-0.76/src/tryshsgr.c b/daemontools-0.76/src/tryshsgr.c
462index c5ed6d6..ba298a7 100644
463--- a/daemontools-0.76/src/tryshsgr.c
464+++ b/daemontools-0.76/src/tryshsgr.c
465@@ -1,16 +1,19 @@
466 /* Public domain. */
467
468+#include <unistd.h>
469+#include <grp.h>
470+
471 int main()
472 {
473 short x[4];
474-
475+
476 x[0] = x[1] = 1;
477- if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1);
478-
479- if (getgroups(1,x) == -1) _exit(1);
480+ if (getgroups(1,(gid_t *)x) == 0) if (setgroups(1,(gid_t *)x) == -1) _exit(1);
481+
482+ if (getgroups(1,(gid_t *)x) == -1) _exit(1);
483 if (x[1] != 1) _exit(1);
484 x[1] = 2;
485- if (getgroups(1,x) == -1) _exit(1);
486+ if (getgroups(1,(gid_t *)x) == -1) _exit(1);
487 if (x[1] != 2) _exit(1);
488 _exit(0);
489 }
490diff --git a/daemontools-0.76/src/tryulong64.c b/daemontools-0.76/src/tryulong64.c
491index 003548a..f3b111d 100644
492--- a/daemontools-0.76/src/tryulong64.c
493+++ b/daemontools-0.76/src/tryulong64.c
494@@ -1,8 +1,11 @@
495 /* Public domain. */
496
497+#include <unistd.h>
498+#include <stdint.h>
499+
500 int main()
501 {
502- unsigned long u;
503+ uint64_t u;
504 u = 1;
505 u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u;
506 u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u;
507diff --git a/daemontools-0.76/src/trywaitp.c b/daemontools-0.76/src/trywaitp.c
508index 319b81f..76b3329 100644
509--- a/daemontools-0.76/src/trywaitp.c
510+++ b/daemontools-0.76/src/trywaitp.c
511@@ -3,7 +3,7 @@
512 #include <sys/types.h>
513 #include <sys/wait.h>
514
515-main()
516+int main()
517 {
518 waitpid(0,0,0);
519 }
520diff --git a/daemontools-0.76/src/uint64.h1 b/daemontools-0.76/src/uint64.h1
521index 486a380..fde25ca 100644
522--- a/daemontools-0.76/src/uint64.h1
523+++ b/daemontools-0.76/src/uint64.h1
524@@ -3,7 +3,7 @@
525 #ifndef UINT64_H
526 #define UINT64_H
527
528-/* sysdep: -ulong64 */
529+/* sysdep: -uint64_t */
530
531 typedef unsigned long long uint64;
532
533diff --git a/daemontools-0.76/src/uint64.h2 b/daemontools-0.76/src/uint64.h2
534index 8869e43..fd134f2 100644
535--- a/daemontools-0.76/src/uint64.h2
536+++ b/daemontools-0.76/src/uint64.h2
537@@ -3,8 +3,9 @@
538 #ifndef UINT64_H
539 #define UINT64_H
540
541-/* sysdep: +ulong64 */
542+/* sysdep: +uint64_t */
543
544-typedef unsigned long uint64;
545+#include <stdint.h>
546+typedef uint64_t uint64;
547
548 #endif
549diff --git a/daemontools-0.76/src/x86cpuid.c b/daemontools-0.76/src/x86cpuid.c
550index f81c593..122eed1 100644
551--- a/daemontools-0.76/src/x86cpuid.c
552+++ b/daemontools-0.76/src/x86cpuid.c
553@@ -1,6 +1,8 @@
554 /* Public domain. */
555
556 #include <signal.h>
557+#include <stdlib.h>
558+#include <stdio.h>
559
560 void nope()
561 {