Page 1 sur 1

Création de paquet linux

Publié : 10 août 2026 - 17:49
par gsalin
Bonjour,
nous sommes en train de tester WAPT, merci pour cet outil! Je m'intéresse plus particulièrement à la création de paquets linux (ubuntu24) pour déployer des outils internes.
J'ai parcouru la doc, mais je peine à trouver mon bonheur. Notamment, sur la page https://www.wapt.fr/fr/doc/wapt-create- ... y-packages, on a le paragraphe 1.3.3 Packager des paquets linux simples, mais il est vide.

Exemple tout bête, je souhaite déployer un script de connexion à un serveur RDP, en utilisant xfreerdp3 dans /usr/local/bin. Je souhaite copier le lanceur associé sur le bureau de tous les utilisateurs existants (et dans /etc/skel pour les futurs utilisateurs) et l'icone du lanceur dans /usr/share/icons/

Est-ce que vous auriez des ressources/pointeurs qui aideraient à me lancer?

PyScripter est spécifique de windows si je comprend bien. Est-ce qu'on a l'équivalent sous linux qui permettrait de tester les différentes fonctions du paquet (install, uninstall.....)?

Merci d'avance pour votre aide

Gérald
PS : j'ai installé la console sur mon poste ubuntu24 avec l'aide de l'admin qui a monté le serveur WAPT (je ne sais pas sur quel OS il tourne)

Re: Création de paquet linux

Publié : 11 août 2026 - 09:34
par italbot
Bonjour,

Effectivement, c'est dommage que cette partie soit vide, nous réfléchirons pour intégrer des exemples de paquet sur Linux.

En attendant, je vous invite à consulter cette page :

https://www.wapt.fr/fr/doc-2.6/wapt-cre ... lpers.html

Vous y trouverez les différentes fonctions disponibles pour les différentes OS.

Si je comprends bien, dans votre paquet vous souhaitez juste copier des fichiers ?

Cordialement,

Ingrid

Re: Création de paquet linux

Publié : 11 août 2026 - 10:36
par gsalin
Bonjour Ingrid,
merci pour ce lien, je n'étais tombé que sur les helpers windows.....pas assez bien cherché ;(
pour le moment oui, je ne veux faire que de la copie, mais ça devrait évoluer vers des choses plus complexes (install deb + copie...mais d'après le helper ça devrait se faire assez facilement du coup ;))
ok, il me suffit donc de modifier le fichier setup.py dans le install, en utilisant les helpers et du pur python

genre pour mon cas, mon setup.py serait du style

Code : Tout sélectionner

from setuphelpers import *
import glob
import os

def install():
    install_apt("freerdp3-x11") #installe xfreerdp3
    install_apt("yad") #installe yad, utilisé dans le script bash ci-dessous
    filecopyto("xfreeRDP3-VM-Windows.sh","/usr/local/bin") #copie l'exécutable dans bin
    filecopyto("xfreeRDP3-VM-Windows.desktop","/etc/skel") #copie le lanceur dans /etc/skel pour le déployer aux nouveaux utilisateurs du poste
    filecopyto("iconXfreeRDP3-VM-Windows.svg","/usr/share/icons/INRAEUbuntuInstall") #copie l'icone du lanceur dans le répertoire d'icone
    for file in glob.glob("/home/*"): #recherche tous les homes directory existant
        print(file)
        if os.path.isdir(file + '/Bureau'): #si le répertoire Bureau existe dans le home, y copie le lanceur
            filecopyto("xfreeRDP3-VM-Windows.desktop",file + '/Bureau')
        elif os.path.isdir(file + '/Desktop'): #si le répertoire Desktop existe dans le home, y copie le lanceur
            filecopyto("xfreeRDP3-VM-Windows.desktop",file + '/Desktop')

def uninstall():
    remove_file("/usr/local/bin/xfreeRDP3-VM-Windows.sh")
    remove_file("/etc/skel/xfreeRDP3-VM-Windows.desktop")
    remove_tree("/usr/share/icons/INRAEUbuntuInstall")
    for file in glob.glob("/home/*"): #recherche tous les homes directory existant
        print(file)
        if os.path.isdir(file + '/Bureau'): #si le répertoire Bureau existe dans le home, y copie le lanceur
            if os.path.isfile(file + '/Bureau/xfreeRDP3-VM-Windows.desktop'):
                remove_file(file + '/Bureau/xfreeRDP3-VM-Windows.desktop')
        elif os.path.isdir(file + '/Desktop'): #si le répertoire Desktop existe dans le home, y copie le lanceur
            if os.path.isfile(file + '/Desktop/xfreeRDP3-VM-Windows.desktop'):
                remove_file(file + '/Desktop/xfreeRDP3-VM-Windows.desktop')
je teste ça dans les prochains jours

Re: Création de paquet linux

Publié : 11 août 2026 - 11:24
par italbot
Oui, ça semble pas mal vu ce que vous devez faire.

Normalement vous pouvez réduire os.path.isdir() par isdir() pour économiser un peu d'écriture.

Cordialement,

Ingrid

Re: Création de paquet linux

Publié : 11 août 2026 - 11:39
par gsalin
Bon,
je n'ai pas résisté...je l'ai testé. L'install s'est bien passée (après qq corrections bien sûr...mais en voyant les erreurs après déploiement via la console).

je viens de trouver qu'on peut tester localement les script d'install, uninstall sous linux avec la commande
sudo wapt-get install monPaquet_0-1_ubuntu_PROD-wapt/

si on a des erreurs pyhon dans le setup.py, elle seront détectées avant d'avoir déployé le paquet, plus fluide ;). ça doit être l'équivalent de pyscripter

cool, ça avance

Re: Création de paquet linux

Publié : 11 août 2026 - 14:01
par gsalin
je rencontre un problème de droits sur le fichier mis dans /usr/local/bin. Les utilisateurs n'ont pas les droits d'exécution sur ce script.
je n'ai pas vu de methode dans setuhelpers pour gérer les droits. Vous confirmez?

si oui, je regarde du côté de python

Re: Création de paquet linux

Publié : 11 août 2026 - 17:09
par gsalin
je suis passé par du pur python pour faire le changement de droits (os.chmod()) au final

j'ai fait une petit doc pour le développement d'un paquet linux de base. Je n'ai pas pu l'ajouter à ce message car PJ limitée à 256Ko, le voici donc en lien (qui expirera dans 15 jours) : https://filesender.renater.fr/?s=downlo ... 5ba491b765
Possible de lier ce fichier qq part (post épinglé ou autre), ou mieux de l'intégrer à la doc
si vous voyez des améliorations à y apporter, je suis ouvert ;)