# Conditional build:
%bcond_without pa # without plugin archidecture patch
+%define pia_ver 3.0
%include /usr/lib/rpm/macros.perl
Summary: Cacti is a PHP frontend for rrdtool
Summary(pl.UTF-8): Cacti - frontend w PHP do rrdtoola
Name: cacti
-Version: 0.8.7g
-Release: 3
+Version: 0.8.7h
+Release: 2
License: GPL
Group: Applications/WWW
Source0: http://www.cacti.net/downloads/%{name}-%{version}.tar.gz
-# Source0-md5: 268421cb1a58d3444f7ecbddb4c4b016
-Source1: %{name}.cfg.php
+# Source0-md5: 58c9371341f49a190ae11a85118e598d
Source2: %{name}.crontab
Source3: %{name}-apache.conf
Source4: %{name}-lighttpd.conf
Source5: %{name}-rrdpath.sql
Source6: %{name}-pa.sql
-# http://cactiusers.org/wiki/PluginArchitectureInstall
-# http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz
+Source7: %{name}.logrotate
+# http://docs.cacti.net/manual:087:1_installation.9_pia
+Source8: http://www.cacti.net/downloads/pia/%{name}-plugin-%{version}-PA-v%{pia_ver}.tar.gz
+# Source8-md5: 1f45a65dc76dee368b11f2c78ae89dfb
+# NOTE: update provides: cacti(pia) when updating the patch
Patch0: %{name}-PA.patch
Patch1: %{name}-config.patch
Patch2: %{name}-adodb.patch
Patch6: %{name}-log-verbosity.patch
Patch7: %{name}-ss_disk-array-indices.patch
Patch8: host_name-url.patch
-Patch9: cli-relpath.patch
# http://www.cacti.net/download_patches.php
-Patch10: data_source_deactivate.patch
-Patch11: graph_list_view.patch
-Patch12: html_output.patch
-Patch13: ldap_group_authenication.patch
-Patch14: script_server_command_line_parse.patch
-Patch15: ping.patch
-Patch16: poller_interval.patch
-
+#Patch10: none now
URL: http://www.cacti.net/
BuildRequires: rpm-perlprov
BuildRequires: sed >= 4.0
Requires: webserver(php)
Suggests: cacti-spine
Suggests: php-gd
+Provides: cacti(pia) = %{pia_ver}
Provides: user(cacti)
+Obsoletes: cacti-add_template
+Obsoletes: cacti-plugin-update
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Dokumentacja do Cacti w formacie HTML.
%prep
-%setup -q
-%{?with_pa:%patch0 -p1}
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
+%setup -q %{?with_pa:-a8}
+# official patches
+#%patch10 -p1
+
+%if %{with pa}
+%patch0 -p1
+# copy images and drop the rest
+mv cacti-plugin-arch/files/images/* images
+%{__rm} -r cacti-plugin-arch
+%endif
%patch1 -p1
%patch2 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
-%patch9 -p1
mkdir -p sql
mv *.sql sql
# you should run this sql if your database contains path to %{_datadir}...
-cp %{SOURCE5} sql
-cp %{SOURCE6} sql
+cp -p %{SOURCE5} sql
+cp -p %{SOURCE6} sql
-rm -rf cacti-plugin-arch
-rm -rf lib/adodb
-rm -f log/.htaccess
-rm -f cli/.htaccess
-rm -f rra/.placeholder
-rm -f rra/.htaccess
+%{__rm} -r lib/adodb
+%{__rm} log/.htaccess
+%{__rm} cli/.htaccess
+%{__rm} rra/.htaccess
# must require libs to get fatals on missing files, not include
%{__sed} -i -e '
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
# make sure cacti runs out of the box
-sed -e "s,new_install,%{version}," -i sql/cacti.sql
+%{__sed} -i -e 's,new_install,%{version},' sql/cacti.sql
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_appdir}/{docs,plugins},/etc/cron.d,%{_sbindir}}
-install -d $RPM_BUILD_ROOT/var/{log,lib/%{name}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_appdir}/{docs,plugins},/etc/{cron.d,logrotate.d},%{_sbindir}}
+install -d $RPM_BUILD_ROOT/var/{log,{lib,cache}/%{name}}
-cp -a *.php $RPM_BUILD_ROOT%{_appdir}
+cp -p *.php $RPM_BUILD_ROOT%{_appdir}
cp -a cli images include install lib resource scripts sql $RPM_BUILD_ROOT%{_appdir}
cp -a docs/html $RPM_BUILD_ROOT%{_appdir}/docs/html
mv $RPM_BUILD_ROOT{%{_appdir}/poller.php,%{_sbindir}/cacti-poller}
cp -a log $RPM_BUILD_ROOT/var/log/%{name}
+install -d $RPM_BUILD_ROOT/var/log/archive/%{name}
cp -a rra $RPM_BUILD_ROOT/var/lib/%{name}
-cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
-cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}
+mv $RPM_BUILD_ROOT{%{_appdir}/include,%{_sysconfdir}}/config.php
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}
+cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
-cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
-cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
-cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
+cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
%clean
rm -rf $RPM_BUILD_ROOT
install -m660 -oroot -ghttp /dev/null /var/log/%{name}/cacti.log
fi
+%{_appdir}/cli/upgrade_database.php || :
+
%postun
if [ "$1" = "0" ]; then
%userremove cacti
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
%attr(755,root,root) %{_sbindir}/cacti-poller
%dir %{_appdir}
%exclude %{_appdir}/install
%attr(750,root,http) %dir /var/lib/%{name}
%attr(770,root,http) %dir /var/lib/%{name}/rra
%attr(730,root,http) %dir /var/log/%{name}
+%attr(750,root,logs) %dir /var/log/archive/%{name}
%attr(660,root,http) %ghost /var/log/%{name}/cacti.log
+%attr(730,root,http) %dir /var/cache/%{name}
%files setup
%defattr(644,root,root,755)