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

Reply via email to