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