Opened 7 years ago
Closed 6 years ago
#55327 closed defect (fixed)
coreutils conflicts with gegl-devel
Reported by: | mf2k (Frank Schima) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | coreutils gegl-devel |
Description
---> Activating gegl-devel @0.3.23-20171114_0+x11 Error: port activate failed: Image error: /opt/local/bin/gcut is being used by the active coreutils port. Please deactivate this port first, or use 'port -f activate gegl-devel' to force the activation.
I would like to install both at the same time so I can install gimp. Can one of the ports rename or move the file?
Change History (7)
comment:1 Changed 7 years ago by Liontooth (David Liontooth)
comment:2 Changed 7 years ago by mf2k (Frank Schima)
How about simply renaming all of them?
Change:
configure.args --disable-silent-rules \ --program-prefix=g
To:
configure.args --disable-silent-rules \ --program-prefix=gnu
comment:3 Changed 7 years ago by mf2k (Frank Schima)
OK, so switching the prefix for all of the utils to gnu is not a good idea. For example, the port xmlto points to programs installed by coreutils by name.
comment:4 Changed 7 years ago by mf2k (Frank Schima)
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:5 Changed 6 years ago by DanHam (Dan)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Unfortunately the fix implemented above had a small bug in it. Instead of just renaming the binary, the symlink under /opt/local/libexec/gnubin
was renamed to gnucut
as well.
This means that users with /opt/local/libexec/gnubin
at the head of their path are actually running the BSD version when they execute cut
(/usr/bin/cut
) rather than the GNU version as intended.
The fix is to change the name of the symlink back to cut
. I've submitted a PR to make the proposed change. To summarise the fix means we will have the binary installed at /opt/local/bin/gnucut
and a symlink pointing to the binary at /opt/local/libexec/gnubin/cut
.
comment:6 Changed 6 years ago by mf2k (Frank Schima)
comment:7 Changed 6 years ago by DanHam <DanHam@…>
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Since /opt/local/bin/gcut is a placeholder name remapped to /opt/local/libexec/gnubin/cut, how about renaming /opt/local/bin/gcut /opt/local/bin/gnucut?
It messes up the simple renaming rule for coreutils in macports, but for users who include /opt/local/libexec/gnubin/ in their $PATH, this change would be invisible.
If we wanted to maintain a simple renaming rule, we could add the prefix gnu to all coreutils, instead of the current g. This will be less likely to conflict with future packages.
Renaming gegl's gcut is more problematic, since this is a standard name.