summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-process/rtirq/Manifest1
-rw-r--r--sys-process/rtirq/rtirq-20240220.ebuild56
2 files changed, 57 insertions, 0 deletions
diff --git a/sys-process/rtirq/Manifest b/sys-process/rtirq/Manifest
index 69c0c2b9ae7d..e52b717fd951 100644
--- a/sys-process/rtirq/Manifest
+++ b/sys-process/rtirq/Manifest
@@ -1,2 +1,3 @@
DIST rtirq-20220923.tar.gz 15522 BLAKE2B ea7248afa665c2c8bfb99c42ff18d7d585f4a337c8850f5343b610a131face8b8eec4ef19901f59685793662e0e0ac95dfdddffea9951f47910dbc12bb47a459 SHA512 6846075e8196220aabb68250f0284b77f21b5c9bfd6dd9bbea59307679111c122d2091acefa38048f96166ae903b3ed46cbba4242afabc9a18bfa97467200386
DIST rtirq-20240120.tar.gz 16077 BLAKE2B 2c1ab9f1824d861e13e49667a35fc048e931afb18084de756dcbabde0d4cdd21e78afc9733eb364cd826d4ffd29a89db862033c9539b7cfe7a7b22f7cb353864 SHA512 b945bdb29ef3ef551c19edc9d947a7ed50ecd756dec5a3b02a0cd519a0f506e3ca212b1cb629386dd525d565cc6e2d868c558934c59b8d0bc02573a9589deb86
+DIST rtirq-20240220.tar.gz 16273 BLAKE2B 08af8d371e4ace57dc18276748b00328e7ca1476ae46226ea85ba0c345c7f15b81e412bed8ac30768c5bedffc87887f60d647cd0ec2e82d3751654030c7937f1 SHA512 a6b44f09e158e71bc5697b313d2c7b75097b6f669be4bd7c5c3cee2e59ab38c5751dbd222a28fe7e1bd340d2b7ce5dc7277559c41ad25f9d7b19f180ce337978
diff --git a/sys-process/rtirq/rtirq-20240220.ebuild b/sys-process/rtirq/rtirq-20240220.ebuild
new file mode 100644
index 000000000000..a98fe254b6af
--- /dev/null
+++ b/sys-process/rtirq/rtirq-20240220.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit linux-info systemd
+
+DESCRIPTION="Modify realtime scheduling policy and priority of IRQ handlers"
+HOMEPAGE="https://www.rncbc.org/archive/#rtirq"
+SRC_URI="https://www.rncbc.org/archive/${P}.tar.gz
+ https://www.rncbc.org/archive/old/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ sys-apps/util-linux
+"
+
+src_prepare() {
+ # We install into bin
+ sed -i -e "s:/usr/sbin/rtirq:/usr/bin/rtirq:" ${PN}{,-resume}.service || die
+
+ default
+}
+
+src_install() {
+ newbin rtirq.sh rtirq
+ newinitd "${FILESDIR}"/rtirq.initd rtirq
+ insinto /etc/
+ doins rtirq.conf
+ systemd_dounit rtirq{,-resume}.service
+}
+
+pkg_postinst() {
+ local kconfig_warn=1
+ local cmdline
+ local ver
+
+ if linux-info_get_any_version && linux_config_exists; then
+ if linux_chkconfig_present PREEMPT_RT; then
+ kconfig_warn=0
+ elif linux_chkconfig_present IRQ_FORCED_THREADING; then
+ cmdline=$(< /proc/cmdline) || die
+ [[ ${cmdline} == *threadirqs* ]] && kconfig_warn=0
+ fi
+ fi
+
+ if (( ${kconfig_warn} )); then
+ ewarn "To use rtirq, you need one of the following kernel configurations:"
+ ewarn " - PREEMPT_RT config option enabled (e.g. with sys-kernel/rt-sources);"
+ ewarn " - IRQ_FORCED_THREADING config option enabled and 'threadirqs' option"
+ ewarn " added to the kernel cmdline."
+ fi
+}