]> git.pld-linux.org Git - packages/cacti.git/blob - cacti.spec
official security.patch. fixes CVE-2014-2326, CVE-2014-2328, CVE-2014-2708, CVE-2014...
[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.8b
8 Release:        5
9 License:        GPL v2
10 Group:          Applications/WWW
11 Source0:        http://www.cacti.net/downloads/%{name}-%{version}.tar.gz
12 # Source0-md5:  acb40deae073ca22e5c01a8e3ba389fb
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 Patch9:         rra-comments.patch
28 # http://www.cacti.net/download_patches.php
29 Patch100:       http://www.cacti.net/downloads/patches/%{version}/security.patch
30 # Patch100-md5: bd18f265cca1f9713f88296f0be1ef56
31 URL:            http://www.cacti.net/
32 BuildRequires:  sed >= 4.0
33 Requires(postun):       /usr/sbin/userdel
34 Requires(pre):  /bin/id
35 Requires(pre):  /usr/sbin/useradd
36 Requires:       adodb >= 4.67-1.17
37 Requires:       cacti-plugin-boost >= 5.0
38 Requires:       crondaemon
39 Requires:       group(http)
40 Requires:       net-snmp-utils
41 Requires:       php(core) >= %{php_min_version}
42 Requires:       php(mysql)
43 Requires:       php(pcre)
44 Requires:       php(session)
45 Requires:       php(snmp)
46 Requires:       php(xml)
47 Requires:       rrdtool
48 Requires:       webapps
49 Requires:       webserver
50 Requires:       webserver(access)
51 Requires:       webserver(alias)
52 Requires:       webserver(indexfile)
53 Requires:       webserver(php)
54 Suggests:       cacti-spine
55 Suggests:       php-bcmath
56 Suggests:       php-ftp
57 Suggests:       php-gd
58 Provides:       cacti(pia) = %{pia_ver}
59 Provides:       user(cacti)
60 Obsoletes:      cacti-add_template
61 Obsoletes:      cacti-plugin-update
62 Conflicts:      logrotate < 3.8.0
63 BuildArch:      noarch
64 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65
66 %define         _webapps        /etc/webapps
67 %define         _webapp         %{name}
68 %define         _sysconfdir     %{_webapps}/%{_webapp}
69 %define         _appdir         /usr/share/%{name}
70
71 # bad depsolver
72 %define         _noautopear     pear
73 # optional
74 %define         _noautophp      php-ftp php-bcmath
75
76 # put it together for rpmbuild
77 %define         _noautoreq      %{?_noautophp} %{?_noautopear}
78
79 %description
80 Cacti is a complete frondend to rrdtool, it stores all of the
81 nessesary information to create graphs and populate them with data in
82 a MySQL database.
83
84 The frontend is completely PHP driven. Along with being able to
85 maintain Graphs, Data Sources, and Round Robin Archives in a database,
86 cacti handles the data gathering also. There is also SNMP support for
87 those used to creating traffic graphs with MRTG.
88
89 %description -l pl.UTF-8
90 Cacti to pełny frontend do rrdtoola, zapamiętujący wszystkie
91 informacje potrzebne do tworzenia wykresów i wypełniające je danymi w
92 bazie MySQL.
93
94 Frontend jest w pełni oparty na PHP. Oprócz zarządzania wykresami,
95 źródłami danych, archiwami Round Robin w bazie danych, cacti obsługuje
96 także gromadzenie danych. Ma także obsługę SNMP przydatną przy
97 tworzeniu wykresów ruchu przy użyciu MRTG.
98
99 %package setup
100 Summary:        Cacti setup package
101 Summary(pl.UTF-8):      Pakiet do wstępnej konfiguracji Cacti
102 Group:          Applications/WWW
103 Requires:       %{name} = %{version}-%{release}
104 Suggests:       %{name}-doc = %{version}-%{release}
105
106 %description setup
107 Install this package to configure initial Cacti installation. You
108 should uninstall this package when you're done, as it considered
109 insecure to keep the setup files in place.
110
111 %description setup -l pl.UTF-8
112 Ten pakiet należy zainstalować, aby wstępnie skonfigurować instalację
113 Cacti. Po tym pakiet powinien zostać odinstalowany, jako że jego
114 obecność może być niebezpieczna.
115
116 %package doc
117 Summary:        HTML Documentation for Cacti
118 Summary(pl.UTF-8):      Dokumentacja do Cacti w formacie HTML
119 Group:          Documentation
120 Requires:       %{name} = %{version}-%{release}
121
122 %description doc
123 HTML Documentation for Cacti.
124
125 %description doc -l pl.UTF-8
126 Dokumentacja do Cacti w formacie HTML.
127
128 %prep
129 %setup -q
130
131 # official patches
132 %if 0%{?PATCH100:1}
133 %patch100 -p1
134 %endif
135
136 %patch0 -p1
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 -p2
146
147 mkdir -p sql
148 mv *.sql sql
149 # you should run this sql if your database contains path to %{_datadir}...
150 cp -p %{SOURCE5} sql
151
152 %{__rm} -r lib/adodb
153 %{__rm} log/.htaccess
154 %{__rm} cli/.htaccess
155 %{__rm} rra/.htaccess
156
157 # must require libs to get fatals on missing files, not include
158 %{__sed} -i -e '
159         s,include(dirname(__FILE__)."/../include/global.php");,require(dirname(__FILE__)."/../include/global.php");,
160         s,include_once,require_once,
161 ' cli/*.php
162
163 # make sure scripts have php shebang
164 %{__sed} -i -e '1{
165     /bin.php/!i#!%{_bindir}/php
166 }' scripts/*.php  cli/*.php
167
168 chmod a+rx scripts/*.php cli/*.php
169
170 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
171
172 # make sure cacti runs out of the box
173 %{__sed} -i -e 's,new_install,%{version},' sql/cacti.sql
174
175 %install
176 rm -rf $RPM_BUILD_ROOT
177 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_appdir}/{docs,plugins},/etc/{cron.d,logrotate.d},%{_sbindir}}
178 install -d $RPM_BUILD_ROOT/var/{log,{lib,cache}/%{name}}
179
180 cp -p *.php $RPM_BUILD_ROOT%{_appdir}
181 cp -a cli images include install lib resource scripts sql $RPM_BUILD_ROOT%{_appdir}
182 cp -a docs/html $RPM_BUILD_ROOT%{_appdir}/docs/html
183 mv $RPM_BUILD_ROOT{%{_appdir}/poller.php,%{_sbindir}/cacti-poller}
184
185 cp -a log $RPM_BUILD_ROOT/var/log/%{name}
186 install -d $RPM_BUILD_ROOT/var/log/archive/%{name}
187 cp -a rra $RPM_BUILD_ROOT/var/lib/%{name}
188
189 mv $RPM_BUILD_ROOT{%{_appdir}/include,%{_sysconfdir}}/config.php
190 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}
191 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
192
193 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
194 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
195 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
196
197 %clean
198 rm -rf $RPM_BUILD_ROOT
199
200 %pre
201 %useradd -u 184 -d /var/lib/%{name} -g http -c "Cacti User" cacti
202
203 %post
204 if [ ! -f /var/log/%{name}/cacti.log ]; then
205         install -m660 -oroot -ghttp /dev/null /var/log/%{name}/cacti.log
206 fi
207
208 %{_appdir}/cli/upgrade_database.php || :
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(750,root,logs) %dir /var/log/archive/%{name}
271 %attr(660,root,http) %ghost /var/log/%{name}/cacti.log
272 %attr(730,root,http) %dir /var/cache/%{name}
273
274 %files setup
275 %defattr(644,root,root,755)
276 %{_appdir}/install
277
278 %files doc
279 %defattr(644,root,root,755)
280 %{_appdir}/docs
This page took 0.040334 seconds and 3 git commands to generate.