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