summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkhali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0>2015-07-06 11:51:24 +0000
committerkhali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0>2015-07-06 11:51:24 +0000
commit0624a34840bb55a7a46f2489a0add31534119f89 (patch)
treee77b98294c782d47bf153cff8614a89ef581431e
parent64e07917d979f15708bc58dab47ab1452899ca03 (diff)
downloadlm-sensors-0624a34840bb55a7a46f2489a0add31534119f89.tar.gz
sensors-detect: Fix systemd paths
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@6303 7894878c-1315-0410-8ee3-d5d059ff63e0
-rw-r--r--CHANGES3
-rwxr-xr-xprog/detect/sensors-detect53
2 files changed, 35 insertions, 21 deletions
diff --git a/CHANGES b/CHANGES
index a33bc424..9a761f58 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
lm-sensors CHANGES file
-----------------------
+SVN HEAD
+ sensors-detect: Fix systemd paths
+
3.4.0 (2015-06-25)
documentation: Update the note about libsensors license
sensors.conf.5: Enhance the hysteresis documentation
diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect
index fb6658c0..6c0c5664 100755
--- a/prog/detect/sensors-detect
+++ b/prog/detect/sensors-detect
@@ -2728,7 +2728,7 @@ sub isa_read_i5d6
# AUTODETECTION #
#################
-use vars qw($dev_i2c $sysfs_root);
+use vars qw($dev_i2c $sysfs_root $systemd_systemctl $systemd_system_dir);
sub initialize_conf
{
@@ -2789,6 +2789,19 @@ sub initialize_conf
exit -1;
}
}
+
+ # Detect systemd presence and paths
+ if (-x "/usr/bin/systemctl") {
+ $systemd_systemctl = "/usr/bin/systemctl";
+ } elsif (-x "/bin/systemctl") {
+ $systemd_systemctl = "/bin/systemctl";
+ }
+
+ if (-d "/usr/lib/systemd/system") {
+ $systemd_system_dir = "/usr/lib/systemd/system";
+ } elsif (-d "/lib/systemd/system") {
+ $systemd_system_dir = "/lib/systemd/system";
+ }
}
# [0] -> VERSION
@@ -7090,19 +7103,16 @@ EOT
print SYSCONFIG "HWMON_MODULES=\"", join(" ", @{$hwmon_modules}), "\"\n";
close(SYSCONFIG);
- if (-x "/bin/systemctl" && -d "/lib/systemd/system" &&
- ! -f "/lib/systemd/system/lm_sensors.service") {
- print "Copy prog/init/lm_sensors.service to /lib/systemd/system\n".
- "and run 'systemctl enable lm_sensors.service'\n".
- "for initialization at boot time.\n";
- return;
- }
-
- if (-x "/bin/systemctl" &&
- -f "/lib/systemd/system/lm_sensors.service") {
- system("/bin/systemctl", "enable", "lm_sensors.service");
- system("/bin/systemctl", "start", "lm_sensors.service");
- # All done, don't check for /etc/init.d/lm_sensors
+ if ($systemd_systemctl && $systemd_system_dir) {
+ if (-f "$systemd_system_dir/lm_sensors.service") {
+ system($systemd_systemctl, "enable", "lm_sensors.service");
+ system($systemd_systemctl, "start", "lm_sensors.service");
+ # All done, don't check for /etc/init.d/lm_sensors
+ } else {
+ print "Copy prog/init/lm_sensors.service to $systemd_system_dir\n".
+ "and run 'systemctl enable lm_sensors.service'\n".
+ "for initialization at boot time.\n";
+ }
return;
}
@@ -7170,13 +7180,6 @@ sub main
exit -1;
}
- if (-x "/bin/systemctl" && -f "/lib/systemd/system/lm_sensors.service") {
- system("/bin/systemctl", "stop", "lm_sensors.service");
- } elsif (-x "/sbin/service" && -f "/etc/init.d/lm_sensors" &&
- -f "/var/lock/subsys/lm_sensors") {
- system("/sbin/service", "lm_sensors", "stop");
- }
-
initialize_kernel_version();
initialize_conf();
initialize_pci();
@@ -7187,6 +7190,14 @@ sub main
initialize_modules_supported();
initialize_cpu_list();
+ if ($systemd_systemctl && $systemd_system_dir &&
+ -f "$systemd_system_dir/lm_sensors.service") {
+ system("$systemd_systemctl", "stop", "lm_sensors.service");
+ } elsif (-x "/sbin/service" && -f "/etc/init.d/lm_sensors" &&
+ -f "/var/lock/subsys/lm_sensors") {
+ system("/sbin/service", "lm_sensors", "stop");
+ }
+
print "# sensors-detect revision $revision\n";
initialize_dmi_data();
print_dmi_summary();