Creación de paquetes de Linux

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Respuesta
gsalin
Mensajes: 5
Inscripción: 10 de agosto de 2026 - 17:16

10 de agosto de 2026 - 17:49

Hola,
estamos probando WAPT. ¡Gracias por esta herramienta! Me interesa especialmente crear paquetes para Linux (Ubuntu 24) para desplegar herramientas internas.
He revisado la documentación, pero no encuentro lo que necesito. En concreto, en la página https://www.wapt.fr/fr/doc/wapt-create- ... y-packages, hay una sección 1.3.3, "Empaquetado de paquetes sencillos para Linux", pero está vacía.

Por ejemplo, quiero desplegar un script de conexión a un servidor RDP usando xfreerdp3 en /usr/local/bin. Quiero copiar el lanzador asociado al escritorio de todos los usuarios existentes (y a /etc/skel para futuros usuarios) y el icono del lanzador a /usr/share/icons/.

¿Tenéis algún recurso o sugerencia que me ayude a empezar?

PyScripter es específico de Windows, si no me equivoco. ¿Existe un equivalente para Linux que permita probar las diferentes funciones del paquete (instalación, desinstalación, etc.)?

Gracias de antemano por tu ayuda,

Gerald.
PD: Instalé la consola en mi máquina Ubuntu 24 con la ayuda del administrador que configuró el servidor WAPT (desconozco qué sistema operativo utiliza).
Consola 2.6.1.17834
Cliente Linux Ubuntu 24.04
italbot
Mensajes: 93
Inscripciones: 26 sept 2023 - 15:50 horas.

11 de agosto de 2026 - 09:34

Hola,

sí, es una pena que esta sección esté vacía. Consideraremos añadir paquetes de ejemplo para Linux.

Mientras tanto, te invito a consultar esta página:

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

Allí encontrarás las diferentes funciones disponibles para los distintos sistemas operativos.

Si no me equivoco, ¿en tu paquete simplemente quieres copiar archivos?

Atentamente,

Ingrid
TI tranquila
gsalin
Mensajes: 5
Inscripción: 10 de agosto de 2026 - 17:16

11 de agosto de 2026 - 10:36

Hola Ingrid,
Gracias por el enlace, solo había encontrado las herramientas de ayuda para Windows... No busqué lo suficiente ;(
Por ahora, sí, solo quiero hacer copias, pero debería evolucionar hacia cosas más complejas (instalar deb + copiar... pero según el asistente, debería ser bastante fácil) ;))
Bien, entonces lo único que necesito hacer es modificar el archivo setup.py en el instalador, utilizando funciones auxiliares y Python puro

Por ejemplo, en mi caso, mi archivo setup.py se vería algo así:

Código: Seleccionar todo

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')
Lo probaré en los próximos días
Consola 2.6.1.17834
Cliente Linux Ubuntu 24.04
italbot
Mensajes: 93
Inscripciones: 26 sept 2023 - 15:50 horas.

11 de agosto de 2026 - 11:24

Sí, parece bastante bien teniendo en cuenta lo que necesitas hacer.

Normalmente puedes abreviar `os.path.isdir()` a `isdir()` para ahorrar código.

Saludos,

Ingrid
TI tranquila
gsalin
Mensajes: 5
Inscripción: 10 de agosto de 2026 - 17:16

11 de agosto de 2026 - 11:39

Bueno,
no pude resistirme... Lo probé. La instalación fue sin problemas (después de algunas correcciones, claro... pero viendo los errores después del despliegue a través de la consola).

Acabo de descubrir que puedes probar los scripts de instalación y desinstalación localmente en Linux con el comando `
sudo wapt-get install myPackage_0-1_ubuntu_PROD-wapt/`.

Si hay errores de Python en setup.py, se detectarán antes de desplegar el paquete, lo cual es mucho más fluido ;). Debe ser el equivalente a PyScripter.

Genial, está progresando.
Consola 2.6.1.17834
Cliente Linux Ubuntu 24.04
gsalin
Mensajes: 5
Inscripción: 10 de agosto de 2026 - 17:16

11 de agosto de 2026 - 14:01

Tengo un problema de permisos con un archivo ubicado en /usr/local/bin. Los usuarios no tienen permisos de ejecución para este script.
No he encontrado ningún método en setuhelpers para gestionar los permisos. ¿Podrías confirmarlo?

Si es así, consideraré usar Python.
Consola 2.6.1.17834
Cliente Linux Ubuntu 24.04
gsalin
Mensajes: 5
Inscripción: 10 de agosto de 2026 - 17:16

11 de agosto de 2026 - 17:09

Utilicé Python puro para cambiar los permisos (os.chmod()). Al final,

creé un pequeño documento para desarrollar un paquete básico de Linux. No pude adjuntarlo a este mensaje porque el límite de tamaño de archivo es de 256 KB, así que aquí está como enlace (que caducará en 15 días): https://filesender.renater.fr/?s=downlo ... 5ba491b765.
Acepto sugerencias para enlazar este archivo en algún lugar (publicación fijada o de otra forma), o mejor aún, integrarlo en la documentación.
Si ven alguna mejora que se pueda hacer, estoy abierto a sugerencias. ;)
Consola 2.6.1.17834
Cliente Linux Ubuntu 24.04
Respuesta