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