Re: Scripts / utils for maintaining ports?

From: Edward Sanford Sutton, III <mirror176_at_hotmail.com>
Date: Sat, 02 Dec 2023 00:52:57 UTC
On 11/30/23 17:25, Pat Maddox wrote:
> According to portscout, there are three individual maintainers who each maintain 1000+ ports: https://portscout.freebsd.org/index-total.html
> 
> I'm trying to wrap my head around how someone could do that. They have to use some utils to pull that off. Are those tools publicly available, either as packages, or scripts in a repo somewhere?
> 
> I am gradually developing a bit of tooling to maintain my own collection of ports: https://patmaddox.com/dir?ci=3d33b5b2dd2ebe39&name=ports/maintain  Perhaps one day it will evolve to a point where it's generally useful and shareable.
> 
> In the mean time, I would love to know how people are efficiently maintaining multiple ports: particularly those folks maintaining 1000+. Maybe I can just do what they do instead of re-constructing this myself.

   Its normally easier to maintain a port than it is to do the initial 
porting though some ports have updates with difficulties that need much 
more time. Many updates come through as little more effort than a 
version bump and distinfo update. I know there are tools to watch for 
updates from upstream and those tools are also ran by the FreeBSD 
project in a more generic form to try to automatically tell port 
maintainers about a port being out of date. Not every port gets frequent 
updates and not all updates come through at the same time. Some updates 
come form interested users and the maintainer just gave their approval 
instead of having to do the update from scratch on their own.

   Some of the ports do not get as much attention as a result and I 
assume some are just picked up as a 'I have a port that needs this 
dependency that is abandoned; I'll take up being the source of contact 
for issues and updates'. I suspect that accelerates the updates instead 
of waiting on communication with another maintainer to lead to 
organizing an update. A port maintainer maintaining dependencies or many 
ports may not always be paying as close of attention as a porter focused 
on a small quantity, but they also may be infrequent users who just 
wanted to help keep a port alive. Sometimes I have also seen corners cut 
like, "install this directory and note its contents into the pkg" 
instead of creating a detailed pkg-plist in the ports tree. Thought that 
was generally frowned upon but it seems parts of the ports tree are 
designed for such a feature. Though updates can be quite simple, doing 
the least possible sometimes leads to ports having extra unnecessary 
dependencies and other outdated aspects that can be better with it being 
revised.

   I fall in the category of feeling like my lack of skill makes full 
maintainership and porting seem unwise as I fear I'd refer updates and 
issues to someone else's hands anyways. If I locate issues, I try to 
share those, preferably with a patch when I can. Updates have resulted 
from me asking a maintainer of a status of a port they didn't notice an 
update for and on occasion issues with PRs that maintainers didn't have 
an answer for but wanted fixed got resolved because of details I shared 
so yes the maintainers don't always do everything alone.

   I'd love to see and learn the workflow of other porters and 
developers myself instead of just fumbling around with trying to 
implement the handbook's teachings, .Mk file information, and what else 
I learn from browsing ports. If you get any private responses with 
detail, hopefully it wasn't private intentionally and can be shared 
publicly. Hopefully more knowledge can lead to more maintainers, better 
quality, and faster updates.

> Pat
>