pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/pkgtools/pkglint/files Added a new subroutine log_subi...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/3c8607b2b5b7
branches:  trunk
changeset: 497145:3c8607b2b5b7
user:      rillig <rillig%pkgsrc.org@localhost>
date:      Thu Jul 21 02:01:02 2005 +0000

description:
Added a new subroutine log_subinfo that has an additional parameter
taking the name of the current subroutine. Removed unnecessary checks
for backup filenames.

diffstat:

 pkgtools/pkglint/files/pkglint.pl |  101 ++++++++++++++++++++++++-------------
 1 files changed, 66 insertions(+), 35 deletions(-)

diffs (273 lines):

diff -r 81de6dedf805 -r 3c8607b2b5b7 pkgtools/pkglint/files/pkglint.pl
--- a/pkgtools/pkglint/files/pkglint.pl Thu Jul 21 01:36:25 2005 +0000
+++ b/pkgtools/pkglint/files/pkglint.pl Thu Jul 21 02:01:02 2005 +0000
@@ -11,7 +11,7 @@
 # Freely redistributable.  Absolutely no warranty.
 #
 # From Id: portlint.pl,v 1.64 1998/02/28 02:34:05 itojun Exp
-# $NetBSD: pkglint.pl,v 1.215 2005/07/21 01:08:05 rillig Exp $
+# $NetBSD: pkglint.pl,v 1.216 2005/07/21 02:01:02 rillig Exp $
 #
 # This version contains lots of changes necessary for NetBSD packages
 # done by:
@@ -95,48 +95,62 @@
        @ISA = qw(Exporter);
        @EXPORT_OK = qw(
                NO_FILE NO_LINE_NUMBER
-               log_error log_warning log_info
+               log_error log_warning log_info log_subinfo
                print_summary_and_exit set_verbose is_verbose
        );
        import PkgLint::Util qw(false true);
 }
 
-use constant NO_FILE           => "";
-use constant NO_LINE_NUMBER    => 0;
+use constant NO_FILE           => undef;
+use constant NO_LINE_NUMBER    => undef;
 
 my $errors             = 0;
 my $warnings           = 0;
 my $verbose_flag       = false;
 
-sub log_message($$$$)
+sub log_message($$$$$)
 {
-       my ($file, $lineno, $type, $message) = @_;
-       if ($file ne NO_FILE) {
+       my ($file, $subr, $lineno, $type, $message) = @_;
+       my ($text, $sep);
+
+       if (defined($file)) {
                # strip "." path components
                $file =~ s,^(?:\./)+,,;
                $file =~ s,/(?:\./)+,/,g;
                $file =~ s,/+,/,g;
        }
-       if ($file eq NO_FILE) {
-               printf("%s: %s\n", $type, $message);
-       } elsif ($lineno == NO_LINE_NUMBER) {
-               printf("%s: %s: %s\n", $type, $file, $message);
+
+       $text = "${type}:";
+       if (defined($subr)) {
+               $text .= " [${subr}]";
+       }
+       if (defined($file) && defined($lineno)) {
+               $text .= " ${file}:${lineno}";
+               $sep = ": ";
+       } elsif (defined($file)) {
+               $text .= " ${file}";
+               $sep = ": ";
        } else {
-               printf("%s: %s:%d: %s\n", $type, $file, $lineno, $message);
+               $sep = " ";
        }
+       if (defined($message)) {
+               $text .= "${sep}${message}";
+       }
+
+       print("${text}\n");
 }
 
 sub log_error($$$)
 {
        my ($file, $lineno, $msg) = @_;
-       log_message($file, $lineno, "FATAL", $msg);
+       log_message($file, undef, $lineno, "FATAL", $msg);
        $errors++;
 }
 
 sub log_warning($$$)
 {
        my ($file, $lineno, $msg) = @_;
-       log_message($file, $lineno, "WARN", $msg);
+       log_message($file, undef, $lineno, "WARN", $msg);
        $warnings++;
 }
 
@@ -144,7 +158,15 @@
 {
        my ($file, $lineno, $msg) = @_;
        if ($verbose_flag) {
-               log_message($file, $lineno, "OK", $msg);
+               log_message($file, undef, $lineno, "OK", $msg);
+       }
+}
+
+sub log_subinfo($$$$)
+{
+       my ($subr, $file, $lineno, $msg) = @_;
+       if ($verbose_flag) {
+               log_message($file, $subr, $lineno, "OK", $msg);
        }
 }
 
@@ -266,7 +288,7 @@
        import PkgLint::Util qw(false true);
        import PkgLint::Logging qw(
                NO_FILE NO_LINE_NUMBER
-               log_error log_warning log_info
+               log_error log_warning log_info log_subinfo
                print_summary_and_exit
        );
        import PkgLint::FileUtil qw(
@@ -360,11 +382,11 @@
 # errors in the file) and C<false> if the file could not be checked.
 sub checkfile_DESCR($$);
 sub checkfile_distinfo($$);
+sub checkfile_extra($$);
 sub checkfile_package_Makefile($$$$);
 sub checkfile_MESSAGE($$);
 sub checkfile_patches_patch($$);
 sub checkfile_PLIST($$);
-sub checkfile_other($$);
 
 sub check_category($);
 sub check_package($);
@@ -613,7 +635,7 @@
                        $opt_check_patches and checkfile_patches_patch($dir, $f);
 
                } elsif (-T $f) {
-                       $opt_check_extra and checkfile_other($dir, $f);
+                       $opt_check_extra and checkfile_extra($dir, $f);
 
                } else {
                        log_warning($f, NO_LINE_NUMBER, "Unexpectedly found a binary file.");
@@ -728,6 +750,8 @@
        my ($maxchars, $maxlines) = (80, 24);
        my ($descr);
 
+       log_subinfo("checkfile_DESCR", $fname, NO_LINE_NUMBER, undef);
+
        checkperms($fname);
        if (!defined($descr = load_file($fname))) {
                log_error($fname, NO_LINE_NUMBER, "Cannot be read.");
@@ -756,6 +780,8 @@
        my ($dir, $fname) = @_;
        my ($distinfo, %in_distinfo);
 
+       log_subinfo("checkfile_distinfo", $fname, NO_LINE_NUMBER, undef);
+
        checkperms($fname);
        if (!defined($distinfo = load_file($fname))) {
                log_error($fname, NO_LINE_NUMBER, "Cannot be read.");
@@ -773,10 +799,6 @@
                next unless $line->text =~ /^(MD5|SHA1|RMD160) \(([^)]+)\) = (.*)$/;
                my ($alg, $patch, $sum) = ($1, $2, $3);
 
-               if ($patch =~ /~$/) {
-                       $line->log_warning("Possible backup file \"$patch\"?");
-               }
-
                if ($patch =~ /^patch-[-A-Za-z0-9_.]+$/) {
                        if (-f "${dir}/$patchdir/$patch") {
                                my $chksum = `sed -e '/\$NetBSD.*/d' $dir/$patchdir/$patch | digest $alg`;
@@ -805,6 +827,8 @@
        my ($dir, $fname) = @_;
        my ($message);
 
+       log_subinfo("checkfile_MESSAGE", $fname, NO_LINE_NUMBER, undef);
+
        checkperms($fname);
        if (!defined($message = load_file($fname))) {
                log_error($fname, NO_LINE_NUMBER, "Cannot be read.");
@@ -835,6 +859,8 @@
        my ($dir, $fname) = @_;
        my ($plist, $curdir, $last_file_seen);
        
+       log_subinfo("checkfile_PLIST", $fname, NO_LINE_NUMBER, undef);
+
        checkperms($fname);
        if (!defined($plist = load_file($fname))) {
                log_error($fname, NO_LINE_NUMBER, "Cannot be read.");
@@ -938,6 +964,8 @@
        my ($dir, $fname) = @_;
        my ($lines);
 
+       log_subinfo("checkfile_buildlink3_mk", $fname, NO_LINE_NUMBER, undef);
+
        if (!($lines = load_file($fname))) {
                log_error($fname, NO_LINE_NUMBER, "Cannot be read.");
                return false;
@@ -960,10 +988,12 @@
 #
 # misc files
 #
-sub checkfile_other($$) {
+sub checkfile_extra($$) {
        my ($dir, $fname) = @_;
        my ($lines);
 
+       log_subinfo("checkfile_extra", $fname, NO_LINE_NUMBER, undef);
+
        $lines = load_file($fname);
        if (!$lines) {
                log_error($fname, NO_LINE_NUMBER, "Could not be read.");
@@ -1024,9 +1054,7 @@
        my ($dir, $fname) = @_;
        my ($lines);
 
-       if ($fname =~ /.*~$/) {
-               log_warning($fname, NO_LINE_NUMBER, "In case this is a backup file: please remove it and rerun '$conf_make makepatchsum'");
-       }
+       log_subinfo("checkfile_patches_patch", $fname, NO_LINE_NUMBER, undef);
 
        checkperms($fname);
        if (!defined($lines = load_file($fname))) {
@@ -1214,6 +1242,7 @@
 }
 
 sub checklines_direct_tools($) {
+       my ($subr) = "checklines_direct_tools";
        my ($lines) = @_;
 
        if (!$opt_warn_directcmd) {
@@ -1261,9 +1290,10 @@
        my $regex_ok_vars = qr"^(?:${ok_vars})$";
        my $ok_shellcmds = join("|", @ok_shellcmds);
        my $regex_ok_shellcmds = qr"(?:${ok_shellcmds})";
-       log_info(NO_FILE, NO_LINE_NUMBER, "[checklines_direct_tools] regex_tools=${regex_tools}");
-       log_info(NO_FILE, NO_LINE_NUMBER, "[checklines_direct_tools] regex_ok_vars=${regex_ok_vars}");
-       log_info(NO_FILE, NO_LINE_NUMBER, "[checklines_direct_tools] regex_ok_shellcmds=${regex_ok_shellcmds}");
+
+       log_subinfo($subr, NO_FILE, NO_LINE_NUMBER, "regex_tools=${regex_tools}");
+       log_subinfo($subr, NO_FILE, NO_LINE_NUMBER, "regex_ok_vars=${regex_ok_vars}");
+       log_subinfo($subr, NO_FILE, NO_LINE_NUMBER, "regex_ok_shellcmds=${regex_ok_shellcmds}");
 
        foreach my $line (@{$lines}) {
                my $text = $line->text;
@@ -1330,6 +1360,7 @@
 }
 
 sub load_package_Makefile($$$$) {
+       my ($subr) = "load_package_Makefile";
        my ($dir, $fname, $refwhole, $reflines) = @_;
        my ($whole, $lines);
 
@@ -1353,11 +1384,11 @@
        $pkgdir = expand_variable($whole, "PKGDIR", ".");
        $scriptdir = expand_variable($whole, "SCRIPTDIR", "scripts");
 
-       log_info(NO_FILE, NO_LINE_NUMBER, "[load_package_Makefile] DISTINFO_FILE=$distinfo_file");
-       log_info(NO_FILE, NO_LINE_NUMBER, "[load_package_Makefile] FILESDIR=$filesdir");
-       log_info(NO_FILE, NO_LINE_NUMBER, "[load_package_Makefile] PATCHDIR=$patchdir");
-       log_info(NO_FILE, NO_LINE_NUMBER, "[load_package_Makefile] PKGDIR=$pkgdir");
-       log_info(NO_FILE, NO_LINE_NUMBER, "[load_package_Makefile] SCRIPTDIR=$scriptdir");
+       log_subinfo($subr, NO_FILE, NO_LINE_NUMBER, "DISTINFO_FILE=$distinfo_file");
+       log_subinfo($subr, NO_FILE, NO_LINE_NUMBER, "FILESDIR=$filesdir");
+       log_subinfo($subr, NO_FILE, NO_LINE_NUMBER, "PATCHDIR=$patchdir");
+       log_subinfo($subr, NO_FILE, NO_LINE_NUMBER, "PKGDIR=$pkgdir");
+       log_subinfo($subr, NO_FILE, NO_LINE_NUMBER, "SCRIPTDIR=$scriptdir");
 
        ${$refwhole} = $whole;
        ${$reflines} = $lines;
@@ -1373,7 +1404,7 @@
        my ($realwrksrc, $wrksrc) = ('', '');
        my ($category, $whole);
 
-       log_info($fname, NO_LINE_NUMBER, "Checking package Makefile.");
+       log_subinfo("checkfile_package_Makefile", $fname, NO_LINE_NUMBER, undef);
 
        $category = basename(dirname(Cwd::abs_path($dir)));
        $whole = "\n${rawwhole}";



Home | Main Index | Thread Index | Old Index