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

Re: Best way to solve a file conflict between packages?

Ciao Davide,

On Mon, 30 Mar 2009 12:08:41 +0200, Davide Puricelli wrote:

> Summarizing, new mono packages introduced a /usr/bin/csc file that
> conflicts with /usr/bin/csc I used to ship into chicken-bin, so now
> there's a conflict between these two packages.

I'm a bit biased here, since I'm part of the Debian Mono Team :), but I'll try
to make my point. Discussion is _very_ welcome.

> I think there're at least three possible ways to fix it:
> 1) changing the name of my version of /usr/bin/csc to something else,
> but then I'll have to rename all the references to it in docs, other
> executables and, last but not the least, users know the Chicken Scheme
> Compiler as /usr/bin/csc since ages.

Agreed. And, as seen in the bugreport, using alternatives is not
Policy-compliant here.

> 2) just putting a Conflicts between mono-devel and chicken-bin,
> but I think it's not a good solution for users.

Right, I'm full against it.

> 3) well, mono-devel came second, they introduced the problem and they
> should fix it, renaming their file.

Point for you.

> I'm not a big fan of their "my popcon count is bigger than yours", I
> just know that we're using that name since a lot of time, while probably
> Mono users would be not so disappointed by a new name.

The fact is: Mono upstream changes the compiler name according to which runtime
version it compiles code to. So we have:

mcs - Mono CLI 1.0
gmcs - Mono CLI 2.0
smcs - Mono CLI 3.0 (really 2.1)

Now, "csc" stands for "C Sharp Compiler" -- it's also used by the .NET
framework on Microsoft Windows systems, and is widely recognized in the CLR
community. But, well, nothing prevents us from using "mono-csc". Yes, that
would need another transition on our side (oh, my.), but we wouldn't uselessly
need to Conflicts: chicken-bin (thus putting everything mono- and chicken-
related into "extra"), or those hackish approaches proposed in the report.

Really, we also called it "csc" to let people use _other_ CLI compilers
(I'm personally working on Portable.NET) through the alternatives mechanism, so
that would better be named cli-csc, or similar.

> I prefer the solution #3, but I'm not really impartial, I know, so,
> what do you think?

I'm *NOT* talking in behalf of the Debian Mono Group, but I really think we
shouldn't break existing scripts/programs/workflows/whatever, and call our
binary as cli-csc.

I'm including pkg-mono-devel@lists.alioth.debian.org in the loop, please keep


 . ''`.  Debian maintainer | http://wiki.debian.org/DavidPaleino
 : :'  : Linuxer #334216 --|-- http://www.hanskalabs.net/
 `. `'`  GPG: 1392B174 ----|---- http://snipr.com/qa_page
   `-   2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174

Attachment: signature.asc
Description: PGP signature

Reply to: