Mc: Conflict with Midnight Commander

Created on 9 Sep 2016  ·  7Comments  ·  Source: minio/mc

Binary name conflicts with Midnight Commander.

I've read the previous tickets regarding this issue and evaluated your opinion. Still, I believe that you _should_ avoid using the same name as mc. It's nice that you looked for shorter name here, but clashing with other names is unacceptable. If the _user_ wants a shorter name, he is free to set up an alias in shell. There are thousands (https://qa.debian.org/popcon.php?package=mc) of users who already use Midnight Commander.

Actually this case leads to situation where it isn't possible to co-install minio-mc and midnight commander via homebrew. See https://github.com/Homebrew/homebrew-core/commit/badeeeb5aced1cf9ef0cc9332453ac56a0db9df8#diff-c021a0c2c90326616e8d0c422a20d4fdR11

I urge you to reconsider the name of this project.

wontfix

Most helpful comment

POSIX is irrelevant for today's needs.

You and I and everyone else use it every day. How's that irrelevant?

Modern operating systems should support user-installed binaries with in their own namespace

They are already, but this doesn't solve the case when there are two binaries in $PATH using the same name. Unfortunately your wishful thinking isn't going to resolve this now or in future.

This is the reason why nodejs, Go, Python have moved away from distribution supplied package modules.

You are mixing things up. Programming languages never used distro-specific packages in the first place. Downstream repackages them so they comply with existing policies. This allows end user to easily install any package without bothering setting up development environment and building everything from scratch.

It is also unlikely that midnight commander users will also use mc.

What? I'm an active mc user for 12 years. Every single instance of Mindnight Commander out there uses mc for binary name. Your statement doesn't make any sense.

It is okay for binary packages to conflict at the time of installation.

You missed the whole point. It is not okay to have two different binaries with the same name under $PATH. This is already causing conflicts, see homebrew link.

I really wish there is an easy solution here.

There is. Change the name of this binary. Don't encourage everyone else to do this for you. Your passive aggressive behavior isn't the way to solve this issue. It isn't the last time you will be asked this dare question.

All 7 comments

Also there is a good read about similar case of name clashing between node.js and node (Amateur Packet Radio Node Program), see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614907#108.

Your ignorance about this name collision will cause a lot of headache for downstream maintainers.

Packagers are free to choose a different name if they like. Unix like operating systems has to grow up. I don't understand why users have to be root to install a package within his/her own name space.

We simply 'go get' or copy the mc binary to ~/bin and execute. We dont really depend on rpm or dpkg to install Go packages.

If you encourage downstream maintainers to rename your binary and keep the mc name in documentation, then you have to be prepared to face the storm of questions like:
https://askubuntu.com/questions/235655/node-js-conflicts-sbin-node-vs-usr-bin-node
https://stackoverflow.com/questions/21168141/cannot-install-packages-using-node-package-manager-in-ubuntu

My question isn't about rpm, deb, go get. Users prefer to install repository provided package over building binary themselves. The question is about having two binaries with mc name under $PATH.

Here is small snippet from linked Debian bug that is highly relevant here:

  The Technical Committee notes that the namespace of executable
  commands on $PATH is a resource shared among everyone writing software
  for POSIX-compatible systems, and that the combinations of packages
  that users may choose to install on a given system can easily surprise
  the authors of those packages.

  The Committee advises anyone writing widely-deployed software to
  consider its command name carefully at an early stage.  It is a good
  idea to search the web for your proposed name and try to ensure that
  it is unique.  It is likely to be a bad idea to use excessively short
  names or common words.  The conflict between LinuxNode and Node.js
  demonstrates that taking a little time early on can avoid a great deal
  of tedium later.

POSIX is irrelevant for today's needs. Modern operating systems should support user-installed binaries with in their own namespace. This is the reason why nodejs, Go, Python have moved away from distribution supplied package modules.

It is also unlikely that midnight commander users will also use mc. It is okay for binary packages to conflict at the time of installation.

I really wish there is an easy solution here.

POSIX is irrelevant for today's needs.

You and I and everyone else use it every day. How's that irrelevant?

Modern operating systems should support user-installed binaries with in their own namespace

They are already, but this doesn't solve the case when there are two binaries in $PATH using the same name. Unfortunately your wishful thinking isn't going to resolve this now or in future.

This is the reason why nodejs, Go, Python have moved away from distribution supplied package modules.

You are mixing things up. Programming languages never used distro-specific packages in the first place. Downstream repackages them so they comply with existing policies. This allows end user to easily install any package without bothering setting up development environment and building everything from scratch.

It is also unlikely that midnight commander users will also use mc.

What? I'm an active mc user for 12 years. Every single instance of Mindnight Commander out there uses mc for binary name. Your statement doesn't make any sense.

It is okay for binary packages to conflict at the time of installation.

You missed the whole point. It is not okay to have two different binaries with the same name under $PATH. This is already causing conflicts, see homebrew link.

I really wish there is an easy solution here.

There is. Change the name of this binary. Don't encourage everyone else to do this for you. Your passive aggressive behavior isn't the way to solve this issue. It isn't the last time you will be asked this dare question.

It is also unlikely that midnight commander users will also use mc.

Please read this again.

the combinations of packages that users may choose to install
on a given system can easily surprise the authors of those packages
Was this page helpful?
0 / 5 - 0 ratings

Related issues

d5ve picture d5ve  ·  6Comments

deekoder picture deekoder  ·  13Comments

rafaelsierra picture rafaelsierra  ·  9Comments

sebschlue picture sebschlue  ·  12Comments

donatello picture donatello  ·  5Comments