[RISOLTO] Installazione della versione precedente di un pacchetto

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
VincentUCA
Messaggi: 4
Registrazione: 25 ottobre 2023 - 14:49

19 marzo 2025 - 11:56

Versione WAPT 2.6

Buongiorno,
Mi scuso se è già stato aperto un argomento simile, non sono riuscito a trovarlo.
Sto sviluppando un pacchetto software il cui programma di installazione non rimuove la vecchia versione. Quindi ho aggiunto un pezzo di codice per farlo. Ma a scopo di test, vorrei poter reinstallare la vecchia versione. Credo di averlo già fatto, ma non ho preso appunti e da allora ho dimenticato come si fa.
Ho trovato una sezione nella documentazione che afferma:
Ogni comando che accetta il nome di un pacchetto come parametro può accettare anche il package_uuid univoco del pacchetto come parametro (wapt-get install, wapt-get forget, ecc.). L'utilizzo di un GUID consente di specificare un pacchetto univoco senza ambiguità circa la sua architettura o versione. Il package_uuid è elencato nell'output di wapt-get list e wapt-get search. Ad esempio:
Quindi ho fatto un

Codice: Seleziona tutto

wapt-get search monpaquet
per recuperare l'ID del pacchetto nella versione che mi interessa.
Ma poi quando eseguo il comando

Codice: Seleziona tutto

wapt-get install c65ecfc2-ed87-428a-abc7-1646497ee71e
Ricevo il seguente errore:
Utilizzo del file di configurazione: C:\Program Files (x86)\wapt\wapt-get.ini
install utilizzando i pacchetti WAPT c65ecfc2-ed87-428a-abc7-1646497ee71e

Risultati:
Critico:
=== Pacchetti non disponibili ===
c65ecfc2-ed87-428a-abc7-1646497ee71e [x64_fr_PROD,DEV,PREPROD]
Dove sto sbagliando?
Grazie in anticipo per la risposta.
Sinceramente.
Vincenzo
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

20 marzo 2025 - 09:42

Ciao Vincent,

È possibile forzare l'installazione di una versione specifica utilizzando la seguente sintassi:

Codice: Seleziona tutto

wapt-get install "tis-monpaquet(=2.5.3)"
Tuttavia, la versione "pinning" non è memorizzata nell'agente e pertanto il pacchetto verrà aggiornato al prossimo aggiornamento wapt-get.

Sinceramente,

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Avatar utente
vcardon
Esperto WAPT
Messaggi: 272
Registrazione: 06/10/2017 - 22:55
Posizione: Nantes, Francia

20 marzo 2025 - 19:46

Ciao, per dare seguito al commento di Denis, se desideri una versione di un software senza che si aggiorni, duplica la versione che ti interessa e rinomina il pacchetto con il numero di versione del software.

Ad esempio: il pacchetto tis-firefox per la versione 136.0.2 diventerebbe tis-firefox-pinned-136.0.2.
Vincent CARDON
Tranquillo IT
VincentUCA
Messaggi: 4
Registrazione: 25 ottobre 2023 - 14:49

21 marzo 2025 - 11:34

Ciao a tutti,
Grazie per i tuoi preziosi consigli. Ho testato con successo l'installazione di una versione precedente del mio pacchetto. Tuttavia, la parte aggiunta da WAPT non deve essere omessa dal numero di versione, altrimenti non funzionerà. Per usare l'esempio precedente, si presenta così:

Codice: Seleziona tutto

wapt-get install "tis-monpaquet(=2.5.3-2)"
Suggerisco di rimuovere l'installazione tramite l'UUID di un pacchetto dalla documentazione se non funziona più e di aggiungere questo metodo tramite il "pinning" della versione, che non sono riuscito a trovare altrove.

Per essere sincero, il pacchetto che sto cercando di sviluppare è per il software Chimera. Nel repository tranquil.it esiste già un pacchetto con il codice per disinstallare le versioni precedenti, ma ho notato due cose.

Il primo problema è che il numero di versione del software Chimera non è registrato nel registro di Windows. Pertanto, il codice del pacchetto è il seguente:

Codice: Seleziona tutto

for to_uninstall in installed_softwares("UCSF Chimera"):
        if Version(to_uninstall["version"]) < Version(last_version):
Verificare sempre la condizione:

Codice: Seleziona tutto

if 0.0.0.0 < N° de la dernière version:
Pertanto, indipendentemente dalla versione installata, verrà disinstallata.

Il secondo problema è che la funzione `installed_softwares("UCSF Chimera")` recupera anche la chiave di registro di ChimeraX, anch'essa priva di numero di versione. Questo comporta la disinstallazione di ChimeraX durante il processo di installazione di Chimera.

Ho notato che nella chiave di registro di disinstallazione di Chimera, il numero di versione era indicato nella chiave "DisplayName". Pertanto, ho modificato il codice come segue:

Codice: Seleziona tutto

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})")
Le condizioni testate diventano:

Codice: Seleziona tutto

if 1.18.0.0 <1.19.0.0:
E

Codice: Seleziona tutto

if "ChimeraX"<1.19.0.0:
Poiché ChimeraX non ha il numero di versione incluso in "DisplayName", questa condizione sembra restituire False.

Non è la soluzione più pulita, ma funziona. L'ultima versione di Chimera non viene disinstallata e reinstallata quando il pacchetto viene aggiornato senza modificare la versione del software, e nemmeno ChimeraX viene disinstallato, consentendo la coesistenza di entrambi i pacchetti software. Ammetto che è un po' un cavillo :oops: Perché ora che ho aggiunto la funzione per rimuovere il collegamento sul desktop, non credo che toccherò il codice di questo pacchetto. E normalmente non ha molto senso avere Chimera e ChimeraX installati sulla stessa macchina, ma a quanto pare ci sono funzioni rimosse da Chimera in ChimeraX che sono utili per alcuni utenti.

Grazie ancora per aver risposto alla mia richiesta.
Sinceramente.
Vincenzo
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

21 marzo 2025 - 14:11

Ciao Vincent,

grazie per il feedback. Inoltro il tuo messaggio al team che si occupa dei pacchetti del negozio, in modo che possano risolvere il problema seguendo il tuo suggerimento. :-)

Cordiali saluti,

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
italbot
Messaggi: 44
Registrazione: 26 settembre 2023 - 15:50

24 marzo 2025 - 11:10

Ciao,

ho appena modificato il codice in modo che una versione di ChimeraX già installata non venga disinstallata insieme a Chimera. In effetti, il controllo della versione non funzionava; ho corretto anche quello.

Grazie per avercelo segnalato.

Cordiali saluti,

Ingrid
Tranquillo IT
Bloccato