[RESOLU] Installer la version précédente d'un paquet

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
Verrouillé
VincentUCA
Messages : 2
Enregistré le : 25 oct. 2023 - 14:49

19 mars 2025 - 11:56

WAPT version 2.6

Bonjour,
Désolé si un topic similaire a déjà été ouvert je n'ai pas réussi à le trouver.
Je développe actuellement un paquet logiciel dont l'installeur ne supprime pas l'ancienne version. J'ai donc ajouté un morceau de code pour le faire. Mais pour tester, j'aimerai pouvoir réinstaller l'ancienne version. Il me semble que j'avais déjà pu le faire. Mais je n'avais pas pris de note et depuis j'ai oublié de quelle manière je m'y étais pris.
J'ai trouvé dans la documentation un encart indiquant :
Chaque commande qui prend un nom de paquet comme paramètre peut également prendre le package_uuid unique du paquet comme paramètre (wapt-get install, wapt-get forget, etc.). L’utilisation d’un GUID permet de spécifier un paquet unique sans ambiguïté sur son architecture ou sa version. Le package_uuid est listé dans la sortie de wapt-get list et wapt-get search. Par exemple :
J'ai donc fait un

Code : Tout sélectionner

wapt-get search monpaquet
pour récupérer l'ID du paquet dans la version qui m'intéresse.
Mais quand ensuite j'exécute la commande

Code : Tout sélectionner

wapt-get install c65ecfc2-ed87-428a-abc7-1646497ee71e
j'obtiens l'erreur :
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
install using WAPT packages c65ecfc2-ed87-428a-abc7-1646497ee71e

Results :
Critical :
=== Unavailable packages ===
c65ecfc2-ed87-428a-abc7-1646497ee71e [x64_fr_PROD,DEV,PREPROD]
Où est-ce que je fais une erreur?
Merci d'avance pour votre réponse.
Cordialement.
Vincent
Avatar du membre
dcardon
Expert WAPT
Messages : 1717
Enregistré le : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

20 mars 2025 - 09:42

Bonjour Vincent,

vous pouvez forcer l'install d'une version particulière avec la syntaxe suivante:

Code : Tout sélectionner

wapt-get install "tis-monpaquet(=2.5.3)"
Par contre le "pinning" de version n'est pas stocké dans l'agent, et donc le paquet sera mis à jour au prochain wapt-get upgrade.

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 du membre
vcardon
Expert WAPT
Messages : 260
Enregistré le : 06 oct. 2017 - 22:55
Localisation : Nantes, FR

20 mars 2025 - 19:46

Bonjour, pour rebondir sur la remarque de Denis, si vous voulez une version d'un logiciel sans qu'il se mette à jour, dupliquez la version qui vous intéresse et renommez le paquet avec la version du logiciel.

Par exemple : le tis-firefox de la version 136.0.2 deviendrait tis-firefox-pinned-136.0.2.
Vincent CARDON
Tranquil IT
VincentUCA
Messages : 2
Enregistré le : 25 oct. 2023 - 14:49

21 mars 2025 - 11:34

Bonjour à vous,
Merci pour vos précieux conseils. J'ai testé avec succès l'installation d'une ancienne version de mon paquet. Par contre il ne faut pas omettre dans le numéro de version la particule ajoutée par WAPT sinon cela ne fonctionne pas. Pour reprendre l'exemple précédent cela donne :

Code : Tout sélectionner

wapt-get install "tis-monpaquet(=2.5.3-2)"
Je suggère d'enlever de la documentation l'installation via l'UUID d'un paquet si cela ne fonctionne plus et d'ajouter cette méthode via "pinning" de version que je n'ai pas réussi à trouver ailleurs.

Pour tout vous dire, le paquet que je cherche à développer est pour le logiciel Chimera. Un paquet existe déjà dans le dépôt tranquil.it avec le code pour désinstaller les versions précédentes mais je me suis aperçu de deux choses.

La première, c'est que le numéro de version du logiciel Chimera n'est pas renseigné dans le registre Windows. Donc le code du paquet qui est le suivant :

Code : Tout sélectionner

for to_uninstall in installed_softwares("UCSF Chimera"):
        if Version(to_uninstall["version"]) < Version(last_version):
Teste toujours la condition :

Code : Tout sélectionner

if 0.0.0.0 < N° de la dernière version:
Du coup, peu importe la version installée, elle sera désinstallée.

La deuxième, c'est que la fonction installed_softwares("UCSF Chimera") remonte aussi la clé de registre du logiciel ChimeraX qui lui non plus n'a pas de numéro de version renseignée. Avec comme conséquence la désinstallation de ChimeraX lors de l'installation de Chimera.

J'ai vu que dans la clé de registre de désinstallation de Chimera le numéro de version était indiqué dans la clé "DisplayName" J'ai donc modifié le code de la façon suivante :

Code : Tout sélectionner

for to_uninstall in installed_softwares("UCSF Chimera"):
        to_uninstall_version = to_uninstall["name"].split()[-1]
        if Version(to_uninstall_version) < Version(last_version):
            print(f"Removing: {to_uninstall['name']} ({to_uninstall_version})")
Les conditions testées deviennent :

Code : Tout sélectionner

if 1.18.0.0 <1.19.0.0:
et

Code : Tout sélectionner

if "ChimeraX"<1.19.0.0:
Car ChimeraX n'a pas le numéro de version inclue dans "DisplayName". Cette condition semble renvoyer False.

C'est pas super propre mais ça fonctionne. La dernière version de Chimera n'est pas désinstallée pour être réinstallée dans le cas d'une mise à jour du paquet sans changement de version du logiciel, et, ChimeraX n'est plus désinstallé non plus dans l'opération et les deux paquets logiciels peuvent cohabiter. J'en conviens c'est du chipotage :oops: car maintenant que j'ai ajouté la fonction pour enlever le raccourcis du bureau je ne pense pas que je retoucherai au code de ce paquet. Et puis normalement il y a assez peu d'intérêt d'avoir Chimera et ChimeraX d'installés sur le même poste mais apparemment il y aurait des fonctions qui ont été retirées de Chimera dans ChimeraX qui servent pour certains.

Je vous remercie encore une fois pour avoir répondu à ma demande.
Cordialement.
Vincent
Avatar du membre
dcardon
Expert WAPT
Messages : 1717
Enregistré le : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

21 mars 2025 - 14:11

Salut Vincent,

merci pour le retour. Je forwarde ton post à l'équipe qui s'occupe de la maintenance des paquets du store pour qu'ils corrigent le paquet en suivant vos conseils :-)

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
italbot
Messages : 10
Enregistré le : 26 sept. 2023 - 15:50

24 mars 2025 - 11:10

Bonjour,

Je viens d'adapter le code pour qu'une version de chimeraX déjà installée ne soit pas désinstallée en même temps que Chimera et effectivement la vérification de la version n'était pas fonctionnelle, j'ai modifié également.

Merci d'avoir remonté ces informations.

Cordialement,

Ingrid
Tranquil IT
Verrouillé