[lm_sensors] Fix sensors-detect with the udevdb now living under /run (#697565) Provide a native systemd service
Hans de Goede
jwrdegoede at fedoraproject.org
Sun Apr 24 14:15:31 UTC 2011
commit 3b83433a9e5ea8e2b556981d171b03bb49f903f1
Author: Hans de Goede <hdegoede at redhat.com>
Date: Sun Apr 24 16:14:15 2011 +0200
Fix sensors-detect with the udevdb now living under /run (#697565)
Provide a native systemd service file (#692159)
Drop systemv initscript
Drop configuration conversion scripts, the last Fedora with lm_sensors-2.x
was Fedora 8 !
lm_sensors-3.0.3-acpi-bus.patch | 64 -----------------------------
lm_sensors-3.3.0-systemd.patch | 60 +++++++++++++++++++++++++++
lm_sensors.spec | 85 +++++++++++++--------------------------
3 files changed, 88 insertions(+), 121 deletions(-)
---
diff --git a/lm_sensors-3.3.0-systemd.patch b/lm_sensors-3.3.0-systemd.patch
new file mode 100644
index 0000000..538eef0
--- /dev/null
+++ b/lm_sensors-3.3.0-systemd.patch
@@ -0,0 +1,60 @@
+Index: prog/init/lm_sensors.service
+===================================================================
+--- prog/init/lm_sensors.service (revision 0)
++++ prog/init/lm_sensors.service (revision 0)
+@@ -0,0 +1,14 @@
++[Unit]
++Description=lm_sensors for monitoring motherboard sensor values
++After=syslog.target
++
++[Service]
++EnvironmentFile=/etc/sysconfig/lm_sensors
++Type=oneshot
++RemainAfterExit=yes
++ExecStart=-/sbin/modprobe -qab $BUS_MODULES $HWMON_MODULES
++ExecStart=/usr/bin/sensors -s
++ExecStop=-/sbin/modprobe -qabr $BUS_MODULES $HWMON_MODULES
++
++[Install]
++WantedBy=multi-user.target
+Index: prog/detect/sensors-detect
+===================================================================
+--- prog/detect/sensors-detect (revision 5939)
++++ prog/detect/sensors-detect (working copy)
+@@ -2339,7 +2339,7 @@
+ if (!$use_udev) {
+ # Try some known default udev db locations, just in case
+ if (-e '/dev/.udev.tdb' || -e '/dev/.udev'
+- || -e '/dev/.udevdb') {
++ || -e '/dev/.udevdb' || -e '/run/udev') {
+ $use_udev = 1;
+ $dev_i2c = '/dev/i2c-';
+ }
+@@ -6378,6 +6378,14 @@
+ }
+ close(SYSCONFIG);
+
++ 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
++ return;
++ }
++
+ print "Copy prog/init/lm_sensors.init to /etc/init.d/lm_sensors\n".
+ "for initialization at boot time.\n"
+ unless -f "/etc/init.d/lm_sensors";
+@@ -6433,8 +6441,10 @@
+ exit -1;
+ }
+
+- if (-x "/sbin/service" && -f "/etc/init.d/lm_sensors" &&
+- -f "/var/lock/subsys/lm_sensors") {
++ 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");
+ }
+
diff --git a/lm_sensors.spec b/lm_sensors.spec
index 67b5523..dc97831 100644
--- a/lm_sensors.spec
+++ b/lm_sensors.spec
@@ -1,27 +1,23 @@
Name: lm_sensors
Version: 3.3.0
-Release: 1%{?dist}
+Release: 2%{?dist}
URL: http://www.lm-sensors.org/
Source: http://dl.lm-sensors.org/lm-sensors/releases/%{name}-%{version}.tar.bz2
-#Source: %{name}-%{version}.svn5857.tar.gz
Source1: lm_sensors.sysconfig
# these 2 were taken from PLD-linux, Thanks!
Source2: sensord.sysconfig
Source3: sensord.init
+Patch0: lm_sensors-3.3.0-systemd.patch
Summary: Hardware monitoring tools
Group: Applications/System
-License: LGPLv2.1
-Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+License: LGPLv2+
%ifarch %{ix86} x86_64
Requires: /usr/sbin/dmidecode
%endif
-Requires(preun): chkconfig
-Requires(post): chkconfig
-Requires(post): /sbin/ldconfig
+Requires(post): systemd-units
BuildRequires: kernel-headers >= 2.2.16, bison, libsysfs-devel, flex, gawk
BuildRequires: rrdtool-devel
-
%description
The lm_sensors package includes a collection of modules for general SMBus
access and hardware monitoring.
@@ -57,6 +53,7 @@ database, and warns of sensor alarms.
%prep
%setup -q
+%patch0 -p0
mv prog/init/README prog/init/README.initscripts
chmod -x prog/init/fancontrol.init
@@ -69,7 +66,6 @@ make PREFIX=%{_prefix} LIBDIR=%{_libdir} MANDIR=%{_mandir} EXLDFLAGS= \
%install
-rm -fr $RPM_BUILD_ROOT
make PREFIX=%{_prefix} LIBDIR=%{_libdir} MANDIR=%{_mandir} PROG_EXTRA=sensord \
DESTDIR=$RPM_BUILD_ROOT user_install
rm $RPM_BUILD_ROOT%{_libdir}/libsensors.a
@@ -77,64 +73,33 @@ rm $RPM_BUILD_ROOT%{_libdir}/libsensors.a
ln -s sensors.conf.5.gz $RPM_BUILD_ROOT%{_mandir}/man5/sensors3.conf.5.gz
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sensors.d
+mkdir -p $RPM_BUILD_ROOT%{_initrddir}
+mkdir -p $RPM_BUILD_ROOT/lib/systemd/system
install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/lm_sensors
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/sensord
-install -p -m 755 prog/init/sysconfig-lm_sensors-convert \
- $RPM_BUILD_ROOT%{_bindir}
-mkdir -p $RPM_BUILD_ROOT%{_initrddir}
-install -p -m 755 prog/init/lm_sensors.init \
- $RPM_BUILD_ROOT%{_initrddir}/lm_sensors
install -p -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_initrddir}/sensord
+install -p -m 644 prog/init/lm_sensors.service \
+ $RPM_BUILD_ROOT/lib/systemd/system
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sensors.d
-
-%clean
-rm -fr $RPM_BUILD_ROOT
-
-# For conversion of sensors.conf on upgrades from 2.10.x to 3.x.x
-# First mv any /etc/sensors.conf.rpmsave from previous updates out of the way
-# Then after uninstall check if /etc/sensors.conf.rpmsave is created, if it
-# is the user was using a non pristine /etc/sensors.conf, so convert it
-
-%triggerun -- lm_sensors <= 2.10.999
-if [ -f /etc/sensors.conf.rpmsave ]; then
- mv /etc/sensors.conf.rpmsave /etc/sensors.conf.rpmsave.old
-fi
-
-%triggerpostun -- lm_sensors <= 2.10.999
-if [ -f /etc/sensors.conf.rpmsave ]; then
- mv /etc/sensors3.conf /etc/sensors3.conf.rpmnew
- %{_bindir}/sensors-conf-convert < /etc/sensors.conf.rpmsave > \
- /etc/sensors3.conf
- rm /etc/sensors.conf.rpmsave
-fi
-if [ -f /etc/sensors.conf.rpmsave.old ]; then
- mv /etc/sensors.conf.rpmsave.old /etc/sensors.conf.rpmsave
+# Note non standard systemd scriptlets, since reload / stop makes no sense
+# for lm_sensors
+%triggerun -- lm_sensors < 3.3.0-2
+if [ -L /etc/rc3.d/S26lm_sensors ]; then
+ /bin/systemctl enable lm_sensors.service >/dev/null 2>&1 || :
fi
+/sbin/chkconfig --del lm_sensors
-# for conversion of /etc/sysconfig/lm_sensors format change
-%triggerpostun -- lm_sensors <= 3.0.3
-%{_bindir}/sysconfig-lm_sensors-convert
-
-
-%pre
-if [ -f /var/lock/subsys/sensors ]; then
- mv -f /var/lock/subsys/sensors /var/lock/subsys/lm_sensors
+%preun
+if [ $1 -eq 0 ] ; then
+ # Package removal, not upgrade
+ /bin/systemctl --no-reload disable lm_sensors.service > /dev/null 2>&1 || :
fi
-%post
-/sbin/chkconfig --add lm_sensors
-
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
-%preun
-if [ $1 = 0 ]; then
- /sbin/chkconfig --del lm_sensors
-fi
-
-
%post sensord
/sbin/chkconfig --add sensord
@@ -144,7 +109,6 @@ if [ $1 = 0 ]; then
fi
-
%files
%defattr(-,root,root,-)
%doc CHANGES CONTRIBUTORS COPYING doc README*
@@ -155,7 +119,7 @@ fi
%{_mandir}/man5/*
%{_mandir}/man8/*
%{_sbindir}/*
-%{_initrddir}/lm_sensors
+/lib/systemd/system/lm_sensors.service
%config(noreplace) %{_sysconfdir}/sysconfig/lm_sensors
%exclude %{_sbindir}/sensord
%exclude %{_mandir}/man8/sensord.8.gz
@@ -181,6 +145,13 @@ fi
%changelog
+* Sun Apr 24 2011 Hans de Goede <hdegoede at redhat.com> - 3.3.0-2
+- Fix sensors-detect with the udevdb now living under /run (#697565)
+- Provide a native systemd service file (#692159)
+- Drop systemv initscript
+- Drop configuration conversion scripts, the last Fedora with lm_sensors-2.x
+ was Fedora 8 !
+
* Tue Mar 29 2011 Nikola Pajkovsky <npajkovs at redhat.com> - 3.3.0
- new upstream release 3.3.0
- Resolved: 691548 - include empty /etc/sensors.d into the package
More information about the scm-commits
mailing list