(In)Stability of the Quarterly Branch
vlad-fbsd at acheronmedia.com
Fri Dec 16 10:30:31 UTC 2016
On 2016-12-16 11:08, Torsten Zuehlsdorff wrote:
> There are two problems with this:
> 1) Many ports have no maintainer
> 2) Even more ports have no tests at all
We can't have our cake and eat it :)
Obviously, a STABLE repo would have to be a subset of ports, not all 26k
of them. The criteria I spoke of in the original post would include that
each port has a valid maintainer. Maintainer TIMEOUTS would be monitored
and port kicked out if the maintainer is gone.
For starters, we'd have to enumerate all the ports that have stable
upstreams. For example, RoundCube supports both the new 1.2.x repo and
the old, legacy 1.1.x. That means 1.1.x could've been added to the
STABLE repo and maintained until it EOLs.
Second, ports that do not obey some reasonable versioning scheme, eg.
major version changes MAY break backwards compatibility, minor MUST not,
and major.minor.point MUST be only bugfixes and security. can be added
ONLY and ONLY if the MAINTAINER commits to manually checking every
change and making sure only security and bugfixes are backported.
Third, ports with no unit tests... well.. I don't know how many are
there, but perhaps we can make a list of "strategically important" ports
for servers and maybe desktops, and those that are strategically
important but have no unit tests, would go in, but would require an
active maintainer committed to do run tests. I'm sure such a list would
be bikeshed into oblivion, but we could at least try...
Fourth. It'd be ideal if Poudriere could grow a function that:
a) runs port's unit tests
b) permutates OPTIONS and for each re-runs the build + unit test. Broken
combinations can be automatically marked as BROKEN.
b.1) a patch is automatically generated but a human has to review and
b.2) the testing infrastructure autocommits (I'm sure portmgr would
object to this)
b.3) we create a new "stability" database like vuxml which these
automated tests can automatically populate
Brainstorming here, critique welcome!
More information about the freebsd-ports