%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.UTF-8): Oprogramowanie do zarządzania energią dla UPS-ów APC
Name: apcupsd
-Version: 3.14.3
+Version: 3.14.13
Release: 1
License: GPL v2
Group: Networking/Daemons
-Source0: http://dl.sourceforge.net/apcupsd/%{name}-%{version}.tar.gz
-# Source0-md5: a212351d21828e9344264614c7ad8ba1
+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
-%{?with_gapcmon: BuildRequires: gconfmm-devel}
-BuildRequires: gettext-devel
-BuildRequires: ncurses-ext-devel
-%{?with_snmp: BuildRequires: net-snmp-devel}
-BuildRequires: rpmbuild(macros) >= 1.268
+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: rc-scripts
+Requires(post,preun,postun): systemd-units >= 38
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/apcupsd
odpowiednio uruchamia kontrolowany shutdown przy dłuższej awarii
zasilania.
-%package cgi
+%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
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.
+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.
+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
-for i in configure.in aclocal.m4 config.h.in; do install autoconf/$i .;done
-cp -f %{_datadir}/automake/config.sub autoconf
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
%build
+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} \
-%if %{with net}
- --enable-net \
-%endif
- --enable-nls \
- --enable-powerflute \
+ %{?with_net:--enable-net} \
%{?with_gapcmon:--enable-gapcmon} \
%{?with_snmp:--enable-snmp} \
%{?with_usb:--enable-usb}
-%{__make}
+%{__make} \
+ VERBOSE=2
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install src/powerflute $RPM_BUILD_ROOT%{_sbindir}
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/apcupsd
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/apcupsd
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/apcupsd
+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
+
+# 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
-/etc/rc.d/init.d/apcupsd powerdown
+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/chkconfig --add apcupsd
%service apcupsd restart "apcupsd daemon"
+%systemd_post %{name}.service
%preun
if [ "$1" = "0" ]; then
%service apcupsd stop
/sbin/chkconfig --del apcupsd
fi
+%systemd_preun %{name}.service
+
+%postun
+%systemd_reload
%files
%defattr(644,root,root,755)
%doc ChangeLog Developers
-%attr(755,root,root) %{_sbindir}/*
+%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}/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
-%if %{with cgi}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hosts.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/multimon.conf
-%{_sysconfdir}/apcupsd.css
-%endif
%attr(754,root,root) /etc/rc.d/init.d/apcupsd
%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.*
+%{_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}/*
+%attr(755,root,root) %{_bindir}/gapcmon
%{_desktopdir}/gapcmon.desktop
-%{_pixmapsdir}/*
+%{_pixmapsdir}/*.png
%endif