* [gentoo-commits] repo/gentoo:master commit in: sys-process/daemontools/files/, sys-process/daemontools/
@ 2023-04-04 7:53 Joonas Niilola
0 siblings, 0 replies; 2+ messages in thread
From: Joonas Niilola @ 2023-04-04 7:53 UTC (permalink / raw
To: gentoo-commits
commit: 22032423541019de6e98183ad25f6216f587d231
Author: brahmajit das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Sat Mar 11 14:44:48 2023 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Apr 4 07:53:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22032423
sys-process/daemontools: fix build w/ clang 16
Signed-off-by: brahmajit das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/30054
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
.../daemontools/daemontools-0.76-r11.ebuild | 54 ++++++++++++++++++++++
.../files/0.76-implicit-func-decl-clang16.patch | 13 ++++++
2 files changed, 67 insertions(+)
diff --git a/sys-process/daemontools/daemontools-0.76-r11.ebuild b/sys-process/daemontools/daemontools-0.76-r11.ebuild
new file mode 100644
index 000000000000..3390cd179a7d
--- /dev/null
+++ b/sys-process/daemontools/daemontools-0.76-r11.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Collection of tools for managing UNIX services"
+HOMEPAGE="https://cr.yp.to/daemontools.html"
+SRC_URI="
+ https://cr.yp.to/daemontools/${P}.tar.gz
+ http://smarden.org/pape/djb/manpages/${P}-man-20020131.tar.gz"
+S="${WORKDIR}/admin/${P}/src"
+
+LICENSE="public-domain GPL-2" # GPL-2 for init script
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="selinux static"
+
+RDEPEND="selinux? ( sec-policy/selinux-daemontools )"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-errno.patch
+ "${FILESDIR}"/${PV}-C99-decls.patch
+ "${FILESDIR}"/${PV}-makefile.patch
+ "${FILESDIR}"/${PV}-implicit-func-decl-clang16.patch
+)
+
+src_configure() {
+ tc-export AR CC
+ use static && append-ldflags -static
+
+ touch home || die
+}
+
+src_install() {
+ keepdir /service
+
+ dobin $(<../package/commands)
+ dodoc CHANGES ../package/README TODO
+ doman "${WORKDIR}"/${PN}-man/*.8
+
+ newinitd "${FILESDIR}"/svscan.init-0.76-r7 svscan
+}
+
+pkg_postinst() {
+ einfo
+ einfo "You can run daemontools using the svscan init.d script,"
+ einfo "or you could run it through inittab."
+ einfo "To use inittab, emerge supervise-scripts and run:"
+ einfo "svscan-add-to-inittab"
+ einfo "Then you can hup init with the command telinit q"
+ einfo
+}
diff --git a/sys-process/daemontools/files/0.76-implicit-func-decl-clang16.patch b/sys-process/daemontools/files/0.76-implicit-func-decl-clang16.patch
new file mode 100644
index 000000000000..06fe93b5d410
--- /dev/null
+++ b/sys-process/daemontools/files/0.76-implicit-func-decl-clang16.patch
@@ -0,0 +1,13 @@
+diff --git a/sig_pause.c b/sig_pause.c
+index 3d1a793..5280934 100644
+--- a/sig_pause.c
++++ b/sig_pause.c
+@@ -1,5 +1,7 @@
+ /* Public domain. */
+-
++#ifndef _XOPEN_SOURCE
++#define _XOPEN_SOURCE 500
++#endif
+ #include <signal.h>
+ #include "sig.h"
+ #include "hassgprm.h"
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-process/daemontools/files/, sys-process/daemontools/
@ 2024-07-18 7:50 Joonas Niilola
0 siblings, 0 replies; 2+ messages in thread
From: Joonas Niilola @ 2024-07-18 7:50 UTC (permalink / raw
To: gentoo-commits
commit: a83c8828a29cb5721ba3975749a540c6cd583e84
Author: NHOrus <jy6x2b32pie9 <AT> yahoo <DOT> com>
AuthorDate: Sat May 11 08:27:40 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Jul 18 07:47:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a83c8828
sys-process/daemontools: Port to C99
Standard malloc/free uses void* and doesn't care what you cast your pointer
in-between, for better or for worse
There was assignment of char* to const char *, patch propagates const up to
base definitions everywhere it's possible, and casts const away in calls to
library functions.
Closes: https://bugs.gentoo.org/920062
Signed-off-by: NHOrus <jy6x2b32pie9 <AT> yahoo.com>
Closes: https://github.com/gentoo/gentoo/pull/36636
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
.../daemontools/daemontools-0.76-r12.ebuild | 55 ++++
.../files/0.76-const-typecasts-C99.patch | 292 +++++++++++++++++++++
2 files changed, 347 insertions(+)
diff --git a/sys-process/daemontools/daemontools-0.76-r12.ebuild b/sys-process/daemontools/daemontools-0.76-r12.ebuild
new file mode 100644
index 000000000000..c9d6bad9305e
--- /dev/null
+++ b/sys-process/daemontools/daemontools-0.76-r12.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Collection of tools for managing UNIX services"
+HOMEPAGE="https://cr.yp.to/daemontools.html"
+SRC_URI="
+ https://cr.yp.to/daemontools/${P}.tar.gz
+ https://smarden.org/pape/djb/manpages/${P}-man-20020131.tar.gz"
+S="${WORKDIR}/admin/${P}/src"
+
+LICENSE="public-domain GPL-2" # GPL-2 for init script
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="selinux static"
+
+RDEPEND="selinux? ( sec-policy/selinux-daemontools )"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-errno.patch
+ "${FILESDIR}"/${PV}-C99-decls.patch
+ "${FILESDIR}"/${PV}-makefile.patch
+ "${FILESDIR}"/${PV}-implicit-func-decl-clang16.patch
+ "${FILESDIR}"/${PV}-const-typecasts-C99.patch
+)
+
+src_configure() {
+ tc-export AR CC
+ use static && append-ldflags -static
+
+ touch home || die
+}
+
+src_install() {
+ keepdir /service
+
+ dobin $(<../package/commands)
+ dodoc CHANGES ../package/README TODO
+ doman "${WORKDIR}"/${PN}-man/*.8
+
+ newinitd "${FILESDIR}"/svscan.init-0.76-r7 svscan
+}
+
+pkg_postinst() {
+ einfo
+ einfo "You can run daemontools using the svscan init.d script,"
+ einfo "or you could run it through inittab."
+ einfo "To use inittab, emerge supervise-scripts and run:"
+ einfo "svscan-add-to-inittab"
+ einfo "Then you can hup init with the command telinit q"
+ einfo
+}
diff --git a/sys-process/daemontools/files/0.76-const-typecasts-C99.patch b/sys-process/daemontools/files/0.76-const-typecasts-C99.patch
new file mode 100644
index 000000000000..3b34db2d2c08
--- /dev/null
+++ b/sys-process/daemontools/files/0.76-const-typecasts-C99.patch
@@ -0,0 +1,292 @@
+Memory allocation should have internal accounting and automatically
+free the memory that was allocated and pointed by this, whatever
+type pointer is.
+Also, there's a lot of erroneous assignments of const types, added
+consts everywhere, removed or cast them away only where it was impossible
+https://bugs.gentoo.org/920062
+--- a/pathexec_env.c 2024-05-11 08:21:41.834811961 +0000
++++ b/pathexec_env.c 2024-05-11 08:23:16.190437842 +0000
+@@ -65,5 +65,5 @@
+ e[elen] = 0;
+
+ pathexec_run(*argv,argv,e);
+- alloc_free(e);
++ alloc_free((char *)e);
+ }
+diff '--color=auto' -ru a/buffer.c b/buffer.c
+--- a/buffer.c 2024-06-23 17:46:32.395780947 -0000
++++ b/buffer.c 2024-06-23 17:53:20.305622176 -0000
+@@ -2,7 +2,7 @@
+
+ #include "buffer.h"
+
+-void buffer_init(buffer *s,int (*op)(int, char*, int),int fd,char *buf,unsigned int len)
++void buffer_init(buffer *s,int (*op)(int, const char*, int),int fd,char *buf,unsigned int len)
+ {
+ s->x = buf;
+ s->fd = fd;
+diff '--color=auto' -ru a/buffer.h b/buffer.h
+--- a/buffer.h 2024-06-23 17:46:32.395780947 -0000
++++ b/buffer.h 2024-06-23 17:56:59.835455791 -0000
+@@ -8,14 +8,14 @@
+ unsigned int p;
+ unsigned int n;
+ int fd;
+- int (*op)(int, char*, int);
++ int (*op)(int, const char*, int);
+ } buffer;
+
+ #define BUFFER_INIT(op,fd,buf,len) { (buf), 0, (len), (fd), (op) }
+ #define BUFFER_INSIZE 8192
+ #define BUFFER_OUTSIZE 8192
+
+-extern void buffer_init(buffer *, int (*)(int, char*, int), int, char *, unsigned int);
++extern void buffer_init(buffer *, int (*)(int, const char*, int), int, char *, unsigned int);
+
+ extern int buffer_flush(buffer *);
+ extern int buffer_put(buffer *,const char *,unsigned int);
+@@ -49,8 +49,8 @@
+
+ extern int buffer_copy(buffer *,buffer *);
+
+-extern int buffer_unixread(int,char *,unsigned int);
+-extern int buffer_unixwrite(int, char *, int);
++extern int buffer_unixread(int,const char *,unsigned int);
++extern int buffer_unixwrite(int, const char *, int);
+
+ extern buffer *buffer_0;
+ extern buffer *buffer_0small;
+diff '--color=auto' -ru a/buffer_0.c b/buffer_0.c
+--- a/buffer_0.c 2024-06-23 17:46:32.395780947 -0000
++++ b/buffer_0.c 2024-06-23 18:00:19.773386824 -0000
+@@ -2,7 +2,7 @@
+
+ #include "buffer.h"
+
+-int buffer_0_read(int fd, char *buf, int len)
++int buffer_0_read(int fd, const char *buf, int len)
+ {
+ if (buffer_flush(buffer_1) == -1) return -1;
+ return buffer_unixread(fd,buf,len);
+diff '--color=auto' -ru a/buffer_get.c b/buffer_get.c
+--- a/buffer_get.c 2024-06-23 17:46:32.395780947 -0000
++++ b/buffer_get.c 2024-06-23 17:54:25.506277116 -0000
+@@ -4,7 +4,7 @@
+ #include "byte.h"
+ #include "error.h"
+
+-static int oneread(int (*op)(int, char*, int),int fd,char *buf,unsigned int len)
++static int oneread(int (*op)(int, const char*, int),int fd,char *buf,unsigned int len)
+ {
+ int r;
+
+diff '--color=auto' -ru a/buffer_put.c b/buffer_put.c
+--- a/buffer_put.c 2024-06-23 17:46:32.395780947 -0000
++++ b/buffer_put.c 2024-06-23 17:51:41.689144081 -0000
+@@ -5,7 +5,7 @@
+ #include "byte.h"
+ #include "error.h"
+
+-static int allwrite(int (*op)(int, char*, int),int fd,const char *buf,unsigned int len)
++static int allwrite(int (*op)(int, const char*, int),int fd,const char *buf,unsigned int len)
+ {
+ int w;
+
+diff '--color=auto' -ru a/buffer_read.c b/buffer_read.c
+--- a/buffer_read.c 2024-06-23 17:46:32.387780989 -0000
++++ b/buffer_read.c 2024-06-23 18:04:30.854044424 -0000
+@@ -3,7 +3,7 @@
+ #include <unistd.h>
+ #include "buffer.h"
+
+-int buffer_unixread(int fd,char *buf,unsigned int len)
++int buffer_unixread(int fd,const char *buf,unsigned int len)
+ {
+- return read(fd,buf,len);
++ return read(fd,(void *)buf,len);
+ }
+diff '--color=auto' -ru a/buffer_write.c b/buffer_write.c
+--- a/buffer_write.c 2024-06-23 17:46:32.395780947 -0000
++++ b/buffer_write.c 2024-06-23 17:55:26.617953696 -0000
+@@ -3,7 +3,7 @@
+ #include <unistd.h>
+ #include "buffer.h"
+
+-int buffer_unixwrite(int fd, char *buf, int len)
++int buffer_unixwrite(int fd, const char *buf, int len)
+ {
+ return write(fd,buf,len);
+ }
+diff '--color=auto' -ru a/byte.h b/byte.h
+--- a/byte.h 2024-06-23 17:46:32.395780947 -0000
++++ b/byte.h 2024-06-23 18:07:46.502998389 -0000
+@@ -4,10 +4,10 @@
+ #define BYTE_H
+
+ unsigned int byte_chr(char *s, unsigned int n, int c);
+-unsigned int byte_rchr(char *s, unsigned int n, int c);
+-void byte_copy(char *to, unsigned int n, char *from);
++unsigned int byte_rchr(const char *s, unsigned int n, int c);
++void byte_copy(char *to, unsigned int n, const char *from);
+ void byte_copyr(char *to, unsigned int n, char *from);
+-int byte_diff(char *s, unsigned int n, char *t);
++int byte_diff(char *s, unsigned int n, const char *t);
+
+ #define byte_equal(s,n,t) (!byte_diff((s),(n),(t)))
+
+diff '--color=auto' -ru a/byte_copy.c b/byte_copy.c
+--- a/byte_copy.c 2024-06-23 17:46:32.395780947 -0000
++++ b/byte_copy.c 2024-06-23 17:48:30.327156821 -0000
+@@ -2,7 +2,7 @@
+
+ #include "byte.h"
+
+-void byte_copy(char *to, unsigned int n, char *from)
++void byte_copy(char *to, unsigned int n, const char *from)
+ {
+ for (;;) {
+ if (!n) return; *to++ = *from++; --n;
+diff '--color=auto' -ru a/byte_diff.c b/byte_diff.c
+--- a/byte_diff.c 2024-06-23 17:46:32.396780942 -0000
++++ b/byte_diff.c 2024-06-23 17:48:50.431050426 -0000
+@@ -2,7 +2,7 @@
+
+ #include "byte.h"
+
+-int byte_diff(char *s, unsigned int n, char *t)
++int byte_diff(char *s, unsigned int n, const char *t)
+ {
+ for (;;) {
+ if (!n) return 0; if (*s != *t) break; ++s; ++t; --n;
+diff '--color=auto' -ru a/byte_rchr.c b/byte_rchr.c
+--- a/byte_rchr.c 2024-06-23 17:46:32.396780942 -0000
++++ b/byte_rchr.c 2024-06-23 18:08:32.408752954 -0000
+@@ -2,11 +2,11 @@
+
+ #include "byte.h"
+
+-unsigned int byte_rchr(char *s, unsigned int n, int c)
++unsigned int byte_rchr(const char *s, unsigned int n, int c)
+ {
+ register char ch;
+- register char *t;
+- register char *u;
++ register const char *t;
++ register const char *u;
+
+ ch = c;
+ t = s;
+diff '--color=auto' -ru a/multilog.c b/multilog.c
+--- a/multilog.c 2024-06-23 17:46:32.396780942 -0000
++++ b/multilog.c 2024-06-23 18:09:29.152449574 -0000
+@@ -173,7 +173,7 @@
+
+ void startprocessor(struct cyclog *d)
+ {
+- const char *args[4];
++ char *args[4];
+ int fd;
+
+ sig_uncatch(sig_term);
+@@ -268,7 +268,7 @@
+ }
+ }
+
+-int c_write(int pos,char *buf,int len)
++int c_write(int pos,const char *buf,int len)
+ {
+ struct cyclog *d;
+ int w;
+@@ -446,7 +446,7 @@
+ flagforcerotate = 1;
+ }
+
+-int flushread(int fd,char *buf,int len)
++int flushread(int fd,const char *buf,int len)
+ {
+ int j;
+
+@@ -468,7 +468,7 @@
+ sig_unblock(sig_term);
+ sig_unblock(sig_alarm);
+
+- len = read(fd,buf,len);
++ len = read(fd,(void *)buf,len);
+
+ sig_block(sig_term);
+ sig_block(sig_alarm);
+diff '--color=auto' -ru a/pathexec_run.c b/pathexec_run.c
+--- a/pathexec_run.c 2024-06-23 17:46:32.396780942 -0000
++++ b/pathexec_run.c 2024-06-23 17:59:54.340522801 -0000
+@@ -16,7 +16,7 @@
+ int savederrno;
+
+ if (file[str_chr(file,'/')]) {
+- execve(file,argv,envp);
++ execve(file,(char *const *)argv,(char *const *)envp);
+ return;
+ }
+
+@@ -33,7 +33,7 @@
+ if (!stralloc_cats(&tmp,file)) return;
+ if (!stralloc_0(&tmp)) return;
+
+- execve(tmp.s,argv,envp);
++ execve(tmp.s,(char *const *)argv,(char *const *)envp);
+ if (errno != error_noent) {
+ savederrno = errno;
+ if ((errno != error_acces) && (errno != error_perm) && (errno != error_isdir)) return;
+diff '--color=auto' -ru a/supervise.c b/supervise.c
+--- a/supervise.c 2024-06-23 17:46:32.397780936 -0000
++++ b/supervise.c 2024-06-23 18:03:30.334367992 -0000
+@@ -85,7 +85,7 @@
+ write(selfpipe[1],"",1);
+ }
+
+-const char *run[2] = { "./run", 0 };
++char * const run[2] = { "./run", 0 };
+
+ void trystart(void)
+ {
+diff '--color=auto' -ru a/svscan.c b/svscan.c
+--- a/svscan.c 2024-06-23 17:46:32.385781000 -0000
++++ b/svscan.c 2024-06-23 17:47:36.647440909 -0000
+@@ -101,7 +101,7 @@
+ args[0] = "supervise";
+ args[1] = fn;
+ args[2] = 0;
+- pathexec_run(*args,args,environ);
++ pathexec_run(*args,args,(const char *const *)environ);
+ strerr_die4sys(111,WARNING,"unable to start supervise ",fn,": ");
+ default:
+ x[i].pid = child;
+@@ -120,7 +120,7 @@
+ args[0] = "supervise";
+ args[1] = "log";
+ args[2] = 0;
+- pathexec_run(*args,args,environ);
++ pathexec_run(*args,args,(const char *const *)environ);
+ strerr_die4sys(111,WARNING,"unable to start supervise ",fn,"/log: ");
+ default:
+ x[i].pidlog = child;
+diff '--color=auto' -ru a/tai64n.c b/tai64n.c
+--- a/tai64n.c 2024-06-23 17:46:32.397780936 -0000
++++ b/tai64n.c 2024-06-23 18:05:56.551586243 -0000
+@@ -2,7 +2,7 @@
+ #include "timestamp.h"
+ #include "buffer.h"
+
+-int mywrite(int fd,char *buf,int len)
++int mywrite(int fd,const char *buf,int len)
+ {
+ int w;
+ w = buffer_unixwrite(fd,buf,len);
+@@ -13,7 +13,7 @@
+ char outbuf[2048];
+ buffer out = BUFFER_INIT(mywrite,1,outbuf,sizeof outbuf);
+
+-int myread(int fd,char *buf,int len)
++int myread(int fd,const char *buf,int len)
+ {
+ int r;
+ buffer_flush(&out);
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-07-18 7:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-18 7:50 [gentoo-commits] repo/gentoo:master commit in: sys-process/daemontools/files/, sys-process/daemontools/ Joonas Niilola
-- strict thread matches above, loose matches on Subject: below --
2023-04-04 7:53 Joonas Niilola
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox