On Mon, 16 Apr 2007 08:11:19 -0500
John Goerzen <[EMAIL PROTECTED]> wrote:

> > > It can
> > > only hurt binary compatibility.
> >
> > Vorlon's suggestion of a symlink prevents that.
>
> I'm not so sure.  Wouldn't binaries built on Debian want a library v1,
> which wouldn't work on systems that provide v2?

That's the point about the SONAME change being spurious - there is no
v2 of libarchive.so at a binary level. The library hasn't changed ABI so
there was no need to create a libarchive2 upstream or in Debian. The
symlink from the revised patch implements this - it allows packages
built against libarchive.so.1 to run against libarchive.so.2 simply
because libarchive.so.2 is compatible (and thereby unnecessary).

> > If the libarchive2 package had been installable alongside the
> > libarchive1 package, this would have not been a problem but it would
> > still have been the wrong thing to do, IMHO. libarchive 2.0.25 could
> > possibly have made it into Etch if GNU libtool conventions had been
> > followed in the SONAME.
>
> Well, again, it doesn't seem impossible to fix the tar manpage
> problem. Even failing that, if everything that uses libarchive is
> simply rebuilt sometime between now and the release of lenny, and
> libarchive2 conflicts and replaces libarchive1...   where is the
> problem?  The upgrade and builds should all work fine.

The problem of the manpage just highlighted the underlying problem that
the SONAME bump was not necessary and if that had not been made, the
manpage problem would not have been a problem in the first place and
none of this would have happened. The manpage issue is not the real
problem, that is the spurious SONAME bump causing a transition that is
simply unnecessary.

When I came across this original bug, I wanted to be able to install
the updated libarchive-dev so that I could migrate deb-gview to what I
assumed was the libarchive2 ABI/API. I was surprised to find that there
was no new ABI, it was the same as libarchive1.

> > What is your proposed fix for this blocking bug?
>
> It seems that the sensible thing is to make libarchive2 conflict and
> replace libarchive1, and to have anything that was still built against
> libarchive1 be rebuilt before lenny is released.  That looks like
> approximately 4 packages.
>
> -- John

Well, the revised patch means that packages will not need to be rebuilt
(because no SONAME transition has actually happened) but those that are
rebuilt for their own reasons will need a versioned depends. If and
when libarchive does break the ABI, libarchive3 will be necessary and
the manpage will need to either be in a separate package or have a
Replace: setting.

libarchive1 now conflicts and replaces libarchive2 by providing
libarchive.so.2 inside libarchive1 and has the symlink to create
libarchive.so.1.

None of this would have been needed if upstream had a sensible SONAME
policy. It would be good if upstream could be asked to implement a sane
versioning system before libarchive3 arrives, whenever that may be.
;-)

--


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgpK6uEtpyknB.pgp
Description: PGP signature

Reply via email to