Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37402268
en ru br
ALT Linux repos
S:3.6.0-alt3
4.1: 3.1.2-alt0.M41.1
4.0: 3.1.2-alt0.M40.1

Group :: System/Kernel and hardware
RPM: lm_sensors3

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%def_disable static

Name: lm_sensors3
Version: 3.6.0
Release: alt3

Summary: Hardware Health Monitoring Tools
License: LGPLv2+ and GPLv3+ and GPLv2+ and Verbatim and Public Domain
Group: System/Kernel and hardware
Url: https://hwmon.wiki.kernel.org/
Packager: Afanasov Dmitry <ender at altlinux.org>

# https://github.com/lm-sensors/lm-sensors

Source: %name-%version.tar
Source1: lm_sensors.init
Source2: lm_sensors.service
Source3: lm_sensors.sysconfig
Source4: lm_sensors-modprobe-wrapper
Source5: lm_sensors-modprobe-r-wrapper
Source6: sensord.service
Source7: sensord.sysconfig
Source8: sensord-service-wrapper
Source9: fancontrol.init
Source10: sensord.init

Patch1: lm_sensors3-3.4.0-alt-set_limit.patch
Patch2: lm_sensors3-3.1.0-makefile-norpath.patch

Requires: libsensors3 = %version-%release
Provides: lm_sensors

Provides: lm_sensors = %version-%release

BuildRequires: flex bison
BuildRequires: librrd-devel >= 1.2.1

BuildPreReq: rpm-macros-make

#define _unpackaged_files_terminate_build 1


%package utils
Summary: Hardware Health Monitoring utils
Group: Monitoring
Requires: %name = %version-%release
Provides: lm_sensors-utils
Obsoletes: lm_sensors-utils
Conflicts: sensorfw

%package -n libsensors3
Summary: Shared library for hardware health monitoring tools
Group: System/Libraries
Provides: libsensors
Obsoletes: libsensors

%package -n libsensors3-devel
Summary: Development environment for hardware health monitoring tools
Group: Development/C
Requires: libsensors3 = %version-%release
Provides: %name-devel = %version
Provides: libsensors-devel
Obsoletes: libsensors-devel
Conflicts: libsensors-devel

%package -n libsensors3-devel-static
Summary: Static library for developing hardware health monitoring tools
Group: Development/C
Requires: libsensors-devel = %version-%release
Provides: libsensors-devel-static
Obsoletes: libsensors-devel-static
Conflicts: libsensors-devel-static

%description
This package contains a collection of user space tools for general SMBus
access and hardware monitoring.  SMBus, also known as System Management Bus,
is a protocol for communicating through a I2C ('I squared C') bus.  Many modern
mainboards have a System Management Bus.  There are a lot of devices which can
be connected to a SMBus; the most notable are modern memory chips with EEPROM
memories and chips for hardware monitoring.

Most modern mainboards incorporate some form of hardware monitoring chips.
These chips read things like chip temperatures, fan rotation speeds and
voltage levels.  There are quite a few different chips which can be used
by mainboard builders for approximately the same results.

%description utils
lm_sensors utils

%description -n libsensors3
This package contains shared library required for user space applications
for general SMBus access and hardware monitoring.  SMBus, also known as
System Management Bus, is a protocol for communicating through a I2C
('I squared C') bus.  Many modern mainboards have a System Management Bus.
There are a lot of devices which can be connected to a SMBus; the most
notable are modern memory chips with EEPROM memories and chips for hardware
monitoring.

%description -n libsensors3-devel
This package contains environment for development of user space applications
for general SMBus access and hardware monitoring.  SMBus, also known as
System Management Bus, is a protocol for communicating through a I2C
('I squared C') bus.  Many modern mainboards have a System Management Bus.
There are a lot of devices which can be connected to a SMBus; the most
notable are modern memory chips with EEPROM memories and chips for hardware
monitoring.

%description -n libsensors3-devel-static
This package contains static library for development of statically linked
user space applications for general SMBus access and hardware monitoring.

%prep
%setup -q
%patch1 -p2
%patch2 -p2

# fixing the sensord-service-wrapper path

cp -p %SOURCE2 lm_sensors.service
cp -p %SOURCE6 sensord.service
sed -i "s|\ at WRAPPER_DIR\ at |%_libexecdir/%name|" lm_sensors.service
sed -i "s|\ at WRAPPER_DIR\ at |%_libexecdir/%name|" sensord.service

%build
%add_optflags -D_FILE_OFFSET_BITS=64
%make_build_ext PROG_EXTRA=sensord

%install
%set_verify_elf_method strict

%make DESTDIR=%buildroot \
     PREFIX=/usr \
     MANDIR=%_mandir \
     ETCDIR=%_sysconfdir \
     LIBDIR=%_libdir \
     INCLUDEDIR=%_includedir \
     LIBINCLUDEDIR=%_includedir/sensors \
     PROG_EXTRA=sensord \
     EXLDFLAGS= \
     install

mkdir -p %buildroot{%_sysconfdir/sysconfig,%_initdir}
install -pm 644 %SOURCE3 %buildroot%_sysconfdir/sysconfig/lm_sensors
install -pm 644 %SOURCE7 %buildroot%_sysconfdir/sysconfig/sensord

# service files

install -pD -m755 %SOURCE1 %buildroot%_initrddir/lm_sensors
install -pD -m644 lm_sensors.service %buildroot%_unitdir/lm_sensors.service
install -pD -m644 sensord.service %buildroot%_unitdir/sensord.service
install -pD -m644 prog/init/fancontrol.service %buildroot%_unitdir/fancontrol.service

# customized modprobe calls

mkdir -p %buildroot%_libexecdir/%name
install -pm 755 %SOURCE4 %buildroot%_libexecdir/%name/lm_sensors-modprobe-wrapper
install -pm 755 %SOURCE5 %buildroot%_libexecdir/%name/lm_sensors-modprobe-r-wrapper

# sensord service wrapper

install -pm 755 %SOURCE8 %buildroot%_libexecdir/%name/sensord-service-wrapper

# fancontrol init.d service

touch %buildroot%_sysconfdir/fancontrol
install -pm 755 %SOURCE9 %buildroot%_initdir/fancontrol
# sensord init.d service
install -pm 755 %SOURCE10 %buildroot%_initdir/sensord

install -pD -m755 prog/init/sysconfig-lm_sensors-convert %buildroot%_datadir/%name/sysconfig-lm_sensors-convert

mkdir -p %buildroot%_datadir/%name
cp -ar prog/tellerstats %buildroot%_datadir/%name

# remove static library

rm %buildroot%_libdir/*.a

# egrep is obsolete

subst 's,egrep,grep -E,g' %buildroot%_sbindir/pwmconfig

%post
%post_service lm_sensors

%preun
%preun_service lm_sensors

%triggerun -- lm_sensors < 3
if [ $1 -eq 1 ] && [ $2 -eq 0 ] && [ -f /etc/sysconfig/lm_sensors ]; then
   echo "Try to convert /etc/sysconfig/lm_sensors to new format."
   cp /etc/sysconfig/lm_sensors /etc/sysconfig/lm_sensors.old
   if %_datadir/%name/sysconfig-lm_sensors-convert; then
       echo "Convertion OK"
   else
       echo "Convertion FAILED. Run sensors-detect."
   fi
fi
if [ $1 -eq 0 ] && [ $2 -eq 1 ] && [ -f /etc/sysconfig/lm_sensors.old ]; then
   echo "Restore saved /etc/sysconfig/lm_sensors for v2"
   mv /etc/sysconfig/lm_sensors.old /etc/sysconfig/lm_sensors
fi

%files
%doc doc/ README CHANGES COPYING COPYING.LGPL
%config(noreplace) %_sysconfdir/sensors3.conf
%dir %_sysconfdir/sensors.d
%config(noreplace) %_sysconfdir/sysconfig/lm_sensors
%config %_initdir/lm_sensors
%_unitdir/lm_sensors.service
%_bindir/sensors
%_bindir/sensors-conf-convert
%_sbindir/sensors-detect
%_man1dir/sensors.1*
%_man5dir/sensors.conf.5*
%_man5dir/sensors3.conf.5*
%_man8dir/sensors-detect.8*
%dir %_datadir/%name
%_datadir/%name/sysconfig-lm_sensors-convert
%dir %_libexecdir/%name
%_libexecdir/%name/lm_sensors-modprobe*wrapper

%files utils
%_sbindir/sensord
%_unitdir/sensord.service
%_initdir/sensord
%_sbindir/fancontrol
%_unitdir/fancontrol.service
%_initdir/fancontrol
%ifarch %ix86 x86_64
%_sbindir/isadump
%_sbindir/isaset
%endif
%_sbindir/pwmconfig
%_datadir/%name
%_man8dir/fancontrol.*
%ifarch %ix86 x86_64
%_man8dir/isadump.*
%_man8dir/isaset.*
%endif
%_man8dir/pwmconfig.*
%_man8dir/sensors-conf-convert.8.*
%_man8dir/sensord.*
%exclude %_datadir/%name/sysconfig-lm_sensors-convert
%_libexecdir/%name/sensord-service-wrapper
%config(noreplace) %{_sysconfdir}/sysconfig/sensord
%ghost %attr(0600,root,root) %config(noreplace,missingok) %_sysconfdir/fancontrol

%files -n libsensors3
%_libdir/*.so.*

%files -n libsensors3-devel
%doc doc/libsensors-API.txt doc/developers
%_libdir/*.so
%_includedir/sensors
%_man3dir/*

%if_enabled static
%files -n libsensors3-devel-static
%_libdir/*.a
%endif #static

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin