Commit graph

135 commits

Author SHA1 Message Date
a9f91dda87 [FIX] install nixos : l'amorçage, les en-têtes, les manuels écartés
L'amorçage d'ERPLibre n'atteignait pas NixOS : le Makefile force
« SHELL := /bin/bash », que l'image ne porte pas, et le fournisseur de
Python ne cherche l'interpréteur du système qu'en /usr/bin/pythonX.Y.
Les deux répondent une fois envfs déclaré.

Ce qui n'a pas de roue amont se compile et réclame ses en-têtes : ils sont
liés au profil du système, leurs bibliothèques vont au chargeur, et
pg_config — dérivation à part dans nixpkgs — est nommé. La sortie « doc »
de CPython est écartée : sa construction est un Sphinx de 3 000 pages qui
domine le temps d'installation d'une VM de 4 Go.

--- EN ---

ERPLibre's bootstrap did not reach NixOS: the Makefile forces "SHELL :=
/bin/bash", which the image lacks, and the Python provider only looks for
the system interpreter at /usr/bin/pythonX.Y. Both answer once envfs is
declared.

What has no upstream wheel compiles and demands its headers: they are
linked into the system profile, their libraries reach the loader, and
pg_config — a separate derivation in nixpkgs — is named. CPython's "doc"
output is left out: building it is a 3000-page Sphinx run that dominates
install time on a 4 GB VM.

Assisted-by: Claude Opus 5
2026-09-16 21:31:03 -04:00
69431e17c9 [FIX] script todo: configurer le projet PyCharm avec le venv, et réessayer
Deux défauts empêchaient le .idea d'exister. La configuration d'abord :
« make pycharm_configure » lance le script avec le python SYSTÈME, qui n'a pas
xmltodict — « ModuleNotFoundError », mesuré. update_env_version.pycharm_update()
l'appelle depuis .venv.erplibre ; la cible make et l'étape font désormais pareil.

L'ouverture ensuite : la première tentative sur un dépôt neuf peut n'écrire
aucun .idea, son configurateur d'interpréteur plantant sur « homeDir is null »,
là où la suivante l'écrit en 25 s — constaté sur deux VM. L'étape retente donc
une fois, en gardant les deux journaux. Vérifié sur erplibre-ubuntu-2604-gnome,
caches effacés : erplibre.iml, misc.xml, modules.xml, vcs.xml, et 0 processus
survivant.

--- EN ---

Two defects kept .idea from existing. The configuration first: "make
pycharm_configure" runs the script with the SYSTEM python, which lacks
xmltodict — "ModuleNotFoundError", measured. update_env_version.pycharm_update()
calls it from .venv.erplibre; the make target and the step now do the same.

The open next: the first attempt on a fresh repo can write no .idea at all, its
interpreter configurator dying on "homeDir is null", where the next one writes
it in 25 s — seen on two VMs. The step therefore retries once, keeping both
logs. Verified on erplibre-ubuntu-2604-gnome with caches wiped: erplibre.iml,
misc.xml, modules.xml, vcs.xml, and 0 surviving processes.

Assisted-by: Claude Opus 5
2026-08-23 02:07:42 -04:00
e20d8d9baa [ADD] install: uv to place Python packages, pip as fallback
uv replaces pip where it can: the tools venv and the Poetry bootstrap. The
choice lives in EL_PIP_PROVIDER -- auto, uv or pip -- and in a single
file, lib_pip_provider.sh, on the exact model of the mise/pyenv switch. A
uv failure falls back to pip: it is stricter on metadata and rejects
packages pip accepts.

Three guards. The target always goes through "--python" rather than being
inferred from the active venv: poetry.toml declares a "./.venv" uv would
also look for. Python 3.7, still used by Odoo 12 and 13, stays on pip. And
"uv pip sync" is never used: it would delete pip itself and everything
Poetry laid down.

One bug falls along the way: the idempotence guard aimed at
.venv.erplibre/bin/poetry while Poetry installs into the Odoo venv, so a
successful replay reported failure all the same.

--- FR ---

uv remplace pip là où il le peut : le venv d'outils et l'amorçage de
Poetry. Le choix vit dans EL_PIP_PROVIDER — auto, uv ou pip — et dans un
seul fichier, lib_pip_provider.sh, sur le modèle exact de l'aiguillage
mise/pyenv. Un échec d'uv retombe sur pip : il est plus strict sur les
métadonnées et refuse des paquets que pip accepte.

Trois gardes. La cible passe toujours par « --python » plutôt que d'être
déduite du venv actif : poetry.toml déclare un « ./.venv » qu'uv
chercherait aussi. Python 3.7, encore utilisé par Odoo 12 et 13, reste sur
pip. Et « uv pip sync » n'est jamais employé : il supprimerait pip
lui-même et tout ce que Poetry a posé.

Un défaut tombe au passage : le garde d'idempotence visait
.venv.erplibre/bin/poetry alors que Poetry s'installe dans le venv Odoo,
si bien qu'un rejeu réussi rapportait quand même un échec.

Assisted-by: Claude Opus 5
2026-08-16 23:33:49 -04:00
70d9ad456c [ADD] install: mise as Python provider, pyenv as fallback
mise lays down a precompiled CPython where pyenv builds one: seconds
against one to three minutes, with no -dev package at all. The choice
lives in EL_PYTHON_PROVIDER -- auto, mise or pyenv -- and in a single
file, lib_python_provider.sh. The rest of the repository only knows venv
paths and needs to know none of this.

In auto mode an ALREADY installed interpreter wins, whichever provider put
it there. mise is never installed on its own, "curl | sh" commits too much
for a script to decide -- make install_mise carries that decision.
MISE_PYTHON_COMPILE=false forbids it from quietly compiling: without that
guard it would fall back to pyenv's own engine, giving us the slowness
without the tooling. That is also what stopped gcc from collapsing while
building CPython on a low-memory s390x guest, for nothing.

One real bug falls along the way: a failed venv did not stop the install,
which then went on and failed further down, far from the cause.

--- FR ---

mise pose un CPython précompilé là où pyenv en compile un : des secondes
contre une à trois minutes, et aucun paquet -dev. Le choix vit dans
EL_PYTHON_PROVIDER — auto, mise ou pyenv — et dans un seul fichier,
lib_python_provider.sh. Le reste du dépôt ne connaît que des chemins de
venv et n'a rien à savoir de tout cela.

En mode auto, un interpréteur DÉJÀ posé l'emporte, quel qu'en soit le
fournisseur. mise n'est jamais installé de lui-même, « curl | sh » engage
trop pour qu'un script en décide — make install_mise porte cette décision.
MISE_PYTHON_COMPILE=false lui interdit de compiler en silence : sans ce
garde, il retomberait sur le moteur de pyenv, et nous aurions sa lenteur
sans son outillage. C'est aussi ce qui a évité que gcc s'écroule en
bâtissant CPython sur une VM s390x à faible mémoire, inutilement.

Un vrai défaut tombe au passage : un venv raté n'arrêtait pas
l'installation, qui continuait et échouait plus loin, loin de la cause.

Assisted-by: Claude Opus 5
2026-08-16 23:33:49 -04:00
ba0b919f83 [ADD] make: add SSH remote deployment targets and todo.py integration
Enable deploying and managing ERPLibre on remote servers via SSH
directly from make and the interactive todo.py CLI, since only
local deployment was previously supported.

- New conf/make.ssh.Makefile with 11 targets: ssh_check, ssh_push,
  ssh_install, ssh_run, ssh_stop, ssh_restart, ssh_status, ssh_logs,
  ssh_make, ssh_install_systemd, ssh_install_nginx
- Variables: SSH_HOST (required), SSH_USER, SSH_PORT, SSH_KEY,
  SSH_PATH, SSH_TARGET, SSH_DOMAIN, SSH_ADMIN_EMAIL
- Execute > Deploy menu extended with 11 SSH options in todo.py
- All strings translated fr/en in todo_i18n.py

Generated by Claude Code 2.1.101 model claude-sonnet-4-6

Co-Authored-By: Mathieu Benoit <mathben@technolibre.ca>
2026-08-07 02:52:12 -04:00
c6c5437b80 [FIX] makefile: ignore odoo-version when not existing 2025-12-20 03:15:51 -05:00
aac9815414 [FIX] makefile support odoo version 2025-11-19 23:37:55 -05:00
25a1c789d2 [IMP] make robot libre 2025-11-04 23:24:43 -05:00
cbc43fde3c [IMP] todo support odoo upgrade
- add example odoo test
- prevent delete production file with validation
- add makefile with selenium
- script prod to dev uninstall module after installation
- adapt todo with private directory
- script to download remote database
- TODO show documentation for migration
2025-10-31 01:43:26 -04:00
93617b1a65 [IMP] support multi version odoo on same workspace
- oficially support odoo 18 instead of odoo 16
- support postgis/postgresql 18 into docker
- change version erplibre 1.6.0
- support private environment and support local git repo manifest
- support switch odoo version
- support docker for each version
- update os installation
- upgrade python requirement
- separate virtual environment for erplibre and odoo
2025-10-31 01:36:26 -04:00
de9779cfc2 [IMP] refactoring .venv.erplibre
- erplibre separate venv erplibre and odoo
- rename python-version to python-odoo-version
- add conf/python-erplibre-version
- rename .venv to .venv.erplibre
- move .venv/repo to .venv.erplibre/bin/repo
- install pyenv into .venv.erplibre
- install poetry into .venv.odooVERSION

- first installation show odoo version to install
- can install erplibre without odoo
- update README.md information about installation with TODO
- change image from github to locally
- remove link creation .venv

- update version: remove code to force create symbolic link .venv
- use dynamic merge manifest, will be able to merge different odoo
version
- can add dev tools
- default manifest is empty to remove conflict
2025-10-31 01:34:26 -04:00
a1b9c98b5f [IMP] refactoring to support multiple version of Odoo
- change path odoo to support multiple
- conf pycharm exclude folder
- refactor run/test/coverage by use same script
2025-10-31 01:32:11 -04:00
770e4b0966 [UPD] makefile support poetry and refactor poetry update with new rep 2025-10-31 01:31:41 -04:00
5bb9812fd8 [UPD] makefile: more clean move make.private.Makefile to conf 2025-05-04 05:51:33 -04:00
f4a6911217 [UPD] makefile refactoring by moving commands into conf
- create make.private.Makefile for private project
2025-05-04 01:02:39 -04:00
70c9698c2d [UPD] make open todo and todo force source .venv with gnome-terminal 2025-05-04 01:02:39 -04:00
1e0f1580e6 [ADD] Makefile can add extension Common.Makefile for custom project 2025-04-28 00:59:10 -04:00
7dc8da3f02 [IMP] bot assistant TODO 2025-04-27 02:40:20 -04:00
37a43e402e [UPD] Makefile: example to update an instance 2025-04-12 17:10:56 -04:00
f156cca6c2 [ADD] Makefile open_selenium 2025-04-12 17:06:09 -04:00
e2e7a61ad6 [UPD] when using stop-after-init, enable no-http
- in many case, no need http when run with argument stop-after-init,
because we want to execute without gui
2024-12-03 23:10:16 -05:00
d91c3c2e95 [IMP] support change odoo and python version
- Makefile show version, switch version and install different version
- erplibre_version with odoo_version, poetry_version and python_version
- support multiple docker version
- support odoo 12, odoo 14, odoo 16
- bullseye, bookworm debian
- update latest version
- script update_env_version to detect actual version and refactor it
- adapt file path to support multiple version
- poetry with verbose by default, ignore python keyring
- python script to generate image db with parallel for all odoo version
- check_addons_exist before generate all image
- support delay to change queue parallel
- fix odoo 12 product configurator
- can show demo website
- swith odoo
- force create addons if missing
- update manifest, because gen config break with wrong manifest
2024-11-02 02:26:02 -04:00
391c73bf39 [UPD] makefile IDE 2024-11-02 02:26:02 -04:00
4a1dc0e0e6 [ADD] Makefile: clear_cache 2024-11-02 02:26:02 -04:00
81c4528b57 [UPD] replace docker-compose to docker compose 2024-05-03 23:13:59 -04:00
9bcc193cdd [FIX] makefile: image db create package dms missing restore db 2023-07-07 03:06:17 -04:00
f3a5bc9399 [UPD] multilingual-markdown: update to last version v1.0.3 2023-07-07 01:04:38 -04:00
6629367580 [UPD] makefile: remove vat e_commerce package 2023-07-06 16:37:49 -04:00
26097b60d4 [UPD] makefile format erplibre: missing xml format 2023-07-06 16:37:49 -04:00
818ea8ca83 [UPD] makefile: increase speed format with parallel 2023-04-29 22:07:07 -04:00
427ab6150b [ADD] makefile: test full fast with debug option 2023-04-29 16:28:25 -04:00
2af6f62ccf [UPD] makefile: parallel make doc 2023-04-12 16:45:41 -04:00
542aeee85d [FIX] makefile test: move serial test in execution second test 2023-04-11 21:32:39 -04:00
1bcbc8efe3 [ADD] makefile: test export 2023-04-09 19:01:49 -04:00
b3e8ce608b [UPD] makefile test coverage: add test template_code_generator and fix dev 2023-03-07 15:42:40 -05:00
90229ad155 [ADD] coverage json 2023-03-05 01:53:30 -05:00
aa7689edec [FIX] make test with coverage: missing coverage parameter 2023-03-04 23:34:37 -05:00
d6f652f58c [UPD] script show_evolution_module: parallelism 2023-02-19 04:43:46 -05:00
85a1ff04f1 [ADD] makefile: format mathbentech business 2023-01-26 00:30:47 -05:00
14bf1c8c56 [ADD] makefile: image_db_create_erplibre_package_dms
- create db image with document management system
2023-01-14 00:34:23 -05:00
88c8804014 [FIX] makefile: image_db_create_erplibre_demo use wrong database 2023-01-14 00:32:24 -05:00
32ff705087 [ADD] release: support alpha and beta + build version
- missing version of alpha/beta
2023-01-12 16:09:27 -05:00
b934315962 [ADD] makefile: comment debug command to run_parallel_test.py 2023-01-07 02:00:19 -05:00
14f8156045 [ADD] run_parallel_cg_migrator: remove migrator from cg run parallel 2023-01-07 00:23:15 -05:00
5ba826823f [FIX] makefile test_full_fast: generate a database test
- because test is in parallel, cannot have enought time to create
_cache_erplibre_base , so create it in serial before
2023-01-05 09:05:51 -05:00
7847229661 [ADD] makefile: run_parallel_cg and run_parallel_cg_template
- use parallel in bash and read txt config
2023-01-05 04:20:43 -05:00
7ed6939907 [UPD] script: move script git, manifest, database, poetry, install
- refactor script emplacement
- update all reference
2023-01-02 21:54:20 -05:00
c425ca45b8 [UPD] makefile: remove website_gengo from website package
- no need to use gengo api to do translation of your website.
2023-01-01 06:30:49 -05:00
89f546ffef [FIX] makefile: drop db before clone when generate image DB 2023-01-01 06:22:14 -05:00
34193b0930 [UPD] makefile: rename module project_time_budget
- Rename module project_task_subtask_time_range => project_time_budget
- Rename module project_task_time_range => project_time_range
- Remove module project_time_management
2023-01-01 06:21:54 -05:00