Syl20 l33t
Joined: 04 Aug 2005 Posts: 619 Location: France
|
Posted: Wed Dec 18, 2013 2:07 pm Post subject: [portage] enotice fait de la résistance |
|
|
Bonjour,
Vous allez certainement me prendre pour un fou, mais, malgré plusieurs tentatives pour utiliser les outils natifs de portage (elog et eread, en l’occurrence), je suis resté attaché à cette antiquité qu'est enotice. Le fait que le paquet ne soit plus maintenu ne me posait pas de problème, étant donné que, jusqu'à présent, je me contentais de lire directement les fichiers créés lors d'une installation ou une suppression de paquet.
Dans ce contexte, enotice a de gros avantages :
- les logs sont écrites dans un fichier, et un seul, par paquet,
- contrairement à elog, qui sépare les traces en "blocs" d'une ou plusieurs lignes du même niveau d'information, chaque ligne écrite via enotice commence par le niveau d'information (info:..., warn:..., error:...), et rien n'est ajouté entre les lignes. Ce qui rend la lecture directe des fichiers beaucoup plus facile.
Et puis, je me suis rendu compte récemment que ce mécanisme d'écriture des traces était dû à un simple fichier profile, qui modifie l'environnement de portage. Et que enotice, c'est avant tout un script, qui fournit une interface un peu plus conviviale pour lire et manipuler les traces générées grâce à ce fichier profile. Ce que fait eread, de manière plus austère, aujourd'hui.
En l'état, le script, écrit en python, ne fonctionne plus depuis belle lurette. Les différentes mises à jour de l'interpréteur ont modifié certaines fonctions ou leur syntaxe. Il me fallait un prétexte pour m'initier à python, j'ai saisi l'occasion au bond. J'ai rendu enotice compatible avec python 3.3. Et j'en ai profité pour le retoucher un peu au passage, en débarrassant le code d'un certain nombre de morceaux qui m'ont semblé inutiles, et en modifiant la logique de certaines procédures.
Et là, surprise (je ne savais pas à quoi le résultat ressemblerait), c'est beau ! Avec quelques commandes bien pratiques, et un peu de couleur, la gestion des messages d'installation est encore plus agréable. Comment ai-je pu me passer de ce merveilleux outil ? Mais, en parallèle, comment, et encore plus avec cette mise à jour, réussir à abandonner une vieillerie jolie et efficace pour une nouveauté qui me semble rudimentaire, inadaptée à mes besoins, et donc peu attirante ?
Bref, si le script modifié intéresse quelqu'un, il est disponible ici : http://pastebin.com/4uDihSja
Comme c'est mon premier contact avec python, il y a certainement des choses atroces dedans, et des améliorations possibles. Mais, faute de temps, je ne ferai pas de maintenance. Il fonctionne chez moi, ça me suffit. |
|