Subject: Re: stdio FILE extension
To: NetBSD Userlevel Technical Discussion List <tech-userlevel@netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: tech-userlevel
Date: 10/19/2001 15:28:37
[ On Friday, October 19, 2001 at 18:17:06 (+0700), Robert Elz wrote: ]
> Subject: Re: stdio FILE extension 
>
> ps: I'm one of the ones who routinely uses apps compiled on earlier versions
> of the system after upgrading - if that didn't work, then I'd never upgrade,
> as upgrading everything else takes way too long to do during an upgrade
> down time

The important thing here is to try to define what's meant by "earlier
versions of the system".  Certainly it's paramount that all binaries
continue to work flawlessly and identically (well perhaps with fewer
bugs :-) across ``minor'' system releases.

However I've never done a ``major'' upgrade, of any kind of system,
without effectively doing a full ground-up re-install.  If the system
being upgraded is one that cannot tolerate any significant amount of
downtime then the upgrade is done by building and testing a new system
image (and all the new applications) on a test machine, then if I'm
lucky can simply move the new system disk into place, or if I'm unlucky
or changing hardware at the same time I have to shut down long enough to
shuffle all the user data around before the system comes back up into
production.  Anyone who expects to always do an effectively on-line
upgrade is fooling themselves.

In the Sun world a major upgrade is one like SunOS-4.x to SunOS-5.[0-8],
or SunOS-5.[0-8] to SunOS-5.9 (or maybe even some jumps in between,
depending on exactly what purpose your machine has).  From what I know
Sun are hoping to have several binary translation tools to help assist
their users make the migration from Solaris-[78] to Solaris-9.

In the NetBSD world a major upgrade is certainly the one from a.out to
ELF.  If you did that without rebuilding a lot (or all) your add-on
software then you were lucky, and guess what -- /emul saved your day.

I don't know if binary emulation is absolutely necessary to make the
transition across a shared libc major number bump, but I think it could
be used to eliminate any and all objections from those worried about
upagrading without recompiling all their add-on software.  Personally
I'd still want to build up a new system image on a test machine -- that
way I still stand a chance of downgrading if something unexpected goes
wrong.

> (and what's more, half of the everything else - perhaps more - is
> someone else's problem, I wouldn't begin to know how to go about installing
> some of what is installed).

hmmmm....  change management....

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>     <woods@robohack.ca>
Planix, Inc. <woods@planix.com>;   Secrets of the Weird <woods@weird.com>