]> git.pld-linux.org Git - packages/cacti.git/blob - cacti.spec
- release 10
[packages/cacti.git] / cacti.spec
1 %include        /usr/lib/rpm/macros.perl
2 Summary:        Cacti is a PHP frontend for rrdtool
3 Summary(pl.UTF-8):      Cacti - frontend w PHP do rrdtoola
4 Name:           cacti
5 Version:        0.8.7b
6 Release:        10
7 License:        GPL
8 Group:          Applications/WWW
9 Source0:        http://www.cacti.net/downloads/%{name}-%{version}.tar.gz
10 # Source0-md5:  63ffca5735b60bc33c68bc880f0e8042
11 Source1:        %{name}.cfg.php
12 Source2:        %{name}.crontab
13 Source3:        http://cactiusers.org/downloads/%{name}-plugin-arch.tar.gz
14 # Source3-md5:  7079c1f366e8ea1b26c7e251e6373226
15 Source4:        %{name}-apache.conf
16 Source5:        %{name}-lighttpd.conf
17 Patch1:         %{name}-upgrade_from_086k_fix.patch
18 Patch2:         http://www.cacti.net/downloads/patches/0.8.7b/snmp_auth_none_notice.patch
19 Patch3:         http://www.cacti.net/downloads/patches/0.8.7b/reset_each_patch.patch
20 Patch4:         %{name}-config.patch
21 Patch5:         %{name}-adodb.patch
22 Patch6:         %{name}-ioerror.patch
23 URL:            http://www.cacti.net/
24 BuildRequires:  rpm-perlprov
25 BuildRequires:  sed >= 4.0
26 Requires(postun):       /usr/sbin/userdel
27 Requires(pre):  /bin/id
28 Requires(pre):  /usr/sbin/useradd
29 Requires:       adodb >= 4.67-1.17
30 Requires:       crondaemon
31 Requires:       group(http)
32 Requires:       net-snmp-utils
33 Requires:       php(gd)
34 Requires:       php(mysql)
35 Requires:       php(pcre)
36 Requires:       php(snmp)
37 Requires:       php(xml)
38 Requires:       php-cli
39 Requires:       rrdtool
40 Requires:       webapps
41 Requires:       webserver
42 Requires:       webserver(php)
43 Suggests:       cacti-spine
44 Provides:       user(cacti)
45 BuildArch:      noarch
46 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47
48 %define         _webapps        /etc/webapps
49 %define         _webapp         %{name}
50 %define         _sysconfdir     %{_webapps}/%{_webapp}
51 %define         _appdir         /usr/share/%{name}
52
53 %description
54 Cacti is a complete frondend to rrdtool, it stores all of the
55 nessesary information to create graphs and populate them with data in
56 a MySQL database.
57
58 The frontend is completely PHP driven. Along with being able to
59 maintain Graphs, Data Sources, and Round Robin Archives in a database,
60 cacti handles the data gathering also. There is also SNMP support for
61 those used to creating traffic graphs with MRTG.
62
63 %description -l pl.UTF-8
64 Cacti to pełny frontend do rrdtoola, zapamiętujący wszystkie
65 informacje potrzebne do tworzenia wykresów i wypełniające je danymi w
66 bazie MySQL.
67
68 Frontend jest w pełni oparty na PHP. Oprócz zarządzania wykresami,
69 źródłami danych, archiwami Round Robin w bazie danych, cacti obsługuje
70 także gromadzenie danych. Ma także obsługę SNMP przydatną przy
71 tworzeniu wykresów ruchu przy użyciu MRTG.
72
73 %package setup
74 Summary:        Cacti setup package
75 Summary(pl.UTF-8):      Pakiet do wstępnej konfiguracji Cacti
76 Group:          Applications/WWW
77 Requires:       %{name} = %{version}-%{release}
78 Suggests:       %{name}-doc = %{version}-%{release}
79
80 %description setup
81 Install this package to configure initial Cacti installation. You
82 should uninstall this package when you're done, as it considered
83 insecure to keep the setup files in place.
84
85 %package doc
86 Summary:        HTML Documentation for Cacti
87 Group:          Documentation
88 Requires:       %{name} = %{version}-%{release}
89
90 %description doc
91 HTML Documentation for Cacti.
92
93 %prep
94 %setup -q -a 3
95 %patch1 -p1
96 %patch2 -p1
97 %patch3 -p1
98 %{__patch} -p1 -s < cacti-plugin-arch/cacti-plugin-0.8.7b-PA-v2.1.diff
99 %patch4 -p1
100 %patch5 -p1
101 %patch6 -p1
102
103 mkdir -p sql
104 mv *.sql sql
105
106 mv cacti-plugin-arch/pa.sql sql
107 rm -rf cacti-plugin-arch
108 rm -rf lib/adodb
109 rm -f log/.htaccess
110 rm -f rra/.placeholder
111 rm -f plugins/index.php
112
113 %{__sed} -i -e '1i#!%{_bindir}/php' scripts/*.php
114 chmod a+rx scripts/*
115
116 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
117
118 %install
119 rm -rf $RPM_BUILD_ROOT
120 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_appdir}/docs,/etc/cron.d,%{_sbindir}}
121 install -d $RPM_BUILD_ROOT/var/{log,lib/%{name}}
122
123 cp -a *.php $RPM_BUILD_ROOT%{_appdir}
124 cp -a cli images include install lib plugins resource scripts sql $RPM_BUILD_ROOT%{_appdir}
125 cp -a docs/html $RPM_BUILD_ROOT%{_appdir}/docs/html
126 mv $RPM_BUILD_ROOT{%{_appdir}/poller.php,%{_sbindir}/cacti-poller}
127
128 cp -a log $RPM_BUILD_ROOT/var/log/%{name}
129 cp -a rra $RPM_BUILD_ROOT/var/lib/%{name}
130
131 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
132 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}
133
134 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
135 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
136 cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
137
138 %clean
139 rm -rf $RPM_BUILD_ROOT
140
141 %pre
142 %useradd -u 184 -d /var/lib/%{name} -g http -c "Cacti User" cacti
143
144 %post
145 if [ ! -f /var/log/%{name}/cacti.log ]; then
146         install -m660 -oroot -ghttp /dev/null /var/log/%{name}/cacti.log
147 fi
148
149 %postun
150 if [ "$1" = "0" ]; then
151         %userremove cacti
152 fi
153
154 %triggerin -- apache1 < 1.3.37-3, apache1-base
155 %webapp_register apache %{_webapp}
156
157 %triggerun -- apache1 < 1.3.37-3, apache1-base
158 %webapp_unregister apache %{_webapp}
159
160 %triggerin -- apache < 2.2.0, apache-base
161 %webapp_register httpd %{_webapp}
162
163 %triggerun -- apache < 2.2.0, apache-base
164 %webapp_unregister httpd %{_webapp}
165
166 %triggerin -- lighttpd
167 %webapp_register lighttpd %{_webapp}
168
169 %triggerun -- lighttpd
170 %webapp_unregister lighttpd %{_webapp}
171
172 %triggerpostun -- %{name} < 0.8.7b-9.5
173 if [ -f /etc/cacti/cacti.cfg.rpmsave ]; then
174         cp -f %{_sysconfdir}/config.php{,.rpmnew}
175         mv /etc/cacti/cacti.cfg.rpmsave %{_sysconfdir}/config.php
176 fi
177
178 %files
179 %defattr(644,root,root,755)
180 %doc docs/CHANGELOG docs/CONTRIB docs/README docs/text/manual.txt
181 %dir %attr(750,root,http) %{_sysconfdir}
182 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
183 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
184 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
185 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
186 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}
187 %attr(755,root,root) %{_sbindir}/cacti-poller
188 %dir %{_appdir}
189 %exclude %{_appdir}/install
190 %exclude %{_appdir}/docs
191 %{_appdir}/resource
192 %{_appdir}/sql
193 %{_appdir}/lib
194 %{_appdir}/include
195 %{_appdir}/images
196 %{_appdir}/cli
197 %{_appdir}/plugins
198 %{_appdir}/*.php
199
200 %dir %{_appdir}/scripts
201 %attr(755,root,root) %{_appdir}/scripts/*
202
203 %attr(750,root,http) %dir /var/lib/%{name}
204 %attr(770,root,http) %dir /var/lib/%{name}/rra
205 %attr(730,root,http) %dir /var/log/%{name}
206 %attr(660,root,http) %ghost /var/log/%{name}/cacti.log
207
208 %files setup
209 %defattr(644,root,root,755)
210 %{_appdir}/install
211
212 %files doc
213 %defattr(644,root,root,755)
214 %{_appdir}/docs/html
This page took 0.037664 seconds and 3 git commands to generate.