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

11

Dígame que tengo los siguientes paquetes desactualizados:

  • foo
  • barra
  • baz

Quiero actualizar tantos como sea posible, por lo 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 y baz, si foo falla?

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

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 no relacionados en total, que no dependen entre sí de ninguna manera.

Edit 2: La próxima vez que ejecute esto, los puertos obsoletos pueden ser a, b & c, en lugar de foo, bar & baz, así que no puedo codificar a los que fallan y no puedo simplemente:

sudo port update foo
sudo port update bar
sudo port update baz
    
pregunta Tyilo 26.09.2012 - 07:45

4 respuestas

8

El -p parece funcionar para mí.

Desde la página del manual:

-p       Despite any errors encountered, proceed to process multiple
         ports and commands.
    
respondido por el Tyilo 27.09.2012 - 00:08
5

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

Hay una razón por la que MacPorts no intenta instalar un paquete cuando no se puede generar una dependencia.

Esta pregunta exacta ha sido discutida en la lista de correo de usuarios de macports no hace mucho tiempo:

  • "¿Cómo proceder con errores pasados?"

    enlace
  • y su hilo de seguimiento "-p se considera problemático"
    enlace
respondido por el Clemens Lang 06.10.2012 - 13:26
5

También puedes especificar "desactualizado y no foo" en el comando de actualización, en lugar de solo "desactualizado".

    
respondido por el Joshua Root 06.10.2012 - 20:06
1

Teniendo en cuenta un boleto cerrado antiguo, se corrigió un defecto:

333 (las fallas de la dependencia se ignoran y el puerto continúa intentando instalarse) - MacPorts

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

En otras palabras:

  • es correcto (menos riesgoso) que no continúe.

Postscript: era demasiado perezoso para leer la página de manual en su totalidad (no se encuentra en el menú Ayuda de Terminal, pero eso no es una excusa). Siguiendo los consejos de alguien en irc://irc.freenode.net/#macports , decidí dejar esta respuesta.

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

    
respondido por el Graham Perrin 26.09.2012 - 08:38

Lea otras preguntas en las etiquetas