From bce371ced2831aeb66829b43d5966c22d50e2e30 Mon Sep 17 00:00:00 2001 From: Jay Faulkner Date: Thu, 18 Dec 2025 08:46:07 -0800 Subject: [PATCH] sys-power/tlp: dependency and style fixes The sys-power/tlp-1.9.0 ebuild had several bugs around dependency and style: - Blockers against tuned, laptop-mode-tools, and power-profiles-daemon were too aggressive. Moved to a warning instead of a hard block to make migrations easy/possible. - non-standard gentoo style of repeating use? ( pkg ) in each row instead of using one use? () block for multiple packages - dbus-python and pygobject were missing the proper dynamic python use dependencies. - renaming USE=pd to USE=ppd for consistency with tuned The original commit had more changes than would be expected due to it adding a tlp-pd daemon which implements power-profile-daemon abilities. As part of this, we noticed and added additional dependencies as documented here: https://linrunner.de/tlp/developers/dependencies.html Closes: https://bugs.gentoo.org/967685 Closes: https://bugs.gentoo.org/967686 Closes: https://bugs.gentoo.org/967687 Signed-off-by: Jay Faulkner --- sys-power/tlp/metadata.xml | 2 +- .../{tlp-1.9.0.ebuild => tlp-1.9.0-r1.ebuild} | 48 ++++++++++++++----- 2 files changed, 37 insertions(+), 13 deletions(-) rename sys-power/tlp/{tlp-1.9.0.ebuild => tlp-1.9.0-r1.ebuild} (58%) diff --git a/sys-power/tlp/metadata.xml b/sys-power/tlp/metadata.xml index 6103ff627ceb..67faef85edd8 100644 --- a/sys-power/tlp/metadata.xml +++ b/sys-power/tlp/metadata.xml @@ -10,7 +10,7 @@ kernel settings that affect power consumption. - TLP Profiles Daemon that replaces power-profiles-daemon by using the same D-Bus API. + TLP Profiles Daemon that replaces power-profiles-daemon by using the same D-Bus API. Enables TLP Radio Device Wizard feature diff --git a/sys-power/tlp/tlp-1.9.0.ebuild b/sys-power/tlp/tlp-1.9.0-r1.ebuild similarity index 58% rename from sys-power/tlp/tlp-1.9.0.ebuild rename to sys-power/tlp/tlp-1.9.0-r1.ebuild index fbac4f688f06..20f2ee056aec 100644 --- a/sys-power/tlp/tlp-1.9.0.ebuild +++ b/sys-power/tlp/tlp-1.9.0-r1.ebuild @@ -15,27 +15,27 @@ S="${WORKDIR}/TLP-${PV}" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64" -REQUIRED_USE="pd? ( ${PYTHON_REQUIRED_USE} )" +REQUIRED_USE="ppd? ( ${PYTHON_REQUIRED_USE} )" IUSE=" - +pd + +ppd +rdw " +# NOTE(JayF): Upstream dep list in human-readable format: +# https://linrunner.de/tlp/developers/dependencies.html RDEPEND=" dev-lang/perl - virtual/udev - sys-apps/hdparm net-wireless/iw - !app-laptop/laptop-mode-tools + sys-apps/hdparm sys-apps/pciutils - !sys-apps/tuned sys-apps/usbutils - pd? ( dev-python/dbus-python ) - pd? ( !sys-power/power-profiles-daemon ) - pd? ( dev-python/pygobject ) - pd? ( ${PYTHON_DEPS} ) - pd? ( !sys-apps/tuned ) + virtual/udev + ppd? ( + $(python_gen_cond_dep 'dev-python/dbus-python[${PYTHON_USEDEP}]') + $(python_gen_cond_dep 'dev-python/pygobject[${PYTHON_USEDEP}]') + ${PYTHON_DEPS} + ) rdw? ( net-misc/networkmanager ) " DEPEND="${RDEPEND}" @@ -51,7 +51,7 @@ src_install() { install-tlp install-man-tlp ) - use pd && myemakeargs+=( + use ppd && myemakeargs+=( install-pd install-man-pd ) @@ -76,6 +76,30 @@ pkg_postinst() { optfeature "see disk drive health info in tlp-stat" sys-apps/smartmontools optfeature "Sleep hooks" sys-auth/elogind sys-apps/systemd optfeature "Battery functions for ThinkPads prior to the Sandy Bridge generation (2011)" app-laptop/tp_smapi + + if has_version "sys-power/power-profiles-daemon" && use ppd; then + ewarn + ewarn "sys-power/power-profiles-daemon is installed, but is " + ewarn "incompatible with tlp-pd daemon. For best results, " + ewarn "uninstall one of these packages or set use tlp[-ppd]." + ewarn + fi + + if has_version "sys-apps/tuned"; then + ewarn + ewarn "sys-apps/tuned is installed, but is " + ewarn "documented by upstream sys-power/tlp to be conficting. " + ewarn "For best results, uninstall one of these packages." + ewarn + fi + + if has_version "app-laptop/laptop-mode-tools"; then + ewarn + ewarn "app-laptop/laptop-mode-tools is installed, but is " + ewarn "documented by upstream sys-power/tlp to be conficting. " + ewarn "For best results, uninstall one of these packages." + ewarn + fi } pkg_postrm() {