1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
package NodeBuilder;
use base qw(Module::Build);
use warnings;
use strict;
use lib '../common/blib/lib';
use English qw(-no_match_vars);
use File::Spec;
use Munin::Common::Defaults;
sub new {
my ($class, %args) = @_;
$args{sbin_files} = { map {$_ => $_} Module::Build::Base->_files_in('sbin') };
my $self = $class->SUPER::new(%args);
#use Data::Dumper; warn Dumper($self);
push @{$self->{properties}{bindoc_dirs}}, 'blib/sbin';
$self->install_path('sbin' => $self->install_destination('bin')."/../sbin/");
$self->add_build_element('sbin');
return $self;
}
sub ACTION_docs {
my ($self) = @_;
$self->SUPER::ACTION_docs;
my @files = (
Module::Build::Base->_files_in('blib/bindoc'),
Module::Build::Base->_files_in('blib/libdoc'),
);
#use Data::Dumper; warn Dumper(\@files);
for my $file (@files) {
open my $fh, '<', $file or die $OS_ERROR;
my $contents = do { local $INPUT_RECORD_SEPARATOR; <$fh> };
close $fh or die $OS_ERROR;
$contents =~ s/@@([^@]+)@@/eval "\$Munin::Common::Defaults::MUNIN_$1"/eg;
open $fh, '>', $file or die $OS_ERROR;
print $fh $contents;
close $fh or die $OS_ERROR;
}
}
1;
|