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