Macports: ¿Cómo puedo instalar puertos usando solo versiones de una fecha en el pasado?

Aug 20 2020

Hace dos años, usé Macports para instalar una copia de Docker Machine en una computadora con OS X 10.9 "Mavericks". Todo lo que tenía que hacer era escribir sudo port install Docker-machine, y Macports automáticamente sacó y compiló todo lo que necesitaba.

A partir de agosto de 2020, esto no funciona en Mavericks debido a un error en las últimas versiones de Go y / o el marco de soporte heredado de Macports . Dado que Mavericks es muy antiguo, esta rotura es comprensible . Sin embargo, acoplable Máquina hizo trabajo como de hace dos años, y no me importa usar una versión anterior.

Usando un prefijo Macports limpio , ¿cómo puedo instalar puertos usando solo software que existía en una fecha determinada en el pasado? Yo no quiero instalar simplemente una versión más antigua de la máquina acoplable ; Quiero instalar una versión anterior de Docker Machine y todos los puertos de los que depende Docker Machine, como Goy Legacy Support.

En Debian, esto sería muy fácil; Solo editaría sources.list para apuntar a una instantánea . ¿Cómo puedo hacer algo similar en Macports? El historial completo del proyecto Macports se rastrea en Git , así que estoy bastante seguro de que es posible.


† Estoy encantado de que Macports sea compatible con Mavericks. Con Homebrew sería completamente SOL.

‡ Porque lo intenté y no funciona. Lo cual no es particularmente sorprendente dada la forma en que los puertos y sus dependencias están interconectados. Como referencia, el procedimiento para instalar una versión anterior de un solo paquete se documenta aquí .

Respuestas

4 Wowfunhappy Aug 21 2020 at 01:06

Gracias a Lothar Haeger de la lista de correo de Macports por darme la pista clave que necesitaba. Lo que tenía que hacer era:

  1. Consulte una copia local del árbol de puertos de Macports de Github .cd ~; git clone https://github.com/macports/macports-ports

  2. Restablecer mi árbol de puertos local a un punto anterior en el tiempo . cd macports-ports; git reset --hard commit-hash-de-2018

  3. Genere un índice de puertos para mi árbol de puertos local :portindex

  4. Dile a Macports que use mi árbol de puertos local en lugar del oficial en línea. Para hacer esto, abrí sources.conf de macports (generalmente en /opt/local/etc/macports/) en un editor de texto, comenté la URL predeterminada en la parte inferior del archivo y agregué después: file:///Users/my-user-name/macports-ports [default]