Contexte et enjeux
Chromium, le projet open source à l'origine de Google Chrome, est largement utilisé sur Linux. Chez Gentoo, chaque paquet est construit à partir du code source grâce à Portage et aux fichiers ebuild. Le paquet www-client/chromium était bloqué à la version 151.0.7922.169, contenant 602 vulnérabilités connues, ce qui a déclenché une alerte de la communauté. Le mainteneur Sam James a annoncé le « last rites » du paquet le 24 septembre, entraînant le masquage de l'ebuild dans le dépôt officiel.
Mécanismes de construction et drapeaux USE
Le système de construction de Chromium intègre de nombreuses dépendances internes et un outil de compilation propre (bundled toolchain). Sous Gentoo, les utilisateurs peuvent désactiver cet outil avec le drapeau -bundled-toolchain afin d’utiliser le compilateur Clang du système. Cette option est obligatoire sur les architectures non x86‑64, où le toolchain fourni n’est pas disponible. Le fichier ebuild expose également des drapeaux pour la documentation, les codecs propriétaires et d’autres bibliothèques, augmentant la surface de configuration.
Analyse des difficultés de maintenance
Plusieurs facteurs rendent le paquet difficile à entretenir. D’une part, Chromium publie des versions majeures toutes les six semaines, chaque version introduisant de nouveaux modules Go et des changements dans le système de build GN. D’autre part, le projet regroupe des bibliothèques tierces (V8, Skia, etc.) qui doivent être synchronisées avec les versions internes, ce qui complique la mise à jour des dépendances dans l’ecosystème Gentoo. Les rapports de bugs montrent que même des contributions externes, comme les ebuilds des overlays Bentoo et Fireburn, échouent souvent à cause de combinaisons de drapeaux USE non testées. Enfin, l’absence de mainteneur dédié empêche la validation rapide des correctifs, augmentant le risque de régression.
Conséquences pour les utilisateurs Gentoo
Le masquage du paquet empêche toute installation ou mise à jour automatique via emerge. Les utilisateurs qui possèdent déjà Chromium recevront un avertissement lors d’une tentative d’upgrade et devront soit rester sur la version obsolète, soit recourir à des overlays non officiels, soit installer le binaire fourni par d’autres distributions (Arch, Debian, Fedora). L’absence de paquet binaire officiel de Gentoo, liée aux problèmes de compilation avec les codecs propriétaires, renforce cette dépendance aux sources. En l’absence de volontaires capables de gérer les multiples drapeaux et les mises à jour fréquentes, le paquet restera inactif, illustrant les limites du modèle de construction à la volée pour des projets aussi volumineux que Chromium.