]> git.pld-linux.org Git - packages/cacti.git/blob - cacti.spec
- add logrotate, adapter
[packages/cacti.git] / cacti.spec
1 #
2 # Conditional build:
3 %bcond_without  pa              # without plugin archidecture patch
4
5 %include        /usr/lib/rpm/macros.perl
6 Summary:        Cacti is a PHP frontend for rrdtool
7 Summary(pl.UTF-8):      Cacti - frontend w PHP do rrdtoola
8 Name:           cacti
9 Version:        0.8.7g
10 Release:        4
11 License:        GPL
12 Group:          Applications/WWW
13 Source0:        http://www.cacti.net/downloads/%{name}-%{version}.tar.gz
14 # Source0-md5:  268421cb1a58d3444f7ecbddb4c4b016
15 Source1:        %{name}.cfg.php
16 Source2:        %{name}.crontab
17 Source3:        %{name}-apache.conf
18 Source4:        %{name}-lighttpd.conf
19 Source5:        %{name}-rrdpath.sql
20 Source6:        %{name}-pa.sql
21 Source7:        %{name}.logrotate
22 # http://cactiusers.org/wiki/PluginArchitectureInstall
23 # http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz
24 Patch0:         %{name}-PA.patch
25 Patch1:         %{name}-config.patch
26 Patch2:         %{name}-adodb.patch
27 Patch3:         %{name}-ioerror.patch
28 Patch4:         %{name}-webroot.patch
29 Patch5:         %{name}-linux_memory.patch
30 Patch6:         %{name}-log-verbosity.patch
31 Patch7:         %{name}-ss_disk-array-indices.patch
32 Patch8:         host_name-url.patch
33 Patch9:         cli-relpath.patch
34 # http://www.cacti.net/download_patches.php
35 Patch10:        data_source_deactivate.patch
36 Patch11:        graph_list_view.patch
37 Patch12:        html_output.patch
38 Patch13:        ldap_group_authenication.patch
39 Patch14:        script_server_command_line_parse.patch
40 Patch15:        ping.patch
41 Patch16:        poller_interval.patch
42 URL:            http://www.cacti.net/
43 BuildRequires:  rpm-perlprov
44 BuildRequires:  sed >= 4.0
45 Requires(postun):       /usr/sbin/userdel
46 Requires(pre):  /bin/id
47 Requires(pre):  /usr/sbin/useradd
48 Requires:       adodb >= 4.67-1.17
49 Requires:       crondaemon
50 Requires:       group(http)
51 Requires:       net-snmp-utils
52 Requires:       php-cli
53 Requires:       php-common >= 4:5.2.13-10
54 Requires:       php-mysql
55 Requires:       php-pcre
56 Requires:       php-session
57 Requires:       php-snmp
58 Requires:       php-xml
59 Requires:       rrdtool
60 Requires:       webapps
61 Requires:       webserver
62 Requires:       webserver(access)
63 Requires:       webserver(alias)
64 Requires:       webserver(indexfile)
65 Requires:       webserver(php)
66 Suggests:       cacti-spine
67 Suggests:       php-gd
68 Provides:       user(cacti)
69 BuildArch:      noarch
70 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71
72 %define         _webapps        /etc/webapps
73 %define         _webapp         %{name}
74 %define         _sysconfdir     %{_webapps}/%{_webapp}
75 %define         _appdir         /usr/share/%{name}
76
77 %description
78 Cacti is a complete frondend to rrdtool, it stores all of the
79 nessesary information to create graphs and populate them with data in
80 a MySQL database.
81
82 The frontend is completely PHP driven. Along with being able to
83 maintain Graphs, Data Sources, and Round Robin Archives in a database,
84 cacti handles the data gathering also. There is also SNMP support for
85 those used to creating traffic graphs with MRTG.
86
87 %description -l pl.UTF-8
88 Cacti to pełny frontend do rrdtoola, zapamiętujący wszystkie
89 informacje potrzebne do tworzenia wykresów i wypełniające je danymi w
90 bazie MySQL.
91
92 Frontend jest w pełni oparty na PHP. Oprócz zarządzania wykresami,
93 źródłami danych, archiwami Round Robin w bazie danych, cacti obsługuje
94 także gromadzenie danych. Ma także obsługę SNMP przydatną przy
95 tworzeniu wykresów ruchu przy użyciu MRTG.
96
97 %package setup
98 Summary:        Cacti setup package
99 Summary(pl.UTF-8):      Pakiet do wstępnej konfiguracji Cacti
100 Group:          Applications/WWW
101 Requires:       %{name} = %{version}-%{release}
102 Suggests:       %{name}-doc = %{version}-%{release}
103
104 %description setup
105 Install this package to configure initial Cacti installation. You
106 should uninstall this package when you're done, as it considered
107 insecure to keep the setup files in place.
108
109 %description setup -l pl.UTF-8
110 Ten pakiet należy zainstalować, aby wstępnie skonfigurować instalację
111 Cacti. Po tym pakiet powinien zostać odinstalowany, jako że jego
112 obecność może być niebezpieczna.
113
114 %package doc
115 Summary:        HTML Documentation for Cacti
116 Summary(pl.UTF-8):      Dokumentacja do Cacti w formacie HTML
117 Group:          Documentation
118 Requires:       %{name} = %{version}-%{release}
119
120 %description doc
121 HTML Documentation for Cacti.
122
123 %description doc -l pl.UTF-8
124 Dokumentacja do Cacti w formacie HTML.
125
126 %prep
127 %setup -q
128 %{?with_pa:%patch0 -p1}
129 %patch10 -p1
130 %patch11 -p1
131 %patch12 -p1
132 %patch13 -p1
133 %patch14 -p1
134 %patch15 -p1
135 %patch16 -p1
136
137 %patch1 -p1
138 %patch2 -p1
139 %patch3 -p1
140 %patch4 -p1
141 %patch5 -p1
142 %patch6 -p1
143 %patch7 -p1
144 %patch8 -p1
145 %patch9 -p1
146
147 mkdir -p sql
148 mv *.sql sql
149 # you should run this sql if your database contains path to %{_datadir}...
150 cp %{SOURCE5} sql
151 cp %{SOURCE6} sql
152
153 %{__rm} -r cacti-plugin-arch
154 %{__rm} -r lib/adodb
155 %{__rm} log/.htaccess
156 %{__rm} cli/.htaccess
157 %{__rm} rra/.placeholder
158 %{__rm} rra/.htaccess
159
160 # must require libs to get fatals on missing files, not include
161 %{__sed} -i -e '
162         s,include(dirname(__FILE__)."/../include/global.php");,require(dirname(__FILE__)."/../include/global.php");,
163         s,include_once,require_once,
164 ' cli/*.php
165
166 # make sure scripts have php shebang
167 %{__sed} -i -e '1{
168     /bin.php/!i#!%{_bindir}/php
169 }' scripts/*.php  cli/*.php
170
171 chmod a+rx scripts/*.php cli/*.php
172
173 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
174
175 # make sure cacti runs out of the box
176 %{__sed} -i -e 's,new_install,%{version},' sql/cacti.sql
177
178 %install
179 rm -rf $RPM_BUILD_ROOT
180 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_appdir}/{docs,plugins},/etc/{cron.d,logrotate.d},%{_sbindir}}
181 install -d $RPM_BUILD_ROOT/var/{log,lib/%{name}}
182
183 cp -a *.php $RPM_BUILD_ROOT%{_appdir}
184 cp -a cli images include install lib resource scripts sql $RPM_BUILD_ROOT%{_appdir}
185 cp -a docs/html $RPM_BUILD_ROOT%{_appdir}/docs/html
186 mv $RPM_BUILD_ROOT{%{_appdir}/poller.php,%{_sbindir}/cacti-poller}
187
188 cp -a log $RPM_BUILD_ROOT/var/log/%{name}
189 cp -a rra $RPM_BUILD_ROOT/var/lib/%{name}
190
191 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
192 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}
193 cp -a %{SOURCE7} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
194
195 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
196 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
197 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
198
199 %clean
200 rm -rf $RPM_BUILD_ROOT
201
202 %pre
203 %useradd -u 184 -d /var/lib/%{name} -g http -c "Cacti User" cacti
204
205 %post
206 if [ ! -f /var/log/%{name}/cacti.log ]; then
207         install -m660 -oroot -ghttp /dev/null /var/log/%{name}/cacti.log
208 fi
209
210 %postun
211 if [ "$1" = "0" ]; then
212         %userremove cacti
213 fi
214
215 %triggerin -- apache1 < 1.3.37-3, apache1-base
216 %webapp_register apache %{_webapp}
217
218 %triggerun -- apache1 < 1.3.37-3, apache1-base
219 %webapp_unregister apache %{_webapp}
220
221 %triggerin -- apache < 2.2.0, apache-base
222 %webapp_register httpd %{_webapp}
223
224 %triggerun -- apache < 2.2.0, apache-base
225 %webapp_unregister httpd %{_webapp}
226
227 %triggerin -- lighttpd
228 %webapp_register lighttpd %{_webapp}
229
230 %triggerun -- lighttpd
231 %webapp_unregister lighttpd %{_webapp}
232
233 %triggerpostun -- %{name} < 0.8.7b-9.5
234 if [ -f /etc/cacti/cacti.cfg.rpmsave ]; then
235         cp -f %{_sysconfdir}/config.php{,.rpmnew}
236         mv /etc/cacti/cacti.cfg.rpmsave %{_sysconfdir}/config.php
237 fi
238
239 %files
240 %defattr(644,root,root,755)
241 %doc docs/CHANGELOG docs/CONTRIB docs/README docs/txt/manual.txt
242 %dir %attr(750,root,http) %{_sysconfdir}
243 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
244 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
245 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
246 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
247 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}
248 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
249 %attr(755,root,root) %{_sbindir}/cacti-poller
250 %dir %{_appdir}
251 %exclude %{_appdir}/install
252 %exclude %{_appdir}/docs
253 %{_appdir}/resource
254 %{_appdir}/sql
255 %{_appdir}/lib
256 %{_appdir}/include
257 %{_appdir}/images
258 %{_appdir}/plugins
259 %{_appdir}/*.php
260
261 %dir %{_appdir}/cli
262 %attr(755,root,root) %{_appdir}/cli/*
263
264 %dir %{_appdir}/scripts
265 %attr(755,root,root) %{_appdir}/scripts/*
266
267 %attr(750,root,http) %dir /var/lib/%{name}
268 %attr(770,root,http) %dir /var/lib/%{name}/rra
269 %attr(730,root,http) %dir /var/log/%{name}
270 %attr(660,root,http) %ghost /var/log/%{name}/cacti.log
271
272 %files setup
273 %defattr(644,root,root,755)
274 %{_appdir}/install
275
276 %files doc
277 %defattr(644,root,root,755)
278 %{_appdir}/docs
This page took 0.0507570000000001 seconds and 3 git commands to generate.