summaryrefslogtreecommitdiff
path: root/pkgtools/lintpkgsrc
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2022-08-16 18:58:00 +0000
committerrillig <rillig@pkgsrc.org>2022-08-16 18:58:00 +0000
commit23fd0e0d489f3483c58fddb54e35f58df889f9aa (patch)
tree5c85eef444bc86593ec12b6baf504cf9b055fffd /pkgtools/lintpkgsrc
parent6d50a5aeb73a49665f643f9a7e0b25cbd08479d9 (diff)
downloadpkgsrc-23fd0e0d489f3483c58fddb54e35f58df889f9aa.tar.gz
lintpkgsrc: clean up loading distfiles for installed package
Diffstat (limited to 'pkgtools/lintpkgsrc')
-rwxr-xr-xpkgtools/lintpkgsrc/files/lintpkgsrc.pl31
1 files changed, 10 insertions, 21 deletions
diff --git a/pkgtools/lintpkgsrc/files/lintpkgsrc.pl b/pkgtools/lintpkgsrc/files/lintpkgsrc.pl
index 9a737692663..913217245d1 100755
--- a/pkgtools/lintpkgsrc/files/lintpkgsrc.pl
+++ b/pkgtools/lintpkgsrc/files/lintpkgsrc.pl
@@ -1,5 +1,5 @@
#!@PERL5@
-# $NetBSD: lintpkgsrc.pl,v 1.98 2022/08/16 18:47:50 rillig Exp $
+# $NetBSD: lintpkgsrc.pl,v 1.99 2022/08/16 18:58:00 rillig Exp $
# Written by David Brownlee <abs@netbsd.org>.
#
@@ -1405,29 +1405,18 @@ sub remove_distfiles($pkgsrcdir, $pkgdistdir) {
my (%distfiles, @pkgdistfiles);
foreach my $pkgver (sort @installed) {
my $pkgpath = $pkgver->var('dir');
- next unless open(DISTINFO, "$pkgsrcdir/$pkgpath/distinfo");
- while (<DISTINFO>) {
- next unless m/^(\w+) ?\(([^\)]+)\) = (\S+)/;
- my $dn = $2;
- next if $dn =~ /^patch-[\w.+\-]+$/;
- # Strip leading ./ which sometimes gets added
- # because of DISTSUBDIR=.
- $dn =~ s/^(\.\/)*//;
- if (!defined $distfiles{$dn}) {
- $distfiles{$dn}{name} = $dn;
- push @pkgdistfiles, $dn;
- }
+ foreach my $entry (load_distinfo("$pkgsrcdir/$pkgpath")) {
+ my $distfile = $entry->{distfile};
+ next if $distfile =~ /^patch-[\w.+\-]+$/;
+ next if defined $distfiles{$distfile};
+ $distfiles{$distfile}->{name} = $distfile;
+ push @pkgdistfiles, $distfile;
}
- close(DISTINFO);
}
# distfiles downloaded on the current system
- my @tmpdistfiles = listdir("$pkgdistdir", undef);
- my @dldistfiles = grep { $_ ne 'pkg-vulnerabilities' } @tmpdistfiles;
-
- # sort the two arrays to make searching a bit faster
- @dldistfiles = sort @dldistfiles;
- @pkgdistfiles = sort @pkgdistfiles;
+ my @dldistfiles = sort grep { $_ ne 'pkg-vulnerabilities' }
+ listdir("$pkgdistdir", undef);
if ($opt{y}) {
# looking for files that are downloaded on the current system
@@ -1461,7 +1450,7 @@ sub remove_distfiles($pkgsrcdir, $pkgdistdir) {
# but belong to a currently installed package i.e. parented
my $found = 0;
my @parent;
- foreach my $pkgdf (@pkgdistfiles) {
+ foreach my $pkgdf (sort @pkgdistfiles) {
foreach my $dldf (@dldistfiles) {
if ($pkgdf eq $dldf) {
$found = 1;