summary refs log tree commit diff
path: root/pkgs/tools/misc/tlp/patches/tlp-sleep-service.patch
blob: b37c7280e382358585fadc2f34f74848713976a5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
commit ca94cd56210067e2a55c1f413bd7713f7d338f9f
Author: Bernardo Meurer <meurerbernardo@gmail.com>
Date:   Wed Feb 26 10:46:23 2020 -0800

    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].

diff --git a/Makefile b/Makefile
index 95122df..0e9230a 100644
--- a/Makefile
+++ b/Makefile
@@ -70,6 +70,7 @@ INFILES = \
 	tlp.rules \
 	tlp-readconfs \
 	tlp-run-on \
+	tlp-sleep.service \
 	tlp.service \
 	tlp-stat \
 	tlp.upstart \
@@ -99,7 +100,6 @@ SHFILES = \
 	tlp-rdw-udev.in \
 	tlp-rf.in \
 	tlp-run-on.in \
-	tlp-sleep \
 	tlp-sleep.elogind \
 	tlp-stat.in \
 	tlp-usb-udev.in
@@ -147,7 +147,7 @@ ifneq ($(TLP_NO_INIT),1)
 endif
 ifneq ($(TLP_WITH_SYSTEMD),0)
 	install -D -m 644 tlp.service $(_SYSD)/tlp.service
-	install -D -m 755 tlp-sleep $(_SDSL)/tlp
+	install -D -m 644 tlp-sleep.service $(_SYSD)/tlp-sleep.service
 endif
 ifneq ($(TLP_WITH_ELOGIND),0)
 	install -D -m 755 tlp-sleep.elogind $(_ELOD)/49-tlp-sleep
@@ -204,7 +204,7 @@ uninstall-tlp:
 	rm $(_ULIB)/rules.d/85-tlp.rules
 	rm -f $(_SYSV)/tlp
 	rm -f $(_SYSD)/tlp.service
-	rm -f $(_SDSL)/tlp-sleep
+	rm -f $(_SYSD)/tlp-sleep.service
 	rm -f $(_ELOD)/49-tlp-sleep
 	rm -f $(_SHCPL)/tlp-stat
 	rm -f $(_SHCPL)/bluetooth
diff --git a/tlp-sleep b/tlp-sleep
deleted file mode 100644
index 3de85ce..0000000
--- a/tlp-sleep
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# tlp - systemd suspend/resume hook
-#
-# Copyright (c) 2020 Thomas Koch <linrunner at gmx.net> and others.
-# This software is licensed under the GPL v2 or later.
-
-case $1 in
-    pre)  tlp suspend ;;
-    post) tlp resume  ;;
-esac
diff --git a/tlp-sleep.service.in b/tlp-sleep.service.in
new file mode 100644
index 0000000..4ac17bd
--- /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.
+# This software is licensed under the GPL v2 or later.
+
+[Unit]
+Description=TLP suspend/resume
+Before=sleep.target
+StopWhenUnneeded=yes
+Documentation=https://linrunner.de/tlp
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=@TLP_SBIN@/tlp suspend
+ExecStop=@TLP_SBIN@/tlp resume
+
+[Install]
+WantedBy=sleep.target