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;
+