+#
+# Conditional build:
+%bcond_with usb # with USB support
+#
Summary: Power management software for APC UPS hardware
+Summary(pl): Oprogramowanie do zarz±dzania energi± dla UPS-ów APC
Name: apcupsd
-Version: 3.8.1
-Release: 3
+Version: 3.10.15
+Release: 1
License: GPL v2
Group: Networking/Daemons
-Group(de): Netzwerkwesen/Server
-Group(pl): Sieciowe/Serwery
-Source0: http://www.sibbald.com/apcupsd/download/%{name}-%{version}.tar.gz
-Patch0: %{name}-paths.patch
-Patch1: %{name}-pld.patch
-#Patch1: apcups-makefile.patch
-#Patch2: %{name}-Makefile-fix.patch
-URL: http://www.sibbald.com/apcupsd/
+Source0: http://dl.sourceforge.net/apcupsd/%{name}-%{version}.tar.gz
+# Source0-md5: 21b2b744ebcaa0010367a403a9c5e66c
+Source1: %{name}.init
+Source2: %{name}.logrotate
+Patch0: %{name}-configure.patch
+URL: http://www.apcupsd.com/
+BuildRequires: autoconf
+BuildRequires: automake
+Requires(post,preun): /sbin/chkconfig
+Requires(post): fileutils
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-#Icon: apcupsd-logo.xpm
%define _sysconfdir /etc/apcupsd
SmartUPS v/s, or SmartUPS, and then properly executes a controlled
shutdown during an extended power failure.
+%description -l pl
+Oprogramowanie do zarz±dzania energi± dla UPS-ów APC. Pozwala
+komputerowi dzia³aæ po awarii zasilania przez okre¶lony czas lub czas
+¿ycia akumulatorów w BackUPS, BackUPS Pro, SmartUPS v/s, SmartUPS oraz
+odpowiednio uruchamia kontrolowany shutdown przy d³u¿szej awarii
+zasilania.
+
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
-#%patch2 -p0
%build
-%configure
+cd autoconf
+cp -f /usr/share/automake/config.sub .
+%{__autoconf}
+cp -f ./configure ..
+cd ..
+%configure \
+ --with-log-dir=%{_var}/log \
+ --with-stat-dir=%{_var}/lib/apcupsd \
+%if %{with usb}
+ --enable-usb \
+ --with-serial-dev=/dev/usb/hiddev[0-15] \
+ --with-upstype=usb \
+ --with-upscable=usb
+%endif
+
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sbindir},%{_bindir},%{_mandir}/man8,%{_sysconfdir},/etc/rc.d/init.d,/var/log,/var/lib/apcupsd}
+install -d $RPM_BUILD_ROOT/etc/{apcupsd,logrotate.d,rc.d/init.d} \
+ $RPM_BUILD_ROOT/var/{log,lib/apcupsd}
-install apcupsd apcnetd $RPM_BUILD_ROOT%{_sbindir}
-install apcaccess $RPM_BUILD_ROOT%{_bindir}
-install etc/* $RPM_BUILD_ROOT%{_sysconfdir}
-install distributions/pld/apccontrol.sh $RPM_BUILD_ROOT%{_sysconfdir}/apccontrol
-install distributions/pld/apcupsd $RPM_BUILD_ROOT/etc/rc.d/init.d/apcupsd
-install doc/apcupsd.man $RPM_BUILD_ROOT%{_mandir}/man8
-tar czf doc.tar.gz doc
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
-touch ${RPM_BUILD_ROOT}/var/log/apcupsd.log
-touch ${RPM_BUILD_ROOT}/var/lib/apcupsd/apcupsd.status
-touch ${RPM_BUILD_ROOT}/var/lib/apcupsd/apcupsd.events
-
-%clean
-rm -rf ${RPM_BUILD_ROOT}
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/apcupsd
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/apcupsd
-%post
-/sbin/ldconfig
-%chkconfig_post
+touch $RPM_BUILD_ROOT/var/log/apcupsd.events
+touch $RPM_BUILD_ROOT/var/lib/apcupsd/apcupsd.status
-#if !(grep /sbin/powersc /etc/rc.d/init.d/halt > /dev/null); then
-cp -f /etc/rc.d/init.d/halt /etc/rc.d/init.d/halt.rpmorig
-#sed -e '/# Now halt or reboot./i\' \
-# -e '\
-# See if this is a powerfail situation.\
+cat > $RPM_BUILD_ROOT/etc/rc.d/init.d/halt << EOF
+#!/bin/sh
+/etc/rc.d/init.d/apcupsd powerdown
+EOF
-echo '
-if [ -f /etc/apcupsd/powerfail ]; then\
- echo "APCUPSD to the Rescue!"\
- echo\
- /etc/apcupsd/apccontrol killpower \
- echo\
- sleep 120\
- exit 1\
-fi\
-' > /etc/rc.d/init.d/halt
-#' /etc/rc.d/init.d/halt.rpmorig > /etc/rc.d/init.d/halt
-#fi
+%clean
+rm -rf $RPM_BUILD_ROOT
+%post
+/sbin/chkconfig --add apcupsd
+if [ -f /var/lock/subsys/apcupsd ]; then
+ /etc/rc.d/init.d/apcupsd restart >&2
+else
+ echo "Run \"/etc/rc.d/init.d/apcupsd start\" to start apcupsd daemon."
+fi
%preun
-%chkconfig_preun
+if [ "$1" = "0" ]; then
+ if [ -f /var/lock/subsys/apcupsd ]; then
+ /etc/rc.d/init.d/apcupsd stop >&2
+ fi
+/sbin/chkconfig --del apcupsd
+fi
%files
%defattr(644,root,root,755)
-%doc doc.tar.gz
-%doc ChangeLog
+%doc ChangeLog Developers doc/{README.apcaccess,README.solaris}
%{_mandir}/man8/apcupsd.*
%attr(755,root,root) %{_sbindir}/*
-%attr(755,root,root) %{_bindir}/*
-#%attr(755,root,root) %config /sbin/powersc
-%attr(640,root,root) %config(noreplace) %{_sysconfdir}/apcupsd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/apcupsd.conf
+%attr(754,root,root) %{_sysconfdir}/apccontrol
+%attr(754,root,root) %{_sysconfdir}/changeme
+%attr(754,root,root) %{_sysconfdir}/commfailure
+%attr(754,root,root) %{_sysconfdir}/commok
+%attr(754,root,root) %{_sysconfdir}/mainsback
+%attr(754,root,root) %{_sysconfdir}/masterconnect
+%attr(754,root,root) %{_sysconfdir}/mastertimeout
+%attr(754,root,root) %{_sysconfdir}/onbattery
%attr(754,root,root) /etc/rc.d/init.d/apcupsd
-%ghost /var/log/apcupsd.log
-%ghost /var/lib/apcupsd/apcupsd.status
-%ghost /var/lib/apcupsd/apcupsd.events
+%attr(754,root,root) /etc/rc.d/init.d/halt
+%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/logrotate.d/apcupsd
+%dir /etc/apcupsd
+%dir /var/lib/apcupsd
+%attr(640,root,root) %ghost /var/log/apcupsd.events
+%attr(640,root,root) %ghost /var/lib/apcupsd/apcupsd.status