summaryrefslogtreecommitdiff
path: root/pkgtools/lintpkgsrc
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2022-08-16 19:40:24 +0000
committerrillig <rillig@pkgsrc.org>2022-08-16 19:40:24 +0000
commit67d8cafa32f21619c70e368b5dbbfff0bc0ac0cb (patch)
tree04fb5ad2ae2056d011417fc0eef6a81a04a57111 /pkgtools/lintpkgsrc
parentc145080be4b23253ad8c54700636915f5a6487a1 (diff)
downloadpkgsrc-67d8cafa32f21619c70e368b5dbbfff0bc0ac0cb.tar.gz
lintpkgsrc: cleanup: condense package_globmatch
Diffstat (limited to 'pkgtools/lintpkgsrc')
-rwxr-xr-xpkgtools/lintpkgsrc/files/lintpkgsrc.pl34
1 files changed, 13 insertions, 21 deletions
diff --git a/pkgtools/lintpkgsrc/files/lintpkgsrc.pl b/pkgtools/lintpkgsrc/files/lintpkgsrc.pl
index e7a1cdf6e43..fb7017eefaf 100755
--- a/pkgtools/lintpkgsrc/files/lintpkgsrc.pl
+++ b/pkgtools/lintpkgsrc/files/lintpkgsrc.pl
@@ -1,5 +1,5 @@
#!@PERL5@
-# $NetBSD: lintpkgsrc.pl,v 1.102 2022/08/16 19:20:06 rillig Exp $
+# $NetBSD: lintpkgsrc.pl,v 1.103 2022/08/16 19:40:24 rillig Exp $
# Written by David Brownlee <abs@netbsd.org>.
#
@@ -829,29 +829,21 @@ sub glob2regex($glob) {
sub package_globmatch($pkgmatch) {
if ($pkgmatch =~ /^ ([^*?[]+) (<|>|<=|>=|-) (\d[^*?[{]*) $/x) {
- # TODO: rename $matchpkgname to be more accurate.
- my ($matchpkgname, $op, $matchver) = ($1, $2, $3);
-
- if (my @pkgvers = $pkgdb->pkgvers_by_pkgbase($matchpkgname)) {
- foreach my $pkgver (@pkgvers) {
- if ($op eq '-') {
- if ($pkgver->pkgversion eq $matchver) {
- $matchver = undef;
- last;
- }
- } else {
- if (pkgversion_cmp($pkgver->pkgversion, $op, $matchver)) {
- $matchver = undef;
- last;
- }
- }
+ my ($match_base, $op, $match_ver) = ($1, $2, $3);
+
+ my @pkgvers = $pkgdb->pkgvers_by_pkgbase($match_base);
+ foreach my $pkgver (@pkgvers) {
+ if ($op eq '-'
+ ? $pkgver->pkgversion eq $match_ver
+ : pkgversion_cmp($pkgver->pkgversion, $op, $match_ver)) {
+ return ($match_base, undef);
}
+ }
- if ($matchver && $op ne '-') {
- $matchver = "$op$matchver";
- }
+ if (@pkgvers && $match_ver && $op ne '-') {
+ $match_ver = "$op$match_ver";
}
- ($matchpkgname, $matchver);
+ ($match_base, $match_ver);
} elsif ($pkgmatch =~ /^ ([^[]+) - ([\d*?{[].*) $/x) {
my ($matchpkgname, $matchver) = ($1, $2);