cvsextras 8225e71
Name:		awstats
648b6d0
Version:	6.4
648b6d0
Release:	0.1.pre
cvsextras 8225e71
Summary:	Advanced Web Statistics
cvsextras 8225e71
License:	GPL
cvsextras 8225e71
Group:		Applications/Internet
cvsextras 8225e71
URL:		http://awstats.sourceforge.net
648b6d0
#Source0:	http://dl.sf.net/awstats/awstats-6.3.tgz
648b6d0
Source0:	http://awstats.sourceforge.net/files/awstats-6.4.tgz
cvsextras 8225e71
BuildArch:	noarch
cvsextras 8225e71
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
cvsextras 8225e71
Requires:	httpd
cvsextras 8225e71
Requires:	perl
cvsextras 8225e71
Requires(post): perl
cvsextras 8225e71
Requires(postun): /sbin/service
cvsextras 8225e71
cvsextras 8225e71
%description
cvsextras 8225e71
Advanced Web Statistics is a powerful and featureful tool that generates
cvsextras 8225e71
advanced web server graphic statistics. This server log analyzer works
cvsextras 8225e71
from command line or as a CGI and shows you all information your log contains,
cvsextras 8225e71
in graphical web pages. It can analyze a lot of web/wap/proxy servers like
cvsextras 8225e71
Apache, IIS, Weblogic, Webstar, Squid, ... but also mail or ftp servers.
cvsextras 8225e71
cvsextras 8225e71
This program can measure visits, unique vistors, authenticated users, pages,
cvsextras 8225e71
domains/countries, OS busiest times, robot visits, type of files, search
cvsextras 8225e71
engines/keywords used, visits duration, HTTP errors and more...
cvsextras 8225e71
Statistics can be updated from a browser or your scheduler.
cvsextras 8225e71
The program also supports virtual servers, plugins and a lot of features.
cvsextras 8225e71
cvsextras 8225e71
With the default configuration, the statistics are available:
cvsextras 8225e71
http://localhost/awstats/awstats.pl
cvsextras 8225e71
cvsextras 8225e71
%prep
cvsextras 8225e71
%setup -q
cvsextras 8225e71
cvsextras 8225e71
# Fix style sheets.
cvsextras 8225e71
perl -pi -e 's,/icon,/awstatsicons,g' wwwroot/css/*
cvsextras 8225e71
cvsextras 8225e71
# Fix some bad file permissions here for convenience.
cvsextras 8225e71
chmod -x tools/httpd_conf
cvsextras 8225e71
find tools/xslt -type f | xargs chmod -x
cvsextras 8225e71
cvsextras 8225e71
# Remove \r in conf file (file written on MS Windows)
cvsextras 8225e71
perl -pi -e 's/\r//g' tools/httpd_conf
cvsextras 8225e71
cvsextras 8225e71
%install
cvsextras 8225e71
rm -rf $RPM_BUILD_ROOT
cvsextras 8225e71
cvsextras 8225e71
### Create cron job
cvsextras 8225e71
%{__cat} <<EOF >awstats.cron
cvsextras 8225e71
#!/bin/bash
cvsextras 8225e71
cvsextras 8225e71
if [ -f %{_localstatedir}/log/httpd/access_log ] ; then
cvsextras 8225e71
        exec perl %{_datadir}/awstats/tools/awstats_updateall.pl now \
cvsextras 8225e71
                -confdir="%{_sysconfdir}/awstats" \
cvsextras 8225e71
                -awstatsprog="%{_datadir}/awstats/wwwroot/cgi-bin/awstats.pl" >/dev/null
cvsextras 8225e71
fi
cvsextras 8225e71
exit 0
cvsextras 8225e71
EOF
cvsextras 8225e71
cvsextras 8225e71
### Create folders
cvsextras 8225e71
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{httpd/conf.d,%{name},cron.hourly}
cvsextras 8225e71
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}
cvsextras 8225e71
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
cvsextras 8225e71
cvsextras 8225e71
### Install files
cvsextras 8225e71
cp -pr tools $RPM_BUILD_ROOT%{_datadir}/%{name}
cvsextras 8225e71
chmod 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/tools/*.pl
cvsextras 8225e71
chmod 644 $RPM_BUILD_ROOT%{_datadir}/%{name}/tools/httpd_conf
cvsextras 8225e71
cp -pr wwwroot $RPM_BUILD_ROOT%{_datadir}/%{name}
cvsextras 8225e71
chmod 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/wwwroot/cgi-bin/*.pl
cvsextras 8225e71
rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/wwwroot/classes/src
cvsextras 8225e71
### We want these outside CGI path.
cvsextras 8225e71
rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/wwwroot/cgi-bin/{lang,lib,plugins}
cvsextras 8225e71
cp -pr wwwroot/cgi-bin/{lang,lib,plugins} $RPM_BUILD_ROOT%{_datadir}/%{name}
cvsextras 8225e71
cvsextras 8225e71
rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/wwwroot/cgi-bin/awstats.model.conf
cvsextras 8225e71
cvsextras 8225e71
### Commit permanent changes to default configuration
cvsextras 8225e71
install -p -m 644 wwwroot/cgi-bin/awstats.model.conf \
cvsextras 8225e71
    $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/%{name}.model.conf
cvsextras 8225e71
%{__perl} -pi -e '
cvsextras 8225e71
                s|^LogFile=.*$|LogFile="%{_localstatedir}/log/httpd/access_log"|;
cvsextras 8225e71
                s|^DirData=.*$|DirData="%{_localstatedir}/lib/awstats"|;
cvsextras 8225e71
                s|^DirCgi=.*$|DirCgi="/awstats"|;
cvsextras 8225e71
                s|^DirIcons=.*$|DirIcons="/awstatsicons"|;
cvsextras 8225e71
                s|^SiteDomain=.*$|SiteDomain="localhost.localdomain"|;
cvsextras 8225e71
                s|^HostAliases=.*$|HostAliases="localhost 127.0.0.1"|;
cvsextras 8225e71
                s|^EnableLockForUpdate=.*$|EnableLockForUpdate=1|;
cvsextras 8225e71
                s|^SaveDatabaseFilesWithPermissionsForEveryone=.*$|SaveDatabaseFilesWithPermissionsForEveryone=0|;
cvsextras 8225e71
                s|^SkipHosts=.*$|SkipHosts="127.0.0.1"|;
cvsextras 8225e71
                s|^Expires=.*$|Expires=3600|;
cvsextras 8225e71
        ' $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/%{name}.model.conf
cvsextras 8225e71
install -p -m 644 $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/%{name}.{model,localhost.localdomain}.conf 
cvsextras 8225e71
cvsextras 8225e71
# Fix scripts
cvsextras 8225e71
%{__perl} -pi -e 's|/usr/local/awstats|%{_datadir}/awstats|g' \
cvsextras 8225e71
             $RPM_BUILD_ROOT%{_datadir}/%{name}/tools/{*.pl,httpd_conf}
cvsextras 8225e71
cvsextras 8225e71
# Apache configuration
cvsextras 8225e71
install -p -m 644 tools/httpd_conf $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/%{name}.conf
cvsextras 8225e71
%{__perl} -pi -e 's|/usr/local|%{_datadir}|g' $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/%{name}.conf
cvsextras 8225e71
echo "# Additional Perl modules
cvsextras 8225e71
<IfModule mod_env.c>
cvsextras 8225e71
    SetEnv PERL5LIB %{_datadir}/awstats/lib:%{_datadir}/awstats/plugins
cvsextras 8225e71
</IfModule>" >> $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/%{name}.conf
cvsextras 8225e71
cvsextras 8225e71
# Cron job
cvsextras 8225e71
install -m 0755 awstats.cron $RPM_BUILD_ROOT%{_sysconfdir}/cron.hourly/%{name}
cvsextras 8225e71
cvsextras 8225e71
cvsextras 8225e71
%clean
cvsextras 8225e71
rm -rf $RPM_BUILD_ROOT
cvsextras 8225e71
cvsextras 8225e71
%post
cvsextras 8225e71
if [ $1 -eq 1 ]; then
cvsextras 8225e71
  if [ ! -f %{_sysconfdir}/%{name}/%{name}.`hostname`.conf ]; then
cvsextras 8225e71
    %{__cat} %{_sysconfdir}/%{name}/%{name}.model.conf | \
cvsextras 8225e71
      %{__perl} -p -e 's|^SiteDomain=.*$|SiteDomain="'`hostname`'"|;
cvsextras 8225e71
                       s|^HostAliases=.*$|HostAliases="REGEX[^.*'${HOSTNAME//./\\\\.}'\$]"|;
cvsextras 8225e71
                      ' > %{_sysconfdir}/%{name}/%{name}.`hostname`.conf || :
cvsextras 8225e71
  fi
cvsextras 8225e71
fi
cvsextras 8225e71
cvsextras 8225e71
%postun
cvsextras 8225e71
if [ $1 -ne 0 ]; then
cvsextras 8225e71
  /sbin/service httpd condrestart >/dev/null 2>&1
cvsextras 8225e71
fi
cvsextras 8225e71
cvsextras 8225e71
cvsextras 8225e71
%files
cvsextras 8225e71
%defattr(-,root,root,755)
cvsextras 8225e71
# Apache configuration file
cvsextras 8225e71
%config %{_sysconfdir}/httpd/conf.d/%{name}.conf
cvsextras 8225e71
%config(noreplace) %attr(755,root,root) %{_sysconfdir}/cron.hourly/%{name}
cvsextras 8225e71
%config(noreplace) %{_sysconfdir}/%{name}/
cvsextras 8225e71
%{_localstatedir}/lib/%{name}
cvsextras 8225e71
%dir %{_datadir}/%{name}
cvsextras 8225e71
%dir %{_datadir}/%{name}/wwwroot
cvsextras 8225e71
%{_datadir}/%{name}/tools
cvsextras 8225e71
%{_datadir}/%{name}/wwwroot/cgi-bin
cvsextras 8225e71
# Different defattr to fix lots of files which should not be +x.
cvsextras 8225e71
%defattr(644,root,root,755)
cvsextras 8225e71
%doc README.TXT docs/*
cvsextras 8225e71
%{_datadir}/%{name}/lang
cvsextras 8225e71
%{_datadir}/%{name}/lib
cvsextras 8225e71
%{_datadir}/%{name}/plugins
cvsextras 8225e71
%{_datadir}/%{name}/wwwroot/classes
cvsextras 8225e71
%{_datadir}/%{name}/wwwroot/css
cvsextras 8225e71
%{_datadir}/%{name}/wwwroot/icon
cvsextras 8225e71
%{_datadir}/%{name}/wwwroot/js
cvsextras 8225e71
cvsextras 8225e71
%changelog
648b6d0
* Tue Feb 15 2005 Aurelien Bompard <gauret[AT]free.fr> 6.4-0.1.pre
648b6d0
- update to 6.4pre to fix a vulnerability
648b6d0
cdae59d
* Thu Feb 10 2005 Aurelien Bompard <gauret[AT]free.fr> 6.3-1
cdae59d
- version 6.3 final
cdae59d
96a1c44
* Thu Jan 27 2005 Aurelien Bompard <gauret[AT]free.fr> 6.3-0.1.20050122
96a1c44
- update to 6.3pre to fix vulnerability
96a1c44
96a1c44
* Sun Nov 28 2004 Aurelien Bompard <gauret[AT]free.fr> 6.2-0.fdr.1
96a1c44
- version 6.2
96a1c44
cvsextras 8225e71
* Thu May 20 2004 Aurelien Bompard <gauret[AT]free.fr> 6.1-0.fdr.6
cvsextras 8225e71
- remove redundant substitution
cvsextras 8225e71
cvsextras 8225e71
* Thu May 20 2004 Aurelien Bompard <gauret[AT]free.fr> 6.1-0.fdr.5
cvsextras 8225e71
- be closer to upstream default configuration
cvsextras 8225e71
- use the included apache conf file
cvsextras 8225e71
- merge changes from Michael Schwendt (bug 1608)
cvsextras 8225e71
cvsextras 8225e71
* Wed May 19 2004 Aurelien Bompard <gauret[AT]free.fr> 6.1-0.fdr.4
cvsextras 8225e71
- fix cron job for relocated tools
cvsextras 8225e71
cvsextras 8225e71
* Wed May 19 2004 Aurelien Bompard <gauret[AT]free.fr> 6.1-0.fdr.3
cvsextras 8225e71
- keep the tools in the tools subdirectory
cvsextras 8225e71
cvsextras 8225e71
* Wed May 19 2004 Aurelien Bompard <gauret[AT]free.fr> 6.1-0.fdr.2
cvsextras 8225e71
- fix scripts in /usr/bin
cvsextras 8225e71
- rename configure.pl to awstats_configure.pl
cvsextras 8225e71
cvsextras 8225e71
* Sun May 16 2004 Aurelien Bompard <gauret[AT]free.fr> 6.1-0.fdr.1
cvsextras 8225e71
- version 6.1
cvsextras 8225e71
cvsextras 8225e71
* Wed Mar 03 2004 Aurelien Bompard <gauret[AT]free.fr> 6.0.0.fdr.2
cvsextras 8225e71
- requires perl without version to fix build on rh9
cvsextras 8225e71
cvsextras 8225e71
* Tue Feb 19 2004 Aurelien Bompard <gauret[AT]free.fr> 6.0-0.fdr.1
cvsextras 8225e71
- version 6.0
cvsextras 8225e71
cvsextras 8225e71
* Mon Dec 22 2003 Aurelien Bompard <gauret[AT]free.fr> 5.9-0.fdr.5
cvsextras 8225e71
- solve stupid bug in %%install
cvsextras 8225e71
- only create the preconfigured config file on install, not on upgrade
cvsextras 8225e71
cvsextras 8225e71
* Mon Dec 22 2003 Aurelien Bompard <gauret[AT]free.fr> 5.9-0.fdr.4
cvsextras 8225e71
- post scriptlet doesn't overwrite user configuration now
cvsextras 8225e71
  be careful if you upgrade from 5.9-0.fdr.3
cvsextras 8225e71
- replace _DATADIR in apache configuration in the install stage
cvsextras 8225e71
  (was in the post scriptlet before)
cvsextras 8225e71
- remove 'noreplace' tag from the apache config file
cvsextras 8225e71
- various cleanups in the %%install stage
cvsextras 8225e71
- Thanks to Mickael Schwendt.
cvsextras 8225e71
cvsextras 8225e71
* Sun Dec 07 2003 Aurelien Bompard <gauret[AT]free.fr> 5.9-0.fdr.3
cvsextras 8225e71
- %%post et %%postun now use condrestart instead of restart
cvsextras 8225e71
- only restart apache if we are upgrading
cvsextras 8225e71
- install and cp use the "-p" switch
cvsextras 8225e71
- use %%_datadir in /etc/httpd/conf.d/awstats.conf
cvsextras 8225e71
- improve cron job 
cvsextras 8225e71
- don't brutally recode HTML pages
cvsextras 8225e71
- the scan is now done hourly instead of daily
cvsextras 8225e71
- *.pm files are not executable any more
cvsextras 8225e71
- tools are in %%bindir
cvsextras 8225e71
- various other improvements
cvsextras 8225e71
- many thanks to Michael Schwendt and Dag Wieers.
cvsextras 8225e71
cvsextras 8225e71
* Sat Nov 29 2003 Aurelien Bompard <gauret[AT]free.fr> 5.9-0.fdr.2
cvsextras 8225e71
- Set the hostname in %%post (thanks to Michael Koziarski)
cvsextras 8225e71
- Improved customization in %%post
cvsextras 8225e71
cvsextras 8225e71
* Sun Nov 16 2003 Aurelien Bompard <gauret[AT]free.fr> 5.9-0.fdr.1
cvsextras 8225e71
- fix /etc/cron.daily/awstats permissions
cvsextras 8225e71
- fix log name in conf file
cvsextras 8225e71
- port to fedora (from Mandrake)