Supongamos que he desactualizado los puertos A, B, C, D, E, F y G. Supongamos, por simplicidad, que todos ellos están "solicitados".
- A no tiene dependencias.
- B depende directamente de C y D y E.
- C depende directamente de E y F.
- D no tiene dependencias.
- E no tiene dependencias.
- F no tiene dependencias.
- G no tiene dependencias.
A mi entender, cuando MacPorts se ejecuta ( sudo port upgrade outdated
), instala los puertos en un árbol de dependencias ordenado por orden alfabético. Por lo tanto, instalaría los puertos en este orden: A, D, E, F, C, B.
Supongamos que el puerto A está roto. MacPorts deja de instalar.
Veo esto como un inconveniente, porque los otros puertos desactualizados podrían estar funcionando bien. El hecho de que A no se instale no tiene efecto en ninguno de los otros puertos. Ahora, debido a que no se instalará un solo puerto, el resto de mis puertos estarán desactualizados hasta que se arregle este puerto.
Mi pregunta:
¿Cómo puedo decirle a MacPorts que continúe instalando todos los puertos instalables que puede instalar sin error?
Este es probablemente el mismo que en espíritu : MacPorts: continúe instalando otras actualizaciones después del error . Sin embargo, no compro las respuestas en esa página:
- El desarrollador de MacPorts (@ClemensLang) dice que hay una razón por la cual MacPorts no continúa. (Los enlaces que incluye incluyen esto, pero se vuelven demasiado técnicos para mí. ¡Lo siento!) En mi caso anterior, la instalación del Puerto G después de que el Puerto A falla no parece ser problemática. (... ¿o es así?) ¿Hay una manera de hacerlo de manera segura?
- El indicador
-p
es evidentemente problemático. Pensé que esa sería la respuesta a esta solución, pero varios desarrolladores advierten a los usuarios que no la usen a menos que realmente entiendan lo que hace. Prefiero jugar a lo seguro. - Yo podría probar
sudo port upgrade outdated and not A
. Esto funciona si solo falla un puerto independiente, pero ¿qué sucede si tengo dos o tres puertos (de docenas) que fallan? ¿Podría hacer algo como,sudo port upgrade outdated and not A and not C and not E
(etc.)?
Supongamos que hay demasiados puertos que no pueden excluirlos individualmente. Supongamos también que hay demasiados puertos para actualizarlos individualmente.