Ticket #509: Install.pm.patch

File Install.pm.patch, 1.1 KB (added by gerd, 5 years ago)
  • lib/Parrot/Install.pm

    old new  
    226226        else { 
    227227            next unless -e $src; 
    228228            next if $^O eq 'cygwin' and -e "$src.exe"; # stat works, copy not 
     229            # cautious creating of symlink to protect the installation from 
     230            # aborting with a fatal runtime error 
     231            eval { 
     232                if (-l $src) {  
     233                    # check if the system supports symbolic linking  
     234                    use Config;  
     235                    if ($Config{d_symlink} && $Config{d_readlink}) {  
     236                    # copy as symbolic link  
     237                        symlink(readlink($src), $dest);  
     238                        print "$dest\n";  
     239                        next;  
     240                    }  
     241                } 
     242            }; 
     243            warn $@, 
     244                 "\"$dest\" will created as copy, because symlinks\n", 
     245                 "are not supported in the destination directory\n" if ($@); 
    229246            copy( $src, $dest ) or die "Error: couldn't copy $src to $dest: $!\n"; 
    230247            print "$dest\n"; 
    231248        }