MacPorts: Continue instalando outras atualizações após erro

12

Digamos que tenho os seguintes pacotes desatualizados:

  • foo
  • Barra
  • baz

Quero atualizar o maior número possível deles, então tento executar:

sudo port -n -f upgrade outdated

No entanto, isso falha com:

Error: org.macports.build for port foo returned: command execution failed
Please see the log file for port foo for details: ...

Como posso fazer o macports tentar atualizar bar e baz, se o foo falhar?

Eu geralmente gostaria que os macports tentassem instalar / atualizar outras portas se a instalação / atualização de algumas delas falhar e continuar.


Na página do manual:

 -f       force mode (ignore state file)

 

 -n       don't upgrade dependencies (affects upgrade and install)

Edit: foo, bar & baz, são 3 portas independentes total, que não dependem uma da outra de forma alguma.


Edit 2: Da próxima vez que eu executar isso, as portas desatualizadas podem ser a, b & c, em vez de foo, bar & baz, por isso não posso codificar as que estão com falha e não posso:

sudo port update foo
sudo port update bar
sudo port update baz
Tyilo
fonte

Respostas:

8

O -pparece funcionar para mim.

Na página de manual:

-p Apesar dos erros encontrados, continue processando vários
         portas e comandos.
Tyilo
fonte
Mas veja os cuidados de um desenvolvedor MacPorts abaixo .... Usar este sinalizador não é recomendado!
Jvriesem
5

MacPorts dev aqui; a resposta correta para sua pergunta é: você não.

Há uma razão pela qual o MacPorts não tenta instalar um pacote quando uma dependência falha na criação.

Esta pergunta exata foi discutida na lista de discussão macports-users não faz muito tempo:

Clemens Lang
fonte
1
foo, bar & baz, são três portas independentes, que não dependem uma da outra.
Tyilo
1
Nesse caso, você sempre pode atualizá-los manualmente, por exemplo, sudo port upgrade baz, sudo port upgrade bar, sudo port upgrade foo.
Clemens Lang
veja "editar 2" em questão.
Tyilo
Essa deve ser a resposta correta, se um desenvolvedor do MacPorts falar com ele.
Jvriesem
Essa poderia ser uma resposta aceitável se o MacPorts não fosse nada além de estável. Infelizmente, muitos pacotes dependem de muitas opções opcionais que não são realmente necessárias na maioria dos casos, e cada segundo upgrade de portas falha porque os macports são um monte de porcaria instável.
Bachsau
5

Você também pode especificar "desatualizado e não falsificado" no comando de atualização, em vez de apenas "desatualizado".

Joshua Root
fonte
veja "editar 2" em questão.
Tyilo
1

Considerando um antigo ticket fechado, um defeito foi corrigido:

333 (falha de dependência é ignorada e a porta continua tentando e instala) - MacPorts

Se bem entendi: continuar seguindo uma falha pode, em alguns casos, estar com defeito.

Em outras palavras:

  • é apropriado (menos arriscado) não continuar.

Postscript: Eu estava com preguiça de ler a página de manual por completo (não encontrada no menu Ajuda do Terminal, mas isso não é desculpa). Seguindo o conselho de alguém irc://irc.freenode.net/#macports, decidi deixar essa resposta.

insira a descrição da imagem aqui

Eu nunca percebi a -popção. Graças ao Tyilo.

Graham Perrin
fonte