Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 160817

Summary: Several general changes to swatch; handling of quotes corrected
Product: [Fedora] Fedora Reporter: John Horne <john.horne>
Component: swatchAssignee: Jose Pedro Oliveira <jose.p.oliveira.oss>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 4   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-01-06 15:09:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Attachments:
Description Flags
Patch for swatch none

Description John Horne 2005-06-17 15:40:12 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050524 Fedora/1.0.4-4 Firefox/1.0.4

Description of problem:
We have used swatch for some time. When installed on to FC3 there were a few problems which I corrected but did not submit them. Since we hit the same problems with FC4, installed a couple of days ago, I am now submitting the changes as a patch against the supplied swatch perl program.

There are only a few changes, and some are quite minor - just typos and reformatting some of the pod documentation. Other changes are: the '-tail' option is ambiguous and is re-implemented as '-file-tail'; the use of single and double-quotes seems to be incorrect. Using "$0" (note the quotes) in config files causes errors; this has been fixed.


John.


Version-Release number of selected component (if applicable):
swatch-3.1.1-3.fc4

How reproducible:
Always

Steps to Reproduce:
1.Create a swatch config file containg "$0".
2.Start up swatch using the config file.
3.
  

Actual Results:  Starting swatch produces errors. The problem seems to be due to swatch unable to handle single and double-quotes around the $0, as such perl gets confused:

====================================================================
Scalar found where operator expected at ./.swatch_script.27548 line 141, near ""/usr/local/bin/bb_event --add --service msgs --colour yellow --title 'Message in messages log file:' --message "$S_"
        (Missing operator before $S_?)
String found where operator expected at ./.swatch_script.27548 line 141, near "$S_", 'MESSAGE' => ""
        (Missing operator before ", 'MESSAGE' => "?)
Scalar found where operator expected at ./.swatch_script.27548 line 141, near "", 'MESSAGE' => "$_"
        (Missing operator before $_?)
String found where operator expected at ./.swatch_script.27548 line 146, near "&Swatch::Actions::exec_command('COMMAND' => ""
  (Might be a runaway multi-line "" string starting on line 141)
        (Missing semicolon on previous line?)
Bareword found where operator expected at ./.swatch_script.27548 line 146, near "/bin/bb_event"
        (Missing operator before bb_event?)
Bareword found where operator expected at ./.swatch_script.27548 line 146, near "--add"
        (Missing operator before add?)
Bareword found where operator expected at ./.swatch_script.27548 line 146, near "--service"
        (Missing operator before service?)
String found where operator expected at ./.swatch_script.27548 line 146, near "title 'Message in messages log file:'"
        (Do you need to predeclare title?)
Bareword found where operator expected at ./.swatch_script.27548 line 146, near "--message"
        (Missing operator before message?)
String found where operator expected at ./.swatch_script.27548 line 146, near "message "$S_""
        (Do you need to predeclare message?)
syntax error at ./.swatch_script.27548 line 141, near ""/usr/local/bin/bb_event --add --service msgs --colour yellow --title 'Message in messages log file:' --message "$S_"
Execution of ./.swatch_script.27548 aborted due to compilation errors.
====================================================================

Expected Results:  Swatch should startup with no errors.

Additional info:

An example config file is (line wrapped by me):

  watchfor = /[^\B.]warning[^\B.]/io
        exec = /usr/local/bin/bb_event --add --service msgs --colour yellow 
               --title 'Message in messages log file:' --message "$0"

Comment 1 John Horne 2005-06-17 15:42:53 UTC
Created attachment 115614 [details]
Patch for swatch

I'm not an expert on producing patch files but hopefully this one is okay! I
used 'diff -ruN'.

Comment 2 Jose Pedro Oliveira 2005-06-17 16:32:27 UTC
John,

Diff -ruN is fine for generating patches.

I skimmed through your patch and I wouldn't change the regular expression
that detects empty lines.  The original one is better as it also ignores
lines with only white spaces (the \s* should stay). 

...
@@ -569,8 +576,8 @@
     s/^\s+//; ## strip off leading blank space
     s/\s+$//; ## strip off trailing blank space
 
-    ### Skip comments blank lines ###
-    next if (/^\#/ or /^\s*$/);
+    ### Skip comments and blank lines ###
+    next if (/^\#/ or /^$/);
 
     s/\#.*$//; ## strip trailing comments
... 


By the way, have you tried to send the patch to the author
(http://swatch.sourceforge.net/) ?

Regards,
jpo

Comment 3 John Horne 2005-06-17 16:57:29 UTC
No, the '\s*' is not required because the previous 2 lines remove trailing and
leading blanks:

     s/^\s+//; ## strip off leading blank space
     s/\s+$//; ## strip off trailing blank space

As such you can't possibly have a line with only spaces or tabs in it by the
time you reach the 'next' statement.

Yes I submitted the patch to the author at sourceforge - look at July 2004,
patches '[ 986013 ] Fix exec command and awk option'. It wasn't picked up by the
author, but has a comment by another user who had problems downloading the
patch. I have, however, just downloaded the patch myself (again), and it is
still fine - all there, no funny characters or anything.



Comment 4 John Horne 2005-06-17 17:06:31 UTC
I've just noticed that there are one or two differences between the patch at
sourceforge and the one I submitted here. I would use the patch submitted here
because it was produced later, and it is what we have been using on FC3 and FC4
with no problems.

Comment 5 Jose Pedro Oliveira 2005-08-29 20:01:25 UTC
John,

Sorry for the delay.  Could you build this SRPM
  http://gsd.di.uminho.pt/jpo/software/fedora/swatch-3.1.1-4.src.rpm
  http://gsd.di.uminho.pt/jpo/software/fedora/swatch.spec
and give it a test run?

TIA,
jpo

Comment 6 John Horne 2005-08-30 12:15:54 UTC
Built the RPM from the SRPM/spec file and installed it. Tested by sending some
messages to the swatch monitored log files. All were detected fine - including
the ones using "$0" :-)



John.

Comment 7 Jose Pedro Oliveira 2006-01-06 15:09:36 UTC
Built for FC-3, FC-4, and devel.