Tue Aug 16 20:10:32 2022 UTC ()
lintpkgsrc: fix PKGNAME guessing for Lua packages

Previously, the guessed PKGNAME of devel/lua-busted was '-busted-2.0.0',
now it is 'lua-busted-2.0.0'.


(rillig)
diff -r1.104 -r1.105 pkgsrc/pkgtools/lintpkgsrc/files/lintpkgsrc.pl

cvs diff -r1.104 -r1.105 pkgsrc/pkgtools/lintpkgsrc/files/lintpkgsrc.pl (expand / switch to unified diff)

--- pkgsrc/pkgtools/lintpkgsrc/files/lintpkgsrc.pl 2022/08/16 20:06:05 1.104
+++ pkgsrc/pkgtools/lintpkgsrc/files/lintpkgsrc.pl 2022/08/16 20:10:32 1.105
@@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
1#!@PERL5@ 1#!@PERL5@
2# $NetBSD: lintpkgsrc.pl,v 1.104 2022/08/16 20:06:05 rillig Exp $ 2# $NetBSD: lintpkgsrc.pl,v 1.105 2022/08/16 20:10:32 rillig Exp $
3 3
4# Written by David Brownlee <abs@netbsd.org>. 4# Written by David Brownlee <abs@netbsd.org>.
5# 5#
6# Caveats: 6# Caveats:
7# The 'Makefile parsing' algorithm used to obtain package versions and 7# The 'Makefile parsing' algorithm used to obtain package versions and
8# DEPENDS information is geared towards speed rather than perfection, 8# DEPENDS information is geared towards speed rather than perfection,
9# though it has gotten somewhat better over time, it only parses the 9# though it has gotten somewhat better over time, it only parses the
10# simpler Makefile conditionals. 10# simpler Makefile conditionals.
11# 11#
12# TODO: Handle fun DEPENDS like avifile-devel with 12# TODO: Handle fun DEPENDS like avifile-devel with
13# {qt2-designer>=2.2.4,qt2-designer-kde>=2.3.1nb1} 13# {qt2-designer>=2.2.4,qt2-designer-kde>=2.3.1nb1}
14 14
15use v5.36; 15use v5.36;
@@ -191,26 +191,27 @@ sub listdir($base, $dir = undef) { @@ -191,26 +191,27 @@ sub listdir($base, $dir = undef) {
191 @thislist = grep { substr($_, 0, 1) ne '.' && $_ ne 'CVS' } readdir(DIR); 191 @thislist = grep { substr($_, 0, 1) ne '.' && $_ ne 'CVS' } readdir(DIR);
192 closedir(DIR); 192 closedir(DIR);
193 foreach my $entry (@thislist) { 193 foreach my $entry (@thislist) {
194 if (-d "$thisdir/$entry") { 194 if (-d "$thisdir/$entry") {
195 push @list, listdir($base, "$dir$entry"); 195 push @list, listdir($base, "$dir$entry");
196 } else { 196 } else {
197 push @list, "$dir$entry"; 197 push @list, "$dir$entry";
198 } 198 }
199 } 199 }
200 @list; 200 @list;
201} 201}
202 202
203sub canonicalize_pkgname($pkgname) { 203sub canonicalize_pkgname($pkgname) {
 204 $pkgname =~ s,^lua\d+-,lua-,;
204 $pkgname =~ s,^py\d+(?:pth|)-,py-,; 205 $pkgname =~ s,^py\d+(?:pth|)-,py-,;
205 $pkgname =~ s,^ruby\d+-,ruby-,; 206 $pkgname =~ s,^ruby\d+-,ruby-,;
206 $pkgname =~ s,^php\d+-,php-,; 207 $pkgname =~ s,^php\d+-,php-,;
207 return $pkgname; 208 return $pkgname;
208} 209}
209 210
210sub split_pkgversion($pkgversion) { 211sub split_pkgversion($pkgversion) {
211 $pkgversion = lc($pkgversion); 212 $pkgversion = lc($pkgversion);
212 213
213 # See pkgtools/pkg_install/files/lib/dewey.c. 214 # See pkgtools/pkg_install/files/lib/dewey.c.
214 my @temp = ($pkgversion =~ s/nb(\d+)//) ? +$1 : 0; 215 my @temp = ($pkgversion =~ s/nb(\d+)//) ? +$1 : 0;
215 foreach my $elem (split(/(pl|pre|rc|beta|alpha|\D)/, $pkgversion)) { 216 foreach my $elem (split(/(pl|pre|rc|beta|alpha|\D)/, $pkgversion)) {
216 if ($elem =~ /\d/) { 217 if ($elem =~ /\d/) {
@@ -695,26 +696,28 @@ sub get_default_makefile_vars() { @@ -695,26 +696,28 @@ sub get_default_makefile_vars() {
695 # Extract some variables from bsd.pkg.mk 696 # Extract some variables from bsd.pkg.mk
696 my ($mkvars); 697 my ($mkvars);
697 $mkvars = parse_makefile_vars( 698 $mkvars = parse_makefile_vars(
698 "$default_vars->{PKGSRCDIR}/mk/bsd.pkg.mk", 699 "$default_vars->{PKGSRCDIR}/mk/bsd.pkg.mk",
699 "$default_vars->{PKGSRCDIR}/mk/scripts" 700 "$default_vars->{PKGSRCDIR}/mk/scripts"
700 ); 701 );
701 foreach my $varname (keys %{$mkvars}) { 702 foreach my $varname (keys %{$mkvars}) {
702 if ($varname =~ /_REQD$/ || $varname eq 'EXTRACT_SUFX') { 703 if ($varname =~ /_REQD$/ || $varname eq 'EXTRACT_SUFX') {
703 $default_vars->{$varname} = $mkvars->{$varname}; 704 $default_vars->{$varname} = $mkvars->{$varname};
704 } 705 }
705 } 706 }
706 707
707 $default_vars->{PACKAGES} ||= $default_vars->{PKGSRCDIR} . '/packages'; 708 $default_vars->{PACKAGES} ||= $default_vars->{PKGSRCDIR} . '/packages';
 709
 710 $default_vars->{LUA_PKGPREFIX} = 'lua54';
708} 711}
709 712
710# Determine if a package version is current. If not, report the correct 713# Determine if a package version is current. If not, report the correct
711# version if found. 714# version if found.
712sub invalid_version($pkgmatch) { 715sub invalid_version($pkgmatch) {
713 716
714 my @warnings; 717 my @warnings;
715 foreach $pkgmatch (expand_braces($pkgmatch)) { 718 foreach $pkgmatch (expand_braces($pkgmatch)) {
716 my ($pkg, $badver) = package_globmatch($pkgmatch); 719 my ($pkg, $badver) = package_globmatch($pkgmatch);
717 # If we find one match, it's good enough. 720 # If we find one match, it's good enough.
718 return () unless defined $badver; 721 return () unless defined $badver;
719 722
720 my $pkgs = $pkgdb->pkgs($pkg); 723 my $pkgs = $pkgdb->pkgs($pkg);