Re: Head build unsafe for /etc today

From: Warner Losh <imp_at_bsdimp.com>
Date: Thu, 2 Nov 2017 20:46:07 -0600
On Thu, Nov 2, 2017 at 8:41 PM, Bryan Drewery <bdrewery_at_freebsd.org> wrote:

>
>
> > On Nov 2, 2017, at 19:23, Steve Kargl <sgk_at_troutmask.apl.washington.edu>
> wrote:
> >
> >> On Thu, Nov 02, 2017 at 07:08:50PM -0700, Bryan Drewery wrote:
> >>
> >>
> >>>> On Nov 2, 2017, at 18:49, Steve Kargl <sgk_at_troutmask.apl.washington.
> edu> wrote:
> >>>>
> >>>> On Thu, Nov 02, 2017 at 06:25:24PM -0700, Bryan Drewery wrote:
> >>>>
> >>>> On Nov 2, 2017, at 15:44, Mark Millard <markmi_at_dsl-only.net> wrote:
> >>>>
> >>>>>> Author: bdrewery
> >>>>>> Date: Thu Nov  2 22:23:00 2017
> >>>>>> New Revision: 325347
> >>>>>> URL:
> >>>>>> https://svnweb.freebsd.org/changeset/base/325347
> >>>>>>
> >>>>>>
> >>>>>> Log:
> >>>>>> Something is very wrong
> >>>>
> >>>>
> >>>> Unfortunately I only test with META_MODE these days which implies
> -DNO_CLEAN.
> >>>
> >>> You're making changes to the build infrastructure and you're
> >>> not properly testing it before committing?  This is beyond
> >>> pointyhat material.
> >>
> >> I ran 2 universes, dozens of buildworlds and buildkernels, dozens of
> installworld and installkernel, several xdev and native-xtools, several
> full DIRDEPS_BUILD builds and bootstraps, ran subdir builds, ran subdir
> cleans, tested several targets together, ran various special case tests for
> submakes, played around with a ton of MAKEOBJDIRPREFIX cases, handled and
> tested symlinked objdirs special, ran it through my work repro a few times,
> did special testing in rescue/, and had a volunteer test release.  In the
> process  I found a bmake bug, GPL_DTC build bug and several others I don’t
> recall from the bus.
> >>
> >> What I missed was the “clean” buildworld because I forgot it even
> exists. I’ve wanted to remove it for a year. I also forgot to test buildenv.
> >>
> >
> > If you did all the above under META_MODE, then no you did not
> > buildworld and buildkernel and all the other stuff you claim.
>
> Are you accusing me of lying?
>
>
> > If your first step isn't  'cd /usr/obj ; rm -rf *' or equivalent
> > in whatever jail you use, then you're not properly testing
> > your changes to the build
>
> I did that probably 100 times. And that isn’t even “the proper test”. Both
> clean and incremental are needed which I did. zfs snapshots help a lot
> there. I just never ran “_cleanobj” which does a full tree walk of clean.
> But I ran make clean in some subdirs many times.
>
> > infrastructure.  As you have demonstrated,
> > Makefile, Makefile.inc1, and the *.mk files are sufficiently
> > complicated that proper testing
>
> > should be done, and proper
> > testing means one doesn't takes shortcuts.
>
> I took 0 shortcuts. As I said I *forgot* that case, among hundreds of
> cases.
> You’re welcome to do this work if you want. I guarantee you would not have
> tested even half of what I tested.
>
> Hey can you fix universe to only build clang once please? I’ve been
> working up to that but I think you’re best to do it.


Given the hundreds of commits to the build system and its complexity, I'm
in awe this doesn't happen more often. Heck, I've done an order of
magnitude fewer commits to the build system and broken it more often than
you have, and that's when it was a much simpler beast than it is today.

Steve's just being overly grumpy imho.  Accidents happen despite one's best
efforts. This is -current after all...

Warner
Received on Fri Nov 03 2017 - 01:46:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:13 UTC