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

Re: Help with upgrading libflickrnet

Hi Varun,

On Fri, 14 Aug 2009 15:03:51 -0400
Varun Hiremath <varun@debian.org> wrote:

> They are not compatible:
> -----------
> $$ mono-api-check -2 2.1.5/usr/lib/cli/flickrnet-2.1.5/FlickrNet.dll
> 2.2/usr/lib/cli/flickrnet-2.2/FlickrNet.dll CLI API Check
> Assembly Name:          FlickrNet
> Missing Interfaces:     8
> Additional Interfaces:  63
> The two assemblies you compared are NOT API compatible!
> You must use a new package name!
> The new assembly has additional interfaces. You must raise
> the minimal version in clilibs!
> The assembly versions do NOT MATCH!
> If they are API compatible you MUST generate and install a GAC policy
> file! -----------

mono-api-check might produce false-positives, to make sure there are
missing interface that actually cause an ABI breakage use the
ilcontrast tool from the mono-tools-gui package.

> Apart from these changes I also added Conflicts/Replaces the older
> version 2.1.5 mainly because the symlink
> /usr/lib/pkgconfig/flickrnet.pc exists in both the packages and dpkg
> complains while upgrading.

Using Replaces here is good but do _not_ use Conflicts. The point of
versioning the packages exposing an ABI compatibility would be useless
if 2 different ABIs could not be installed at the same time. The GAC
explicitly allows this though! The Replaces will make sure the
pkg-config file will be replaced with the newer one. We know that this
is a bit hacky but we have no other solution yet defined in the Debian
CLI Policy. We plan to add libfoo-cil-dev packages (without any
version) like the C libs have which would fix the hacky Replaces-only

> So, what next? Upload to experimental and file bugs to update all
> rdeps? Should we also provide some transition package 2.1.5-cil
> depending on 2.2-cil?

Such transition package is useless because the runtime will refuse to
load the assembly with a different assembly version than the one that
was linked at compile time (except GAC policy files are used but only
if the ABI is compatible).

> I have committed my changes to pkg-cli-libs svn and new package in
> available on my homepage [1].
> Thanks for your comments.
> -Varun
> [1] http://people.debian.org/~varun/


Mirco 'meebey' Bauer

PGP-Key ID: 0xEEF946C8

FOSS Developer    meebey@meebey.net  http://www.meebey.net/
PEAR Developer    meebey@php.net     http://pear.php.net/
Debian Developer  meebey@debian.org  http://www.debian.org/

Reply to: