Dist-Zilla-Plugin-RPM
view release on metacpan or search on metacpan
lib/Dist/Zilla/Plugin/RPM.pm view on Meta::CPAN
my $spec = $self->spec_file;
for my $file ($self->zilla->files->flatten) {
if ($file->name eq $self->spec_file) {
$self->zilla->prune_file($file);
}
}
return;
}
has '_rpmbuild_options' => (
is => 'ro', isa => 'ArrayRef[Str]', lazy => 1,
default => sub {
my $self = shift;
return( [
$self->sign ? '--sign' : (),
$self->ignore_build_deps ? '--nodeps' : (),
] );
},
);
has '_rpmbuild_stage' => (
lib/Dist/Zilla/Plugin/RPM.pm view on Meta::CPAN
$self->_execute_rpmbuild;
$self->log('RPMs build: '.join(', ', @{$self->_packages_build} ));
if( $self->push_packages ) {
$self->_execute_push_command;
}
return;
}
has '_packages_build' => ( is => 'ro', isa => 'ArrayRef[Str]', lazy => 1,
default => sub { [] }
);
sub _execute_rpmbuild {
my $self = shift;
my ($in, $out, $err);
my $lang = $ENV{'LANG'};
$ENV{'LANG'} = 'C';
$self->log('building RPM...');
IPC::Run::run( $self->_rpmbuild_command, \$in, \$out, \$err )
lib/Dist/Zilla/Plugin/RPM.pm view on Meta::CPAN
foreach my $line ( split(/\n/, $out ) ) {
if( $line =~ m/^Wrote: (.*)$/) {
push(@{$self->_packages_build}, $1);
}
}
$ENV{'LANG'} = $lang;
return;
}
has _packages_to_push => (
is => 'ro', isa => 'ArrayRef[Str]', lazy => 1,
default => sub {
my $self = shift;
my $regex = $self->push_ignore_packages;
return( [ grep { $_ !~ m/$regex/ } @{$self->_packages_build} ] );
},
);
has _push_command => (
is => 'ro', isa => 'ArrayRef', lazy => 1,
default => sub {
my $self = shift;
return( [ split(/ /, $self->push_command) ] );
},
);
sub _execute_push_command {
my $self = shift;
my ($in, $out, $err);
( run in 0.514 second using v1.01-cache-2.11-cpan-5f2e87ce722 )