On Thu, Sep 07, 2023 at 02:03:18PM +0200, Antoine Jacoutot wrote:
> On Thu, Sep 07, 2023 at 12:24:59PM +0200, Marc Espie wrote:
> > 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.
>
> I'll try that on my next run.
Seems to work ok.
> > 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;
> > +
>
> --
> Antoine
>
--
Antoine