Disons que j'ai les packages obsolètes suivants:
- foo
- bar
- baz
Je veux en mettre à jour autant que possible, donc j'essaye de lancer:
sudo port -n -f upgrade outdated
Cependant, cela échoue avec:
Error: org.macports.build for port foo returned: command execution failed
Please see the log file for port foo for details: ...
Comment puis-je faire en sorte que macports essaie de mettre à niveau bar et baz, si foo échoue?
J'aimerais généralement que macports essaie d'installer / mettre à niveau d'autres ports si l'installation / la mise à niveau de certains d'entre eux échoue et continue simplement.
Depuis la page de manuel:
-f force mode (ignore state file)
-n don't upgrade dependencies (affects upgrade and install)
Edit: foo, bar & baz, sont 3 ports sans rapport au total, qui ne dépendent en aucune façon les uns des autres.
Edit 2: La prochaine fois que je lance ceci, les ports obsolètes pourraient être a, b & c, au lieu de foo, bar & baz, donc je ne peux pas coder en dur ceux qui échouent et je ne peux pas simplement faire:
sudo port update foo
sudo port update bar
sudo port update baz
MacPorts dev ici; la bonne réponse à votre question est: vous ne le faites pas.
Il y a une raison pour laquelle MacPorts n'essaie pas d'installer un package lorsqu'une dépendance ne se construit pas.
Cette question exacte a été discutée sur la liste de diffusion des utilisateurs de macports il n'y a pas si longtemps:
http://lists.macosforge.org/pipermail/macports-users/2012-July/029904.html
http://lists.macosforge.org/pipermail/macports-users/2012-July/029984.html
la source
Vous pouvez également spécifier "obsolète et pas foo" dans la commande de mise à niveau, plutôt que simplement "obsolète".
la source
Considérant un ancien ticket fermé, un défaut qui a été corrigé:
333 (l'échec de la dépendance est ignoré et le port continue d'essayer de s'installer) - MacPorts
Si je comprends bien: continuer à suivre un échec peut, dans certains cas, être défectueux.
En d'autres termes:
Post-scriptum: j'étais trop paresseux pour lire la page de manuel dans son intégralité (introuvable dans le menu Aide de Terminal, mais ce n'est pas une excuse). Suite aux conseils de quelqu'un,
irc://irc.freenode.net/#macports
j'ai décidé de laisser cette réponse.Je n'ai jamais réalisé l'
-p
option. Merci à Tyilo.la source