Dans quelle mesure Ubuntu est-elle liée à Debian ? De quelle façon les paquets « migrent »-ils de l’un vers l’autre ? Cet article est une ébauche de réponse à ces questions qui m’ont été posées.
D’où viennent les paquets ?
La plupart des paquets ont été créés par des contributeurs Debian, et uploadés dans dans Debian unstable (ou experimental). Les nouveaux paquets sont passés en revue par les ftpmasters Debian pour acceptation dans l’archive officielle. Le temps de l’audit, ces paquets sont conservés dans une file d’attente dédiée, pour une durée allant de quelques heures à quelques mois (une à deux semaines généralement).
Ubuntu importe tous les paquets Debian officiels, auxquels s’ajoutent leurs propres paquets. Environ 7% de la base de paquets Ubuntu correspondent à des applications tierces empaquetées pour Ubuntu et non pour Debian.
Quelles sont les modifications faites par Ubuntu ?
De tous les paquets en provenance de Debian, 17% incluent des modifications supplémentaires faites par Ubuntu. La plupart des paquets concernés appartiennent au dépôt main, qui est activement maintenu par Canonical et les core developers d’Ubuntu. Le dépôt universe est quant à lui beaucoup plus fidèle aux paquets Debian d’origine.
La plupart des modifications faites par Ubuntu sont motivées par les décisions prises lors du Ubuntu Developer Summit. Celles-ci tendent vers des objectifs bien précis : meilleure interface utilisateur, temps de démarrage plus rapide, meilleure accessibilité en tant que plateforme pour les applications tierces, intégration avec leurs propres services en ligne (Launchpad, Ubuntu One), etc. Les autres modifications sont le fruit des corrections de bogues soumis par les utilisateurs d’Ubuntu.
Il est à noter que même les paquets binaires Ubuntu n’ayant pas subi de modifications au niveau de leurs sources diffèrent de la version binaire Debian. Il s’agit là d’une conséquence du changement d’environnement de compilation réalisé par Ubuntu : ils ne supportent que les processeurs type x86 de classe supérieure ou égale à 686, activent des options de compilation que Debian n’activent pas, … Tous les paquets binaires sont de plus modifiés par un programme appelé pkgbinarymangler.
Cycle de publication d’Ubuntu et lien avec Debian
Ubuntu publie une nouvelle version tous les 6 mois (sur le concept des publications à date fixe). Le rapport au temps étant radicalement différent chez Debian, comment Ubuntu parvient-elle à réutiliser le travail de Debian ?
Réponse : en important les paquets de Debian unstable (parfois même d’experimental), ce qui assure la « fraîcheur » des paquets. Si la version Ubuntu du paquet contient déjà des modifications spécifiques à la distribution, elles sont simplement fusionnées dans le paquet Debian nouvellement copié. Dans le cas contraire, le paquet Debian est juste importé, puis recompilé pour Ubuntu… ce qui fonctionne plutôt bien, Debian unstable l’étant beaucoup moins que son nom le laisse supposer.
Cet import automatique ne dure que les deux premiers mois du cycle, jusqu’au gel de l’import Debian. Il reste donc pas mal de temps après coup pour corriger le plus gros des problèmes.
Durant les troisième et quatrième mois, l’import de paquets est toujours possible, mais non automatique : il doit être explicitement demandé par un développeur. A la fin du quatrième mois, le gel des fonctionnalités est décrété, mettant définitivement fin à la période d’import.
Les deux mois restants sont dédiés aux corrections de bogues, ainsi qu’aux finitions de détail. De nombreux gels mineurs interviennent durant cette période, le planning de publication de Natty en donne un exemple. L’import de paquets Debian est maintenant exceptionnel, et autorisé uniquement s’il s’agit de mises à jour correctives côté Debian.
Crédits : certains chiffres sont repris d’une conférence de Lucas Nussbaum, basés sur les paquets disponibles pour la version Lucid Lynx d’Ubuntu.
Cet article est une traduction de How Ubuntu builds up on Debian contribuée par Weierstrass01. Ne manquez pas une occasion de parfaire vos connaissances de Debian ou Ubuntu, abonnez-vous à ma newsletter en cliquant ici.
François says
Merci pour cet article! C’est très intéressant!
Dans tes recherches pour écrire ce billet, as-tu trouvé des informations (chiffres?) concernant le chemin inverse (Ubuntu ->Debian)? Genre remontées de bug, etc…
freddec says
Salut
Merci pour ce billet.
Même question que François, qu’elle est la part de développement spécifique réalisé par Ubuntu reversé à l’archive Debian (Notamement des corrections de bug).
Sachant (si j’ai bien compris) que nombre de dévellopeurs Ubuntu sont également des DD coté Debian et que par conséquent ce qu’ils font pour l’un est souvent valable pour l’autre.
Raphaël Hertzog says
Sur la page ci-dessous tu trouves des liens avec des bugs que Ubuntu a remonté à Debian. C’est non-négligeable (~2000 bugs) mais c’est loin de constituer tout ce que Ubuntu aurait à contribuer à Debian. Lucas avait chiffré cela entre 200 et 400 bugs par cycle de 6 mois.
https://wiki.ubuntu.com/Debian/Usertagging
temps says
Le monde libre est étrange, un compromis permanent entre la facilité et la liberté. La rotation et la pérennité des distributions redonne confiance de toutes façons, dès qu’il y a abus, le retour de baton est tout près.
Cordialement