Date: Tue, 22 Jun 2004 12:28:19 +0200 From: Oliver Eikemeier <eikemeier@fillmore-labs.com> To: Kris Kennaway <kris@obsecurity.org> Cc: ports@freebsd.org Subject: Re: incremental ports/INDEX builder Message-ID: <40D809C3.6090402@fillmore-labs.com> In-Reply-To: <20040622114734.GA14959@xor.obsecurity.org> References: <20040622083214.GA91013@sanatana.dharma> <20040622100327.GA12999@xor.obsecurity.org> <40D7F5EF.4090406@fillmore-labs.com> <20040622112326.GA14566@xor.obsecurity.org> <40D7FD85.2070201@fillmore-labs.com> <20040622114734.GA14959@xor.obsecurity.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Kris Kennaway wrote: > On Tue, Jun 22, 2004 at 11:36:05AM +0200, Oliver Eikemeier wrote: > >>Kris Kennaway wrote: >> >>>At least for my purposes, I need index builds to be 100% accurate 100% >>>of the time..working in almost all cases isn't good enough. >> >>Ah, the noble strive for perfect software. Good luck, then. > > Well, as I said, I have a prototype that works except for an unrelated > bug. > >>Btw, a simple example where the make(1) approach fails: >> >>.if exsists (my.make.file) >>.include "my.make.file" >>.endif >> >>... and my.make.file is added in an later commit. Of course >>I can construct increasingly complex examples where patching >>make(1) simply fails. So much for 100% accuracy. > > Which port does this? Some ports include a Makefile.local that isn't there. Of course they won't make it into CVS, but you can have them in local port trees. I just asserted that examples can be constructed where the make(1) approach fails, too. Considering the *current* ports tree I believe my aprroach is correct (and independent of the host system), but of course examples can be constructed that break it. There is no software that works 100% accurate 100% of the time, you can only write something that works now and try to isolate the conditions that would break it, hoping that they won't happen in the future (or checking for them). Besides, my approach results in a set of affected ports that is independent of the host system or port configuration, and works on plain systems without a patched make(1). I don't assume I will get many extra ports this way. OTOH a make(1) approcah isolates stuff like bsd.python.mk and ports that depend on it. I could add that, but it would somehow be an impurity in the design. Anyway, I just tried both approaches and wanted to state the pros and cons of each of them. If you are not interested in this and have something that works for you, stick with it. -Oliver
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40D809C3.6090402>