Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Sep 2004 09:37:32 -0700
From:      Kris Kennaway <kris@obsecurity.org>
To:        Tim Robbins <tjr@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: HEADS-UP: Library version number bumps
Message-ID:  <20040929163732.GA9182@xor.obsecurity.org>
In-Reply-To: <20040929092710.GA59303@cat.robbins.dropbear.id.au>
References:  <20040929030546.GE16305@electra.cse.Buffalo.EDU> <20040929092710.GA59303@cat.robbins.dropbear.id.au>

next in thread | previous in thread | raw e-mail | index | archive | help

--IJpNTDwzlM2Ie8A6
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 29, 2004 at 07:27:10PM +1000, Tim Robbins wrote:
> On Tue, Sep 28, 2004 at 11:05:46PM -0400, Ken Smith wrote:
> >=20
> > >From the "Better late than never" Department...
> >=20
> > It looks like we should probably bump the version of a couple of
> > the system libraries.  With LOTS of help from Kris it looks like
> > this is the list we think needs a version bump, with the version
> > from 4.X being placed in compat4x:
> >=20
> >        libgnuregex.so.2
> >        libhistory.so.4
> >        libm.so.2
> >        libncurses.so.5
> >        libopie.so.2
> >        libpcap.so.2
> >        libreadline.so.4
> >        libwrap.so.3
> >=20
> > The bumps will be coming soon...
>=20
> Why do they need to be bumped? Why use the version from 4.x? It sounds li=
ke
> this will break a lot of 5.x binaries.

I compared the exported symbols in 4.x and 5.x, compiled the list of
libraries with incompatible changes, and then searched the 4.x package
collection for binaries that link to them.  In most cases I was able
to demonstrate the resulting breakage (i.e. by running a relevant 4.x
binary), in other cases it was less clear (e.g. when a 5.x library
stops exporting an extern variable which is used in the 4.x version to
control some behaviour of the library; when run on 5.x the library
will behave differently than on 4.x).

Unfortunately, it will break compatibility with some older 5.x
binaries in the process of fixing compatibility with 4.x binaries,
which is the more important upgrade path (remember that 5.x->5.x
binary compat has already been explicitly broken many times over the
life of the branch).  The lesson here is that we need to pay closer
attention to when incompatible changes are made to libraries to avoid
the problem in the future.

Kris

--IJpNTDwzlM2Ie8A6
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFBWuTMWry0BWjoQKURAletAJ4xOiGkI+3rO8EoTxwsFECz7GPJkQCguCRi
7qsRfiuaFQ27x+/W/RmCSRY=
=2zWr
-----END PGP SIGNATURE-----

--IJpNTDwzlM2Ie8A6--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040929163732.GA9182>