+# TODO:
+# - update paths and pld patches
+# - avoid messing in halt script in %post
+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: 2
+Version: 3.10.5
+Release: 0.1
License: GPL v2
Group: Networking/Daemons
-Group(pl): Sieciowe/Serwery
-Source0: http://www.sibbald.com/apcupsd/download/apcupsd-3.8.1.tar.gz
-#Patch0: apcups-initscript.patch
-#Patch1: apcups-makefile.patch
-#Patch2: apcupsd-Makefile-fix.patch
-Summary: power management software for APC UPS hardware
-URL: http://www.sibbald.com/apcupsd/
+Source0: http://dl.sourceforge.net/apcupsd/%{name}-%{version}.tar.gz
+Patch0: %{name}-paths.patch
+Patch1: %{name}-pld.patch
+#Patch1: apcups-makefile.patch
+#Patch2: %{name}-Makefile-fix.patch
+URL: http://www.apcupsd.com/
+Requires(post,preun): /sbin/chkconfig
+Requires(post): fileutils
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-#Icon: apcupsd-logo.xpm
+%define _sysconfdir /etc/apcupsd
%description
UPS power management under Linux for APCC Products. It allows your
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
+#%patch0 -p1 -- configure should be patched to move files from /var/log to /var/lib
+#%patch1 -p1 -- probably should be updated
#%patch2 -p0
%build
-
-%configure --sysconfdir=/etc/apcupsd # --prefix=/usr --sbindir=/sbin --with-cgi-bin=/etc/apcupsd/cgi --enable-cgi
+%configure2_13
%{__make}
-#mv Makefile Makefile.orig
-#cat Makefile.orig \
-# | sed "s,^PREFIX =,PREFIX = ${RPM_BUILD_ROOT}," \
-# | sed "s,^MANPREFIX = /usr,MANPREFIX = ${RPM_BUILD_ROOT}/usr," \
-# > Makefile
-#%{__make} linux
-
%install
rm -rf $RPM_BUILD_ROOT
+#install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/var/log,/var/lib/apcupsd}
-install -d $RPM_BUILD_ROOT{%{_sbindir},%{_bindir},%{_mandir}/man8,/etc/apcupsd/,/etc/rc.d/init.d,/var/log}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
-install apcupsd apcnetd $RPM_BUILD_ROOT%{_sbindir}
-install apcaccess $RPM_BUILD_ROOT%{_bindir}
-install etc/* $RPM_BUILD_ROOT/etc/apcupsd
-install distributions/redhat/apccontrol.sh $RPM_BUILD_ROOT/etc/apcupsd/apccontrol
-install distributions/redhat/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
+install platforms/redhat/apcupsd $RPM_BUILD_ROOT/etc/rc.d/init.d/apcupsd
+#install platforms/pld/apcupsd $RPM_BUILD_ROOT/etc/rc.d/init.d/apcupsd
-#[ -x /sbin/powersc ] && /sbin/powersc RESTARTME
-touch ${RPM_BUILD_ROOT}/var/log/apcupsd.log
-touch ${RPM_BUILD_ROOT}%{_sysconfdir}/apcupsd.status
+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}
+rm -rf $RPM_BUILD_ROOT
%post
-/sbin/ldconfig
/sbin/chkconfig --add apcupsd
#if !(grep /sbin/powersc /etc/rc.d/init.d/halt > /dev/null); then
# -e '\
# See if this is a powerfail situation.\
-echo '
+echo '
if [ -f /etc/apcupsd/powerfail ]; then\
echo "APCUPSD to the Rescue!"\
echo\
' > /etc/rc.d/init.d/halt
#' /etc/rc.d/init.d/halt.rpmorig > /etc/rc.d/init.d/halt
#fi
-
+chmod 754 /etc/rc.d/init.d/halt
%preun
-chkconfig --del apcupsd
+if [ "$1" = "0" ]; then
+ /sbin/chkconfig --del apcupsd
+fi
%files
%defattr(644,root,root,755)
-%doc doc.tar.gz
-%doc ChangeLog
+%doc ChangeLog Developers doc/{README.apcaccess,developers_manual,home-page,logo,manual}
%{_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/apcupsd.conf
+%attr(640,root,root) %config(noreplace) %{_sysconfdir}/apcupsd.conf
%attr(754,root,root) /etc/rc.d/init.d/apcupsd
%ghost /var/log/apcupsd.log
-%ghost %{_sysconfdir}/apcupsd.status
+%ghost /var/lib/apcupsd/apcupsd.status
+%ghost /var/lib/apcupsd/apcupsd.events