pourquoi ne pas aller voir le code source de dpkg/aptitude pour voir comment il fait ?
Sincèrement, j'ai essayé. Pas pour les mêmes raisons à l'époque, mais pour tenter d'enrayer sa lenteur phénoménale quand un paquet est calculé (à raison) cassé: au moindre mouvement, à première vue, il recalcule toutes les raisons de la cassure, et compte tenu du nombre de noeuds...
De mémoire, dans le dépôt, il était déjà difficile de trouver le point d'entrée du binaire final (il semble y avoir eu 2 tentatives de portages, l'une vers GTK et l'autre vers Qt, dans la même branche de code.
Pour dpkg, pas de problèmes la-dessus, mais je n'ai quand même pas retrouvé le point d'entrée.
Ce genre d'expériences, tant niveau pro (au taf quoi) que amateur (rien à voir avec la qualité du code, mais le côté pour le fun) est justement ce qui me fait penser qu'un outil qui ne fasse qu'une chose est une bonne chose, et je me disais que, peut-être, il existait un outil qui se contente déjà de ne faire que permettre la navigation dans un arbre, moyennant un jeu de règles pas codées en dur. Avec un peu de bol, ce soft serait assez hackable pour être adapté à ce besoin.
c'est justement là la force du logiciel libre, avoir acces aux sources.
Ce n'est pas parce qu'on a accès aux sources qu'on peut y contribuer facilement.
Aptitude est hyper complexe, ce n'est pas juste un outil de parcours d'arbre, il cherche aussi automatiquement des solutions, est capable de mettre à jour une base de données qui est coupée en plusieurs parties dont l'une n'est utilisée que par lui, les autres par d'autres composants systèmes.
C'est d'ailleurs, j'imagine, la raison pour laquelle il est impossible de modifier les actions que l'on voudrait prévoir lorsque l'on fait une mise à jour de la DB ou que l'on télécharge des paquets destinés à être installés (non, on ne peut télécharger "dans le vent", tout comme on ne peut installer en étant utilisateur, alors que je ne suis pas persuadé que dpkg en est incapable. Je pense même que moyennant quelques hacks sans recompiler, dpkg peut installer en espace utilisateur!).
Bon, je suppose que je vais essayer de code mon propre outil, en espérant ne pas trop en baver.
[^] # Re: use the source luke
Posté par freem . En réponse au message outil générique de parcours d'arbre. Évalué à 3.
Désolé, j'ai pas vu cette réponse.
Sincèrement, j'ai essayé. Pas pour les mêmes raisons à l'époque, mais pour tenter d'enrayer sa lenteur phénoménale quand un paquet est calculé (à raison) cassé: au moindre mouvement, à première vue, il recalcule toutes les raisons de la cassure, et compte tenu du nombre de noeuds...
De mémoire, dans le dépôt, il était déjà difficile de trouver le point d'entrée du binaire final (il semble y avoir eu 2 tentatives de portages, l'une vers GTK et l'autre vers Qt, dans la même branche de code.
Pour dpkg, pas de problèmes la-dessus, mais je n'ai quand même pas retrouvé le point d'entrée.
Ce genre d'expériences, tant niveau pro (au taf quoi) que amateur (rien à voir avec la qualité du code, mais le côté pour le fun) est justement ce qui me fait penser qu'un outil qui ne fasse qu'une chose est une bonne chose, et je me disais que, peut-être, il existait un outil qui se contente déjà de ne faire que permettre la navigation dans un arbre, moyennant un jeu de règles pas codées en dur. Avec un peu de bol, ce soft serait assez hackable pour être adapté à ce besoin.
Ce n'est pas parce qu'on a accès aux sources qu'on peut y contribuer facilement.
Aptitude est hyper complexe, ce n'est pas juste un outil de parcours d'arbre, il cherche aussi automatiquement des solutions, est capable de mettre à jour une base de données qui est coupée en plusieurs parties dont l'une n'est utilisée que par lui, les autres par d'autres composants systèmes.
C'est d'ailleurs, j'imagine, la raison pour laquelle il est impossible de modifier les actions que l'on voudrait prévoir lorsque l'on fait une mise à jour de la DB ou que l'on télécharge des paquets destinés à être installés (non, on ne peut télécharger "dans le vent", tout comme on ne peut installer en étant utilisateur, alors que je ne suis pas persuadé que dpkg en est incapable. Je pense même que moyennant quelques hacks sans recompiler, dpkg peut installer en espace utilisateur!).
Bon, je suppose que je vais essayer de code mon propre outil, en espérant ne pas trop en baver.