Packager des paquets Linux simplifiés¶
Avant de commencer, nous assumons quelques hypothèses :
vous avez une interface graphique sur votre linux ;
vous avez installé le paquet vscode depuis les dépôts officiels de Tranquil IT ;
votre utilisateur se nomme « linuxuser » et est membre du groupe des sudoers ;
Crer un modèle de paquet depuis votre poste linux¶
ouvrir une invite de commande;
en tant que linuxuser, créer un modèle de paquet WAPT ;
wapt-get make-template <template_name>
Avertissement
Ne pas lancer cette commande en tant que root ou avec sudo.
Lorsque vous créez un modèle, plusieurs fichiers son créés dans le dossier
.vscode
à l’intérieur de votre dossier du paquet :settings.json ;
launch.json ;
Exemple avec VLC:
wapt-get make-template "tis-vlc" Using config file: /opt/wapt/wapt-get.ini Template created. You can build the WAPT package by launching /opt/wapt//wapt-get.py build-package /home/linuxuser/waptdev/tis-vlc-wapt You can build and upload the WAPT package by launching /opt/wapt//wapt-get.py build-upload /home/linuxuser/waptdev/tis-vlc-wapt
Indication
Tous les paquets sont situés dans le dossier personnel de l’utilisateur linuxuser.
VSCode charge et s’ouvre sur le projet du paquet.
vérifier le contenu du fichier
control
;Vous devez donner une description à votre paquet, renseignez l” os_target et la version de votre paquet.
Indication
os_target pour unix est linux
Avertissement
version dans votre fichier
control
doit commencer à 0 et non pas la version du logiciel, nous ne savons pas précisément quelle version sera récupérée depuis les dépôts apt/yum.Fichier control original
package : tis-vlc version : 0-0 architecture : all section : base priority : optional maintainer : user description : automatic package for vlc
Fichier control modifié
package : tis-vlc version : 0 architecture : all section : base priority : optional maintainer : Tranquil-IT Systems description : VLC for linux target_os : linux min_wapt_version : 1.8
Note
Une sous-version -1 a été ajoutée. C’est la version de packaging du paquet WAPT.
Cela permet de ne pas modifier la version réelle du logiciel quand on pousse par exemple une nouvelle configuration du même logiciel sur le parc.
changer le code du fichier
setup.py
en conséquence ;:emphasize-lines: 8 # -*- coding: utf-8 -*- from setuphelpers import * uninstallkey = [] def install(): apt_install('vlc')
enregistrer le paquet ;
Gérer la désinstallation¶
changer le code du fichier
setup.py
avec une desinstallation ;
def uninstall(): apt_remove('vlc')
lancer un remove du paquet depuis le panneau Run Configurations de VSCode ;
vérifier que le programme est désinstallé
dpkg -l | grep vlc
Indication
Dans la fonction uninstall(), on ne peut pas appeler des fichiers contenus dans le paquet WAPT. Pour les appeler, il faudra avoir copié les fichiers dans un répertoire local de la machine lors de l’installation du paquet.
Gérer le session-setup¶
changer le code du fichier
setup.py
avec un session-setup ;Dans cet exemple, vous aurez besoin d’un fichier
vlcrc
dans votre paquet pour le copier dans le dossier personnel de l’utilisateur. La fonctionensure_dir
et la fonctionfilecopyto
proviennent de la bibliothèque des setuphelpers, la première va tester si le chemin existe, la seconde va copier votre fichier depuis le paquet WAPT vers sa destination.def session-setup(): vlcdir = os.path.join(os.environ['HOME'], '.config', 'vlc') ensure_dir(vlcdir) filecopyto('vlcrc',vlcdir)
lancer un session-setup du paquet depuis le panneau Run Configurations de VSCode ;
Construire et charger le paquet WAPT¶
Une fois l’installation et la désinstallation configurées et testées vous pouvez effectuer un build-upload pour charger votre nouveau paquet WAPT sur votre dépôt.
Si vous avez construit des paquets sur une autre machine (ex : Windows pour construire vos paquets WAPT Windows), vous devez copier vos clés .pem et .crt sur votre machine Linux avec WinSCP ou équivalent. Habituellement, ce paquet de certificats se trouve dans le dossier C:\private
de votre ordinateur Windows. Ensuite, indiquez le chemin d’accès aux certificats dans le fichier /opt/wapt/wapt-get.ini
.
sudo vim /opt/wapt/wapt-get.ini
renseigner le chemin de votre certificat ;
personnal_certificate_path=/opt/wapt/private/mykey.crt
Puis lancer un build-upload depuis le panneau VSCode Run Configurations ;
renseigner le mot de passe de votre clé privée puis l’identifiant et le mot de passe de passe de votre console WAPT ;
Votre paquet est maintenant téléchargé et disponible dans votre dépôt privé sur votre serveur WAPT.