Friday, September 27, 2024

Re: Building -current incrementally.

On Fri, Sep 27, 2024 at 1:45 AM Christian Schulte <cs@schulte.it> wrote:
> On 9/26/24 10:47, Philip Guenther wrote:
> > On Thu, Sep 26, 2024 at 12:30 AM Christian Schulte <cs@schulte.it> wrote:
...
> > Does there exist a documented, maintained, and tested way to "build
> > base incrementally"? No.
> >
> > Would it be *possible* for someone(s) to spend the time to develop,
> > document, and maintain going forward a way to build base
> > incrementally? It's software, anything is possible with enough
> > resources
> >
> > Will the project do that or distribute such a thing provided by
> > others? Short answer: no. Longer answer: doing so would absolutely
> > require understanding the project's development process and the
> > consequences of that process and how the change would affect the
> > incentives. I think it is *extremely* unlikely to happen, being a
> > gigantic effort that would create new, more complex failure modes that
> > would be a net negative for the project. Given all the things to
> > spend our time on, it seems like an unwise choice.
>
> For a newcomer to the codebase working on the build system would be an
> ideal task to begin with. After that you know the dependencies and such.

IMHO, that's an area where a newcomer is least likely to be able to
make changes that get committed.
Maybe they'll bootstrap their understanding of the system dependencies
more quickly but, well, lots of developers get stuff done without that
and it's a difficult area to build consensus about changes.


> Would you say that if someone would take the time to work an that, it
> would not do any good because that would need to be maintained over time
> and no one would care?

If it wasn't used by lots of people, then it wouldn't become part of
the "do not break when doing your own work" functionality, and those
who use it would have to be ready to fix it each time. A build
process that you can't trust to Just Work, so you can't kick it off
and ignore, is worse than one that takes more clock time but less
attention.

A similar case: OpenBSD keeps only the barest of build bits for doing
cross-compilation, because it's only used when bootstrapping a new
arch and it's easier to update/unbreak it when it's needed then keep
it up to date. That's fine because bootstrapping is an inherently
manual process, so no real loss. But doing regular cross-builds is
not reliable.


Philip Guenther

No comments:

Post a Comment