Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: Add bash file to a dist package

by lima1 (Curate)
on Aug 17, 2010 at 01:41 UTC ( #855387=note: print w/replies, xml ) Need Help??

in reply to Add bash file to a dist package

With Module::Build, add something like this to your Build.PL:
my $builder = Module::Build->new( ... sh_files => { 'path/in/dist/to/' => 'sh/'}, install_path => { sh => '/etc/profile.d' }, ... } $builder->add_build_element('sh'); $builder->create_build_script();
Read the Module::Build::Cookbook for details.

Replies are listed 'Best First'.
Re^2: Add bash file to a dist package
by earlati (Acolyte) on Aug 17, 2010 at 09:55 UTC
    Thanks, I follow your hints and it seems to work.

    Just one think is not clear to me again.

    I used a Build.PL file like this:

    use strict;
    use warnings;
    use Module::Build;
    my $builder = Module::Build->new(
        module_name         => 'Jump',
        license             => 'perl',
        dist_author         => q{Enzo Arlati <>},
        dist_version_from   => 'lib/',
        build_requires => {
            'Test::More' => 0,
        sh_files => { 'sh/' => 'sh/'  },
        add_to_cleanup      =>  'Jump-*' ,
        create_makefile_pl => 'traditional',
    $builder->install_path( 'sh' => '/etc/profile.d/' );
    $builder->add_build_element( 'sh' );
    In this file I have to add the statement:
    sh_files => { 'sh/' => 'sh/'  },
    also if the source and destination of the sh files are the same.

    If I comment this line the file are not processed.

    Is this correct and there are a more polite way to tell the program to include the file *.sh ?

    Regards, Enzo

      According Module::Build::Cookbook, if you specify
      $builder->add_build_element( 'sh' );
      this will find all *.sh files in the lib directory of your distribution. In your case, the bash script is in a non-standard directory, so you have to tell Module::Build where it is:
      sh_files => { 'sh/' => 'sh/' },
      And here the files are not the same. The destination is 'blib/sh/'.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://855387]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (6)
As of 2020-06-06 15:20 GMT
Find Nodes?
    Voting Booth?
    Do you really want to know if there is extraterrestrial life?

    Results (41 votes). Check out past polls.