# $Id: sarg.spec 4446 2006-05-29 19:36:39Z dag $ # Authority: dag # Upstream: Pedro L. Orso # Upstream: Summary: Squid usage report generator per user/ip/name Name: sarg Version: 2.2.7.1 Release: 1%{?dist} License: GPL Group: Applications/Internet URL: http://sarg.sourceforge.net/sarg.php Packager: Dag Wieers Vendor: Dag Apt Repository, http://dag.wieers.com/apt/ Source: http://dl.sf.net/sarg/sarg-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, gd-devel >= 1.8 Requires: bash, squid, gd >= 1.8 Obsoletes: sqmgrlog %description Squid Analysis Report Generator is a tool that allows you to view "where" your users are going to on the Internet. Sarg generate reports in html showing users, IP addresses, bytes, sites and times. %prep %setup %{__chmod} u+wx sarg-php/locale/ %{__perl} -pi.orig -e ' s|^#(access_log) (.+)$|#$1 $2\n$1 %{_localstatedir}/log/squid/access.log|; s|^#(output_dir) (.+)$|#$1 $2\n$1 %{_localstatedir}/www/sarg/ONE-SHOT|; s|^#(resolve_ip) (.+)$|#$1 $2\n$1 yes|; s|^#(show_successful_message) (.+)$|#$1 $2\n$1 no|; s|^#(mail_utility) (.+)$|#$1 $2\n$1 mail|; s|^#(external_css_file) (.+)$|#$1 $2\n$1 %{_localstatedir}/www/sarg/sarg.css|; ' sarg.conf %{__cat} <<'EOF' >sarg.daily #!/bin/bash # Get yesterday's date YESTERDAY=$(date --date "1 days ago" +%d/%m/%Y) exec %{_bindir}/sarg \ -o %{_localstatedir}/www/sarg/daily \ -d $YESTERDAY &>/dev/null exit 0 EOF %{__cat} <<'EOF' >sarg.weekly #!/bin/bash LOG_FILES= if [ -s %{_localstatedir}/log/squid/access.log.1.gz ]; then LOG_FILES="$LOG_FILES -l %{_localstatedir}/log/squid/access.log.1.gz" fi if [ -s %{_localstatedir}/log/squid/access.log ]; then LOG_FILES="$LOG_FILES -l %{_localstatedir}/log/squid/access.log" fi # Get yesterday's date YESTERDAY=$(date --date "1 days ago" +%d/%m/%Y) # Get one week ago date WEEKAGO=$(date --date "7 days ago" +%d/%m/%Y) exec %{_bindir}/sarg \ $LOG_FILES \ -o %{_localstatedir}/www/sarg/weekly \ -d $WEEKAGO-$YESTERDAY &>/dev/null exit 0 EOF %{__cat} <<'EOF' >sarg.monthly #!/bin/bash LOG_FILES= if [ -s %{_localstatedir}/log/squid/access.log.4.gz ]; then LOG_FILES="$LOG_FILES -l %{_localstatedir}/log/squid/access.log.4.gz" fi if [ -s %{_localstatedir}/log/squid/access.log.3.gz ]; then LOG_FILES="$LOG_FILES -l %{_localstatedir}/log/squid/access.log.3.gz" fi if [ -s %{_localstatedir}/log/squid/access.log.2.gz ]; then LOG_FILES="$LOG_FILES -l %{_localstatedir}/log/squid/access.log.2.gz" fi if [ -s %{_localstatedir}/log/squid/access.log.1.gz ]; then LOG_FILES="$LOG_FILES -l %{_localstatedir}/log/squid/access.log.1.gz" fi if [ -s %{_localstatedir}/log/squid/access.log ]; then LOG_FILES="$LOG_FILES -l %{_localstatedir}/log/squid/access.log" fi # Get yesterday's date YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y) # Get 1 month ago date MONTHAGO=$(date --date "1 month ago" +%d/%m/%Y) exec %{_bindir}/sarg \ $LOG_FILES \ -o %{_localstatedir}/www/sarg/monthly \ -d $MONTHAGO-$YESTERDAY &>/dev/null exit 0 EOF %{__cat} <sarg-index.html Squid User's Access Report

Squid User's Access Report

DIRECTORY DESCRIPTION
ONE-SHOT One shot reports
daily Daily reports
weekly Weekly reports
monthly Monthly reports
EOF %{__cat} <sarg-http.conf Alias /sarg %{_localstatedir}/www/sarg DirectoryIndex index.html Order deny,allow Deny from all Allow from 127.0.0.1 Allow from ::1 # Allow from your-workstation.com EOF %build %configure \ --bindir=%{_bindir} \ --sysconfdir=%{_sysconfdir}/sarg \ --mandir=%{_mandir}/man1 \ --htmldir=%{_localstatedir}/www/sarg %{__make} %{?_smp_mflags} %install %{__rm} -rf %{buildroot} %{__install} -Dp -m0755 sarg %{buildroot}%{_bindir}/sarg %{__install} -Dp -m0644 sarg.conf %{buildroot}%{_sysconfdir}/sarg/sarg.conf %{__install} -Dp -m0644 exclude_codes %{buildroot}%{_sysconfdir}/sarg/exclude_codes %{__install} -Dp -m0644 sarg.1 %{buildroot}%{_mandir}/man1/sarg.1 %{__install} -Dp -m0644 sarg-http.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/sarg.conf %{__install} -Dp -m0755 sarg.daily %{buildroot}%{_sysconfdir}/cron.daily/sarg %{__install} -Dp -m0755 sarg.weekly %{buildroot}%{_sysconfdir}/cron.weekly/sarg %{__install} -Dp -m0755 sarg.monthly %{buildroot}%{_sysconfdir}/cron.monthly/sarg %{__install} -Dp -m0644 sarg-index.html %{buildroot}%{_localstatedir}/www/sarg/index.html %{__install} -Dp -m0644 css.tpl %{buildroot}%{_localstatedir}/www/sarg/sarg.css %{__install} -d -m0755 %{buildroot}%{_localstatedir}/www/sarg/{ONE-SHOT,daily,weekly,monthly}/ mkdir -p %{buildroot}%{_datadir}/sarg/ %{__cp} -av fonts/ images/ languages/ %{buildroot}%{_datadir}/sarg/ ### Clean up buildroot %{__rm} -rf %{buildroot}%{_datadir}/sarg/languages/.new %clean %{__rm} -rf %{buildroot} %files %defattr(-, root, root, 0755) %doc ChangeLog CONTRIBUTORS COPYING DONATIONS README %doc %{_mandir}/man1/sarg.1* %dir %{_sysconfdir}/sarg/ %config %{_sysconfdir}/sarg/exclude_codes %config(noreplace) %{_sysconfdir}/sarg/sarg.conf %config(noreplace) %{_sysconfdir}/httpd/conf.d/sarg.conf %config %{_sysconfdir}/cron.daily/sarg %config %{_sysconfdir}/cron.weekly/sarg %config %{_sysconfdir}/cron.monthly/sarg %{_bindir}/sarg %{_localstatedir}/www/sarg/ %{_datadir}/sarg/fonts/ %{_datadir}/sarg/images/ %{_datadir}/sarg/languages/ %changelog * Thu Jun 3 2010 Arun SAG - 2.2.7.1-1 - Lame attempt to update sarg. * Sat Aug 25 2007 Dag Wieers - 2.2.3-1 - 4446+/dag - Updated to release 2.2.3. - Fixed typo in monthly script. (Rabie Van der Merwe) * Mon May 29 2006 Dag Wieers - 2.2.1-1 - Updated to release 2.2.1. - Many changes to reflect release 2.2. (Bernard Lheureux) * Wed Aug 04 2004 Dag Wieers - 1.4.1-5 - Fixed ugly bug in weekly and monthly cron entries. (Viktor Zoubkov) * Wed Jun 30 2004 Dag Wieers - 1.4.1-4 - Fixed default mail_utility. (John Florian) * Sat Apr 10 2004 Dag Wieers - 1.4.1-3 - Fixed problem with inline cron-scripts. (Luigi Iotti) * Tue Apr 06 2004 Dag Wieers - 1.4.1-2 - Fixed missing directories in sarg. (William Hooper) * Wed Mar 17 2004 Dag Wieers - 1.4.1-1 - Initial package. (using DAR)