# conditional build
# _without_dist_kernel without kernel for distributions
-
-# TODO: init script for loading sensors modules and sensord
-
-%define _kernel_ver %(grep UTS_RELEASE %{_kernelsrcdir}/include/linux/version.h 2>/dev/null | cut -d'"' -f2)
-%define _kernel_ver_str %(echo %{_kernel_ver} | sed s/-/_/g)
-%define smpstr %{?_with_smp:-smp}
-%define smp %{?_with_smp:1}%{!?_with_smp:0}
+%include /usr/lib/rpm/macros.perl
+%define _rel 2
Summary: Hardware health monitoring
Summary(pl): Monitor stanu sprzêtu
+Summary(pt_BR): Ferramentas para monitoração do hardware
Name: lm_sensors
-Version: 2.6.1
-Release: 2
+Version: 2.6.3
+Release: %{_rel}
License: GPL
Group: Applications/System
-Group(de): Applikationen/System
-Group(pl): Aplikacje/System
-Source0: http://www.netroedge.com/~lm78/archive/%{name}-%{version}.tar.gz
+Source0: http://secure.netroedge.com/~lm78/archive/%{name}-%{version}.tar.gz
+Source1: sensors.init
+Source2: sensors.sysconfig
Patch0: %{name}-make.patch
-URL: http://www.netroedge.com/~lm78/
+URL: http://www.lm-sensors.nu/
+BuildRequires: bison
BuildRequires: flex >= 2.5.1
-BuildRequires: i2c-devel >= 2.6.0
-Requires: %{name}-modules = %{version}
+BuildRequires: perl-modules >= 5.6
+BuildRequires: rpm-perlprov >= 3.0.3-16
+%{!?_without_dist_kernel:BuildRequires: i2c-devel >= 2.6.0}
+PreReq: /sbin/chkconfig
+PreReq: /sbin/ldconfig
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Obsoletes: liblm_sensors1
%description
Tools for monitoring the hardware health of Linux systems containing
hardware health monitoring hardware such as the LM78 and LM75.
%description -l pl
-Narzêdzie do monitorowania sprzêtu w systemach Linuxowych wyposa¿onych
-w sprzêt monitoruj±cy, taki jak LM78 lub LM75.
+Narzêdzie do monitorowania sprzêtu w systemach Linuksowych
+wyposa¿onych w sprzêt monitoruj±cy, taki jak LM78 lub LM75.
+
+%description -l pt_BR
+Ferramentas para monitoração do hardware. Contém uma coleção de
+módulos para acesso genérico ao barramento SMBus e monitoração de
+hardware.
%package devel
Summary: Header files for lm_sensors
Summary(pl): Pliki nag³ówkowe dla lm_sensors
+Summary(pt_BR): Arquivos necessários ao desenvolvimento de programas que usem o lm_sensors
Group: Development/Libraries
-Group(de): Entwicklung/Libraries
-Group(es): Desarrollo/Bibliotecas
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
-Group(pt_BR): Desenvolvimento/Bibliotecas
-Group(ru): òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
-Group(uk): òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
Requires: %{name} = %{version}
+Obsoletes: liblm_sensors1-devel
%description devel
Header files for lm_sensors.
%description devel -l pl
Pliki nag³ówkowe dla lm_sensors.
+%description devel -l pt_BR
+Arquivos necessários ao desenvolvimento de programas que usem o
+lm_sensors.
+
%package static
Summary: Static libraries for lm_sensors
Summary(pl): Biblioteki statyczne dla lm_sensors
+Summary(pt_BR): Bibliotecas estáticas para desenvolvimento com lm_sensors
Group: Development/Libraries
-Group(de): Entwicklung/Libraries
-Group(es): Desarrollo/Bibliotecas
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
-Group(pt_BR): Desenvolvimento/Bibliotecas
-Group(ru): òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
-Group(uk): òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
Requires: %{name}-devel = %{version}
%description static
%description static -l pl
Biblioteki statyczne dla lm_sensors.
-%package -n kernel%{smpstr}-misc-lm_sensors
+%description static -l pt_BR
+Bibliotecas estáticas para desenvolvimento com lm_sensors
+
+%package -n kernel-misc-%{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
-Group(de): Applikationen/System
-Group(pl): Aplikacje/System
-Release: %{release}@%{_kernel_ver_str}
+Release: %{_rel}@%{_kernel_ver_str}
Prereq: /sbin/depmod
-Requires: i2c >= 2.6.0
-%{?!_without_dist_kernel:Conflicts: kernel < %{_kernel_ver}, kernel > %{_kernel_ver}}
-%{?!_without_dist_kernel:Conflicts: kernel-%{?_with_smp:up}%{!?_with_smp:smp}}
-Obsoletes: lm_sensors-modules
-Provides: lm_sensors-modules = %{version}
+%{!?_without_dist_kernel:%requires_releq_kernel_up}
+%{!?_without_dist_kernel:Requires: i2c >= 2.6.0}
+Provides: %{name}-modules = %{version}
+Obsoletes: %{name}-modules
-%description -n kernel%{smpstr}-misc-lm_sensors
+%description -n kernel-misc-%{name}
Kernel modules for various buses and monitor chips.
-%description -n kernel%{smpstr}-misc-lm_sensors -l pl
+%description -n kernel-misc-%{name} -l pl
Modu³y j±dra dla ró¿nego rodzaju sensorów monitoruj±cych.
+%package -n kernel-smp-misc-%{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}
+Prereq: /sbin/depmod
+%{!?_without_dist_kernel:%requires_releq_kernel_smp}
+%{!?_without_dist_kernel:Requires: i2c >= 2.6.0}
+Provides: %{name}-modules = %{version}
+Obsoletes: %{name}-modules
+
+%description -n kernel-smp-misc-%{name}
+Kernel SMP modules for various buses and monitor chips.
+
+%description -n kernel-smp-misc-%{name} -l pl
+Modu³y j±dra SMP dla ró¿nego rodzaju sensorów monitoruj±cych.
+
%prep
%setup -q
%patch0 -p1
%build
-%if %{smp}
-SMP="-D__KERNEL_SMP=1"
-%endif
+#up
%{__make} \
- OPTS="%{rpmcflags} $SMP" \
+ OPTS="%{rpmcflags}" \
LINUX=/dev/null \
LINUX_HEADERS=%{_kernelsrcdir}/include \
I2C_HEADERS=%{_kernelsrcdir}/include \
- SMP=%{smp}
+ SMP=0
+
+%{__make} install-kernel \
+ MODDIR=kernel-up-modules
+%{__make} install-kernel-busses \
+ MODDIR=kernel-up-modules
+%{__make} install-kernel-chips \
+ MODDIR=kernel-up-modules
+
+%{__make} clean
+
+#smp
+%{__make} \
+ OPTS="%{rpmcflags} -D__KERNEL_SMP=1" \
+ LINUX=/dev/null \
+ LINUX_HEADERS=%{_kernelsrcdir}/include \
+ I2C_HEADERS=%{_kernelsrcdir}/include \
+ SMP=1
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8} \
+ $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig},/lib/modules/%{_kernel_ver}/misc}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
PREFIX=%{_prefix} \
ETCDIR=%{_sysconfdir} \
MANDIR=%{_mandir} \
- MODDIR=/lib/modules/%{_kernel_ver}/misc
+ MODDIR=/lib/modules/%{_kernel_ver}smp/misc
-install -d $RPM_BUILD_ROOT%{_sbindir}
-install -d $RPM_BUILD_ROOT%{_mandir}/man8
install prog/sensord/sensord $RPM_BUILD_ROOT%{_sbindir}
install prog/sensord/sensord.8 $RPM_BUILD_ROOT%{_mandir}/man8
-gzip -9nf BACKGROUND BUGS CHANGES README README.thinkpad TODO
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sensors
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/sensors
+
+install kernel-up-modules/* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc
+
find doc -type f ! -name \*.\* -a ! -name \*ticket | xargs gzip -9nf
%clean
rm -rf $RPM_BUILD_ROOT
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post
+/sbin/ldconfig
+/sbin/chkconfig --add sensors
+if [ -f /var/lock/subsys/sensors ]; then
+ /etc/rc.d/init.d/sensors restart >&2
+else
+ echo "You have to configure sensors modules."
+ echo "Please edit /etc/sysconfig/sensors file according to your hardware."
+ echo
+ echo "Run \"/etc/rc.d/init.d/sensors start\" to start sensors daemon." >&2
+fi
+
+%preun
+if [ "$1" = "0" ]; then
+ if [ -f /var/lock/subsys/sensors ]; then
+ /etc/rc.d/init.d/sensors stop >&2
+ fi
+ /sbin/chkconfig --del sensors
+fi
+
+%postun -p /sbin/ldconfig
+
+%post -n kernel-misc-%{name}
+/sbin/depmod -a
+
+%post -n kernel-smp-misc-%{name}
+/sbin/depmod -a
-%post -n kernel%{smpstr}-misc-lm_sensors
+%postun -n kernel-misc-%{name}
/sbin/depmod -a
-%postun -n kernel%{smpstr}-misc-lm_sensors
+%postun -n kernel-smp-misc-%{name}
/sbin/depmod -a
-%files
+%files
%defattr(644,root,root,755)
-%doc *.gz
-%doc doc/*.gz doc/*.html doc/busses doc/chips
+%doc BACKGROUND BUGS CHANGES README README.thinkpad TODO doc/[^k]*
%attr(755,root,root) %{_bindir}/sensors
%attr(755,root,root) %{_sbindir}/sensors-detect
-%attr(755,root,root) %{_sbindir}/sensord
+%attr(754,root,root) %{_sbindir}/sensord
+%attr(754,root,root) /etc/rc.d/init.d/sensors
%attr(755,root,root) %{_libdir}/lib*.so.*.*
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/sensors.conf
+%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/sensors
%{_mandir}/man1/*
%{_mandir}/man5/*
+%{_mandir}/man8/*
%files devel
%defattr(644,root,root,755)
%doc doc/developers doc/kernel
-%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/lib*.so
%{_includedir}/sensors
%{_includedir}/linux/*
%defattr(644,root,root,755)
%{_libdir}/libsensors.a
-%files -n kernel%{smpstr}-misc-lm_sensors
+%files -n kernel-misc-%{name}
+%defattr(644,root,root,755)
+/lib/modules/%{_kernel_ver}/misc/*
+
+%files -n kernel-smp-misc-%{name}
%defattr(644,root,root,755)
-/lib/modules/*/misc/*
+/lib/modules/%{_kernel_ver}smp/misc/*