FS#54040 - [mono] wants to install a file that is already owned by the chicken package: /usr/bin/csc
Attached to Project:
Community Packages
Opened by Taegil Bae (esrevinu) - Sunday, 14 May 2017, 10:45 GMT
Last edited by Toolybird (Toolybird) - Tuesday, 04 April 2023, 02:18 GMT
Opened by Taegil Bae (esrevinu) - Sunday, 14 May 2017, 10:45 GMT
Last edited by Toolybird (Toolybird) - Tuesday, 04 April 2023, 02:18 GMT
|
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
Closed by Toolybird (Toolybird)
Tuesday, 04 April 2023, 02:18 GMT
Reason for closing: Fixed
Additional comments about closing: chicken 5.0.0-2
Tuesday, 04 April 2023, 02:18 GMT
Reason for closing: Fixed
Additional comments about closing: chicken 5.0.0-2
Please ask the mono or chicken developers to change the name of the binary.
[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.
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...
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.
[1] https://github.com/mono/mono/issues/9056