From owner-freebsd-ports@FreeBSD.ORG Mon Dec 17 18:07:35 2007 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7F3316A46B; Mon, 17 Dec 2007 18:07:35 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from mail.soaustin.net (lefty.soaustin.net [66.135.55.46]) by mx1.freebsd.org (Postfix) with ESMTP id B311F13C46E; Mon, 17 Dec 2007 18:07:35 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: by mail.soaustin.net (Postfix, from userid 502) id 4EE398C0FF; Mon, 17 Dec 2007 12:07:35 -0600 (CST) Date: Mon, 17 Dec 2007 12:07:35 -0600 To: Alejandro Pulver Message-ID: <20071217180735.GA19258@soaustin.net> References: <4766650C.4020305@gmail.com> <47668B49.7050804@brianwhalen.net> <20071217125954.22b3bff4@deimos.mars.bsd> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20071217125954.22b3bff4@deimos.mars.bsd> User-Agent: Mutt/1.5.13 (2006-08-11) From: linimon@lonesome.com (Mark Linimon) Cc: Brian , "Aryeh M. Friedman" , freebsd-ports@freebsd.org Subject: Re: Request for Features: Ports Re-engineering 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: Mon, 17 Dec 2007 18:07:35 -0000 On Mon, Dec 17, 2007 at 12:59:54PM -0300, Alejandro Pulver wrote: > if not already done, AFAIK tinderbox has an option to run parallel > builds, but don't know about pointyhat) using multiple processors. pointyhat is actually the dispatch machine. It does not actually build packages. The current machine total: amd64: 3 (2.2GHz) i386: 40 (400MHz - 1.8GHz, depending on machine) sparc64: 7 (440MHz) Several of these systems (in particular the amd64s) have multiple CPUs in them. In any case, each machine is given several packages to work on simultaneously, depending on its capacity, each in its own fully clean jail. Prerequisites are loaded via the previously built packages; if they are not available, they are first built, then cached. The way the current code works is documented in the following article: http://www.freebsd.org/doc/en_US.ISO8859-1/articles/portbuild/index.html Although the documentation is terse, it is believed to be generally correct. In general, we use -incremental for the builds, unless there has been a large change in the src tree, or it's release. -incremental will only build packages for ports whose metadata (as determined by INDEX) has changed since the last run. This holds the build time for each package set down to a few days (amd64/i386) or a couple of weeks (sparc64), instead of around a week, or a couple of months, respectively. Remember that we have builds for 5.x, 6.x, 7.x, and 8.x all running at various times (some things can be overlapped without adding too much delay). The machines are almost never idle. I strongly suggest that before designing a new system, some careful attention be paid to how extensive and optimized the current system already is. I don't think the people following this thread are going to get the right perspective on the scope of this work, otherwise. mcl