Opened 6 years ago

Closed 5 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 6 years ago by Liontooth (David Liontooth)

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.

Last edited 6 years ago by Liontooth (David Liontooth) (previous) (diff)

comment:2 Changed 6 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
Last edited 6 years ago by mf2k (Frank Schima) (previous) (diff)

comment:3 Changed 6 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 6 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: newclosed

In 7ec5110be2cd0c5f659c36d7721243558458b1e4/macports-ports:

coreutils: Prevent conflict with gegl

  • Rename gcut to gnucut

Fixes: #55327

comment:5 Changed 5 years ago by DanHam (Dan)

Resolution: fixed
Status: closedreopened

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 5 years ago by mf2k (Frank Schima)

Last edited 5 years ago by mf2k (Frank Schima) (previous) (diff)

comment:7 Changed 5 years ago by DanHam <DanHam@…>

Resolution: fixed
Status: reopenedclosed

In c46c128898cb9b4c800c9c653ac4f88d3adcbb3a/macports-ports (master):

coreutils: Fix symlink to gnu cut

Fixes: #55327

Note: See TracTickets for help on using tickets.