Supongamos que tengo los puertos A, B, C, D, E, F y G desactualizados.
- 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 clasificado por orden alfabético. Así, instalaría los puertos en este orden A, D, E, F, C, B.
Supongamos que el puerto A está roto. MacPorts deja de instalarse.
Lo veo como un inconveniente, porque los otros puertos obsoletos podrían perfectamente funcionar bien. El hecho de que A no se instale no afecta a ninguno de los otros puertos. Ahora, debido a que un solo puerto no se instala, todo el resto de mis puertos están desactualizados hasta que este puerto se arregle.
Mi pregunta:
¿Cómo puedo decirle a MacPorts que continúe instalando todos los puertos instalables que pueda instalar sin error?
Probablemente sea el mismo que este en espíritu : MacPorts: Continuar instalando otras actualizaciones después del error . Sin embargo, no me creo las respuestas de esa página:
- El dev de MacPorts (@ClemensLang) dice que hay una razón para que MacPorts no continúe. (Los enlaces que incluye apoyan esto, pero se vuelve demasiado técnico para mí. Lo siento). En mi caso anterior, instalar el puerto G después de que el puerto A falle no parece ser problemático. (...o lo es?) ¿Hay alguna manera de hacerlo con seguridad?
- El
-p
es evidentemente problemática. Habría pensado que esa sería la respuesta a esta solución, pero varios devs advierten a los usuarios que no la usen a menos que realmente entiendan lo que hace. Prefiero ir a lo seguro. - I podría intente
sudo port upgrade outdated and not A
. Esto funciona si sólo falla un puerto independiente, pero ¿qué pasa si tengo dos o tres puertos (entre 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 se pueden excluir individualmente. Supongamos también que hay demasiados puertos para actualizarlos individualmente.