[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: