Mc: Conflito com o Comandante da Meia-Noite

Criado em 9 set. 2016  ·  7Comentários  ·  Fonte: minio/mc

O nome binário está em conflito com o Midnight Commander.

Eu li os tickets anteriores sobre esse assunto e avaliei sua opinião. Ainda assim, acredito que você _deve_ evitar usar o mesmo nome de mc . É bom que você tenha procurado um nome mais curto aqui, mas entrar em conflito com outros nomes é inaceitável. Se o _usuário_ deseja um nome mais curto, ele está livre para configurar um apelido no shell. Existem milhares (https://qa.debian.org/popcon.php?package=mc) de usuários que já usam o Midnight Commander.

Na verdade, este caso leva a uma situação em que não é possível co-instalar o minio-mc e o midnight commander via homebrew. Consulte https://github.com/Homebrew/homebrew-core/commit/badeeeb5aced1cf9ef0cc9332453ac56a0db9df8#diff -c021a0c2c90326616e8d0c422a20d4fdR11

Exorto você a reconsiderar o nome deste projeto.

wontfix

Comentários muito úteis

POSIX é irrelevante para as necessidades de hoje.

Você e eu e todos os outros o usamos todos os dias. Como isso é irrelevante?

Os sistemas operacionais modernos devem oferecer suporte a binários instalados pelo usuário em seu próprio namespace

Eles já são, mas isso não resolve o caso quando há dois binários em $ PATH usando o mesmo nome. Infelizmente, seu pensamento positivo não vai resolver isso agora ou no futuro.

Esta é a razão pela qual nodejs, Go, Python se afastaram dos módulos de pacote fornecidos pela distribuição.

Você está misturando as coisas. Em primeiro lugar, as linguagens de programação nunca usaram pacotes específicos da distro. Downstream reembala-os para que cumpram as políticas existentes. Isso permite que o usuário final instale facilmente qualquer pacote sem se preocupar em configurar o ambiente de desenvolvimento e construir tudo do zero.

Também é improvável que os usuários do Midnight Commander também usem o mc.

O que? Sou um usuário ativo do MC há 12 anos. Cada instância do Mindnight Commander lá fora usa mc para o nome binário. Sua declaração não faz sentido.

É normal que os pacotes binários entrem em conflito no momento da instalação.

Você perdeu todo o ponto. Não é normal ter dois binários diferentes com o mesmo nome em $ PATH. Isso já está causando conflitos, consulte o link do homebrew.

Eu realmente gostaria que houvesse uma solução fácil aqui.

Há. Mude o nome deste binário. Não incentive ninguém a fazer isso por você. Seu comportamento passivo-agressivo não é a maneira de resolver esse problema. Não é a última vez que essa pergunta ousada lhe será feita.

Todos 7 comentários

Também há uma boa leitura sobre caso semelhante de conflito de nomes entre node.js e node (Programa de Nó de Rádio Amador), consulte https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614907#108 .

Sua ignorância sobre essa colisão de nomes causará muita dor de cabeça para os mantenedores posteriores.

Os empacotadores são livres para escolher um nome diferente, se quiserem. Os sistemas operacionais como o Unix precisam crescer. Não entendo por que os usuários precisam ser root para instalar um pacote em seu próprio namespace.

Simplesmente 'pegamos' ou copiamos o binário mc para ~ / bin e executamos. Nós realmente não dependemos de rpm ou dpkg para instalar pacotes Go.

Se você encorajar os mantenedores downstream a renomear seu binário e manter o nome mc na documentação, então você deve estar preparado para enfrentar a tempestade de perguntas como:
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

Minha pergunta não é sobre rpm, deb, go get . Os usuários preferem instalar o pacote fornecido pelo repositório em vez de construir o binário por conta própria. A questão é sobre ter dois binários com mc name em $ PATH.

Aqui está um pequeno trecho do bug Debian vinculado que é altamente relevante aqui:

  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 é irrelevante para as necessidades de hoje. Os sistemas operacionais modernos devem oferecer suporte a binários instalados pelo usuário em seu próprio namespace. Esta é a razão pela qual nodejs, Go, Python se afastaram dos módulos de pacote fornecidos pela distribuição.

Também é improvável que os usuários do Midnight Commander também usem mc . É normal que os pacotes binários entrem em conflito no momento da instalação.

Eu realmente gostaria que houvesse uma solução fácil aqui.

POSIX é irrelevante para as necessidades de hoje.

Você e eu e todos os outros o usamos todos os dias. Como isso é irrelevante?

Os sistemas operacionais modernos devem oferecer suporte a binários instalados pelo usuário em seu próprio namespace

Eles já são, mas isso não resolve o caso quando há dois binários em $ PATH usando o mesmo nome. Infelizmente, seu pensamento positivo não vai resolver isso agora ou no futuro.

Esta é a razão pela qual nodejs, Go, Python se afastaram dos módulos de pacote fornecidos pela distribuição.

Você está misturando as coisas. Em primeiro lugar, as linguagens de programação nunca usaram pacotes específicos da distro. Downstream reembala-os para que cumpram as políticas existentes. Isso permite que o usuário final instale facilmente qualquer pacote sem se preocupar em configurar o ambiente de desenvolvimento e construir tudo do zero.

Também é improvável que os usuários do Midnight Commander também usem o mc.

O que? Sou um usuário ativo do MC há 12 anos. Cada instância do Mindnight Commander lá fora usa mc para o nome binário. Sua declaração não faz sentido.

É normal que os pacotes binários entrem em conflito no momento da instalação.

Você perdeu todo o ponto. Não é normal ter dois binários diferentes com o mesmo nome em $ PATH. Isso já está causando conflitos, consulte o link do homebrew.

Eu realmente gostaria que houvesse uma solução fácil aqui.

Há. Mude o nome deste binário. Não incentive ninguém a fazer isso por você. Seu comportamento passivo-agressivo não é a maneira de resolver esse problema. Não é a última vez que essa pergunta ousada lhe será feita.

Também é improvável que os usuários do Midnight Commander também usem o mc.

Por favor, leia isso novamente.

the combinations of packages that users may choose to install
on a given system can easily surprise the authors of those packages
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

ramosisw picture ramosisw  ·  4Comentários

mausch picture mausch  ·  8Comentários

sebschlue picture sebschlue  ·  12Comentários

TJC picture TJC  ·  10Comentários

richarson picture richarson  ·  5Comentários