Recompiler WAPT à partir des sources

Construire l’agent WAPT pour Windows

Exigences liées à WAPT

Environment Python

  • Python 2.7.13 ;
  • client python libraries in requirements.txt ;
  • server python libraries in requirements-server.txt ;

Packages TIS

Créer un environment de développement virtualenv

Pour une installation propre de zéro sur Windows :

c:\python27\python -m pip install -U pip setuptools
  • créer l’environment de développement ``virtualenv`` ;

    mkdir c:\tranquilit
    git clone git@github.com:tranquilit/WAPT.git (ou git clean -fxd ...)
    cd c:\tranquilit\wapt init_workdir.bat
    

Créer un environment de développement avec virtualenv

en tant qu’un Administrateur Local :

  • installer l’agent WAPT à partir de https://srvwapt.ad.tranquil.it/wapt/waptagent.exe ;
  • Désactiver les UAC ;
  • afficher les fichiers cachés et les extensions de fichiers ;
  • augmenter la largeur des fenêtres du CMD et passer en mode édition rapide ;
  • copier le certificat de signature de code dans le fichier C:UsersbuildbotDocuments ;

Installer Lazarus

wapt-get install tis-pyscripter tis-tortoisegit tis-7zip tis-python27 tis-notepadplusplus tis-firefox tis-putty tis-lazarus tis-openssh tis-signtool

wget https://www.sqlite.org/2018/sqlite-dll-win32-x86-3250200.zip
unzip sqlite3.dll dans C:\Windows\SysWOW64
md c:\tranquilit

git.exe clone  --recurse-submodules "ssh://htouvet@srvdev.ad.tranquil.it:29418/wapt/wapt.git" "C:\tranquilit\wapt"
REM git pull --recurse-submodules=yes --ff-only)
cd  \tranquilit\wapt
init_workdir.bat

git clone git://srvdev.ad.tranquil.it/wapt/pltis_indy.git c:\tranquilit\pltis_indy
git clone git://srvdev.ad.tranquil.it/wapt/pltis_utils.git c:\tranquilit\pltis_utils
git clone git://srvdev.ad.tranquil.it/wapt/pltis_sogrid.git  c:\tranquilit\pltis_sogrid
git clone git://srvdev.ad.tranquil.it/wapt/pltis_superobject.git  c:\tranquilit\pltis_superobject
git clone git://srvdev.ad.tranquil.it/wapt/Python-for-Lazarus.git  c:\tranquilit\Python-for-Lazarus
git clone git://srvdev.ad.tranquil.it/wapt/pltis_virtualtrees.git c:\tranquilit\pltis_virtualtrees
git clone git://srvdev.ad.tranquil.it/wapt/pltis_virtualtreesextra.git c:\tranquilit\pltis_virtualtreesextra
git clone git://srvdev.ad.tranquil.it/wapt/pltis_dcpcrypt.git c:\tranquilit\pltis_dcpcrypt
git clone git://srvdev.ad.tranquil.it/wapt/pltis_luipack.git c:\tranquilit\pltis_luipack
git clone git://srvdev.ad.tranquil.it/wapt/pltis_synapse.git c:\tranquilit\pltis_synapse

c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_dcpcrypt\dcpcrypt_laz.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_indy\indylaz.lpk
c:\lazarus\lazbuild.exe c:\tranquilit\pltis_utils\pltis_utils.lpk
c:\lazarus\lazbuild.exe c:\tranquilit\pltis_superobject\pltis_superobject.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_virtualtrees\pltis_virtualtrees.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_virtualtreesextra\pltis_virtualtreesextra.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_sogrid\pltis_sogrid.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_dcpcrypt\dcpcrypt_laz.lpk
c:\lazarus\lazbuild.exe c:\tranquilit\pltis_synapse\laz_synapse.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_luipack\luicomponents\luicomponents.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_luipack\luicomponents\luicomponents.lpk
c:\lazarus\lazbuild.exe --add-package C:\tranquilit\Python-for-Lazarus\python4lazarus\python4lazarus_package.lpk
c:\lazarus\lazbuild.exe --add-package C:\lazarus\components\anchordocking\design\anchordockingdsgn.lpk
c:\lazarus\lazbuild.exe --build-ide=
c:\lazarus\lazbuild.exe c:\tranquilit\wapt\wapt-get\pltis_wapt.lpk

REM depending on version, change community to enterprise
waptpython build_exe.py community

Installer l’environnement serveur sur Windows

cd \tranquilit\wapt
waptpython waptserver\winsetup.py all

Créer les installeurs InnoSetup

Les fichiers .iss se situent dans C:tranquilitwaptwaptsetup ;

L’installeur waptsetup (C:tranquilitWAPTwaptsetupwaptsetup.iss) inclut les bibliothèques python, l’outil en ligne de commande wapt-get, le webservice local waptservice, les outils de packaging et la console WAPT waptconsole.

Le programme waptserver (C:tranquilitWAPTwaptsetupwaptserver.iss) permet de construire un installeur qui inclut un serveur Nginx en frontal pour le webservice Flask waptserver.py.

L’installeur waptstarter (C:tranquilitWAPTwaptsetupwaptstarter.iss) n’inclut que le code pour le webservice local et l’outil en ligne de commande wapt-get, mais pas la console WAPT waptconsole, ni les outils de packaging.

Clic-droit sur le fichier iss ‣ Compiler crée un installeur avec InnoSetup.

ou en ligne de commande :

"C:\Program Files (x86)\Inno Setup 5\ISCC.exe" C:\tranquilit\wapt\waptsetup\waptsetup.iss

Les paramètres généraux des installeurs sont définis par des #define en entête de fichier.

Si vous ne signez pas les installeurs, vous pouvez commenter les lignes #define signtool ...

Construire l’agent WAPT pour MacOS

Générer le paquet de l’agent

  • si vous n’avez pas accès à la commande sudo, vous devrez activer l’utilisateur root ;

  • à partir de la racine du répertoire WAPT, naviguer vers waptservice/pkg ;

  • exécuter le script createpkg avec des droits d’administrateur ;

    sudo ./createpkg.py
    

Il peut demander des logiciels supplémentaires (les outils de développement en ligne de commande) et les installer après une invite à laquelle vous devrez répondre : guilabel:Yes ;

  • le paquet de l’agent WAPT aurait dû être généré, sous un nom du type tis-waptagent-1.7.6.6550-tismacos-fdc24bca.pkg ;

Installer le paquet de l’agent WAPT

  • exécuter la commande suivante sur votre MacOS :

    sudo installer -pkg tis-waptagent*.pkg -target /
    

Si l’installation est réussie, vous devriez avoir les fichiers wapt dans /opt et accéder aux commandes wapt, wapt-get, waptpython et waptservice.

  • l’agent devrait se lancer au prochain redémarrage, si vous voulez le lancer tout de suite, vous pouvez avec la commande suivante :

    sudo launchctl load -w /Library/LaunchDaemons/wapt.plist
    

Construire l’agent WAPT pour Linux

Construire l’environnement sur Debian Linux

mkdir ~/tranquilit/
cd ~/tranquilit/
git clone git@github.com:tranquilit/WAPT.git
cd ~/tranquilit/wapt/waptserver/deb
python createdeb.py
cd ~/tranquilit/wapt/waptrepo/deb
python createdeb.py