235 lines
7.9 KiB
RPMSpec
235 lines
7.9 KiB
RPMSpec
|
#
|
||
|
# spec file for package sensors
|
||
|
#
|
||
|
# Copyright (c) 2024 SUSE LLC
|
||
|
#
|
||
|
# All modifications and additions to the file contributed by third parties
|
||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||
|
# upon. The license for this file, and modifications and additions to the
|
||
|
# file, is the same license as for the pristine package itself (unless the
|
||
|
# license for the pristine package is not an Open Source License, in which
|
||
|
# case the license is the MIT License). An "Open Source License" is a
|
||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||
|
# published by the Open Source Initiative.
|
||
|
|
||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||
|
#
|
||
|
|
||
|
|
||
|
#%%define commit 1c48b191c8a2b9fc747e3db3816247c666c5c3f1
|
||
|
#%%define shortcommit 1c48b19
|
||
|
%define _name lm-sensors
|
||
|
%define _version 3-6-2
|
||
|
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||
|
%if ! %{defined _fillupdir}
|
||
|
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
||
|
%endif
|
||
|
Name: sensors
|
||
|
Version: %(echo %{_version} | tr '-' '.')
|
||
|
Release: 0
|
||
|
Summary: Hardware health monitoring for Linux
|
||
|
License: GPL-2.0-or-later
|
||
|
Group: System/Monitoring
|
||
|
URL: https://github.com/lm-sensors/%{_name}
|
||
|
Source0: https://github.com/hramrach/%{_name}/archive/V%{_version}.tar.gz#/%{_name}-%{_version}.tar.gz
|
||
|
Source1: sysconfig.sensord
|
||
|
Source2: baselibs.conf
|
||
|
Patch1: lm_sensors-3.1.1-build.patch
|
||
|
Patch2: lm_sensors-3.0.0-sensord-separate.patch
|
||
|
Patch3: lm_sensors-3.0.0-sysconfig_metadata.patch
|
||
|
Patch4: lm_sensors-3.0.3-hint-at-kernel-extra-package.patch
|
||
|
Patch8: lm_sensors-3.5.0-libsensors-fix-soname.patch
|
||
|
BuildRequires: bison
|
||
|
BuildRequires: flex
|
||
|
BuildRequires: perl-Test-Cmd
|
||
|
BuildRequires: rrdtool-devel
|
||
|
BuildRequires: systemd-rpm-macros
|
||
|
BuildRequires: valgrind
|
||
|
Requires: modutils
|
||
|
%{?systemd_requires}
|
||
|
|
||
|
%description
|
||
|
This package includes programs that show data from some sensor chips.
|
||
|
The interface /proc/bus/i2c/ is provided by loading kernel modules.
|
||
|
Which modules to load can be interactively detected as root by calling
|
||
|
%{_sbindir}/sensors-detect. Warning, before using the sensors the default
|
||
|
configuration in %{_sysconfdir}/sensors.conf has to be checked and changed to fit
|
||
|
the actual set up of the mainboard and the BIOS used on that specific
|
||
|
mainboard!
|
||
|
|
||
|
%package -n sensord
|
||
|
Summary: Hardware health monitoring daemon
|
||
|
License: GPL-2.0-or-later
|
||
|
Group: System/Monitoring
|
||
|
Requires(pre): %fillup_prereq
|
||
|
Provides: sensors:%{_sbindir}/sensord
|
||
|
|
||
|
%description -n sensord
|
||
|
sensord is a daemon that can be used to periodically log sensor
|
||
|
readings from hardware health-monitoring chips to the system logs or a
|
||
|
round-robin database (RRD) and to alert when a sensor alarm is
|
||
|
signalled; for example, if a fan fails, a temperature limit is
|
||
|
exceeded, etc.
|
||
|
|
||
|
%package -n libsensors4
|
||
|
Summary: Hardware health monitoring library
|
||
|
License: LGPL-2.1-or-later
|
||
|
Group: System/Libraries
|
||
|
|
||
|
%description -n libsensors4
|
||
|
libsensors offers a way for applications to access the hardware
|
||
|
monitoring chips of the system. A system-dependent configuration file
|
||
|
controls how the different inputs are labeled and what scaling factors
|
||
|
have to be applied for the specific hardware, so that the output makes
|
||
|
sense to the user.
|
||
|
|
||
|
%package -n libsensors4-devel
|
||
|
Summary: Hardware health monitoring library
|
||
|
License: LGPL-2.1-or-later
|
||
|
Group: Development/Libraries/C and C++
|
||
|
Requires: glibc-devel
|
||
|
Requires: libsensors4 = %{version}
|
||
|
Provides: sensors:%{_includedir}/sensors/sensors.h
|
||
|
|
||
|
%description -n libsensors4-devel
|
||
|
libsensors offers a way for applications to access the hardware
|
||
|
monitoring chips of the system. A system-dependent configuration file
|
||
|
controls how the different inputs are labeled and what scaling factors
|
||
|
have to be applied for the specific hardware, so that the output makes
|
||
|
sense to the user.
|
||
|
|
||
|
%prep
|
||
|
%autosetup -p1 -n %{_name}-%{_version}
|
||
|
|
||
|
%build
|
||
|
RPM_OPT_FLAGS="%{optflags}"
|
||
|
make %{?_smp_mflags} PROG_EXTRA:=sensord BUILD_STATIC_LIB:=0 PREFIX=%{_prefix} MANDIR=%{_mandir} LIBDIR=%{_libdir}
|
||
|
|
||
|
%install
|
||
|
make PROG_EXTRA:=sensord BUILD_STATIC_LIB:=0 PREFIX=%{_prefix} MANDIR=%{_mandir} LIBDIR=%{_libdir} DESTDIR=%{buildroot} install
|
||
|
mkdir -p %{buildroot}/%{_docdir}/sensors %{buildroot}/%{_docdir}/sensord
|
||
|
cp -a doc/donations doc/fan-divisors \
|
||
|
doc/fancontrol.txt doc/libsensors-API.txt \
|
||
|
doc/progs doc/temperature-sensors \
|
||
|
doc/vid COPYING COPYING.LGPL %{buildroot}/%{_docdir}/sensors/
|
||
|
cp -a COPYING %{buildroot}/%{_docdir}/sensord/
|
||
|
chmod -R u+rwX,g+rX,o+rX %{buildroot}/%{_docdir}/sensors/ %{buildroot}/%{_docdir}/sensord/
|
||
|
chmod 0755 %{buildroot}/%{_libdir}/libsensors.so.*
|
||
|
mkdir -p %{buildroot}/%{_unitdir} %{buildroot}/%{_fillupdir}
|
||
|
cp -a prog/init/*.service %{buildroot}/%{_unitdir}/
|
||
|
ln -sf service %{buildroot}%{_sbindir}/rclm_sensors
|
||
|
ln -sf service %{buildroot}%{_sbindir}/rcfancontrol
|
||
|
ln -sf service %{buildroot}%{_sbindir}/rcsensord
|
||
|
cp -a %{SOURCE1} %{buildroot}/%{_fillupdir}
|
||
|
|
||
|
%check
|
||
|
make test
|
||
|
|
||
|
%pre
|
||
|
%service_add_pre lm_sensors.service fancontrol.service
|
||
|
|
||
|
%post
|
||
|
sh -c '
|
||
|
CONFIG=%{_sysconfdir}/sysconfig/lm_sensors
|
||
|
test -r "$CONFIG" || exit 0
|
||
|
unset ${!MODULE_*} $HWMON_MODULES
|
||
|
. "$CONFIG"
|
||
|
test -n "$HWMON_MODULES" && exit 0
|
||
|
for i in ${!MODULE_*} ; do
|
||
|
eval module=\$$i
|
||
|
if test -z "$HWMON_MODULES" ; then
|
||
|
HWMON_MODULES="$module"
|
||
|
else
|
||
|
HWMON_MODULES="$HWMON_MODULES $module"
|
||
|
fi
|
||
|
done
|
||
|
test -z "$HWMON_MODULES" && exit 0
|
||
|
echo >> "$CONFIG"
|
||
|
echo "# New configuration format generated by rpm post-install script" >> "$CONFIG"
|
||
|
echo "HWMON_MODULES=\"$HWMON_MODULES\"" >> "$CONFIG"
|
||
|
'
|
||
|
if test -e %{_sysconfdir}/modprobe.d/lm_sensors -a ! -e %{_sysconfdir}/modprobe.d/lm_sensors.conf ; then
|
||
|
mv -f %{_sysconfdir}/modprobe.d/lm_sensors %{_sysconfdir}/modprobe.d/lm_sensors.conf
|
||
|
fi
|
||
|
%service_add_post lm_sensors.service fancontrol.service
|
||
|
|
||
|
%preun
|
||
|
%service_del_preun fancontrol.service lm_sensors.service
|
||
|
|
||
|
%postun
|
||
|
%service_del_postun fancontrol.service lm_sensors.service
|
||
|
|
||
|
%pre -n sensord
|
||
|
%service_add_pre sensord.service
|
||
|
|
||
|
%post -n sensord
|
||
|
%service_add_post sensord.service
|
||
|
%{fillup_only -n sensord}
|
||
|
|
||
|
%preun -n sensord
|
||
|
%service_del_preun sensord.service
|
||
|
|
||
|
%postun -n sensord
|
||
|
%service_del_postun sensord.service
|
||
|
|
||
|
%post -n libsensors4 -p /sbin/ldconfig
|
||
|
%postun -n libsensors4 -p /sbin/ldconfig
|
||
|
|
||
|
%files
|
||
|
%{_unitdir}/lm_sensors.service
|
||
|
%{_sbindir}/rclm_sensors
|
||
|
%{_unitdir}/fancontrol.service
|
||
|
%{_sbindir}/rcfancontrol
|
||
|
%{_bindir}/*
|
||
|
%{_sbindir}/fancontrol
|
||
|
%ifarch i386 i486 i586 i686 x86_64
|
||
|
%{_sbindir}/isadump
|
||
|
%{_sbindir}/isaset
|
||
|
%endif
|
||
|
%{_sbindir}/pwmconfig
|
||
|
%{_sbindir}/sensors-detect
|
||
|
%dir %{_docdir}/sensors
|
||
|
%doc %{_docdir}/sensors/donations
|
||
|
%doc %{_docdir}/sensors/fan-divisors
|
||
|
%doc %{_docdir}/sensors/fancontrol.txt
|
||
|
%doc %{_docdir}/sensors/progs
|
||
|
%doc %{_docdir}/sensors/temperature-sensors
|
||
|
%doc %{_docdir}/sensors/vid
|
||
|
%license %{_docdir}/sensors/COPYING
|
||
|
%{_mandir}/man1/*.1%{?ext_man}
|
||
|
%{_mandir}/man8/fancontrol.8%{?ext_man}
|
||
|
%ifarch i386 i486 i586 i686 x86_64
|
||
|
%{_mandir}/man8/isadump.8%{?ext_man}
|
||
|
%{_mandir}/man8/isaset.8%{?ext_man}
|
||
|
%endif
|
||
|
%{_mandir}/man8/pwmconfig.8%{?ext_man}
|
||
|
%{_mandir}/man8/sensors-conf-convert.8%{?ext_man}
|
||
|
%{_mandir}/man8/sensors-detect.8%{?ext_man}
|
||
|
%{_datadir}/zsh/site-functions/
|
||
|
|
||
|
%files -n sensord
|
||
|
%{_unitdir}/sensord.service
|
||
|
%{_sbindir}/rcsensord
|
||
|
%{_fillupdir}/sysconfig.sensord
|
||
|
%{_sbindir}/sensord
|
||
|
%dir %{_docdir}/sensord
|
||
|
%license %{_docdir}/sensord/COPYING
|
||
|
%{_mandir}/man8/sensord.8%{?ext_man}
|
||
|
|
||
|
%files -n libsensors4
|
||
|
%config %{_sysconfdir}/sensors3.conf
|
||
|
%config %{_sysconfdir}/sensors.d/
|
||
|
%{_libdir}/libsensors.so.4*
|
||
|
%dir %{_docdir}/sensors
|
||
|
%license %{_docdir}/sensors/COPYING.LGPL
|
||
|
%{_mandir}/man5/*.5%{?ext_man}
|
||
|
|
||
|
%files -n libsensors4-devel
|
||
|
%{_includedir}/sensors/
|
||
|
%{_libdir}/libsensors.so
|
||
|
%dir %{_docdir}/sensors
|
||
|
%doc %{_docdir}/sensors/libsensors-API.txt
|
||
|
%{_mandir}/man3/*.3%{?ext_man}
|
||
|
|
||
|
%changelog
|