]> git.pld-linux.org Git - packages/lm_sensors.git/blob - lm_sensors.spec
- prepare fake .config even when no smp
[packages/lm_sensors.git] / lm_sensors.spec
1 #
2 # Conditional build:
3 %bcond_without  dist_kernel     # without kernel for distributions
4 %bcond_without  smp             # don't build SMP modules
5 %bcond_without  kernel          # build kernel 2.4 modules
6 %bcond_without  userspace       # don't build userspace utilities
7
8 %ifarch %{x8664}
9 %undefine with_kernel
10 %endif
11
12 %include        /usr/lib/rpm/macros.perl
13 Summary:        Hardware health monitoring
14 Summary(pl):    Monitor stanu sprzêtu
15 Summary(pt_BR): Ferramentas para monitoração do hardware
16 Summary(ru):    õÔÉÌÉÔÙ ÄÌÑ ÍÏÎÉÔÏÒÉÎÇÁ ÁÐÐÁÒÁÔÕÒÙ
17 Summary(uk):    õÔÉ̦ÔÉ ÄÌÑ ÍÏΦÔÏÒÉÎÇÕ ÁÐÁÒÁÔÕÒÉ
18 Name:           lm_sensors
19 Version:        2.9.1
20 %define _rel    2
21 Release:        %{_rel}
22 License:        GPL
23 Group:          Applications/System
24 Source0:        http://secure.netroedge.com/~lm78/archive/%{name}-%{version}.tar.gz
25 # Source0-md5:  f5af615e39441d95471bdb72a3f01709
26 Source1:        sensors.init
27 Source2:        sensors.sysconfig
28 Patch0:         %{name}-make.patch
29 Patch1:         %{name}-ppc.patch
30 Patch2:         %{name}-iconv-in-libc.patch
31 Patch3:         %{name}-sensors-detect-PATH.patch
32 Patch4:         %{name}-ipmi.patch
33 URL:            http://www.lm-sensors.nu/
34 BuildRequires:  rpmbuild(macros) >= 1.213
35 %if %{with userspace}
36 BuildRequires:  bison
37 BuildRequires:  flex >= 2.5.1
38 BuildRequires:  perl-modules >= 5.6
39 BuildRequires:  rpm-perlprov >= 3.0.3-16
40 BuildRequires:  rrdtool-devel
41 %endif
42 %if %{with kernel} && %{with dist_kernel}
43 BuildRequires:  kernel24-i2c-devel >= 2.9.0
44 BuildRequires:  kernel24-headers >= 2.4.0
45 BuildRequires:  kernel24-headers < 2.5.0
46 %endif
47 Requires:       dev >= 2.9.0-13
48 Requires:       dmidecode
49 Obsoletes:      liblm_sensors1
50 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51
52 %define         _kernelsrcdir           /usr/src/linux-2.4
53
54 %description
55 Tools for monitoring the hardware health of Linux systems containing
56 hardware health monitoring hardware such as the LM78 and LM75.
57
58 %description -l pl
59 Narzêdzie do monitorowania sprzêtu w systemach linuksowych
60 wyposa¿onych w sprzêt monitoruj±cy, taki jak LM78 lub LM75.
61
62 %description -l pt_BR
63 Ferramentas para monitoração do hardware. Contém uma coleção de
64 módulos para acesso genérico ao barramento SMBus e monitoração de
65 hardware.
66
67 %description -l ru
68 ðÁËÅÔ lm_sensors ÓÏÄÅÒÖÉÔ ÎÁÂÏÒ ÍÏÄÕÌÅÊ ÄÌÑ ÓÔÁÎÄÁÒÔÎÏÇÏ ÄÏÓÔÕÐÁ Ë
69 SMBus É ÍÏÎÉÔÏÒÉÎÇÁ. ÷îéíáîéå: ÄÌÑ ÜÔÏÇÏ ÎÅÏÂÈÏÄÉÍÁ ÓÐÅÃÉÁÌØÎÁÑ
70 ÐÏÄÄÅÒÖËÁ, ÏÔÓÕÔÓÔ×ÕÀÝÁÑ × ÓÔÁÎÄÁÒÔÎÙÈ ÓÔÁÒÙÈ ÑÄÒÁÈ 2.2.XX!
71
72 %description -l uk
73 ðÁËÅÔ lm_sensors Í¦ÓÔÉÔØ ÎÁ¦ҠÍÏÄÕ̦נÄÌÑ ÓÔÁÎÄÁÒÔÎÏÇÏ ÄÏÓÔÕÐÕ ÄÏ
74 SMBus ÔÁ ÍÏΦÔÏÒÉÎÇÕ. õ÷áçá: ÄÌÑ ÃØÏÇÏ ÐÏÔÒ¦ÂÎÁ ÓÐÅæÁÌØÎÁ Ð¦ÄÔÒÉÍËÁ,
75 ÑËÁ ×¦ÄÓÕÔÎÑ Õ ÓÔÁÎÄÁÒÔÎÉÈ ÓÔÁÒÉÈ ÑÄÒÁÈ 2.2.XX!
76
77 %package sensord
78 Summary:        Sensord daemon
79 Summary(pl):    Demon sensord
80 Group:          Daemons
81 PreReq:         rc-scripts
82 Requires(post,preun):   /sbin/chkconfig
83 Requires:       %{name} = %{version}-%{release}
84
85 %description sensord
86 Sensord daemon.
87
88 %description sensord -l pl
89 Demon sensord.
90
91 %package devel
92 Summary:        Header files for lm_sensors
93 Summary(pl):    Pliki nag³ówkowe dla lm_sensors
94 Summary(pt_BR): Arquivos necessários ao desenvolvimento de programas que usem o lm_sensors
95 Summary(ru):    æÁÊÌÙ ÒÁÚÒÁÂÏÔÞÉËÁ ÄÌÑ ÐÒÏÇÒÁÍÍ, ÉÓÐÏÌØÚÕÀÝÉÈ lm_sensors
96 Summary(uk):    æÁÊÌÉ ÐÒÏÇÒÁͦÓÔÁ ÄÌÑ ÐÒÏÇÒÁÍ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ lm_sensors
97 Group:          Development/Libraries
98 Requires:       %{name} = %{version}-%{release}
99 Obsoletes:      liblm_sensors1-devel
100
101 %description devel
102 Header files for lm_sensors.
103
104 %description devel -l pl
105 Pliki nag³ówkowe dla lm_sensors.
106
107 %description devel -l pt_BR
108 Arquivos necessários ao desenvolvimento de programas que usem o
109 lm_sensors.
110
111 %description devel -l ru
112 ðÁËÅÔ lm_sensors-devel ×ËÌÀÞÁÅÔ ÈÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ
113 ÐÏÓÔÒÏÅÎÉÑ ÐÒÏÇÒÁÍÍ, ÉÓÐÏÌØÚÕÀÝÉÈ ÄÁÎÎÙÅ ÓÅÎÓÏÒÏ×.
114
115 %description devel -l uk
116 ðÁËÅÔ lm_sensors-devel Í¦ÓÔÉÔØ ÈÅÄÅÒÉ ÔÁ Â¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ
117 ÐÏÂÕÄÏ×É ÐÒÏÇÒÁÍ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ ÄÁΦ ÓÅÎÓÏÒ¦×.
118
119 %package static
120 Summary:        Static libraries for lm_sensors
121 Summary(pl):    Biblioteki statyczne dla lm_sensors
122 Summary(pt_BR): Bibliotecas estáticas para desenvolvimento com lm_sensors
123 Summary(ru):    óÔÁÔÉÞÅÓËÁÑ ÂÉÂÌÉÏÔÅËÁ ÄÌÑ ÐÒÏÇÒÁÍÍ, ÉÓÐÏÌØÚÕÀÝÉÈ lm_sensors
124 Summary(uk):    óÔÁÔÉÞÎÁ Â¦Â̦ÏÔÅËÁ ÄÌÑ ÐÒÏÇÒÁÍ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ lm_sensors
125 Group:          Development/Libraries
126 Requires:       %{name}-devel = %{version}-%{release}
127
128 %description static
129 Static libraries for lm_sensors.
130
131 %description static -l pl
132 Biblioteki statyczne dla lm_sensors.
133
134 %description static -l pt_BR
135 Bibliotecas estáticas para desenvolvimento com lm_sensors
136
137 %description static -l ru
138 ðÁËÅÔ lm_sensors-static ×ËÌÀÞÁÅÔ ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ
139 ÄÌÑ ÐÏÓÔÒÏÅÎÉÑ ÐÒÏÇÒÁÍÍ, ÉÓÐÏÌØÚÕÀÝÉÈ ÄÁÎÎÙÅ ÓÅÎÓÏÒÏ×.
140
141 %description static -l uk
142 ðÁËÅÔ lm_sensors-static Í¦ÓÔÉÔØ ÓÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ
143 ÐÏÂÕÄÏ×É ÐÒÏÇÒÁÍ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ ÄÁΦ ÓÅÎÓÏÒ¦×.
144
145 %package -n kernel24-i2c-%{name}
146 Summary:        Kernel modules for various buses and monitor chips
147 Summary(pl):    Modu³y j±dra dla ró¿nego rodzaju sensorów
148 Group:          Applications/System
149 Release:        %{_rel}@%{_kernel_ver_str}
150 Requires(post,postun):  /sbin/depmod
151 %{?with_dist_kernel:%requires_releq_kernel_up}
152 %{?with_dist_kernel:Requires:   i2c >= 2.8.2}
153 Provides:       %{name}-modules = %{version}-%{release}
154 Obsoletes:      kernel-misc-lm_sensors
155
156 %description -n kernel24-i2c-%{name}
157 Kernel modules for various buses and monitor chips.
158
159 %description -n kernel24-i2c-%{name} -l pl
160 Modu³y j±dra dla ró¿nego rodzaju sensorów monitoruj±cych.
161
162 %package -n kernel24-smp-i2c-%{name}
163 Summary:        Kernel modules for various buses and monitor chips
164 Summary(pl):    Modu³y j±dra dla ró¿nego rodzaju sensorów
165 Group:          Applications/System
166 Release:        %{_rel}@%{_kernel_ver_str}
167 Requires(post,postun):  /sbin/depmod
168 %{?with_dist_kernel:%requires_releq_kernel_smp}
169 %{?with_dist_kernel:Requires:   i2c >= 2.8.2}
170 Provides:       %{name}-modules = %{version}-%{release}
171 Obsoletes:      kernel-smp-misc-lm_sensors
172
173 %description -n kernel24-smp-i2c-%{name}
174 Kernel SMP modules for various buses and monitor chips.
175
176 %description -n kernel24-smp-i2c-%{name} -l pl
177 Modu³y j±dra SMP dla ró¿nego rodzaju sensorów monitoruj±cych.
178
179 %prep
180 %setup -q
181 %patch0 -p1
182 %patch1 -p1
183 %patch2 -p1
184 %patch3 -p1
185 %patch4 -p1
186
187 %build
188 %if %{with kernel}
189 # workaround to avoid unresolved dmi* symbols in i2c-piix4.o
190 install -d fakelinux
191 :> fakelinux/.config
192 %ifarch %{ix86}
193 echo 'CONFIG_X86=y' >> fakelinux/.config
194 %endif
195 %ifarch %{ix86} %{x8664} alpha ppc
196 echo 'CONFIG_IPMI_HANDLER=m' >> fakelinux/.config
197 %endif
198
199 %if %{with smp}
200 # SMP
201 %{__make} all-kernel-busses all-kernel-chips \
202         CC="%{kgcc}" \
203         OPTS="%{rpmcflags} -D__KERNEL_SMP=1" \
204         LINUX=`pwd`/fakelinux \
205         LINUX_HEADERS=%{_kernelsrcdir}/include \
206         I2C_HEADERS=%{_kernelsrcdir}/include \
207         SMP=1
208
209 %{__make} install-kernel-busses install-kernel-chips \
210         MODPREF=kernel-smp-modules \
211         LINUX=`pwd`/fakelinux \
212         LINUX_HEADERS=%{_kernelsrcdir}/include \
213         I2C_HEADERS=%{_kernelsrcdir}/include \
214         SMP=1
215
216 %{__make} clean
217 %endif
218
219 # UP
220 %{__make} all-kernel-busses all-kernel-chips \
221         CC="%{kgcc}" \
222         OPTS="%{rpmcflags}" \
223         LINUX=`pwd`/fakelinux \
224         LINUX_HEADERS=%{_kernelsrcdir}/include \
225         I2C_HEADERS=%{_kernelsrcdir}/include \
226         SMP=0
227 %endif
228
229 %if %{with userspace}
230 %{__make} user \
231         CC="%{__cc}" \
232         OPTS="%{rpmcflags}" \
233         LIBDIR=%{_libdir} \
234         LINUX=/dev/null \
235         LINUX_HEADERS=%{_kernelsrcdir}/include \
236         I2C_HEADERS=/usr/include \
237         PROG_EXTRA:="sensord"
238
239 %{__make} -C prog/eepromer \
240         CC="%{__cc}" \
241         CFLAGS="%{rpmcflags} -I../../kernel/include"
242 %endif
243
244 %install
245 rm -rf $RPM_BUILD_ROOT
246
247 %if %{with kernel}
248 %{__make} install-kernel-busses install-kernel-chips \
249         DESTDIR=$RPM_BUILD_ROOT \
250         MODPREF=/lib/modules/%{_kernel_ver} \
251         LINUX=`pwd`/fakelinux \
252         LINUX_HEADERS=%{_kernelsrcdir}/include \
253         I2C_HEADERS=%{_kernelsrcdir}/include \
254         SMP=0
255 %endif
256
257 %if %{with userspace}
258 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8} \
259         $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
260
261 %{__make} user_install \
262         DESTDIR=$RPM_BUILD_ROOT \
263         PREFIX=%{_prefix} \
264         ETCDIR=%{_sysconfdir} \
265         LIBDIR=%{_libdir} \
266         MANDIR=%{_mandir} \
267         PROG_EXTRA:="sensord" \
268         LINUX=/dev/null \
269         LINUX_HEADERS=%{_kernelsrcdir}/include \
270         I2C_HEADERS=/usr/include
271
272 install prog/eepromer/{eeprom,eepromer} $RPM_BUILD_ROOT%{_sbindir}
273
274 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sensors
275 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/sensors
276
277 # i2c API for userspace - included in glibc-kernel-headers
278 rm -f $RPM_BUILD_ROOT%{_includedir}/linux/i2c-dev.h
279 %endif
280
281 %if %{with kernel} && %{with smp}
282 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/{busses,chips}
283 install kernel-smp-modules/kernel/drivers/i2c/busses/*.o \
284         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/busses
285 install kernel-smp-modules/kernel/drivers/i2c/chips/*.o \
286         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/chips
287 %endif
288
289 %clean
290 rm -rf $RPM_BUILD_ROOT
291
292 %post   -p /sbin/ldconfig
293 %postun -p /sbin/ldconfig
294
295 %post sensord
296 /sbin/chkconfig --add sensors
297 if [ -f /var/lock/subsys/sensors ]; then
298         /etc/rc.d/init.d/sensors restart >&2
299 else
300         echo "You have to configure sensors modules in /etc/sysconfig/sensors"
301         echo
302         echo "Run \"/etc/rc.d/init.d/sensors start\" to start sensors daemon." >&2
303 fi
304
305 %preun sensord
306 if [ "$1" = "0" ]; then
307         if [ -f /var/lock/subsys/sensors ]; then
308                 /etc/rc.d/init.d/sensors stop >&2
309         fi
310         /sbin/chkconfig --del sensors
311 fi
312
313 %post   -n kernel24-i2c-%{name}
314 %depmod %{_kernel_ver}
315
316 %postun -n kernel24-i2c-%{name}
317 %depmod %{_kernel_ver}
318
319 %post   -n kernel24-smp-i2c-%{name}
320 %depmod %{_kernel_ver}smp
321
322 %postun -n kernel24-smp-i2c-%{name}
323 %depmod %{_kernel_ver}smp
324
325 %if %{with userspace}
326 %files
327 %defattr(644,root,root,755)
328 %doc BACKGROUND BUGS CHANGES README README.thinkpad TODO doc/{busses,chips}
329 %doc doc/{FAQ,donations,fan-divisors,progs,temperature-sensors,*html,vid}
330 %doc prog/{config,daemon,eepromer/README*,matorb,maxilife}
331 %attr(755,root,root) %{_bindir}/ddcmon
332 %attr(755,root,root) %{_bindir}/decode-*.pl
333 %attr(755,root,root) %{_bindir}/sensors
334 %attr(755,root,root) %{_sbindir}/sensors-detect
335 %attr(755,root,root) %{_sbindir}/eeprom*
336 %attr(755,root,root) %{_sbindir}/fancontrol
337 %attr(755,root,root) %{_sbindir}/i2c*
338 %ifarch %{ix86} %{x8664}
339 %attr(755,root,root) %{_sbindir}/isadump
340 %attr(755,root,root) %{_sbindir}/isaset
341 %{_mandir}/man8/isadump.8*
342 %{_mandir}/man8/isaset.8*
343 %endif
344 %attr(755,root,root) %{_sbindir}/pwmconfig
345 %attr(755,root,root) %{_libdir}/lib*.so.*.*
346 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sensors.conf
347 %{_mandir}/man1/sensors.1*
348 %{_mandir}/man5/sensors.conf.5*
349 %{_mandir}/man8/fancontrol.8*
350 %{_mandir}/man8/i2c*.8*
351 %{_mandir}/man8/pwmconfig.8*
352 %{_mandir}/man8/sensors-detect.8*
353
354 %files sensord
355 %defattr(644,root,root,755)
356 %attr(754,root,root) %{_sbindir}/sensord
357 %attr(754,root,root) /etc/rc.d/init.d/sensors
358 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sensors
359 %{_mandir}/man8/sensord.8*
360
361 %files devel
362 %defattr(644,root,root,755)
363 %doc doc/{developers,kernel}
364 %attr(755,root,root) %{_libdir}/lib*.so
365 %{_includedir}/sensors
366 %{_includedir}/linux/sensors.h
367 %{_mandir}/man3/*
368
369 %files static
370 %defattr(644,root,root,755)
371 %{_libdir}/libsensors.a
372 %endif
373
374 %if %{with kernel}
375 %files -n kernel24-i2c-%{name}
376 %defattr(644,root,root,755)
377 %dir /lib/modules/%{_kernel_ver}/kernel/drivers/i2c/busses
378 /lib/modules/%{_kernel_ver}/kernel/drivers/i2c/busses/*.o*
379 %dir /lib/modules/%{_kernel_ver}/kernel/drivers/i2c/chips
380 /lib/modules/%{_kernel_ver}/kernel/drivers/i2c/chips/*.o*
381
382 %if %{with smp}
383 %files -n kernel24-smp-i2c-%{name}
384 %defattr(644,root,root,755)
385 %dir /lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/busses
386 /lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/busses/*.o*
387 %dir /lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/chips
388 /lib/modules/%{_kernel_ver}smp/kernel/drivers/i2c/chips/*.o*
389 %endif
390 %endif
This page took 0.081913 seconds and 3 git commands to generate.