summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmish2021-09-18 11:40:37 +0530
committerAmish2021-09-18 11:40:37 +0530
commit06261246c6d1de2953057fa7fb5417d833416f25 (patch)
tree0f10193590e3143a0404e574e41a18b7cef1b05b
parent3373dd587c1f4157b0b30d25af12ee1236a188b7 (diff)
downloadaur-06261246c6d1de2953057fa7fb5417d833416f25.tar.gz
Switch to github latest revision which contains many fixes
-rw-r--r--.SRCINFO15
-rw-r--r--PKGBUILD31
-rw-r--r--daterange.patch314
3 files changed, 20 insertions, 340 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e4639cec33eb..d565af293cce 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = squidanalyzer
pkgdesc = Squid proxy native log analyser and reports generator
- pkgver = 6.6
- pkgrel = 7
+ pkgver = 6.6.r43ba618
+ pkgrel = 8
url = http://squidanalyzer.darold.net/
install = squidanalyzer.install
arch = any
@@ -13,14 +13,13 @@ pkgbase = squidanalyzer
backup = etc/squidanalyzer/included
backup = etc/squidanalyzer/network-aliases
backup = etc/squidanalyzer/squidanalyzer.conf
+ backup = etc/squidanalyzer/url-aliases
backup = etc/squidanalyzer/user-aliases
- source = http://downloads.sourceforge.net/project/squid-report/squid-report/6.6/squidanalyzer-6.6.tar.gz
+ source = squidanalyzer-6.6.r43ba618.tar.gz::https://github.com/darold/squidanalyzer/archive/43ba618.tar.gz
source = squidanalyzer.service
source = squidanalyzer.timer
- source = daterange.patch
- md5sums = d70f5c747d0666a92410fdca734c494b
- md5sums = ce973423ada4ddcde5a512c511e425a8
- md5sums = 9b554dfa2aad2ff210f18f2bc599660c
- md5sums = 6849c57c38774b2c115f5421c7a3fd4f
+ sha256sums = 482a791ac420109a7780b1a06664b2eb8105d26618e875ec89a1dacad8e1c7fa
+ sha256sums = 8fcdedc61fd2d4ff6b7890bd98ec0c170300419c6b15990fa37c1cca01fb9f3d
+ sha256sums = ce4bcd17582a96ddaf9fe3bbcf299105a1af99e9092aac97c544695047ef31e5
pkgname = squidanalyzer
diff --git a/PKGBUILD b/PKGBUILD
index 02015a307dd1..1d3317f22e28 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,39 +1,34 @@
# Maintainer: Amish <contact at via dot aur>
pkgname=squidanalyzer
-pkgver=6.6
-pkgrel=7
+_gitrev=43ba618
+pkgver=6.6.r${_gitrev}
+pkgrel=8
pkgdesc="Squid proxy native log analyser and reports generator"
arch=('any')
url='http://squidanalyzer.darold.net/'
license=('GPL')
options=('!emptydirs' 'purge')
depends=('perl')
-source=("http://downloads.sourceforge.net/project/squid-report/squid-report/${pkgver}/${pkgname}-${pkgver}.tar.gz"
+#source=("http://downloads.sourceforge.net/project/squid-report/squid-report/${pkgver}/${pkgname}-${pkgver}.tar.gz"
+source=("squidanalyzer-${pkgver}.tar.gz::https://github.com/darold/${pkgname}/archive/${_gitrev}.tar.gz"
'squidanalyzer.service'
- 'squidanalyzer.timer'
- 'daterange.patch'
- )
-md5sums=('d70f5c747d0666a92410fdca734c494b'
- 'ce973423ada4ddcde5a512c511e425a8'
- '9b554dfa2aad2ff210f18f2bc599660c'
- '6849c57c38774b2c115f5421c7a3fd4f')
+ 'squidanalyzer.timer')
+sha256sums=('482a791ac420109a7780b1a06664b2eb8105d26618e875ec89a1dacad8e1c7fa'
+ '8fcdedc61fd2d4ff6b7890bd98ec0c170300419c6b15990fa37c1cca01fb9f3d'
+ 'ce4bcd17582a96ddaf9fe3bbcf299105a1af99e9092aac97c544695047ef31e5')
backup=(
'etc/squidanalyzer/excluded'
'etc/squidanalyzer/included'
'etc/squidanalyzer/network-aliases'
'etc/squidanalyzer/squidanalyzer.conf'
+ 'etc/squidanalyzer/url-aliases'
'etc/squidanalyzer/user-aliases'
)
install=squidanalyzer.install
-prepare() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -p0 -i ../daterange.patch
-}
-
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${_gitrev}"*
unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
/usr/bin/perl Makefile.PL \
@@ -51,14 +46,14 @@ build() {
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${_gitrev}"*
unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
export PERL_MM_USE_DEFAULT=1
make test
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${_gitrev}"*
unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
install -Dm644 -t "${pkgdir}"/usr/lib/systemd/system ../squidanalyzer.{service,timer}
diff --git a/daterange.patch b/daterange.patch
deleted file mode 100644
index 220c1801b932..000000000000
--- a/daterange.patch
+++ /dev/null
@@ -1,314 +0,0 @@
-diff -ur doc/SquidAnalyzer.pod doc/SquidAnalyzer.pod
---- doc/SquidAnalyzer.pod 2017-05-07 20:33:37.000000000 +0530
-+++ doc/SquidAnalyzer.pod 2017-06-21 21:02:08.518655671 +0530
-@@ -168,6 +168,8 @@
- -h | --help : show this message and exit.
- -j | --jobs number : number of jobs to run at same time. Default
- is 1, run as single process.
-+ -o | --outputdir name : set output directory. If it does not start
-+ with / then prefixes Output from configfile
- -p | --preserve number : used to set the statistic obsolescence in
- number of month. Older stats will be removed.
- -P | --pid_dir directory : set directory where pid file will be stored.
-@@ -184,6 +186,8 @@
- --no-year-stat : disable years statistics, reports will start
- from month level only.
- --no-week-stat : disable weekly statistics.
-+ --startdate YYYYMMDDHHMMSS : log lines before this date and time will not be parsed.
-+ --stopdate YYYYMMDDHHMMSS : log lines after this date and time will not be parsed.
-
- Log files to parse can be given as command line arguments or as a comma separated
- list of file for the LogFile configuration directive. By default SquidAnalyer will
-diff -ur etc/squidanalyzer.conf etc/squidanalyzer.conf
---- etc/squidanalyzer.conf 2017-05-07 20:33:37.000000000 +0530
-+++ etc/squidanalyzer.conf 2017-06-21 20:26:10.425598427 +0530
-@@ -140,6 +140,12 @@
- # Feel free to define your own header but take care to not break current design.
- #CustomHeader <a href="http://my.isp.dom/"><img src="http://my.isp.dom/logo.png" title="My ISP link" border="0" width="100" height="110"></a> My ISP Company
-
-+# This directive allow you to replace the HTML page title by your custom title
-+# The default value is defined as follow:
-+# SquidAnalyzer $VERSION Report
-+# Feel free to define your own title but take care to not break current design.
-+#CustomTitle My ISP Company Report
-+
- # This directive allow exclusion of some unwanted methods in report statistics
- # like HEAD, POST, CONNECT, etc. Can be a comma separated list of methods.
- #ExcludedMethods HEAD
-diff -ur README README
---- README 2017-05-07 20:33:37.000000000 +0530
-+++ README 2017-06-21 21:01:27.530890311 +0530
-@@ -164,6 +164,8 @@
- -h | --help : show this message and exit.
- -j | --jobs number : number of jobs to run at same time. Default
- is 1, run as single process.
-+ -o | --outputdir name : set output directory. If it does not start
-+ with / then prefixes Output from configfile
- -p | --preserve number : used to set the statistic obsolescence in
- number of month. Older stats will be removed.
- -P | --pid_dir directory : set directory where pid file will be stored.
-@@ -180,6 +182,8 @@
- --no-year-stat : disable years statistics, reports will start
- from month level only.
- --no-week-stat : disable weekly statistics.
-+ --startdate YYYYMMDDHHMMSS : log lines before this date and time will not be parsed.
-+ --stopdate YYYYMMDDHHMMSS : log lines after this date and time will not be parsed.
-
- Log files to parse can be given as command line arguments or as a comma
- separated list of file for the LogFile configuration directive. By
-diff -ur squid-analyzer squid-analyzer
---- squid-analyzer 2017-05-07 20:33:37.000000000 +0530
-+++ squid-analyzer 2017-06-21 22:30:18.433559240 +0530
-@@ -7,6 +7,7 @@
- use Getopt::Long qw(:config no_ignore_case bundling);
- use Benchmark;
- use POSIX ":sys_wait_h";
-+use Time::Local;
-
- $| = 1;
-
-@@ -30,6 +31,9 @@
- my $t0 = Benchmark->new;
- my $start_time = '';
- my $stop_time = '';
-+my $start_date = '';
-+my $stop_date = '';
-+my $outputdir = '';
-
- # get the command line parameters
- my $result = GetOptions (
-@@ -39,6 +43,7 @@
- "h|help" => \$help,
- "j|jobs=i" => \$queue_size,
- "l|logfile" => \$obsolete,
-+ "o|outputdir=s" => \$outputdir,
- "p|preserve=i" => \$preserve,
- "P|pid_dir=s" => \$pid_dir,
- "r|rebuild!" => \$rebuild,
-@@ -48,6 +53,8 @@
- "v|version!" => \$version,
- "no-year-stat!" => \$no_year_stat,
- "no-week-stat!" => \$no_week_stat,
-+ "startdate=s" => \$start_date,
-+ "stopdate=s" => \$stop_date,
- );
-
- # Show warning for obsolete options
-@@ -75,6 +82,14 @@
- if ($stop_time && $stop_time !~ /^[0-2]\d:[0-5]\d$/) {
- die("FATAL: bad format on stop time, must be HH:MM.\n");
- }
-+if ($start_date && $start_date !~ /^\d{4}[-\\\/]?[0-1]\d[-\\\/]?[0-3]\d\s*[0-2]\d[-:]?[0-5]\d[-:]?[0-5]\d$/) {
-+ die("FATAL: bad format on start date, must be YYYYMMDDHHMMSS.\n");
-+}
-+$start_date =~ s/[-\\\/:\s]//g if ($start_date);
-+if ($stop_date && $stop_date !~ /^\d{4}[-\\\/]?[0-1]\d[-\\\/]?[0-3]\d\s*[0-2]\d[-:]?[0-5]\d[-:]?[0-5]\d$/) {
-+ die("FATAL: bad format on stop date, must be YYYYMMDDHHMMSS.\n");
-+}
-+$stop_date =~ s/[-\\\/:\s]//g if ($stop_date);
-
- # Add multiple log files given from command line
- foreach my $f (@ARGV) {
-@@ -110,6 +125,33 @@
- $sa->{TimeStart} = $start_time;
- $sa->{TimeStop} = $stop_time;
-
-+# Set start and end time (for custom date range reports)
-+if ($start_date && $start_date =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/) {
-+ my $t = timelocal($6, $5, $4, $3, $2-1, $1);
-+ $sa->{report_starttime} = POSIX::strftime("%a %b %e %H:%M:%S %Y", localtime($t));
-+ --$t; # 1 second less
-+ $sa->{history_time} = $sa->{sg_history_time} = $sa->{ug_history_time} = "$t.999";
-+ print STDERR "DEBUG: report start time set to $sa->{report_starttime}\n" if ($debug);
-+}
-+if ($stop_date && $stop_date =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/) {
-+ my $t = timelocal($6, $5, $4, $3, $2-1, $1);
-+ $sa->{report_endtime} = POSIX::strftime("%a %b %e %H:%M:%S %Y", localtime($t));
-+ $sa->{history_endtime} = "$t.999";
-+ print STDERR "DEBUG: report end time set to $sa->{report_endtime}\n" if ($debug);
-+}
-+
-+# Set output directory
-+if ($outputdir) {
-+ die "ERROR: Invalid output directory name specified\n" if ($outputdir !~ /^[-\w\/]+$/);
-+ $outputdir = "$sa->{Output}/$outputdir" if ($outputdir !~ /^\//);
-+ if (! -e $outputdir) {
-+ mkdir ($outputdir) || die "ERROR: can't create directory $outputdir, $!\n";
-+ }
-+ $sa->{Output} = $outputdir;
-+ print STDERR "DEBUG: Output directory set to $outputdir\n" if ($debug);
-+}
-+
-+
- # Die cleanly on signal
- sub terminate
- {
-@@ -146,6 +188,7 @@
- $SIG{'INT'} = \&terminate;
- $SIG{'TERM'} = \&terminate;
- $SIG{'CHLD'} = 'DEFAULT';
-+$SIG{'HUP'} = 'IGNORE'; # don't die on HUP
-
- my $t1;
- # Run parsing only if we have a log file or that we are not in rebuild mode
-@@ -166,7 +209,7 @@
- # In rebuild mode history time is not use and we must store the
- # specific rebuild date if any is provided at command line.
- if ($rebuild) {
-- $sa->{history_time} = '';
-+ $sa->{history_time} = $sa->{sg_history_time} = $sa->{ug_history_time} = '';
- $sa->{build_date} = $build_date;
- }
-
-@@ -202,6 +245,8 @@
- -h | --help : show this message and exit.
- -j | --jobs number : number of jobs to run at same time. Default
- is 1, run as single process.
-+ -o | --outputdir name : set output directory. If it does not start
-+ with / then prefixes Output from configfile
- -p | --preserve number : used to set the statistic obsolescence in
- number of month. Older stats will be removed.
- -P | --pid_dir directory : set directory where pid file will be stored.
-@@ -218,6 +263,8 @@
- --no-year-stat : disable years statistics, reports will start
- from month level only.
- --no-week-stat : disable weekly statistics.
-+ --startdate YYYYMMDDHHMMSS : log lines before this date and time will not be parsed.
-+ --stopdate YYYYMMDDHHMMSS : log lines after this date and time will not be parsed.
-
- Log files to parse can be given as command line arguments or as a comma separated
- list of file for the LogFile configuration directive. By default SquidAnalyer will
-diff -ur SquidAnalyzer.pm SquidAnalyzer.pm
---- SquidAnalyzer.pm 2017-05-07 20:33:37.000000000 +0530
-+++ SquidAnalyzer.pm 2017-06-21 20:08:02.098171444 +0530
-@@ -100,6 +100,8 @@
- 'Denied_help' => 'Objects with denied access',
- 'Cost_help' => '1 Mega byte =',
- 'Generation' => 'Report generated on',
-+ 'Generation_from' => 'From %s ',
-+ 'Generation_to' => 'Upto %s',
- 'Main_cache_title' => 'Cache Statistics',
- 'Cache_title' => 'Cache Statistics on',
- 'Stat_label' => 'Stat',
-@@ -405,7 +407,7 @@
- my $cidr_regex = qr/^[a-fA-F0-9\.\:]+\/\d+$/;
-
- # Native log format squid %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt
--my $native_format_regex1 = qr/^(\d+\.\d{3})\s+(\d+)\s+([^\s]+)\s+([^\s]+)\s+(\d+)\s+([^\s]+)\s+(.*)/;
-+my $native_format_regex1 = qr/^(\d{10}\.\d{3})\s+(\d+)\s+([^\s]+)\s+([^\s]+)\s+(\d+)\s+([^\s]+)\s+(.*)/;
- my $native_format_regex2 = qr/^([^\s]+?)\s+([^\s]+)\s+([^\s]+\/[^\s]+)\s+([^\s]+)\s*/;
- #logformat common %>a %[ui %[un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st %Ss:%Sh
- #logformat combined %>a %[ui %[un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
-@@ -1322,6 +1324,9 @@
- }
-
- if ($time) {
-+ # end parsing if time range exceeded
-+ last if ($self->{history_endtime} && ($time > $self->{history_endtime}));
-+
- # Do not parse some unwanted method
- my $qm_method = quotemeta($method) || '';
- next if (($#{$self->{ExcludedMethods}} >= 0) && grep(/^$qm_method$/, @{$self->{ExcludedMethods}}));
-@@ -1341,21 +1346,21 @@
-
- # Register the last parsing time and last offset position in logfile
- if (!$self->{is_squidguard_log} && !$self->{is_ufdbguard_log}) {
-- $self->{end_time} = $time if (!$time || ($self->{end_time} < $time));
-+ $self->{end_time} = $time if ($self->{end_time} < $time);
- # Register the first parsing time
- if (!$self->{begin_time} || ($self->{begin_time} > $time)) {
- $self->{begin_time} = $time;
- print STDERR "SQUID LOG SET START TIME: ", strftime("%a %b %e %H:%M:%S %Y", CORE::localtime($time)), "\n" if (!$self->{QuietMode});
- }
- } elsif (!$self->{is_squidguard_log}) {
-- $self->{ug_end_time} = $time if (!$time || ($self->{ug_end_time} < $time));
-+ $self->{ug_end_time} = $time if ($self->{ug_end_time} < $time);
- # Register the first parsing time
- if (!$self->{ug_begin_time} || ($self->{ug_begin_time} > $time)) {
- $self->{ug_begin_time} = $time;
- print STDERR "UFDBGUARD LOG SET START TIME: ", strftime("%a %b %e %H:%M:%S %Y", CORE::localtime($time)), "\n" if (!$self->{QuietMode});
- }
- } else {
-- $self->{sg_end_time} = $time if (!$time || ($self->{sg_end_time} < $time));
-+ $self->{sg_end_time} = $time if ($self->{sg_end_time} < $time);
- # Register the first parsing time
- if (!$self->{sg_begin_time} || ($self->{sg_begin_time} > $time)) {
- $self->{sg_begin_time} = $time;
-@@ -1591,6 +1596,7 @@
- }
-
- $self->{CustomHeader} = $options{CustomHeader} || qq{<a href="$self->{WebUrl}"><img src="$self->{WebUrl}images/logo-squidanalyzer.png" title="SquidAnalyzer $VERSION" border="0"></a> SquidAnalyzer};
-+ $self->{CustomTitle} = $options{CustomTitle} || qq{SquidAnalyzer $VERSION Report};
- $self->{ExcludedMethods} = ();
- if ($options{ExcludedMethods}) {
- push(@{$self->{ExcludedMethods}}, split(/\s*,\s*/, $options{ExcludedMethods}));
-@@ -1691,6 +1697,9 @@
- $self->{week_parsed} = ();
- # Used to stored command line parameters from squid-analyzer
- $self->{history_time} = 0;
-+ $self->{history_endtime} = 0;
-+ $self->{sg_history_time} = 0;
-+ $self->{ug_history_time} = 0;
- $self->{preserve} = 0;
- $self->{sg_end_time} = 0;
- $self->{sg_end_offset} = 0;
-@@ -1948,7 +1957,7 @@
-
- # Extract the domainname part of the URL
- $url =~ s/:\d+.*// if (!$self->{UseUrlPort});
-- $url =~ m/^[^\/]+\/\/([^\/]+)/;
-+ $url =~ m/^(?:[^\/]+\/\/|)([^\/:]+)/;
- my $dest = $1 || $url;
-
- # Replace username by his dnsname if there's no username
-@@ -3001,6 +3010,21 @@
- $sortpos ||= 2;
- my $sorttable = '';
- $sorttable = "var myTH = document.getElementById('contenu').getElementsByTagName('th')[$sortpos]; sorttable.innerSortFunction.apply(myTH, []);";
-+ my $reportrange = '';
-+ if ($self->{report_starttime} || $self->{report_endtime}) {
-+ $reportrange = '<br>';
-+ if ($self->{report_starttime}) {
-+ my $t1 = $Translate{'Generation_from'};
-+ $t1 =~ s/\%s/$self->{report_starttime}/;
-+ $reportrange .= $t1;
-+ }
-+ if ($self->{report_endtime}) {
-+ my $t1 = $Translate{'Generation_to'};
-+ $t1 =~ s/\%s/$self->{report_endtime}/;
-+ $reportrange .= $t1;
-+ }
-+ $reportrange .= '.';
-+ }
- print $$fileout qq{
- <html>
- <head>
-@@ -3011,7 +3035,7 @@
- <meta HTTP-EQUIV="Generator" CONTENT="SquidAnalyzer $VERSION" />
- <meta HTTP-EQUIV="Date" CONTENT="$now" />
- <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=$Translate{'CharSet'}" />
--<title>SquidAnalyzer $VERSION Report</title>
-+<title>$self->{CustomTitle}</title>
- <link rel="stylesheet" type="text/css" href="$self->{WebUrl}squidanalyzer.css" media="screen" />
- <!-- javascript to sort table -->
- <script type="text/javascript" src="$self->{WebUrl}sorttable.js"></script>
-@@ -3028,7 +3052,7 @@
- $self->{CustomHeader}
- </h1>
- <p class="sous-titre">
-- $Translate{'Generation'} $now.
-+ $Translate{'Generation'} $now.$reportrange
- </p>
- </div>
- $calendar
-@@ -3099,8 +3123,8 @@
- my $p_month = 0;
- my $p_year = 0;
- my $p_week = 0;
-- if ($self->{history_time} || $self->{sg_history_time} || $self->{begin_time}) {
-- my @ltime = CORE::localtime($self->{history_time} || $self->{sg_history_time} || $self->{begin_time});
-+ if ($self->{history_time} || $self->{sg_history_time} || $self->{ug_history_time} || $self->{begin_time}) {
-+ my @ltime = CORE::localtime($self->{history_time} || $self->{sg_history_time} || $self->{ug_history_time} || $self->{begin_time});
- if ($self->{is_squidguard_log}) {
- @ltime = CORE::localtime($self->{sg_history_time} || $self->{begin_time});
- } elsif ($self->{is_ufdbguard_log}) {