Re: Bug#669373: RFS: flactag/2.0.1-1 ITP #507876
Daniel Pocock <daniel@pocock.com.au> writes:
> Why the confusion? The old package is named after the ABI number in
> SONAME, the new one is named after the code version.
>
> Both Debian packages are called libmusicbrainz4, yet
> OLD: code v2.1.x, SONAME = libmusicbrainz.so.4, ABI = 4
> NEW: code v4.0.x, SONAME = libmusicbrainz4.so.3, ABI = 3
Shouldn't the new one be named libmusicbranz4-3 then? Because if the ABI
gets bumped to 4, then we'll have libmusicbrainz4.so.4, but it's a
different library than 4.so.3, thus, will need a different name anyway.
As far as I can see, these kind stuff is named fooN-M (see glib:
libglib-2.0-0, with the so being libglib-2.0.so.0).
That would also resolve the package name clash, I believe.
> Action items:
>
> - all those packages need a bug report filed against them to say that
> they depend on the obsolete SONAME. All such packages must release a
> fix into sid
Correction, these would need a bugreport filed to rebuild against with
updated build-deps, for the new library. Not just for the soname, that
is.
> - the old libmb4 package should be removed from the archive of Debian by
> making a bug report as described here:
> http://wiki.debian.org/ftpmaster_Removals
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=671088
Once everything is rebuilt against the new one, the old one can be
removed, indeed.
> - as it is `API breakage' and not `ABI breakage', we should really try
> to have a distinct package name for the -dev package, although this is
> not necessary if the old package is removed from the Debian archive
> completely
> http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#sonameapiabi
If you want a smooth transition, then you need a differently named -dev
package anyway, as until the reverse deps are not rebuilt, we will need
both in the archive.
> - according to the packaging guide and library best practices, we could
> potentially use the following convention:
>
> ABI number = 5
> SONAME = libmusicbrainz.so.5
> Package version = 4.0.x
> => Package name = libmusicbrainz5 and libmusicbrainz5-dev
>
> and filenames:
> libmusicbrainz5_4.0.0-1_amd64.deb
> libmusicbrainz5-dev_4.0.0-1_amd64.deb
That would work too, so would the lmb4-0 naming.
I kinda lost track, though (sorry, busy week): what's upstream's take on
this? What soname do they use?
--
|8]
Reply to: