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