From owner-freebsd-ports@FreeBSD.ORG Thu Apr 12 18:58:50 2007 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F20D516A403; Thu, 12 Apr 2007 18:58:50 +0000 (UTC) (envelope-from mail@maxlor.com) Received: from popeye1.ggamaur.net (popeye1.ggamaur.net [213.160.40.50]) by mx1.freebsd.org (Postfix) with ESMTP id 99F3E13C4C8; Thu, 12 Apr 2007 18:58:49 +0000 (UTC) (envelope-from mail@maxlor.com) Received: from maxlor.mine.nu (maxlor@c-82-192-240-247.customer.ggaweb.ch [82.192.240.247]) by popeye1.ggamaur.net (8.13.7/8.13.7/Submit) with ESMTP id l3CIwjEI042702; Thu, 12 Apr 2007 20:58:46 +0200 (CEST) (envelope-from mail@maxlor.com) Received: from localhost (unknown [127.0.0.1]) by maxlor.mine.nu (Postfix) with ESMTP id 631582E19C; Thu, 12 Apr 2007 20:58:45 +0200 (CEST) X-Virus-Scanned: amavisd-new at atlantis.intranet Received: from maxlor.mine.nu ([127.0.0.1]) by localhost (atlantis.intranet [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7hY83lejw-mt; Thu, 12 Apr 2007 20:58:28 +0200 (CEST) Received: from mini.intranet (mini.intranet [10.0.0.17]) by maxlor.mine.nu (Postfix) with ESMTP id B29452E1F8; Thu, 12 Apr 2007 20:56:51 +0200 (CEST) From: Benjamin Lutz To: "[LoN]Kamikaze" Date: Thu, 12 Apr 2007 20:56:42 +0200 User-Agent: KMail/1.9.5 References: <200704100452.40574.mail@maxlor.com> <1176391950.1820.3.camel@rnoland-ibm.acs.internap.com> <461E5F39.1030603@gmx.de> In-Reply-To: <461E5F39.1030603@gmx.de> 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="nextPart1798468.lRl7u7DgV0"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200704122056.51123.mail@maxlor.com> X-Scanned-By: MIMEDefang 2.61 on 213.160.40.60 Cc: ports@freebsd.org, Robert Noland , pav@freebsd.org Subject: Re: parallel builds revisited 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: Thu, 12 Apr 2007 18:58:51 -0000 --nextPart1798468.lRl7u7DgV0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Thursday 12 April 2007 18:32, [LoN]Kamikaze wrote: > Robert Noland wrote: > > Have any of you looked at sysutils/bsdadminscripts, it's buildflags > > options allow for parallel builds as well as ccache / distcc use.=20 > > I have a reasonable list of ports that must have some or all of > > these options disabled as well. > > > > robert. > > I happen to be the author of that and I maintain a list of ports that > cause trouble in a German Wiki: > http://wiki.bsdforen.de/Distcc#FreeBSD_Ports > > These are all the ports that ever made trouble when I tried to build > them with 'make -j'. I have around 500 Ports installed, so I think > those aren't really many. I've looked at your patches and programs, and I'm starting to have a=20 fairly clear idea of solution should look like. I would like to see: * Integration into the existing ports framework. No new scripts or files should be required. The whitelist file needs to go. * The whitelist should remain, even in the final version (for when users feel they know better than the port maintainers whether the software supports parallelism or not). I will turn it into a make variable=20 though. * Configuring the number of jobs should be automatic (but overridable), based on kern.smp.cpus. * If a port build fails, and parallelism is enabled, print a message telling the user to repeat the build in single-process mode before reporting the error, *unless* ALLOW_MULTIPLE_MAKE_JOBS (or something like that) is set in the ports makefile, which is interpreted as this feature being officially supported by the port maintainer. So basically, if you make use of the whitelist feature, you do so at your own risk. * There is no need to put any references to distcc or ccache into the code. Once -j works, users can get distcc or ccache support simply by setting CC apropriately. I think. Btw, do you think it's possible that a port can only be built with, n=20 parallel make jobs, but will fail with n+1? Cheers Benjamin --nextPart1798468.lRl7u7DgV0 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQBGHoDzzZEjpyKHuQwRAtgdAJ4g1jVH/wMb9XtoBLHX4Z5pmffnHQCdHPAB Sl4xJgnlVeUTR/Wcmr/kZkg= =edeD -----END PGP SIGNATURE----- --nextPart1798468.lRl7u7DgV0--