Subject: Re: updating, build and install order
To: William Allen Simpson <wsimpson@greendragon.com>
From: Robert Elz <kre@munnari.OZ.AU>
List: current-users
Date: 06/19/2003 20:31:17
    Date:        Thu, 19 Jun 2003 08:38:38 -0400
    From:        William Allen Simpson <wsimpson@greendragon.com>
    Message-ID:  <3EF1AEB8.92E159A1@greendragon.com>

  | > New kernels should always be able to run old executables, 
  | We've learned from Bellovin that isn't true today (except vax).

That was me actually, but that doesn't matter.

  | Apparently, the odd exception is increasingly common.

The COMPAT_16 that is missing should actually affect very little
(there's only one place it is used - outside the vax port - which
as I recall it, wasn't anywhere that would bother much).

The more critical changes that should be COMPAT_16 have been installed
with #if 1 instead (effectively forcing on the COMPAT_16 option for
everyone, wanted or not, for those particular parts of back compatability).

  | I've only found one clue: the old kernel (June 11) was 1.6T, the new 
  | kernel (June 16) was 1.6U.  I hadn't noticed the change before.

I haven't yet looked to see what caused that kernel bump, but it is
very unlikely to be a COMPAT_16 related issue.   That is, I'd think
it very unlikely that a 1.6U kernel (even without COMPAT_16) shouldn't
be able to run everything that userland compiled from the same sources
as any 1.6T kernel came from (but with updates from one -current to
another, almost anything is possible - forwards compatability there
isn't guaranteed).

  | And it would be nice to figure out some clever way to install both 
  | kernel and userland at the same time, eliminating the window where a 
  | new kernel might be incompatible with old userland.

That's easy, if you build release sets, and then just unpack them, rather
than installing directly from DESTDIR.

kre