# TODO: # - hidups bcond has wrong name and description (should be "usbups"? or removed) # - unpackaged files: /usr/html/{{bottom,header,index}.html,nut-banner.png} # # Conditional build: %bcond_without hidups # experimental hidups driver # Summary: Network UPS Tools Summary(pl.UTF-8): Sieciowe narzędzie do UPS-ów Name: nut Version: 2.2.0 Release: 0.1 License: GPL Group: Applications/System Source0: http://eu1.networkupstools.org/source/2.2/%{name}-%{version}.tar.gz # Source0-md5: a3570515d80804051d4e7631e8a3eb12 Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}-upsmon.init Source4: %{name}.sysconfig.upsmon #Patch0: %{name}-client.patch Patch1: %{name}-datadir.patch Patch2: %{name}-config.patch Patch3: %{name}-smartdp-load.patch URL: http://www.networkupstools.org/ BuildRequires: autoconf BuildRequires: automake BuildRequires: gd-devel >= 2.0.15 BuildRequires: libpng-devel BuildRequires: net-snmp-devel BuildRequires: openssl-devel >= 0.9.7d BuildRequires: rpmbuild(macros) >= 1.268 BuildRequires: xorg-lib-libXpm-devel Requires(post,preun): /sbin/chkconfig Requires: %{name}-common = %{version}-%{release} Requires: rc-scripts Obsoletes: smartupstools BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir /etc/ups %description These programs are part of a developing project to monitor the assortment of UPSes that are found out there in the field. Many models have serial serial ports of some kind that allow some form of state checking. This capability has been harnessed where possible to allow for safe shutdowns, live status tracking on web pages, and more. %description -l pl.UTF-8 Te programy są częścią projektu do monitorowania wielu UPS-ów w jakimś otoczeniu. Wiele modeli ma porty szeregowe i pozwala na jakąś formę sprawdzania stanu. Ta funkcjonalność pozwala na bezpieczne zatrzymywanie systemów, sprawdzanie stanu zasilania przez WWW i inne. %description -l ru.UTF-8 Эти программы - часть проекта по мониторингу различных UPS. У многих моделей есть сериальные порты, позволяющие проверять состояние этих UPS. Эта возможность была использована, где это возможно, для выполнения безопасных остановов компьютеров, отслеживания статуса через веб и т.п. %description -l uk.UTF-8 Ці програми є частиною проекту по моніторингу різноманітних UPS. Багато моделей мають серіальні порти, що дозволять перевіряти стан цих UPS. Ця можливість була використана, де це можливо, для виконання безпечних зупинок комп'ютерів, відслідковування статусу через веб, тощо. %package common Summary: Package with common files for nut daemon and its clients Summary(pl.UTF-8): Pakiet z plikami wspólnymi dla demona nut i jego klientów Group: Applications/System Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/groupmod Requires(pre): /usr/sbin/useradd Provides: group(ups) Provides: user(ups) %description common Package with common files for nut daemon and its clients. %description common -l pl.UTF-8 Pakiet z plikami wspólnymi dla demona nut i jego klientów. %package client Summary: Multi-vendor UPS Monitoring Project Client Utilities Summary(pl.UTF-8): Narzędzia klienckie do monitorowania UPS-ów Summary(ru.UTF-8): Network UPS Tools - клиентские утилиты мониторинга Summary(uk.UTF-8): Network UPS Tools - клієнтські утиліти моніторингу Group: Applications/System Requires(post,preun): /sbin/chkconfig Requires: %{name}-common = %{version}-%{release} Requires: rc-scripts %description client This package includes the client utilities that are required to monitor a UPS that the client host is plugged into but monitored via serial cable by another host on the network.... %description client -l pl.UTF-8 Ten pakiet zawiera narzędzia kliencie potrzebne do monitorowania UPS-a do którego podłączony jest komputer kliencki, kiedy kabel szeregowy UPS-a jest podłączony do innego komputera w sieci. %description client -l ru.UTF-8 Этот пакет включает клиентские утилиты, необходимые для мониторинга UPS, к которому клиентский хост имеет доступ, но UPS физически подключен к другому компьютеру в сети. %description client -l uk.UTF-8 Цей пакет включає клієнтські утиліти, потрібні для моніторингу UPS, до якого клієнтський хост має доступ, але UPS фізично підключений до іншого комп'ютеру в мережі. %package cgi Summary: Multi-vendor UPS Monitoring Project Server - CGI utils Summary(pl.UTF-8): Narzędzia CGI do monitorowania UPS-ów Summary(ru.UTF-8): Network UPS Tools - CGI утилиты Summary(uk.UTF-8): Network UPS Tools - CGI утиліти Group: Applications/System Requires: %{name}-common = %{version}-%{release} %description cgi These programs are part of a developing project to monitor the assortment of UPSes that are found out there in the field. Many models have serial serial ports of some kind that allow some form of state checking. This capability has been harnessed where possible to allow for safe shutdowns, live status tracking on web pages, and more. This package contains CGI utils. %description cgi -l pl.UTF-8 Te programy są częścią projektu do monitorowania wielu UPS-ów w jakimś otoczeniu. Wiele modeli ma porty szeregowe i pozwala na jakąś formę sprawdzania stanu. Ta funkcjonalność pozwala na bezpieczne zatrzymywanie systemów, sprawdzanie stanu zasilania przez WWW i inne. Ten pakiet zawiera narzędzia CGI. %description cgi -l ru.UTF-8 Этот пакет включает CGI программы для доступа к информации о статусе UPS через веб-интерфейс. %description cgi -l uk.UTF-8 Цей пакет включає CGI програми для доступу до інформації про статус UPS через веб-інтерфейс. %package devel Summary: Files for NUT clients development Summary(pl.UTF-8): Pliki do tworzenia klientów NUT-a Group: Development/Libraries Requires: openssl-devel >= 0.9.7c # it does NOT require nut %description devel Object file and header for developing NUT clients. %description devel -l pl.UTF-8 Plik wynikowy oraz nagłówek służące do tworzenia klientów NUT-a. %prep %setup -q #patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %build cp -f /usr/share/automake/config.sub . %{__aclocal} -I m4 %{__autoconf} LDFLAGS="-L%{_prefix}/X11R6/%{_lib}"; export LDFLAGS %configure \ %{?with_hidups:--with-linux-hiddev} \ --with-ssl \ --with-cgi \ --with-linux-hiddev=%{_includedir}/linux/hiddev.h \ --with-statepath=%{_var}/lib/ups \ --with-drvpath=/lib/nut \ --with-cgipath=/home/services/httpd/cgi-bin \ --with-user=ups \ --with-group=ups %{__make} all snmp cgi %{?with_hidups:%{__make} build-usb} %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{/sbin,/etc/{sysconfig,rc.d/init.d},/var/lib/ups} \ $RPM_BUILD_ROOT{/lib/nut,%{_libdir},%{_includedir}/nut} %{__make} -j1 install install-snmp install-cgi %{?with_hidups: install-usb} \ DESTDIR=$RPM_BUILD_ROOT install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ups install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ups install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/upsmon install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/upsmon rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/* install conf/*.users conf/*.conf conf/*.html $RPM_BUILD_ROOT%{_sysconfdir} install clients/upsclient.o common/parseconf.o $RPM_BUILD_ROOT%{_libdir} install clients/upsclient.h include/parseconf.h $RPM_BUILD_ROOT%{_includedir}/nut cat > $RPM_BUILD_ROOT/sbin/poweroff-ups << EOF #!/bin/sh /etc/rc.d/init.d/ups powerdown EOF %clean rm -rf $RPM_BUILD_ROOT %post /sbin/chkconfig --add ups %service ups restart "NUT ups daemon" %preun if [ "$1" = "0" ]; then %service ups stop /sbin/chkconfig --del ups fi %pre common # move to trigger? if [ -n "`/usr/bin/getgid ups`" ] && [ "`/usr/bin/getgid ups`" = 121 ]; then /usr/sbin/groupmod -g 76 ups chgrp ups %{_sysconfdir}/{upsd.conf,ups.conf,upsd.users} /usr/sbin/usermod -g 76 ups fi %groupadd -g 76 ups %useradd -u 70 -d /usr/share/empty -s /bin/false -c "UPS Manager User" -g ups ups %post client /sbin/chkconfig --add upsmon %service upsmon restart "NUT upsmon daemon" %preun client if [ "$1" = "0" ]; then %service upsmon stop /sbin/chkconfig --del upsmon fi %postun common if [ "$1" = "0" ]; then %userremove ups %groupremove ups fi %files %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/upscmd %attr(755,root,root) %{_bindir}/upslog %attr(755,root,root) %{_bindir}/upsrw %attr(755,root,root) %{_sbindir}/upsd %attr(755,root,root) /sbin/poweroff-ups %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ups %attr(754,root,root) /etc/rc.d/init.d/ups %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsd.conf %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ups.conf %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsd.users %{_mandir}/man5/ups.conf.5* %{_mandir}/man5/upsd.conf.5* %{_mandir}/man5/upsd.users.5* %{_mandir}/man8/al175.8* %{_mandir}/man8/apcsmart.8* %{_mandir}/man8/bcmxcp.8* %{_mandir}/man8/belkin.8* %{_mandir}/man8/belkinunv.8* %{_mandir}/man8/bestfcom.8* %{_mandir}/man8/bestuferrups.8* %{_mandir}/man8/bestups.8* %{_mandir}/man8/cpsups.8* %{_mandir}/man8/cyberpower.8* %{_mandir}/man8/dummy-ups.8* %{_mandir}/man8/etapro.8* %{_mandir}/man8/everups.8* %{_mandir}/man8/fentonups.8* %{_mandir}/man8/genericups.8* %{_mandir}/man8/ippon.8* %{_mandir}/man8/isbmex.8* %{_mandir}/man8/liebert.8* %{_mandir}/man8/masterguard.8* %{_mandir}/man8/megatec.8* %{_mandir}/man8/metasys.8* %{_mandir}/man8/mge-shut.8* %{_mandir}/man8/mge-utalk.8* %{_mandir}/man8/mustek.8* %{_mandir}/man8/nitram.8* %{_mandir}/man8/nutupsdrv.8* %{_mandir}/man8/oneac.8* %{_mandir}/man8/optiups.8* %{_mandir}/man8/powercom.8* %{_mandir}/man8/powerpanel.8* %{_mandir}/man8/safenet.8* %{_mandir}/man8/sms.8* %{_mandir}/man8/snmp-ups.8* %{_mandir}/man8/solis.8* %{_mandir}/man8/tripplite.8* %{_mandir}/man8/tripplitesu.8* %{_mandir}/man8/victronups.8* %{_mandir}/man8/upscmd.8* %{_mandir}/man8/upscode2.8* %{_mandir}/man8/upsd.8* %{_mandir}/man8/upsdrvctl.8* %{_mandir}/man8/upslog.8* %{_mandir}/man8/upsrw.8* %dir %attr(770,root,ups) /var/lib/ups %dir /lib/nut %attr(755,root,root) /lib/nut/al175 %attr(755,root,root) /lib/nut/apcsmart %attr(755,root,root) /lib/nut/bcmxcp %attr(755,root,root) /lib/nut/belkin %attr(755,root,root) /lib/nut/belkinunv %attr(755,root,root) /lib/nut/bestfcom %attr(755,root,root) /lib/nut/bestuferrups %attr(755,root,root) /lib/nut/bestups %attr(755,root,root) /lib/nut/blazer %attr(755,root,root) /lib/nut/cpsups %attr(755,root,root) /lib/nut/cyberpower %attr(755,root,root) /lib/nut/esupssmart %attr(755,root,root) /lib/nut/etapro %attr(755,root,root) /lib/nut/everups %attr(755,root,root) /lib/nut/fentonups %attr(755,root,root) /lib/nut/gamatronic %attr(755,root,root) /lib/nut/genericups %attr(755,root,root) /lib/nut/ippon %attr(755,root,root) /lib/nut/isbmex %attr(755,root,root) /lib/nut/liebert %attr(755,root,root) /lib/nut/masterguard %attr(755,root,root) /lib/nut/megatec %attr(755,root,root) /lib/nut/metasys %attr(755,root,root) /lib/nut/mge-shut %attr(755,root,root) /lib/nut/mge-utalk %attr(755,root,root) /lib/nut/mustek %attr(755,root,root) /lib/nut/nitram %attr(755,root,root) /lib/nut/oneac %attr(755,root,root) /lib/nut/optiups %attr(755,root,root) /lib/nut/powercom %attr(755,root,root) /lib/nut/powerpanel %attr(755,root,root) /lib/nut/rhino %attr(755,root,root) /lib/nut/safenet %attr(755,root,root) /lib/nut/sms %attr(755,root,root) /lib/nut/snmp-ups %attr(755,root,root) /lib/nut/solis %attr(755,root,root) /lib/nut/tripplite %attr(755,root,root) /lib/nut/tripplitesu %attr(755,root,root) /lib/nut/upscode2 %attr(755,root,root) /lib/nut/upsdrvctl %attr(755,root,root) /lib/nut/victronups %{_datadir}/nut %if %{with hidups} %{_mandir}/man8/bcmxcp_usb.8* %{_mandir}/man8/energizerups.8* %{_mandir}/man8/hidups.8* %{_mandir}/man8/newhidups.8* %{_mandir}/man8/tripplite_usb.8* %attr(755,root,root) /lib/nut/bcmxcp_usb %attr(755,root,root) /lib/nut/energizerups %attr(755,root,root) /lib/nut/hidups %attr(755,root,root) /lib/nut/newhidups %attr(755,root,root) /lib/nut/tripplite_usb %endif %files common %defattr(644,root,root,755) %doc NEWS README ChangeLog CREDITS docs %dir %{_sysconfdir} %files client %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/upsc %attr(755,root,root) %{_sbindir}/upsmon %attr(755,root,root) %{_sbindir}/upssched %attr(755,root,root) %{_sbindir}/upssched-cmd %attr(754,root,root) /etc/rc.d/init.d/upsmon %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsmon.conf %attr(640,root,ups) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upssched.conf %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/upsmon %{_mandir}/man5/upsmon.conf.5* %{_mandir}/man5/upssched.conf.5* %{_mandir}/man8/upsc.8* %{_mandir}/man8/upsmon.8* %{_mandir}/man8/upssched.8* %files cgi %defattr(644,root,root,755) %attr(755,root,root) /home/services/httpd/cgi-bin/*.cgi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hosts.conf %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/upsset.conf %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.html %{_mandir}/man5/hosts.conf.5* %{_mandir}/man5/upsset.conf.5* %{_mandir}/man5/upsstats.html.5* %{_mandir}/man8/upsimage.cgi.8* %{_mandir}/man8/upsset.cgi.8* %{_mandir}/man8/upsstats.cgi.8* %files devel %defattr(644,root,root,755) %{_libdir}/upsclient.o %{_libdir}/parseconf.o %{_includedir}/nut