conf/181116: CURRENT build always uses bmake, even though WITHOUT_BMAKE is specified

Garrett Cooper yaneurabeya at gmail.com
Wed Aug 7 21:40:27 UTC 2013


On Wed, Aug 7, 2013 at 1:32 PM, Simon J. Gerraty <sjg at juniper.net> wrote:
>
> On Wed, 7 Aug 2013 11:24:15 -0700, Garrett Cooper writes:
>>Ah, but src.conf controls WITH* (and the option is documented in the manage,=
>> along with all the others). You accidentally broke POLA :(.
>
> The real issue is that the option handling needs an overhaul.

I'm not arguing that it could be done better, but the problem is that
bsd.own.mk is very tied to the source tree and is conditional on a
number of factors (architecture, knobs tuned, etc).

> The processing of options should be extracted from bsd.own.mk to its own
> mk file which is always safe to include - bsd.own.mk is not.
> Then makefiles like src/Makefile could include it with the list of
> options it cares about - and bsd.own.mk could do the same.

I don't think it's as possible as you would hope, but I wish you the
best of luck.

>>> More importantly, is this a "test" or is there a percieved need to
>>> continue building with fmake?  If so why?
>>
>>I gave up waiting for bmake and all the associated infrastructure to be back=
>>ported to stable/9 (and I know there's a snowball's chance in hades that it'=
>>ll be backported to stable/8), so I figured out how to make the test infrast=
>>ructure work independent of bmake.
>
> Why should that force you to use fmake for head?

I'm verifying that my changes will continue to work with head because
our port to CURRENT effort at $work is now being done in an iterative
manner.

We also aren't going to switch to bmake in 10. We're 4 months behind
CURRENT right now (I know it's changed a lot in the last couple
months), but $product images produced in fmake work (they actually
boot) whereas images produced with bmake don't (files a missing,
stuff's miscompiled, etc). And don't even get me started on our
ancient Frankenstenian ports tree.

Similarly, we're not going to switch to the new shiny toolchain bits
(clang, libc++, etc), because of time and delivery dates. Too much
stuff is going on in 10 that we need to stage things better for later
releases.

>>> I was aiming to get rid of WITH[OUT]_BMAKE soon - in time for 10.0
>>
>>This is a really bad idea. The fact that bmake causes conf/179111 without a m=
>>itigation strategy is reason alone to leave this knob in because I don't tru=
>>st all makefiles that exist outside of FreeBSD to work sanely without set -e=
>>. Heck, a lot of the Makefile snippets in FreeBSD don't behave sanely withou=
>>t set -e, as noted in the bug (and those are just a handful).
>
> You have the option of using .SHELL:  to configure shell description that will
> set -e, though that will just perpetuate bad habbits.

What bad habits do you think it's perpetuating?

> You said in 179111 that PR you have a patch?

There are a couple, yes.


More information about the freebsd-bugs mailing list