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: 29436be46b289d13dfce48e7618129e2
13 Patch1: http://www.cacti.net/downloads/patches/0.8.6j/ping_php_version4_snmpgetnext.patch
14 Patch2: http://www.cacti.net/downloads/patches/0.8.6j/tree_console_missing_hosts.patch
15 Patch3: http://www.cacti.net/downloads/patches/0.8.6j/thumbnail_graphs_not_working.patch
16 Patch4: http://www.cacti.net/downloads/patches/0.8.6j/graph_debug_lockup_fix.patch
17 Patch5: http://www.cacti.net/downloads/patches/0.8.6j/snmpwalk_fix.patch
18 Patch6: http://www.cacti.net/downloads/patches/0.8.6j/sec_sql_injection-0.8.6j.patch
19 Patch10: %{name}-plugin-%{version}.diff
20 Patch11: %{name}-config.patch
21 Patch12: %{name}-opera.patch
22 URL: http://www.cacti.net/
23 BuildRequires: rpm-perlprov
24 Requires: adodb >= 4.67-1.17
27 Requires: net-snmp-utils
36 Requires: webserver(php)
38 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40 %define webadminroot /usr/share/%{name}
43 Cacti is a complete frondend to rrdtool, it stores all of the
44 nessesary information to create graphs and populate them with data in
47 The frontend is completely PHP driven. Along with being able to
48 maintain Graphs, Data Sources, and Round Robin Archives in a database,
49 cacti handles the data gathering also. There is also SNMP support for
50 those used to creating traffic graphs with MRTG.
52 %description -l pl.UTF-8
53 Cacti to pełny frontend do rrdtoola, zapamiętujący wszystkie
54 informacje potrzebne do tworzenia wykresów i wypełniające je danymi
57 Frontend jest w pełni oparty na PHP. Oprócz zarządzania wykresami,
58 źródłami danych, archiwami Round Robin w bazie danych, cacti
59 obsługuje także gromadzenie danych. Ma także obsługę SNMP
60 przydatną przy tworzeniu wykresów ruchu przy użyciu MRTG.
77 rm -rf $RPM_BUILD_ROOT
78 install -d $RPM_BUILD_ROOT%{webadminroot}
79 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{%{name},cron.d}
80 install -d $RPM_BUILD_ROOT/var/{log,lib/%{name}}
81 cp -aRf * $RPM_BUILD_ROOT%{webadminroot}
82 ln -s . $RPM_BUILD_ROOT%{webadminroot}/%{name}
84 # TODO: move this to SOURCES. it's a lot better to backtrack changes
85 # if it's a separate file.
86 cat << 'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/%{name}.cfg
88 $database_type = 'mysql';
89 $database_default = 'cacti';
90 $database_hostname = 'localhost';
91 $database_username = 'cactiuser';
92 $database_password = 'cactiuser';
95 // $plugins[] = 'thold';
96 // $plugins[] = 'monitor';
97 // $plugins[] = 'discovery';
99 /* Do not edit this line */
102 /* This is full URL Path to the Cacti installation
103 For example, if your cacti was accessible by http://server/cacti/ you would user '/cacti/'
104 as the url path. For just http://server/ use '/'
106 $config['url_path'] = '/cacti/';
111 mv $RPM_BUILD_ROOT%{webadminroot}/log $RPM_BUILD_ROOT/var/log/%{name}
112 ln -sf /var/log/cacti $RPM_BUILD_ROOT%{webadminroot}/log
114 mv $RPM_BUILD_ROOT%{webadminroot}/rra $RPM_BUILD_ROOT/var/lib/%{name}
115 ln -sf /var/lib/%{name}/rra $RPM_BUILD_ROOT%{webadminroot}/rra
116 ln -sf %{_datadir}/php/adodb $RPM_BUILD_ROOT%{webadminroot}/lib/adodb
118 cat << 'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
119 */5 * * * * http umask 022; %{_bindir}/php %{webadminroot}/poller.php > /dev/null 2>&1
123 rm -rf $RPM_BUILD_ROOT
126 %defattr(644,root,root,755)
127 %doc docs/CHANGELOG docs/CONTRIB docs/README
128 %attr(750,root,http) %dir %{_sysconfdir}/%{name}
129 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.cfg
130 %attr(770,root,http) %dir /var/log/%{name}
131 %attr(660,root,http) %ghost /var/log/%{name}/*.log
132 %attr(750,root,http) %dir /var/lib/%{name}
133 %attr(770,root,http) %dir /var/lib/%{name}/rra
134 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}