diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2007-06-29 13:36:22 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2007-06-29 13:36:22 +0000 |
commit | f36deffb742a8d801280606006807f2ad95f3849 (patch) | |
tree | 06502c46a3112662abdac58a855abaa900e4c122 /lib/Youri/Submit/Check/Rpmlint.pm | |
parent | 30e5f11dbc78f154d8a8a4d4dd93af39fd223cd0 (diff) | |
download | mga-youri-submit-topic/mdv-to-merge.tar mga-youri-submit-topic/mdv-to-merge.tar.gz mga-youri-submit-topic/mdv-to-merge.tar.bz2 mga-youri-submit-topic/mdv-to-merge.tar.xz mga-youri-submit-topic/mdv-to-merge.zip |
prepare mergetopic/mdv-to-merge
Diffstat (limited to 'lib/Youri/Submit/Check/Rpmlint.pm')
-rw-r--r-- | lib/Youri/Submit/Check/Rpmlint.pm | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/lib/Youri/Submit/Check/Rpmlint.pm b/lib/Youri/Submit/Check/Rpmlint.pm deleted file mode 100644 index a38f2ba..0000000 --- a/lib/Youri/Submit/Check/Rpmlint.pm +++ /dev/null @@ -1,89 +0,0 @@ -# $Id$ -package Youri::Submit::Check::Rpmlint; - -=head1 NAME - -Youri::Submit::Check::Rpmlint - Rpmlint-based check - -=head1 DESCRIPTION - -This check plugin wraps rpmlint, and reject packages triggering results -declared as fatal. - -=cut - -use warnings; -use strict; -use Carp; -use base qw/Youri::Submit::Check/; - -=head2 new(%args) - -Creates and returns a new Youri::Submit::Check::Rpmlint object. - -Specific parameters: - -=over - -=item results $results - -List of rpmlint result id considered as fatal. - -=item path $path - -Path to the rpmlint executable (default: /usr/bin/rpmlint) - -=item config $config - -Specific rpmlint configuration. - -=back - -=cut - - -sub _init { - my $self = shift; - my %options = ( - results => undef, - path => '/usr/bin/rpmlint', - config => '', - @_ - ); - - croak "no results to check" unless $options{results}; - croak "fatal should be an arrayref" unless ref $options{results} eq 'ARRAY'; - - $self->{_config} = $options{config}; - $self->{_path} = $options{path}; - $self->{_pattern} = '^(?:' . join('|', @{$options{results}}) . ')$'; -} - -sub run { - my ($self, $package, $repository, $target, $define) = @_; - croak "Not a class method" unless ref $self; - - my @errors; - - my $command = "$self->{_path} -f $self->{_config} " . $package->as_file(); - open(RPMLINT, "$command |") or die "Can't run $command: $!"; - while (my $line = <RPMLINT>) { - my ($id, $value) = $line =~ /^[EW]: \S+ (\S+)(.*)$/; - $id or next; - if ($id =~ /$self->{_pattern}/o) { - push(@errors, "$id$value"); - } - } - - return @errors; -} -=head1 COPYRIGHT AND LICENSE - -Copyright (C) 2002-2006, YOURI project - -This program is free software; you can redistribute it and/or modify it under -the same terms as Perl itself. - -=cut - -1; |