Page 1 sur 1
Modification fichier control du paquet machine
Posté : 30 avr. 2024 - 08:42
par Carla Scardigli
Bonjour,
Je voudrais, dans un paquet WAPT, pouvoir modifier le fichier "control" du paquet machine.
Pour l'instant je suis capable de l'afficher.
Voici le code qui permet de l'afficher :
Code : Tout sélectionner
def install():
w = common.Wapt()
package = PackageEntry(w.host_uuid)
# Récupère les fichiers control de tous les paquets présent sur la machine
package_version = package.get("package_uuid")
l = w.list()
# Parcours ces fichiers
for elt in l:
# Si le nom du paquet est celui du paquet machine on l'affiche
if elt["package"] == w.host_uuid:
print(elt)
Ce code affiche tout le contenu du fichier "control" du paquet machine.
J'ai essayé ceci :
Ce code affiche le fichier "control" avec la partie "depends" vide mais ce changement n'est pas sauvegardé.
Je n'ai pas non plus trouvé où ce fichier est stocké sur la machine.
Auriez-vous une idée de comment faire ?
Re: Modification fichier control du paquet machine
Posté : 30 avr. 2024 - 11:01
par sfonteneau
Bonjour
Je ne comprend pas ce que vous voulez faire.
Il semblerai que vous souhaitez modifier un paquet machine dans WAPT.install
Cependant, la machine qui va installer le paquet, n'a pas la clé privé qui permet de signer le paquet. (heureusement), et la machine n'a pas d'accès pour uploader des paquet (heureusement).
A mon avis il y a surement quelque chose a vous proposer mais il faudrait nous expliquer exactement le context et la finalités de ce que vous voulez faire.
Re: Modification fichier control du paquet machine
Posté : 03 mai 2024 - 12:05
par Carla Scardigli
Bonjour,
Cette demande est en lien avec la demande :
viewtopic.php?t=3833
Nous souhaiterions que lorsqu'un paquet est passé correctement sur la machine (
statut OK) un code
supprime la dépendance du paquet machine.
Le script qui ferait cette suppression pourrait être ajouté dans
l'audit (par exemple)
Car nous gérons un nombre assez important de paquets et il est inutile d'avoir des dizaines de paquets en dépendance.
Notre idée était donc de supprimer ce paquet (son nom) de la partie "
depends" du fichier "
control" du paquet machine (nom du paquet = uuid)
Nous avons ceci dans le fichier control du paquet machine:
Nous voudrions, après l'exécution du code, avoir ceci:
(partie "
depends" vide)
Comme expliquer précédemment nous avons un code qui permet d'
afficher ce fichier "
control" mais nous ne parvenons pas à le modifier.
Comment pouvons-nous faire ?
Auriez-vous une autre idée que celle là pour supprimer cette dépendance ?
Re: Modification fichier control du paquet machine
Posté : 03 mai 2024 - 15:33
par dcardon
Bonjour Carla,
le paquet machine doit être signé, donc il faut une clef de signature pour pouvoir modifier le fichier control du paquet machine. La machine n'a pas de clef, elle ne peut donc pas modifier le fichier control car il ne pourra pas être signé (ni uploadé) et donc le paquet modifié ne servira à rien.
La modification du paquet machine peut se faire au niveau de la console de l'admin (qui a une clef de signature) ou bien avec un script d'automatisation au niveau du serveur avec de préférence une clef qui n'est pas code signing.
Ceci dit, est ce que vous pourriez mieux définir le besoin. Le fait d'avoir le paquet qui reste affecté à la machine permet de mettre à jour l'appli ou la ré-installer automatiquement si elle a été supprimé par mégarde. Est ce que vous voulez supprimer tous les depends d'un paquet machine, ou bien juste un paquet qui n'a pas vocation à rester dessus?
Cordialement,
Denis
Re: Modification fichier control du paquet machine
Posté : 06 mai 2024 - 08:13
par Carla Scardigli
Bonjour,
Une désinstallation par mégarde est quasiment impossible dans nos process.
Nous souhaitons en effet pouvoir supprimer tous les depends du paquet machine, en effet lorsque nous nettoyons notre dépôt les paquets en dépendance du paquet machine nous retournent un paquet machine en erreur.
Merci de nous aider à trouver une solution
Cordialement