MacPorts: continúe instalando otras actualizaciones después del error

12

Digamos que tengo los siguientes paquetes obsoletos:

  • foo
  • bar
  • baz

Quiero actualizar tantos como sea posible, así que trato de ejecutar:

sudo port -n -f upgrade outdated

Sin embargo, esto falla con:

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

¿Cómo puedo hacer que Macports intente actualizar bar and baz, si foo falla?

En general, me gustaría hacer que los macports intenten instalar / actualizar otros puertos si falla la instalación / actualización de algunos de ellos y simplemente continúo.


Desde la página del manual:

 -f       force mode (ignore state file)

 

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

Editar: foo, bar & baz, son 3 puertos totales no relacionados, que no dependen el uno del otro de ninguna manera.


Edición 2: la próxima vez que ejecute esto, los puertos obsoletos pueden ser a, b & c, en lugar de foo, bar & baz, por lo que no puedo codificar los que fallan y no puedo simplemente hacer:

sudo port update foo
sudo port update bar
sudo port update baz
Tyilo
fuente

Respuestas:

8

El -pparece funcionar para mí.

Desde la página del manual:

-p A pesar de los errores encontrados, proceda a procesar múltiples
         puertos y comandos.
Tyilo
fuente
Pero vea la advertencia de un desarrollador de MacPorts a continuación ... ¡No se recomienda usar este indicador!
jvriesem
5

MacPorts dev aquí; La respuesta correcta a su pregunta es: no.

Hay una razón por la cual MacPorts no intenta instalar un paquete cuando una dependencia no se construye.

Esta pregunta exacta se ha discutido en la lista de correo macports-users no hace mucho:

Clemens Lang
fuente
1
foo, bar & baz, son 3 puertos totales no relacionados, que no dependen el uno del otro de ninguna manera.
Tyilo
1
En ese caso, siempre puede actualizarlos manualmente, es decir, sudo port upgrade baz, sudo port upgrade bar, sudo port upgrade foo.
Clemens Lang
ver "editar 2" en cuestión.
Tyilo
Esta debería ser la respuesta correcta, si un desarrollador de MacPorts habla con él.
jvriesem
Esta podría ser una respuesta aceptable si MacPorts no fuera otra cosa que estable. Desafortunadamente, muchos paquetes dependen de muchas cosas opcionales que realmente no se necesitan en la mayoría de los casos y cada segunda actualización de puertos falla porque macports es un montón de basura inestable.
Bachsau
5

También puede especificar "desactualizado y no falso" en el comando de actualización, en lugar de simplemente "desactualizado".

Joshua Root
fuente
ver "editar 2" en cuestión.
Tyilo
1

Considerando un boleto cerrado viejo, un defecto que se solucionó:

333 (se ignora la falla de dependencia y el puerto continúa intentando instalar) - MacPorts

Si entiendo correctamente: continuar después de una falla puede, en algunos casos, ser defectuoso.

En otras palabras:

  • Es apropiado (menos arriesgado) no continuar.

Postdata: era demasiado vago para leer la página de manual en su totalidad (no se encuentra en el menú Ayuda de Terminal, pero eso no es excusa). Siguiendo el consejo de alguien en irc://irc.freenode.net/#macportsdecidí dejar esta respuesta.

ingrese la descripción de la imagen aquí

Nunca me di cuenta de la -popción. Gracias a Tyilo.

Graham Perrin
fuente