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
;
Environment Lazarus¶
WAPT utilise les bibliothèques tierces freepascal / lazarus suivantes :
pl_indy : https://www.pilotlogic.com/sitejoom/index.php/115-wiki/ct-packages/networking/271-pl-indy ;
pltis_superobject : https://github.com/hgourvest/superobject;
virtualtrees: https://www.pilotlogic.com/sitejoom/index.php/85-wiki/codetyphon-studio/ct-packages/301-pl-virtualtrees and https://github.com/blikblum/VirtualTreeView-Lazarus;
pltis_python4delphi : https://github.com/pyscripter/pltis_python4delphi ;
delphizmq : https://github.com/bvarga/delphizmq ;
thmtlport : https://svn.code.sf.net/p/lazarus-ccr/svn/components/thtmlport ;
Packages TIS¶
pltis_python4delphi : https://github.com/tranquilit/pltis_python4delphi ;
pltis_utils : https://github.com/tranquilit/pltis_utils : sous-ensemble de librairies du projet JEDI JCL adapté à lazarus ;
pltis_sogrid : https://github.com/tranquilit/pltis_sogrid ;
pltis_superobject : https://github.com/tranquilit/pltis_superobject ;
Créer un environment de développement virtualenv¶
Pour une installation propre de zéro sur Windows :
install python2.7.15 from https://www.python.org/ftp/python/2.7.15/python-2.7.15.msi;
mettre à jour python-setuptools :
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 sur une installation fraîche de Windows 7 :
installer l’agent WAPT à partir de https://srvwapt.mydomain.lan/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 ;
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
REM git.exe clone --recurse-submodules "https://github.com/tranquilit/WAPT.git" "C:\tranquilit\wapt"
git.exe clone --recurse-submodules "https://github.com/tranquilit/WAPT.git" "C:\tranquilit\wapt"
REM git pull --recurse-submodules=yes --ff-only)
cd \tranquilit\wapt
init_workdir.bat
git clone https://github.com/tranquilit/pltis_indy.git c:\tranquilit\pltis_indy
git clone https://github.com/tranquilit/pltis_utils.git c:\tranquilit\pltis_utils
git clone https://github.com/tranquilit/pltis_sogrid.git c:\tranquilit\pltis_sogrid
git clone https://github.com/tranquilit/pltis_superobject.git c:\tranquilit\pltis_superobject
git clone https://github.com/tranquilit/pltis_python4delphi.git c:\tranquilit\pltis_python4delphi
git clone https://github.com/tranquilit/pltis_virtualtrees.git c:\tranquilit\pltis_virtualtrees
git clone https://github.com/tranquilit/pltis_virtualtreesextra.git c:\tranquilit\pltis_virtualtreesextra
git clone https://github.com/tranquilit/pltis_dcpcrypt.git c:\tranquilit\pltis_dcpcrypt
git clone https://github.com/tranquilit/pltis_luipack.git c:\tranquilit\pltis_luipack
git clone https://github.com/tranquilit/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\pltis_python4delphi\PythonForDelphi\Components\p4dlaz.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¶
installer Innosetup https://jrsoftware.org/download.php/ispack-unicode.exe
Les fichiers .iss
se situent dans C:\tranquilit\wapt\waptsetup
;
L’installeur waptsetup 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 permet de construire un installeur qui inclut un serveur Nginx en frontal pour le webservice Flask waptserver.py.
L’installeur waptstarter 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.
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