Gambas France BETA


Pas de compte ? Incription

Nettoyage

Ce sujet est résolu.

1
AuteurMessages
valaquarus#1 Posté le 2/12/2021 à 15:26:03
-- Unus Ex Altera --Bonjour à tous,
comment indiquer à l'installateur quels fichiers et autres "scories" doivent être effacés lors d'une désinstallation d'un programme?
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
spheris#2 Posté le 2/12/2021 à 19:19:50
De quel désinstallateur parles-tu?
Le apt,dpkg, synaptic,pacman etc...
ou le désinstallateur de logiciels gambas dans la logithèque?
valaquarus#3 Posté le 2/12/2021 à 20:21:17
-- Unus Ex Altera --Bonne question, sphéris,
effectivement il s'agit du désinstallateur intégré de gambas.
Et plus exactement du fait d'effacer des fichiers installés après l'installation du programme.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
linuxos#4 Posté le 3/12/2021 à 14:41:32
Un peu de sel, de poivre et la crevette sera... Bonjour Valaquarus,

Peux tu etre plus précis stp. Sagit-il d'un programme Gambas installé par l'IDE de Gambas (Ex: venant de la Forge Gambas), ou a partir de packages créer par l'IDE de Gambas et installés sur ton systeme ?

- Dans le cas de programmes venant de la forge Gambas, le fait de désinstaller, par l'IDE de Gambas, le 'dit' programme, va supprimer les fichiers dans: <$HOMEDIR>.local/share/gambas3/src/<Nom Auteur Projet Ex: OlivierCruilles>/<Nom du Projet>

- Dans le cas de packages créer par l'IDE, ce seront tous les fichiers compris dans le(s) package(s) qui seront supprimés

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
valaquarus#5 Posté le 3/12/2021 à 23:31:34
-- Unus Ex Altera --Bonsoir Olivier,
oui, tu as raison : je pensais uniquement aux paquets créé par l'IDE de gambas. J'ai fait un petit prog qui installe des "choses" après que celui-ci soit installé et je voudrais pouvoir faire le nettoyage au moment de sa désinstallation et bien sûr je ne sais pas ou n'entrevois pas la chose.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
linuxos#6 Posté le 4/12/2021 à 16:29:07
Un peu de sel, de poivre et la crevette sera... Valaquarus,

En ce qui concerne les paquets (RPM, DEB, etc...) généré par l'IDE de Gambas ou autres, la seule façon de faire le ménage lorsque de la désinstallation du paquet, c'est d'utiliser les scripts de post-désinstallation ou pre-désinstallation prévus par celui qui créer les paquets. Ce sont en fait des commandes, des scripts bash, des scripts Python, etc… qui seront exécutés a la fin du processus de désinstallation du paquet.
Tout cela n'est pas dépendant de Gambas et ce sont des mécanismes propres au RPM, DEB, etc...

Malheureusement l'IDE de Gambas ne permet pas de gérer ces options de pré-installation, post-installation, pré-désinstallation, post-désinstallation, mais Benoit a donné la possibilité d'ajouter des fichiers de l'utilisateur, autres que ceux présents dans le répertoire du programme du projet de l'utilisateur, et de les installer ou l'on veut sur la machine cible.
Donc pour te donner un exemple concret:
Ex: mon application Gambas que je veux empaqueter en RPM ou DEB: /home/olivier/projets/<MON-PROGRAMME>/

1 - Dans l'IDE de gambas, dans l'arborescence a gauche ou est affichée la liste de tes fichiers, il y a un répertoire nommé 'Projet'. C'est ici que tu vas copier tous les fichiers que tu veux ajouter lors de la création de ton paquet. Nota: tous les fichiers présents dans le répertoire 'Projet' ne sont jamais inclus dans ton exécutable *.gambas

2 - Une fois les fichiers ajoutés dans le répertoire 'Projet', dans l'assistant de création de paquets dans l'IDE de Gambas, au panneau 8, il faut ajouter les fichiers que tu souhaites (ceux ajouté dans 'Projet') et spécifier le chemin de destination sur les disque dur:

Ex: supposons que je veuille ajouter 1 fichier seuls et 1 répertoire entiers

Voici ce que j'ai présentement dans 'Projet':

style.css
Images (dir) => images1, images2, images3

Voici ce que je configure dans le panneau 8 a ce moment la:

style.css /usr/share/mon_projet/
Images /usr/share/mon_projet/

Nota: Attention a bien mettre le '/' a la fin pour dire 'dans le répertoire'


Donc au final, ces fichiers la seront ajoutés dans ton paquet et seront installés automatiquement sur la machine lors de l'installation du paquet.
Bien sûr, et c'est là l'intérêt, ceux fichiers seront aussi supprimés lors de la désinstallation du paquet.


Je te laisse tester par toi même, créer toi un paquet avec des fichiers ajoutés, installe le, contrôle si les fichiers ajoutés sont bien sur la machine, puis retire le paquet et vérifie si les fichiers ont bien été supprimés de la machine comme prévu.

J'espere ne pas avoir été trop confus dans mes explication.

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
valaquarus#7 Posté le 4/12/2021 à 20:43:18
-- Unus Ex Altera --Merci Linuxos,
j'ai testé ta solution dans l'ide au panneau 8 mais apparemment on ne peut que placer des fichiers ou répertoire dans /usr/share et pas ailleurs. Ceux là en tout cas seront bien "nettoyés" lors de la désinstallation du programme (j'ai testé) par contre ceux que mon programme installe dans user.home/.local/monRépertoire ne sont pas "nettoyés" ; et là je ne sais pas faire du tout à moins de demander un effacement à chaque clôture du programme.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
linuxos#8 Posté le 4/12/2021 à 21:55:10
Un peu de sel, de poivre et la crevette sera... Valaquarus,

1 - Il te reste toujours la possibilité de faire un petit script bash (ou gambas) pour faire le ménage dans le compte de l'utilisateur.

C'est une procédure classique, car les données utilisateur ne sont pas touchées par les paquets en général.
Ainsi tu peux joindre le petit script avec ton projet et si l'utilisateur en a besoin, il pourra faire du ménage lui-même.

#!/bin/bash
# Script de nettoyage

test -d /UserHome/<mon repertoire> && rm -rf /UserHome/<mon repertoire>



Nota:
'test -d' ==> test si le répertoire existe
'&&' ==> si le test du répertoire est VRAI alors ==> rm -rf /UserHome/<mon repertoire>

2 - Tu peux aussi tester en début de ton programme si des données existent déjà dans le répertoire utilisateur, les mettre a jour au besoin, ou les supprimer pour en créer de nouvelle selon la condition d'une nouvelle version de ton logiciel ou pas. A toi de trouver la bonne recette.

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
valaquarus#9 Posté le 4/12/2021 à 23:28:46
-- Unus Ex Altera --Merci Olivier de toutes ces réponses qui me donnent de quoi faire.
Je vais commencer par le deuxième point car pour le script, je ne maîtrise pas du tout, bien que ça ne semble pas très compliqué.
Philippe.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
1