Re: Scripts / utils for maintaining ports?

From: Lorenzo Salvadore <developer_at_lorenzosalvadore.it>
Date: Sat, 02 Dec 2023 10:15:49 UTC
Hello,

I maintain only a few ports, although some of them (the GCC ports)
are very complex and time consuming to take care of.

A few months ago, I found myself having much less time to
maintain ports, so I made heavier use of automation.

The most time consuming part for me usually is testing the
ports. I solved the issue using cirrus.

Using https://github.com/lsalvadore/freebsd-ports/blob/lang/gcc12-devel/.cirrus.yml
I can test my changes to port $category/$port by simply committing them
to a branch named $category/$port
and pushing it on GitHub.
Of course, if I need some more special testing I can edit the .cirrus.yml file.
The testing results are probably not as good as with poudriere, but they are
good enough.
This strategy is particularly efficient with low efforts ports
such as the GCC -devel ports that are updated every week and
do not break often:
with a cron job I automatically update the Makefiles and distinfo files
and I push the branches. Then everything is tested while I sleep/work/drive etc.
and I only need to check the testing results to see if I commit the changes or
something is broken. Almost always the tests succeed and thus
I can commit the update with only a few minutes of actual human work.

If you also want to try playing with cirrus, keep in mind
that the free plan now has some limitations. Moreover, I fear heavy ports could not be tested that way due to limits in resources.

If you can afford it, using a VPS would probably be more
efficient. But the free cirrus plan is good enough for small ports.

Cheers,

Lorenzo Salvadore

Sent from Proton Mail mobile

-------- Messaggio originale --------
Il 1 Dic 2023, 01:25, Pat Maddox ha scritto:

> 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. Pat