From owner-freebsd-hackers Sun Dec 12 13:39:15 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from Genesis.Denninger.Net (209-176-244-82.inil.com [209.176.244.82]) by hub.freebsd.org (Postfix) with ESMTP id B418A152AE; Sun, 12 Dec 1999 13:39:09 -0800 (PST) (envelope-from karl@Genesis.Denninger.Net) Received: (from karl@localhost) by Genesis.Denninger.Net (8.9.3/8.8.2) id PAA03733; Sun, 12 Dec 1999 15:38:53 -0600 (CST) Message-ID: <19991212153853.A1509@Denninger.Net> Date: Sun, 12 Dec 1999 15:38:53 -0600 From: Karl Denninger To: Peter Wemm Cc: freebsd-hackers@FreeBSD.ORG, marcel@FreeBSD.ORG Subject: Re: Reminder - changes to sources and such References: <19991212213117.94E341CA0@overcee.netplex.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.93.2i In-Reply-To: <19991212213117.94E341CA0@overcee.netplex.com.au>; from Peter Wemm on Mon, Dec 13, 1999 at 05:31:17AM +0800 Organization: Karl's Sushi and Packet Smashers X-Die-Spammers: Spammers cheerfully broiled for supper and served with ketchup! Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Mon, Dec 13, 1999 at 05:31:17AM +0800, Peter Wemm wrote: > Karl Denninger wrote: > > Hi folks, > > > > Just something to keep in mind.... > > > > I am trying to update from a Juneish -CURRENT to a current -CURRENT. > > > > I've run into two instances (the latest being the use of "colldef" in > > /usr/src/share/colldef) where older binaries are INCOMPATIBLE with the newer > > files they are processing, AND the "make buildworld" target uses the OLD > > binary in an attempt to read the NEW file. > > > > This blows up, obviously. > > This would appear to be another thing Marcel has broken.. > > colldef used to have special treatment, but it no longer has. > > peter@overcee[5:29am]~src-124> cvs up -p -r1.89 Makefile.inc1 | grep colldef > usr.bin/colldef \ > peter@overcee[5:29am]~src-125> grep colldef Makefile.inc1 > peter@overcee[5:29am]~src-126> > > Cheers, > -Peter Thanks Peter. This kind of thing is an issue that is very real; I've run into it before, and for a while I had trouble with this kind of thing when I was at MCS (usually the problem there was in the /usr/share/mk directory, but the same principle applies) Can I ask why the makefiles for the world don't build in this order? 1. Build the "basic" GNU kit necessary to compile things. 2. Build the LIBRARIES necessary to LINK things. 3. Rebuild the gnu kid using (2); you now have a self-consistent development system regardless of what you started with. 4. Build the world's binaries. 5. Process anything in /usr/share or other places that requires the use of those binaries, using the OBJECTS compiled in step (4). This way all you need to build the world is a compiler that kinda works. If include files have changed, or binaries that read files have changed, it doesn't matter and won't bite you. As long as you can get executable code in step (1) the build will complete AND the completed build will be up to date using the current headers and libraries. (I may be missing a step or two here but I think the question I'm asking is fairly clear) :-) Special-casing things like this looks rather evil to me; shouldn't we fix the general case instead? -- -- Karl Denninger (karl@denninger.net) Web: http://childrens-justice.org Isn't it time we started putting KIDS first? See the above URL for a plan to do exactly that! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message