From: Jeremiah Foster Date: Mon, 27 Jul 2009 16:09:49 +0000 (+0300) Subject: A working minimae, tested here on the testing machine. X-Git-Url: http://git.maemo.org/git/?p=maemian;a=commitdiff_plain;h=84b6a5bd29b0b1e960c4b6012eea3dfff93180f2 A working minimae, tested here on the testing machine. --- diff --git a/minimae b/minimae index 81428a8..30b9261 100755 --- a/minimae +++ b/minimae @@ -18,7 +18,7 @@ uploaded deb. Currently maemian only looks at the .dsc file and tries to ascertain who uploaded it, and if they used the correct email address. =head1 SYNOPSIS - + # Check a debian description file minimae -i file.dsc @@ -29,7 +29,7 @@ use warnings; use Getopt::Long; use Pod::Usage; use Carp; -use lib qw(lib/); +use lib qw(/home/jeremiah/maemian/lib/); use Maemian::Output; # --- Command line options @@ -52,53 +52,35 @@ my $out = new Maemian::Output; if ($verbose) { $out->verbose(1); $out->v_msg("Verbose on"); +} +else { + $out->quiet(0); } - # --- If this is set to true, then you only get msgs -$out->quiet(0); -$out->msg("Notice on"); -# --- If this is set to true, then you will get verbose messages. $out->color("auto"); - - - - - - - - - - sub file_tests { use File::Basename; - my $path = shift; - if (-r $path) { - my ($filename, $dirs) = fileparse($path); - # --- maemo is a trademarked term - if ($filename =~ /maemo/) { - print "W: Any use of the word \"maemo\" in the package name (not package version) is subject to trademark.\n"; - } - # --- Open file into an array - open my $file, '<', $path or die "Cannot open file: $!\n"; - my @lines = <$file>; - close $file; - - my ($field, $maintainer) = map { split /: / } grep /Maintainer/, @lines; - chomp($maintainer); - if ($maintainer =~ /(ubuntu|debian)/i) { - print "W: Maintainer email address ($maintainer) might be the same as upstream.\n"; - } - else { - $out->msg("$maintainer"); - } - if (grep /BEGIN PGP SIGNED MESSAGE/, @lines) { - $out->v_msg("$filename is signed"); - } - $out->debug_msg(3, "\n$dirs\n$filename\n"); + use Perl6::Slurp; + my ($filename, $path); + my $file = shift; + if (-r $file) { + ($filename, $path) = fileparse($file); } else { - croak "File not readable: $!\n"; + die "Cannot read $file\n"; } + # --- maemo is a trademarked term + if ($filename =~ /maemo/) { + $out->v_msg("Any use of the word \"maemo\" in the package name (not package version) is subject to trademark."); + } + $out->v_msg("File name is $filename"); + $out->v_msg("Path is $path"); + + # We push the entire file into an array + # If the file is signed, the sig is separated by a blank line + my @control = slurp $file, { irs => qr/\n\n/xms }; + my @lines = split /\n/, $control[1]; + print map { $_ } grep /Maintainer/, @lines; } if ($inputfile) { @@ -106,3 +88,6 @@ if ($inputfile) { } else { croak "No input file found: $!\n"; } + + +1;