Date: Wed, 12 Mar 2008 15:45:46 +0100 From: Benjamin Lutz <mail@maxlor.com> To: "Florent Thoumie" <flz@xbsd.org> Cc: ports@freebsd.org Subject: Re: ports/113132 (make -j patch) Message-ID: <200803121545.50921.mail@maxlor.com> In-Reply-To: <a01628140803120601w49848718hc6ea6208f2b21692@mail.gmail.com> References: <200803121311.51383.mail@maxlor.com> <a01628140803120601w49848718hc6ea6208f2b21692@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart1960261.SU7KFCqSDh Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Wednesday 12 March 2008 14:01:57 Florent Thoumie wrote: > On Wed, Mar 12, 2008 at 12:11 PM, Benjamin Lutz <mail@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=3Dports/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= =20 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? =46or the following reason: This change has the potential to make port buil= ding=20 fail in non-deterministic ways; a build might work one one machine all the= =20 time, but fail on another 10% of the time, because the 3rd party code that = is=20 being built is not -j-safe. It means that testing each individual port for= =20 support is required, which, as you point out, is a large amount of work in= =20 total (but it's not that much for each port). I think therefore that this=20 should be handled by the port maintainers. If the list of ports which support -j-building is determined by an automate= d=20 package build run, who will then have the responsibility to maintain that=20 list? Since this change has the potential to break a lot of things, it should be = off=20 by default, and only be enabled if the port maintainer is sure that his por= t=20 supports it. To enable it by default would require all port maintainers to= =20 get active immediately to blacklist the many ports which don't support -j=20 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=20 actually not as high as you think. Of the 20k ports we have, only the big=20 ones (e.g., kde*) gain a substantial benefit from -j building. Small ports= =20 that only compile for a few seconds anyway can be left as they are now. Cheers Benjamin --nextPart1960261.SU7KFCqSDh Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.7 (GNU/Linux) iD8DBQBH1+yezZEjpyKHuQwRAkrWAKCfK98fIeIv7Y35j9zuqQW9wskS8wCfUUvQ A4WajvcZVU4+XJry+g6v5II= =Zznj -----END PGP SIGNATURE----- --nextPart1960261.SU7KFCqSDh--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803121545.50921.mail>