# $Id: Tag.pm 867 2006-04-11 20:34:56Z guillomovitch $ package Youri::Upload::Check::Rpmlint; =head1 NAME Youri::Upload::Check::Tag - Incorrect tag values check =head1 DESCRIPTION This check plugin rejects packages with incorrect tag values, based on regular expressions. =cut use warnings; use strict; use Carp; use base qw/Youri::Upload::Check/; sub _init { my $self = shift; my %options = ( fatal_error => '', @_ ); $self->{_fatal_error} = $options{fatal_error}; } sub run { my ($self, $package, $repository, $target, $define) = @_; croak "Not a class method" unless ref $self; my $file = $package->get_file; open my $rpmlint, "/usr/bin/rpmlint $file |"; my $fatal; my $error = "fatal errors detected, upload rejected:\n"; while (<$rpmlint>) { if (/$self->{_fatal_error}/) { $fatal = 1; $error .= "- $_" } } if ($fatal) { $self->{_error} = $error; return 0 } 1 } =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;