From 221e3ee2e09b7a0a64d4ed7d320ed4f8fba12125 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Thu, 11 Mar 2021 20:14:03 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/lm_sensors.git#fee2555a4097825f30922de3c646b5ca80cbefff --- lm_sensors-3.6.0-allow_no_sensors.patch | 92 +++++++++++++++++++++++++ lm_sensors-wrapper | 8 +++ lm_sensors.service | 2 +- lm_sensors.spec | 11 ++- 4 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 lm_sensors-3.6.0-allow_no_sensors.patch create mode 100644 lm_sensors-wrapper diff --git a/lm_sensors-3.6.0-allow_no_sensors.patch b/lm_sensors-3.6.0-allow_no_sensors.patch new file mode 100644 index 0000000..17d85f0 --- /dev/null +++ b/lm_sensors-3.6.0-allow_no_sensors.patch @@ -0,0 +1,92 @@ +diff --git a/prog/sensors/main.c b/prog/sensors/main.c +index f535b66..a19b919 100644 +--- a/prog/sensors/main.c ++++ b/prog/sensors/main.c +@@ -54,15 +54,16 @@ static void print_short_help(void) + static void print_long_help(void) + { + printf("Usage: %s [OPTION]... [CHIP]...\n", PROGRAM); +- puts(" -c, --config-file Specify a config file\n" +- " -h, --help Display this help text\n" +- " -s, --set Execute `set' statements (root only)\n" +- " -f, --fahrenheit Show temperatures in degrees fahrenheit\n" +- " -A, --no-adapter Do not show adapter for each chip\n" +- " --bus-list Generate bus statements for sensors.conf\n" +- " -u Raw output\n" +- " -j Json output\n" +- " -v, --version Display the program version\n" ++ puts(" -c, --config-file Specify a config file\n" ++ " -h, --help Display this help text\n" ++ " -s, --set Execute `set' statements (root only)\n" ++ " -f, --fahrenheit Show temperatures in degrees fahrenheit\n" ++ " -A, --no-adapter Do not show adapter for each chip\n" ++ " --bus-list Generate bus statements for sensors.conf\n" ++ " -u Raw output\n" ++ " -j Json output\n" ++ " -v, --version Display the program version\n" ++ " -n, --allow-no-sensors Do not fail if no sensors found\n" + "\n" + "Use `-' after `-c' to read the config file from stdin.\n" + "If no chips are specified, all chip info will be printed.\n" +@@ -270,7 +271,7 @@ static void print_bus_list(void) + + int main(int argc, char *argv[]) + { +- int c, i, err, do_bus_list; ++ int c, i, err, do_bus_list, allow_no_sensors; + const char *config_file_name = NULL; + + struct option long_opts[] = { +@@ -281,6 +282,7 @@ int main(int argc, char *argv[]) + { "no-adapter", no_argument, NULL, 'A' }, + { "config-file", required_argument, NULL, 'c' }, + { "bus-list", no_argument, NULL, 'B' }, ++ { "allow-no-sensors", no_argument, NULL, 'n' }, + { 0, 0, 0, 0 } + }; + +@@ -291,8 +293,9 @@ int main(int argc, char *argv[]) + do_sets = 0; + do_bus_list = 0; + hide_adapter = 0; ++ allow_no_sensors = 0; + while (1) { +- c = getopt_long(argc, argv, "hsvfAc:uj", long_opts, NULL); ++ c = getopt_long(argc, argv, "hsvfAc:ujn", long_opts, NULL); + if (c == EOF) + break; + switch(c) { +@@ -327,6 +330,9 @@ int main(int argc, char *argv[]) + case 'B': + do_bus_list = 1; + break; ++ case 'n': ++ allow_no_sensors = 1; ++ break; + default: + fprintf(stderr, + "Internal error while parsing options!\n"); +@@ -349,7 +355,9 @@ int main(int argc, char *argv[]) + "No sensors found!\n" + "Make sure you loaded all the kernel drivers you need.\n" + "Try sensors-detect to find out which these are.\n"); +- err = 1; ++ if (!allow_no_sensors) { ++ err = 1; ++ } + } + } else { + int cnt = 0; +diff --git a/prog/sensors/sensors.1 b/prog/sensors/sensors.1 +index 7d66e4b..d207aa1 100644 +--- a/prog/sensors/sensors.1 ++++ b/prog/sensors/sensors.1 +@@ -78,6 +78,8 @@ are only needed if you have several chips sharing the same address on different + buses of the same type. As bus numbers are usually not guaranteed to be stable + over reboots, these statements let you refer to each bus by its name rather + than numbers. ++.IP "-n, --allow-no-sensors" ++Do not fail if no sensors found. The error message will be printed in the log. + .SH FILES + .I /etc/sensors3.conf + .br diff --git a/lm_sensors-wrapper b/lm_sensors-wrapper new file mode 100644 index 0000000..8c6e9d8 --- /dev/null +++ b/lm_sensors-wrapper @@ -0,0 +1,8 @@ +#!/bin/sh +if /usr/bin/systemd-detect-virt 2>/dev/null 1>&2; then + SENSORS_FLAGS_VM='-n'; +else + SENSORS_FLAGS_VM=''; +fi; + +/usr/bin/sensors -s $SENSORS_FLAGS_VM diff --git a/lm_sensors.service b/lm_sensors.service index 904660a..fc99241 100644 --- a/lm_sensors.service +++ b/lm_sensors.service @@ -6,7 +6,7 @@ EnvironmentFile=/etc/sysconfig/lm_sensors Type=oneshot RemainAfterExit=yes ExecStart=-@WRAPPER_DIR@/lm_sensors-modprobe-wrapper $BUS_MODULES $HWMON_MODULES -ExecStart=/usr/bin/sensors -s +ExecStart=@WRAPPER_DIR@/lm_sensors-wrapper ExecStop=-@WRAPPER_DIR@/lm_sensors-modprobe-r-wrapper $BUS_MODULES $HWMON_MODULES [Install] diff --git a/lm_sensors.spec b/lm_sensors.spec index 587a508..e67cb94 100644 --- a/lm_sensors.spec +++ b/lm_sensors.spec @@ -1,6 +1,6 @@ Name: lm_sensors Version: 3.6.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Hardware monitoring tools %define upstream_version %(echo %{version} | sed -e 's/\\./-/g') @@ -23,12 +23,14 @@ Source4: lm_sensors-modprobe-r-wrapper Source5: sensord.service Source6: sensord-service-wrapper Source7: lm_sensors.service +Source8: lm_sensors-wrapper # Downstream-only: Patch0: 0001-Revert-unnecessary-soname-bump.patch # Upstream patch: Patch1: 0001-Change-PIDFile-path-from-var-run-to-run.patch +Patch2: lm_sensors-3.6.0-allow_no_sensors.patch Requires: /usr/sbin/modprobe %ifarch %{ix86} x86_64 @@ -84,6 +86,7 @@ database, and warns of sensor alarms. %setup -q -n lm-sensors-%{upstream_version} %patch0 -p1 %patch1 -p1 +%patch2 -p1 # Remove currently unused files to make sure we've got the license right rm -f prog/init/sysconfig-lm_sensors-convert prog/hotplug/unhide_ICH_SMBus @@ -126,6 +129,7 @@ install -pm 644 sensord.service $RPM_BUILD_ROOT%{_unitdir} mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/%{name} install -pm 755 %{SOURCE3} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/lm_sensors-modprobe-wrapper install -pm 755 %{SOURCE4} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/lm_sensors-modprobe-r-wrapper +install -pm 755 %{SOURCE8} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/lm_sensors-wrapper # sensord service wrapper install -pm 755 %{SOURCE6} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/sensord-service-wrapper @@ -182,6 +186,7 @@ fi %{_unitdir}/fancontrol.service %dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/lm_sensors-modprobe*wrapper +%{_libexecdir}/%{name}/lm_sensors-wrapper %exclude %{_sbindir}/sensord %exclude %{_mandir}/man8/sensord.8.gz @@ -204,6 +209,10 @@ fi %changelog +* Wed Mar 03 2021 Artem Egorenkov - 3.6.0-7 +- New flag for no sensors added. This flag is used in VM environment + to make sensors binaries not fail if no sensors was detected. + * Tue Jan 26 2021 Fedora Release Engineering - 3.6.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild