Mozilla propose un dépôt Debian pour Firefox Nightly, un changement plus important qu'il n'y paraît

Mozilla propose un dépôt Debian pour Firefox Nightly, un changement plus important qu’il n’y paraît

Snap free

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

02/11/2023 6 minutes
28

Mozilla propose un dépôt Debian pour Firefox Nightly, un changement plus important qu'il n'y paraît

Mozilla propose désormais sa branche Nightly au format de paquet Debian pour les personnes intéressées par des tests. Ce qui n’a l’air de rien en apparence devrait marquer un important changement dans la manière dont la fondation distribue son navigateur sur les distributions Linux.

Firefox est présent dans la grande majorité des distributions Linux en tant que navigateur par défaut. C’est en particulier le cas sur les distributions de type Debian, dont Debian elle-même. Pourtant, sur ces systèmes, la maintenance de Firefox s’est avérée être un problème.

La philosophie de Debian est connue depuis longtemps : le développement prend du temps, les nouvelles versions sortent tous les deux ans en moyenne. La priorité va à la stabilité et aux composants éprouvés, pas aux dernières moutures disponibles.

Quand une nouvelle Debian débarque, elle propose des applications et composants dans une version majeure spécifique. Au fil des mois, sauf exception, seules des révisions mineures sont proposées pour corriger des bugs et autres failles de sécurité. Dans le cas de Firefox, cela peut poser un souci, car une nouvelle version « majeure » est proposée en moyenne une fois par mois. Même la branche ESR (Extended Support Release) avance plus rapidement que Debian sur les numérotations majeures.

Ce qui a créé le problème de maintenance précédemment mentionné. La situation est clairement visible sous Ubuntu, où plusieurs versions de Firefox sont maintenues en parallèle, cinq à l’heure actuelle, chacune avec son propre Firefox. Canonical a résolu le problème en proposant le navigateur via un paquet Snap unique (compatible d’Ubuntu 18.04 à 23.10), faisant d’une pierre deux coups : le navigateur pouvait se mettre à jour sans autre forme de procès, et le système progressait vers son objectif de « tout en snap ».

Chez Mozilla, la ligne de conduite a toujours été de proposer les moutures sous la forme de tarballs, autrement dit des archives à décompresser et à exécuter tel quelles. Elles ont cependant un inconvénient majeur : elles ne sont pas prises en charges par les différents gestionnaires de mises à jour intégrés aux distributions.

Firefox Nightly disponible en paquet deb avec un dépôt dédié

L’annonce de Mozilla est centrée sur la branche Nightly, soit la version compilée toutes les nuits et intégrant les dernières nouveautés. C’est à la fois la branche la plus avancée et la plus instable. Viennent ensuite, dans un ordre croissant de stabilité, les versions Dev, Beta et Release, cette dernière étant celle proposée sur le site officiel par défaut.

Cette disponibilité est centrée sur Debian et les distributions dérivées, nombreuses (Ubuntu, Linux Mint…). La fondation fournit la méthode, dont voici les instructions.

On commence par créer le dossier pour entreposer les clés de dépôts APT s’il n’existe pas déjà :

sudo install -d -m 0755 /etc/apt/keyrings

On récupère ensuite la clé de signature :

wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null

On vérifie ensuite que l’empreinte de la clé est bien « 35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3 » :

gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); print "\n"$0"\n"}'

Puis on ajoute le dépôt APT de Mozilla à la liste des sources :

echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null

Enfin, on met à jour la liste des paquets et on installe celui de Firefox Nightly :

sudo apt-get update && sudo apt-get install firefox-nightly

Le navigateur est alors installé et prêt à être utilisé. Mozilla a tout de même ajouté un dépôt dédié aux modules linguistiques. Pour installer la version française, il faudra exécuter la commande suivante :

sudo apt-get install firefox-nightly-l10n-fr

Firefox Nightly debFirefox Nightly deb

Pourquoi c’est important

On serait en droit de se demander en quoi l’arrivée d’un canal dédié pour la branche la plus instable de Firefox sur les distributions de type Debian pourrait intéresser davantage que quelques personnes.

Il y a deux raisons. La première concerne cette même population : bien qu’il faille entrer quelques lignes de commande, le résultat est plus pratique et mieux intégré au système, puisque le gestionnaire de paquets est informé du dépôt et s’occupera lui-même des mises à jour en même temps que le reste du système.

La seconde et la plus significative est que Mozilla indique, à la fin de son billet, qu’après une « période de test », ces paquets deviendront disponibles pour les branches bêta, ESR et Release de Firefox.

Traduction, Mozilla compte enfin ouvrir des dépôts dédiés pour chaque branche de son navigateur sur ces systèmes. Pour les utilisateurs, cela signifie la possibilité d’installer le navigateur sans passer par une version snap ou un autre système de paquets que celui natif.

Mozilla ne précise pas pourquoi il a fallu autant de temps pour faire finalement ce que bien d’autres éditeurs ont fait avant, ni ce qui a pu motiver un tel changement de direction. On pourrait y voir une réaction à une certaine défiance face à la montée en puissance du snap dans Ubuntu et les critiques formulées à l’encontre de la version intégrée de Firefox dans ce système.

En effet, et bien que des améliorations aient été apportées, les problèmes soulignés sont ceux inhérents aux paquets de type conteneurs, dont un premier démarrage assez lent et une taille de paquet imposante (le conteneur embarquant toutes les dépendances de l’application). Certaines distributions se sont même fait une spécialité de banir les paquets snap, comme Voyager Linux.

Pour l’instant en tout cas, seule la branche Nightly est disponible. Mozilla met en avant ses avantages, comme des optimisations de performances, des binaires durcis par l’activation de tous les flags liés à la sécurité au moment de la compilation, ou encore des mises à jour plus réactives grâce au nouveau dépôt. Rien n’empêche dans l’absolu de l’utiliser au quotidien, si l’on est préparé à des bugs potentiellement nombreux et des redémarrages réguliers.

Signalons enfin qu’il s’agit de la première fois que Mozilla propose un dépôt pour un gestionnaire de paquet en particulier. Rien n’a été dit sur une éventuelle extension à d’autres gestionnaires, tel que RPM.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Firefox Nightly disponible en paquet deb avec un dépôt dédié

Pourquoi c’est important

next n'a pas de brief le week-end

Le Brief ne travaille pas le week-end.
C'est dur, mais c'est comme ça.
Allez donc dans une forêt lointaine,
Éloignez-vous de ce clavier pour une fois !

Fermer

Commentaires (28)


Je comprends pas trop le trip de Debian sur les navigateurs… Ce délire de proposer que des trucs pas à jour… Ok pour certaines parties du système qui doivent être éprouvées (noyau par exemple), mais le browser ?



Je suis passé sur flatpak sur Debian pour plus être emm* avec des versions obsolètes de Firefox…


Debian n’est pas (du tout) une rolling release. Dans la durée de vie d’une version elle ne recevra que des bugfix. Parfois ce n’est pas suffisant c’est pour ça qu’il y a le repo backport (pas inclu dans l’installation par defaut) qui permet de récupérer des fonctionnalités sur certains paquets.



La logique de debian est que l’intégralité des paquets de la version X doit être compilé sur la version X. Ce n’est pas possible de suivre l’évolution de firefox avec cette logique par exemple l’introduction de rust dans FF a été assez complexe.



Si tu veux des logiciels a jours sous debian regarde du coté de sid (qui se rapproche beaucoup d’une rolling release)


Vu l’importance d’un browser de nos jours, je ne vois pas pourquoi il faudrait qu’il soit moins “éprouvé” pour reprendre ton terme que d’autres éléments de la distrib.



En tout cas, ça ne me gène pas d’utiliser une ESR.



Ça me fait penser qu’il va falloir que je passe à Debian 12 un de ces jours.


Dans ton cas, pourquoi ne pas utiliser Ubuntu avec Firefox en snap plutôt que flatpak-iser une Debian (ce qui a peu d’intérêt) ?


Alors pour tous les utilisateurs de Debian / Ubuntu ou dérivés, qui ne veulent pas forcément une nightly instable mais veulent simplement la dernière version de FF, et pas l’ESR (berk) installée par défaut sur Debian, voici la procédure pour ajouter les dépôts release à leur OS et installer le bouzin :



ICI.



J’ai testé méticuleusement cette procédure, prévue au départ pour Debian 11, et je peux affirmer qu’elle marche parfaitement avec Debian 12.2 Bookworm, et donc elle marchera avec tous ses dérivés, y compris Ubuntu.



Mais c’est juste au cas où sur votre distri on vous impose une version ESR, inutile dans le cas contraire.



eglyn a dit:



Je suis passé sur flatpak sur Debian pour plus être emm* avec des versions obsolètes de Firefox…




Tu peux aussi télécharger la version Linux sur leur site, la dézipper, et elle se comporte comme la version Windows avec un service qui auto-update.


Alors voilà une très bonne nouvelle en fin de journée ! C’est devenu tellement rare.
Merci @Vincent !




(reply:2163094:DantonQ-Robespierre)




C’est vraiment si dégeu que ça l’ESR ? (Je sais pas vu que j’ai que ça :( )



gg40 a dit:


C’est vraiment si dégeu que ça l’ESR ? Je sais pas vu que j’ai que ça :(




Elle est très bien l’ESR. C’est très bien pour une entreprise. Et c’est la version sur laquelle est basée Tor.



gg40 a dit:


Alors voilà une très bonne nouvelle en fin de journée ! C’est devenu tellement rare. Merci @Vincent !



C’est vraiment si dégeu que ça l’ESR ? (Je sais pas vu que j’ai que ça :( )



(reply:2163094:DantonQ-Robespierre)




Chacun son avis. Ici c’est un peu comme les goûts et les couleurs.
Personnellement, je trouve l’ESR très bien. Une version un peu moins “à jour” pour les fonctionnalités mais plus éprouvée donc, en principe, stabilisée avec ce qui a pu lui être apportée comme correctif.
Elle est disponible pour d’autres OS comme Windows ; personne n’y a jamais vraiment fait attention avec la version “classique”.



eglyn a dit:


Je comprends pas trop le trip de Debian sur les navigateurs… Ce délire de proposer que des trucs pas à jour… Ok pour certaines parties du système qui doivent être éprouvées (noyau par exemple), mais le browser ?




Ce n’est pas un “trip sur les navigateurs”, c’est simplement que si tu veux mettre un nouveau navigateur sur une Debian stable, ce nouveau navigateur a besoin que ses nombreuses dépendances soient à jour. Au final, tu te rends compte que pour simplement mettre à jour le navigateur, il faut mettre à jour la moitié du système. L’alternative, c’est effectivement de réinstaller une moitié de système rien que pour ce nouveau navigateur, c’est ce que fait flatpak.
Ça ne pose un problème qu’avec les navigateurs que parce que ce sont les seuls logiciels à sortir avec une telle fréquence.


C’est surtout pour compiler le navigateur qu’il faut mettre à jour plein de paquets de dev.
Le binaire produit ne demande quasiment pas de mise à jour des dépendances.



fred42 a dit:


Vu l’importance d’un browser de nos jours, je ne vois pas pourquoi il faudrait qu’il soit moins “éprouvé” pour reprendre ton terme que d’autres éléments de la distrib.




Le problème vient du fait que, bien souvent, les corrections de sécurité sont faites sur une nouvelle version majeure. Même les ESR ne sont pas maintenues si longtemps que ça.


J’imagine que cette initiative va faire des heureux, et c’est une bonne nouvelle pour eux, mais est-ce que des binaires durcis sont plus efficaces qu’une exécution dans un bac à sable ?
Perso je resterai sur le snap.


Je ne comprend pas les reproches fait à debian sur firefox.
Certe c’est une version esr, mais qui est mise à jour dès que firefox ne supporte plus la précédente esr, soit tout les ans environ. Et tout les mois pour les patchs de sécurité.
Debian 10 11 et 12 ont la même version de firefox esr : 115.4. La dernière version de mozilla.
Donc, debian ne fait pas de mise à jour majeure entre les versions, mais firefox est une exception.



Ghimo a dit:


J’imagine que cette initiative va faire des heureux, et c’est une bonne nouvelle pour eux, mais est-ce que des binaires durcis sont plus efficaces qu’une exécution dans un bac à sable ? Perso je resterai sur le snap.




et estce que le bug introduit par la sandbox est plus efficace que la nouvelle version ? Bref, ton commentaire est hautement subjectif et tu pourras toujours avoir ce raisonnement entre une version N et N-1. La course à l’échalotte :D


C’est une bonne chose que mozilla inclue la version nightly puis plus tard les autres versions directement dans un dépôt dédié, cela simplifiera la tache de ceux qui veulent tester cette version mais qui devaient télécharger puis installer le tar.bz2 à chaque nouvelle version.



Ce n’est pas dans la philosophie de debian stable qui préfère, à juste titre, la version esr avec un calendrier de mises à jours fonctionnel plus “lent” mais heureusement, pas plus lent niveau sécurité. Mais au moins, cela permet à des personnes un peu impatientes de ne pas rester sur la branche esr et de découvrir les nouveautés avant tout le monde.



(quote:2163125:alex.d.)
Le problème vient du fait que, bien souvent, les corrections de sécurité sont faites sur une nouvelle version majeure. Même les ESR ne sont pas maintenues si longtemps que ça.




Je ne suis pas certain, pour moi l’ESR reçoit aussi les patchs de sécurité. C’est une branche // qui, à un moment, est figée en termes d’évolution, mais continue à recevoir des backports de corrections de sécurité :
https://support.mozilla.org/en-US/kb/firefox-esr-release-cycle



Donc une ESR a aussi sa mise à jour mensuelle, la différence est que rien ne change dans le fonctionnement, les mises à jour mensuelles sont mineures et ne contiennent que des corrections de sécurités. Passé quelques mois / années il y’a une mise à jour majeure de l’ESR avec un gros saut de version majeur; dans l’exemple, on passe de 60.7.x (7ᵉ évolution mineure de la version 60) à 68.0 (donc 8 mois d’évolutions / correctifs d’un coup)
Ça colle plutôt bien à la philosophie Debian Stable : Rien ne change pendant des années, puis big bang à l’upgrade.



fofo9012 a dit:


Je ne suis pas certain, pour moi l’ESR reçoit aussi les patchs de sécurité.




Certes, mais l’ESR, c’est un an de support. Une version Debian, c’est plutôt 18 mois. Compliqué donc de faire toute la durée de vie d’une version de Debian avec un Firefox, fut-il ESR, qui reste sur la même version et qui reçoit les mise à jour de sécurité.


Comme expliqué en #12, quand l’ESR change de version, Debian suit sur cette nouvelle version. Il n’y a donc pas de problème contrairement à ce que tu disais.


fred42

Comme expliqué en #12, quand l’ESR change de version, Debian suit sur cette nouvelle version. Il n’y a donc pas de problème contrairement à ce que tu disais.


Si, justement, ça reste un casse-tête. Pendant un certain temps, Debian ne suivait pas les mise à jour des navigateurs et essayait de backporter les patches de sécurité. Maintenant, ils suivent les versions ESR, mais ça demande une certaine gymnastique au niveau des versions de dépendance (tu peux regarder les trackings d’empaquetage des nouvelles versions de navigateurs, tu verras qu’on est très loin de simplement compiler la nouvelle version et ça marche.


alex.d.

Si, justement, ça reste un casse-tête. Pendant un certain temps, Debian ne suivait pas les mise à jour des navigateurs et essayait de backporter les patches de sécurité. Maintenant, ils suivent les versions ESR, mais ça demande une certaine gymnastique au niveau des versions de dépendance (tu peux regarder les trackings d’empaquetage des nouvelles versions de navigateurs, tu verras qu’on est très loin de simplement compiler la nouvelle version et ça marche.


Ouais, mais c’est le taf des mainteneurs de Debian, et visiblement ils le font correctement. Donc peu importe non ?



En tout cas fournir l’ESR est une position tout à fait pertinente pour une distro comme Debian, et suffisante.



Seb65 a dit:


C’est surtout pour compiler le navigateur qu’il faut mettre à jour plein de paquets de dev. Le binaire produit ne demande quasiment pas de mise à jour des dépendances.




% ldd /usr/lib/chromium/chromium | wc -l
120



Mouais. Ça fait quand même un paquet de dépendances pour le binaire, qui ont leur propre cycle de vie. Tu ne peux pas compiler sur une autre machine et espérer que l’ABI de chaque dépendance va rester stable.


Argh ! J’avais lu “Mozilla propose un dépôt de bilan…” :mad2:



Br31zh a dit:


Ouais, mais c’est le taf des mainteneurs de Debian, et visiblement ils le font correctement. Donc peu importe non ?




Non, ce n’est pas “leur taf”. Ils sont tous bénévoles. Et pendant qu’ils s’occupent de ça, ils ne s’occupent pas d’autres paquets.


Sauf qu’il faut bien que quelqu’un se le farcisse, ce taf. Pour ce paquet comme les autres. Et même si Mozilla fini par fournir les versions stables ou ESR sur son repo, la distro continuera probablement de maintenir sa propre version dans ses dépôts.



Si c’est galère de compiler une ESR plus récente sur des dépendances vieillissantes, c’est pas pas exactement de la faute de Mozilla… ni d’aucun autre développeur de logiciel d’ailleurs. Parce qu’au final ça vaut pour tous les logiciels dans les repos Debian. Ils sont pas tous alignés sur le temps de maintenance de la distro, et ce ne serait pas forcément possible non plus, d’ailleurs (gérer la maintenance de X versions en parallèle demandant du taf supplémentaire).



L’ESR permet déjà de limiter la casse face aux stables. Mais ça reste de la responsabilité de Debian de fonctionner comme ça. L’autre option a été citée, c’est de backporter les corrections de sécurité, mais c’est pas forcément mieux (surtout pour un navigateur qui est un logiciel particulièrement lourd et complexe).



Du coup Debian voit comment faire au mieux pour chacun des logiciels qu’ils distribuent. Et quand je disais taf je disais pas au sens emploi salarié, mais bien au sens travail/tâche. C’est bien à eux de gérer cette partie. C’est le principe même des distributions…


Pour ma part, je ne jure que par la version ESR qui est très stable. Et cela évite la disparition subite de certaines fonctionnalités (ce qui est souvent l’inconvénient de la version release).
De toute façon, la version ESR comblera 99% des utilisateurs d’internet. Sauf à vouloir à tout prix les derniers gadgets ou nouveautés, mais en général on utilise pas Debian pour ça…



Br31zh a dit:


Sauf qu’il faut bien que quelqu’un se le farcisse, ce taf. Pour ce paquet comme les autres. Et même si Mozilla fini par fournir les versions stables ou ESR sur son repo, la distro continuera probablement de maintenir sa propre version dans ses dépôts.




Il suffirait que la version ESR ait un support réellement étendu (i.e. pas un an), compatible avec le cycle de vie des distribs. Debian n’est pas un cas exceptionnel. Les RHEL ont un support pendant 10 ans. Je ne sais pas ce qu’il font avec les navigateurs.


Les RHEL, ça vise plutôt les serveurs, donc les navigateurs, ce n’est pas un problème.