From owner-cvs-all@FreeBSD.ORG Mon Jan 16 17:13:35 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9C5F316A4D8; Mon, 16 Jan 2006 17:13:35 +0000 (GMT) (envelope-from ru@ip.net.ua) Received: from tigra.ip.net.ua (tigra.ip.net.ua [82.193.96.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id A72BF43D78; Mon, 16 Jan 2006 17:13:25 +0000 (GMT) (envelope-from ru@ip.net.ua) Received: from localhost (rocky.ip.net.ua [82.193.96.2]) by tigra.ip.net.ua (8.12.11/8.12.11) with ESMTP id k0GHD2UX043548; Mon, 16 Jan 2006 19:13:02 +0200 (EET) (envelope-from ru@ip.net.ua) Received: from tigra.ip.net.ua ([82.193.96.10]) by localhost (rocky.ip.net.ua [82.193.96.2]) (amavisd-new, port 10024) with LMTP id 53997-01-4; Mon, 16 Jan 2006 19:12:32 +0200 (EET) Received: from heffalump.ip.net.ua (heffalump.ip.net.ua [82.193.96.213]) by tigra.ip.net.ua (8.12.11/8.12.11) with ESMTP id k0GH7QBM043284 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 16 Jan 2006 19:07:26 +0200 (EET) (envelope-from ru@ip.net.ua) Received: (from ru@localhost) by heffalump.ip.net.ua (8.13.4/8.13.4) id k0GH7ULd080422; Mon, 16 Jan 2006 19:07:30 +0200 (EET) (envelope-from ru) Date: Mon, 16 Jan 2006 19:07:30 +0200 From: Ruslan Ermilov To: "M. Warner Losh" Message-ID: <20060116170730.GC79731@ip.net.ua> References: <20060115.231029.62233420.imp@bsdimp.com> <43CB42A9.8090601@samsco.org> <20060116083922.GD81316@ip.net.ua> <20060116.092610.122288991.imp@bsdimp.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="4jXrM3lyYWu4nBt5" Content-Disposition: inline In-Reply-To: <20060116.092610.122288991.imp@bsdimp.com> User-Agent: Mutt/1.5.9i X-Virus-Scanned: by amavisd-new at ip.net.ua Cc: scottl@samsco.org, src-committers@FreeBSD.org, flz@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org, obrien@FreeBSD.org Subject: Re: cvs commit: src/usr.sbin/config main.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jan 2006 17:13:36 -0000 --4jXrM3lyYWu4nBt5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jan 16, 2006 at 09:26:10AM -0700, M. Warner Losh wrote: > In message: <20060116083922.GD81316@ip.net.ua> > Ruslan Ermilov writes: > : On Sun, Jan 15, 2006 at 11:52:25PM -0700, Scott Long wrote: > : > M. Warner Losh wrote: > : >=20 > : > >In message: <20060116041146.GA23438@dragon.NUXI.org> > : > > "David O'Brien" writes: > : > >: On Sat, Jan 14, 2006 at 08:12:25AM +0000, Florent Thoumie wrote: > : > >: > Modified files: > : > >: > usr.sbin/config main.c=20 > : > >: > Log: > : > >: > - Change the exit message from "make cleandepend; make depend"= to > : > >: > "make cleandepend && make depend". > : > >:=20 > : > >: I still think we should go back to the traditional: > : > >: "Don't forget to do ``make depend''\n" > : > >:=20 > : > >: The 'make cleandepend' step was to work around brokeness in 'make= =20 > : > >depend'. > : > >: If 'make depend' is still so broken that one must do 'make cleande= pend' > : > >: first, then 'make depend' should just blow away all the .depend fi= les > : > >: first. > : > > > : > >Sadly, that won't work. > : > > > : > >Warner > : >=20 > : > Not that I don't believe you, but can you explain why it won't work?= =20 > : > What happened that caused 10+ years of 'working' to turn to 'not work= ing'? > : >=20 > : Several reasons: > :=20 > : - Before we were always regenerating the kernel .depend file, even if > : nothing has changed. This was contrary to other .depend files that > : are only regenerated if some of the sources or their known dependenc= ies > : have changed. The config/main.c commit log said this on the subject: > : : Ask that "make cleandepend" be run before "make depend", now that > : : we don't do this automatically. > :=20 > : - "make cleandepend" wasn't to work around brokenness in "make depend". > : Instead, it's to make things work when make(1) cannot figure out by > : itself that it should regenerate .depend, e.g. when supporting .mk > : files change (kern.{pre,post}.mk, Makefile., Makefile built by > : config(8), etc.). > :=20 > : In short, not runnign "make cleandepend" is equivalent to building world > : with -DNO_CLEAN, which is often possible but not guaranteed to work, and > : for the same set of reasons. >=20 > The problem with removing .depend in the depend target happens too > late. Before we get to the meat of the depend target, the error > happens. The error happens, btw, when a .h file is deleted, which the > .depend file depends on... There might be other clever ways around this. >=20 Ah yes. Removing a .h file that some file from ${SRCS} depends on is the most easy way to demonstrate the need to remove .depend first, in the general case. Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --4jXrM3lyYWu4nBt5 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFDy9LSqRfpzJluFF4RAh/zAJ9YasSEPm+Qvq6NoTEM0ydvAR/DJQCcDlaI kU3kg6FbFzTX/TMoQpnw098= =5xsE -----END PGP SIGNATURE----- --4jXrM3lyYWu4nBt5--