]> git.pld-linux.org Git - packages/lm_sensors.git/blobdiff - lm_sensors.spec
- don't build kernel modules by default (modules are in kernel)
[packages/lm_sensors.git] / lm_sensors.spec
index 668e0e10c922fb1990c200a95f2170b8734822db..c12aa24972192654cdd59db1399c10771fc7fe49 100644 (file)
@@ -1,38 +1,46 @@
 #
 # Conditional build:
-# _without_dist_kernel         without kernel for distributions
-# _without_smp                  without build smp package
+%bcond_without dist_kernel     # without kernel for distributions
+%bcond_without smp             # don't build SMP modules
+%bcond_with    kernel          # build kernel modules
+%bcond_without userspace       # don't build userspace utilities
 #
 %include       /usr/lib/rpm/macros.perl
-
 Summary:       Hardware health monitoring
 Summary(pl):   Monitor stanu sprzêtu
 Summary(pt_BR):        Ferramentas para monitoração do hardware
 Summary(ru):   õÔÉÌÉÔÙ ÄÌÑ ÍÏÎÉÔÏÒÉÎÇÁ ÁÐÐÁÒÁÔÕÒÙ
 Summary(uk):   õÔÉ̦ÔÉ ÄÌÑ ÍÏΦÔÏÒÉÎÇÕ ÁÐÁÒÁÔÕÒÉ
 Name:          lm_sensors
-Version:       2.7.0
+Version:       2.8.7
 %define _rel   1
 Release:       %{_rel}
 License:       GPL
 Group:         Applications/System
 Source0:       http://secure.netroedge.com/~lm78/archive/%{name}-%{version}.tar.gz
+# Source0-md5: 64b4a4f547b2e1eab8a574d871867ca5
 Source1:       sensors.init
 Source2:       sensors.sysconfig
 Patch0:                %{name}-make.patch
 Patch1:                %{name}-ppc.patch
+Patch2:                %{name}-iconv-in-libc.patch
+Patch3:                %{name}-gcc34.patch
 URL:           http://www.lm-sensors.nu/
 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
-%{!?_without_dist_kernel:BuildRequires:        i2c-devel >= 2.7.0}
+%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
+%endif
+Requires:      dmidecode
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 Obsoletes:     liblm_sensors1
 
-%define                _kernel24       %(echo %{_kernel_ver} | grep -q '2\.[012]\.' ; echo $?)
-
 %description
 Tools for monitoring the hardware health of Linux systems containing
 hardware health monitoring hardware such as the LM78 and LM75.
@@ -60,8 +68,9 @@ SMBus 
 Summary:       Sensord daemon
 Summary(pl):   Demon sensord
 Group:         Daemons
+PreReq:                rc-scripts
 Requires(post,preun):  /sbin/chkconfig
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
 
 %description sensord
 Sensord daemon.
@@ -76,7 +85,7 @@ Summary(pt_BR):       Arquivos necess
 Summary(ru):   æÁÊÌÙ ÒÁÚÒÁÂÏÔÞÉËÁ ÄÌÑ ÐÒÏÇÒÁÍÍ, ÉÓÐÏÌØÚÕÀÝÉÈ lm_sensors
 Summary(uk):   æÁÊÌÉ ÐÒÏÇÒÁͦÓÔÁ ÄÌÑ ÐÒÏÇÒÁÍ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ lm_sensors
 Group:         Development/Libraries
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
 Obsoletes:     liblm_sensors1-devel
 
 %description devel
@@ -104,7 +113,7 @@ Summary(pt_BR):     Bibliotecas est
 Summary(ru):   óÔÁÔÉÞÅÓËÁÑ ÂÉÂÌÉÏÔÅËÁ ÄÌÑ ÐÒÏÇÒÁÍÍ, ÉÓÐÏÌØÚÕÀÝÉÈ lm_sensors
 Summary(uk):   óÔÁÔÉÞÎÁ Â¦Â̦ÏÔÅËÁ ÄÌÑ ÐÒÏÇÒÁÍ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ lm_sensors
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}
+Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
 Static libraries for lm_sensors.
@@ -123,51 +132,53 @@ Bibliotecas est
 ðÁËÅÔ lm_sensors-static Í¦ÓÔÉÔØ ÓÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ
 ÐÏÂÕÄÏ×É ÐÒÏÇÒÁÍ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ ÄÁΦ ÓÅÎÓÏÒ¦×.
 
-%package -n kernel-misc-%{name}
+%package -n kernel-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
-%{!?_without_dist_kernel:%requires_releq_kernel_up}
-%{!?_without_dist_kernel:Requires:     i2c >= 2.7.0}
-Provides:      %{name}-modules = %{version}
+%{?with_dist_kernel:%requires_releq_kernel_up}
+%{?with_dist_kernel:Requires:  kernel-i2c >= 2.8.2}
+Provides:      %{name}-modules = %{version}-%{release}
 Obsoletes:     %{name}-modules
+Obsoletes:     kernel-misc-lm_sensors
 
-%description -n kernel-misc-%{name}
+%description -n kernel-i2c-%{name}
 Kernel modules for various buses and monitor chips.
 
-%description -n kernel-misc-%{name} -l pl
+%description -n kernel-i2c-%{name} -l pl
 Modu³y j±dra dla ró¿nego rodzaju sensorów monitoruj±cych.
 
-%package -n kernel-smp-misc-%{name}
+%package -n kernel-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
-%{!?_without_dist_kernel:%requires_releq_kernel_smp}
-%{!?_without_dist_kernel:Requires:     i2c >= 2.7.0}
-Provides:      %{name}-modules = %{version}
+%{?with_dist_kernel:%requires_releq_kernel_smp}
+%{?with_dist_kernel:Requires:  kernel-smp-i2c >= 2.8.2}
+Provides:      %{name}-modules = %{version}-%{release}
 Obsoletes:     %{name}-modules
+Obsoletes:     kernel-smp-misc-lm_sensors
 
-%description -n kernel-smp-misc-%{name}
+%description -n kernel-smp-i2c-%{name}
 Kernel SMP modules for various buses and monitor chips.
 
-%description -n kernel-smp-misc-%{name} -l pl
+%description -n kernel-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
 
 %build
-
-%if %{?_without_smp:0}%{!?_without_smp:1}
-
-#smp
-%{__make} \
+%if %{with kernel} && %{with smp}
+# SMP
+%{__make} all-kernel-busses all-kernel-chips \
        CC="%{kgcc}" \
        OPTS="%{rpmcflags} -D__KERNEL_SMP=1" \
        LINUX=/dev/null \
@@ -175,79 +186,85 @@ Modu
        I2C_HEADERS=%{_kernelsrcdir}/include \
        SMP=1
 
-
-%{__make} install-kernel \
-       MODDIR=kernel-smp-modules \
-       CC="%{kgcc}" \
-       OPTS="%{rpmcflags}" \
+%{__make} install-kernel-busses install-kernel-chips \
+       MODPREF=kernel-smp-modules \
        LINUX=/dev/null \
        LINUX_HEADERS=%{_kernelsrcdir}/include \
        I2C_HEADERS=%{_kernelsrcdir}/include \
        SMP=1
-%{__make} install-kernel-busses \
-       MODPREF=kernel-smp-modules
+
+%{__make} clean
+%endif
+
+%if %{with kernel}
+# UP
+%{__make} all-kernel-busses all-kernel-chips \
        CC="%{kgcc}" \
        OPTS="%{rpmcflags}" \
        LINUX=/dev/null \
        LINUX_HEADERS=%{_kernelsrcdir}/include \
        I2C_HEADERS=%{_kernelsrcdir}/include \
-       SMP=1
-%{__make} install-kernel-chips \
-       MODPREF=kernel-smp-modules
-       CC="%{kgcc}" \
+       SMP=0
+%endif
+
+%if %{with userspace}
+%{__make} user \
+       CC="%{__cc}" \
        OPTS="%{rpmcflags}" \
+       LIBDIR=%{_libdir} \
        LINUX=/dev/null \
        LINUX_HEADERS=%{_kernelsrcdir}/include \
-       I2C_HEADERS=%{_kernelsrcdir}/include \
-       SMP=1
-
-%{__make} clean
+       I2C_HEADERS=/usr/include \
+       PROG_EXTRA:="sensord"
 
+%{__make} -C prog/eepromer \
+       CC="%{__cc}" \
+       CFLAGS="%{rpmcflags} -I../../kernel/include"
 %endif
 
-#up
-%{__make} \
-       CC="%{kgcc}" \
-       OPTS="%{rpmcflags}" \
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%if %{with kernel}
+%{__make} install-kernel-busses install-kernel-chips \
+       DESTDIR=$RPM_BUILD_ROOT \
+       MODPREF=/lib/modules/%{_kernel_ver} \
        LINUX=/dev/null \
        LINUX_HEADERS=%{_kernelsrcdir}/include \
        I2C_HEADERS=%{_kernelsrcdir}/include \
-       PROG_EXTRA:="sensord dump" \
        SMP=0
+%endif
 
-cd prog/eepromer
-%{__make}
-
-
-%install
-rm -rf $RPM_BUILD_ROOT
+%if %{with userspace}
 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8} \
-       $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig},/lib/modules/%{_kernel_ver}smp/misc}
+       $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
 
-%{__make} install \
+%{__make} user_install \
        DESTDIR=$RPM_BUILD_ROOT \
        PREFIX=%{_prefix} \
        ETCDIR=%{_sysconfdir} \
+       LIBDIR=%{_libdir} \
        MANDIR=%{_mandir} \
-       PROG_EXTRA:="sensord dump" \
-       MODDIR=/lib/modules/%{_kernel_ver}/misc \
-       MODPREF=/lib/modules/%{_kernel_ver}
-       CC="%{kgcc}" \
-       OPTS="%{rpmcflags} -D__KERNEL_SMP=1" \
+       PROG_EXTRA:="sensord" \
        LINUX=/dev/null \
        LINUX_HEADERS=%{_kernelsrcdir}/include \
-       I2C_HEADERS=%{_kernelsrcdir}/include \
-       SMP=0
+       I2C_HEADERS=/usr/include
 
 install prog/eepromer/{eeprom,eepromer}        $RPM_BUILD_ROOT%{_sbindir}
-install prog/dump/{i2c{dump,set},isadump} $RPM_BUILD_ROOT%{_sbindir}
-install prog/detect/i2cdetect $RPM_BUILD_ROOT%{_sbindir}
 
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sensors
 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/sensors
 
-%if %{?_without_smp:0}%{!?_without_smp:1}
-install kernel-smp-modules/misc/* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc
+# i2c API for userspace - included in glibc-kernel-headers
+rm -f $RPM_BUILD_ROOT%{_includedir}/linux/i2c-dev.h
+%endif
+
+%if %{with kernel} && %{with smp}
+install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/{busses,chips}
+install kernel-smp-modules/kernel/drivers/i2c/busses/*.o \
+       $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/busses
+install kernel-smp-modules/kernel/drivers/i2c/chips/*.o \
+       $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/chips
 %endif
 
 %clean
@@ -274,61 +291,76 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del sensors
 fi
 
-%post  -n kernel-misc-%{name}
-/sbin/depmod -a %{!?_without_dist_kernel:-F /boot/System.map-%{_kernel_ver} }%{_kernel_ver}
+%post  -n kernel-i2c-%{name}
+%depmod %{_kernel_ver}
 
-%postun -n kernel-misc-%{name}
-/sbin/depmod -a %{!?_without_dist_kernel:-F /boot/System.map-%{_kernel_ver} }%{_kernel_ver}
+%postun -n kernel-i2c-%{name}
+%depmod %{_kernel_ver}
 
-%post  -n kernel-smp-misc-%{name}
-/sbin/depmod -a %{!?_without_dist_kernel:-F /boot/System.map-%{_kernel_ver}smp }%{_kernel_ver}smp
+%post  -n kernel-smp-i2c-%{name}
+%depmod %{_kernel_ver}smp
 
-%postun -n kernel-smp-misc-%{name}
-/sbin/depmod -a %{!?_without_dist_kernel:-F /boot/System.map-%{_kernel_ver}smp }%{_kernel_ver}smp
+%postun -n kernel-smp-i2c-%{name}
+%depmod %{_kernel_ver}smp
 
+%if %{with userspace}
 %files
 %defattr(644,root,root,755)
 %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,eeprom,eepromer/README*,matorb,maxilife,xeon}
+%doc prog/{config,daemon,eepromer/README*,matorb,maxilife}
+%attr(755,root,root) %{_bindir}/decode-*.pl
 %attr(755,root,root) %{_bindir}/sensors
 %attr(755,root,root) %{_sbindir}/sensors-detect
-%if %{_kernel24}
-%attr(755,root,root) %{_sbindir}/dmidecode
-%endif
 %attr(755,root,root) %{_sbindir}/eeprom*
+%attr(755,root,root) %{_sbindir}/fancontrol
 %attr(755,root,root) %{_sbindir}/i2c*
+%ifarch %{ix86} amd64
 %attr(755,root,root) %{_sbindir}/isadump
+%{_mandir}/man8/isadump.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/*
+%{_mandir}/man1/sensors.1*
+%{_mandir}/man5/sensors.conf.5*
+%{_mandir}/man8/i2c*.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/*
+%{_mandir}/man8/sensord.8*
 
 %files devel
 %defattr(644,root,root,755)
 %doc doc/{developers,kernel}
 %attr(755,root,root) %{_libdir}/lib*.so
 %{_includedir}/sensors
-%{_includedir}/linux/*
+%{_includedir}/linux/sensors.h
 %{_mandir}/man3/*
 
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libsensors.a
+%endif
 
-%files -n kernel-misc-%{name}
+%if %{with kernel}
+%files -n kernel-i2c-%{name}
 %defattr(644,root,root,755)
-/lib/modules/%{_kernel_ver}/misc/*
+%dir /lib/modules/%{_kernel_ver}/kernel/drivers/i2c/busses
+/lib/modules/%{_kernel_ver}/kernel/drivers/i2c/busses/*.o*
+%dir /lib/modules/%{_kernel_ver}/kernel/drivers/i2c/chips
+/lib/modules/%{_kernel_ver}/kernel/drivers/i2c/chips/*.o*
 
-%if %{?_without_smp:0}%{!?_without_smp:1}
-%files -n kernel-smp-misc-%{name}
+%if %{with smp}
+%files -n kernel-smp-i2c-%{name}
 %defattr(644,root,root,755)
-/lib/modules/%{_kernel_ver}smp/misc/*
+%dir /lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/busses
+/lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/busses/*.o*
+%dir /lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/chips
+/lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/chips/*.o*
+%endif
 %endif
This page took 0.145196 seconds and 4 git commands to generate.