severity 458844 grave
reassign 458844 libflickrnet2.1.5-cil
retitle 458844 libflickrnet2.1.5-cil: broke ABI (breaking other applications 
like f-spot) and violates the Debian CLI Policy 3.2.1
found 458844 25277-3
thanks

On Thu, 2008-01-03 at 10:12 +0100, Roland Mas wrote:
> [EMAIL PROTECTED] ~/.gnome2/f-spot $ ls
> Accounts.xml  photos.db  photos.db.okay
> [EMAIL PROTECTED] ~/.gnome2/f-spot $ f-spot
> Initializing Mono.Addins
> Assembly not found: FlickrNet, Version=2.1.5.33467, Culture=neutral, 
> PublicKeyToken=2491df59efa5d132
> WARNING: [FSpot.Core,0.4.0.3457] Could not load some add-in assemblies: The 
> classes in the module cannot be loaded.

*sigh* this is an ABI breakage of FlickrNet, thus reassinging the bug
report to it.

The f-spot export extensions are there but not usable as the library is
not usable (caused by the ABI breakage)

libflickrnet2.1.5-cil 25277-2:
[EMAIL PROTECTED]:~$ gacutil -l FlickrNet|grep Version
FlickrNet, Version=2.1.5.33467, Culture=neutral, PublicKeyToken=2491df59efa5d132
                         ^^^^^
libflickrnet2.1.5-cil 25277-3:
[EMAIL PROTECTED]:~$ gacutil -l FlickrNet|grep Version
FlickrNet, Version=2.1.5.1158, Culture=neutral, PublicKeyToken=2491df59efa5d132
                         ^^^^

libflickrnet2.1.5-cil broke the ABI by changing the assembly version.
It uses the asterisk (*) sign in the assembly version, which means a
hash is used for the last part, any bit of the source code that changes
will change the assembly version -> ABI breakage.
For this reason the Debian CLI Policy ยง3.2.1 [0] requires to remove such
characters from the assembly version.

To fix the ABI breakage, I would suggest to discard the current assembly
version number (2.1.5.1158) by removing the last number part and replace
it with 0, like the policy says. To bring ABI compatibility back (like
for f-spot) install a GAC policy file [1] and map the last used version:
2.1.5.33467 to 2.1.5.0. This makes future applications and current
applications happy. Check dh_cligacpolicy (part of cli-common-dev), that
tool can generate such policy files and manages them for you. As
reference how that tool is used see the mono-addins (older versions) [2]
or log4net [3] source package.


[0] 
http://pkg-mono.alioth.debian.org/cli-policy/ch-packaging.html#s-gac-naming-versioning
[1] 
http://pkg-mono.alioth.debian.org/cli-policy/ch-packaging.html#s-gac-policy-files
[2] 
http://svn.debian.org/wsvn/pkg-cli-libs/packages/mono-addins/tags/0.3~svn.r90520-1/debian/?rev=0&sc=0
[3] 
http://svn.debian.org/wsvn/pkg-cli-libs/packages/log4net/trunk/debian/?rev=0&sc=0

PSS: I would like to invite you to pkg-cli-libs [0], it's an open
project / repository for maintaining CLI library packages in debian.
Every DD has write access to it. We have also the IRC channel
#debian-mono on OFTC.

[0] http://pkg-cli-libs.alioth.debian.org/

-- 
Regards,

Mirco 'meebey' Bauer

PGP-Key ID: 0xEEF946C8

FOSS Developer    [EMAIL PROTECTED]  http://www.meebey.net/
PEAR Developer    [EMAIL PROTECTED]     http://pear.php.net/
Debian Developer  [EMAIL PROTECTED]  http://www.debian.org/

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to