Page 1 sur 1

fonction get_unrelevant_host_packages() renvoie une liste vide

Publié : 25 mars 2024 - 10:28
par brice73
Bonjour,

Je voulais utiliser la fonction get_unrelevant_host_packages() dans un paquet. Lorsque je l'applique à un paquet installé sur le poste mais qui ne lui ai plus affecté (plus présent dans la liste des paquets affectés au poste dans la console), la fonction renvoie une liste vide alors qu'elle devrait renvoyer au moins ce paquet dans la liste.

Quelle pourrait en être la raison?

Re: fonction get_unrelevant_host_packages() renvoie une liste vide

Publié : 28 mars 2024 - 09:51
par brice73
La fonction get_unrelevant_host_packages() fonctionne bien, et c'est normal qu'elle renvoie une liste vide.
c'est moi qui n'avais pas compris les paquets qu'elle renvoyait (host, unit...) . J'avais initialement compris qu'elle renvoyait les paquets installés sur le poste mais qui ne lui sont plus affectés.
Vous pouvez fermer ou supprimer le fil.
Cdlt

Re: fonction get_unrelevant_host_packages() renvoie une liste vide

Publié : 28 mars 2024 - 19:34
par dcardon
Bonjour Brice,

en effet, c'est une fonction de common qui est utilisé par le moteur WAPT mais qui n'a pas vraiment de sens à être appelé dans un paquet WAPT.

Il me semble que la fonction que vous voulez est similaire au autoremove sous Debian apt-get. On ne stocke pas actuellement l'origine de l'installation qui peut être implicite (paquet unit / ou, paquet groupe, paquet profile) ou bien explicite (ligne de commande wapt-get install ou bien self-service). Donc on ne peut pas faire d'autoremove pour l'instant sinon on risque d'enlever des paquets en trop.

Si vous avez un paquet particulier à nettoyer sur tout votre domaine vous pouvez utiliser un paquet de cleanup avec une fonction comme suit:

Code : Tout sélectionner

def install():
    WAPT.uninstall('mon-paquet-que-je-ne-veux-plus')
Cordialement,

Denis

Re: fonction get_unrelevant_host_packages() renvoie une liste vide

Publié : 31 mars 2024 - 11:01
par brice73
Bonjour Denis,

Merci pour vos conseils. Mon souhait était de désinstaller complètement un paquet lors de l'installation d'un autre paquet. Aussi j'ai utilisé la fonction remove('paquet') au lieu de uninstall('paquet'), mais je voulais conditionner la désinstallation d'une part à une version wapt subséquente du paquet à désinstaller (car la désinstallation du paquet existant échouait et il me fallait préalablement le mettre à jour avec la fonction upgrades()) et d'autre part au fait que le paquet n'était plus affecté au poste, information que je pensais pouvoir récupérer avec la fonction get_unrelevant_host_packages(), ceci pour éviter une réinstallation du paquet s'il était toujours affecté au poste.

La fonction get_unrelevant_host_packages() ne renvoyant pas les informations auxquelles je pensais, je n'ai pas pris en compte cette 2ème condition pour la désinstallation du paquet. Mais elle n'était pas absolument nécessaire, je me suis assuré via la console que le paquet à désinstaller était désaffecté de tous les postes et tout a fonctionné.

Cordialement