Debian Bug report logs - #734646
mono-nunit.pc shouldn't symlink to nunit.pc

version graph

Package: libmono-cil-dev; Maintainer for libmono-cil-dev is Antoine Le Gonidec <[email protected]>; Source for libmono-cil-dev is src:mono (PTS, buildd, popcon).

Reported by: Andrés G. Aragoneses <[email protected]>

Date: Wed, 8 Jan 2014 20:24:02 UTC

Severity: normal

Tags: confirmed

Found in version mono/2.10.8.1-5

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to [email protected], Debian Mono Group <[email protected]>:
Bug#734646; Package libmono-cil-dev. (Wed, 08 Jan 2014 20:24:06 GMT) (full text, mbox, link).


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).


Message #5 received at [email protected] (full text, mbox, reply):

From: Andrés G. Aragoneses <[email protected]>
To: [email protected]
Subject: mono-nunit.pc shouldn't symlink to nunit.pc
Date: Wed, 8 Jan 2014 21:09:57 +0100
[Message part 1 (text/plain, inline)]
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=87332208
http://anonscm.debian.org/gitweb/?p=pkg-mono/packages/mono.git;a=commitdiff;h=95518558
[Message part 2 (text/html, inline)]

Information forwarded to [email protected], Debian Mono Group <[email protected]>:
Bug#734646; Package libmono-cil-dev. (Wed, 08 Jan 2014 20:39:04 GMT) (full text, mbox, link).


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).


Message #10 received at [email protected] (full text, mbox, reply):

From: Andrés G. Aragoneses <[email protected]>
To: [email protected]
Subject: Proposed patch
Date: Wed, 8 Jan 2014 21:34:08 +0100
[Message part 1 (text/plain, inline)]
Attached a proposed patch to fix the problem.
[Message part 2 (text/html, inline)]
[0001-Remove-mono-nunit.pc-symlink-to-nunit.pc-Closes-734646.patch (text/x-patch, attachment)]

Information forwarded to [email protected], Debian Mono Group <[email protected]>:
Bug#734646; Package libmono-cil-dev. (Mon, 24 Mar 2014 19:27:05 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).


Message #15 received at [email protected] (full text, mbox, reply):

From: Mirco Bauer <[email protected]>
To: [email protected], [email protected]
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



Message sent on to Andrés G. Aragoneses <[email protected]>:
Bug#734646. (Mon, 24 Mar 2014 19:27:17 GMT) (full text, mbox, link).


Added tag(s) confirmed. Request was from Mirco Bauer <[email protected]> to [email protected]. (Mon, 24 Mar 2014 19:30:04 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Fri May 16 09:33:29 2025; Machine Name: buxtehude

Debian Bug tracking system

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/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.