]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
cpupower: make systemd unit installation optional
authorJoão Marcos Costa <joaomarcos.costa@bootlin.com>
Tue, 13 Jan 2026 13:27:53 +0000 (14:27 +0100)
committerShuah Khan <skhan@linuxfoundation.org>
Fri, 16 Jan 2026 20:41:26 +0000 (13:41 -0700)
cpupower currently installs a cpupower.service unit file into unitdir
unconditionally, regardless of whether systemd is used by the host.

Improve the installation procedure by making this systemd step optional:
a 'SYSTEMD' build parameter that defaults to 'true' and can be set to
'false' to disable the installation of systemd's unit file.

Since 'SYSTEMD' defaults to true, the current behavior is kept as the
default.

Link: https://lore.kernel.org/r/20260113132753.1730020-2-joaomarcos.costa@bootlin.com
Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/power/cpupower/Makefile

index a1df9196dc4507787c05122bc4a02cc84e63f531..969716dfe8def5ab6e22928128ab2760f4e87f26 100644 (file)
@@ -315,7 +315,17 @@ endif
        $(INSTALL_DATA) lib/cpuidle.h $(DESTDIR)${includedir}/cpuidle.h
        $(INSTALL_DATA) lib/powercap.h $(DESTDIR)${includedir}/powercap.h
 
-install-tools: $(OUTPUT)cpupower
+# SYSTEMD=false disables installation of the systemd unit file
+SYSTEMD ?=     true
+
+install-systemd:
+       $(INSTALL) -d $(DESTDIR)${unitdir}
+       sed 's|___CDIR___|${confdir}|; s|___LDIR___|${libexecdir}|' cpupower.service.in > '$(DESTDIR)${unitdir}/cpupower.service'
+       $(SETPERM_DATA) '$(DESTDIR)${unitdir}/cpupower.service'
+
+INSTALL_SYSTEMD := $(if $(filter true,$(strip $(SYSTEMD))),install-systemd)
+
+install-tools: $(OUTPUT)cpupower $(INSTALL_SYSTEMD)
        $(INSTALL) -d $(DESTDIR)${bindir}
        $(INSTALL_PROGRAM) $(OUTPUT)cpupower $(DESTDIR)${bindir}
        $(INSTALL) -d $(DESTDIR)${bash_completion_dir}
@@ -324,9 +334,6 @@ install-tools: $(OUTPUT)cpupower
        $(INSTALL_DATA) cpupower-service.conf '$(DESTDIR)${confdir}'
        $(INSTALL) -d $(DESTDIR)${libexecdir}
        $(INSTALL_PROGRAM) cpupower.sh '$(DESTDIR)${libexecdir}/cpupower'
-       $(INSTALL) -d $(DESTDIR)${unitdir}
-       sed 's|___CDIR___|${confdir}|; s|___LDIR___|${libexecdir}|' cpupower.service.in > '$(DESTDIR)${unitdir}/cpupower.service'
-       $(SETPERM_DATA) '$(DESTDIR)${unitdir}/cpupower.service'
 
 install-man:
        $(INSTALL_DATA) -D man/cpupower.1 $(DESTDIR)${mandir}/man1/cpupower.1
@@ -406,4 +413,4 @@ help:
        @echo  '  uninstall       - Remove previously installed files from the dir defined by "DESTDIR"'
        @echo  '                    cmdline or Makefile config block option (default: "")'
 
-.PHONY: all utils libcpupower update-po create-gmo install-lib install-tools install-man install-gmo install uninstall clean help
+.PHONY: all utils libcpupower update-po create-gmo install-lib install-systemd install-tools install-man install-gmo install uninstall clean help