Skip site navigation (1)Skip section navigation (2)
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>