summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrahmajit Das <brahmajit.xyz@gmail.com>2023-06-13 14:58:18 +0000
committerJoonas Niilola <juippis@gentoo.org>2023-06-18 15:16:39 +0300
commited4d598b5ebe5eabaa7e07f3be76bd12b8c3a4d7 (patch)
treed9ae3fdb963be343a891747a07d1ed2108ae8ea6 /sys-apps/cinit
parentsys-apps/usermode-utilities: Fix call to undeclared library function (diff)
downloadgentoo-ed4d598b5ebe5eabaa7e07f3be76bd12b8c3a4d7.tar.gz
gentoo-ed4d598b5ebe5eabaa7e07f3be76bd12b8c3a4d7.tar.bz2
gentoo-ed4d598b5ebe5eabaa7e07f3be76bd12b8c3a4d7.zip
sys-apps/cinit: Fix call to undeclared library function
And another build error on musl Closes: https://bugs.gentoo.org/898542 Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/31417 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'sys-apps/cinit')
-rw-r--r--sys-apps/cinit/cinit-0.2.1-r1.ebuild42
-rw-r--r--sys-apps/cinit/files/cinit-0.2.1-musl-clang16-build-fix.patch43
2 files changed, 85 insertions, 0 deletions
diff --git a/sys-apps/cinit/cinit-0.2.1-r1.ebuild b/sys-apps/cinit/cinit-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..22cbed1f0264
--- /dev/null
+++ b/sys-apps/cinit/cinit-0.2.1-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="a fast, small and simple init with support for profiles"
+HOMEPAGE="http://linux.schottelius.org/cinit/"
+SRC_URI="http://linux.schottelius.org/${PN}/archives/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~x86"
+IUSE="doc"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.2.1-musl-clang16-build-fix.patch
+)
+
+src_prepare() {
+ sed -i "/contrib+tools/d" Makefile || die
+ sed -i "/^STRIP/s/strip.*/true/" Makefile.include || die
+ default
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC)" \
+ CFLAGS="${CFLAGS} -I." \
+ LDFLAGS="${LDFLAGS}" \
+ STRIP=/bin/true \
+ all
+}
+
+src_install() {
+ emake LD="$(tc-getCC)" DESTDIR="${D}" install
+ rm -f "${D}"/sbin/{init,shutdown,reboot} || die
+ dodoc Changelog CHANGES CREDITS README TODO
+ use doc && dodoc -r doc
+}
diff --git a/sys-apps/cinit/files/cinit-0.2.1-musl-clang16-build-fix.patch b/sys-apps/cinit/files/cinit-0.2.1-musl-clang16-build-fix.patch
new file mode 100644
index 000000000000..832e0590b5c6
--- /dev/null
+++ b/sys-apps/cinit/files/cinit-0.2.1-musl-clang16-build-fix.patch
@@ -0,0 +1,43 @@
+With musl and clang16 the following build error occurs:
+
+client/run_run_svcs.c:24:17: error: use of undeclared identifier 'PATH_MAX'
+ char pathbuf[PATH_MAX+1];
+ ^
+client/run_run_svcs.c:28:21: warning: if statement has empty body [-Wempty-body]
+ D_PRINTF(abspath);
+ ^
+client/run_run_svcs.c:28:21: note: put the semicolon on a separate line to silence this warning
+client/connect_sock.c:28:4: error: call to undeclared library function 'memset' with type
+ 'void *(void *, int, unsigned long)'; ISO C99 and later do not support implicit function declarations
+ [-Wimplicit-function-declaration]
+ memset(&addr,0,socke);
+ ^
+client/connect_sock.c:28:4: note: include the header <string.h> or explicitly provide a declaration for
+ 'memset'
+client/connect_sock.c:29:4: error: call to undeclared library function 'strcpy' with type
+ 'char *(char *, const char *)'; ISO C99 and later do not support implicit function declarations
+ [-Wimplicit-function-declaration]
+ strcpy(addr.sun_path, CINIT_SOCK);
+
+This patch fixes all three of those errors
+Bug: https://bugs.gentoo.org/898542
+--- a/client/connect_sock.c
++++ b/client/connect_sock.c
+@@ -8,6 +8,7 @@
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <stdio.h>
++#include <string.h>
+
+ #include "cinit.h"
+
+--- a/client/run_run_svcs.c
++++ b/client/run_run_svcs.c
+@@ -3,6 +3,7 @@
+ * (c) 2005 Nico Schottelius (nico-linux at schottelius.org)
+ * run services parallel
+ */
++#include <linux/limits.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <dirent.h>