ports/113132 (make -j patch)

Benjamin Lutz mail at maxlor.com
Wed Mar 12 14:58:11 UTC 2008


On Wednesday 12 March 2008 14:01:57 Florent Thoumie wrote:
> On Wed, Mar 12, 2008 at 12:11 PM, Benjamin Lutz <mail at maxlor.com> wrote:
> > This patch has been sitting in GNATS for a couple of months now:
> >
> >  http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/113132
> >
> >  I've received a few mails from people reporting success, and none
> >  reporting that bad things have happened. Is it possible to get this
> >  committed?
>
> It needs to go through an experimental build first.
>
> IMHO, this is an ugly hack. Ultimately, we're talking about marking
> almost 20k ports as parallel-safe.

Because in requires modifications of individual port Makefiles? Or is there 
something else in it that you don't like?

> Why not taking the opposite approach? Allow it by default, figure out
> which ports break and why, fix where possible?

For the following reason: This change has the potential to make port building 
fail in non-deterministic ways; a build might work one one machine all the 
time, but fail on another 10% of the time, because the 3rd party code that is 
being built is not -j-safe. It means that testing each individual port for 
support is required, which, as you point out, is a large amount of work in 
total (but it's not that much for each port). I think therefore that this 
should be handled by the port maintainers.

If the list of ports which support -j-building is determined by an automated 
package build run, who will then have the responsibility to maintain that 
list?

Since this change has the potential to break a lot of things, it should be off 
by default, and only be enabled if the port maintainer is sure that his port 
supports it. To enable it by default would require all port maintainers to 
get active immediately to blacklist the many ports which don't support -j 
building; this is not going to happen, ports will remain in a broken state.

Also, the amount of work required to get an advantage from this change is 
actually not as high as you think. Of the 20k ports we have, only the big 
ones (e.g., kde*) gain a substantial benefit from -j building. Small ports 
that only compile for a few seconds anyway can be left as they are now.

Cheers
Benjamin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20080312/a76b2135/attachment.pgp


More information about the freebsd-ports mailing list