]> git.pld-linux.org Git - packages/cacti.git/blob - cacti.spec
- rel 14; one more rrdtool 1.3.x fix
[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.7b
6 Release:        14
7 License:        GPL
8 Group:          Applications/WWW
9 Source0:        http://www.cacti.net/downloads/%{name}-%{version}.tar.gz
10 # Source0-md5:  63ffca5735b60bc33c68bc880f0e8042
11 Source1:        %{name}.cfg.php
12 Source2:        %{name}.crontab
13 Source3:        http://cactiusers.org/downloads/%{name}-plugin-arch.tar.gz
14 # Source3-md5:  7079c1f366e8ea1b26c7e251e6373226
15 Source4:        %{name}-apache.conf
16 Source5:        %{name}-lighttpd.conf
17 Source6:        %{name}-rrdpath.sql
18 Patch100:       http://www.cacti.net/downloads/patches/0.8.7b/upgrade_from_086k_fix.patch
19 Patch101:       http://www.cacti.net/downloads/patches/0.8.7b/snmp_auth_none_notice.patch
20 Patch102:       http://www.cacti.net/downloads/patches/0.8.7b/reset_each_patch.patch
21 Patch0:         %{name}-config.patch
22 Patch1:         %{name}-adodb.patch
23 Patch2:         %{name}-ioerror.patch
24 Patch3:         %{name}-webroot.patch
25 Patch4:         %{name}-linux_memory.patch
26 Patch5:         %{name}-log-verbosity.patch
27 Patch6:         %{name}-ss_disk-array-indices.patch
28 Patch7:         %{name}-rrdtool-1.3.patch
29 URL:            http://www.cacti.net/
30 BuildRequires:  rpm-perlprov
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:       crondaemon
37 Requires:       group(http)
38 Requires:       net-snmp-utils
39 Requires:       php(gd)
40 Requires:       php(mysql)
41 Requires:       php(pcre)
42 Requires:       php(snmp)
43 Requires:       php(xml)
44 Requires:       php-cli
45 Requires:       rrdtool
46 Requires:       webapps
47 Requires:       webserver
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 %patch100 -p1
111 %patch101 -p1
112 %patch102 -p1
113 %{__patch} -p1 -s < cacti-plugin-arch/cacti-plugin-0.8.7b-PA-v2.1.diff
114 %patch0 -p1
115 %patch1 -p1
116 %patch2 -p1
117 %patch3 -p1
118 %patch4 -p1
119 %patch5 -p1
120 %patch6 -p1
121 %patch7 -p0
122
123 mkdir -p sql
124 mv *.sql sql
125 # you should run this sql if your database contains path to %{_datadir}...
126 cp %{SOURCE6} sql
127
128 mv cacti-plugin-arch/pa.sql sql
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 rm -f plugins/index.php
135
136 %{__sed} -i -e '1i#!%{_bindir}/php' scripts/*.php
137 chmod a+rx scripts/*
138
139 %{__sed} -i -e '1i#!%{_bindir}/php' cli/*.php
140 chmod a+rx cli/*
141
142 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
143
144 %install
145 rm -rf $RPM_BUILD_ROOT
146 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_appdir}/docs,/etc/cron.d,%{_sbindir}}
147 install -d $RPM_BUILD_ROOT/var/{log,lib/%{name}}
148
149 cp -a *.php $RPM_BUILD_ROOT%{_appdir}
150 cp -a cli images include install lib plugins resource scripts sql $RPM_BUILD_ROOT%{_appdir}
151 cp -a docs/html $RPM_BUILD_ROOT%{_appdir}/docs/html
152 mv $RPM_BUILD_ROOT{%{_appdir}/poller.php,%{_sbindir}/cacti-poller}
153
154 cp -a log $RPM_BUILD_ROOT/var/log/%{name}
155 cp -a rra $RPM_BUILD_ROOT/var/lib/%{name}
156
157 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/config.php
158 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/%{name}
159
160 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
161 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
162 cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
163
164 %clean
165 rm -rf $RPM_BUILD_ROOT
166
167 %pre
168 %useradd -u 184 -d /var/lib/%{name} -g http -c "Cacti User" cacti
169
170 %post
171 if [ ! -f /var/log/%{name}/cacti.log ]; then
172         install -m660 -oroot -ghttp /dev/null /var/log/%{name}/cacti.log
173 fi
174
175 %postun
176 if [ "$1" = "0" ]; then
177         %userremove cacti
178 fi
179
180 %triggerin -- apache1 < 1.3.37-3, apache1-base
181 %webapp_register apache %{_webapp}
182
183 %triggerun -- apache1 < 1.3.37-3, apache1-base
184 %webapp_unregister apache %{_webapp}
185
186 %triggerin -- apache < 2.2.0, apache-base
187 %webapp_register httpd %{_webapp}
188
189 %triggerun -- apache < 2.2.0, apache-base
190 %webapp_unregister httpd %{_webapp}
191
192 %triggerin -- lighttpd
193 %webapp_register lighttpd %{_webapp}
194
195 %triggerun -- lighttpd
196 %webapp_unregister lighttpd %{_webapp}
197
198 %triggerpostun -- %{name} < 0.8.7b-9.5
199 if [ -f /etc/cacti/cacti.cfg.rpmsave ]; then
200         cp -f %{_sysconfdir}/config.php{,.rpmnew}
201         mv /etc/cacti/cacti.cfg.rpmsave %{_sysconfdir}/config.php
202 fi
203
204 %files
205 %defattr(644,root,root,755)
206 %doc docs/CHANGELOG docs/CONTRIB docs/README docs/text/manual.txt
207 %dir %attr(750,root,http) %{_sysconfdir}
208 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
209 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
210 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
211 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config.php
212 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name}
213 %attr(755,root,root) %{_sbindir}/cacti-poller
214 %dir %{_appdir}
215 %exclude %{_appdir}/install
216 %exclude %{_appdir}/docs
217 %{_appdir}/resource
218 %{_appdir}/sql
219 %{_appdir}/lib
220 %{_appdir}/include
221 %{_appdir}/images
222 %{_appdir}/plugins
223 %{_appdir}/*.php
224
225 %dir %{_appdir}/cli
226 %attr(755,root,root) %{_appdir}/cli/*
227
228 %dir %{_appdir}/scripts
229 %attr(755,root,root) %{_appdir}/scripts/*
230
231 %attr(750,root,http) %dir /var/lib/%{name}
232 %attr(770,root,http) %dir /var/lib/%{name}/rra
233 %attr(730,root,http) %dir /var/log/%{name}
234 %attr(660,root,http) %ghost /var/log/%{name}/cacti.log
235
236 %files setup
237 %defattr(644,root,root,755)
238 %{_appdir}/install
239
240 %files doc
241 %defattr(644,root,root,755)
242 %{_appdir}/docs
This page took 0.075159 seconds and 4 git commands to generate.