Subject: Re: NetBSD 2.0 release date
To: matthew green <mrg@eterna.com.au>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 12/08/2003 16:15:15
--KdquIMZPjGJQvRdI
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Tue, Dec 09, 2003 at 08:54:30AM +1100, matthew green wrote:
> =20
> > Now let's say libother is a 3rd-party library, which is used on many=
=20
> > different operating systems. How easy do you think it will be to ge=
t=20
> > the libother maintainers to bump their shared library version? How=
=20
> > easy do you think it will be to maintain a local patch for all etern=
ity=20
> > that keeps the shared library version ahead +1 of the stock libother=
=20
> > version (and only for specific versions of NetBSD)?
> >=20
> > How easy do you think it will be to maintain such patches for hundre=
ds=20
> > (or even thousands) of 3rd-party libraries?
> =20
> That part is easy! pkgsrc already does this for thousands of libraries=
now
> (as part of the patches for the enclosing packages).
>=20
>=20
> pkgsrc can't solve the problem unless you're going to make it so that
> the major version of a shlib +=3D (libc version - 12) ? otherwise you're
> going to end up bumping the shlib on old (eg, 1.6) platforms, and other
> non-netbsd hosts.
I don't think that'd be a problem. The pkgsrc folks have done things much=
=20
more difficult than this. Plus, since all libraries would be facing the=20
problem, it only has to be solved once then cloned.
However, I'm not really sure we need to do this (for pkgsrc). Far too many=
=20
package developers don't maintain proper library versioning, so pkgsrc=20
can't depend on backwards compat of the type we expect from our system=20
libraries. So libc 12 vs libc 13 is just one of many problems with 3rd=20
party libraries. And ripple-upgrade, the common pkgsrc upgrade path, will=
=20
work fine with crossing a libc 12 -> 13 transition.
> at the end of the day, what's the benefit? programs don't work anymore.
As above, the majority of 3rd party packages (that I've looked closely at)=
=20
don't internally maintain the kind of library versioning we're talking=20
about for our system libraries. So why are we stressing about adding a=20
library versioning to them that they won't support?
> why do people want this? all it causes is pain.
Because right now we have an unending growth path. We will keep bloating=20
libc over time. As opposed to kernels, there is no way to turn off=20
backwards compat (and I think that's fine), so it keeps getting fatter &=20
fatter. Eventually we will want to trim the fat.
Yes, it will be painful. But realistically, I think it can be less painful
than the transition to ELF. And since we aren't pressed about doing it, we
can put what we need in place for the transition a whole release before we
do it.
I'm not saying we are to the point where I think we should do this, I'm=20
explaining why I think we will want to do this someday. Maybe in ten more=
=20
years, but sooner than never. :-)
One of the things I'm assuming we'd be able to do is be able to compile an=
=20
old libc.so.12.X on a system that has libc.so.13.Y. Obviously there'd need=
=20
to be some explicit goop at compile time.
Take care,
Bill
--KdquIMZPjGJQvRdI
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)
iD8DBQE/1RQTWz+3JHUci9cRAmPzAKCPnoG//zJLzv63wvlQrEbJ+40DKACdHn+b
DzcU+du+v4x6T5fSYyWaX6g=
=H5js
-----END PGP SIGNATURE-----
--KdquIMZPjGJQvRdI--