Calculate Linux 14 est en route

{{TOC}}

Le concept de profils portables

Faute de meilleur nom, c’est ainsi que nous appellerons la nouveauté principale de Calculate Linux 14.0.

En l’occurence, la version finale ne sera pas disponible avant quelque temps, sachant que les nouvelles fonctionnalités seront plutôt orientées public averti. Une réécriture de la documentation s’impose donc également.

Nous continuons de travailler sur CL 14 dans un profil dédié basé sur CLDX et surnommé AcoolA (du nom d’un autre projet élaboré par l’équipe Calculate). Il a été spécialement conçu à des fins de tests ; il reste donc à attendre que les Utilitaires Calculate (Calculate Utilities) supportent les profils portables pour que la pré-version puisse être téléchargée librement.

Les avantages

Calculate Linux ne dispose pour l’instant que d’une surcouche, calculate, qui rassemble les profils complets de toutes les versions, à savoir paramètres USE, paquets masqués, variables, etc., ainsi que les listes des paquets préconfigurés, les modèles et les variables des Utilitaires. Ceci est une conception très efficace pour développer au sein d’une petite équipe, mais imaginez qu’on veuille créer un fork ou tout juste ajouter un overlay : les Utilitaires tels qu’on les connaît ne le permettraient pas. Résultat, tout utilisateur souhaitant personnaliser sa Calculate stocke ses modèles dans l’arborescence de l’image système, et c’est tout au plus s’il active un overlay local.

Pour pallier à cette défaillance, CL14 aura deux overlays : celui de base (c’est toujours calculate) et le dépôt distros, renfermant les profils des distributions comme son nom l’indique. Il sera alors possible de créer sa version en le clonant simplement pour le modifier à sa guise par la suite. On pourra évidemment donner un nom que l’on préfère à ce dépôt personnel.

Chaque profil regroupera les éléments qui le distinguent du profil standard, desktop, que l’on trouve dans l’overlay de base. Pourquoi s’y aligner ? Simplement parce que calculate comporte déjà nombre de préconfigurations que l’on aimerait garder sans avoir à supporter leurs versions clonées dans sa version personnalisée. calculate contient entre autres l’arborescence des modèles prête à l’emploi. Et le profil desktop semble un bon point de départ du fait qu’il a été optimisé pour une utilisation en environnement graphique, qu’il propose une configuration du noyau raisonnable, qu’il démasque plusieurs applications indispensables telles que LibreOffice… Un dépôt de binaires tout prêts s’avère fort utile quand on crée sa distribution : au moins les versions correspondront.

Résumons-nous : les profils portables sont censés vous permettre de

  • stocker toutes vos modifications personnelles dans un dépôt librement accessible pour pouvoir les utiliser après, qu’il s’agisse de paquets, d’ebuilds ou de modèles ;
  • profiter de ce que proposent d’autres utilisateurs ;
  • éventuellement contribuer au développement d’un projet.

Mettre à jour différemment

Pour éviter les conflits, l’arbre Portage et l’overlay calculate sont, à cette heure, mis à jour simultanément : si ce n’était pas le cas, on risquerait qu’une version marquée comme stable dans l’overlay soit supprimée de l’arbre avant qu’une nouvelle version soit démasquée. Ce sera différent avec CL14. La syncronisation de Portage deviendra automatique (deux ou trois fois par jour par le biais de cron), alors que l’overlay sera mis à jour après chaque modification. Quant au profil, il fera référence à des versions spécifiques fournies par l’arbre Portage et l’overlay. Tel un dév local, vous épargnerez le cauchemar des dépendances conflictuelles aux utilisateurs qui sont à votre charge.

Si jamais un projet n’est plus supporté, on pourra facilement le « forker ». Au cas où le développeur ne ferait qu’hiberner, il sera toujours possible de configurer les mises à jours de façon à ce que les paquets proposés correspondent toujours aux dernières versions de Portage, avec la gestion manuelle des dépendances jusqu’au moment où le développement aura été repris - cela dit, tout en restant sur un même profil. Nous fixerons sans doute un délai d’inactivité ; ce délai expiré, les nouvelles versions des paquets seront récupérées dans l’overlay calculate et l’arbre Portage.

L’outil cl-update (inclus pour la première fois dans calculate-update et empruntant désormais quelques fonctionnalités à calculate-assemble) s’occupera des mises à jour système. Ainsi les bibliothèques perl, python et autres qui, depuis quelques années déjà, sont mises à jour automatiquement lors de la compilation des distributions Calculate, se comporteront de la même façon sur votre système. cl-update ne sait malheureusement pas encore prendre en charge les USE et les masquages personnalisés, mais cela devrait être rendu possible dans l’avenir.

Grande nouvelle, CL14 pourra être mise à niveau avec une interface graphique que l’on lancera à partir de la barre des tâches ! Comme le bon fonctionnement des paquets binaires n’est possible qu’avec la synchronisation régulière de l’arborescence, cl-update est programmé pour mettre à jour Portage et les overlays à chaque lancement.

calculate-assemble vient remplacer calculate-builder

CL14 ne permettra plus la création interactive d’un système personnalisé, une option supportée depuis 2009. Nous espérons que le nouveau calculate-assemble comblera ce vide, en héritant les avantages de calculate-builder et en intégrant bientôt le support de aufs, un système de fichiers qui rend possible la fusion de plusieurs points de montage. Vous n’aurez plus besoin d’installer le système de façon spéciale pour pouvoir le modifier selon votre entendement : il suffira de monter l’image ISO dans la partition courante, de faire vos modifications et de réarchiver. Les outils de calculate-assemble se chargeront de préparer vos mises à jours, que vous soyez développeur ou que vous stockiez simplement des configurations sur Git.

Nous réécrirons certainement calculate-assemble, avec le support d’une interface graphique.

Autres modifications utiles

Ce n’est pas par fainéantise que nous avons fini par abandonner le mode de lancement builder ! Sur CL14, initramfs se compilera avec Dracut. Contrairement à genkernel, c’est un outil modulaire qui supporte udev, plymouth et permet de lancer le système à partir d’une image ISO. Pour éviter d’encombrer le code et de proposer des fonctionnalités redondantes (dont certaines seront d’ailleurs assurées par calculate-assemble), Dracut est fourni avec un minimum de réglages préconfigurés. Le noyau calculate-sources sera également compilé sans avoir recours à genkernel.

Avec Dracut, le démarrage multiple depuis une clé USB contenant plusieurs images ISO sera enfin possible.

Sur CLDX, vous pouvez voir que le gestionnaire de démarrage LightDM a été légèrement modifié : un smiley pour chaque utilisateur. Cela fait un an que les employés de Calculate Ltd. ont CLDX sur leurs postes de travail, après avoir longtemps été utilisateurs de CLD. Les photos les identifiant ont été perdues lors de la migration. Qui plus est, elles ne fonctionnaient pas sur CLD non plus, parce que le réseau n’était activé qu’après le lancement de xdm. Maintenant, les photos sont affichées sur les deux systèmes. Une fois que l’utilisateur s’est servi de son PC, sa photo est mise en cache localement.

Vous aurez sans doute remarqué aussi, si vous suivez de près notre travail, que le multiplexeur de terminaux tmux fait désormais partie de Calculate Linux sur toutes les versions, bureau, serveur ou média. Après avoir hésité quelque temps entre screen et tmux, nous avons constaté que ce dernier se pliait mieux au design Calculate, avec la barre d’état affichée en haut. Quant à screen, il ne sera pas préinstallé mais préconfiguré avec nos modèles et donc toujours disponible depuis l’overlay.

Nous nous fions à l’expertise et à l’enthousiasme des Calculatistes. C’est grâce à eux, par exemple, que le nombre des couleurs utilisables dans la fenêtre du terminal, xfce4-terminal, passe à 256 (merci les révisions). Je me doute que les micro-modifications de ce genre n’intéressent pas tout le monde, mais si vous pensez à une amélioration qui vous paraît utile à vous, surtout n’hésitez pas à nous le faire savoir ! Nous vous remercions de votre fidélité.