public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-process/schedtool/, sys-process/schedtool/files/
@ 2024-01-03 23:40 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2024-01-03 23:40 UTC (permalink / raw
  To: gentoo-commits

commit:     1b7592516eea9b64b0b6fe3db3d91b8cda9acb59
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jan  3 23:39:02 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jan  3 23:39:02 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b759251

sys-process/schedtool: fix modern C issue

Closes: https://bugs.gentoo.org/918974
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../schedtool/files/schedtool-1.3.0-c99.patch      | 33 ++++++++++++++++++++
 sys-process/schedtool/schedtool-1.3.0-r2.ebuild    | 36 ++++++++++++++++++++++
 2 files changed, 69 insertions(+)

diff --git a/sys-process/schedtool/files/schedtool-1.3.0-c99.patch b/sys-process/schedtool/files/schedtool-1.3.0-c99.patch
new file mode 100644
index 000000000000..8f3c0b33afca
--- /dev/null
+++ b/sys-process/schedtool/files/schedtool-1.3.0-c99.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/918974
+https://src.fedoraproject.org/rpms/schedtool/c/f84b6a0fdc4b368e2b1c5ea59739f002063e3c9e?branch=rawhide
+
+Invoke decode_error separately with the correct argument types for
+each variant.  This avoids an int-conversion error.
+
+--- a/schedtool.c
++++ b/schedtool.c
+@@ -422,19 +422,14 @@ int set_process(pid_t pid, int policy, int prio)
+ 	struct sched_param p;
+ 	int ret;
+ 
+-	char *msg1="could not set PID %d to %s";
+-	char *msg2="could not set PID %d to raw policy #%d";
+-
+ 	p.sched_priority=prio;
+ 
+ 	/* anything other than 0 indicates error */
+ 	if((ret=sched_setscheduler(pid, policy, &p))) {
+-
+-                /* la la pointer mismatch .. lala */
+-		decode_error((CHECK_RANGE_POLICY(policy) ? msg1 : msg2),
+-			     pid,
+-			     (CHECK_RANGE_POLICY(policy) ? TAB[policy] : policy)
+-			    );
++		if (CHECK_RANGE_POLICY(policy))
++			decode_error("could not set PID %d to %s", pid, TAB[policy]);
++		else
++			decode_error("could not set PID %d to raw policy #%d", pid, policy);
+ 		return(ret);
+ 	}
+ 	return(0);
+

diff --git a/sys-process/schedtool/schedtool-1.3.0-r2.ebuild b/sys-process/schedtool/schedtool-1.3.0-r2.ebuild
new file mode 100644
index 000000000000..7f3a2230158e
--- /dev/null
+++ b/sys-process/schedtool/schedtool-1.3.0-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="A tool to query or alter a process' scheduling policy"
+HOMEPAGE="https://github.com/freequaos/schedtool"
+SRC_URI="https://github.com/freequaos/schedtool/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.3.0-c99.patch
+)
+
+src_prepare() {
+	default
+	sed \
+		-e '/^CFLAGS=/d;/^install:/s@ install-doc zipman@@' \
+		-e '/install/s@\(schedtool.8\).gz@\1@' \
+		-i Makefile || die
+}
+
+src_compile() {
+	emake CC="$(tc-getCC)"
+}
+
+src_install() {
+	emake DESTPREFIX="${ED}"/usr install
+	dodoc CHANGES INSTALL PACKAGERS README SCHED_DESIGN TODO TUNING
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-01-03 23:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-03 23:40 [gentoo-commits] repo/gentoo:master commit in: sys-process/schedtool/, sys-process/schedtool/files/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox