Item5363: BuildContrib do not support Windows
Priority: Enhancement
Current State: Closed
Released In: 1.0.0
Target Release: n/a
Few issues I spotted in
Build.pm
:
-
:
is used as separator in TWIKI_LIBS
environment variable. It conflicts with drive letter separator.
- File::Spec->rel2abs on Windows often end up returning path containing both \ and / separator
- I believe adding
$startdir=~ s/\\/\//g;
to the _findRelativeTo help with the above issue
- I replaced
dirname
with:
my $dir='/';
if ($d =~ /^(.*)\/[^\/]*$/)
{
$dir=$1;
}
#my $dir = `dirname $d`;
When I quit investigating I was left with that output:
D:\Dev\TWiki\twikiplugins\PerforcePlugin\data\TWiki\PerforcePlugin.txt: (Not a
versioned resource)
Use of uninitialized value in concatenation (.) or string at
/TWiki/lib/TWiki/Contrib/Build.pm line 318, <DATA> chunk 1 (#1)
(W uninitialized) An undefined value was used as if it were already
defined. It was interpreted as a "" or a 0, but maybe it was a mistake.
To suppress this warning assign a defined value to your variables.
To help you figure out what was undefined, perl tells you what operation
you used the undefined value in. Note, however, that perl optimizes your
program and the operation displayed in the warning may not necessarily
appear literally in your program. For example, "that $foo" is
usually optimized into "that " . $foo, and the warning will refer to
the concatenation (.) operator, even though there is no . in your
program.
Use of uninitialized value in concatenation (.) or string at
/TWiki/lib/TWiki/Contrib/Build.pm line 326, <DATA> chunk 1 (#1)
Building a release for Version 16392 (13 Feb 2008) of PerforcePlugin
YESSTHERE: D:/Dev/TWiki/twikiplugins/PerforcePlugi/lib/TWiki/Contrib/BuildContri
b/TEMPLATE_installer.pl
YESSTHERE: /TWik/lib/TWiki/Contrib/BuildContrib/TEMPLATE_installer.pl
YESSTHERE: /TWiki/lib/CPA/lib/TWiki/Contrib/BuildContrib/TEMPLATE_installer.pl
YESSTHERE: /TWik/lib/TWiki/Contrib/BuildContrib/TEMPLATE_installer.pl
YESSTHERE: /TWiki/lib/CPA/lib/TWiki/Contrib/BuildContrib/TEMPLATE_installer.pl
YESSTHERE: C:/Perl/sit/lib/TWiki/Contrib/BuildContrib/TEMPLATE_installer.pl
YESSTHERE: C:/Per/lib/TWiki/Contrib/BuildContrib/TEMPLATE_installer.pl
THERE: /lib/TWiki/Contrib/BuildContrib/TEMPLATE_installer.pl
COULD NOT LOCATE TEMPLATE_installer.pl - required for install script generation
at /TWiki/lib/TWiki/Contrib/Build.pm line 1663, <DATA> line 1.
at /TWiki/lib/TWiki/Contrib/Build.pm line 68
TWiki::Contrib::Build::__ANON__('COULD NOT LOCATE TEMPLATE_installer.pl
- required for install...') called at /TWiki/lib/TWiki/Contrib/Build.pm line 166
3
TWiki::Contrib::Build::target_installer('BuildBuild=HASH(0x1831d28)') ca
lled at /TWiki/lib/TWiki/Contrib/Build.pm line 1711
TWiki::Contrib::Build::build('BuildBuild=HASH(0x1831d28)', 'installer')
called at /TWiki/lib/TWiki/Contrib/Build.pm line 969
TWiki::Contrib::Build::target_release('BuildBuild=HASH(0x1831d28)') call
ed at /TWiki/lib/TWiki/Contrib/Build.pm line 1711
TWiki::Contrib::Build::build('BuildBuild=HASH(0x1831d28)', 'release') ca
lled at build.pl line 51
Mind you, you can see some extra debug output I added in there. I'm just totally unsure what's
target_installer
sub trying to do by looking up for
TEMPLATE_installer.pl
all over the place.
--
TWiki:Main/StephaneLenclud - 13 Feb 2008
No, and it never will without a lot of work. I made a decision early on not to try to support non-Unix-like platforms. Regrading as enhancement.
--
CrawfordCurrie - 27 May 2010
Sven has started work on this again, addressing paths
--
CrawfordCurrie - 08 Sep 2010
closing due to inactivity
--
Main.MichaelDaum - 04 Jan 2021