summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkgtools/pkglint/Makefile4
-rwxr-xr-xpkgtools/pkglint/files/lintpkgsrc.pl33
2 files changed, 29 insertions, 8 deletions
diff --git a/pkgtools/pkglint/Makefile b/pkgtools/pkglint/Makefile
index 080d4a32a3e..8701f1cc5dd 100644
--- a/pkgtools/pkglint/Makefile
+++ b/pkgtools/pkglint/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.158 2003/04/22 10:18:22 wiz Exp $
+# $NetBSD: Makefile,v 1.159 2003/04/30 03:16:06 atatat Exp $
#
-DISTNAME= pkglint-3.52
+DISTNAME= pkglint-3.53
WRKSRC= ${WRKDIR}
CATEGORIES= pkgtools devel
MASTER_SITES= # empty
diff --git a/pkgtools/pkglint/files/lintpkgsrc.pl b/pkgtools/pkglint/files/lintpkgsrc.pl
index bcd81d9b294..2f323cc2938 100755
--- a/pkgtools/pkglint/files/lintpkgsrc.pl
+++ b/pkgtools/pkglint/files/lintpkgsrc.pl
@@ -1,6 +1,6 @@
#!@PREFIX@/bin/perl
-# $NetBSD: lintpkgsrc.pl,v 1.76 2003/03/27 05:16:12 atatat Exp $
+# $NetBSD: lintpkgsrc.pl,v 1.77 2003/04/30 03:16:07 atatat Exp $
# Written by David Brownlee <abs@netbsd.org>.
#
@@ -1278,7 +1278,8 @@ sub scan_pkgsrc_distfiles_vs_distinfo
sub load_pkgsrc_makefiles
{
open(STORE, "<$_[0]") || die("Cannot read pkgsrc store from $_[0]: $!\n");
- my ($pkgver, $pkgcnt, $pkgnum);
+ my ($pkgver);
+ our ($pkgcnt, $pkgnum, $subpkgcnt, $subpkgnum);
$pkglist = new PkgList;
while (<STORE>)
{ eval $_; }
@@ -1289,6 +1290,10 @@ sub store_pkgsrc_makefiles
{
open(STORE, ">$_[0]") || die("Cannot save pkgsrc store to $_[0]: $!\n");
my $was = select(STORE);
+ print('sub __pkgcount { $subpkgnum += $_[0]; ',
+ 'verbose("\rReading pkgsrc database: ',
+ '$pkgnum / $pkgcnt ($subpkgnum / $subpkgcnt) pkgs"); }',
+ "\n");
$pkglist->store;
print("verbose(\"...done\\n\");\n");
select($was);
@@ -1401,10 +1406,21 @@ sub store
{
my $self = shift;
my @pkgs = keys %{$self->{_pkgs}};
- print("\$pkgcnt = ", scalar(@pkgs), ";\n");
+ my ($cnt, $subcnt) = $self->count;
+ print("\$pkgcnt = $cnt;\n");
+ print("\$subpkgcnt = $subcnt;\n");
map($self->{_pkgs}{$_}->store, keys %{$self->{_pkgs}});
}
+sub count
+ {
+ my $self = shift;
+ my ($pkgcnt, $pkgsubcnt);
+ map({ $pkgcnt++; $pkgsubcnt += $self->{_pkgs}{$_}->count; }
+ keys %{$self->{_pkgs}});
+ wantarray ? ($pkgcnt, $pkgsubcnt) : $pkgcnt;
+ }
+
# Pkgs is all versions of a given package (eg: apache-1.x and apache-2.x)
#
package Pkgs;
@@ -1458,11 +1474,15 @@ sub store
{
my $self = shift;
print("\$pkgnum++;\n");
- print("verbose(\"\\rReading pkgsrc database: ",
- "\$pkgnum / \$pkgcnt pkgs\");\n");
map($self->{_pkgver}{$_}->store, keys %{$self->{_pkgver}});
}
+sub count
+ {
+ my $self = shift;
+ scalar(keys %{$self->{_pkgver}});
+ }
+
# PkgVer is a unique package+version
#
package PkgVer;
@@ -1513,7 +1533,8 @@ sub store
{
my $self = shift;
my $data;
- print("\$pkgver = \$pkglist->add(\"$self->{_pkg}\", \"$self->{_ver}\");\n");
+ print("\$pkgver = \$pkglist->add(\"$self->{_pkg}\", \"$self->{_ver}\"); ");
+ print("__pkgcount(1);\n");
foreach ($self->vars)
{
($data = $self->{$_}) =~ s/([\\\$\@\%\"])/\\$1/g;