]> git.pld-linux.org Git - SPECS.git/blob - parselog.spec
SPECS updated Sun 1 Aug 11:02:02 CEST 2021
[SPECS.git] / parselog.spec
1 # TODO
2 # - cgi outputs just 'XML::API::XHTML=HASH(0x834c240)' instead of real html
3 #
4 # Conditional build:
5 %bcond_without  tests           # do not perform "make test"
6
7 %define         cgi_version 0.04
8 %define         main_version 0.09
9
10 %define         pdir parselog
11 %define         pnam cgi
12 Summary:        Parselog - a log file analysis tool
13 Summary(pl.UTF-8):      Parselog - narzędzie do analizy plików logów
14 Name:           parselog
15 Version:        %{main_version}
16 Release:        0.11
17 License:        GPL v2
18 Group:          Applications/System
19 Source0:        http://rekudos.net/repo/parselog/%{name}-%{main_version}.tar.gz
20 # Source0-md5:  bac806ec9981c9d363e709b42d9b129e
21 Source1:        http://rekudos.net/repo/parselog-cgi/%{name}-cgi-%{cgi_version}.tar.gz
22 # Source1-md5:  2942f30dd190dac31d7970ed04e0ffe5
23 Source2:        %{name}-apache.conf
24 Patch0:         %{name}-debug.patch
25 URL:            http://rekudos.net/parselog/
26 BuildRequires:  perl-DateTime
27 BuildRequires:  perl-LockFile-Simple
28 BuildRequires:  perl-devel >= 1:5.8.0
29 BuildRequires:  rpm-perlprov >= 4.1-13
30 BuildRequires:  rpmbuild(macros) >= 1.221
31 %if %{with tests}
32 BuildRequires:  perl-debug
33 %endif
34 Requires:       webapps
35 BuildArch:      noarch
36 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37
38 %define         _webapps        /etc/webapps
39 %define         _webapp         %{name}
40
41 %description
42 Parselog can produce statistics for the following applications
43 - AMaViS (and derivatives)
44 - Exim
45 - Postfix
46 - Apache
47 - MyDNS (coming soon)
48
49 Reasons to use parselog instead of other log tools:
50 - Simplicity - Install one tool too cover multiple applications,
51 - Centralisation - display results from multiple machines together.
52
53 Reasons for not using parselog of other log tools:
54 - Speed - parselog is written in Perl. Your 'C'-based tool will be
55   faster,
56 - Completeness - maybe parselog doesn't measure the same way other
57   tools do.
58
59 This package contains a set of Perl modules and a Perl script that
60 will parse various log files and create Round Robin Databases (RRDs).
61
62 %description -l pl.UTF-8
63 Parselog może tworzyć statystyki dla następujących aplikacji:
64 - AMaViS (i pochodne)
65 - Exim
66 - Postfix
67 - Apache
68 - MyDNS (wkrótce)
69
70 Powody, aby używać parseloga zamiast innych narzędzi do logów:
71 - prostota - jedno narzędzie dla wielu aplikacji,
72 - centralizacja - wyświetlanie razem wyników z wielu maszyn.
73
74 Powody, aby nie używać parseloga zamiast innych narzędzi:
75 - szybkość - parselog jest napisany w Perlu; narzędzie w C będzie
76   szybsze,
77 - kompletność - parselog może nie liczyć w ten sam sposób, co inne
78   narzędzie.
79
80 Ten pakiet zawiera zestaw modułów Perla i skrypt perlowy
81 przetwarzający różne pliki logów i tworzący bazy danych RRD.
82
83 %package cgi
84 Summary:        CGI script to generate graphs
85 Summary(pl.UTF-8):      Skrypt CGI generujący wykresy
86 Version:        %{cgi_version}
87 Group:          Applications/WWW
88 Requires:       %{name} = %{main_version}-%{release}
89
90 %description cgi
91 This package contains a Perl CGI script to generate on-the-fly graphs
92 to be viewed with a web browser.
93
94 %description cgi -l pl.UTF-8
95 Ten pakiet zawiera skrypt perlowy CGI generujący w locie wykresy
96 przeznaczone do oglądania przeglądarką WWW.
97
98 %prep
99 %setup -q -a 1
100 # for simplicity of build
101 mv parselog-cgi-%{cgi_version} cgi
102 %patch0 -p1
103
104 cd cgi
105 sed -i -e 's,/etc/parselog,%{_webapps}/%{_webapp},g' Makefile.PL bin/*.cgi conf/*.conf
106
107 %build
108 %{__perl} Makefile.PL \
109         INSTALLDIRS=vendor
110 %{__make} \
111         OPTIMIZE="%{rpmcflags}"
112 %{?with_tests:%{__make} test}
113
114 cd cgi
115 %{__perl} Makefile.PL \
116         INSTALLDIRS=vendor
117 %{__make} \
118         OPTIMIZE="%{rpmcflags}"
119 %{?with_tests:%{__make} test}
120
121 %install
122 rm -rf $RPM_BUILD_ROOT
123
124 install -d $RPM_BUILD_ROOT{%{_sbindir},/var/cache/parselog-cgi}
125 %{__make} install dirs etc \
126         DESTDIR=$RPM_BUILD_ROOT
127
128 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
129 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/parselog
130 cp -a example $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
131 install conf/conf.d/* $RPM_BUILD_ROOT%{_sysconfdir}/parselog/conf.d
132
133 cd cgi
134 install -d $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
135 %{__make} install cgi \
136         DESTDIR=$RPM_BUILD_ROOT
137
138 #mv $RPM_BUILD_ROOT{%{_sysconfdir}/parselog/{css,parselog-cgi.conf},%{_webapps}/%{_webapp}}
139 rm -f $RPM_BUILD_ROOT%{_bindir}/%{name}.cgi # duplicate
140 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
141 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
142
143 rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/parselog/.packlist
144
145 %clean
146 rm -rf $RPM_BUILD_ROOT
147
148 %triggerin -- apache1 < 1.3.37-3, apache1-base
149 %webapp_register apache %{_webapp}
150
151 %triggerun -- apache1 < 1.3.37-3, apache1-base
152 %webapp_unregister apache %{_webapp}
153
154 %triggerin -- apache < 2.2.0, apache-base
155 %webapp_register httpd %{_webapp}
156
157 %triggerun -- apache < 2.2.0, apache-base
158 %webapp_unregister httpd %{_webapp}
159
160 %triggerpostun -- %{name}-cgi < 0.04-0.2
161 # rescue app configs.
162 for i in style.css parselog-cgi.conf; do
163         if [ -f /etc/%{name}/$i.rpmsave ]; then
164                 mv -f %{_webapps}/%{_webapp}/$i{,.rpmnew}
165                 mv -f /etc/%{name}/$i.rpmsave %{_webapps}/%{_webapp}/$i
166         fi
167 done
168
169 # migrate from apache-config macros
170 if [ -f /etc/%{name}/apache.conf.rpmsave ]; then
171         if [ -d /etc/apache/webapps.d ]; then
172                 cp -f %{_webapps}/%{_webapp}/apache.conf{,.rpmnew}
173                 cp -f /etc/%{name}/apache.conf.rpmsave %{_webapps}/%{_webapp}/apache.conf
174         fi
175
176         if [ -d /etc/httpd/webapps.d ]; then
177                 cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
178                 cp -f /etc/%{name}/apache.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
179         fi
180         rm -f /etc/%{name}/apache.conf.rpmsave
181 fi
182
183 # migrating from earlier apache-config?
184 if [ -L /etc/apache/conf.d/09_%{name}.conf ]; then
185         rm -f /etc/apache/conf.d/09_%{name}.conf
186         /usr/sbin/webapp register apache %{_webapp}
187         %service -q apache reload
188 fi
189 if [ -L /etc/httpd/httpd.conf/09_%{name}.conf ]; then
190         rm -f /etc/httpd/httpd.conf/09_%{name}.conf
191         /usr/sbin/webapp register httpd %{_webapp}
192         %service -q httpd reload
193 fi
194
195 %files
196 %defattr(644,root,root,755)
197 %doc Changes README
198 %dir %{_sysconfdir}/parselog
199 %dir %{_sysconfdir}/parselog/conf.d
200 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/parselog/parselog.conf
201 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/parselog/conf.d/*
202
203 %attr(755,root,root) %{_sbindir}/parselog
204
205 %{_mandir}/man1/parselog.1p*
206 %{_mandir}/man3/*
207
208 %{perl_vendorlib}/Log/Parse.pm
209 %{perl_vendorlib}/Log/Read.pm
210
211 %dir %{perl_vendorlib}/Log/Read
212 %{perl_vendorlib}/Log/Read/Apache.pm
213 %{perl_vendorlib}/Log/Read/Exim.pm
214 %{perl_vendorlib}/Log/Read/Syslog.pm
215
216 %dir /var/lib/parselog
217
218 %{_examplesdir}/%{name}-%{version}
219
220 %files cgi
221 %defattr(644,root,root,755)
222 %doc cgi/{Changes,README}
223 %dir %attr(750,root,http) %{_webapps}/%{_webapp}
224 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
225 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
226 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/parselog-cgi.conf
227 %dir %{_webapps}/%{_webapp}/css
228 %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/css/*
229 %attr(755,root,root) /usr/lib/cgi-bin/parselog.cgi
230 %{_mandir}/man1/parselog.cgi.1p*
231 /var/cache/parselog-cgi
This page took 0.24949 seconds and 3 git commands to generate.