Ceci est une réponse à mon précedent journal.
(http://linuxfr.org/~frafra/16019.html(...)).
Mes constats :
1/ Sur ma gentoo chez moi , je souhaite comme beaucoup, ne mettre à jour que les packages qui posent des pbs de sécurité. Mais le suivi devient compliqué à mesure que le nombre de packages augmente.
2/ glsa-check est loin d'être au point (faux positifs, pas de gestion de apache1/apache2 ...) et s'il était stable , il serait intégré à emerge.
3/ les fichiers /usr/portage/metadata/glsa/glsa2004*.xml sont mise à jour par le "emerge sync" et facilement exploitables par n'importe quel language disposant d'une lib xml simple.
4/ "emerge -puD --columns world" fournit un resultat dans un format exploitable par n'importe quel language moderne.
Ne trouvant pas de solution, je me suis décidé à écrire mon propre outil. C'est encore une ébauche mais ça semble fonctionner chez moi. Le but n'est pas de refaire glsa-check, mais de palier en attendant. A terme je souhaite utiliser cet outil pour faire des "emerge --buildpkgonly" en crontab la nuit, l'installation restant manuelle.
Il est dispo. sur : http://www.frafra.org/myglsa/myglsa.py(...)
Je n'ai pu tester que sur ma machine qui est plutot à jour.
Les remarques sont les bienvenues même si je ne promets rien pour la suite. J'espère que vous me pardonnerez mon style collegien de 5e tant ici que dans le code.
# Testeur
Posté par Vincent . Évalué à 3.
Je testerai ton programme ce soir, glsa-check ne donne pas grand chose non plus chez moi.
[^] # Re: Testeur
Posté par Vincent . Évalué à 3.
Dis , tu bosses en direct sur ta page web ??
La ligne qui fait le emerge pour remplir ton fichier texte était commenté (l50) (pour les tests je suppose) et le mode pour le open (l49) était en 'r' (que j'ai remplacé par un 'w+').
Après ces quelques modifs (je n'avais jamais fait de python, mais à ce niveau la je m'en sort encore :) ton script marche (bien même) sur une machine pas du tout à jour. Merci, simple et efficace :)
Reste plus qu'à enchainer le resultat sur un emerge ^^
Je ne donnerais pas le résultat ici, c'est pas beau à voir :p
PS : si tu ne l'as pas encore fais, pose le sur le forum de gentoo, tu auras quelques clients je pense.
# Changements en vue
Posté par Raoul Volfoni (site web personnel) . Évalué à 3.
> Traceback (most recent call last):
> File "myglsa.py", line 80, in ?
> testvuln = eval(ev)
> File "", line 0, in ?
> AttributeError: 'str' object has no attribute '__rge__'
Comme je ne cause pas (encore) Python, je ne suis pas en mesure de trouver d'où celà vient. Par contre quelques interrogations me viennent à l'esprit: comment ton outil gère-t-il les slots? La solution de créer les packages la nuit est effectivement la meilleure. As-tu eu connaissance du GLEP 19 http://www.gentoo.org/proj/en/glep/glep-0019.html(...) dont l'objectif se rapproche du tiens? D'après Sune Kloppenborg, ils sont en train de travailler dessus. Peut-être devrais-tu prendre contact avec eux pour voir si ton code les intéresse?
[^] # Re: Changements en vue
Posté par frafra . Évalué à 2.
Merci pour l'url sur glep, mais cet outil est un peu different puisqu'il vise à faire des portages alternatifs pour gérer les maj.
Prendre contact avec gentoo c'est sans doute bcp pour un script de moins de 100 lignes :)
[^] # Re: Changements en vue
Posté par frafra . Évalué à 3.
A suivre ...
[^] # Re: Changements en vue
Posté par Raoul Volfoni (site web personnel) . Évalué à 3.
C'est presque celà: cette amélioration vise à fournir un arbre de Portage stable avec des ebuilds ayant une durée de vie supérieure à un an. N'y seront ajoutés que les patchs de sécurité. Voilà pourquoi je disais qu'il y avait des points communs entre ta démarche et celle de cette amélioration qui vise à rendre Gentoo adapté aux serveurs de production.
> Prendre contact avec gentoo c'est sans doute bcp pour un script de moins de 100 lignes :)
Bah tu sais, la ML sécurité a été litérallement noyée le mois dernier dans une gigantesque discussion sur la signature des ebuilds et des eclass, pour se terminer par un script de quelques lignes... ;)
# Heu... comment ca marche python?
Posté par Calim' Héros (site web personnel) . Évalué à 2.
./myglsa.py: line 4: glsadir: command not found
./myglsa.py: line 5: glsafiles: command not found
./myglsa.py: line 10: syntax error near unexpected token `('
./myglsa.py: line 10: `def listDir(dir):'
# python myglsa.py
Traceback (most recent call last):
File "myglsa.py", line 70, in ?
mergeres = getMergeDict()
File "myglsa.py", line 49, in getMergeDict
emergeResFile = open(emergeResFileName,'r')
IOError: [Errno 2] No such file or directory: './emerge-p-world2.txt'
Alors c'est laquelle la bonne version?
# Des news ...
Posté par frafra . Évalué à 1.
J'ai corrigé quelques petits trucs. Mais en faisant cela j'ai trouvé quelques bugs qui demande du tps.
Il faudra que je me penche dessus ce weekend ...
J'ai mis une petite page d'info sur http://www.frafra.org/myglsa/(...)
to be continued ...
[^] # Re: Des news ...
Posté par frafra . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.