Bonjour
,
Construire et gérer des paquets a la main est fâtiguant et peut amener des erreurs. De plus, il faut ensuite les placer dans un dépôt, les tester, rester derrière l'ordinateur pendant que ça compile, les envoyer sur le dépôt, etc.
Tout ceci fait qu'une petite quantité seulement de paquets peut être construite, et que ça peut provoquer pas mal d'erreurs.
Aujourd'hui, après une semaine de travail, Logram se dote d'un petit serveur de construction. Il est simple, pas très beau, mais il marche plus ou moins. Il ne sera d'ailleurs pas utilisé en production avant de longs mois, et reste pour le moment cantonné à des tests.
Ce server supporte les opérations suivantes :
Du côté du site web, quelques changements en base de donnée et quelques fonctionnalités bienvenues s'ajoutent :
)
. On pourra discuter des options de compilation, résoudre des problèmes, changer le paquet de dépôt, etc. Ça c'est un truc qui me plaît beaucoup.
). Pour les paquets construits automatiquement, tous les logs sont disponibles (chaque ligne sortie par Make est enregistrée, chaque fichier inclus aussi, etc).
). J'expliquerai dans les commentaires de cette news comment on se sert de tout ça.Le code source du serveur de compilation est contenu dans le dossier buildserver du dépôt Git de Setup (voir page «Développement»). C'est pour le moment un gros fichier App.cpp de plus de 1700 lignes, c'est immonde, pas propre, y'a des petites imperfections partout, mais ce n'est que le début.
Dans les jours à venir, nettoyage. Découpage du code du serveur de compilation en petits morceaux plus facilement maintenables, documentation de tout ça, correction des fuites mémoire de Setup, classification des 16 fichiers de libpackage dans des dossiers, passage à CMake, etc.
Ensuite, nettoyage des paquets, ils doivent compiler et fonctionner avec le build serveur. Pour cela, création attentive des paquets dont ils dépendent, ajout dans Setup d'une détection automatique des dépendances (shlibdeps de Debian), puis grosse mise à jour des paquets. Le livre LFS est parfois un peu périmé (par exemple, il est possible de tout refaire avec GCC 4.5 sorti il y a quelques jours, et de bénéficier de -flto qui accélère Setup près de 2 fois par exemple), et cette mise à jour sera bienvenue
.
Voilà. Profitez bien de tout ça. Le serveur ne tourne pas encore, mais le site web a été mis à jour.
| Author | Message |
|---|