]> git.pld-linux.org Git - packages/apcupsd.git/blobdiff - apcupsd.spec
configure scripts from well known location
[packages/apcupsd.git] / apcupsd.spec
index 83a56cc7507eedb95b91faa3790645bc11cba304..078e85e2e2a547f6a1ddb564a39396f20aeadceb 100644 (file)
@@ -1,23 +1,52 @@
+#
+# Conditional build:
+%bcond_without cgi     # without CGI program support
+%bcond_without gapcmon # without gapcmon GUI
+%bcond_without net     # without network support
+%bcond_with    snmp    # with SNMP support
+%bcond_without test    # without TEST support
+%bcond_without usb     # without USB support
+
 Summary:       Power management software for APC UPS hardware
-Summary(pl):   Oprogramowanie do zarz±dzania energi± dla UPS-ów APC
+Summary(pl.UTF-8):     Oprogramowanie do zarządzania energią dla UPS-ów APC
 Name:          apcupsd
-Version:       3.8.1
-Release:       3
+Version:       3.14.13
+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/
-Prereq:                chkconfig
+Source0:       http://downloads.sourceforge.net/apcupsd/%{name}-%{version}.tar.gz
+# Source0-md5: c291d9d3923b4d9c0e600b755ad4f489
+Source1:       %{name}.init
+Source2:       %{name}.logrotate
+Source3:       %{name}.sysconfig
+Patch0:                %{name}-configure.patch
+Patch1:                control-config.patch
+Patch2:                format-security.patch
+Patch3:                shutdown.patch
+Patch4:                cxxld.patch
+Patch5:                systemd.patch
+Patch6:                fixgui.patch
+Patch7:                nodbg.patch
+URL:           http://www.apcupsd.com/
+%{?with_gapcmon:BuildRequires: GConf2-devel >= 2.0}
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gd-devel
+%{?with_gapcmon:BuildRequires: gtk+2-devel >= 2:2.4.0}
+BuildRequires: man-db
+%{?with_snmp:BuildRequires:    net-snmp-devel}
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.647
+BuildRequires: util-linux
+Requires:      rc-scripts
+Requires:      systemd-units >= 0.38
+Requires(post):        fileutils
+Requires(post,preun):  /sbin/chkconfig
+Requires(post,preun,postun):   systemd-units >= 38
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-#Icon:         apcupsd-logo.xpm
 
 %define                _sysconfdir     /etc/apcupsd
+%define                _cgidir         /home/services/httpd/cgi-bin
 
 %description
 UPS power management under Linux for APCC Products. It allows your
@@ -26,80 +55,170 @@ time or the life of the batteries in your BackUPS, BackUPS Pro,
 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
+%description -l pl.UTF-8
+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.
 
+%package cgi
+Summary:       upsstats - Web-based UPS status viewer
+Summary(pl.UTF-8):     upsstats - oparta na WWW przeglądarka stanu UPS-a
+Group:         Applications/Networking
+Requires:      webserver
+
+%description cgi
+upsstats.cgi builds a lightweight web page containing basic UPS status
+information.
+
+%description cgi -l pl.UTF-8
+upsstats.cgi tworzy lekką stronę WWW zawierającą podstawowe informacje
+o stanie UPS-a.
+
+%package gapcmon
+Summary:       Apcupsd GUI monitoring application
+Summary(pl.UTF-8):     Aplikacja GUI monitorowania Apcupsd
+Group:         X11/Applications
+URL:           http://gapcmon.sourceforge.net/
+
+%description gapcmon
+GNOME/GTK+ based application which integrates into most desktop panels
+(not just GNOME). It monitors one or more Apcupsd instances using
+Apcupsd's NIS networking server. The status of each UPS is shown with
+a icon.
+
+%description gapcmon -l pl.UTF-8
+Oparta na GNOME/GTK+ aplikacja, która integruje się z panelami (nie
+tylko Gnome). Monitoruje jedną bądź kilka instancji Apcupsd za pomocą
+serwera NIS. Status każdego UPS-a przedstawia ikona.
+
 %prep
 %setup -q
 %patch0 -p1
 %patch1 -p1
-#%patch2 -p0
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
 
 %build
-%configure2_13
-%{__make}
+for i in configure.in aclocal.m4 config.h.in; do install autoconf/$i .;done
+cp -f %{_datadir}/automake/config.sub autoconf
+%{__autoconf}
+%configure \
+       APCUPSD_MAIL="/bin/mail" \
+       SHUTDOWN="/sbin/shutdown" \
+       WALL="%{_bindir}/wall" \
+       --with-log-dir=%{_var}/log \
+       --with-stat-dir=%{_var}/lib/apcupsd \
+       --enable-apcsmart \
+       --enable-dumb \
+       --enable-pcnet \
+%if %{with cgi}
+       --enable-cgi \
+       --with-cgi-bin=/home/services/httpd/cgi-bin \
+%endif
+       %{?with_test:--enable-test} \
+       %{?with_net:--enable-net} \
+       %{?with_gapcmon:--enable-gapcmon} \
+       %{?with_snmp:--enable-snmp} \
+       %{?with_usb:--enable-usb}
+
+%{__make} \
+       VERBOSE=2
 
 %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,sysconfig} \
+       $RPM_BUILD_ROOT/var/{log,lib/apcupsd}
+
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT
 
-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
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/apcupsd
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/apcupsd
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/apcupsd
 
-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
+# systemd support
+install -p -D apcupsd.service $RPM_BUILD_ROOT%{systemdunitdir}/apcupsd.service
+install -p -D apcupsd_shutdown $RPM_BUILD_ROOT%{systemdunitdir}-shutdown/apcupsd_shutdown
+
+touch $RPM_BUILD_ROOT/var/log/apcupsd.events
+touch $RPM_BUILD_ROOT/var/lib/apcupsd/apcupsd.status
+
+cat > $RPM_BUILD_ROOT/etc/rc.d/init.d/halt << EOF
+#!/bin/sh
+exec /etc/rc.d/init.d/apcupsd powerdown
+EOF
+
+# no hal
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/hal/fdi/policy/20thirdparty/80-apcupsd-ups-policy.fdi
 
 %clean
 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
-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.\
-
-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
+%service apcupsd restart "apcupsd daemon"
+%systemd_post %{name}.service
 
 %preun
 if [ "$1" = "0" ]; then
-       chkconfig --del apcupsd
+       %service apcupsd stop
+       /sbin/chkconfig --del apcupsd
 fi
+%systemd_preun %{name}.service
+
+%postun
+%systemd_reload
 
 %files
 %defattr(644,root,root,755)
-%doc doc.tar.gz 
-%doc ChangeLog 
-%{_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
+%doc ChangeLog Developers
+%attr(755,root,root) %{_sbindir}/apcaccess
+%attr(755,root,root) %{_sbindir}/apctest
+%attr(755,root,root) %{_sbindir}/apcupsd
+%attr(755,root,root) %{_sbindir}/smtp
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apcupsd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/apcupsd
+%attr(754,root,root) %{_sysconfdir}/apccontrol
+%attr(754,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/changeme
+%attr(754,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/commfailure
+%attr(754,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/commok
+#%attr(754,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mainsback
+%attr(754,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/onbattery
+%attr(754,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/offbattery
 %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
+%{systemdunitdir}/%{name}.service
+%attr(755,root,root) %{systemdunitdir}-shutdown/apcupsd_shutdown
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/apcupsd
+%dir %{_sysconfdir}
+%dir /var/lib/apcupsd
+%attr(640,root,root) %ghost /var/log/apcupsd.events
+%attr(640,root,root) %ghost /var/lib/apcupsd/apcupsd.status
+%{_mandir}/man8/apcupsd.8*
+%{_mandir}/man8/apctest.8*
+%{_mandir}/man8/apcaccess.8*
+%{_mandir}/man8/apccontrol.8*
+%{_mandir}/man5/apcupsd.conf.5*
+
+%if %{with cgi}
+%files cgi
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hosts.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/multimon.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apcupsd.css
+%attr(755,root,root) %{_cgidir}/*.cgi
+%endif
+
+%if %{with gapcmon}
+%files gapcmon
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/gapcmon
+%{_desktopdir}/gapcmon.desktop
+%{_pixmapsdir}/*.png
+%endif
This page took 0.092193 seconds and 4 git commands to generate.