Re: Fw: Lessons learned from source upgrade from FreeBSD i386 9.2 Stable to FreeBSD i386 10.0 Release.

From: Thomas Hoffmann <trh411_at_gmail.com>
Date: Thu, 23 Jan 2014 14:28:37 -0500
On Thu, Jan 23, 2014 at 2:15 PM, Matthew Rezny <matthew_at_reztek.cz> wrote:

> Forwarded because my attempt to reply on list was rejected by
> heavy-handed and oblivious moderation:
>
> "The freebsd-current mailing list is for issues involving
> FreeBSD-CURRENT, not FreeBSD-STABLE.  Neither FreeBSD 9.x nor 10.x is
> "current" -- CURRENT became FreeBSD 11.x as of Thu Oct 10 18:05:13
> 2013 UTC."
>
> Feel free to forward on to the list if you feel this is valuable to
> others. Apparently list owner looked only at the topic, ignore the fact
> it's a reply several levels deep, and did NOT look at the content.
>
> Begin forwarded message:
>
> Date: Thu, 23 Jan 2014 18:22:50 +0100
> From: Matthew Rezny <matthew_at_reztek.cz>
> To: freebsd-current_at_freebsd.org
> Subject: Re: Lessons learned from source upgrade from FreeBSD i386 9.2
> Stable  to FreeBSD i386 10.0 Release.
>
>
> > On Thu, Jan 23, 2014 at 9:56 AM, Warren Block <wblock at wonkity.com>
> > wrote:
> > >
> > >
> > > Using -DNOCLEAN with an existing /usr/obj can go even faster than
> > > ccache: less than two minutes for a buildworld on my frequently
> > > updated i5/SSD system, sometimes less than one minute.
> >
> >
> > Can you elaborate on this, please? I always clear my /usr/obj before
> > starting a buildworld, which takes 2 hours to run on my system. Are
> > you saying if I do "make -DNOCLEAN buildworld" I do not have to
> > clear /usr/obj first AND my buildworld will run faster (AND with no
> > downside)?
> >
> > Thanks.
> > -Tom
>
> If you always clear your /usr/obj, you can safely add -DNOCLEAN to the
> build and it will shave off a minute or two (depending on drive speed)
> that would have been spent attempting to delete thousands of non-
> existent files and directories. I've never actually benchmarked, but rm
> -rf /usr/obj followed by make -DNOCLEAN buildworld should take slightly
> less time than a regular buildworld (unless perhaps you use a tmpfs
> backed /usr/obj).
>
> Yes, you can safely do a make -DNOCLEAN bulidworld without first
> clearing out /usr/obj iff conditions are right. If you change anything
> in src.conf or make.conf, then you must clean. If you switch what
> branch you are checking out from then you must clean. If you are
> tracking -STABLE or -CURRENT with regularity (as Warren does) then you
> can usually get away with not cleaning. If you go too long between
> updates to your /usr/src then you might have to clean. If there is a
> disruptive commit, you might have to clean. Sometimes it will be
> obvious because the buildworld won't complete without error, but
> sometimes it will finish with apparent success however some binaries
> will be bad. So, if you get some rather strange behavior shortly after
> installworld, go clean it and build again.
>
> If you are doing your own local development, then you can safely use
> -DNOCLEAN throughout the process. Only if you make a disruptive
> change yourself or possibly if you merge changes from svn would you
> need to clean the build.
>

This is good to know, especially the info on when using -DNOCLEAN might
cause problems and how they might manifest themselves. Thanks.

-Tom
Received on Thu Jan 23 2014 - 18:28:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:46 UTC