Qu’est-ce que Mageia et comment contribuer
Mageia est un fork de Mandriva, et est né en 2010, suites aux problèmes financiers de Mandriva. De par ce fait, elle est une distribution de type RPM. Derrière Mageia se trouve Mageia.org, une association loi 1901. Il y a un conseil (council) en haut de l’échelle, le reste est le résultat d’une méritocratie. Ce qui veut dire que les personnes voulant devenir contributeurs doivent prouver leur valeur en diffusant des patches, paquets ou correction de paquets avant de rentrer dans le cycle de “mentoring” de Mageia. Le cyle de mentoring est assez simple. Tout d’abord, le futur packageur se fait parrainer par un packageur confirmé. Il a alors uniquement les droits de commit dans le repository. Son mentor lui indique des modifications de paquets à faire, il peut ainsi les commiter, puis le mentor vérifie le tout et le pousse si les modifications sont concluantes. Ceci dure le temps que l’apprenti met à faire de moins en moins d’erreur. Au bout de quelques semaines, l’apprenti obtient le droit de pousser lui-même ses modifications et nouveaux paquets et devient alors un packager confirmé.
Il y a d’autres types de contributeurs dans la communauté Mageia: Documentation, testeurs, développeurs, administrateurs systèmes… La liste est longue et le choix est varié !
Passage à systemd
Récement, Mageia est passé à systemd pour gérer les scripts d’init et le démarrage des services au boot du système. C’est un composant critique et majeur du système, et de ce fait ce n’est pas une migration légère. Elle s’est donc déroulée en plusieurs étapes.
Qu’est-ce que systemd
Mais d’abord, qu’est-ce que systemd ? Hé bien, c’est avant tout un remplaçant pour l’ancestral démon init qui nous vient d’Unix System V. Le projet a été démarré en 2010 par Lennart Poettering. Ce dernier est notamment le créateur de PulseAudio, de la bibliothèque Avahi, bien évidement de systemd et travaille chez Red Hat. Il développe toujours activement systemd, qui est écrit en langage C.
Comme dit ci-dessus, systemd a pour vocation de remplacer sysvinit au sein des différentes distributions et systèmes GNU/Linux. Ce nouveau démon travaille avec dbus pour pouvoir faire dialoguer les services entre eux. Il offre de ce fait un meilleur framework pour la dépendance entres services au démarrage, et permet de réduire la surcharge du shell, et d’avoir dans certains cas une meilleure parallélisation des services interdépendants grâce à son utilisation des bus et des sockets. Le projet est sous license LGPL version 2.1, et son nom vient de “system daemon” (ou système D, au choix).
Migration dans Mageia
Une grosse évolution comme celle-ci requiert de nombreuses précautions, une préparation, et bien sûr un plan et une assurance sur la durée que tout fonctionnera (au moins dans la version stable). Bien évidement, le changement est d’abord opéré en Cauldron, la version de développement de Mageia, afin d’éviter d’impacter les utilisateurs finaux. Nous déconseillons d”utiliser la distribution de développement sur un poste de production.
La migration s’est déroulée avant la sortie de Mageia 2 (qui elle date du 22/05/2012). En premier lieu, Colin a fait la proposition sur la liste de diffusion de développement du projet (), afin que tous les développeurs puissent débattre et donner leurs avis. Ce qu’ils ont fait, explorant toutes les pistes possibles: comment la distribution va-t-elle impactée? A quel point? Est-ce qu’on pourra le maintenir? Pourra-t-on assurer sur les tickets/bugs?
Une fois que les développeurs tombent d’accord, alors il décide du plan d’action. Comment et dans quel ordre tout va se passer.
Il a d’abord fallu nettoyer les scripts d’init de Mageia, car ils avaient été adapter à diverses occasions et pour pallier à diverses situations. Les services ont ensuite été migrés un à un à systemd, et le tout a été envoyé dans Cauldron pour être testé par les utilisateurs avancés et les développeurs. Puis, des problèmes ont été détectés, donc des tickets ont été posé, traités par Colin et/ou d’autres packageurs.
Le dernier travail fut de faire en sorte que la mise à jour de Mageia 1 à Mageia 2, et donc de sysvinit à systemd, afin que l’utilisateur final puisse migrer sa version stable sur la prochaine version stable en étant assurer de ne rien casser.
Et aujourd’hui
Aujourd’hui, systemd est disponible en version 44 par défaut dans mageia, mais sysvinit reste supporté optionnellement. Colin est toujours le mainteneur de systemd et il fait un travail fantastique pour cette superbe distribution.