Subject: Re: elf->a.out (was Re: How good is FreeBSD emulation?)
To: Todd Vierling <tv@wasabisystems.com>
From: Frederick Bruckman <fb@enteract.com>
List: port-i386
Date: 09/22/2000 14:48:25
On Fri, 22 Sep 2000, Todd Vierling wrote:

> On Fri, 22 Sep 2000, Frederick Bruckman wrote:
> : You do not _need_ COMPAT_AOUT path munging...

> If you try to do this in-place, you'll have applications "missing", with
> longer missing times for applications that have many dependencies (since you
> have to upgrade all dependencies before an application can be replaced).

> : Actually it does reference /usr/pkg/{etc,libexec} as well as ever, as
> : long as you _don't_ _move_ anything.
> 
> Which doesn't help when you have a binary in /usr/pkg/bin that needs config
> files in /usr/pkg/etc and you want to upgrade dependency pkgs without
> borking that application in the meantime.

This is no worse than the usual case, where you upgrade packages with
no a.out -> ELF transition to complicate matters. I'd like to point
out that you could minimize downtime by using binary packages built on
another machine.

> I actually don't use COMPAT_AOUT on most of my machines any longer; it
> performed the piecemeal upgrade beautifully on those systems, and I had
> *zero* downtime, barring the reboot into the modified kernel, during the
> upgrades.  "Don't knock it until you try it."

Um, OK. "To each his own..." The NEW way (new, improved ld.so) works
fine, too, and with fewer caveats.

What Kent was asking for, was a way to continue to use packages built
for 1.4.2 on 1.5-ELF. I say populate /emul/aout/usr/{,X11R6/}lib, run
ldconfig, voila. No symlinks, no confused shells. What could be easier?