Macports: Как я могу установить порты, используя только версии с датой в прошлом?

Aug 20 2020

Два года назад я использовал Macports для установки копии Docker Machine на компьютер под управлением OS X 10.9 «Mavericks». Все, что мне нужно было сделать, это набрать sudo port install Docker-machineтекст, и Macports автоматически вытащили и скомпилировали все, что мне было нужно.

По состоянию на август 2020 года это не работает на Mavericks из- за ошибки в последних версиях Go и / или инфраструктуры поддержки Macports Legacy . Так как Mavericks очень старый, эта поломка понятна . Однако два года назад Docker Machine действительно работала, и я не возражал бы использовать старую версию.

Как я могу установить порты с помощью чистого префикса Macports , используя только программное обеспечение, существовавшее на определенную дату в прошлом? Я не хочу просто устанавливать старую версию Docker Machine ; Я хочу установить старую версию Docker Machine и каждый порт, от которого зависит Docker Machine, например Goи Legacy Support.

В Debian это было бы очень просто; Я бы просто отредактировал sources.list, чтобы указать на снимок . Как я могу сделать что-то подобное в Macports? Полная история проекта Macports отслеживается в Git , поэтому я уверен, что это возможно.


† Я рад, что Macports вообще поддерживает Mavericks. С Homebrew я был бы полностью СОЛОМ.

‡ Потому что я пробовал это, но это не сработало. Что неудивительно, учитывая, как порты и их зависимости взаимосвязаны. Для справки, процедура установки старой версии одного пакета документирована здесь .

Ответы

4 Wowfunhappy Aug 21 2020 at 01:06

Спасибо Лотару Хэгеру из списка рассылки Macports за ключевую подсказку, в которой я нуждался. Что мне нужно было сделать:

  1. Получите локальную копию дерева портов Macports с Github .cd ~; git clone https://github.com/macports/macports-ports

  2. Сбросить мое локальное дерево портов на более ранний момент времени . cd macports-ports; git reset --hard коммит-хэш-от-2018

  3. Создайте индекс порта для моего локального дерева портов :portindex

  4. Скажите Macports использовать мое локальное дерево портов вместо официального онлайн. Для этого я открыл Macports sources.conf (обычно в /opt/local/etc/macports/) в текстовом редакторе, закомментировал URL-адрес по умолчанию в нижней части файла и добавил после него: file:///Users/my-user-name/macports-ports [default]