2 # - patch source to use adodb system path instead of symlinking
3 %include /usr/lib/rpm/macros.perl
4 Summary: Cacti is a PHP frontend for rrdtool
5 Summary(pl.UTF-8):Cacti - frontend w PHP do rrdtoola
10 Group: Applications/WWW
11 Source0: http://www.cacti.net/downloads/%{name}-%{version}.tar.gz
12 # Source0-md5: 63ffca5735b60bc33c68bc880f0e8042
13 Patch1: %{name}-upgrade_from_086k_fix.patch
14 Patch10: %{name}-plugin-%{version}.diff
15 Patch11: %{name}-config.patch
16 Patch12: %{name}-adodb.patch
17 Patch13: %{name}-url_path.patch
18 URL: http://www.cacti.net/
19 BuildRequires: rpm-perlprov
20 Requires: adodb >= 4.67-1.17
22 Requires: net-snmp-utils
31 Requires: webserver(php)
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36 %define webadminroot /usr/share/%{name}
39 Cacti is a complete frondend to rrdtool, it stores all of the
40 nessesary information to create graphs and populate them with data in
43 The frontend is completely PHP driven. Along with being able to
44 maintain Graphs, Data Sources, and Round Robin Archives in a database,
45 cacti handles the data gathering also. There is also SNMP support for
46 those used to creating traffic graphs with MRTG.
48 %description -l pl.UTF-8
49 Cacti to pełny frontend do rrdtoola, zapamiętujący wszystkie
50 informacje potrzebne do tworzenia wykresów i wypełniające je danymi
53 Frontend jest w pełni oparty na PHP. Oprócz zarządzania wykresami,
54 źródłami danych, archiwami Round Robin w bazie danych, cacti
55 obsługuje także gromadzenie danych. Ma także obsługę SNMP
56 przydatną przy tworzeniu wykresów ruchu przy użyciu MRTG.
69 rm -rf $RPM_BUILD_ROOT
70 install -d $RPM_BUILD_ROOT%{webadminroot}
71 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},/etc/cron.d}
72 install -d $RPM_BUILD_ROOT/var/{log,lib/%{name}}
73 cp -aRf * $RPM_BUILD_ROOT%{webadminroot}
74 ln -s . $RPM_BUILD_ROOT%{webadminroot}/%{name}
76 # TODO: move this to SOURCES. it's a lot better to backtrack changes
77 # if it's a separate file.
78 cat << 'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/%{name}.cfg
80 $database_type = 'mysql';
81 $database_default = 'cacti';
82 $database_hostname = 'localhost';
83 $database_username = 'cactiuser';
84 $database_password = 'cactiuser';
87 // $plugins[] = 'thold';
88 // $plugins[] = 'monitor';
89 // $plugins[] = 'discovery';
91 /* Do not edit this line */
94 /* This is full URL Path to the Cacti installation
95 For example, if your cacti was accessible by http://server/cacti/ you would user '/cacti/'
96 as the url path. For just http://server/ use '/'
98 $config['url_path'] = '/cacti/';
103 mv $RPM_BUILD_ROOT%{webadminroot}/log $RPM_BUILD_ROOT/var/log/%{name}
104 ln -sf /var/log/cacti $RPM_BUILD_ROOT%{webadminroot}/log
106 mv $RPM_BUILD_ROOT%{webadminroot}/rra $RPM_BUILD_ROOT/var/lib/%{name}
107 ln -sf /var/lib/%{name}/rra $RPM_BUILD_ROOT%{webadminroot}/rra
108 ln -sf %{_datadir}/php/adodb $RPM_BUILD_ROOT%{webadminroot}/lib/adodb
110 cat << 'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
111 */5 * * * * http umask 022; %{_bindir}/php %{webadminroot}/poller.php > /dev/null 2>&1
115 rm -rf $RPM_BUILD_ROOT
118 %defattr(644,root,root,755)
119 %doc docs/CHANGELOG docs/CONTRIB docs/README
120 %attr(750,root,http) %dir %{_sysconfdir}/%{name}
121 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.cfg
122 %attr(770,root,http) %dir /var/log/%{name}
123 %attr(660,root,http) %ghost /var/log/%{name}/*.log
124 %attr(750,root,http) %dir /var/lib/%{name}
125 %attr(770,root,http) %dir /var/lib/%{name}/rra
126 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}