[mono-packagers] Broken pkgconfig names for mono-addins in Debian

Michael Hutchinson m.j.hutchinson at gmail.com
Fri Oct 9 22:22:22 EDT 2009


Hi all,

I'm running into users with problems in MonoDevelop that are caused by
Debian's changes to Mono.Addins pkgconfig files that directhex tells
me are a consequence of Debian packaging policies.

Debian's packaging has taken the mono-addins.pc file, and renamed it
to mono-addins-0.2.pc, then created a symlink from mono-addins.pc to
mono-addins-0.2.pc.

This confuses MD users, because MD won't use both pkgconfig "names"
for the same dll, so MD sometimes switches the package names in the
project files. It's arguably not a MD bug because there's likely no
sane way to pick the "correct" one when scanning, and MD uses the real
dll names and versions when resolving refs - the package names are
mostly hints. Notes that we are tracking this at
https://bugzilla.novell.com/show_bug.cgi?id=494206

The real problem is more fundamental. A pkgconfig *filename* is
essentially a handle that MonoDevelop, xbuild, Makefiles and other
build systems can use. The new pc name "mono-addins-0.2" that Debian
has made up is not *portable* to other distros. For example, say a
user on Debian creates a makefile that uses `pkgconfig --libs
mono-addins-0.2`, and someone else tries to run it on openSUSE or
Fedora. It won't work.

As well as breaking things, this change is currently pointless, as
there has been no ABI break in mono.addins since it became stable. The
"mono-addins" name refers to the current ABI. If Mono.Addins breaks
ABI, we can then switch to another name, e.g. "mono-addins-2", which
will work across distros while solving the ABI issue Debian's policy
is trying to solve.

I've cc'd the mail to mono-packagers-list so that other distros'
packagers are aware of the issues that doing things like this could
cause.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the mono-packagers-list mailing list