X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=cacti.spec;h=a3aa4599163a7aa95c82172cc841d399b8c9d6eb;hb=aa6fbcd1fd78149071b440355399d7da73f0be17;hp=5cba1d1a3b3fbe772ebded34cf63f1e740196507;hpb=d8c537ae974f3a46187cf32d233e2c7270334c80;p=packages%2Fcacti.git diff --git a/cacti.spec b/cacti.spec index 5cba1d1..a3aa459 100644 --- a/cacti.spec +++ b/cacti.spec @@ -1,52 +1,65 @@ -%include /usr/lib/rpm/macros.perl +%define pia_ver 3.1 +%define php_min_version 5.2.13-10 +%include /usr/lib/rpm/macros.php 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: 11 -License: GPL +Version: 0.8.8f +Release: 1 +License: GPL v2 Group: Applications/WWW Source0: http://www.cacti.net/downloads/%{name}-%{version}.tar.gz -# Source0-md5: 63ffca5735b60bc33c68bc880f0e8042 -Source1: %{name}.cfg.php +# Source0-md5: 8d90642b362f80c46c489c5531e2ba90 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 +Source3: %{name}-apache.conf +Source4: %{name}-lighttpd.conf +Source5: %{name}-rrdpath.sql +Source7: %{name}.logrotate +Patch0: mysql-socket.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 +# Patch100: .. URL: http://www.cacti.net/ -BuildRequires: rpm-perlprov BuildRequires: sed >= 4.0 Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id Requires(pre): /usr/sbin/useradd Requires: adodb >= 4.67-1.17 +Requires: cacti-plugin-boost >= 5.0 Requires: crondaemon Requires: group(http) Requires: net-snmp-utils -Requires: php(gd) +Requires: php(core) >= %{php_min_version} Requires: php(mysql) Requires: php(pcre) +Requires: php(session) Requires: php(snmp) Requires: php(xml) -Requires: php-cli Requires: rrdtool Requires: webapps Requires: webserver +Requires: webserver(access) +Requires: webserver(alias) +Requires: webserver(indexfile) Requires: webserver(php) Suggests: cacti-spine +Suggests: php-bcmath +Suggests: php-ftp +Suggests: php-gd +Provides: cacti(pia) = %{pia_ver} Provides: user(cacti) +Obsoletes: cacti-add_template +Obsoletes: cacti-plugin-update +%if "%{pld_release}" != "ac" +Conflicts: logrotate < 3.8.0 +%endif BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -55,6 +68,14 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir %{_webapps}/%{_webapp} %define _appdir /usr/share/%{name} +# bad depsolver +%define _noautopear pear +# optional +%define _noautophp php-ftp php-bcmath + +# put it together for rpmbuild +%define _noautoreq %{?_noautophp} %{?_noautopear} + %description Cacti is a complete frondend to rrdtool, it stores all of the nessesary information to create graphs and populate them with data in @@ -105,11 +126,13 @@ HTML Documentation for Cacti. Dokumentacja do Cacti w formacie HTML. %prep -%setup -q -a 3 +%setup -q + +# official patches +%if 0%{?PATCH100:1} %patch100 -p1 -%patch101 -p1 -%patch102 -p1 -%{__patch} -p1 -s < cacti-plugin-arch/cacti-plugin-0.8.7b-PA-v2.1.diff +%endif + %patch0 -p1 %patch1 -p1 %patch2 -p1 @@ -117,47 +140,62 @@ Dokumentacja do Cacti w formacie HTML. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%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 -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 +%{__rm} -r lib/adodb +%{__rm} log/.htaccess +%{__rm} cli/.htaccess +%{__rm} rra/.htaccess -%{__sed} -i -e '1i#!%{_bindir}/php' scripts/*.php -chmod a+rx scripts/* +# 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' cli/*.php -chmod a+rx cli/* +# make sure scripts have php shebang +%{__sed} -i -e '1{ + /bin.php/!i#!%{_bindir}/php +}' scripts/*.php cli/*.php + +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} +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 %{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 +%if "%{pld_release}" == "ac" +%{__sed} -i -e '/su/d' $RPM_BUILD_ROOT/etc/logrotate.d/%{name} +%endif + +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 @@ -175,6 +213,9 @@ if [ "$1" = "0" ]; then %userremove cacti fi +%post setup +%{_appdir}/cli/upgrade_database.php || : + %triggerin -- apache1 < 1.3.37-3, apache1-base %webapp_register apache %{_webapp} @@ -201,13 +242,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 @@ -229,7 +271,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)