Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37595287
en ru br
ALT Linux repos
S:1.2.24-alt1
5.0: 0.8.7b-alt4
4.1: 0.8.7b-alt2
4.0: 0.8.6j-alt1

Group :: Monitoring
RPM: cacti

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%define username cacti
%define groupname apache
Name: cacti
Version: 0.8.6j
Release: alt1

Summary: The complete RRDTool-based graphing solution.
Summary(ru_RU.CP1251): Полнофункциональная оболочка для RRDTool.

License: GPL
Group: Monitoring

URL: http://www.cacti.net/
Source0: %name-%version.tar.gz
Source1: %name-plugin-arch.tar.gz

Patch0: %name-%version-ping_php_version4_snmpgetnext.patch
Patch1: %name-%version-tree_console_missing_hosts.patch
Patch2: %name-%version-thumbnail_graphs_not_working.patch
Patch3: %name-%version-graph_debug_lockup_fix.patch

Requires: %name-config
BuildArch: noarch

%define apache_home %_var/www/html

Prefix: %apache_home

%description
Cacti is a complete frontend to RRDTool. It stores all of the necessary
information to create graphs and populate them with data in a MySQL database.
The frontend is completely PHP driven. Along with being able to maintain graphs,
data sources, and round robin archives in a database, Cacti also handles the data
gathering. There is SNMP support for those used to creating traffic graphs with
MRTG.

%description -l ru_RU.CP1251
Cacti - это полнофункциональная оболочка для RRDTool. Программа хранит всю
необходимую информацию для создания и наполнения графиков в базе MySQL.
Программа полностью написана на PHP. Вместе с возможностью управления
графиками, источниками данных и архивами round robin Cacti также занимается
сбором данных.

%package config-php
License: GPL
Group: Monitoring
Summary: Virtual package for php's depend.
Requires: php-mysql, webserver, rrd-utils, net-snmp, net-snmp-utils, php-snmp
Provides: %name-config
%description config-php
Virtual package for php's depend.

%package config-php5
License: GPL
Group: Monitoring
Summary: Virtual package for php's depend.
Requires: php5-mysql, webserver, rrd-utils, net-snmp, net-snmp-utils, php5-snmp
Provides: %name-config
%description config-php5
Virtual package for php's depend.

%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1

# add cacti-plugin-arch

%__tar xfz %SOURCE1
patch -p1 -N < cacti-plugin-arch/cacti-plugin-%version.diff
%__subst "s|url_path'] = '\/|url_path'] = '\/%name\/|g" include/config.php

%build

%install -n %name-%version
%__mkdir_p %buildroot%apache_home/%name/
%__mkdir_p %buildroot%_bindir
%__mkdir_p %buildroot%_sysconfdir

%__cp -f *.php README LICENSE cacti.sql %buildroot%apache_home/%name/
%__cp -fR images/ %buildroot%apache_home/%name/
%__cp -fR include/ %buildroot%apache_home/%name/
%__cp -fR install/ %buildroot%apache_home/%name/
%__cp -fR lib/ %buildroot%apache_home/%name/
#%__cp -fR log/ %buildroot%apache_home/%name/
%__mkdir_p %buildroot%apache_home/%name/log
%__cp -fR resource/ %buildroot%apache_home/%name/
%__cp -fR rra/ %buildroot%apache_home/%name/
%__cp -fR scripts/ %buildroot%apache_home/%name/

find %buildroot -type d -exec chmod 0755 {} \;
find %buildroot -type f -exec chmod 0644 {} \;
find %buildroot%apache_home/%name/scripts/ -type f -exec chmod 0755 {} \;

# install cron

%__mkdir_p %buildroot%_sysconfdir/cron.d
%__cat << EOF > %buildroot%_sysconfdir/cron.d/cacti
*/5 * * * * cacti php /var/www/html/cacti/poller.php > /dev/null 2>&1
EOF

%pre
useradd -M -d %apache_home/%name/ -r %username -G %groupname > /dev/null 2>&1 || true

%post
%post_service crond

%postun
# Now policy doesn't allow to delete users
#userdel -M %username > /dev/null 2>&1 || true

%files
%config(noreplace) %attr(0640,%username,%groupname) %apache_home/%name/include/config.php
%config %attr(0644,root,root) %_sysconfdir/cron.d/cacti
%doc docs/*
%attr(-,%username,%groupname) %apache_home/%name/
%dir %attr(0775,%username,%groupname) %apache_home/%name/log
%dir %attr(0775,%username,%groupname) %apache_home/%name/rra

%files config-php

%files config-php5

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin