Supponiamo che abbia superato le porte A, B, C, D, E, F e G. Supponiamo per semplicità che tutte siano "richieste".
- A non ha dipendenze.
- B dipende direttamente da C e D ed E.
- C dipende direttamente da E e F.
- D non ha dipendenze.
- E non ha dipendenze.
- F non ha dipendenze.
- G non ha dipendenze.
In base alle mie conoscenze, quando MacPorts viene eseguito ( sudo port upgrade outdated
), installa le porte in un albero delle dipendenze ordinato in ordine alfabetico. Quindi installerebbe le porte in questo ordine: A, D, E, F, C, B.
Supponiamo che la porta A sia rotta. MacPorts chiude l'installazione.
Lo vedo come un inconveniente, perché le altre porte obsolete potrebbero funzionare bene. Il fatto che A non venga installato non ha alcun effetto su nessuna delle altre porte. Ora, poiché una singola porta non verrà installata, tutte le altre porte non saranno aggiornate fino a quando questa porta non verrà riparata.
La mia domanda:
Come posso dire a MacPorts di continuare a installare tutte le porte installabili che può installare senza errori?
Questo è probabilmente lo stesso di questo nello spirito : MacPorts: continua a installare altri aggiornamenti dopo l'errore . Tuttavia, non compro le risposte su quella pagina:
- Il MacPorts dev (@ClemensLang) dice che c'è un motivo per cui MacPorts non continua. (I link che include supportano questo, ma diventa troppo tecnico per me. Scusa!) Nel mio caso precedente, l'installazione di Port G dopo il fallimento di Porta A non sembra essere problematica. (... o è?) C'è un modo per farlo in sicurezza?
- Il flag
-p
è evidentemente problematico. Avrei pensato che sarebbe stata la risposta a questa soluzione, ma gli sviluppatori multipli avvertono gli utenti di non usarlo a meno che non capiscano veramente cosa fa. Preferirei giocare sul sicuro. - I potrebbe provare
sudo port upgrade outdated and not A
. Funziona se fallisce una sola porta indipendente, ma cosa succede se ho due o tre porte (fuori dozzine) che falliscono? Potrei fare qualcosa di simile,sudo port upgrade outdated and not A and not C and not E
(ecc.)?
Supponiamo che ci siano troppe porte che non riescono a escluderle singolarmente. Supponiamo anche che ci siano troppe porte per aggiornarle singolarmente.