The involvement of 'sitecustomize.pl' is a symptom rather than the problem.

If, anywhere in your code you have:

do 'absolute_path_to_file.pl';
or
require 'absolute_path_to_file.pl';

then pp (using the --compile flag or not) won't work on Win32.
If you don't have a 'do/require' then it only shows up with --compile /
--execute because then the interpreter does 'do $path_to_sitecustomize'
anyway.

To fix this, PAR community / maintainers need to decide what what should
happen when the argument to 'do' and 'require' in code is an absolute path.

IMHO, Module::ScanDeps should continue to work exactly as it does at
present, but PAR::Packer should never package anything returned by
Module::ScanDeps keyed as an absolute path. The code that used the
'require' or 'do' could never find the packaged version anyway, even if
the volume in the path didn't break zip.

Regards

Mark






Malcolm Nooning wrote:
> This is guesswork and may be ignored totally.
> 
> Here is what I have looked at.  I am viewing DataFeed.pm VERSION = '0.07';
> Starting at line 55, which show my modifications.
> 
> ------------paste
>    # xxxx print FH join(
>    my @try_1 = join( #xxxxxxx
>        ',' => map {
>            sprintf(
>                "\n\t'$_' => '%s/%s'",
>                Cwd::abs_path(File::Basename::dirname($inc{$_})),
>                File::Basename::basename($inc{$_}),
>            ),
>        } keys(%inc)
>    );
>    print (map{"$_\n"} @try_1); print "\n";#xxxxxxx
>    print FH @try_1;#xxxxxx
>    print FH "\n);\n";
> ---------end paste
> 
> The line "print FH @try_1;" prints this:
>   'C:/perl/site/lib/sitecustomize.pl' =>
> 'C:/perl/site/lib/sitecustomize.pl'
> with a blank line before and after it.
> 
> I mention it because in and older email with subject "Re: pp -c not
> working" dated 1/24/2007 8:38 AM, I show that after putting in cluck and
> print statements into C:\perl\lib\Archive\Zip.pm I saw this:
> 
> C:\DOCUME~1\malcolm\LOCALS~1\Temp\par-malcolm\cache-47dd25f0d96d76185f811633af835bed5c2cafd9/inc/lib/C:/perl/site/lib/sitecustomize.pl
> 
> 
> which means "C:/perl/site/lib/sitecustomize.pl" is getting tacked to the
> end of "c:\path_to_my_cache/inc/lib"
> 
> I would like to ask, what was the original purpose of sitecustomize.pl? 
> From it's name, I would guess that it is for adding library paths.  If
> that is the case, I would guess that we want the contents of
> sitecustomize.pl, not the name sitecustomize.pl itself.  This is just
> pure guesswork, of course.
> 
> I hope it helps.
> 


Reply via email to