Pagina 1 di 1
La funzione get_unrelevant_host_packages() restituisce un elenco vuoto
Pubblicato: 25 marzo 2024 - 10:28
di brice73
Salve,
volevo utilizzare la funzione `get_unrelevant_host_packages()` all'interno di un pacchetto. Quando la applico a un pacchetto installato sulla macchina ma non più assegnato ad essa (non più presente nell'elenco dei pacchetti assegnati alla macchina nella console), la funzione restituisce un elenco vuoto, mentre dovrebbe restituire almeno quel pacchetto presente nell'elenco.
Quale potrebbe essere la causa?
Re: La funzione get_unrelevant_host_packages() restituisce un elenco vuoto
Pubblicato: 28 marzo 2024 - 09:51
di brice73
La funzione `get_unrelevant_host_packages()` funziona correttamente ed è normale che restituisca un elenco vuoto.
Avevo frainteso quali pacchetti stesse restituendo (host, unit, ecc.). Inizialmente pensavo restituisse i pacchetti installati sulla macchina ma non più assegnati ad essa.
Puoi chiudere o eliminare la discussione.
Cordiali saluti
Re: La funzione get_unrelevant_host_packages() restituisce un elenco vuoto
Pubblicato: 28 marzo 2024 - 19:34
di dcardon
Ciao Brice,
In effetti, si tratta di una funzione comune utilizzata dal motore WAPT, ma che non ha molto senso richiamare in un pacchetto WAPT.
Mi sembra che la funzione che cerchi sia simile alla funzione autoremove in Debian apt-get. Attualmente, non memorizziamo l'origine dell'installazione, che può essere implicita (pacchetto unitario / o pacchetto di gruppo, pacchetto di profilo) o esplicita (installazione da riga di comando wapt-get o self-service). Pertanto, al momento non possiamo implementare autoremove, altrimenti rischieremmo di rimuovere pacchetti non necessari.
Se hai un pacchetto specifico da pulire nell'intero dominio, puoi utilizzare un pacchetto di pulizia con una funzione come la seguente:
Codice: Seleziona tutto
def install():
WAPT.uninstall('mon-paquet-que-je-ne-veux-plus')
Sinceramente,
Denis
Re: La funzione get_unrelevant_host_packages() restituisce un elenco vuoto
Pubblicato: 31 marzo 2024 - 11:01
di brice73
Ciao Denis,
grazie per il tuo consiglio. Il mio obiettivo era disinstallare completamente un pacchetto e contemporaneamente installarne un altro. Pertanto, ho utilizzato la funzione `remove('package')` invece di `uninstall('package')`, ma volevo che la disinstallazione fosse condizionata a due fattori: in primo luogo, una versione WAPT successiva del pacchetto da disinstallare (perché la disinstallazione del pacchetto esistente non è andata a buon fine e ho dovuto prima aggiornarlo utilizzando la funzione `upgrades()`), e in secondo luogo, che il pacchetto non fosse più assegnato alla macchina. Pensavo di poter recuperare queste informazioni utilizzando la funzione `get_unrelevant_host_packages()` per evitare di reinstallare il pacchetto se fosse ancora assegnato alla macchina. Poiché
la funzione `get_unrelevant_host_packages()` non ha restituito le informazioni che mi aspettavo, non ho incluso questa seconda condizione per la disinstallazione del pacchetto. Ma non era strettamente necessario; mi sono assicurato tramite la console che il pacchetto da disinstallare fosse stato rimosso da tutte le macchine e tutto ha funzionato correttamente.
Cordiali saluti