pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/pkgtools/pkglint/files Removed globally visible variab...
details: https://anonhg.NetBSD.org/pkgsrc/rev/ec290ea0a507
branches: trunk
changeset: 497109:ec290ea0a507
user: rillig <rillig%pkgsrc.org@localhost>
date: Wed Jul 20 17:08:59 2005 +0000
description:
Removed globally visible variable %predefined_sites. It is now a
"static" variable of the check_predefined_sites subroutine.
diffstat:
pkgtools/pkglint/files/pkglint.pl | 36 ++++++++++++++++++++++++------------
1 files changed, 24 insertions(+), 12 deletions(-)
diffs (105 lines):
diff -r 2fba6f83d417 -r ec290ea0a507 pkgtools/pkglint/files/pkglint.pl
--- a/pkgtools/pkglint/files/pkglint.pl Wed Jul 20 16:56:24 2005 +0000
+++ b/pkgtools/pkglint/files/pkglint.pl Wed Jul 20 17:08:59 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.206 2005/07/20 16:56:24 rillig Exp $
+# $NetBSD: pkglint.pl,v 1.207 2005/07/20 17:08:59 rillig Exp $
#
# This version contains lots of changes necessary for NetBSD packages
# done by:
@@ -352,7 +352,6 @@
my $seen_USE_PKGLOCALEDIR;
my %seen_Makefile_include;
my $seen_Makefile_common;
-my %predefined_sites;
my $pkgname;
my %make_vars_typemap;
@@ -374,7 +373,7 @@
sub checkextra($$);
sub checkorder($$@);
sub checkearlier($@);
-sub check_predefined_sites($);
+sub check_predefined_sites($$);
sub init_global_vars() {
$pkgdir = ".";
@@ -385,7 +384,6 @@
$seen_USE_PKGLOCALEDIR = false;
%seen_Makefile_include = ();
$seen_Makefile_common = false;
- %predefined_sites = ();
$pkgname = undef;
%make_vars_typemap = ();
}
@@ -508,6 +506,7 @@
my ($lines) = load_file($fname);
my ($varname) = undef;
my ($ignoring) = false;
+ my ($predefined_sites) = {};
if (!$lines) {
log_error($fname, NO_LINE_NUMBER, "Could not be read.");
@@ -522,7 +521,7 @@
} elsif ($line->text =~ qr"^\t($regex_url_directory)(?:|\s*\\)$"o) {
if (!$ignoring) {
if (defined($varname)) {
- $predefined_sites{$1} = $varname;
+ $predefined_sites->{$1} = $varname;
} else {
$line->log_error("Lonely URL found.");
}
@@ -535,8 +534,8 @@
$line->log_error("Unknown line type.");
}
}
- log_info($fname, NO_LINE_NUMBER, sprintf("Loaded %d MASTER_SITE_* definitions.", scalar(keys(%predefined_sites))));
- return true;
+ log_info($fname, NO_LINE_NUMBER, sprintf("Loaded %d MASTER_SITE_* definitions.", scalar(keys(%{$predefined_sites}))));
+ return $predefined_sites;
}
sub check_directory($) {
@@ -1528,7 +1527,7 @@
$opt_warn_vague && log_error(NO_FILE, NO_LINE_NUMBER, "URL \"$i\" contains ".
"extra \":\".");
}
- check_predefined_sites($i);
+ check_predefined_sites($dir, $i);
} else {
log_info(NO_FILE, NO_LINE_NUMBER, "non-URL \"$i\" ok.");
}
@@ -1967,13 +1966,26 @@
}
}
-sub check_predefined_sites($) {
- my ($url) = @_;
+my $predefined_sites_rootdir = undef;
+my $predefined_sites = undef;
+sub check_predefined_sites($$) {
+ my ($pkgsrc_rootdir, $url) = @_;
- foreach my $site (keys(%predefined_sites)) {
+ if (!defined($predefined_sites) || $predefined_sites_rootdir ne $pkgsrc_rootdir) {
+ my $sites = load_predefined_sites($pkgsrc_rootdir);
+ if ($sites != false) {
+ $predefined_sites = $sites;
+ $predefined_sites_rootdir = $pkgsrc_rootdir;
+ }
+ }
+ if (!defined($predefined_sites)) {
+ return false;
+ }
+
+ foreach my $site (keys(%{$predefined_sites})) {
next unless (index($url, $site) == 0);
my $subdir = substr($url, length($site));
- $opt_warn_vague && log_warning(NO_FILE, NO_LINE_NUMBER, "Please use \${$predefined_sites{$site}:=$subdir} instead of \"$url\".");
+ $opt_warn_vague && log_warning(NO_FILE, NO_LINE_NUMBER, "Please use \${$predefined_sites->{$site}:=$subdir} instead of \"$url\".");
return true;
}
log_info(NO_FILE, NO_LINE_NUMBER, "URL does not match any of the predefined URLS. Good.");
Home |
Main Index |
Thread Index |
Old Index