From owner-freebsd-ports@FreeBSD.ORG Thu Jun 8 00:15:46 2006 Return-Path: X-Original-To: freebsd-ports@FreeBSD.org Delivered-To: freebsd-ports@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7673C16AB51; Wed, 7 Jun 2006 21:45:39 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3734543D45; Wed, 7 Jun 2006 21:45:39 +0000 (GMT) (envelope-from kris@obsecurity.org) Received: from obsecurity.dyndns.org (elvis.mu.org [192.203.228.196]) by elvis.mu.org (Postfix) with ESMTP id 08EAE1A4D90; Wed, 7 Jun 2006 14:45:39 -0700 (PDT) Received: by obsecurity.dyndns.org (Postfix, from userid 1000) id 39B6851F45; Wed, 7 Jun 2006 17:45:38 -0400 (EDT) Date: Wed, 7 Jun 2006 17:45:38 -0400 From: Kris Kennaway To: Sergey Matveychuk Message-ID: <20060607214537.GA40788@xor.obsecurity.org> References: <4485DBF5.3070705@FreeBSD.org> <1903867106.20060607001337@serebryakov.spb.ru> <4485E6AE.9070208@FreeBSD.org> <44868D3C.4040102@FreeBSD.org> <44869E97.5090608@FreeBSD.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="9amGYk9869ThD9tj" Content-Disposition: inline In-Reply-To: <44869E97.5090608@FreeBSD.org> User-Agent: Mutt/1.4.2.1i Cc: Lev Serebryakov , freebsd-ports@FreeBSD.org Subject: Re: portupgrade ideas page 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, 08 Jun 2006 00:15:47 -0000 --9amGYk9869ThD9tj Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Jun 07, 2006 at 01:38:31PM +0400, Sergey Matveychuk wrote: > Lev Serebryakov wrote: > > Sergey Matveychuk wrote: > >> I think it's great, but I'm not sure I'll do it soon. > >> But I plan to implement some locking mechanism to allow to run a few > >> portupgrade processes safely. > > It should be sophisticated lock mechanism, to prevent build depended > > ports before dependee ones. > >=20 >=20 > Sure. So it spends a time for me to project. FYI, you might like to check out the 'makeparallel' pointyhat script (in /usr/ports/Tools). This takes an INDEX as input and spits out an enormous makefile with all dependencies enumerated, so you can just use make -j for parallel builds in correct dependency order. You wouldn't have to construct the full makefile, only the subset corresponding to the ports that are going to be updated. You'd still need mutual exclusion around e.g. the pkgdb, but you wouldn't have to add mutual exclusion throughout bsd.port.mk since make guarantees there will be none (if the index is accurate). Kris --9amGYk9869ThD9tj Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD) iD8DBQFEh0kBWry0BWjoQKURAkSHAKDKg+8WVNYXdRmzavCGU4QwCx7+BgCcDLzr c0JFBcCEV9ykIoDwl+I0GiM= =MQD2 -----END PGP SIGNATURE----- --9amGYk9869ThD9tj--