Thu Mar 05 17:43:33 2020: Request 132067 was acted upon.
Transaction: Ticket created by SLAFFAN
       Queue: PAR-Dist
     Subject: fix for Archive::Zip related test failures due to symlinks
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: slaf...@cpan.org
      Status: new
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=132067 >


Many of the current CPAN test failures have this error text (links below):

error: Could not extract /tmp/par4D_mq/blib/META.yml safely: /tmp is an 
existing symbolic link 



One simple fix is to ensure _unzip_to_tmpdir (or perhaps _unzip) uses a path 
with symlinks resolved.  

For example in _unzip_to_tmpdir:

...
    my $path = $tmpdir;
    $path = File::Spec->catdir($tmpdir, $args{subdir}) if defined $args{subdir};
    ###  add these two lines
    require Cwd;
    $path = Cwd::realpath($path);
    
    _unzip(dist => $dist, path => $path);
...


Tested on macos 10.15.

Let me know if you'd prefer a patch file, and whether it should be in 
_unzip_to_tmpdir or more localised within _unzip.

Shawn.




CPAN testers links:

https://www.cpantesters.org/cpan/report/07bf1b62-1c64-11e9-98a9-a7ab3e5edb37
https://www.cpantesters.org/cpan/report/b9d7c082-7a9d-11e9-81af-f28ed51e9e84
https://www.cpantesters.org/cpan/report/9f5989e4-817c-11e9-b3ce-75fdc00df68b

Reply via email to