[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

`fully loaded system' test



Once in a while, I do a bulk-build on a `fully loaded system'.
Simply put, I run a first bulk build.
Then I pkg_add as many packages as I can. Everything that doesn't
conflict, gets in.

Then I wipe everything else out, and do a second bulk-build.
Turning lib-depends-check on, and looking at the results.

It's impressive how many ports get tripped, each new release.

Maintainers, you do see the commits that fix your fuck-ups, don't you ?
but why do you keep producing broken ports in the first place ?
It's very easy to look at a port's log, specifically at configure output,
and see all the pieces the darn configure didn't find.
It's also very easy to look in the master ports INDEX, and find the pieces
which configure didn't find.
Then you install them, and you retry.
And you see whether configure pick them up.
And you decide whether you want the feature, or if you don't want it,
or if you want to make it optional.

A maintainer has time to look for these kind of details. That's a reason
why he agreed to maintain a port. Reading a single configure output is
no biggie. And YES, you have to do it AGAIN after each update. Like duh,
even reading the Changelog will direct you at the new-fangled stuff your
port is picking.

Well, I don't have the same luxury.  Sitting down and reading carefully 
almost 3000 ports is impossible. I'm currently doing a sweep over the ports
tree to adjust to new packing-list features.  The sweep is mostly
automated. I just do make fake, make lib-depends-check, make update-plist,
and peer at the diff. My automated tools help me. If I spend 30
secondes over each port, that's already 25 hours.  I don't know every port
by heart. Some are playing tricks. Some are playing useless tricks.

A maintainer's job is not necessarily to write the most intricate Makefile
in the world for its port. No, rather, it's having things as simple as
possible. Including correct configure checks, correct packaging, a port
that's useful as is.

I believe we currently have high standards with respect to this. Well,
we can get them even higher.