Як я можу змусити MacPorts оновити всі оновлені порти, які він може?


0

Припустимо, у мене застарілі порти A, B, C, D, E, F і G. Припустимо для простоти, що всі вони "запитуються".

  • А не має залежностей.
  • B безпосередньо залежить від C і D і E.
  • C безпосередньо залежить від E і F.
  • D не має залежностей.
  • Е не має залежностей.
  • F не має залежностей.
  • G не має залежностей.

Наскільки я розумію, коли MacPorts запускає ( sudo port upgrade outdated), він встановлює порти у дереві залежностей, відсортованому за алфавітом. Отже, він би встановив порти в такому порядку: A, D, E, F, C, B.

Припустимо, порт А зламаний. MacPorts припиняє установку.

Я вважаю це незручністю, тому що інші застарілі порти цілком можуть працювати нормально. Те, що A не встановить, не впливає на жоден з інших портів. Тепер, оскільки один порт не буде встановлений, усі інші мої порти застаріли, поки цей порт не буде виправлено.

Моє запитання:

Як я можу сказати MacPorts продовжувати встановлювати всі встановлені порти, які він може встановлювати без помилок?

Це, мабуть, те саме, що це по духу : MacPorts: Продовжуйте встановлювати інші оновлення після помилки . Однак відповіді на цій сторінці я не купую:

  • MacPorts dev (@ClemensLang) говорить, що є причина, по якій MacPorts не продовжується. (Посилання, які він включає, підтримують це, але для мене це стає занадто технічним. Вибачте!) У моєму випадку вище, встановлення Port G після відмови Port A не здасться проблематичним. (... чи це?) Чи є спосіб зробити це безпечно?
  • -pПрапор, очевидно , проблематичний. Я б подумав, що це буде відповіддю на це рішення, але кілька розробників застерігають користувачів не використовувати його, якщо вони дійсно не розуміють, що це робить. Я вважаю за краще пограти в безпеку.
  • Я міг би спробувати sudo port upgrade outdated and not A. Це працює, якщо лише один незалежний порт виходить з ладу, але що робити, якщо у мене є два-три порти (з десятків), які не вдається? Чи можу я зробити щось на кшталт sudo port upgrade outdated and not A and not C and not E(тощо)?

Припустимо, існує занадто багато портів, які не можуть їх виключити окремо. Припустимо також, що є занадто багато портів, щоб оновити їх окремо.


Існує спосіб, але ніхто не зробив роботу, щоб зробити це. Макпортс хотів би мати виправлення, як це зробити. Як сказав Клеменс, це можна зробити вручну, ви просто повинні це автоматизувати - але ніхто, хто знає подробиці Macports, не вважає, що це варто витрачаючи час на це, оскільки у них є інші справи,
Марк

Спосіб встановлення порту G - це встановлення портів G або оновлення порту G
Марк

@ Марк: Дякую Однак дивіться останні два рядки: "Припустимо, що занадто багато портів, які не можуть їх виключити окремо. Припустимо також, що є занадто багато портів для їх оновлення окремо."
jvriesem

Добре, що це - p повинно робити - але це може не спрацювати - якщо ви зможете налагодити Macports, ви побачите, чи добре він працював - ніхто в розробці Macports не зробив достатньо тестування, щоб сказати, що він буде працювати, він може чи не може
Марк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.