]> git.pld-linux.org Git - packages/cacti.git/blobdiff - cacti.spec
- release 3
[packages/cacti.git] / cacti.spec
index 18490feabd1e05f902e68559d7e1eb716b7e57f8..fd5c7d4bbdb29a4cd54ff6bc8fa0396793180934 100644 (file)
@@ -1,31 +1,39 @@
+#
+# 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.7b
-Release:       14
+Version:       0.8.7h
+Release:       3
 License:       GPL
 Group:         Applications/WWW
 Source0:       http://www.cacti.net/downloads/%{name}-%{version}.tar.gz
-# Source0-md5: 63ffca5735b60bc33c68bc880f0e8042
-Source1:       %{name}.cfg.php
+# Source0-md5: 58c9371341f49a190ae11a85118e598d
 Source2:       %{name}.crontab
-Source3:       http://cactiusers.org/downloads/%{name}-plugin-arch.tar.gz
-# Source3-md5: 7079c1f366e8ea1b26c7e251e6373226
-Source4:       %{name}-apache.conf
-Source5:       %{name}-lighttpd.conf
-Source6:       %{name}-rrdpath.sql
-Patch100:      http://www.cacti.net/downloads/patches/0.8.7b/upgrade_from_086k_fix.patch
-Patch101:      http://www.cacti.net/downloads/patches/0.8.7b/snmp_auth_none_notice.patch
-Patch102:      http://www.cacti.net/downloads/patches/0.8.7b/reset_each_patch.patch
-Patch0:                %{name}-config.patch
-Patch1:                %{name}-adodb.patch
-Patch2:                %{name}-ioerror.patch
-Patch3:                %{name}-webroot.patch
-Patch4:                %{name}-linux_memory.patch
-Patch5:                %{name}-log-verbosity.patch
-Patch6:                %{name}-ss_disk-array-indices.patch
-Patch7:                %{name}-rrdtool-1.3.patch
+Source3:       %{name}-apache.conf
+Source4:       %{name}-lighttpd.conf
+Source5:       %{name}-rrdpath.sql
+Source6:       %{name}-pa.sql
+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
+Patch3:                %{name}-ioerror.patch
+Patch4:                %{name}-webroot.patch
+Patch5:                %{name}-linux_memory.patch
+Patch6:                %{name}-log-verbosity.patch
+Patch7:                %{name}-ss_disk-array-indices.patch
+Patch8:                host_name-url.patch
+# http://www.cacti.net/download_patches.php
+#Patch10:      none now
 URL:           http://www.cacti.net/
 BuildRequires: rpm-perlprov
 BuildRequires: sed >= 4.0
@@ -36,18 +44,26 @@ Requires:   adodb >= 4.67-1.17
 Requires:      crondaemon
 Requires:      group(http)
 Requires:      net-snmp-utils
-Requires:      php(gd)
-Requires:      php(mysql)
-Requires:      php(pcre)
-Requires:      php(snmp)
-Requires:      php(xml)
 Requires:      php-cli
+Requires:      php-common >= 4:5.2.13-10
+Requires:      php-mysql
+Requires:      php-pcre
+Requires:      php-session
+Requires:      php-snmp
+Requires:      php-xml
 Requires:      rrdtool
 Requires:      webapps
 Requires:      webserver
+Requires:      webserver(access)
+Requires:      webserver(alias)
+Requires:      webserver(indexfile)
 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)
 
@@ -106,64 +122,76 @@ HTML Documentation for Cacti.
 Dokumentacja do Cacti w formacie HTML.
 
 %prep
-%setup -q -a 3
-%patch100 -p1
-%patch101 -p1
-%patch102 -p1
-%{__patch} -p1 -s < cacti-plugin-arch/cacti-plugin-0.8.7b-PA-v2.1.diff
+%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
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
-%patch7 -p0
+%patch7 -p1
+%patch8 -p1
 
 mkdir -p sql
 mv *.sql sql
 # you should run this sql if your database contains path to %{_datadir}...
-cp %{SOURCE6} sql
+cp -p %{SOURCE5} sql
+cp -p %{SOURCE6} sql
+
+%{__rm} -r lib/adodb
+%{__rm} log/.htaccess
+%{__rm} cli/.htaccess
+%{__rm} rra/.htaccess
 
-mv cacti-plugin-arch/pa.sql sql
-rm -rf cacti-plugin-arch
-rm -rf lib/adodb
-rm -f log/.htaccess
-rm -f cli/.htaccess
-rm -f rra/.placeholder
-rm -f plugins/index.php
+# must require libs to get fatals on missing files, not include
+%{__sed} -i -e '
+       s,include(dirname(__FILE__)."/../include/global.php");,require(dirname(__FILE__)."/../include/global.php");,
+       s,include_once,require_once,
+' cli/*.php
 
-%{__sed} -i -e '1i#!%{_bindir}/php' scripts/*.php
-chmod a+rx scripts/*
+# make sure scripts have php shebang
+%{__sed} -i -e '1{
+    /bin.php/!i#!%{_bindir}/php
+}' scripts/*.php  cli/*.php
 
-%{__sed} -i -e '1i#!%{_bindir}/php' cli/*.php
-chmod a+rx cli/*
+chmod a+rx scripts/*.php cli/*.php
 
 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
 
+# make sure cacti runs out of the box
+%{__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,/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 -a cli images include install lib plugins resource scripts sql $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}
-
-cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
-cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
-cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
+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}
 
-# This is for backward compatibility with broken installations.
-# Such installations should be repaired by cacti-rrdpath.sql.
-ln -sf /var/lib/%{name}/rra $RPM_BUILD_ROOT%{webadminroot}/rra
+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
@@ -176,6 +204,8 @@ if [ ! -f /var/log/%{name}/cacti.log ]; then
        install -m660 -oroot -ghttp /dev/null /var/log/%{name}/cacti.log
 fi
 
+%{_appdir}/cli/upgrade_database.php || :
+
 %postun
 if [ "$1" = "0" ]; then
        %userremove cacti
@@ -207,13 +237,14 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc docs/CHANGELOG docs/CONTRIB docs/README docs/text/manual.txt
+%doc docs/CHANGELOG docs/CONTRIB docs/README docs/txt/manual.txt
 %dir %attr(750,root,http) %{_sysconfdir}
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
 %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
@@ -235,7 +266,9 @@ fi
 %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)
This page took 0.030673 seconds and 4 git commands to generate.