Acknowledgement sent
to Andrés G. Aragoneses <[email protected]>:
New Bug report received and forwarded. Copy sent to Debian Mono Group <[email protected]>.
(Wed, 08 Jan 2014 20:24:06 GMT) (full text, mbox, link).
Package: libmono-cil-dev
Version: 2.10.8.1-5
Steps to reproduce:
1. Some developer uses Mono in Debian/Ubuntu and makes a software that
requires NUnit to build.
2. She checks the contents of the file
/usr/lib/pkg-config/mono-nunit.pc in his system, and decides that this
version of nunit is good to be required (i.e. 2.6.0).
3. She goes and places a pkg-config check in his configure.ac,
checking for mono-nunit >= 2.6.0 version.
4. She commits her software to github.
5. Some user finds the software of this developer in gitorious (for
example), he checks it out in his Linux OS, and tries to compile it.
6. Given that the Mono version of his OS is a bit old, he decides to
use mono from git master (so he checks out mono, and compiles it, and
installs it).
7. He then tries to compile the Mono-based software he cloned from
gitorious before.
Expected results:
The configure script should fail and tell him to install NUnit 2.6.0 or above.
Current results:
Configure works, because mono's upstream mono-nunit.pc version has
Mono's version (3.2.7 as of this writing) in it[1], not NUnit's
version, but compilation fails (i.e. because the developer used some
NUnit API that is available in 2.6.0, but not in 2.4.8, which is the
version that mono provides[2]).
[1] https://github.com/mono/mono/blob/master/data/mono-nunit.pc.in
[2] https://github.com/mono/mono/blob/master/mcs/nunit24/CommonAssemblyInfo.cs
The culprit here is the fact that debian's mono packaging logic makes
mono-nunit.pc be a symlink to nunit.pc. If that wasn't the case, this
bug wouldn't exist. Some people in oftc#debian-cli state that the
symlink is to avoid maintaining two versions of a library, which is
fair enough. But then, one could avoid maintaining two versions of
this library by simply not installing mono-nunit.pc instead of making
it symlink to other package's pc file.
One might say that the real bug is mono's upstream: "the version in
mono-nunit.pc shouldn't be mono's version number, but 2.4.8, which is
the version that mono embeds". To that I would reply: "fair enough,
but even if you fix the bug upstream, the harm is already done for all
the mono versions prior to your bugfix, so I think it's also good to
fix this at the packaging level".
The commits that introduced this symlink are:
http://anonscm.debian.org/gitweb/?p=pkg-cli-libs/packages/nunit.git;a=commitdiff;h=87332208http://anonscm.debian.org/gitweb/?p=pkg-mono/packages/mono.git;a=commitdiff;h=95518558
Acknowledgement sent
to Andrés G. Aragoneses <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debian Mono Group <[email protected]>.
(Wed, 08 Jan 2014 20:39:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Mirco Bauer <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debian Mono Group <[email protected]>.
(Mon, 24 Mar 2014 19:27:05 GMT) (full text, mbox, link).
Subject: RE: mono-nunit.pc shouldn't symlink to nunit.pc
Date: Mon, 24 Mar 2014 20:26:00 +0100
tags 734646 + confirmed
thanks
Hi Andres,
I can confirm your issue and it should be fixed. That patch alone is
not a fix, as it will break the other mono source packages that rely
on mono-nunit.pc.
If upstreams behavior should be mimicked, then it needs to follow the
mono version. This is not what you get by dropping the "file". On the
other hand, faking mono's version does not solve the actual problem,
because you expect a specific nunit API from that mono version but get
possibly something different packaged in debian.
So the real fix is indeed patching all mono-nunit users in debian to
use nunit instead and then drop the mono-nunit symlink.
If you provide patches for that, I am going to merge it.
Thanks for paying attention to such details and bringing them up!
--
Best regards,
Mirco 'meebey' Bauer
FOSS Developer [email protected]https://www.meebey.net/
Debian Developer [email protected]http://www.debian.org/
GNOME Foundation Member [email protected]http://www.gnome.org/
PGP-Key ID 0xEEF946C8 https://meebey.net/pubkey.asc
Debbugs is free software and licensed under the terms of the GNU General
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.