Fedora 17 supplies RCS V 5.8.1.
lib/TWiki/Configure/Checker.pm
can't parse this format of version string and fails with a numeric comparision to string error. The code treats the version as a floating point number, which can't have more than one decimal point.
You can see this simply by entering Configure - the "Store settings" section will be filled with errors.
Apply this patch to 5.1 to fix by making only the first two fields significant in the comparison:
svn diff /var/www/servers/twiki/lib/TWiki/Configure/Checker.pm
Index: /var/www/servers/twiki/lib/TWiki/Configure/Checker.pm
===============================================================
--- /var/www/servers/twiki/lib/TWiki/Configure/Checker.pm (revision 22335)
+++ /var/www/servers/twiki/lib/TWiki/Configure/Checker.pm (working copy)
@@ -299,7 +299,7 @@
$err .= $key.' is not set';
} else {
my $version = `$prog -V` || '';
- if ( $version =~ /(\d+(\.\d+)+)/ ) {
+ if ( $version =~ /\s(\d+\.\d+)((:?\.\d+)*)/ ) {
$version = $1;
} else {
$err .= $this->ERROR($prog.' did not return a version number (or might not exist..)');
The following patch is against HEAD:
svn diff core
Index: core/lib/TWiki/Configure/Checker.pm
===================================================================
--- core/lib/TWiki/Configure/Checker.pm (revision 23209)
+++ core/lib/TWiki/Configure/Checker.pm (working copy)
@@ -299,7 +299,7 @@
$err .= $key.' is not set';
} else {
my $version = `$prog -V` || '';
- if ( $version !~ /Can't exec/ && $version =~ /(\d+(\.\d+)+)/ ) {
+ if ( $version !~ /Can't exec/ && $version =~ /\s(\d+\.\d+)((:?\.\d+)*)/ ) {
$version = $1;
} else {
$version = '';
--
TWiki:Main/TimotheLitt
- 2012-08-31
Thank you Timothe!
This is now fixed in SVN trunk and TWiki-5.1 branch.
--
TWiki:Main.PeterThoeny
- 2012-09-04
Thanks. By the way, no e-mail notification received for your update. Please don't expect me to poll for updates to this (or any) topic....
--
TWiki:Main.TimotheLitt
- 2012-09-05