On Tue, Mar 3, 2009 at 8:27 PM, David Carmean <[email protected]> wrote:
>
> Did the behavior of script_files (nee scripts) change? I'm pretty sure
> that some time ago, everything in bin or scripts was *not* installed by
> default, and I had to explicitly list what I wanted installed.
According to the Changes file, script_files has been defaulting to
'bin' since 2005. If you just changed from keeping things in
'scripts' to 'bin', then you might be surprised by the behavior.
> The situation is that I have a single executable and a handful of symlinks
> pointing to that executable; when I do the install, I get multiple
> copies of the executable. What I'm trying to do is create a subclass
> with a custom ACTION_install that creates those symlinks for me in the
> destination directory. I need to have the symlinks in $BASEDIR/bin or
> $BASEDIR/scripts for development, so I don't have to run Build to get stuff
> into blib every time I want to run the scripts. With 0.30 this just creates
> a mess in the install destination directory.
I would consider overriding find_script_files to skip symlinks:
sub find_script_files {
my $self = shift;
my $files = $self->SUPER::find_script_files;
for my $k ( keys %$files ) {
delete $files->{$k} if -l $k;
}
return $files;
}
That should keep your blib clean. Then you can customize installation
to create your symlinks post-install.
-- David