Pagina 1 di 1

creazione di pacchetti Linux

Pubblicato: 10 agosto 2026 - 17:49
di gsalin
Salve,
stiamo attualmente testando WAPT, grazie per questo strumento! Sono particolarmente interessato alla creazione di pacchetti Linux (Ubuntu 24) per la distribuzione di strumenti interni.
Ho consultato la documentazione, ma fatico a trovare ciò di cui ho bisogno. Nello specifico, sulla pagina https://www.wapt.fr/fr/doc/wapt-create- ... y-packages, c'è la sezione 1.3.3 "Creazione di pacchetti Linux semplici", ma è vuota.

Ad esempio, vorrei distribuire uno script di connessione a un server RDP, utilizzando xfreerdp3 in /usr/local/bin. Vorrei copiare il launcher associato sul desktop di tutti gli utenti esistenti (e in /etc/skel per i futuri utenti) e l'icona del launcher in /usr/share/icons/.

Avete qualche risorsa o suggerimento che potrebbe aiutarmi a iniziare?

PyScripter è specifico per Windows, se ho capito bene. Esiste un equivalente per Linux che permetta di testare le diverse funzioni del pacchetto (installazione, disinstallazione, ecc.)?

Grazie in anticipo per l'aiuto,

Gerald.
PS: Ho installato la console sulla mia macchina Ubuntu 24 con l'aiuto dell'amministratore che ha configurato il server WAPT (non so quale sistema operativo stia eseguendo).

Oggetto: Creazione di pacchetti Linux

Pubblicato: 11 agosto 2026 - 09:34
di italbot
Ciao,

sì, è un peccato che questa sezione sia vuota. Prenderemo in considerazione l'aggiunta di pacchetti di esempio per Linux.

Nel frattempo, ti invito a consultare questa pagina:

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

Lì troverai le diverse funzioni disponibili per i vari sistemi operativi.

Se ho capito bene, nel tuo pacchetto vuoi semplicemente copiare dei file?

Cordiali saluti,

Ingrid

Oggetto: Creazione di pacchetti Linux

Pubblicato: 11 agosto 2026 - 10:36
di gsalin
Ciao Ingrid,
Grazie per il link, avevo trovato solo le guide di Windows... Non ho cercato abbastanza bene ;(
Per ora sì, voglio solo fare la copia, ma in futuro potrebbe evolversi in qualcosa di più complesso (installare il pacchetto .deb + copiare... ma a quanto pare, stando alle istruzioni, dovrebbe essere abbastanza semplice) ;))
Okay, quindi tutto quello che devo fare è modificare il file setup.py nell'installer, usando funzioni di supporto e puro Python

Ad esempio, nel mio caso, il mio file setup.py avrebbe un aspetto simile a questo:

Codice: Seleziona tutto

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 verificherò nei prossimi giorni

Oggetto: Creazione di pacchetti Linux

Pubblicato: 11 agosto 2026 - 11:24
di italbot
Sì, sembra un'ottima soluzione considerando ciò che devi fare.

Normalmente puoi abbreviare `os.path.isdir()` in `isdir()` per risparmiare codice.

Cordiali saluti,

Ingrid

Oggetto: Creazione di pacchetti Linux

Pubblicato: 11 agosto 2026 - 11:39
di gsalin
Beh,
non ho resistito... l'ho testato. L'installazione è andata liscia (dopo qualche correzione, ovviamente... ma visualizzando gli errori dopo l'installazione tramite la console).

Ho appena scoperto che è possibile testare gli script di installazione e disinstallazione localmente su Linux con il comando `
sudo wapt-get install myPackage_0-1_ubuntu_PROD-wapt/`.

Se ci sono errori Python in setup.py, verranno rilevati prima dell'installazione del pacchetto, il che è molto più semplice ;). Dev'essere l'equivalente di PyScripter.

Ottimo, sta procedendo.

Oggetto: Creazione di pacchetti Linux

Pubblicato: 11 agosto 2026 - 14:01
di gsalin
Sto riscontrando un problema di permessi con un file situato in /usr/local/bin. Gli utenti non dispongono dei permessi di esecuzione per questo script.
Non ho trovato un metodo in setuhelpers per gestire i permessi. Puoi confermarlo?

In tal caso, valuterò l'utilizzo di Python.

Oggetto: Creazione di pacchetti Linux

Pubblicato: 11 agosto 2026 - 17:09
di gsalin
Ho usato Python puro per modificare i permessi (os.chmod()). Alla fine,

ho creato un piccolo documento per lo sviluppo di un pacchetto Linux di base. Non ho potuto allegarlo a questo messaggio perché il limite di dimensione del file è di 256 KB, quindi eccolo qui come link (che scadrà tra 15 giorni): https://filesender.renater.fr/?s=downlo ... 5ba491b765
Sono aperto a suggerimenti su come inserire questo file da qualche parte (in un post in evidenza o altro), o meglio ancora, integrarlo nella documentazione.
Se vedete dei miglioramenti da apportare, sono aperto a suggerimenti. ;)