]> git.pld-linux.org Git - packages/cacti.git/blob - cacti.spec
71875ef5403e9897c88bc66a1b3651c714e813f8
[packages/cacti.git] / cacti.spec
1 %define         pia_ver 3.1
2 %define         php_min_version 5.2.13-10
3 %include        /usr/lib/rpm/macros.php
4 Summary:        Cacti is a PHP frontend for rrdtool
5 Summary(pl.UTF-8):      Cacti - frontend w PHP do rrdtoola
6 Name:           cacti
7 Version:        0.8.8d
8 Release:        1
9 License:        GPL v2
10 Group:          Applications/WWW
11 Source0:        http://www.cacti.net/downloads/%{name}-%{version}.tar.gz
12 # Source0-md5:  4507d6d189cf0dc881bf00d47537037a
13 Source2:        %{name}.crontab
14 Source3:        %{name}-apache.conf
15 Source4:        %{name}-lighttpd.conf
16 Source5:        %{name}-rrdpath.sql
17 Source7:        %{name}.logrotate
18 Patch0:         mysql-socket.patch
19 Patch1:         %{name}-config.patch
20 Patch2:         %{name}-adodb.patch
21 Patch3:         %{name}-ioerror.patch
22 Patch4:         %{name}-webroot.patch
23 Patch5:         %{name}-linux_memory.patch
24 Patch6:         %{name}-log-verbosity.patch
25 Patch7:         %{name}-ss_disk-array-indices.patch
26 Patch8:         host_name-url.patch
27 # http://www.cacti.net/download_patches.php
28 # Patch100: ..
29 URL:            http://www.cacti.net/
30 BuildRequires:  sed >= 4.0
31 Requires(postun):       /usr/sbin/userdel
32 Requires(pre):  /bin/id
33 Requires(pre):  /usr/sbin/useradd
34 Requires:       adodb >= 4.67-1.17
35 Requires:       cacti-plugin-boost >= 5.0
36 Requires:       crondaemon
37 Requires:       group(http)
38 Requires:       net-snmp-utils
39 Requires:       php(core) >= %{php_min_version}
40 Requires:       php(mysql)
41 Requires:       php(pcre)
42 Requires:       php(session)
43 Requires:       php(snmp)
44 Requires:       php(xml)
45 Requires:       rrdtool
46 Requires:       webapps
47 Requires:       webserver
48 Requires:       webserver(access)
49 Requires:       webserver(alias)
50 Requires:       webserver(indexfile)
51 Requires:       webserver(php)
52 Suggests:       cacti-spine
53 Suggests:       php-bcmath
54 Suggests:       php-ftp
55 Suggests:       php-gd
56 Provides:       cacti(pia) = %{pia_ver}
57 Provides:       user(cacti)
58 Obsoletes:      cacti-add_template
59 Obsoletes:      cacti-plugin-update
60 Conflicts:      logrotate < 3.8.0
61 BuildArch:      noarch
62 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63
64 %define         _webapps        /etc/webapps
65 %define         _webapp         %{name}
66 %define         _sysconfdir     %{_webapps}/%{_webapp}
67 %define         _appdir         /usr/share/%{name}
68
69 # bad depsolver
70 %define         _noautopear     pear
71 # optional
72 %define         _noautophp      php-ftp php-bcmath
73
74 # put it together for rpmbuild
75 %define         _noautoreq      %{?_noautophp} %{?_noautopear}
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
129 # official patches
130 %if 0%{?PATCH100:1}
131 %patch100 -p1
132 %endif
133
134 %patch0 -p1
135 %patch1 -p1
136 %patch2 -p1
137 %patch3 -p1
138 %patch4 -p1
139 %patch5 -p1
140 %patch6 -p1
141 %patch7 -p1
142 %patch8 -p1
143
144 mkdir -p sql
145 mv *.sql sql
146 # you should run this sql if your database contains path to %{_datadir}...
147 cp -p %{SOURCE5} sql
148
149 %{__rm} -r lib/adodb
150 %{__rm} log/.htaccess
151 %{__rm} cli/.htaccess
152 %{__rm} rra/.htaccess
153
154 # must require libs to get fatals on missing files, not include
155 %{__sed} -i -e '
156         s,include(dirname(__FILE__)."/../include/global.php");,require(dirname(__FILE__)."/../include/global.php");,
157         s,include_once,require_once,
158 ' cli/*.php
159
160 # make sure scripts have php shebang
161 %{__sed} -i -e '1{
162     /bin.php/!i#!%{_bindir}/php
163 }' scripts/*.php  cli/*.php
164
165 chmod a+rx scripts/*.php cli/*.php
166
167 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
168
169 # make sure cacti runs out of the box
170 %{__sed} -i -e 's,new_install,%{version},' sql/cacti.sql
171
172 %install
173 rm -rf $RPM_BUILD_ROOT
174 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_appdir}/{docs,plugins},/etc/{cron.d,logrotate.d},%{_sbindir}}
175 install -d $RPM_BUILD_ROOT/var/{log,{lib,cache}/%{name}}
176
177 cp -p *.php $RPM_BUILD_ROOT%{_appdir}
178 cp -a cli images include install lib resource scripts sql $RPM_BUILD_ROOT%{_appdir}
179 cp -a docs/html $RPM_BUILD_ROOT%{_appdir}/docs/html
180 mv $RPM_BUILD_ROOT{%{_appdir}/poller.php,%{_sbindir}/cacti-poller}
181
182 cp -a log $RPM_BUILD_ROOT/var/log/%{name}
183 install -d $RPM_BUILD_ROOT/var/log/archive/%{name}
184 cp -a rra $RPM_BUILD_ROOT/var/lib/%{name}
185
186 mv $RPM_BUILD_ROOT{%{_appdir}/include,%{_sysconfdir}}/config.php
187 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}
188 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
189
190 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
191 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
192 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
193
194 %clean
195 rm -rf $RPM_BUILD_ROOT
196
197 %pre
198 %useradd -u 184 -d /var/lib/%{name} -g http -c "Cacti User" cacti
199
200 %post
201 if [ ! -f /var/log/%{name}/cacti.log ]; then
202         install -m660 -oroot -ghttp /dev/null /var/log/%{name}/cacti.log
203 fi
204
205 %postun
206 if [ "$1" = "0" ]; then
207         %userremove cacti
208 fi
209
210 %post setup
211 %{_appdir}/cli/upgrade_database.php || :
212
213 %triggerin -- apache1 < 1.3.37-3, apache1-base
214 %webapp_register apache %{_webapp}
215
216 %triggerun -- apache1 < 1.3.37-3, apache1-base
217 %webapp_unregister apache %{_webapp}
218
219 %triggerin -- apache < 2.2.0, apache-base
220 %webapp_register httpd %{_webapp}
221
222 %triggerun -- apache < 2.2.0, apache-base
223 %webapp_unregister httpd %{_webapp}
224
225 %triggerin -- lighttpd
226 %webapp_register lighttpd %{_webapp}
227
228 %triggerun -- lighttpd
229 %webapp_unregister lighttpd %{_webapp}
230
231 %triggerpostun -- %{name} < 0.8.7b-9.5
232 if [ -f /etc/cacti/cacti.cfg.rpmsave ]; then
233         cp -f %{_sysconfdir}/config.php{,.rpmnew}
234         mv /etc/cacti/cacti.cfg.rpmsave %{_sysconfdir}/config.php
235 fi
236
237 %files
238 %defattr(644,root,root,755)
239 %doc docs/CHANGELOG docs/CONTRIB docs/README docs/txt/manual.txt
240 %dir %attr(750,root,http) %{_sysconfdir}
241 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
242 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
243 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
244 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
245 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}
246 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
247 %attr(755,root,root) %{_sbindir}/cacti-poller
248 %dir %{_appdir}
249 %exclude %{_appdir}/install
250 %exclude %{_appdir}/docs
251 %{_appdir}/resource
252 %{_appdir}/sql
253 %{_appdir}/lib
254 %{_appdir}/include
255 %{_appdir}/images
256 %{_appdir}/plugins
257 %{_appdir}/*.php
258
259 %dir %{_appdir}/cli
260 %attr(755,root,root) %{_appdir}/cli/*
261
262 %dir %{_appdir}/scripts
263 %attr(755,root,root) %{_appdir}/scripts/*
264
265 %attr(750,root,http) %dir /var/lib/%{name}
266 %attr(770,root,http) %dir /var/lib/%{name}/rra
267 %attr(730,root,http) %dir /var/log/%{name}
268 %attr(750,root,logs) %dir /var/log/archive/%{name}
269 %attr(660,root,http) %ghost /var/log/%{name}/cacti.log
270 %attr(730,root,http) %dir /var/cache/%{name}
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.037937 seconds and 2 git commands to generate.