MeFab, ou l'intéret de crasher une architecture rare
J'utilisais jusqu'ici ubuntu sur mon ibook G4 (powerpc, donc), et je maintenais, aidé par un copain, http://mental-ppc.tuxfamily.org et les paquets powerpc de http://medibuntu.org/
Manque de bol, un beau matin, cette supeeeeeerbe machine échoue au fsck, me fait des I/O errors en série, et passe intempestivement en lecture seule tout ses FS. J'avais peu de temps auparavant (ré) installé un osX dessus, pour traiter mes photos, et je peu donc dire que le problème était le même sous osX.
Peu versé dans l'art de récupérer des HDs "foireux", après quelques tentatives, je décide de changer le disque dur (j'en avais un en bon état sous le coude). Je fait des sauvegardes régulières, et je ne perd donc que très peu de données dans cette histoire.
Et là, c'est la surprise, cet autre disque me fait le même cirque, au détail prés. Après quelques tentatives, je renonce, la mort dans l'âme, à remettre sur pied mon ibook. (qu'il me couterait bien trop cher de faire réparer).
Bon, ça ne mérite pas un journal [1], ça, vous allez me dire (encore que :p). En fait, l'objet de ce journal est une conséquence de ce crash.
Si le ibook s'est vautré, son processeur fonctionne tjrs à merveille, et j'aurais trouvé plus que dommage de ne pas continuer a en tirer profit pour construire les paquets que je maintenais jusque là. Je me lance donc dans la construction d'un livecd tuné par les soins de quelques camarades (et oui, je n'ai plus de machine ppc fonctionnelle, moi ^^ ) afin de charger en mémoire un systéme minimaliste, mais suffisant pour faire tourner plusieurs instance de pbuilder (depuis, pbuilder a été abandonné au profit d'un systéme maison, sur mesure, qui produira un résultat similaire a pbuilder et sbuild) et pour monter via nfs une partition depuis mon LAN, afin d'y faire les opérations nécessitant d'écrire sur un disque dur.
Rapidement, l'idée mûrit, et se transforme: le lendemain, l'idée d'inclure un script automatisant le build des paquets pour les différentes versions maintenue d'ubuntu et de debian est adoptée, avec un systéme utilisant dput et un répertoire /incoming
ou seront téléversées les paquets sources.
Très vite, une interface http permettant de suivre en direct l'activité et les logs du builder est adoptée. Dans la foulée, on se demande pourquoi ne pas utiliser cette base pour faire collaborer différentes machines, de différentes architectures, au travers d'internet, sur les même paquets sources (avec l'utilisation de fonctionnalités de cross-compilation, pourquoi pas).
L'idée est de permettre l'installation de builders autonomes, de clients, ou bien de serveurs "centralisateur" le plus simplement possible, par le biais d'un live-cd, d'un script d'installation de ce live-cd, ou d'un paquet debian.
Vous pouvez (enfin, vous devriez bientôt pouvoir, parce que le code avance plus vite que le site :p) vous tenir informé de l'état d'avancement de MeFaB sur son site.
Tout retour, aide, commentaire est bienvenue! et n'hésitez pas a venir nous fair un coucou sur #ubuntu-fr-mac (sur freenode) ou pour l'instant se tiennent l'essentiel des discussions à ce sujet.
Voila voila... ah oui, rajoutons tt de même que mes capacités de dev ont trés rapidement étaient dépassées par la tournure que prenaient les événement, et que d'autres que moi sont les dev principaux.