Subject: Re: Fwd: pkg/26633: package ABI is often broken on NetBSD due to libtool porting problem
To: Todd Vierling <tv@duh.org>
From: John R. Shannon <john@johnrshannon.com>
List: tech-pkg
Date: 08/13/2004 09:37:32
=2D----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I accepted the task of dealing with this, but, it's clear that you have mor=
e=20
history with this package and understand it's intricacies. Would you like=20
responsibility for pkg/26633?

On Friday 13 August 2004 09:26 am, Todd Vierling wrote:
> On Fri, 13 Aug 2004, Ben Collver wrote:
> > I am looking for a volunteer to take responsibility for this PR about
> > devel/libtool from Noriyuki Soda.  Nick Hudson agrees that the numbering
> > is wrong and needs a flag day.
> >
> > Any takers?
>
> For some context:  NetBSD's config for libtool was taken from SunOS's way
> back in NetBSD 1.3 (because SunOS was also a.out); we didn't know at the
> time that the config for SunOS was wrong.  soda emlightened me yesterday
> about it.
>
> HOWEVER, NetBSD is not the only affected platform.  Note that libtool does
> the same for:
>
> - NetBSD a.out (which may need .major.minor, rather than
> .major.minor.teeny)
>
> - FreeBSD ELF
>
> - FreeBSD a.out (same note as NetBSD a.out, but may not be supported by
>   pkgsrc anyway at the moment)
>
> - Darwin (*after* the change in pkgsrc's patch-ac for libtool; without the
>   patch, it does the "correct" thing)
>
> - Solaris ("SunOS 5")
>
> - OSF/1 (pkgsrc is not supported on this at the moment)
>
> I can fix libtool for NetBSD plus the supported platforms above, but this
> will require the following (not all of which I necessarily have the time =
to
> do right now).  "Flag days" are very bad, so this should be done in a way
> that keeps pkgsrc atomically correct.
>
> A single commit to pkgsrc should do all of the following:
>
> 1. Change libtool, bump its PKGREVISION.
>
> 2. Bump _OPSYS_LIBTOOL_REQD to the new version in NetBSD.mk.
>
> 3. Bump the PKGREVISION of all USE_LIBTOOL packages, and all their direct
>    dependencies (but not indirect dependencies); this will unfortunately
>    impact all platforms, but it's unavoidable.
>
> 4. Bump the BUILDLINK_RECOMMENDED.foo of any packages bumped in (3) above,
>    so that default builds will require the new shlib major/minor values,
>    but experienced pkgsrc users may override this to allow for phased
>    upgrades (leaving some old pkgs installed temporarily if needed).
>
> As to the changes noted in the PR:
> > 	Change the following (current) way to calculate shared object
> > 	name in libtool from:
> > 		major=3D".$current"
> > 		versuffix=3D".$current.$revision"
> >
> > 	or the following way:
> > 		major=3D.`expr $current - $age`
> > 		versuffix=3D"$major.$age.$revision"
>
> The above is the correct change.

=2D --=20

John R. Shannon
john@johnrshannon.com
=2D----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (NetBSD)

iEYEARECAAYFAkEc4DwACgkQOKbCxya4HYtJFgCeIPFlLN8tG0+czYFR+7ofifJ9
qDsAoLO/ce5uaUeyCtb0kTZ7ycvI29zD
=3DOTnG
=2D----END PGP SIGNATURE-----