From a9c2ee5f7cd89b3bb5c8a409b114ebc21cda0ce7 Mon Sep 17 00:00:00 2001 From: Sam James Date: Fri, 3 May 2024 13:42:55 +0100 Subject: sys-apps/irqbalance: fix path in init script Closes: https://bugs.gentoo.org/931133 Signed-off-by: Sam James --- sys-apps/irqbalance/files/irqbalance.init.5 | 22 +++++++ sys-apps/irqbalance/irqbalance-1.9.4-r1.ebuild | 80 ++++++++++++++++++++++++++ sys-apps/irqbalance/irqbalance-1.9.4.ebuild | 80 -------------------------- 3 files changed, 102 insertions(+), 80 deletions(-) create mode 100644 sys-apps/irqbalance/files/irqbalance.init.5 create mode 100644 sys-apps/irqbalance/irqbalance-1.9.4-r1.ebuild delete mode 100644 sys-apps/irqbalance/irqbalance-1.9.4.ebuild diff --git a/sys-apps/irqbalance/files/irqbalance.init.5 b/sys-apps/irqbalance/files/irqbalance.init.5 new file mode 100644 index 000000000000..511e4fee023a --- /dev/null +++ b/sys-apps/irqbalance/files/irqbalance.init.5 @@ -0,0 +1,22 @@ +#!/sbin/openrc-run +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License, v2 or later + +depend() { + need localmount + after bootmisc +} + +command="/usr/bin/irqbalance" +command_args="${IRQBALANCE_OPTS}" + +start_pre() { + if grep -q MSI /proc/interrupts 2>/dev/null && \ + test -z "$(find /sys/devices -type d -name msi_irqs 2>/dev/null)"; then + eerror "MSI interrupts found in /proc/interrupts but none found in sysfs." + eerror "You need to update your kernel." + return 1 + fi + + checkpath -q -d /run/${SVCNAME} +} diff --git a/sys-apps/irqbalance/irqbalance-1.9.4-r1.ebuild b/sys-apps/irqbalance/irqbalance-1.9.4-r1.ebuild new file mode 100644 index 000000000000..ba4b5355945e --- /dev/null +++ b/sys-apps/irqbalance/irqbalance-1.9.4-r1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson linux-info optfeature systemd udev + +DESCRIPTION="Distribute hardware interrupts across processors on a multiprocessor system" +HOMEPAGE="https://github.com/Irqbalance/irqbalance" +SRC_URI="https://github.com/Irqbalance/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}"/${P}/contrib + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +IUSE="caps +numa systemd selinux thermal tui" +# Hangs +RESTRICT="test" + +DEPEND=" + dev-libs/glib:2 + caps? ( sys-libs/libcap-ng ) + numa? ( sys-process/numactl ) + systemd? ( sys-apps/systemd:= ) + thermal? ( dev-libs/libnl:3 ) + tui? ( sys-libs/ncurses:=[unicode(+)] ) +" +BDEPEND=" + virtual/pkgconfig +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-irqbalance ) +" + +pkg_setup() { + CONFIG_CHECK="~PCI_MSI" + linux-info_pkg_setup +} + +src_prepare() { + default + + # Follow systemd policies + # https://wiki.gentoo.org/wiki/Project:Systemd/Ebuild_policy + sed \ + -e 's/ $IRQBALANCE_ARGS//' \ + -e '/EnvironmentFile/d' \ + -i "${WORKDIR}"/${P}/misc/irqbalance.service || die +} + +src_configure() { + local emesonargs=( + $(meson_feature caps capng) + $(meson_feature numa) + $(meson_feature systemd) + $(meson_feature thermal) + $(meson_feature tui ui) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + + newinitd "${FILESDIR}"/irqbalance.init.5 irqbalance + newconfd "${FILESDIR}"/irqbalance.confd-2 irqbalance + systemd_dounit "${WORKDIR}"/${P}/misc/irqbalance.service + udev_dorules "${WORKDIR}"/${P}/misc/90-irqbalance.rules +} + +pkg_postrm() { + udev_reload +} + +pkg_postinst() { + udev_reload + optfeature "thermal events support (requires USE=thermal)" sys-power/thermald +} diff --git a/sys-apps/irqbalance/irqbalance-1.9.4.ebuild b/sys-apps/irqbalance/irqbalance-1.9.4.ebuild deleted file mode 100644 index d15ff251b576..000000000000 --- a/sys-apps/irqbalance/irqbalance-1.9.4.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit meson linux-info optfeature systemd udev - -DESCRIPTION="Distribute hardware interrupts across processors on a multiprocessor system" -HOMEPAGE="https://github.com/Irqbalance/irqbalance" -SRC_URI="https://github.com/Irqbalance/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}"/${P}/contrib - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" -IUSE="caps +numa systemd selinux thermal tui" -# Hangs -RESTRICT="test" - -DEPEND=" - dev-libs/glib:2 - caps? ( sys-libs/libcap-ng ) - numa? ( sys-process/numactl ) - systemd? ( sys-apps/systemd:= ) - thermal? ( dev-libs/libnl:3 ) - tui? ( sys-libs/ncurses:=[unicode(+)] ) -" -BDEPEND=" - virtual/pkgconfig -" -RDEPEND=" - ${DEPEND} - selinux? ( sec-policy/selinux-irqbalance ) -" - -pkg_setup() { - CONFIG_CHECK="~PCI_MSI" - linux-info_pkg_setup -} - -src_prepare() { - default - - # Follow systemd policies - # https://wiki.gentoo.org/wiki/Project:Systemd/Ebuild_policy - sed \ - -e 's/ $IRQBALANCE_ARGS//' \ - -e '/EnvironmentFile/d' \ - -i "${WORKDIR}"/${P}/misc/irqbalance.service || die -} - -src_configure() { - local emesonargs=( - $(meson_feature caps capng) - $(meson_feature numa) - $(meson_feature systemd) - $(meson_feature thermal) - $(meson_feature tui ui) - ) - - meson_src_configure -} - -src_install() { - meson_src_install - - newinitd "${FILESDIR}"/irqbalance.init.4 irqbalance - newconfd "${FILESDIR}"/irqbalance.confd-2 irqbalance - systemd_dounit "${WORKDIR}"/${P}/misc/irqbalance.service - udev_dorules "${WORKDIR}"/${P}/misc/90-irqbalance.rules -} - -pkg_postrm() { - udev_reload -} - -pkg_postinst() { - udev_reload - optfeature "thermal events support (requires USE=thermal)" sys-power/thermald -} -- cgit v1.2.3-65-gdbad