From owner-freebsd-current@FreeBSD.ORG Thu Jan 23 19:28:39 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D2BB7199 for ; Thu, 23 Jan 2014 19:28:39 +0000 (UTC) Received: from mail-vc0-x234.google.com (mail-vc0-x234.google.com [IPv6:2607:f8b0:400c:c03::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8D945110B for ; Thu, 23 Jan 2014 19:28:39 +0000 (UTC) Received: by mail-vc0-f180.google.com with SMTP id ks9so1305994vcb.39 for ; Thu, 23 Jan 2014 11:28:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=SNEPGrle/L2jl6U9MhmS5n7+gM4QiBXXpgYH4pdjNyo=; b=kOiHRA3mLD2O4ZfQb2zPEvZCgHs/iXTOSUM/1zGQDLjGHXglKC/HqI8pVmhCbCdl9a XL9wMK5PHJN1m1SSZEVtORlKrq8dtcmFEr62lG2e5bhds1Csdn6/pmITVnlJR2Zy5Ekf 85OIgj7WKXY4tBzve2ZX3IBGznKRV/itIJwhlhcN/XnFIWsZgFTy90FIyOi8/8Ixj2Eq UCO2h11kEZj9dGdSH3KahfIIDedAI9au65Rqh1SZw/bphUY0iTtjBY01Ry+2Oy6k6LPE hn0QxwJ4Pe7WFZfaLbQs2pPTjNI90DZLvG6MMYia6+8v8WdSlZck5vtiKLEiyIyq1jta 9TiQ== MIME-Version: 1.0 X-Received: by 10.58.37.67 with SMTP id w3mr5367034vej.22.1390505317731; Thu, 23 Jan 2014 11:28:37 -0800 (PST) Received: by 10.220.168.135 with HTTP; Thu, 23 Jan 2014 11:28:37 -0800 (PST) In-Reply-To: <20140123201535.000018e9@unknown> References: <20140123201535.000018e9@unknown> Date: Thu, 23 Jan 2014 14:28:37 -0500 Message-ID: Subject: Re: Fw: Lessons learned from source upgrade from FreeBSD i386 9.2 Stable to FreeBSD i386 10.0 Release. From: Thomas Hoffmann To: freebsd-current Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: Matthew Rezny X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jan 2014 19:28:39 -0000 On Thu, Jan 23, 2014 at 2:15 PM, Matthew Rezny 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 > To: freebsd-current@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 > > 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