windrop:compilation_cygwin
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| windrop:compilation_cygwin [2026/03/27 19:24] – [Ajout du bundle CA portable pour HTTPS] TeuK | windrop:compilation_cygwin [2026/03/27 19:46] (Version actuelle) – [Ajout du bundle CA portable pour HTTPS] TeuK | ||
|---|---|---|---|
| Ligne 326: | Ligne 326: | ||
| Le bundle doit donc embarquer au minimum les éléments suivants : `scripts/ | Le bundle doit donc embarquer au minimum les éléments suivants : `scripts/ | ||
| === Ajout du bundle CA portable pour HTTPS === | === Ajout du bundle CA portable pour HTTPS === | ||
| - | Si le fichier fourni [[https:// | ||
| - | L’emplacement attendu est `ssl/ | + | Si le fichier fourni [[https:// |
| + | |||
| + | L’emplacement attendu est : ssl/ | ||
| + | |||
| + | Créer l’arborescence puis télécharger cacert.pem : | ||
| + | |||
| + | <code bash> | ||
| + | mkdir -p " | ||
| + | wget -O " | ||
| + | </ | ||
| - | Créer l’arborescence puis télécharger `cacert.pem` : | ||
| - | <code bash> | ||
| - | wget -O " | ||
| Vérification de la présence du bundle CA : | Vérification de la présence du bundle CA : | ||
| - | <code bash>ls -lh " | + | |
| + | <code bash> | ||
| + | ls -lh " | ||
| + | </ | ||
| Si le fichier de configuration est inclus dans le bundle, il est alors possible d’y utiliser : | Si le fichier de configuration est inclus dans le bundle, il est alors possible d’y utiliser : | ||
| - | <code tcl>set :: | + | |
| - | puis de décommenter le chargement du wrapper HTTPS si nécessaire : | + | <code tcl> |
| - | <code tcl> | + | set :: |
| - | Cette étape n’est utile que si des scripts Tcl utilisent réellement | + | </ |
| + | |||
| + | Puis de décommenter le chargement du wrapper HTTPS si nécessaire : | ||
| + | |||
| + | <code tcl> | ||
| + | source scripts/ | ||
| + | </ | ||
| + | |||
| + | Cette étape n’est utile que si des scripts Tcl utilisent réellement package http, en particulier avec des URLs https://. | ||
| === Remplacement des liens symboliques pour un vrai bundle Windows === | === Remplacement des liens symboliques pour un vrai bundle Windows === | ||
| + | |||
| Une installation Eggdrop sous Cygwin peut laisser des liens symboliques dans l’arbre installé, notamment : | Une installation Eggdrop sous Cygwin peut laisser des liens symboliques dans l’arbre installé, notamment : | ||
| - | * `eggdrop.exe -> eggdrop.exe-1.10.1` | + | * eggdrop.exe -> eggdrop.exe-1.10.1 |
| - | * `modules -> modules-1.10.1` | + | * modules -> modules-1.10.1 |
| Pour obtenir un répertoire réellement portable et facile à copier depuis le filesystem Windows, il est préférable de remplacer ces liens par de vrais fichiers et de vrais répertoires. | Pour obtenir un répertoire réellement portable et facile à copier depuis le filesystem Windows, il est préférable de remplacer ces liens par de vrais fichiers et de vrais répertoires. | ||
| - | <code bash>cd " | + | |
| + | <code bash> | ||
| + | cd " | ||
| rm -f eggdrop.exe | rm -f eggdrop.exe | ||
| cp -f eggdrop.exe-1.10.1 eggdrop.exe | cp -f eggdrop.exe-1.10.1 eggdrop.exe | ||
| rm -rf modules | rm -rf modules | ||
| - | cp -a modules-1.10.1 modules</ | + | cp -a modules-1.10.1 modules |
| + | </ | ||
| === Copie des fichiers des modules optionnels === | === Copie des fichiers des modules optionnels === | ||
| - | Si `botnetop.mod`, `gseen.mod` et `stats.mod` ont été clonés et compilés, copier ensuite leurs fichiers de configuration et de langue dans l’arbre installé : | + | |
| - | <code bash>cd " | + | Si botnetop.mod, |
| + | |||
| + | <code bash> | ||
| + | cd " | ||
| cp src/ | cp src/ | ||
| cp src/ | cp src/ | ||
| Ligne 361: | Ligne 385: | ||
| cp src/ | cp src/ | ||
| cp src/ | cp src/ | ||
| - | cp -r src/ | + | cp -r src/ |
| + | </ | ||
| Ces copies sont elles aussi optionnelles et n’ont de sens que si les modules ont été ajoutés plus tôt dans l’arbre Eggdrop. | Ces copies sont elles aussi optionnelles et n’ont de sens que si les modules ont été ajoutés plus tôt dans l’arbre Eggdrop. | ||
| === Vérification de l’arbre installé === | === Vérification de l’arbre installé === | ||
| - | <code bash> | + | |
| + | <code bash> | ||
| + | find " | ||
| + | </ | ||
| ==== Configuration initiale ==== | ==== Configuration initiale ==== | ||
| - | Le fichier fourni ([[https:// | + | |
| + | Le fichier fourni ([[https:// | ||
| Avant le premier lancement, vérifier au minimum : | Avant le premier lancement, vérifier au minimum : | ||
| - | * l’identité du bot (`username`, `admin`, `network`, `nick`, `altnick`, `realname`) | + | * l’identité du bot (username, admin, network, nick, altnick, realname) |
| - | * le port d’écoute (`listen`) | + | * le port d’écoute (listen) |
| * l’owner | * l’owner | ||
| * les serveurs IRC | * les serveurs IRC | ||
| * les canaux à rejoindre | * les canaux à rejoindre | ||
| * les modules réellement souhaités | * les modules réellement souhaités | ||
| + | |||
| Le wrapper HTTPS Tcl 9 est prévu mais reste **désactivé par défaut** : | Le wrapper HTTPS Tcl 9 est prévu mais reste **désactivé par défaut** : | ||
| - | <code tcl># | + | |
| + | <code tcl> | ||
| + | #source scripts/ | ||
| + | </ | ||
| ==== Annexe – Wrapper HTTPS Tcl 9 / TclTLS 2.0 ==== | ==== Annexe – Wrapper HTTPS Tcl 9 / TclTLS 2.0 ==== | ||
| - | Le wrapper HTTPS Tcl 9 / TclTLS 2.0 rétablit une compatibilité propre pour les scripts Tcl utilisant | + | Le wrapper HTTPS Tcl 9 / TclTLS 2.0 rétablit une compatibilité propre pour les scripts Tcl utilisant package http, en particulier avec des URLs en https, dans un bundle Windrop portable basé sur Tcl 9, TclTLS 2.0 et tcllib 2.0. |
| Ce wrapper doit être chargé avant les scripts Tcl qui utilisent HTTP/HTTPS. | Ce wrapper doit être chargé avant les scripts Tcl qui utilisent HTTP/HTTPS. | ||
| Ligne 388: | Ligne 423: | ||
| === Exemple de chargement dans la configuration === | === Exemple de chargement dans la configuration === | ||
| + | |||
| <code tcl> | <code tcl> | ||
| # Optional overrides before loading: | # Optional overrides before loading: | ||
| Ligne 393: | Ligne 429: | ||
| # set :: | # set :: | ||
| # set :: | # set :: | ||
| - | source scripts/ | + | source scripts/ |
| + | </ | ||
| - | Si ce wrapper est activé, il est aussi recommandé d’embarquer un bundle CA portable dans `ssl/ | + | Si ce wrapper est activé, il est aussi recommandé d’embarquer un bundle CA portable dans ssl/ |
| - | <code tcl>set :: | + | |
| + | <code tcl> | ||
| + | set :: | ||
| + | </ | ||
| Cette annexe complète la section du HOWTO consacrée au bundle CA portable et à la configuration initiale. | Cette annexe complète la section du HOWTO consacrée au bundle CA portable et à la configuration initiale. | ||
| ===== Lancement d’Eggdrop avec un wrapper portable ===== | ===== Lancement d’Eggdrop avec un wrapper portable ===== | ||
| - | Dans l’arbre installé, `eggdrop.exe` peut être un lien symbolique ou un stub non directement exploitable selon le contexte Windows. | ||
| - | Le vrai binaire à lancer est généralement `eggdrop.exe-1.10.1`. | ||
| - | Le plus simple consiste donc à fournir un lanceur | + | Dans l’arbre installé, eggdrop.exe peut être un lien symbolique ou un stub non directement exploitable selon le contexte Windows. |
| + | Le vrai binaire à lancer est généralement eggdrop.exe-1.10.1. | ||
| + | |||
| + | Le plus simple consiste donc à fournir un lanceur eggdrop.cmd placé dans le répertoire d’installation Eggdrop. | ||
| Ce wrapper : | Ce wrapper : | ||
| * se base sur son propre emplacement ; | * se base sur son propre emplacement ; | ||
| - | * ajoute les chemins | + | * ajoute les chemins openssl\bin et tcl\bin sans écraser le PATH système ; |
| - | * définit | + | * définit TCL_LIBRARY, |
| - | * lance le vrai binaire | + | * lance le vrai binaire eggdrop.exe-1.10.1. |
| ==== Fichier eggdrop.cmd ==== | ==== Fichier eggdrop.cmd ==== | ||
| - | <code dos> | + | |
| + | <code dos> | ||
| + | @echo off | ||
| setlocal EnableExtensions | setlocal EnableExtensions | ||
| Ligne 444: | Ligne 488: | ||
| popd >nul 2>&1 | popd >nul 2>&1 | ||
| - | exit /b %RC%</ | + | exit /b %RC% |
| + | </ | ||
| ==== Usage ==== | ==== Usage ==== | ||
| - | À ce stade de l’installation, | ||
| - | * Initialisation d’un nouveau bot : `eggdrop.cmd -m bot.conf` | ||
| - | * Lancement en foreground : `eggdrop.cmd -n bot.conf` | ||
| - | * Lancement normal : `eggdrop.cmd bot.conf` | ||
| - | `bot.conf` est donné ici à titre indicatif. | + | À ce stade de l’installation, |
| + | |||
| + | * Initialisation d’un nouveau bot : eggdrop.cmd -m bot.conf | ||
| + | * Lancement en foreground : eggdrop.cmd -n bot.conf | ||
| + | * Lancement normal : eggdrop.cmd bot.conf | ||
| + | |||
| + | bot.conf est donné ici à titre indicatif. En pratique, il faut partir du fichier [[https:// | ||
| ===== Rappels pratiques ===== | ===== Rappels pratiques ===== | ||
| - | | + | |
| - | * Toujours se repositionner avant un `make clean` : un `make clean` ou `make distclean` ne doit jamais dépendre du répertoire courant laissé par l’étape précédente. | + | |
| - | * Si une variable a disparu : Recharger | + | * Toujours se repositionner avant un make clean : un make clean ou make distclean ne doit jamais dépendre du répertoire courant laissé par l’étape précédente. |
| - | * Si l’environnement devient douteux : Nettoyer | + | * Si une variable a disparu : recharger |
| - | * Pour les archives | + | * Si l’environnement devient douteux : nettoyer |
| - | * définir | + | * Pour les archives .tar.gz, toujours : |
| - | * déterminer | + | * définir ARCHIVE |
| - | * utiliser | + | * déterminer SRC_DIR avec tar tzf ... | head -1 | cut -d/ -f1 |
| - | * faire `cd " | + | * utiliser tar xzf |
| + | * faire cd " | ||
| ===== Résumé ===== | ===== Résumé ===== | ||
| + | |||
| La séquence recommandée est : | La séquence recommandée est : | ||
| - | | + | |
| - | - télécharger les sources | + | - télécharger les sources |
| - | - construire OpenSSL | + | - construire OpenSSL |
| - | - construire Tcl | + | - construire Tcl |
| - | - construire TclTLS | + | - construire TclTLS |
| - | - installer tcllib | + | - installer tcllib |
| - | - construire Eggdrop | + | - construire Eggdrop |
| - | - ajouter éventuellement les modules complémentaires et leurs fichiers associés | + | - ajouter éventuellement les modules complémentaires et leurs fichiers associés |
| - | - valider l’ensemble | + | - valider l’ensemble |
| Cette méthode reste volontairement conservatrice. Elle privilégie la reproductibilité, | Cette méthode reste volontairement conservatrice. Elle privilégie la reproductibilité, | ||
| - | |||
windrop/compilation_cygwin.txt · Dernière modification : de TeuK