Révision de Comment Trisquel est construit du jeu, 02/10/2011 - 19:36

Les révisions vous permettent de suivre les différences entre plusieurs versions d’un message.

Depuis les versions 2.x, Trisquel est un dérivé entièrement libre d'Ubuntu, le procédé de création du système commence donc en créant un miroir d'Ubuntu et en le nettoyant. Le miroir est mis à jour toutes les nuits avec reprepro et quelques scripts cron puis est nettoyé en utilisant une liste noire des paquets non-libres.

Le dépôt est ensuite utilisé comme source pour le miroir de développement de Trisquel, qui inclut également des substitues à certains paquets enlevés (comme le noyau, ou d'autres éléments qui demandent à être modifiés) et quelques paquets qui personnalisent la distribution, tels que des éléments graphiques, des configurations ou des méta-paquets.

Pour mettre le système à jour, nous devons simplement synchroniser le miroir devel avec celui d'Ubuntu. Nous nous assurons ensuite que les modifications sont fonctionnelles en mettant à jour nos propres ordinateurs et nous faisons un rsync du dépôt de développement avec le dépôt officiel, http://archive.trisquel.info.

workflow.png

Nos paquets

Nous ajoutons des modifications à certains paquets : tout est expliqué dans la page package-helpers.

Créer une image ISO

Trisquel est créé avec debootstrap, en utilisant un script qui installe un méta-paquet et ses dépendances (pour créer chaque version de la distribution), compresse le tout dans une image squashfs et créé le .iso en utilisant isolinux. Le script applique également des modifications au dossier debootstrap, pour lui permettre d'exécuter un environnement « live ».

Le script makedistro créé également des DVDs content le code source.

Un noyau entièrement libre

Trisquel n'inclut pas le noyau Linux tel que l'on peut le trouver sur les serveurs du projet Linux, mais une version « nettoyée », à partir du noyau d'Ubuntu. Chacune des versions du projet Linux et d'Ubuntu contiennent du micro-code non-libre mais également des « blobs », cachés dans les fichiers .c et .h, sous forme d'énormes suites de nombres. Pour fournir à nos utilisateurs un noyau entièrement libre, nous utilisons une série de scripts basés sur ceux du projet Linux-libre, avec quelques modifications en plus.

Nous commençons avec un noyau des dépôts Ubuntu (plutôt que la dernière version du projet Linux, afin d'assurer une meilleur compatibilité avec l'ensemble du système), incluant les modifications apportées par Ubuntu, sous la forme de gigantesques patchs. Nous appliquons ensuite les scripts pour supprimer les composants non-libres pour la version correspondante et, dernière étape, nous appliquons le dernier script du projet Linux-libre, modifié pour pouvoir être exécuté avec des noyaux plus anciens. Cet étape offre une double vérification du code et permet également d'ajouter les dernières innovations de Linux-libre au paquet.

Au cours de cette procédure, nous ne faisons pas que simplement enlever les composants non-libres, nous nous assurons également qu'aucune partie du noyau ne nécessite de composant non-libre pour fonctionner. Nous utilisons également les derniers scripts de vérification de Linux-libre, pour assurer le nettoyage des ajouts d'Ubuntu. Cette étape demande régulièrement des vérifications pour les faux-positifs, comme des tables de données comprenant des nombreux nombres et l'ajout d'autres procédures aux scripts supprimant les composants non-libres, si de vrais positifs sont oubliés.

Révisions

02/10/2011 - 19:36
PaulK
02/25/2013 - 11:45
lembas
12/29/2014 - 21:43
Mimmo_D.DN
06/22/2016 - 17:29
HKR
08/21/2022 - 23:08
fiorile