Gérer les mises à jours des applications Homebrew sur 10.14 et inférieur.
Homebrew suit Apple pour la prise en charge des systèmes acceptés. Apple ne fournissant plus aucune mise à jour pour 10.14, les mises à jour des applications disponibles via Homebrew ne sont plus garanties pour fonctionner sur ces systèmes.
Au niveau de Homebrew, cela peut avoir un impact sur deux niveaux.
D'une part, les applications ne sont plus forcément, compatible avec notre version de macOS. Dans les faits, malgré l'obsolescence, il est toujours possible d'installer et de mettre à jour un grand nombre de paquets. Seuls quelques uns deviennent incompatibles, même si le nombre augmente à chaque version de macOS que l'on a en retard. Attention, cela concerne aussi les dépendances, il suffit qu'une dépendance ne soit plus disponible, pour que l'on ne puisse plus mettre à jour les applications parentes.
D'autres part, lorsqu'il s'agit d'une application compilée, il est parfois nécessaire de faire la compilation sur son Mac. Compiler les programmes n'est pas un problème en soit, Homebrew s'occupe tout seul de faire le nécessaire. Le soucis, c'est que la compilation d'un programme peut prendre du temps et surtout beaucoup de ressources sur votre Mac. Il peut ainsi se mettre à ventiler rapidement, car la compilation d'un programme est en général capable d'utiliser tous les coeurs, et à vitesse maximal, de votre processeur.
Le vrai soucis vient lorsque justement, une mise à jour est disponible pour l'une de nos applications, que Homebrew tente de la compiler, mais qu'il s'en suit un échec à cause de la compatibilité.
La précédente version est toujours disponible, et vous pouvez toujours l'utiliser. De ce côté là, tout va bien. Cependant, à chaque fois que vous allez faire un upgrade de vos paquets, la compilation va recommencer, et certainement de nouveau échouer. Cela va donc vous prendre de temps inutilement, mais aussi consommer de l'électricité pour rien.
Lorsqu'une compilation échoue, la solution est alors de mettre pin l'application pour qu'Homebrew n'essaie plus de la mettre à jour.
Par exemple, pour bloquer l'upgrade de ppsspp
brew pin ppsspp
Pour retrouver les applications qui ont été pin, il suffit de demander à Homebrew les paquets obsolètes
brew outdated
Voici ce que j'obtiens sur mon Mac, toujours en 10.14
ffmpeg (5.0) < 5.0.1
fontconfig (2.13.1) < 2.14.0 [pinned at 2.13.1]
gd (2.3.3_1) < 2.3.3_2
handbrake (1.4.2_1) < 1.5.1 [pinned at 1.4.2_1]
ncdu (1.16) < 2.1.1 [pinned at 1.16]
ppsspp (1.11.3) < 1.11.3_1 [pinned at 1.11.3]
qt (6.2.0) < 6.2.3_1 [pinned at 6.2.0]
qt@5 (5.15.2_1) < 5.15.3 [pinned at 5.15.2_1]
Comme vous pouvez le voir, je commence à avoir une petite liste d'application pin. Mais il y a aussi deux applications qui ne le sont pas et qui pourtant, ne sont pas à jour. Lorsque je tente d'en mettre à jour une des deux
brew upgrade gd
voici le résultat
Warning: You are using macOS 10.14.
We (and Apple) do not provide support for this old version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
old version.
==> Upgrading 1 outdated package:
gd 2.3.3_1 -> 2.3.3_2
Error: You must `brew unpin fontconfig` as installing gd requires the latest version of pinned dependencies
Je reçois une erreur, car l'une des dépendances de l'application a été pin. D'ailleurs, pour les deux application gd et ffmpeg, le soucis est la même dépendance.
Bien souvent, lorsque la compilation échoue pour une application, il y a peu de chance que cela revienne. En général, un SDK plus récent est utilisé, et notre version de macOS n'est définitivement plus supportée. Cependant, il m'est déjà arrivé qu'une application redevienne compatible. C'est pour cela que lorsque je vois une application qui est pin et qui est à nouveau mise à jour, si la mise à jour m'intéresse, je la retente.
Pour cela, il faut d'abord unpin le paquet, par exemple
brew unpin ppsspp
puis réessayer la mise à jour.
brew upgrade ppsspp
Tout simplement.
Gérer Homebrew sur une version un peu ancienne de macOS est toujours possible, mais nécessite de jongler un peu selon les applications et les versions. On perd un peu de l'intérêt de Homebrew, mais n'en déplaise à Apple, tant que le Mac fonctionne, même si il a quelques années, nous pouvons encore faire des choses sympa avec.
- Homebrew - Gestionnaire de paquets
- Guetzli, une librairie d'encodage JPG optimisée
- Installer les commandes ecm et unecm sur macOS
- Homebrew : Recherche et commandes avancées
- Astuce macOS : Gérer les images disques au format bin/cue
- Plein phare sur une application Brew : youtube-dl
- Plein phare sur une application Brew : smartmontools
- Plein phare sur une application Brew : minidlna
- Brew et les paquets installés
- Plein phare sur une application Brew : unrar
- Plein phare sur une application Brew : glances
- Brew et les paquets à mettre à jour
- Plein phare sur une application Brew : watch
- Homebrew et la gestion de l'espace disque
- Plein phare sur une application Brew : ncdu
- Plein phare sur une application Brew : TestDisk
- Convertir une série d'images en GIF animé sur macOS
- Plein phare sur une application Brew : p7zip
- Plein phare sur une application Brew : Optimiser des PNGs avec ImageOptim
- Plein phare sur une application Brew : pstree
- Plein phare sur une application Brew : lsusb
- Plein phare sur une application Brew : rename
- Plein phare sur une application Homebrew : nmap
- Gérer les mises à jours des applications Homebrew sur 10.14 et inférieur.
- Gérer les mises à jours des applications Homebrew sur 10.14 et inférieur, partie 2.
- Plein phare sur une application Brew : yt-dlp
- Homebrew : Corriger un problème de dépendances trop récentes