Date: Wed, 20 Dec 2000 12:16:41 +0200 From: Peter Pentchev <roam@orbitel.bg> To: Alfred Perlstein <bright@wintelcom.net> Cc: asami@FreeBSD.org, ports@FreeBSD.org Subject: Re: ports lockfile? Message-ID: <20001220121640.E644@ringworld.oblivion.bg> In-Reply-To: <20001219235750.I19572@fw.wintelcom.net>; from bright@wintelcom.net on Tue, Dec 19, 2000 at 11:57:50PM -0800 References: <20001219113535.Q19572@fw.wintelcom.net> <20001220094157.C644@ringworld.oblivion.bg> <20001219235750.I19572@fw.wintelcom.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Dec 19, 2000 at 11:57:50PM -0800, Alfred Perlstein wrote: > * Peter Pentchev <roam@orbitel.bg> [001219 23:43] wrote: > > On Tue, Dec 19, 2000 at 11:35:35AM -0800, Alfred Perlstein wrote: > > > I'm pretty sure I've mentioned this before, I got a lot of approval > > > for the idea, but I don't have the time and familiarity with the > > > ports mk files to do what I propose. > > > > > > Usually when doing an install I'll start building several ports in > > > at the same time The problem is that frequently the ports will > > > recurse into the same dependancy, and the two builds will clobber > > > each other. > > > > FWIW, yes, I verily support this idea :) > > > > > I tried to figure out some way for the ports to use the 'lockf' > > > utility on the port makefile in order to protect it, but I can't > > > seem to figure out how and where to use lockf. > > > > > > We'd need some pre-pre-pre make step to do this I imagine, anyone > > > want to try to do this? Is it a good idea? > > > > There seems to already be a pre-everything target, which is invoked > > for old port layouts and for bad utilities version; there also is > > a default pre-everything target, with nothing but a DO_NADA there. > > This would seem like a good place for acquiring the lock. > > Well here's the very tricky part that I really haven't worked out > how to do this, the lockf program runs a program with the lock, so > I need to make the lockf program run make again. > > If I define something when re-running the make then any recursive > makes will have this defined right? So I won't be able to lock > the dependancy makes. > > It'd be interesting to add an option to make so that it will lock > the initial makefile used. That sounds pretty hackish so any > alternative ideas would be welcome and helpful. I'm thinking along the lines of having a LOCKDIRS variable, listing all locked dirs from all ports in the build process, then having bsd.port.mk check for it *outside any targets*, if that is possible. (most probably not.. just thinking out loud, please ignore the static ;) If it is not defined, bsd.port.mk should do something like lockf Makefile make ${MAKEFLAGS} LOCKDIRS="${LOCKDIRS} ${.CURDIR}" I hope what I've written is at least vaguely understandable; fact is, I myself am not very clear on what I mean :) Got no time to play around with this right now, unfortunately :( Just tossing out a wild idea.. G'luck, Peter -- If I were you, who would be reading this sentence? To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001220121640.E644>