[RESOLU] WAPT.download_upgrades() sans effet

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
brice73
Messages : 28
Inscription : 13 févr. 2023 - 08:05

23 juil. 2025 - 16:16

Bonjour,

Dans un paquet y, j'ai besoin d'utiliser la méthode WAPT.download_upgrades() pour mettre un autre paquet x à jour (maj en version n+1 du paquet x installé en version n) et ensuite l'installer avec WAPT.install(x).

Hors ceci ne fonctionne pas. Lors de l'installation du paquet y (pas d'erreur, le paquet s'installe bien), le poste ne télécharge pas la dernière version (n+1) du paquet x et ne l'installe donc pas. Il reste avec la version n du paquet x. Je n'en comprends pas la raison, sachant que la version n+1 du paquet x est bien disponible sur le serveur wapt, que l'agent du poste est bien paramétré pour aller chercher les paquets sur le serveur wapt. Ce n'est pas non plus un problème de maturité du paquet x (le problème se pose quelquesoit la maturité). Par ailleurs, avec la console si je sélectionne le poste puis que je fais "Vérifier les mises à jour" et que je coche "Et télécharger les paquets", le poste télécharge bien la version n+1 du paquet x. (ci-dessous, ce "paquet x" est "col73-xmind" , je veux le mettre à jour et l'installer à l'intérieur de l'installation d'un autre paquet)

Voici les lignes de code correspondantes :

Code : Tout sélectionner

 
    WAPT.download_upgrades()
    for p in WAPT.installed(include_errors=True):
        if p.package == 'col73-xmind':
            WAPT.install('col73-xmind')
  
Ces mêmes lignes de code fonctionnaient pourtant auparavant (j'ai déjà procédé de cette façon avec un autre paquet il y a un an sans problème)

D'où pourrait venir le problème ?
WAPT Entreprise 2.6.0.17343
serveur WAPT sous Debian 12
Administration/création de paquets sous Windows 11/10
brice73
Messages : 28
Inscription : 13 févr. 2023 - 08:05

24 juil. 2025 - 10:19

J'ai rajouté quelques lignes de codes pour faire des vérifications et effectivement le paquet x est bien trouvé en version n (en réalité 16) mais étrangement la version n+1 (en réalité 17) disponible sur le serveur n'est pas vue, téléchargée et installée d'après le log. A la place, wapt re-télécharge et réinstalle la version n (16) :| , comme cela apparait dans le log ci-dessous.
Pourtant, comme dit dans mon message précédent, avec la console, si je vérifie la mise à jour des paquets pour le poste avec téléchargement des paquets, le poste voit et télécharge bien la version n+1 (17) !?

Code : Tout sélectionner

    WAPT.download_upgrades()
    for p in WAPT.installed(include_errors=True):
        if p.package == 'col73-xmind':
            print("paquet col73-xmind détecté")
            version_paquet=(p.version).split("-")[1]
            print('version du paquet wapt de xmind installé=%s - tentative de maj du paquet"' % version_paquet)
            WAPT.install('col73-xmind',force=True)
 
Ci-dessous le log d'installation du paquet col73-xmind8 dans lequel se trouve les lignes de codes précédentes :

paquet col73-xmind détecté
version du paquet wapt de xmind installé=16 - tentative de maj du paquet"
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt : 262144 / 161672722 (0%) (15.62Mb/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt : 68419584 / 161672722 (42%) (64.22Mb/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt : 138936320 / 161672722 (86%) (65.72Mb/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt : 161672722 / 161672722 (100%) (65.78Mb/s)
Installation de XMind
Installing: xmind-8-update2-windows.exe (3.7.2.0)
Copie du dossier XMind (AppData) dans C:\Sources\XMind pour future installation...
Copie terminee avec succes
Installation terminee avec succes
Copie du dossier de l'application portable XMind8
version du paquet wapt de xmind installé=16
WAPT Entreprise 2.6.0.17343
serveur WAPT sous Debian 12
Administration/création de paquets sous Windows 11/10
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 2116
Inscription : 10 juil. 2014 - 23:52
Contact :

24 juil. 2025 - 10:24

Bonjour
si je vérifie la mise à jour des paquets pour le poste avec téléchargement des paquets, le poste voit et télécharge bien la version n+1 (17) !?
Du coup dans le code vous faite un update ? WAPT.update()
brice73
Messages : 28
Inscription : 13 févr. 2023 - 08:05

24 juil. 2025 - 11:43

Bonjour Simon,

Non je n''avais pas fait un WAPT.update() auparavant.

En faisant cela avant WAPT.upgrades() cela fonctionne maintenant merci!

Cdlt
WAPT Entreprise 2.6.0.17343
serveur WAPT sous Debian 12
Administration/création de paquets sous Windows 11/10
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1758
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

25 juil. 2025 - 15:27

Bonjour Brice,

il faut faire quand même attention à éviter les download_upgrade / update dans une fonction install, car dans pas mal de cas lors de l'installation à l'extinction de la machine il n'y aura plus de réseau (vpn, wifi, 802.1x, etc.) et le téléchargement et donc l'installation va échouer.

Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
Avatar de l’utilisateur
vcardon
Expert WAPT
Messages : 263
Inscription : 06 oct. 2017 - 22:55
Localisation : Nantes, FR

25 juil. 2025 - 19:08

En effet, c'est mieux de mettre le 2ème logiciel en dépendance du premier dans le fichier control, c'est beaucoup plus propre et moins prône aux soucis.
Vincent CARDON
Tranquil IT
brice73
Messages : 28
Inscription : 13 févr. 2023 - 08:05

29 juil. 2025 - 09:37

Bonjour Denis et Vincent,

Merci pour vos conseils. Ce cas est un peu particulier. En fait je ne peux et ne souhaite pas mettre ce paquet en dépendance car c'est un paquet mal nommé dont la fonction uninstall() ne fonctionne pas (erreur) et qui ne peut être désinstallé tel quel. Je veux donc le remplacer par un autre paquet y. Du coup, j'utilise WAPT.update() et WAPT.download_upgrades() pour mettre à jour le paquet en erreur, et dans ce même paquet de remplacement y, je désinstalle le paquet x plus tard après sa mise à jour avec WAPT.remove(paquet x), la fonction uninstall du paquet x étant alors fonctionnelle.

J'ai préalablement supprimé ce paquet de tous les postes, donc il ne sera pas réinstallé une fois la désinstallation effectuée.

Ceci me permet d'automatiser son remplacement lors de l'installation du nouveau paquet qui est lui correct. En tout cas cela me serait beaucoup trop fastidieux de devoir désinstaller manuellement le paquet x sur des centaines de postes, après une mise à jour (il faut aussi que les postes soient allumés pour cela). Donc je profite de l'installation du nouveau paquet en remplacement y pour automatiser cela. J'avais déjà fait cela il y a un an avec un autre paquet qui posait le même problème et tout s'était bien passé. Sur des centaines de postes, il n'y avait pas eu de problème de téléchargement de la nouvelle version du paquet. Après, le téléchargement s'effectue sur un dépôt secondaire en réseau local.

Mais il me semblait pourtant que lors de l'extinction waptexit lançait le téléchargement des mises à jour avant de les installer ?!

Cordialement,
Brice
WAPT Entreprise 2.6.0.17343
serveur WAPT sous Debian 12
Administration/création de paquets sous Windows 11/10
Avatar de l’utilisateur
vcardon
Expert WAPT
Messages : 263
Inscription : 06 oct. 2017 - 22:55
Localisation : Nantes, FR

01 août 2025 - 20:01

Mais il me semblait pourtant que lors de l'extinction waptexit lançait le téléchargement des mises à jour avant de les installer ?!
Non, tout doit avoir été téléchargé avant le lancement de waptexit car on ne peut pas connaître l'état de disponibilité du réseau à l'extinction de la machine.

Ce que vous auriez pu faire, maintenant qu'on connaît mieux votre cas d'usage, c'est de corriger la fonction de désinstallation du paquet en dépendance, pousser d'abord la correction et ensuite ça aurait bien fonctionné je pense avec une correction supplémentaire au fichier "control" de votre paquet principal avec un "depends: newpackage" et un "conflicts: oldpackage".
Vincent CARDON
Tranquil IT
brice73
Messages : 28
Inscription : 13 févr. 2023 - 08:05

05 août 2025 - 15:37

Bonjour Vincent,
Ce que vous auriez pu faire, maintenant qu'on connaît mieux votre cas d'usage, c'est de corriger la fonction de désinstallation du paquet en dépendance, pousser d'abord la correction et ensuite ça aurait bien fonctionné je pense avec une correction supplémentaire au fichier "control" de votre paquet principal avec un "depends: newpackage" et un "conflicts: oldpackage".
En effet, ça semble possible. Je pensais que les postes resteraient en erreur car si la nouvelle version du paquet n'a pas été maj par le poste, alors sa désinstallation préalable (via le conflit) échouera et le nouveau paquet de remplacement ne s'installera pas mais remontera en erreur. En y resongeant, à priori cela ne devrait être que temporaire en fait, le temps que les postes mettent à jour le paquet dont la fonction uninstall est erronée.
WAPT Entreprise 2.6.0.17343
serveur WAPT sous Debian 12
Administration/création de paquets sous Windows 11/10
Avatar de l’utilisateur
vcardon
Expert WAPT
Messages : 263
Inscription : 06 oct. 2017 - 22:55
Localisation : Nantes, FR

05 août 2025 - 19:43

La fonction uninstall peut être corrigée avec une nouvelle version du paquet, plus simple et plus fiable que ce que vous tentez de faire.

Le principal, c'est que vous arriviez à faire ce que vous voulez avec WAPT.
Vincent CARDON
Tranquil IT
Verrouillé