Date: Wed, 17 May 2006 16:13:02 +1000 From: Edwin Groothuis <edwin@mavetju.org> To: Vasil Dimov <vd@FreeBSD.org> Cc: ports@freebsd.org, Paul Koch <paul.koch@statseeker.com> Subject: Re: Is it safe to compile multiple ports at the same time ? Message-ID: <20060517061302.GR1116@k7.mavetju> In-Reply-To: <20060517060026.GA40653@qlovarnika.bg.datamax> References: <200605171353.37745.paul.koch@statseeker.com> <20060517045403.GI1113@k7.mavetju> <200605171508.07228.paul.koch@statseeker.com> <20060517060026.GA40653@qlovarnika.bg.datamax>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 17, 2006 at 09:00:26AM +0300, Vasil Dimov wrote: > Not really, locking will just prevent breakages. Let me illustrate my > thought with an example: > > port A depends on X > port B depends on X > > You start building A which results in building X via exclusive lock on X. > During the build of X you decide to build B which results in building X > (X is not yet installed) but you block trying to acquire the exclusive > lock on X so you wait _idling_ until building of X is done. Furthermore > what do you suggest to do when the lock is released? You have to obtain a lock on the X's Makefile before you are doing to check if you have this port installed. For example, a dependcy on pkg-config in the directory devel/pkgconfig: - obtain lock on devel/pkgconfig/Makefile - check if pkg-config exists, and if not, build and install it. - release lock on devel/pkgconfig/Makefile > Ofcourse if B depends also on Y it can fallback to building Y if it > cannot gain exclusive lock on X. Building one port is a serial process, building multiple ports can be a parallel process. Edwin -- Edwin Groothuis | Personal website: http://www.mavetju.org edwin@mavetju.org | Weblog: http://weblog.barnet.com.au/edwin/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060517061302.GR1116>