From owner-cvs-all Fri Aug 20 11:21:25 1999 Delivered-To: cvs-all@freebsd.org Received: from overcee.netplex.com.au (overcee.netplex.com.au [202.12.86.7]) by hub.freebsd.org (Postfix) with ESMTP id 9524315300; Fri, 20 Aug 1999 11:21:18 -0700 (PDT) (envelope-from peter@netplex.com.au) Received: from netplex.com.au (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 9A7781C9F; Sat, 21 Aug 1999 02:21:00 +0800 (WST) (envelope-from peter@netplex.com.au) X-Mailer: exmh version 2.0.2 2/24/98 To: obrien@NUXI.com Cc: Dmitrij Tejblum , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/include histedit.h src/lib/libedit Makefile editline.3 el.c el.h In-reply-to: Your message of "Fri, 20 Aug 1999 11:01:14 MST." <19990820110114.Y76112@dragon.nuxi.com> Date: Sat, 21 Aug 1999 02:21:00 +0800 From: Peter Wemm Message-Id: <19990820182100.9A7781C9F@overcee.netplex.com.au> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk "David O'Brien" wrote: > Think COMPAT libs... since we provide them, we need them to work > properly. > > I have /usr/lib/libfoo.so.2 and /usr/lib/compat/libfoo.so.1. > Now old and new binaries are happy. But the system isn't.. You've now got duplicate libraries on disk, and in memory when both are run defeating sharing. > With a version major number bump, and binary run on old system, you get a > very clear error message: you don't have to right library. The fix is > deterministic. With stuff using libedit, in /usr/src, the fix is also deterministic. If you copied a 3.3 nslookup onto a 3.2 system, "don't do that!" You get the whole system in sync with a 'make world' or the upgrade process. > Now a new binary, using new features, and no major version bump: symbols > unresolvable. Now how do you determine what is the right library to get? /usr/sbin/nslookup: libedit.so.2 => /usr/lib/libedit.so.2 (0x2806c000) libtermcap.so.2 => /usr/lib/libtermcap.so.2 (0x2807e000) libc.so.3 => /usr/lib/libc.so.3 (0x28083000) The list of possibilities isn't very long.. Regarding libreadline, the major was bumped because it wasn't compatable with the old version. The data structs had changed, it wasn't just 'add a few symbols' like with libedit. That's what determines a major bump - will binaries compiled and linked against a newer library work safely on the older ones? (or older binaries work on the newer libs.) If yes, then no bump, especially when the only binaries using it are those that we provide right alongside in the source tree. Cheers, -Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message