Updating web page.
[maemian] / maemian
diff --git a/maemian b/maemian
index 94e4eaf..c622f4f 100755 (executable)
--- a/maemian
+++ b/maemian
 
 maemian - Maemo package checker
 
+=head1
+
+Maemian is the maemo version of lintian - a policy checker designed to
+assure the quality of a package uploaded into the maemo.org repositories.
+The goal of maemian is to improve quality by checking that the maemo
+packaging policy is followed. In order to do that it reads files in the
+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 EXAMPLE
 
 maemian -i file.dsc
@@ -35,9 +44,21 @@ use strict;
 use warnings;
 use Getopt::Long;
 use Carp;
+use lib qw(lib/);
+use Maemian::Output;
 
+# --- Output settings.
+my $out = new Maemian::Output;
+# --- 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->verbose(1);
+$out->v_msg("Verbose on");
+
+$out->color("auto");
 # --- Command line options
-my $inputfile;             # --- A file passed to maemian 
+my $inputfile;             # --- A file passed to maemian
 GetOptions ("inputfile|i=s" => \$inputfile);
 
 sub file_tests {
@@ -45,20 +66,29 @@ sub file_tests {
   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\" 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) {
-      print "$filename is signed\n";
+      $out->v_msg("$filename is signed");
     }
-    # print "\n$dirs\n$filename\n";
-  } else {
+    $out->debug_msg(3, "\n$dirs\n$filename\n");
+  }
+  else {
     croak "File not readable: $!\n";
   }
 }