[packages/exim] - rel 3; add -M option (looks for related msgs, too) to exigrep
arekm
arekm at pld-linux.org
Fri Sep 12 15:36:47 CEST 2014
commit 5d89b078e7ab525f65b16d1f2277577363937eaf
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Fri Sep 12 15:36:44 2014 +0200
- rel 3; add -M option (looks for related msgs, too) to exigrep
exim-exigrep.patch | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
exim.spec | 4 ++-
2 files changed, 80 insertions(+), 1 deletion(-)
---
diff --git a/exim.spec b/exim.spec
index dae4d9c..62f9e34 100644
--- a/exim.spec
+++ b/exim.spec
@@ -25,7 +25,7 @@ Summary(pl.UTF-8): Agent Transferu Poczty Uniwersytetu w Cambridge
Summary(pt_BR.UTF-8): Servidor de correio eletrônico exim
Name: exim
Version: 4.84
-Release: 2
+Release: 3
Epoch: 2
License: GPL
Group: Networking/Daemons/SMTP
@@ -57,6 +57,7 @@ Patch3: exim-defs.patch
Patch4: %{name}4-Makefile-Default.patch
# http://marc.merlins.org/linux/exim/files/sa-exim-cvs/localscan_dlopen_exim_4.20_or_better.patch
Patch5: localscan_dlopen_%{name}_4.20_or_better.patch
+Patch6: %{name}-exigrep.patch
Patch8: %{name}-spam-timeout.patch
@@ -175,6 +176,7 @@ Pliki nagłówkowe dla Exima.
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p2
%patch8 -p1
diff --git a/exim-exigrep.patch b/exim-exigrep.patch
new file mode 100644
index 0000000..ca42e4a
--- /dev/null
+++ b/exim-exigrep.patch
@@ -0,0 +1,77 @@
+commit 0eb51736637f6c93a2fd6cb65316f8ae11f0a0be
+Author: Todd Lyons <tlyons at exim.org>
+Date: Fri Sep 12 06:22:24 2014 -0700
+
+ Bug 1216: Add -M (related) to exigrep.
+
+ Thanks to Arkadiusz for pointing out that this was never merged.
+
+diff --git a/src/src/exigrep.src b/src/src/exigrep.src
+index 2d3b40c..419fcb5 100644
+--- a/src/src/exigrep.src
++++ b/src/src/exigrep.src
+@@ -60,6 +60,11 @@ return $seconds;
+
+ my (%saved, %id_list, $pattern, $queue_time, $insensitive, $invert);
+
++# If using "related" option, have to track extra message IDs
++my $related;
++my $related_re='';
++my @Mids = ();
++
+ sub do_line {
+
+ # Convert syslog lines to mainlog format, as in eximstats.
+@@ -90,8 +95,16 @@ if (defined $id)
+ }
+ else
+ {
+- $id_list{$id} = 1 if defined $id_list{$id} ||
+- ($insensitive && /$pattern/io) || /$pattern/o;
++ if (defined $id_list{$id} ||
++ ($insensitive && /$pattern/io) || /$pattern/o)
++ {
++ $id_list{$id} = 1;
++ get_related_ids($id) if $related;
++ }
++ elsif ($related && $related_re)
++ {
++ grep_for_related($_, $id);
++ }
+ }
+
+ # See if this is a completion for some message. If it is interesting,
+@@ -173,16 +186,30 @@ sub detect_compressor_capable
+ return $cmdline;
+ }
+
++sub grep_for_related {
++ my ($line,$id) = @_;
++ $id_list{$id} = 1 if $line =~ m/$related_re/;
++}
++
++sub get_related_ids {
++ my ($id) = @_;
++ push @Mids, $id unless grep /\b$id\b/, @Mids;
++ my $re = join '|', @Mids;
++ $related_re = qr/$re/;
++}
++
+ # The main program. Extract the pattern and make sure any relevant characters
+ # are quoted if the -l flag is given. The -t flag gives a time-on-queue value
+-# which is an additional condition.
++# which is an additional condition. The -M flag will also display "related"
++# loglines (msgid from matched lines is searched in following lines).
+
+-getopts('Ilvt:',\my %args);
++getopts('Ilvt:M',\my %args);
+ $queue_time = $args{'t'}? $args{'t'} : -1;
+ $insensitive = $args{'I'}? 0 : 1;
+ $invert = $args{'v'}? 1 : 0;
++$related = $args{'M'}? 1 : 0;
+
+-die "usage: exigrep [-I] [-l] [-t <seconds>] [-v] <pattern> [<log file>]...\n"
++die "usage: exigrep [-I] [-l] [-M] [-t <seconds>] [-v] <pattern> [<log file>]...\n"
+ if ($#ARGV < 0);
+
+ $pattern = shift @ARGV;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/exim.git/commitdiff/5d89b078e7ab525f65b16d1f2277577363937eaf
More information about the pld-cvs-commit
mailing list