diff options
Diffstat (limited to 'sys-process/daemontools-encore')
-rw-r--r-- | sys-process/daemontools-encore/daemontools-encore-1.11-r2.ebuild | 58 | ||||
-rw-r--r-- | sys-process/daemontools-encore/files/daemontools-encore-1.11-use-posix-complaint-functions.patch | 49 |
2 files changed, 107 insertions, 0 deletions
diff --git a/sys-process/daemontools-encore/daemontools-encore-1.11-r2.ebuild b/sys-process/daemontools-encore/daemontools-encore-1.11-r2.ebuild new file mode 100644 index 000000000000..611a61497c33 --- /dev/null +++ b/sys-process/daemontools-encore/daemontools-encore-1.11-r2.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic qmail + +DESCRIPTION="Collection of tools for managing UNIX services" +HOMEPAGE="https://untroubled.org/daemontools-encore/" +SRC_URI="https://untroubled.org/daemontools-encore/${P}.tar.gz" + +LICENSE="GPL-2 MIT" +SLOT="0" +KEYWORDS="~amd64 ~loong ~x86" +IUSE="selinux static" + +RDEPEND=" + !app-doc/daemontools-man + !sys-process/daemontools + selinux? ( sec-policy/selinux-daemontools ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.11-do-not-always-run-tests.patch + "${FILESDIR}"/${PN}-1.11-add-missing-setuser-man-page.patch + "${FILESDIR}"/${PN}-1.11-implicit-func-decl-clang16.patch + "${FILESDIR}"/${PN}-1.11-use-posix-complaint-functions.patch +) + +src_compile() { + use static && append-ldflags -static + qmail_set_cc + emake +} + +src_install() { + keepdir /service + + echo "${ED}/usr/bin" > conf-bin || die + echo "${ED}/usr/share/man" > conf-man || die + dodir /usr/bin + dodir /usr/share/man + emake install + + dodoc ChangeLog CHANGES CHANGES.djb README TODO + + newinitd "${FILESDIR}"/svscan.init-2 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-encore/files/daemontools-encore-1.11-use-posix-complaint-functions.patch b/sys-process/daemontools-encore/files/daemontools-encore-1.11-use-posix-complaint-functions.patch new file mode 100644 index 000000000000..bc4c12fc366c --- /dev/null +++ b/sys-process/daemontools-encore/files/daemontools-encore-1.11-use-posix-complaint-functions.patch @@ -0,0 +1,49 @@ +https://github.com/bruceg/daemontools-encore/pull/66 +From: Brahmajit Das <brahmajit.xyz@gmail.com> +Date: Tue, 13 Jun 2023 04:27:36 +0000 +Subject: [PATCH] sig_block.c: use posix complaint functions on non glibc + systems + +This build error came while building on musl /w clang-16. +In contrast to glibc, musl is not having the "legacy" BSD functions and only POSIX sigprocmask. + +The exact error was: +sig_block.c:15:3: error: call to undeclared function 'sigblock'; ISO C99 and later do not + support implicit function declarations [-Wimplicit-function-declaration] + sigblock(1 << (sig - 1)); + ^ +sig_block.c:15:3: note: did you mean 'sig_block'? +sig_block.c:7:6: note: 'sig_block' declared here +void sig_block(int sig) + ^ +1 warning generated. +sig_block.c:27:3: error: call to undeclared function 'sigsetmask'; ISO C99 and later do not + support implicit function declarations [-Wimplicit-function-declaration] + sigsetmask(sigsetmask(~0) & ~(1 << (sig - 1))); + ^ +sig_block.c:38:3: error: call to undeclared function 'sigsetmask'; ISO C99 and later do not + support implicit function declarations [-Wimplicit-function-declaration] + sigsetmask(0); + ^ + +This patch should fix the error + +Bug: https://bugs.gentoo.org/898852 +Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com> +--- a/sig_block.c ++++ b/sig_block.c +@@ -4,6 +4,11 @@ + #include "sig.h" + #include "hassgprm.h" + ++// Use POSIX complaint functions when using non-Glibc system ++#ifndef __GLIBC__ ++#define HASSIGPROCMASK 0 ++#endif ++ + void sig_block(int sig) + { + #ifdef HASSIGPROCMASK +-- +2.41.0 + |