2 votes

Macports : Comment puis-je installer des ports en utilisant seulement les versions d'une date dans le passé ?

Il y a deux ans, j'ai utilisé Macports pour installer une copie de Docker Machine sur un ordinateur fonctionnant sous OS X 10.9 "Mavericks". Tout ce que j'avais à faire était de taper sudo port install Docker-machine et Macports a automatiquement récupéré et compilé tout ce dont j'avais besoin.

A partir d'août 2020, cela ne fonctionne pas sur Mavericks en raison de un bogue dans les dernières versions de Go et/ou du cadre de support de l'héritage de Macports . Mavericks étant très ancien, cette rupture est compréhensible. † . Cependant, Docker Machine a fait fonctionne depuis deux ans, et ça ne me dérangerait pas d'utiliser une version plus ancienne.

Utilisation d'un Macports propre préfixe , comment puis-je installer des ports en utilisant uniquement des logiciels qui existaient à une certaine date dans le passé ? Je le fais. pas vous voulez simplement installer une ancienne version de Docker Machine ‡ ; je veux installer une ancienne version de Docker Machine et chaque port dont dépend Docker Machine, comme Go y Legacy Support .

Sous Debian, ce serait trÃ?s facile ; je devrais juste modifier sources.list pour pointer vers un snapshot . Comment puis-je faire quelque chose de similaire dans Macports ? L'historique complet du projet Macports est suivi dans Git donc je suis presque sûr que c'est possible.


† Je suis ravi que Macports prenne en charge Mavericks. Avec Homebrew, je serais complètement SOL.

‡ Parce que j'ai essayé ça, et ça ne marche pas. Ce qui n'est pas particulièrement surprenant étant donné la façon dont les ports et leurs dépendances sont interconnectés. Pour référence, la procédure d'installation d'une ancienne version d'un seul paquet est documentée. <a href="https://trac.macports.org/wiki/howto/InstallingOlderPort" rel="nofollow noreferrer">aquí </a>.

0 votes

"Avec Homebrew je serais complètement SOL" - C'est fastidieux à faire, mais vous pouvez utiliser une ancienne version de brew mais éditer manuellement les formules pour tirer les dernières versions des logiciels. Pour les formules populaires qui ne nécessitent pas de correctifs spécifiques à Mac, cela fonctionne généralement. Pour les choses moins populaires, vous pouvez regarder le fichier macports et voir quels correctifs sont nécessaires.

5voto

Wowfunhappy Points 6021

Merci à Lothar Haeger sur la liste de diffusion Macports pour m'avoir donné l'indication clé dont j'avais besoin. Ce que j'avais à faire était :

  1. Récupérer une copie locale de l'arbre des ports Macports depuis Github . cd ~; git clone https://github.com/macports/macports-ports

  2. Réinitialiser mon arbre de port local à un point antérieur dans le temps . cd macports-ports; git reset --hard commit-hash-from-2018

  3. Générer un index de port pour mon arbre de port local : portindex

  4. Dites à Macports d'utiliser mon arbre de port local à la place de l'officiel en ligne. Pour ce faire, j'ai ouvert le sources.conf de macports (généralement dans /opt/local/etc/macports/ ) dans un éditeur de texte, commenté l'URL par défaut en bas du fichier, et ajouté après : file:///Users/ mon nom d'utilisateur /macports-ports [default]

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X