You are here: Foswiki>Tasks Web>Item5363 (04 Jan 2021, MichaelDaum)Edit Attach

Item5363: BuildContrib do not support Windows

pencil
Priority: Enhancement
Current State: Closed
Released In: 1.0.0
Target Release: n/a
Applies To: Extension
Component: BuildContrib
Branches:
Reported By: TWiki:Main.StephaneLenclud
Waiting For: Main.SvenDowideit
Last Change By: MichaelDaum
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
Topic revision: r6 - 04 Jan 2021, MichaelDaum
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy