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