From owner-freebsd-ports@FreeBSD.ORG Wed Mar 12 14:58:11 2008 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1602A1065670 for ; Wed, 12 Mar 2008 14:58:11 +0000 (UTC) (envelope-from mail@maxlor.com) Received: from xsmtp1.ethz.ch (xsmtp1.ethz.ch [82.130.70.13]) by mx1.freebsd.org (Postfix) with ESMTP id 9A57D8FC2D for ; Wed, 12 Mar 2008 14:58:10 +0000 (UTC) (envelope-from mail@maxlor.com) Received: from xfe1.d.ethz.ch ([82.130.124.41]) by xsmtp1.ethz.ch with Microsoft SMTPSVC(6.0.3790.3959); Wed, 12 Mar 2008 15:46:05 +0100 Received: from rz-public-dock-117-dhcp.ethz.ch ([82.130.76.117]) by xfe1.d.ethz.ch over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Wed, 12 Mar 2008 15:46:02 +0100 From: Benjamin Lutz To: "Florent Thoumie" Date: Wed, 12 Mar 2008 15:45:46 +0100 User-Agent: KMail/1.9.7 References: <200803121311.51383.mail@maxlor.com> In-Reply-To: X-Face: $Ov27?7*N,h60fIEfNJdb!m,@#4T/d; 1hw|W0zvsHM(a$Yn6BYQ0^SEEXvi8>D`|V*F"=?utf-8?q?=5F+=0A=09R2?=@Aq>+mNb4`,'[[%z9v0Fa~]AD1}xQO3|>b.z&}l#R-_(P`?@Mz"kS; XC>Eti,i3>%@=?utf-8?q?g=3F=0A=094f?=,\c7|Ghwb&ky$b2PJ^\0b83NkLsFKv|smL/cI4UD%Tu8alAD MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1960261.SU7KFCqSDh"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200803121545.50921.mail@maxlor.com> X-OriginalArrivalTime: 12 Mar 2008 14:46:05.0681 (UTC) FILETIME=[CD021E10:01C8844F] Cc: ports@freebsd.org Subject: Re: ports/113132 (make -j patch) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Mar 2008 14:58:11 -0000 --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 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--