Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Feb 2024 20:23:49 -0500
From:      Aryeh Friedman <aryehfriedman@gmail.com>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        Miroslav Lachman <000.fbsd@quip.cz>, FreeBSD Mailing List <freebsd-ports@freebsd.org>
Subject:   Re: FreeBSD ports community is broken [port building configuration notes]
Message-ID:  <CAGBxaXmw9BkQdTQQ%2BpE%2BuABuX%2BXXgJC3GqXzOEhehz7m9=TBhw@mail.gmail.com>
In-Reply-To: <A4AA312D-F160-402F-853B-E59800EB4FB0@yahoo.com>
References:  <87B38D6C-1D83-4158-B03B-F4C8EA396DD1.ref@yahoo.com> <87B38D6C-1D83-4158-B03B-F4C8EA396DD1@yahoo.com> <f6e730bf-3d4e-4318-b49a-7100f38fc3ed@quip.cz> <A4AA312D-F160-402F-853B-E59800EB4FB0@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Feb 18, 2024 at 3:21=E2=80=AFPM Mark Millard <marklmi@yahoo.com> wr=
ote:
>
> I fully agree that poudriere's systematic behavior
> rebuilds more than the likes of portmaster [but fails
> less often].
>
>
> As stands there are tradeoffs between use of portmaster
> (and the like) vs. use of poudriere (/synth?). No one
> has produced an alternative that avoids the tradeoffs
> as far as I know. So one picks between the tradeoffs
> by the choice of which way to build.

The reason why no alternative has been produced yet is make it self is
broken at the theoretical level.  Instead of doing a blond DFS it
should build the entire DAG and then topolocgically walk it.    See
Recursive Make Considered Harmful by P. Miller --
https://accu.org/journals/overload/14/71/miller_2004/ (republished).
While the DAG for the entire ports system (and for each port) is too
big the DAG of what ports to do in what order is not and can easily be
extracted from the ports make file.   So there is really no excuse for
excessive building (just a question of converting it all to DAG --
devel/cook does this and likely can be shoe horned into being a hybrid
of allowing each port to use make recursively but at the top levle
using a DAG).



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGBxaXmw9BkQdTQQ%2BpE%2BuABuX%2BXXgJC3GqXzOEhehz7m9=TBhw>