]> git.pld-linux.org Git - packages/nut.git/blob - nut.spec
- release 4
[packages/nut.git] / nut.spec
1 # TODO:
2 #       - upsdrvctl (used by ups.init) doesn't recognize status and reload commands
3 #
4 # Conditional build:
5 %bcond_without  usb                     # build without usb drivers
6 %bcond_with     hal                     # build with hal support (DEPRECATED)
7 %bcond_without  snmp                    # build without snmp driver
8 %bcond_without  cgi                     # build without cgi support
9 %bcond_without  neon                    # build with neon based XML/HTTP driver
10 #
11 Summary:        Network UPS Tools
12 Summary(pl.UTF-8):      Sieciowe narzędzie do UPS-ów
13 Name:           nut
14 Version:        2.6.1
15 Release:        4
16 License:        GPL
17 Group:          Applications/System
18 Source0:        http://www.networkupstools.org/source/2.6/%{name}-%{version}.tar.gz
19 # Source0-md5:  89e6405272cc82c53d7b84160945761b
20 Source1:        %{name}.init
21 Source2:        %{name}.sysconfig
22 Source3:        %{name}-upsmon.init
23 Source4:        %{name}.sysconfig.upsmon
24 Patch0:         %{name}-client.patch
25 Patch1:         %{name}-config.patch
26 Patch2:         %{name}-smartdp-load.patch
27 Patch3:         %{name}-upssched-cmd-sysconf.patch
28 Patch4:         %{name}-matrix.patch
29 Patch5:         %{name}-more_models.patch
30 URL:            http://www.networkupstools.org/
31 BuildRequires:  autoconf
32 BuildRequires:  automake
33 %{?with_hal:BuildRequires:      dbus-glib-devel}
34 %{?with_cgi:BuildRequires:      gd-devel >= 2.0.15}
35 %{?with_hal:BuildRequires:      hal-devel >= 0.5.8}
36 BuildRequires:  libtool
37 %{?with_usb:BuildRequires:      libusb-compat-devel}
38 BuildRequires:  libwrap-devel
39 %{?with_neon:BuildRequires:     neon-devel}
40 %{?with_snmp:BuildRequires:     net-snmp-devel}
41 BuildRequires:  openssl-devel >= 0.9.7d
42 BuildRequires:  pkgconfig
43 BuildRequires:  rpmbuild(macros) >= 1.268
44 Requires(post,preun):   /sbin/chkconfig
45 Requires:       %{name}-common = %{version}-%{release}
46 Requires:       rc-scripts
47 Obsoletes:      smartupstools
48 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
50 %define         _sysconfdir     /etc/ups
51 %define         _udevrulesdir   /etc/udev/rules.d
52
53 %description
54 These programs are part of a developing project to monitor the
55 assortment of UPSes that are found out there in the field. Many models
56 have serial serial ports of some kind that allow some form of state
57 checking. This capability has been harnessed where possible to allow
58 for safe shutdowns, live status tracking on web pages, and more.
59
60 %description -l pl.UTF-8
61 Te programy są częścią projektu do monitorowania wielu UPS-ów w jakimś
62 otoczeniu. Wiele modeli ma porty szeregowe i pozwala na jakąś formę
63 sprawdzania stanu. Ta funkcjonalność pozwala na bezpieczne
64 zatrzymywanie systemów, sprawdzanie stanu zasilania przez WWW i inne.
65
66 %description -l ru.UTF-8
67 Эти программы - часть проекта по мониторингу различных UPS. У многих
68 моделей есть сериальные порты, позволяющие проверять состояние этих
69 UPS. Эта возможность была использована, где это возможно, для
70 выполнения безопасных остановов компьютеров, отслеживания статуса
71 через веб и т.п.
72
73 %description -l uk.UTF-8
74 Ці програми є частиною проекту по моніторингу різноманітних UPS.
75 Багато моделей мають серіальні порти, що дозволять перевіряти стан цих
76 UPS. Ця можливість була використана, де це можливо, для виконання
77 безпечних зупинок комп'ютерів, відслідковування статусу через веб,
78 тощо.
79
80 %package common
81 Summary:        Package with common files for nut daemon and its clients
82 Summary(pl.UTF-8):      Pakiet z plikami wspólnymi dla demona nut i jego klientów
83 Group:          Applications/System
84 Requires(postun):       /usr/sbin/groupdel
85 Requires(postun):       /usr/sbin/userdel
86 Requires(pre):  /bin/id
87 Requires(pre):  /usr/bin/getgid
88 Requires(pre):  /usr/sbin/groupadd
89 Requires(pre):  /usr/sbin/groupmod
90 Requires(pre):  /usr/sbin/useradd
91 Provides:       group(ups)
92 Provides:       user(ups)
93
94 %description common
95 Package with common files for nut daemon and its clients.
96
97 %description common -l pl.UTF-8
98 Pakiet z plikami wspólnymi dla demona nut i jego klientów.
99
100 %package client
101 Summary:        Multi-vendor UPS Monitoring Project Client Utilities
102 Summary(pl.UTF-8):      Narzędzia klienckie do monitorowania UPS-ów
103 Summary(ru.UTF-8):      Network UPS Tools - клиентские утилиты мониторинга
104 Summary(uk.UTF-8):      Network UPS Tools - клієнтські утиліти моніторингу
105 Group:          Applications/System
106 Requires(post,preun):   /sbin/chkconfig
107 Requires:       %{name}-common = %{version}-%{release}
108 Requires:       rc-scripts
109
110 %description client
111 This package includes the client utilities that are required to
112 monitor a UPS that the client host is plugged into but monitored via
113 serial cable by another host on the network....
114
115 %description client -l pl.UTF-8
116 Ten pakiet zawiera narzędzia kliencie potrzebne do monitorowania UPS-a
117 do którego podłączony jest komputer kliencki, kiedy kabel szeregowy
118 UPS-a jest podłączony do innego komputera w sieci.
119
120 %description client -l ru.UTF-8
121 Этот пакет включает клиентские утилиты, необходимые для мониторинга
122 UPS, к которому клиентский хост имеет доступ, но UPS физически
123 подключен к другому компьютеру в сети.
124
125 %description client -l uk.UTF-8
126 Цей пакет включає клієнтські утиліти, потрібні для моніторингу UPS, до
127 якого клієнтський хост має доступ, але UPS фізично підключений до
128 іншого комп'ютеру в мережі.
129
130 %package cgi
131 Summary:        Multi-vendor UPS Monitoring Project Server - CGI utils
132 Summary(pl.UTF-8):      Narzędzia CGI do monitorowania UPS-ów
133 Summary(ru.UTF-8):      Network UPS Tools - CGI утилиты
134 Summary(uk.UTF-8):      Network UPS Tools - CGI утиліти
135 Group:          Applications/System
136 Requires:       %{name}-common = %{version}-%{release}
137
138 %description cgi
139 These programs are part of a developing project to monitor the
140 assortment of UPSes that are found out there in the field. Many models
141 have serial serial ports of some kind that allow some form of state
142 checking. This capability has been harnessed where possible to allow
143 for safe shutdowns, live status tracking on web pages, and more. This
144 package contains CGI utils.
145
146 %description cgi -l pl.UTF-8
147 Te programy są częścią projektu do monitorowania wielu UPS-ów w jakimś
148 otoczeniu. Wiele modeli ma porty szeregowe i pozwala na jakąś formę
149 sprawdzania stanu. Ta funkcjonalność pozwala na bezpieczne
150 zatrzymywanie systemów, sprawdzanie stanu zasilania przez WWW i inne.
151 Ten pakiet zawiera narzędzia CGI.
152
153 %description cgi -l ru.UTF-8
154 Этот пакет включает CGI программы для доступа к информации о статусе
155 UPS через веб-интерфейс.
156
157 %description cgi -l uk.UTF-8
158 Цей пакет включає CGI програми для доступу до інформації про статус
159 UPS через веб-інтерфейс.
160
161 %package devel
162 Summary:        Files for NUT clients development
163 Summary(pl.UTF-8):      Pliki do tworzenia klientów NUT-a
164 Group:          Development/Libraries
165 Requires:       %{name}-common = %{version}-%{release}
166 Requires:       openssl-devel >= 0.9.7c
167
168 %description devel
169 Object file and header for developing NUT clients.
170
171 %description devel -l pl.UTF-8
172 Plik wynikowy oraz nagłówek służące do tworzenia klientów NUT-a.
173
174 %package hal
175 Summary:        NUT integration with FreeDesktop HAL
176 Summary(pl.UTF-8):      Pliki do integracji NUT-a z HAL-em
177 Group:          Development/Libraries
178 Requires:       %{name} = %{version}-%{release}
179
180 %description hal
181 NUT integration with FreeDesktop HAL.
182
183 %description hal -l pl.UTF-8
184 Pliki do integracji NUT-a z HAL-em.
185
186 %prep
187 %setup -q
188 %patch0 -p1
189 %patch1 -p1
190 %patch2 -p1
191 %patch3 -p1
192 %patch4 -p1
193 %patch5 -p1
194
195 %build
196 cp -f /usr/share/automake/config.sub .
197 %{__libtoolize}
198 %{__aclocal} -I m4
199 %{__automake}
200 %{__autoconf}
201 %configure \
202         --datadir=%{_datadir}/%{name} \
203         --with-htmlpath=%{_datadir}/%{name}/html \
204         --with-serial \
205         --with%{!?with_usb:out}-usb \
206         --with%{!?with_snmp:out}-snmp \
207         --with%{!?with_hal:out}-hal \
208         --with%{!?with_cgi:out}-cgi \
209         --with-dev \
210         --with%{!?with_neon:out}-neon \
211         --with-ssl \
212         --with-ipv6 \
213         %{?with_usb:--with-udev-dir=/etc/udev} \
214         %{?with_hal:--with-hal-callouts-path=%{_libdir}/hal} \
215         %{?with_hal:--with-hal-fdi-path=%{_datadir}/hal/fdi/information/20thirdparty} \
216         --with-statepath=%{_var}/lib/ups \
217         --with-drvpath=/lib/nut \
218         --with-cgipath=/home/services/httpd/cgi-bin \
219         --with-user=ups \
220         --with-group=ups
221
222 %{__make}
223
224 %install
225 rm -rf $RPM_BUILD_ROOT
226 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},/var/lib/ups,/lib/nut,/sbin}
227
228 %{__make} install \
229         DESTDIR=$RPM_BUILD_ROOT
230
231 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ups
232 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ups
233 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/upsmon
234 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/upsmon
235
236 for i in $RPM_BUILD_ROOT%{_sysconfdir}/*.sample; do
237         mv -f $i ${i%.sample}
238 done
239
240 %{!?with_usb:rm -f $RPM_BUILD_ROOT%{_udevrulesdir}/52-nut-usbups.rules}
241
242 cat > $RPM_BUILD_ROOT/sbin/poweroff-ups << EOF
243 #!/bin/sh
244 /etc/rc.d/init.d/ups powerdown
245 EOF
246
247 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
248
249 %clean
250 rm -rf $RPM_BUILD_ROOT
251
252 %post
253 /sbin/chkconfig --add ups
254 %service ups restart "NUT ups daemon"
255
256 %preun
257 if [ "$1" = "0" ]; then
258         %service ups stop
259         /sbin/chkconfig --del ups
260 fi
261
262 %pre common
263 # move to trigger?
264 if [ -n "`/usr/bin/getgid ups 2> /dev/null`" ] && [ "`/usr/bin/getgid ups 2> /dev/null`" = 121 ]; then
265         /usr/sbin/groupmod -g 76 ups
266         chgrp ups %{_sysconfdir}/{upsd.conf,ups.conf,upsd.users}
267         /usr/sbin/usermod -g 76 ups
268 fi
269 %groupadd -g 76 ups
270 %useradd -u 70 -d /usr/share/empty -s /bin/false -c "UPS Manager User" -g ups ups
271
272 %post common -p /sbin/ldconfig
273
274 %postun common
275 /sbin/ldconfig
276 if [ "$1" = "0" ]; then
277         %userremove ups
278         %groupremove ups
279 fi
280
281 %post client
282 /sbin/chkconfig --add upsmon
283 %service upsmon restart "NUT upsmon daemon"
284
285 %preun client
286 if [ "$1" = "0" ]; then
287         %service upsmon stop
288         /sbin/chkconfig --del upsmon
289 fi
290
291 %files
292 %defattr(644,root,root,755)
293 %attr(755,root,root) %{_bindir}/upscmd
294 %attr(755,root,root) %{_bindir}/upslog
295 %attr(755,root,root) %{_bindir}/upsrw
296 %attr(755,root,root) %{_sbindir}/upsd
297 %attr(755,root,root) /sbin/poweroff-ups
298 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ups
299 %attr(754,root,root) /etc/rc.d/init.d/ups
300 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nut.conf
301 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsd.conf
302 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ups.conf
303 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsd.users
304 %{_mandir}/man5/ups.conf.5*
305 %{_mandir}/man5/upsd.conf.5*
306 %{_mandir}/man5/upsd.users.5*
307 %{_mandir}/man8/upscmd.8*
308 %{_mandir}/man8/upscode2.8*
309 %{_mandir}/man8/upsd.8*
310 %{_mandir}/man8/upsdrvctl.8*
311 %{_mandir}/man8/upslog.8*
312 %{_mandir}/man8/upsrw.8*
313 %dir %attr(770,root,ups) /var/lib/ups
314 %dir /lib/nut
315 %attr(755,root,root) /lib/nut/apcsmart
316 %attr(755,root,root) /lib/nut/bcmxcp
317 %{?with_usb:%attr(755,root,root) /lib/nut/bcmxcp_usb}
318 %attr(755,root,root) /lib/nut/belkin
319 %attr(755,root,root) /lib/nut/belkinunv
320 %attr(755,root,root) /lib/nut/bestfcom
321 %attr(755,root,root) /lib/nut/bestfortress
322 %attr(755,root,root) /lib/nut/bestuferrups
323 %attr(755,root,root) /lib/nut/bestups
324 %attr(755,root,root) /lib/nut/blazer_ser
325 %{?with_usb:%attr(755,root,root) /lib/nut/blazer_usb}
326 %attr(755,root,root) /lib/nut/clone
327 %attr(755,root,root) /lib/nut/clone-outlet
328 %attr(755,root,root) /lib/nut/dummy-ups
329 %attr(755,root,root) /lib/nut/etapro
330 %attr(755,root,root) /lib/nut/everups
331 %attr(755,root,root) /lib/nut/gamatronic
332 %attr(755,root,root) /lib/nut/genericups
333 %attr(755,root,root) /lib/nut/isbmex
334 %attr(755,root,root) /lib/nut/ivtscd
335 %attr(755,root,root) /lib/nut/liebert
336 %attr(755,root,root) /lib/nut/liebert-esp2
337 %attr(755,root,root) /lib/nut/masterguard
338 %attr(755,root,root) /lib/nut/metasys
339 %attr(755,root,root) /lib/nut/mge-shut
340 %attr(755,root,root) /lib/nut/mge-utalk
341 %attr(755,root,root) /lib/nut/microdowell
342 %{?with_neon:%attr(755,root,root) /lib/nut/netxml-ups}
343 %attr(755,root,root) /lib/nut/newmge-shut
344 %attr(755,root,root) /lib/nut/oneac
345 %attr(755,root,root) /lib/nut/optiups
346 %attr(755,root,root) /lib/nut/powercom
347 %attr(755,root,root) /lib/nut/powerpanel
348 %attr(755,root,root) /lib/nut/rhino
349 %{?with_usb:%attr(755,root,root) /lib/nut/richcomm_usb}
350 %attr(755,root,root) /lib/nut/safenet
351 %attr(755,root,root) /lib/nut/skel
352 %{?with_snmp:%attr(755,root,root) /lib/nut/snmp-ups}
353 %attr(755,root,root) /lib/nut/solis
354 %attr(755,root,root) /lib/nut/tripplite
355 %attr(755,root,root) /lib/nut/tripplitesu
356 %{?with_usb:%attr(755,root,root) /lib/nut/tripplite_usb}
357 %attr(755,root,root) /lib/nut/upscode2
358 %attr(755,root,root) /lib/nut/upsdrvctl
359 %{?with_usb:%attr(755,root,root) /lib/nut/usbhid-ups}
360 %attr(755,root,root) /lib/nut/victronups
361 %{_datadir}/nut
362 %{_mandir}/man5/nut.conf.5*
363 %{_mandir}/man8/apcsmart.8*
364 %{_mandir}/man8/bcmxcp.8*
365 %{?with_usb:%{_mandir}/man8/bcmxcp_usb.8*}
366 %{_mandir}/man8/belkin.8*
367 %{_mandir}/man8/belkinunv.8*
368 %{_mandir}/man8/bestfcom.8*
369 %{_mandir}/man8/bestfortress.8*
370 %{_mandir}/man8/bestuferrups.8*
371 %{_mandir}/man8/bestups.8*
372 %{_mandir}/man8/blazer.8*
373 %{_mandir}/man8/clone.8*
374 %{_mandir}/man8/dummy-ups.8*
375 %{_mandir}/man8/etapro.8*
376 %{_mandir}/man8/everups.8*
377 %{_mandir}/man8/gamatronic.8*
378 %{_mandir}/man8/genericups.8*
379 %{_mandir}/man8/isbmex.8*
380 %{_mandir}/man8/ivtscd.8*
381 %{_mandir}/man8/liebert.8*
382 %{_mandir}/man8/liebert-esp2.8*
383 %{_mandir}/man8/masterguard.8*
384 %{_mandir}/man8/metasys.8*
385 %{_mandir}/man8/mge-shut.8*
386 %{_mandir}/man8/mge-utalk.8*
387 %{_mandir}/man8/microdowell.8*
388 %{?with_neon:%{_mandir}/man8/netxml-ups.8*}
389 %{_mandir}/man8/nutupsdrv.8*
390 %{_mandir}/man8/oneac.8*
391 %{_mandir}/man8/optiups.8*
392 %{_mandir}/man8/powercom.8*
393 %{_mandir}/man8/powerpanel.8*
394 %{_mandir}/man8/rhino.8*
395 %{?with_usb:%{_mandir}/man8/richcomm_usb.8*}
396 %{_mandir}/man8/safenet.8*
397 %{?with_snmp:%{_mandir}/man8/snmp-ups.8*}
398 %{_mandir}/man8/solis.8*
399 %{_mandir}/man8/tripplite.8*
400 %{_mandir}/man8/tripplitesu.8*
401 %{?with_usb:%{_mandir}/man8/tripplite_usb.8*}
402 %{?with_usb:%{_mandir}/man8/usbhid-ups.8*}
403 %{_mandir}/man8/victronups.8*
404 %{?with_usb:%config(noreplace) %verify(not md5 mtime size) %{_udevrulesdir}/52-nut-usbups.rules}
405
406 %files common
407 %defattr(644,root,root,755)
408 %doc AUTHORS MAINTAINERS NEWS README UPGRADING ChangeLog docs
409 %dir %{_sysconfdir}
410 %attr(755,root,root) %ghost %{_libdir}/libupsclient.so.1
411 %attr(755,root,root) %{_libdir}/libupsclient.so.*.*.*
412
413 %files client
414 %defattr(644,root,root,755)
415 %attr(755,root,root) %{_bindir}/upsc
416 %attr(755,root,root) %{_sbindir}/upsmon
417 %attr(755,root,root) %{_sbindir}/upssched
418 %attr(754,root,root) /etc/rc.d/init.d/upsmon
419 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsmon.conf
420 %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upssched.conf
421 %attr(750,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upssched-cmd
422 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/upsmon
423 %{_mandir}/man5/upsmon.conf.5*
424 %{_mandir}/man5/upssched.conf.5*
425 %{_mandir}/man8/upsc.8*
426 %{_mandir}/man8/upsmon.8*
427 %{_mandir}/man8/upssched.8*
428
429 %if %{with cgi}
430 %files cgi
431 %defattr(644,root,root,755)
432 %{_datadir}/%{name}/html
433 %attr(755,root,root) /home/services/httpd/cgi-bin/*.cgi
434 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hosts.conf
435 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsset.conf
436 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.html
437 %{_mandir}/man5/hosts.conf.5*
438 %{_mandir}/man5/upsset.conf.5*
439 %{_mandir}/man5/upsstats.html.5*
440 %{_mandir}/man8/upsimage.cgi.8*
441 %{_mandir}/man8/upsset.cgi.8*
442 %{_mandir}/man8/upsstats.cgi.8*
443 %endif
444
445 %if %{with hal}
446 %files hal
447 %defattr(644,root,root,755)
448 %attr(755,root,root) %{_libdir}/hal/hald-addon-bcmxcp_usb
449 %attr(755,root,root) %{_libdir}/hal/hald-addon-blazer_usb
450 %attr(755,root,root) %{_libdir}/hal/hald-addon-tripplite_usb
451 %attr(755,root,root) %{_libdir}/hal/hald-addon-usbhid-ups
452 %{_datadir}/hal/fdi/information/20thirdparty/20-ups-nut-device.fdi
453 %endif
454
455 %files devel
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %{_libdir}/libupsclient.so
458 %{_pkgconfigdir}/libupsclient.pc
459 %{_includedir}/*.h
460 %{_mandir}/man3/*.3*
This page took 0.099255 seconds and 3 git commands to generate.