summaryrefslogtreecommitdiff
path: root/pkgtools
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2005-07-02 22:23:47 +0000
committerrillig <rillig@pkgsrc.org>2005-07-02 22:23:47 +0000
commit9d859b1a5b73ce899fc2b275aee25019973c14b7 (patch)
tree90384df4ff4f876fcfd2e662be0c8a13f50c44f6 /pkgtools
parent3fe3a9860208e00b4e6940d7bf61a173c3e7267a (diff)
downloadpkgsrc-9d859b1a5b73ce899fc2b275aee25019973c14b7.tar.gz
Added a parameter to the checkfile_* subroutines that specifies the base
directory of the package. The other parameter, the file to check, is always relative to the current directory.
Diffstat (limited to 'pkgtools')
-rw-r--r--pkgtools/pkglint/files/pkglint.pl88
1 files changed, 42 insertions, 46 deletions
diff --git a/pkgtools/pkglint/files/pkglint.pl b/pkgtools/pkglint/files/pkglint.pl
index 60919ec575f..a84572827d9 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.199 2005/07/02 15:21:13 rillig Exp $
+# $NetBSD: pkglint.pl,v 1.200 2005/07/02 22:23:47 rillig Exp $
#
# This version contains lots of changes necessary for NetBSD packages
# done by:
@@ -363,13 +363,13 @@ my %make_vars_typemap;
# these subroutines return C<true> if the checking succeeded (that includes
# errors in the file) and C<false> if the file could not be checked.
-sub checkfile_DESCR($);
-sub checkfile_distinfo($);
-sub checkfile_Makefile($);
-sub checkfile_MESSAGE($);
-sub checkfile_patches_patch($);
-sub checkfile_PLIST($);
-sub checkfile_other($);
+sub checkfile_DESCR($$);
+sub checkfile_distinfo($$);
+sub checkfile_Makefile($$);
+sub checkfile_MESSAGE($$);
+sub checkfile_patches_patch($$);
+sub checkfile_PLIST($$);
+sub checkfile_other($$);
sub check_category($);
sub check_package($);
@@ -585,32 +585,32 @@ sub check_package($) {
my ($dir) = @_;
# we need to handle the Makefile first to get some variables
- if (!checkfile_Makefile("Makefile")) {
- log_error("$opt_packagedir/Makefile", NO_LINE_NUMBER, "Cannot be read.");
+ if (!checkfile_Makefile($dir, "${dir}/Makefile")) {
+ log_error("${dir}/Makefile", NO_LINE_NUMBER, "Cannot be read.");
return false;
}
- checkfile_DESCR("$pkgdir/DESCR");
+ checkfile_DESCR($dir, "${dir}/${pkgdir}/DESCR");
if ($opt_check_MESSAGE) {
foreach my $msg (<$opt_packagedir/$filesdir/MESSAGE*>, <$opt_packagedir/$pkgdir/MESSAGE*>) {
- checkfile_MESSAGE($msg);
+ checkfile_MESSAGE($dir, $msg);
}
}
if ($opt_check_PLIST) {
foreach my $plist (<$opt_packagedir/$filesdir/PLIST*>, <$opt_packagedir/$pkgdir/PLIST*>) {
- checkfile_PLIST($plist);
+ checkfile_PLIST($dir, $plist);
}
}
if ($opt_check_patches) {
foreach my $patch (<$opt_packagedir/$patchdir/patch-*>) {
- checkfile_patches_patch($patch);
+ checkfile_patches_patch($dir, $patch);
}
}
if ($opt_check_distinfo) {
foreach my $distinfo ("$opt_packagedir/$distinfo_file") {
if (-f $distinfo) {
- checkfile_distinfo($distinfo);
+ checkfile_distinfo($dir, $distinfo);
}
}
}
@@ -631,16 +631,15 @@ sub check_package($) {
if ($opt_check_bl3) {
foreach my $bl3 ("$opt_packagedir/$pkgdir/buildlink3.mk") {
next unless -f $bl3;
- checkfile_buildlink3_mk($bl3);
+ checkfile_buildlink3_mk($dir, $bl3);
}
}
if ($opt_check_extra) {
- foreach my $abs_extra ((<$opt_packagedir/$filesdir/*>, <$opt_packagedir/$pkgdir/*>)) {
- my ($extra) = (substr($abs_extra, length("$opt_packagedir/")));
+ foreach my $extra ((<$opt_packagedir/$filesdir/*>, <$opt_packagedir/$pkgdir/*>)) {
next if ($extra =~ qr"(?:distinfo$|Makefile$|PLIST|MESSAGE)");
next unless -f $extra && -T $extra;
- checkfile_other($extra);
+ checkfile_other($dir, $extra);
}
}
@@ -770,9 +769,9 @@ sub checklines_trailing_empty_lines($) {
# Specific subroutines
#
-sub checkfile_DESCR($) {
- my ($file) = @_;
- my ($maxchars, $maxlines, $fname) = (80, 24, "$opt_packagedir/$file");
+sub checkfile_DESCR($$) {
+ my ($dir, $fname) = @_;
+ my ($maxchars, $maxlines) = (80, 24);
my ($descr);
checkperms($fname);
@@ -799,8 +798,8 @@ sub checkfile_DESCR($) {
return true;
}
-sub checkfile_distinfo($) {
- my ($fname) = @_;
+sub checkfile_distinfo($$) {
+ my ($dir, $fname) = @_;
my ($distinfo, %in_distinfo);
checkperms($fname);
@@ -825,7 +824,7 @@ sub checkfile_distinfo($) {
}
if ($patch =~ /^patch-[-A-Za-z0-9_.]+$/) {
- if (-f "$opt_packagedir/$patchdir/$patch") {
+ if (-f "${dir}/$patchdir/$patch") {
my $chksum = `sed -e '/\$NetBSD.*/d' $opt_packagedir/$patchdir/$patch | digest $alg`;
$chksum =~ s/\r*\n*\z//;
if ($sum ne $chksum) {
@@ -839,7 +838,7 @@ sub checkfile_distinfo($) {
}
checklines_trailing_empty_lines($distinfo);
- foreach my $patch (<$opt_packagedir/$patchdir/patch-*>) {
+ foreach my $patch (<${dir}/$patchdir/patch-*>) {
$patch = basename($patch);
if (!exists($in_distinfo{$patch})) {
log_error($fname, NO_LINE_NUMBER, "$patch is not recorded. Rerun '$conf_make makepatchsum'.");
@@ -848,8 +847,8 @@ sub checkfile_distinfo($) {
return true;
}
-sub checkfile_MESSAGE($) {
- my ($fname) = @_;
+sub checkfile_MESSAGE($$) {
+ my ($dir, $fname) = @_;
my ($message);
checkperms($fname);
@@ -878,8 +877,8 @@ sub checkfile_MESSAGE($) {
return true;
}
-sub checkfile_PLIST($) {
- my ($fname) = @_;
+sub checkfile_PLIST($$) {
+ my ($dir, $fname) = @_;
my ($plist, $curdir, $last_file_seen);
checkperms($fname);
@@ -981,9 +980,8 @@ sub checkfile_PLIST($) {
return true;
}
-sub checkfile_buildlink3_mk($) {
- my ($file) = @_;
- my ($fname) = ("$opt_packagedir/$file");
+sub checkfile_buildlink3_mk($$) {
+ my ($dir, $fname) = @_;
my ($lines);
if (!($lines = load_file($fname))) {
@@ -997,10 +995,10 @@ sub checkfile_buildlink3_mk($) {
}
sub checkperms($) {
- my ($file) = @_;
+ my ($fname) = @_;
- if ($opt_warn_exec && -f $file && -x $file && !is_committed($file)) {
- log_warning($file, NO_LINE_NUMBER, "Should not be executable.");
+ if ($opt_warn_exec && -f $fname && -x $fname && !is_committed($fname)) {
+ log_warning($fname, NO_LINE_NUMBER, "Should not be executable.");
}
return true;
}
@@ -1008,9 +1006,8 @@ sub checkperms($) {
#
# misc files
#
-sub checkfile_other($) {
- my ($file) = @_;
- my ($fname) = ("$opt_packagedir/$file");
+sub checkfile_other($$) {
+ my ($dir, $fname) = @_;
my ($lines);
$lines = load_file($fname);
@@ -1069,8 +1066,8 @@ sub check_for_multiple_patches($) {
return true;
}
-sub checkfile_patches_patch($) {
- my ($fname) = @_;
+sub checkfile_patches_patch($$) {
+ my ($dir, $fname) = @_;
my ($lines);
if ($fname =~ /.*~$/) {
@@ -1339,9 +1336,8 @@ sub checklines_direct_tools($) {
return true;
}
-sub checkfile_Makefile($) {
- my ($file) = @_;
- my ($fname) = ("$opt_packagedir/$file");
+sub checkfile_Makefile($$) {
+ my ($dir, $fname) = @_;
my ($tmp, $rawwhole, $whole, $idx, @sections);
my (@varnames) = ();
my ($distfiles, $svrpkgname, $distname, $extractsufx) = ('', '', '', '', '');
@@ -1358,7 +1354,7 @@ sub checkfile_Makefile($) {
$tmp = 0;
$rawwhole = readmakefile($fname, $lines = []);
if (!$rawwhole) {
- log_error("$opt_packagedir/$file", NO_LINE_NUMBER, "Cannot be read.");
+ log_error($fname, NO_LINE_NUMBER, "Cannot be read.");
return false;
}
if ($opt_dumpmakefile) {
@@ -1775,7 +1771,7 @@ sub checkfile_Makefile($) {
} elsif ($tmp =~ /\nMAINTAINER=[^\n]+/) {
$tmp =~ s/\nMAINTAINER=[^\n]+//;
} else {
- $opt_warn_vague && log_error(NO_FILE, NO_LINE_NUMBER, "No MAINTAINER listed in $file.");
+ $opt_warn_vague && log_error($fname, NO_LINE_NUMBER, "No MAINTAINER found.");
}
$tmp =~ s/\n\n+/\n/g;