# Conditional build:
%bcond_without dist_kernel # without kernel for distributions
%bcond_without smp # don't build SMP modules
-%bcond_without kernel # don't build kernel modules
+%bcond_without kernel # build kernel 2.4 modules
%bcond_without userspace # don't build userspace utilities
-#
+
+%ifarch %{x8664}
+%undefine with_kernel
+%endif
+
%include /usr/lib/rpm/macros.perl
Summary: Hardware health monitoring
Summary(pl): Monitor stanu sprzêtu
Summary(ru): õÔÉÌÉÔÙ ÄÌÑ ÍÏÎÉÔÏÒÉÎÇÁ ÁÐÐÁÒÁÔÕÒÙ
Summary(uk): õÔÉ̦ÔÉ ÄÌÑ ÍÏΦÔÏÒÉÎÇÕ ÁÐÁÒÁÔÕÒÉ
Name: lm_sensors
-Version: 2.8.5
-%define _rel 1
+Version: 2.9.2
+%define _rel 2
Release: %{_rel}
License: GPL
Group: Applications/System
Source0: http://secure.netroedge.com/~lm78/archive/%{name}-%{version}.tar.gz
-# Source0-md5: 1f952f0e30a10f20c8393424cf960a21
+# Source0-md5: 229f83cfbd081d5e7bd46885efec1c72
Source1: sensors.init
Source2: sensors.sysconfig
Patch0: %{name}-make.patch
Patch1: %{name}-ppc.patch
+Patch2: %{name}-iconv-in-libc.patch
+Patch3: %{name}-sensors-detect-PATH.patch
+Patch4: %{name}-CAN-2005-2672.patch
URL: http://www.lm-sensors.nu/
+BuildRequires: rpmbuild(macros) >= 1.213
+%if %{with userspace}
BuildRequires: bison
BuildRequires: flex >= 2.5.1
BuildRequires: perl-modules >= 5.6
BuildRequires: rpm-perlprov >= 3.0.3-16
-BuildRequires: rpmbuild(macros) >= 1.118
-BuildRequires: rrdtool-devel
+BuildRequires: rrdtool-devel >= 1.2.10
+%endif
%if %{with kernel} && %{with dist_kernel}
-BuildRequires: kernel-i2c-devel >= 2.8.3
-BuildRequires: kernel-headers >= 2.4.0
-BuildRequires: kernel-headers < 2.5.0
+BuildRequires: kernel24-i2c-devel >= 2.9.0
+BuildRequires: kernel24-headers >= 2.4.0
+BuildRequires: kernel24-headers < 2.5.0
%endif
+Requires: dev >= 2.9.0-13
Requires: dmidecode
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Obsoletes: liblm_sensors1
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define _kernelsrcdir /usr/src/linux-2.4
%description
Tools for monitoring the hardware health of Linux systems containing
ðÁËÅÔ lm_sensors-static ͦÓÔÉÔØ ÓÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ
ÐÏÂÕÄÏ×É ÐÒÏÇÒÁÍ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ ÄÁΦ ÓÅÎÓÏÒ¦×.
-%package -n kernel-i2c-%{name}
+%package -n kernel24-i2c-%{name}
Summary: Kernel modules for various buses and monitor chips
Summary(pl): Modu³y j±dra dla ró¿nego rodzaju sensorów
Group: Applications/System
Release: %{_rel}@%{_kernel_ver_str}
Requires(post,postun): /sbin/depmod
%{?with_dist_kernel:%requires_releq_kernel_up}
-%{?with_dist_kernel:Requires: kernel-i2c >= 2.8.2}
+%{?with_dist_kernel:Requires: i2c >= 2.9.0}
Provides: %{name}-modules = %{version}-%{release}
-Obsoletes: %{name}-modules
Obsoletes: kernel-misc-lm_sensors
-%description -n kernel-i2c-%{name}
+%description -n kernel24-i2c-%{name}
Kernel modules for various buses and monitor chips.
-%description -n kernel-i2c-%{name} -l pl
+%description -n kernel24-i2c-%{name} -l pl
Modu³y j±dra dla ró¿nego rodzaju sensorów monitoruj±cych.
-%package -n kernel-smp-i2c-%{name}
+%package -n kernel24-smp-i2c-%{name}
Summary: Kernel modules for various buses and monitor chips
Summary(pl): Modu³y j±dra dla ró¿nego rodzaju sensorów
Group: Applications/System
Release: %{_rel}@%{_kernel_ver_str}
Requires(post,postun): /sbin/depmod
%{?with_dist_kernel:%requires_releq_kernel_smp}
-%{?with_dist_kernel:Requires: kernel-smp-i2c >= 2.8.2}
+%{?with_dist_kernel:Requires: i2c >= 2.9.0}
Provides: %{name}-modules = %{version}-%{release}
-Obsoletes: %{name}-modules
Obsoletes: kernel-smp-misc-lm_sensors
-%description -n kernel-smp-i2c-%{name}
+%description -n kernel24-smp-i2c-%{name}
Kernel SMP modules for various buses and monitor chips.
-%description -n kernel-smp-i2c-%{name} -l pl
+%description -n kernel24-smp-i2c-%{name} -l pl
Modu³y j±dra SMP dla ró¿nego rodzaju sensorów monitoruj±cych.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
-%ifarch ppc sparc sparc64 sparcv9
-# no isadump
-%{__perl} -pi -e 's@ prog/dump @ @' Makefile
+%build
+%if %{with kernel}
+# workaround to avoid unresolved dmi* symbols in i2c-piix4.o
+install -d fakelinux
+:> fakelinux/.config
+%ifarch %{ix86}
+echo 'CONFIG_X86=y' >> fakelinux/.config
+%endif
+%ifarch %{ix86} %{x8664} alpha ppc
+echo 'CONFIG_IPMI_HANDLER=m' >> fakelinux/.config
%endif
-%build
-%if %{with kernel} && %{with smp}
+%if %{with smp}
# SMP
%{__make} all-kernel-busses all-kernel-chips \
CC="%{kgcc}" \
OPTS="%{rpmcflags} -D__KERNEL_SMP=1" \
- LINUX=/dev/null \
+ LINUX=`pwd`/fakelinux \
LINUX_HEADERS=%{_kernelsrcdir}/include \
I2C_HEADERS=%{_kernelsrcdir}/include \
SMP=1
%{__make} install-kernel-busses install-kernel-chips \
MODPREF=kernel-smp-modules \
- LINUX=/dev/null \
+ LINUX=`pwd`/fakelinux \
LINUX_HEADERS=%{_kernelsrcdir}/include \
I2C_HEADERS=%{_kernelsrcdir}/include \
SMP=1
%{__make} clean
%endif
-%if %{with kernel}
# UP
%{__make} all-kernel-busses all-kernel-chips \
CC="%{kgcc}" \
OPTS="%{rpmcflags}" \
- LINUX=/dev/null \
+ LINUX=`pwd`/fakelinux \
LINUX_HEADERS=%{_kernelsrcdir}/include \
I2C_HEADERS=%{_kernelsrcdir}/include \
SMP=0
%{__make} install-kernel-busses install-kernel-chips \
DESTDIR=$RPM_BUILD_ROOT \
MODPREF=/lib/modules/%{_kernel_ver} \
- LINUX=/dev/null \
+ LINUX=`pwd`/fakelinux \
LINUX_HEADERS=%{_kernelsrcdir}/include \
I2C_HEADERS=%{_kernelsrcdir}/include \
SMP=0
/sbin/chkconfig --del sensors
fi
-%post -n kernel-i2c-%{name}
+%post -n kernel24-i2c-%{name}
%depmod %{_kernel_ver}
-%postun -n kernel-i2c-%{name}
+%postun -n kernel24-i2c-%{name}
%depmod %{_kernel_ver}
-%post -n kernel-smp-i2c-%{name}
+%post -n kernel24-smp-i2c-%{name}
%depmod %{_kernel_ver}smp
-%postun -n kernel-smp-i2c-%{name}
+%postun -n kernel24-smp-i2c-%{name}
%depmod %{_kernel_ver}smp
%if %{with userspace}
%doc BACKGROUND BUGS CHANGES README README.thinkpad TODO doc/{busses,chips}
%doc doc/{FAQ,donations,fan-divisors,progs,temperature-sensors,*html,vid}
%doc prog/{config,daemon,eepromer/README*,matorb,maxilife}
+%attr(755,root,root) %{_bindir}/ddcmon
%attr(755,root,root) %{_bindir}/decode-*.pl
%attr(755,root,root) %{_bindir}/sensors
%attr(755,root,root) %{_sbindir}/sensors-detect
%attr(755,root,root) %{_sbindir}/eeprom*
%attr(755,root,root) %{_sbindir}/fancontrol
%attr(755,root,root) %{_sbindir}/i2c*
-%ifnarch ppc sparc sparc64 sparcv9
+%ifarch %{ix86} %{x8664}
%attr(755,root,root) %{_sbindir}/isadump
+%attr(755,root,root) %{_sbindir}/isaset
+%{_mandir}/man8/isadump.8*
+%{_mandir}/man8/isaset.8*
%endif
%attr(755,root,root) %{_sbindir}/pwmconfig
%attr(755,root,root) %{_libdir}/lib*.so.*.*
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/sensors.conf
-%{_mandir}/man1/*
-%{_mandir}/man5/*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sensors.conf
+%{_mandir}/man1/sensors.1*
+%{_mandir}/man5/sensors.conf.5*
+%{_mandir}/man8/fancontrol.8*
+%{_mandir}/man8/i2c*.8*
+%{_mandir}/man8/pwmconfig.8*
+%{_mandir}/man8/sensors-detect.8*
%files sensord
%defattr(644,root,root,755)
%attr(754,root,root) %{_sbindir}/sensord
%attr(754,root,root) /etc/rc.d/init.d/sensors
-%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/sensors
-%{_mandir}/man8/*
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sensors
+%{_mandir}/man8/sensord.8*
%files devel
%defattr(644,root,root,755)
%endif
%if %{with kernel}
-%files -n kernel-i2c-%{name}
+%files -n kernel24-i2c-%{name}
%defattr(644,root,root,755)
%dir /lib/modules/%{_kernel_ver}/kernel/drivers/i2c/busses
/lib/modules/%{_kernel_ver}/kernel/drivers/i2c/busses/*.o*
/lib/modules/%{_kernel_ver}/kernel/drivers/i2c/chips/*.o*
%if %{with smp}
-%files -n kernel-smp-i2c-%{name}
+%files -n kernel24-smp-i2c-%{name}
%defattr(644,root,root,755)
%dir /lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/busses
/lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/busses/*.o*