I've been perusing the results of the build, they aren't good, then again portroach isn't quite grabbing the right stuff.
- tweak the meter to use shorter xxxxx/xxxxx so that it fits again on the line. - use fullpkgname instead of distname because that one is *always* defined. (and strip v/p accordingly) - switch to roach_url/roach_sites - use the portsq cached table instead of the view (this goes MUCH faster not surprisingly) this does require an up-to-date sqlports. Long term, it would be appropriate to create a temp view based on portsq that contains all required fields with sensible names, so that it's less painful to rename stuff in every individual query. I haven't run the check, since this probably requires setting up PgSql for maximum efficiency. Index: Makefile =================================================================== RCS file: /cvs/ports/misc/portroach/Makefile,v retrieving revision 1.37 diff -u -p -r1.37 Makefile --- Makefile 21 Jul 2023 10:57:10 -0000 1.37 +++ Makefile 7 Sep 2023 10:19:41 -0000 @@ -3,7 +3,7 @@ COMMENT= OpenBSD ports distfile version GH_ACCOUNT= jasperla GH_PROJECT= portroach GH_TAGNAME= 2.0.11 -REVISION= 4 +REVISION= 5 CATEGORIES= misc Index: patches/patch-Portroach_DataSrc_Ports_pm =================================================================== RCS file: patches/patch-Portroach_DataSrc_Ports_pm diff -N patches/patch-Portroach_DataSrc_Ports_pm --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Portroach_DataSrc_Ports_pm 7 Sep 2023 10:19:41 -0000 @@ -0,0 +1,23 @@ +Index: Portroach/DataSrc/Ports.pm +--- Portroach/DataSrc/Ports.pm.orig ++++ Portroach/DataSrc/Ports.pm +@@ -217,6 +217,10 @@ sub BuildPort + $name = fullpkgpathtoport($fullpkgpath); + + $distname = $ports[2]; ++ # get rid of version/epoch markers ++ $distname =~ s/v[0-9]+$//; ++ $distname =~ s/p[0-9]+$//; ++ + foreach my $file (split /\s+/, $ports[3]) { + $file =~ s/:[A-Za-z0-9][A-Za-z0-9\,]*$//g; + push @distfiles, $file; +@@ -305,7 +309,7 @@ sub BuildPort + } + } + +- info(1, $fullpkgpath, "($n_port out of $total_ports)"); ++ info(1, $fullpkgpath, "($n_port/$total_ports)"); + + $ps->AddPort({ + 'name' => $name, Index: patches/patch-Portroach_SQL_pm =================================================================== RCS file: /cvs/ports/misc/portroach/patches/patch-Portroach_SQL_pm,v retrieving revision 1.4 diff -u -p -r1.4 patch-Portroach_SQL_pm --- patches/patch-Portroach_SQL_pm 11 Mar 2022 19:38:17 -0000 1.4 +++ patches/patch-Portroach_SQL_pm 7 Sep 2023 10:19:41 -0000 @@ -1,6 +1,81 @@ Index: Portroach/SQL.pm --- Portroach/SQL.pm.orig +++ Portroach/SQL.pm +@@ -73,49 +73,49 @@ $sql{portdata_update} = + + # Port.pm:BuildPort() + $sql{ports_select} = +- q(SELECT fullpkgpath, categories, distname, distfiles, +- master_sites, maintainer, comment, portroach, ++ q(SELECT fullpkgpath, categories, fullpkgname, roach_url, ++ roach_sites, maintainer, comment, portroach, + portroach_comment, homepage +- FROM ports); ++ FROM portsq); + + $sql{ports_select_count} = + q(SELECT COUNT(fullpkgpath) +- FROM ports); ++ FROM portsq); + + $sql{ports_restrict_maintainer} = +- q(SELECT fullpkgpath, categories, distname, distfiles, +- master_sites, maintainer, comment, portroach, ++ q(SELECT fullpkgpath, categories, fullpkgname, roach_url, ++ roach_sites, maintainer, comment, portroach, + portroach_comment, homepage +- FROM ports ++ FROM portsq + WHERE maintainer like ?); + + $sql{ports_restrict_maintainer_count} = + q(SELECT COUNT(fullpkgpath) +- FROM ports ++ FROM portsq + WHERE maintainer like ?); + + $sql{ports_restrict_category} = +- q(SELECT fullpkgpath, categories, distname, distfiles, +- master_sites, maintainer, comment, portroach, ++ q(SELECT fullpkgpath, categories, fullpkgname, roach_url, ++ roach_sites, maintainer, comment, portroach, + portroach_comment, homepage +- FROM ports ++ FROM portsq + WHERE categories like ?); + + $sql{ports_restrict_category_count} = + q(SELECT COUNT(fullpkgpath) +- FROM ports ++ FROM portsq + WHERE categories like ?); + + $sql{ports_restrict_port} = +- q(SELECT fullpkgpath, categories, distname, distfiles, +- master_sites, maintainer, comment, portroach, ++ q(SELECT fullpkgpath, categories, fullpkgname, roach_url, ++ roach_sites, maintainer, comment, portroach, + portroach_comment, homepage +- FROM ports ++ FROM portsq + WHERE fullpkgpath like ?); + + $sql{ports_restrict_port_count} = + q(SELECT COUNT(fullpkgpath) +- FROM ports ++ FROM portsq + WHERE fullpkgpath like ?); + + $sql{portdata_insert} = +@@ -127,7 +127,7 @@ $sql{portdata_insert} = + + $sql{sqlports_fullpkgpaths_by_maintainer} = + q(SELECT fullpkgpath +- FROM Ports ++ FROM Portsq + WHERE MAINTAINER LIKE ?); + + $sql{sqlports_count_ports} = @@ -311,7 +311,7 @@ $sql{portdata_fullpkgpaths} = FROM portdata); Index: patches/patch-Portroach_Util_pm =================================================================== RCS file: patches/patch-Portroach_Util_pm diff -N patches/patch-Portroach_Util_pm --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Portroach_Util_pm 7 Sep 2023 10:19:41 -0000 @@ -0,0 +1,12 @@ +Index: Portroach/Util.pm +--- Portroach/Util.pm.orig ++++ Portroach/Util.pm +@@ -652,7 +652,7 @@ sub info + my @items = (@_); + my ($str, $msg); + +- # 60 is chosen as 80 - length of "(xxxx out of xxxx)" (16)" - separators. ++ # 60 is chosen so that "(xxxxx/xxxxx)" will fit + my $width = 30; + $width *= 2 if $full; +