From owner-freebsd-ports@FreeBSD.ORG Sun Apr 15 09:28:28 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 1430F16A403 for ; Sun, 15 Apr 2007 09:28:28 +0000 (UTC) (envelope-from uspoerlein@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.168]) by mx1.freebsd.org (Postfix) with ESMTP id 85A7B13C46A for ; Sun, 15 Apr 2007 09:28:26 +0000 (UTC) (envelope-from uspoerlein@gmail.com) Received: by ug-out-1314.google.com with SMTP id 71so737295ugh for ; Sun, 15 Apr 2007 02:28:25 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:received:received:date:from:to:subject:message-id:mail-followup-to:mime-version:content-type:content-disposition; b=hXAFCFLP8U9K50cInAm0QWpbsBof2N0L3MXp4PRLKJyVUkl/OlcgClIDo8SFKOmIa/InTCZae5en/Iy48yNqa+5aKM0IdDUCeWJCNMZ+2OjAaFGfZBnhjhRV5ZgIF7nbpXEltT4f8cideLhGIO4rHhd5VwjN8h4ieKqzA+FMpls= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:date:from:to:subject:message-id:mail-followup-to:mime-version:content-type:content-disposition; b=eNnx3hPGEliQKmuCiDr/6yrRmmv/3Cm3NtR5MdDU9cIv6rqT7IsEJKmAKfS5CVHkI42qw1y2t6hSNyWKHz7VJvuvbVlIIgtIZSzCxoOnripKxTI6fdB7MZV+PQT6bee8ParzIt1n0zor+V/Td6VsbyyIhDp0ZdEJSEI8zkw48hc= Received: by 10.82.136.4 with SMTP id j4mr6420078bud.1176629305470; Sun, 15 Apr 2007 02:28:25 -0700 (PDT) Received: from roadrunner.q.local ( [85.180.142.223]) by mx.google.com with ESMTP id e9sm10993676muf.2007.04.15.02.28.23; Sun, 15 Apr 2007 02:28:25 -0700 (PDT) Received: from roadrunner.q.local (localhost [127.0.0.1]) by roadrunner.q.local (8.13.8/8.13.8) with ESMTP id l3F9SGW5091782 for ; Sun, 15 Apr 2007 11:28:16 +0200 (CEST) (envelope-from uspoerlein@gmail.com) Received: (from q@localhost) by roadrunner.q.local (8.13.8/8.13.8/Submit) id l3F9SFOd091781 for ports@freebsd.org; Sun, 15 Apr 2007 11:28:15 +0200 (CEST) (envelope-from uspoerlein@gmail.com) Date: Sun, 15 Apr 2007 11:28:15 +0200 From: Ulrich Spoerlein To: ports@freebsd.org Message-ID: <20070415092815.GB1525@roadrunner.q.local> Mail-Followup-To: ports@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="aM3YZ0Iwxop3KEKx" Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: CFT: Parallel package building script 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: Sun, 15 Apr 2007 09:28:28 -0000 --aM3YZ0Iwxop3KEKx Content-Type: multipart/mixed; boundary="FL5UXtIhxfXey3p5" Content-Disposition: inline --FL5UXtIhxfXey3p5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi all, I wrote a script that will create a self-contained Makefile with targets suitable to build several packages in parallel. It's ugly, but it seems to work ok for a couple of ports. I would now like some more widespread testing and further comments on my approach. Especially helpful would be a benchmark of a complex package set like x11/kde3 or x11/gnome2 on an SMP machine with good I/O throughput (using a laptop harddrive with 4800RPM =3D=3D Not funny). Run a serial build, then one with -jN, where N is suitable for your hardware. Post the results :) Requirements: Fast hardware, disk space, time. RELENG_6 or CURRENT is required, also zsh(1) and screen(1). For the unionfs stuff to work, you need bsdtar(1) after April 12th. For the parallel build to work, as given in the examples you need make(1) after April 14th or -CURRENT. Usage notes are included in the script, have fun! FAQ: Q: Why not use tinderbox? A: I was too dumb to set it up, besides it comes with plenty of dependencies. This script is more geared towards end users instead of developers. Q: What about port upgrading? A: I'm only concerned with building clean packages with custom make flags. Updating the installed packages has to be done by some other means (pkg_update anyone?). Q: What about clustering? A: Easily possible, but would suck when using make(1) for the job. Ulrich Spoerlein --=20 "The trouble with the dictionary is you have to know how the word is spelled before you can look it up to see how it is spelled." -- Will Cuppy --FL5UXtIhxfXey3p5-- --aM3YZ0Iwxop3KEKx Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQFGIfAv524iJyD+6d0RAngHAKCw6LuKAYCbi2zy8Nq95oJT3GAfUgCfXKRz 3m9bx8KOVEyfaKLwRegEf7I= =Xwag -----END PGP SIGNATURE----- --aM3YZ0Iwxop3KEKx--