Merge pull request #141845 from lovesegfault/tlp-1.4.0

tlp: 1.3.1 -> 1.4.0
This commit is contained in:
Bernardo Meurer 2021-10-16 14:56:39 -07:00 committed by GitHub
commit ba98780a07
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 103 additions and 75 deletions

View file

@ -13,6 +13,7 @@
, makeWrapper
, pciutils
, perl
, perlcritic
, shellcheck
, smartmontools
, systemd
@ -23,17 +24,20 @@
, networkmanager
}: stdenv.mkDerivation rec {
pname = "tlp";
version = "1.3.1";
version = "1.4.0";
src = fetchFromGitHub {
owner = "linrunner";
repo = "TLP";
rev = version;
sha256 = "14fcnaz9pw534v4d8dddqq4wcvpf1kghr8zlrk62r5lrl46sp1p5";
sha256 = "sha256-Blwj4cqrrYXohnGyJYe+1NYifxqfS4DoVUHmxFf62i4=";
};
# XXX: See patch files for relevant explanations.
patches = [ ./patches/fix-makefile-sed.patch ./patches/tlp-sleep-service.patch ];
patches = [
./patches/0001-makefile-correctly-sed-paths.patch
./patches/0002-tlp-sleep.service-reintroduce.patch
];
buildInputs = [ perl ];
nativeBuildInputs = [ makeWrapper gnused ];
@ -52,8 +56,10 @@
"TLP_WITH_ELOGIND=0"
"TLP_WITH_SYSTEMD=1"
"TLP_BATD=/share/tlp/bat.d"
"TLP_BIN=/bin"
"TLP_CONFDEF=/share/tlp/defaults.conf"
"TLP_CONFREN=/share/tlp/rename.conf"
"TLP_FLIB=/share/tlp/func.d"
"TLP_MAN=/share/man"
"TLP_META=/share/metainfo"
@ -65,12 +71,11 @@
installTargets = [ "install-tlp" "install-man" ]
++ lib.optionals enableRDW [ "install-rdw" "install-man-rdw" ];
# XXX: This is disabled because it's basically just noise since upstream
# itself does not seem to care about the zillion shellcheck errors.
doCheck = false;
checkInputs = [ checkbashisms shellcheck ];
doCheck = true;
checkInputs = [ checkbashisms perlcritic shellcheck ];
checkTarget = [ "checkall" ];
# TODO: Consider using resholve here
postInstall = let
paths = lib.makeBinPath (
[
@ -107,12 +112,16 @@
$out/etc/NetworkManager/dispatcher.d/*
$out/lib/udev/tlp-*
$out/sbin/*
$out/share/tlp/bat.d/*
$out/share/tlp/func.d/*
$out/share/tlp/tlp-func-base
)
for f in "''${fixup_bash[@]}"; do
sed -i '2iexport PATH=${paths}:$PATH' "$f"
done
rm -rf $out/var
rm -rf $out/share/metainfo
'';
meta = with lib; {

View file

@ -0,0 +1,56 @@
From 5c5d878bf49bae5920c330482217477819ba9bc2 Mon Sep 17 00:00:00 2001
From: Bernardo Meurer <bernardo@meurer.org>
Date: Fri, 15 Oct 2021 23:22:50 -0700
Subject: [PATCH 1/2] makefile: correctly sed paths
The default Makefile for tlp makes a mess with catenating `DESTDIR` to
everything, but then not actualy using the catenated (_ prefixed)
variables to sed it's `.in` files.
This patch makes sure that it correctly sets the paths, taking `DESTDIR`
in account where it makes sense (e.g. /bin where we want $out/bin) but
not where it doesn't (/etc/tlp.conf should be just that).
The reason DESTDIR is used at all, as opposed to the more appropriate
PREFIX, is covered in the nix formula, and is (also) due to the Makefile
being a bit "different."
---
Makefile | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/Makefile b/Makefile
index e9bbab4..ab05720 100644
--- a/Makefile
+++ b/Makefile
@@ -51,19 +51,19 @@ _TPACPIBAT = $(DESTDIR)$(TPACPIBAT)
SED = sed \
-e "s|@TLPVER@|$(TLPVER)|g" \
- -e "s|@TLP_SBIN@|$(TLP_SBIN)|g" \
- -e "s|@TLP_TLIB@|$(TLP_TLIB)|g" \
- -e "s|@TLP_FLIB@|$(TLP_FLIB)|g" \
- -e "s|@TLP_ULIB@|$(TLP_ULIB)|g" \
- -e "s|@TLP_BATD@|$(TLP_BATD)|g" \
+ -e "s|@TLP_SBIN@|$(_SBIN)|g" \
+ -e "s|@TLP_TLIB@|$(_TLIB)|g" \
+ -e "s|@TLP_FLIB@|$(_FLIB)|g" \
+ -e "s|@TLP_ULIB@|$(_ULIB)|g" \
+ -e "s|@TLP_BATD@|$(_BATD)|g" \
-e "s|@TLP_CONFUSR@|$(TLP_CONFUSR)|g" \
-e "s|@TLP_CONFDIR@|$(TLP_CONFDIR)|g" \
- -e "s|@TLP_CONFDEF@|$(TLP_CONFDEF)|g" \
- -e "s|@TLP_CONFREN@|$(TLP_CONFREN)|g" \
- -e "s|@TLP_CONF@|$(TLP_CONF)|g" \
+ -e "s|@TLP_CONFDEF@|$(_CONFDEF)|g" \
+ -e "s|@TLP_CONFREN@|$(_CONFREN)|g" \
+ -e "s|@TLP_CONF@|$(_CONF)|g" \
-e "s|@TLP_RUN@|$(TLP_RUN)|g" \
-e "s|@TLP_VAR@|$(TLP_VAR)|g" \
- -e "s|@TPACPIBAT@|$(TPACPIBAT)|g"
+ -e "s|@TPACPIBAT@|$(_TPACPIBAT)|g"
INFILES = \
tlp \
--
2.33.0

View file

@ -1,23 +1,29 @@
commit ca94cd56210067e2a55c1f413bd7713f7d338f9f
Author: Bernardo Meurer <meurerbernardo@gmail.com>
Date: Wed Feb 26 10:46:23 2020 -0800
From a3506c9bc8929645b7b08859e47039b8cc830d22 Mon Sep 17 00:00:00 2001
From: Bernardo Meurer <bernardo@meurer.org>
Date: Fri, 15 Oct 2021 23:07:40 -0700
Subject: [PATCH 2/2] tlp-sleep.service: reintroduce
tlp-sleep.service: reintroduce
This patch reintroduces tlp-sleep as a systemd unit as opposed to a
systemd system-sleep hook script. This is due to the recommendation by
systemd itself to not use the hook scripts. As per the manual:
> Note that scripts or binaries dropped in /usr/lib/systemd/system-sleep/
> are intended for local use only and should be considered hacks. If
> applications want to react to system suspend/hibernation and resume,
> they should rather use the Inhibitor interface[1].
This patch reintroduces tlp-sleep as a systemd unit as opposed to a
systemd system-sleep hook script. This is due to the recommendation by
systemd itself to not use the hook scripts. As per the manual:
> Note that scripts or binaries dropped in /usr/lib/systemd/system-sleep/
> are intended for local use only and should be considered hacks. If
> applications want to react to system suspend/hibernation and resume,
> they should rather use the Inhibitor interface[1].
---
Makefile | 6 +++---
tlp-sleep | 11 -----------
tlp-sleep.service.in | 19 +++++++++++++++++++
3 files changed, 22 insertions(+), 14 deletions(-)
delete mode 100644 tlp-sleep
create mode 100644 tlp-sleep.service.in
diff --git a/Makefile b/Makefile
index 95122df..0e9230a 100644
index ab05720..075b42f 100644
--- a/Makefile
+++ b/Makefile
@@ -70,6 +70,7 @@ INFILES = \
@@ -76,6 +76,7 @@ INFILES = \
tlp.rules \
tlp-readconfs \
tlp-run-on \
@ -25,7 +31,7 @@ index 95122df..0e9230a 100644
tlp.service \
tlp-stat \
tlp.upstart \
@@ -99,7 +100,6 @@ SHFILES = \
@@ -106,7 +107,6 @@ SHFILES = \
tlp-rdw-udev.in \
tlp-rf.in \
tlp-run-on.in \
@ -33,7 +39,7 @@ index 95122df..0e9230a 100644
tlp-sleep.elogind \
tlp-stat.in \
tlp-usb-udev.in
@@ -147,7 +147,7 @@ ifneq ($(TLP_NO_INIT),1)
@@ -159,7 +159,7 @@ ifneq ($(TLP_NO_INIT),1)
endif
ifneq ($(TLP_WITH_SYSTEMD),0)
install -D -m 644 tlp.service $(_SYSD)/tlp.service
@ -42,7 +48,7 @@ index 95122df..0e9230a 100644
endif
ifneq ($(TLP_WITH_ELOGIND),0)
install -D -m 755 tlp-sleep.elogind $(_ELOD)/49-tlp-sleep
@@ -204,7 +204,7 @@ uninstall-tlp:
@@ -216,7 +216,7 @@ uninstall-tlp:
rm $(_ULIB)/rules.d/85-tlp.rules
rm -f $(_SYSV)/tlp
rm -f $(_SYSD)/tlp.service
@ -53,7 +59,7 @@ index 95122df..0e9230a 100644
rm -f $(_SHCPL)/bluetooth
diff --git a/tlp-sleep b/tlp-sleep
deleted file mode 100644
index 3de85ce..0000000
index e548d55..0000000
--- a/tlp-sleep
+++ /dev/null
@@ -1,11 +0,0 @@
@ -61,7 +67,7 @@ index 3de85ce..0000000
-
-# tlp - systemd suspend/resume hook
-#
-# Copyright (c) 2020 Thomas Koch <linrunner at gmx.net> and others.
-# Copyright (c) 2021 Thomas Koch <linrunner at gmx.net> and others.
-# This software is licensed under the GPL v2 or later.
-
-case $1 in
@ -70,13 +76,13 @@ index 3de85ce..0000000
-esac
diff --git a/tlp-sleep.service.in b/tlp-sleep.service.in
new file mode 100644
index 0000000..4ac17bd
index 0000000..79c202c
--- /dev/null
+++ b/tlp-sleep.service.in
@@ -0,0 +1,19 @@
+# tlp - systemd suspend/resume service
+#
+# Copyright (c) 2020 Thomas Koch <linrunner at gmx.net> and others.
+# Copyright (c) 2021 Thomas Koch <linrunner at gmx.net> and others.
+# This software is licensed under the GPL v2 or later.
+
+[Unit]
@ -93,3 +99,6 @@ index 0000000..4ac17bd
+
+[Install]
+WantedBy=sleep.target
--
2.33.0

View file

@ -1,46 +0,0 @@
commit c44347b3b813e209fff537b4d46d23430727a5e2
Author: Bernardo Meurer <meurerbernardo@gmail.com>
Date: Tue Feb 25 21:27:39 2020 -0800
makefile: correctly sed paths
The default Makefile for tlp makes a mess with catenating `DESTDIR` to
everything, but then not actualy using the catenated (_ prefixed)
variables to sed it's `.in` files.
This patch makes sure that it correctly sets the paths, taking `DESTDIR`
in account where it makes sense (e.g. /bin where we want $out/bin) but
not where it doesn't (/etc/tlp.conf should be just that).
The reason DESTDIR is used at all, as opposed to the more appropriate
PREFIX, is covered in the nix formula, and is (also) due to the Makefile
being a bit "different."
diff --git a/Makefile b/Makefile
index b5af74e..95122df 100644
--- a/Makefile
+++ b/Makefile
@@ -47,17 +47,17 @@ _TPACPIBAT = $(DESTDIR)$(TPACPIBAT)
SED = sed \
-e "s|@TLPVER@|$(TLPVER)|g" \
- -e "s|@TLP_SBIN@|$(TLP_SBIN)|g" \
- -e "s|@TLP_TLIB@|$(TLP_TLIB)|g" \
- -e "s|@TLP_FLIB@|$(TLP_FLIB)|g" \
- -e "s|@TLP_ULIB@|$(TLP_ULIB)|g" \
+ -e "s|@TLP_SBIN@|$(_SBIN)|g" \
+ -e "s|@TLP_TLIB@|$(_TLIB)|g" \
+ -e "s|@TLP_FLIB@|$(_FLIB)|g" \
+ -e "s|@TLP_ULIB@|$(_ULIB)|g" \
-e "s|@TLP_CONFUSR@|$(TLP_CONFUSR)|g" \
-e "s|@TLP_CONFDIR@|$(TLP_CONFDIR)|g" \
- -e "s|@TLP_CONFDEF@|$(TLP_CONFDEF)|g" \
+ -e "s|@TLP_CONFDEF@|$(_CONFDEF)|g" \
-e "s|@TLP_CONF@|$(TLP_CONF)|g" \
-e "s|@TLP_RUN@|$(TLP_RUN)|g" \
-e "s|@TLP_VAR@|$(TLP_VAR)|g" \
- -e "s|@TPACPIBAT@|$(TPACPIBAT)|g"
+ -e "s|@TPACPIBAT@|$(_TPACPIBAT)|g"
INFILES = \
tlp \