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