Community Packages

Please read this before reporting a bug:
http://wiki.archlinux.org/index.php/Reporting_Bug_Guidelines

Do NOT report bugs when a package is just outdated, or it is in Unsupported. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#54040 - [mono] file owned by 'chicken' and 'mono': 'usr/bin/csc'

Attached to Project: Community Packages
Opened by Taegil Bae (esrevinu) - Sunday, 14 May 2017, 10:45 GMT
Last edited by Eli Schwartz (eschwartz) - Wednesday, 18 October 2017, 21:31 GMT
Task Type Bug Report
Category Packages
Status Assigned
Assigned To Levente Polyak (anthraxx)
Giancarlo Razzolini (grazzolini)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 11
Private No

Details

Description:
file owned by 'chicken' and 'mono': 'usr/bin/csc'

Additional info:
* package version(s) 5.0.0.100-1
* config and/or log files etc.


Steps to reproduce:
1. upgrade mono package with chicken installed.
This task depends upon

Comment by Alexander F Rødseth (trontonic) - Sunday, 14 May 2017, 12:38 GMT
Can add a conflict.
Comment by Earnestly (Earnest) - Sunday, 14 May 2017, 18:00 GMT
That would be problematic for people who need both.
Comment by Alexander F Rødseth (trontonic) - Sunday, 14 May 2017, 19:40 GMT
The problem is there either way. Updated the chicken package to conflict with mono.

Please ask the mono or chicken developers to change the name of the binary.
Comment by Isenmann Daniel (ise) - Monday, 15 May 2017, 08:45 GMT
I don't think that you will have much luck that the projects will rename their binaries. You can try, but I think that will take a while. If you have a look and search the issue I have found something on a mailing list which is from 2004 with the same issue! Seems that both projects have the same binary name since ages.
Comment by Jonathon (jonathon) - Monday, 15 May 2017, 18:18 GMT
As mono is the younger project, Debian solved this by renaming mono's `/usr/bin/csc` to `/usr/bin/mono-csc`. If the upstream mono project is unwilling to change (which is likely given the length of time this has been an issue) a similar rename would likely be the solution of least surprise for Arch.

[1] http://mono.1490590.n4.nabble.com/Re-Best-way-to-solve-a-file-conflict-between-packages-td1551944.html
[2] https://packages.debian.org/jessie/all/mono-devel/filelist
[3] http://packages.ubuntu.com/yakkety/all/mono-devel/filelist

Edit:

Just a couple of extra points:
1) the mono package introduced the conflicting file, so technically mono conflicts with chicken.
2) please don't leave a rename to `mono-csc` without action for an extended period of time; the file was only recently introduced so noone should yet be relying upon it.

Comment by Alexander F Rødseth (trontonic) - Thursday, 01 June 2017, 11:34 GMT
+1 for renaming csc to mono-csc
Comment by lilydjwg (lilydjwg) - Friday, 14 July 2017, 03:34 GMT
+1 for renaming csc to mono-csc too. Too sad pacman can't ignore conflicts.
Comment by Earnestly (Earnest) - Sunday, 19 November 2017, 11:56 GMT
Any updates on this? The longer we wait, the more potential breakage there will be.

Additionally, has there been any effort to get upstream to use the mono-csc name? I doubt upstream will be happy with a situation that requires various distributions to rename their tools, causing widespread inconsistencies between systems...
Comment by Alexander F Rødseth (trontonic) - Monday, 20 November 2017, 10:13 GMT
I believe the "correct" solution is to just rename mono's /usr/bin/csc to /usr/bin/mono-csc, like Debian did.

A more comfortable solution for users, but less minimalistic and not so much in the spirit of Arch Linux, would be to have a "csc" package which provides a /usr/bin/csc symlink, and a config script that lets the user configure if chicken or mono should be pointed to by /usr/bin/csc. If only mono or only chicken is installed, /usr/bin/csc would point to that.

Another, more ambitious solution, would be to create a global system of reserved executable names and make all major distros join in. This could potentially solve the problem for other packages in the future.
Comment by Earnestly (Earnest) - Thursday, 23 November 2017, 14:18 GMT
Added upstream bug report/feature request for this: https://bugzilla.xamarin.com/show_bug.cgi?id=60838
Comment by Eli Schwartz (eschwartz) - Thursday, 23 November 2017, 16:38 GMT
"You are not authorized to access bug #60838. To see this bug, you must first log in to an account with the appropriate permissions."

Loading...