diff options
author | hubertf <hubertf@pkgsrc.org> | 2004-07-09 00:18:28 +0000 |
---|---|---|
committer | hubertf <hubertf@pkgsrc.org> | 2004-07-09 00:18:28 +0000 |
commit | 1a1af65ff982e060a9ae1eb49eff0168874550bc (patch) | |
tree | 43cf9ecb758fb57796b6eb5f9660e5cdd68e1306 /pkgtools/pkglint | |
parent | c7a3c6fbc8f3c439d819c445647727d99d06ff99 (diff) | |
download | pkgsrc-1a1af65ff982e060a9ae1eb49eff0168874550bc.tar.gz |
Code cleanup, by Roland Illig. More to come.
Bump to 3.86.
Diffstat (limited to 'pkgtools/pkglint')
-rw-r--r-- | pkgtools/pkglint/Makefile | 4 | ||||
-rw-r--r-- | pkgtools/pkglint/files/pkglint.pl | 275 |
2 files changed, 142 insertions, 137 deletions
diff --git a/pkgtools/pkglint/Makefile b/pkgtools/pkglint/Makefile index a2cb7843a9b..67a676a170b 100644 --- a/pkgtools/pkglint/Makefile +++ b/pkgtools/pkglint/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.198 2004/07/06 23:07:35 wiz Exp $ +# $NetBSD: Makefile,v 1.199 2004/07/09 00:18:28 hubertf Exp $ # -DISTNAME= pkglint-3.85 +DISTNAME= pkglint-3.86 CATEGORIES= pkgtools devel MASTER_SITES= # empty DISTFILES= # empty diff --git a/pkgtools/pkglint/files/pkglint.pl b/pkgtools/pkglint/files/pkglint.pl index 04d4e89e4e1..01e56db8a2a 100644 --- a/pkgtools/pkglint/files/pkglint.pl +++ b/pkgtools/pkglint/files/pkglint.pl @@ -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.111 2004/07/06 23:07:35 wiz Exp $ +# $NetBSD: pkglint.pl,v 1.112 2004/07/09 00:18:28 hubertf Exp $ # # This version contains lots of changes necessary for NetBSD packages # done by Hubert Feyrer <hubertf@netbsd.org>, @@ -67,7 +67,7 @@ my $seen_NO_CHECKSUM = 0; my $seen_USE_PKGLOCALEDIR = 0; my $seen_USE_BUILDLINK3 = 0; my %predefined; -my $pkgname = "(none)"; +my $pkgname = ""; # == Output of messages to the user == @@ -100,6 +100,7 @@ sub checkearlier($@); sub abspathname($$); sub is_predefined($); sub category_check(); +sub check_package(); sub parse_command_line() { my %opts = (); @@ -125,37 +126,35 @@ EOF print "$conf_distver\n"; exit; } + return 1; } -parse_command_line(); - -log_info(NO_FILE, NO_LINE_NUMBER, "config: portsdir: \"$conf_portsdir\" ". - "rcsidstr: \"$conf_rcsidstr\" ". - "localbase: $conf_localbase"); -# -# just for safety. -# -if (! -d $opt_packagedir) { - print STDERR "FATAL: invalid directory $opt_packagedir specified.\n"; - exit 1; -} +sub main() { + parse_command_line(); -if (-e <$opt_packagedir/../Packages.txt>) { - log_info(NO_FILE, NO_LINE_NUMBER, "checking category Makefile."); - category_check(); - print_summary_and_exit(); -} + log_info(NO_FILE, NO_LINE_NUMBER, "config: portsdir: \"$conf_portsdir\" ". + "rcsidstr: \"$conf_rcsidstr\" ". + "localbase: $conf_localbase"); -if (-e <$opt_packagedir/../../Packages.txt>) { - if ($opt_packagedir eq ".") { - $category = basename(dirname(cwd())); + if (-f "$opt_packagedir/../Packages.txt") { + log_info(NO_FILE, NO_LINE_NUMBER, "checking category Makefile."); + category_check(); + } elsif (-f "$opt_packagedir/../../Packages.txt") { + if ($opt_packagedir eq ".") { + $category = basename(dirname(cwd())); + } else { + $category = basename(dirname($opt_packagedir)); + } + check_package(); } else { - $category = basename(dirname($opt_packagedir)); + log_error(NO_FILE, NO_LINE_NUMBER, "cannot check \"$opt_packagedir\"."); } + print_summary_and_exit(); } -%predefined = (); -foreach my $i (split("\n", <<EOF)) { +sub check_package() { + %predefined = (); + foreach my $i (split("\n", <<EOF)) { XCONTRIB ftp://crl.dec.com/pub/X11/contrib/ XCONTRIB ftp://ftp.sunsite.auc.dk/pub/X/X.org/contrib/ XCONTRIB ftp://ftp.uni-paderborn.de/pub/X11/contrib/ @@ -181,131 +180,131 @@ GNOME ftp://ftp.tuwien.ac.at/hci/gnome.org/GNOME/ SOURCEFORGE ftp://download.sourceforge.net/ SOURCEFORGE http://download.sourceforge.net/ EOF - my ($j, $k) = split(/\t+/, $i); - $predefined{$k} = $j; -} - -# we need to handle the Makefile first to get some variables -log_info(NO_FILE, NO_LINE_NUMBER, "checking Makefile."); -if (! -f "$opt_packagedir/Makefile") { - log_error(NO_FILE, NO_LINE_NUMBER, "no Makefile in \"$opt_packagedir\"."); -} else { - checkfile_Makefile("Makefile") || log_error("$opt_packagedir/Makefile", NO_LINE_NUMBER, "error while reading."); -} - + my ($j, $k) = split(/\t+/, $i); + $predefined{$k} = $j; + } -# -# check for files. -# -my @checker = ("$pkgdir/DESCR"); -my %checker = ("$pkgdir/DESCR", \&checkfile_DESCR); + # we need to handle the Makefile first to get some variables + log_info(NO_FILE, NO_LINE_NUMBER, "checking Makefile."); + if (! -f "$opt_packagedir/Makefile") { + log_error(NO_FILE, NO_LINE_NUMBER, "no Makefile in \"$opt_packagedir\"."); + } else { + checkfile_Makefile("Makefile") || log_error("$opt_packagedir/Makefile", NO_LINE_NUMBER, "error while reading."); + } -if ($opt_extrafile) { - foreach my $i ((<$opt_packagedir/$filesdir/*>, <$opt_packagedir/$pkgdir/*>)) { + # + # check for files. + # + my @checker = ("$pkgdir/DESCR"); + my %checker = ("$pkgdir/DESCR", \&checkfile_DESCR); + + if ($opt_extrafile) { + foreach my $i ((<$opt_packagedir/$filesdir/*>, <$opt_packagedir/$pkgdir/*>)) { + next if (! -T $i); + next if ($i =~ /distinfo$/); + next if ($i =~ /Makefile$/); + $i =~ s/^\Q$opt_packagedir\E\///; + next if (defined $checker{$i}); + if ($i =~ /MESSAGE/) { + unshift(@checker, $i); + $checker{$i} = \&checkfile_MESSAGE; + } elsif ($i =~ /PLIST/) { + unshift(@checker, $i); + $checker{$i} = \&checkfile_PLIST; + } else { + push(@checker, $i); + $checker{$i} = \&checkpathname; + } + } + } + foreach my $i (<$opt_packagedir/$patchdir/patch-*>) { next if (! -T $i); - next if ($i =~ /distinfo$/); - next if ($i =~ /Makefile$/); $i =~ s/^\Q$opt_packagedir\E\///; next if (defined $checker{$i}); - if ($i =~ /MESSAGE/) { - unshift(@checker, $i); - $checker{$i} = \&checkfile_MESSAGE; - } elsif ($i =~ /PLIST/) { - unshift(@checker, $i); - $checker{$i} = \&checkfile_PLIST; - } else { - push(@checker, $i); - $checker{$i} = \&checkpathname; - } + push(@checker, $i); + $checker{$i} = \&checkfile_patches_patch; } -} -foreach my $i (<$opt_packagedir/$patchdir/patch-*>) { - next if (! -T $i); - $i =~ s/^\Q$opt_packagedir\E\///; - next if (defined $checker{$i}); - push(@checker, $i); - $checker{$i} = \&checkfile_patches_patch; -} -if (-e <$opt_packagedir/$distinfo>) { - my $i = "$distinfo"; - next if (defined $checker{$i}); - push(@checker, $i); - $checker{$i} = \&checkfile_distinfo; -} -{ - # Make sure there's a distinfo if there are patches - my $patches=0; - patch: - foreach my $i (<$opt_packagedir/$patchdir/patch-*>) { - if ( -T "$i" ) { - $patches=1; - last patch; + if (-f "$opt_packagedir/$distinfo") { + my $i = "$distinfo"; + next if (defined $checker{$i}); + push(@checker, $i); + $checker{$i} = \&checkfile_distinfo; + } + { + # Make sure there's a distinfo if there are patches + my $patches=0; + patch: + foreach my $i (<$opt_packagedir/$patchdir/patch-*>) { + if ( -T "$i" ) { + $patches=1; + last patch; + } + } + if ($patches && ! -f "$opt_packagedir/$distinfo" ) { + log_warning(NO_FILE, NO_LINE_NUMBER, "no $opt_packagedir/$distinfo file. Please run '$conf_make makepatchsum'."); } } - if ($patches && ! -f "$opt_packagedir/$distinfo" ) { - log_warning(NO_FILE, NO_LINE_NUMBER, "no $opt_packagedir/$distinfo file. Please run '$conf_make makepatchsum'."); + foreach my $i (@checker) { + log_info(NO_FILE, NO_LINE_NUMBER, "checking $i."); + if (! -f "$opt_packagedir/$i") { + log_error(NO_FILE, NO_LINE_NUMBER, "no $i in \"$opt_packagedir\"."); + } else { + $checker{$i}->($i) || log_warning(NO_FILE, NO_LINE_NUMBER, "Cannot open the file $i\n"); + if ($i !~ /patches\/patch/) { + &checklastline($i) || + log_warning(NO_FILE, NO_LINE_NUMBER, "Cannot open the file $i\n"); + } + } } -} -foreach my $i (@checker) { - log_info(NO_FILE, NO_LINE_NUMBER, "checking $i."); - if (! -f "$opt_packagedir/$i") { - log_error(NO_FILE, NO_LINE_NUMBER, "no $i in \"$opt_packagedir\"."); + if (-f "$opt_packagedir/$distinfo") { + if ( $seen_NO_CHECKSUM ) { + log_warning(NO_FILE, NO_LINE_NUMBER, "NO_CHECKSUM set, but $opt_packagedir/$distinfo exists. Please remove it."); + } } else { - $checker{$i}->($i) || log_warning(NO_FILE, NO_LINE_NUMBER, "Cannot open the file $i\n"); - if ($i !~ /patches\/patch/) { - &checklastline($i) || - log_warning(NO_FILE, NO_LINE_NUMBER, "Cannot open the file $i\n"); + if ( ! $seen_NO_CHECKSUM ) { + log_warning(NO_FILE, NO_LINE_NUMBER, "no $opt_packagedir/$distinfo file. Please run '$conf_make makesum'."); } } -} -if (-e <$opt_packagedir/$distinfo> ) { - if ( $seen_NO_CHECKSUM ) { - log_warning(NO_FILE, NO_LINE_NUMBER, "NO_CHECKSUM set, but $opt_packagedir/$distinfo exists. Please remove it."); + if (-f "$opt_packagedir/$filesdir/md5") { + log_error(NO_FILE, NO_LINE_NUMBER, "$filesdir/md5 is deprecated -- run '$conf_make mdi' to generate distinfo."); } -} else { - if ( ! $seen_NO_CHECKSUM ) { - log_warning(NO_FILE, NO_LINE_NUMBER, "no $opt_packagedir/$distinfo file. Please run '$conf_make makesum'."); + if (-f "$opt_packagedir/$filesdir/patch-sum") { + log_error(NO_FILE, NO_LINE_NUMBER, "$filesdir/patch-sum is deprecated -- run '$conf_make mps' to generate distinfo."); } -} -if (-e <$opt_packagedir/$filesdir/md5> ) { - log_error(NO_FILE, NO_LINE_NUMBER, "$filesdir/md5 is deprecated -- run '$conf_make mdi' to generate distinfo."); -} -if (-e <$opt_packagedir/$filesdir/patch-sum> ) { - log_error(NO_FILE, NO_LINE_NUMBER, "$filesdir/patch-sum is deprecated -- run '$conf_make mps' to generate distinfo."); -} -if (-e <$pkgdir/COMMENT> ) { - log_error(NO_FILE, NO_LINE_NUMBER, "$pkgdir/COMMENT is deprecated -- please use a COMMENT variable instead."); -} -if (-d "$opt_packagedir/pkg" ) { - log_error(NO_FILE, NO_LINE_NUMBER, "$opt_packagedir/pkg and its contents are deprecated!\n". - "\tPlease 'mv $opt_packagedir/pkg/* $opt_packagedir' and 'rmdir $opt_packagedir/pkg'."); -} -if (-d "$opt_packagedir/scripts" ) { - log_warning(NO_FILE, NO_LINE_NUMBER, "$opt_packagedir/scripts and its contents are deprecated! Please call the script(s)\n". - "\texplicitly from the corresponding target(s) in the pkg's Makefile."); -} -if (! -f "$opt_packagedir/$pkgdir/PLIST" - and ! -f "$opt_packagedir/$pkgdir/PLIST-mi" - and ! $seen_PLIST_SRC - and ! $seen_NO_PKG_REGISTER ) { - log_warning(NO_FILE, NO_LINE_NUMBER, "no PLIST or PLIST-mi, and PLIST_SRC and NO_PKG_REGISTER unset.\n Are you sure PLIST handling is ok?"); -} -if ($opt_committer) { - if (scalar(@_ = <$opt_packagedir/work*/*>) || -d "$opt_packagedir/work*") { - log_warning(NO_FILE, NO_LINE_NUMBER, "be sure to cleanup $opt_packagedir/work* ". - "before committing the package."); + if (-f "$pkgdir/COMMENT") { + log_error(NO_FILE, NO_LINE_NUMBER, "$pkgdir/COMMENT is deprecated -- please use a COMMENT variable instead."); } - if (scalar(@_ = <$opt_packagedir/*/*~>) || scalar(@_ = <$opt_packagedir/*~>)) { - log_warning(NO_FILE, NO_LINE_NUMBER, "for safety, be sure to cleanup ". - "emacs backup files before committing the package."); + if (-d "$opt_packagedir/pkg") { + log_error(NO_FILE, NO_LINE_NUMBER, "$opt_packagedir/pkg and its contents are deprecated!\n". + "\tPlease 'mv $opt_packagedir/pkg/* $opt_packagedir' and 'rmdir $opt_packagedir/pkg'."); } - if (scalar(@_ = <$opt_packagedir/*/*.orig>) || scalar(@_ = <$opt_packagedir/*.orig>) - || scalar(@_ = <$opt_packagedir/*/*.rej>) || scalar(@_ = <$opt_packagedir/*.rej>)) { - log_warning(NO_FILE, NO_LINE_NUMBER, "for safety, be sure to cleanup ". - "patch backup files before committing the package."); + if (-d "$opt_packagedir/scripts") { + log_warning(NO_FILE, NO_LINE_NUMBER, "$opt_packagedir/scripts and its contents are deprecated! Please call the script(s)\n". + "\texplicitly from the corresponding target(s) in the pkg's Makefile."); } -} -print_summary_and_exit(); + if (! -f "$opt_packagedir/$pkgdir/PLIST" + and ! -f "$opt_packagedir/$pkgdir/PLIST-mi" + and ! $seen_PLIST_SRC + and ! $seen_NO_PKG_REGISTER ) { + log_warning(NO_FILE, NO_LINE_NUMBER, "no PLIST or PLIST-mi, and PLIST_SRC and NO_PKG_REGISTER unset.\n Are you sure PLIST handling is ok?"); + } + if ($opt_committer) { + if (scalar(@_ = <$opt_packagedir/work*/*>) || -d "$opt_packagedir/work*") { + log_warning(NO_FILE, NO_LINE_NUMBER, "be sure to cleanup $opt_packagedir/work* ". + "before committing the package."); + } + if (scalar(@_ = <$opt_packagedir/*/*~>) || scalar(@_ = <$opt_packagedir/*~>)) { + log_warning(NO_FILE, NO_LINE_NUMBER, "for safety, be sure to cleanup ". + "emacs backup files before committing the package."); + } + if (scalar(@_ = <$opt_packagedir/*/*.orig>) || scalar(@_ = <$opt_packagedir/*.orig>) + || scalar(@_ = <$opt_packagedir/*/*.rej>) || scalar(@_ = <$opt_packagedir/*.rej>)) { + log_warning(NO_FILE, NO_LINE_NUMBER, "for safety, be sure to cleanup ". + "patch backup files before committing the package."); + } + } + return 1; +} # check_package # # Subroutines common to all checking routines @@ -455,7 +454,7 @@ sub checkfile_MESSAGE($) { log_warning($fname, NO_LINE_NUMBER, "file too short."); return 0; } - if ($message->[0]->[2] ne 75 x "=") { + if ($message->[0]->[2] ne "=" x 75) { log_warning($message->[0]->[0], $message->[0]->[1], "expected a line of exactly 75 \"=\" characters."); } if ($message->[1]->[2] !~ /^$regex_rcsidstr$/) { @@ -466,7 +465,7 @@ sub checkfile_MESSAGE($) { checkline_trailing_whitespace($line); checkline_valid_characters($line, $regex_validchars); } - if ($message->[-1] ne 75 x "=") { + if ($message->[-1] ne "=" x 75) { log_warning($message->[-1]->[0], $message->[-1]->[1], "expected a line of exactly 75 \"=\" characters."); } return 1; @@ -1836,3 +1835,9 @@ sub print_summary_and_exit() } exit($errors != 0); } + +# +# The main program +# + +main(); |