Re: Bug#669373: RFS: flactag/2.0.1-1 ITP #507876
On 01/05/12 20:24, Andy Hawkins wrote:
> Hi,
>
> In article <[🔎] 87d36nrivz.fsf@luthien.mhp>,
> Gergely Nagy<algernon@madhouse-project.org> wrote:
>> Nope, didn't have a chance yet. Today or tomorrow I will have a little
>> time and see what I can do. I'll investigate the libmb4 status too.
>
> Ok, thanks for that.
>
> The issue with libmb4 is that (for some reason) one of the packages for
> libmb2 was called libmusicbrainz4-dev. This is obviously the name we want to
> use for libmb4.
>
> libmb2 is completely broken now, it uses the RDF web service that no longer
> exists. As a result, any packages that depend on it are also similarly
> broken.
>
> Timo Aaltonen was doing some work on the dependant packages to enable the
> 'old' libmb4-dev to be removed. Not sure on what's happening with that
> though.
Just to clarify, there are 2 packages called libmusicbrainz4
- the old one, based on the upstream 2.1 source, is currently in Debian
but broken
http://packages.debian.org/source/sid/libmusicbrainz-2.1
- the new one, based on the upstream 4.0 source, is part of this RFS and
is on the mentors site
http://mentors.debian.net/package/libmusicbrainz
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
Clearly, the new library has a distinct SONAME, so old packages won't
link against it by mistake at runtime, so it is safe to have both libs
on the same system concurrently, we just have to resolve the clash of
package names.
Packages depending on the old libmusicbrainz:
~$ apt-cache rdepends libmusicbrainz4c2a
libmusicbrainz4c2a
Reverse Depends:
rhythmbox-plugins
muine
libtunepimp5
libmusicbrainz-ruby1.8
python-musicbrainz
libmusicbrainz4-dev
libkcddb4
kscd
k3b
gstreamer0.10-plugins-bad
goobox
gmerlin
cynthiune.app
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
- 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
- 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
- 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
Reply to: