Commit graph

52 commits

Author SHA1 Message Date
f39b2e9451 [UPD] support: drop Ubuntu 20.04/22.04, add AlmaLinux and Rocky
Ubuntu 20.04 and 22.04 leave EVERY architecture, not just s390x. pikepdf
needs qpdf 12.2, whose build requires C++20, while focal ships GCC 9 and
publishes no g++-10 for s390x at all. Python 3.8, node 10, cargo 0.67 and
OpenSSL 1.1.1 each had a workaround; the pile of them did not. 18.04
follows, already off the lists. The refusal lands before any apt, this
script also serving existing machines.

AlmaLinux 9 and 10, Rocky 9 and 10 join the catalog on all four
architectures: the twelve "latest" URLs were opened, with no index to
parse unlike Fedora. They would have booted unreachable though -- the
cloud-config forced "groups: users, sudo", but the RHEL family has no
sudo group, only wheel, and an unknown group makes useradd fail, hence no
password and no key. The very trap already known for Debian, repeated
elsewhere. Host side, EPEL and CRB are enabled: without them most -devel
packages are missing, silently.

The server / graphical choice gains Cinnamon, the Linux Mint desktop,
from the distribution's own repositories. Mint's repository is set aside:
plain HTTP, and i386/amd64 only, which would rule out arm64 and s390x.
Along the way, dnf now installs an ENVIRONMENT rather than a group --
"gnome-desktop" brings gdm and gnome-shell but not base-x, hence no X
server.

--- FR ---

Ubuntu 20.04 et 22.04 partent de TOUTES les architectures, pas seulement
de s390x. pikepdf réclame qpdf 12.2, dont la compilation exige C++20,
quand focal livre GCC 9 et ne publie même pas de g++-10 pour s390x.
Python 3.8, node 10, cargo 0.67 et OpenSSL 1.1.1 avaient chacun leur
contournement ; leur accumulation, non. 18.04 suit, déjà hors des
listes. Le refus tombe avant tout apt, ce script servant aussi les
machines existantes.

AlmaLinux 9 et 10, Rocky 9 et 10 entrent au catalogue, sur les quatre
architectures : les douze URL « latest » ont été ouvertes, aucun index à
analyser contrairement à Fedora. Elles auraient pourtant démarré
inaccessibles — le cloud-config imposait « groups: users, sudo », or la
famille RHEL n'a pas de groupe sudo mais wheel, et un groupe inconnu fait
échouer useradd, donc ni mot de passe ni clé. C'est le piège déjà connu
pour Debian, reproduit ailleurs. Côté hôte, EPEL et CRB sont activés :
sans eux la plupart des -devel manquent, en silence.

Le choix serveur / graphique gagne Cinnamon, le bureau de Linux Mint,
depuis les dépôts de la distribution. Le dépôt de Mint lui-même est
écarté : il est en HTTP nu et ne publie que i386 et amd64, ce qui
exclurait arm64 et s390x. Au passage, dnf installe désormais un
ENVIRONNEMENT et non un groupe — « gnome-desktop » apporte gdm et
gnome-shell mais pas base-x, donc pas de serveur X.

Assisted-by: Claude Opus 5
2026-08-16 23:33:49 -04:00
42391575d6 [REM] install: drop Ubuntu 20.04 and 22.04
Two blockers on 20.04, neither worth carrying. "TypeError: unsupported
operand type(s) for |" fired before the install even started:
update_env_version.py imports erplibre_state as the very first thing
"make install_os" does, hence before pyenv, on the system Python 3.8,
where a "str | None" annotation is evaluated at import. And cryptography
now demands OpenSSL 3, while focal ships 1.1.1.

Annotations are therefore deferred, a contract the bootstrap file already
stated in a comment and now holds across script/version and
script/install. But the releases themselves go: pikepdf requires
qpdf >= 12.2, compiled in C++20, when focal ships GCC 9.

--- FR ---

Deux blocages sur 20.04, aucun ne méritant d'être porté. « TypeError:
unsupported operand type(s) for | » se déclenchait avant même le début de
l'installation : update_env_version.py importe erplibre_state en tout
premier lieu de « make install_os », donc avant pyenv, sur le Python 3.8
du système, où une annotation « str | None » est évaluée à l'import. Et
cryptography exige désormais OpenSSL 3, quand focal livre 1.1.1.

Les annotations sont donc différées, contrat que le fichier d'amorçage
énonçait déjà en commentaire et qui tient maintenant sur script/version et
script/install. Mais les versions elles-mêmes partent : pikepdf réclame
qpdf >= 12.2, compilé en C++20, quand focal livre GCC 9.

Assisted-by: Claude Opus 5
2026-08-16 23:33:49 -04:00
b939aafc03 [FIX] install s390x: the Debian build chain, package by package
Bringing s390x up on Debian and Ubuntu turned up one blocker at a time,
each found on a real machine: no wheel is published there, so everything
compiles against distribution headers. manifold3d needs tbb, cmake and
ninja; pymupdf loads libclang.so by its bare name through ctypes and only
a versioned one is packaged; cryptography and bcrypt need Rust; pikepdf
needs qpdf, whose -dev package is named differently across releases.

Two traps cost the most time. One unknown name made apt refuse the whole
batch of fifteen without ever saying which, so apt itself is now asked
what is installable, and a failed batch retries package by package. And a
failed unpack leaves dpkg half-configured, after which every apt call
blames packages that are in fact installed -- hence the repair step.

npm is the other half: npm@latest outran the packaged node and aborted
install_os, NodeSource publishes nothing for s390x, and Ubuntu's nodejs
package carries no npm on any release.

--- FR ---

Porter s390x sur Debian et Ubuntu a révélé un blocage à la fois, chacun
sur une machine réelle : aucune roue n'y est publiée, donc tout se compile
contre les en-têtes de la distribution. manifold3d exige tbb, cmake et
ninja ; pymupdf charge libclang.so par son nom nu via ctypes et seul un
nom versionné est empaqueté ; cryptography et bcrypt réclament Rust ;
pikepdf veut qpdf, dont le paquet -dev change de nom selon la version.

Deux pièges ont coûté le plus. Un seul nom inconnu faisait refuser à apt
le lot entier de quinze, sans jamais dire lequel : on demande désormais à
apt ce qui est installable, et un lot en échec reprend paquet par paquet.
Et un dépaquetage raté laisse dpkg à moitié configuré, après quoi tout
apt accuse des paquets pourtant installés — d'où l'étape de réparation.

npm est l'autre moitié : npm@latest dépassait le node empaqueté et
arrêtait install_os, NodeSource ne publie rien pour s390x, et le paquet
nodejs d'Ubuntu ne porte npm sur aucune version.

Assisted-by: Claude Opus 5
2026-08-16 06:11:44 -04:00
dd98955192 [IMP] install: support Fedora, Debian, Ubuntu and Arch
Adds a Fedora dependency installer, rewrites the Arch one on pacman rather
than an AUR helper absent from cloud images, and repairs the Debian path:
apt lock timeout, PostGIS best-effort, Ubuntu 26.04, Node 22.

--- FR ---

Ajoute un installeur de dépendances Fedora, réécrit celui d'Arch sur pacman
plutôt qu'un assistant AUR absent des images cloud, et répare le chemin
Debian : attente du verrou apt, PostGIS best-effort, Ubuntu 26.04, Node 22.

Assisted-by: Claude Opus 4.8
Assisted-by: Claude Opus 5
2026-08-07 03:22:26 -04:00
627056b747 [ADD] install: add NTFY self-hosted push notification server
Add a one-command installer for the ntfy push notification server
(Ubuntu/Debian and Arch Linux), wired into the todo.py Deploy menu.

Users can now deploy a local ntfy server from the CLI and subscribe
to topics from their mobile device (ntfy app) to receive push
notifications from ERPLibre.

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:17 -04:00
fef9edbfb1 [IMP] script install: quiet poetry/repo by default, EL_VERBOSE to opt in
Installation was very noisy: poetry ran "install -vvv" and repo sync /
git daemon ran with -v/--verbose. They are now quiet by default
(poetry -q, repo sync -q, no git daemon --verbose) and the detailed
logs come back only when EL_VERBOSE=1.

Applied to install_locally.sh (poetry) and every manifest script (repo
sync + git daemon). env_var.sh documents EL_VERBOSE and respects a value
already set in the environment, so "EL_VERBOSE=1 make install_odoo_18"
works.

--- FR ---

L'installation était très bavarde : poetry tournait en « install -vvv », et
repo sync comme git daemon en -v/--verbose. Ils sont désormais silencieux par
défaut — poetry -q, repo sync -q, plus de git daemon --verbose — et les
journaux détaillés ne reviennent qu'avec EL_VERBOSE=1.

Appliqué à install_locally.sh (poetry) et à tous les scripts de manifest
(repo sync et git daemon). env_var.sh documente EL_VERBOSE et respecte une
valeur déjà passée dans l'environnement, si bien que « EL_VERBOSE=1 make
install_odoo_18 » fonctionne.

Assisted-by: Claude Opus 4.8
2026-08-07 02:49:14 -04:00
c41c771ca1 [FIX] install: bump Node.js to v22 for Capacitor v8 support
@capacitor/cli v8.x requires Node.js >=22.0.0. The install script
was pinning NODE_MAJOR=20, causing a fatal error when installing
the mobile app via todo.py.

--- FR ---

@capacitor/cli v8.x exige Node.js >= 22.0.0. Le script d'installation
figeait NODE_MAJOR=20, d'où une erreur fatale à l'installation de
l'application mobile depuis todo.py.

Assisted-by: Claude Sonnet 4.6
2026-08-07 02:09:48 -04:00
cf78ed1bdc [IMP] installation: parallelize repo sync and poetry install
Poetry install and git-repo sync are independent (different write
paths). Running them sequentially wastes time. Split install_locally.sh
into EL_PHASE=setup|poetry|all phases so install_locally_dev.sh can
background the repo sync while poetry runs in the foreground, reducing
total install time by up to 50% on slow connections.

Set EL_PARALLEL_INSTALL=0 to restore sequential behavior for debugging.

--- FR ---

L'installation poetry et la synchronisation git-repo sont indépendantes —
elles écrivent à des endroits différents — et les enchaîner fait perdre du
temps. install_locally.sh est découpé en phases EL_PHASE=setup|poetry|all
pour qu'install_locally_dev.sh puisse lancer la synchronisation des dépôts
en arrière-plan pendant que poetry tourne au premier plan, réduisant la
durée totale jusqu'à 50 % sur une connexion lente.

EL_PARALLEL_INSTALL=0 rétablit le comportement séquentiel pour le débogage.

Assisted-by: Claude Sonnet 4.6
2026-08-07 02:09:35 -04:00
a80b0a3539 [IMP] installation support LinuxMint 22.3 2026-03-07 00:06:45 -05:00
3a42960069 [UPD] OSX installation: remove python 3.7 2026-02-13 04:07:32 -05:00
4a83999ace [UPD] typo certbot 2026-01-10 04:52:39 -05:00
50247a5fb7 [FIX] s390x ubuntu 25.10 not support wkhtmltopdf 2025-12-20 03:15:51 -05:00
627e630f5b [UPD] script installation ubuntu 25.10 2025-12-20 03:15:51 -05:00
c9a3d68cc9 [ADD] install arch linux add sshpass package 2025-12-02 00:29:33 -05:00
b14dc7a082 [IMP] mobile home installation and run 2025-11-11 05:19:14 -05:00
7a05cd29b8 [FIX] pymssql compilation error 2025-11-06 01:11:28 -05:00
1a27ea3cae [UPD] script refactor install_daemon, python script to customize services 2025-11-02 02:14:15 -05:00
a74a19f71e [UPD] script support s390x installation OS 2025-11-01 01:09:36 -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
c28ea337b5 [FIX] script install debian missing libcups2-dev 2025-10-31 01:33:19 -04:00
566e97d069 [UPD] install_locally show error when missing poetry version 2025-10-31 01:33:11 -04:00
770e4b0966 [UPD] makefile support poetry and refactor poetry update with new rep 2025-10-31 01:31:41 -04:00
9cafb3cead [ADD] install daemon systemd configuration: WorkingDirectory configuration 2025-10-31 01:31:33 -04:00
63d398c3d3 [UPD] script install: support Ubuntu 25.04 2025-04-12 17:10:56 -04:00
a36592073c [ADD] script installation arch linux 2025-04-12 17:10:56 -04:00
7b5a3294ac [UPD] install debian: new version wkhtmltopdf 2024-12-01 04:49:34 -05:00
Alexandre Ferreira Benevides
782896b230 [UPD] script OSX: check before isntall psql, add source activate install 2024-12-01 04:49:34 -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
07a19e0632 [IMP] script installation support Ubuntu 24.04 2024-11-02 02:26:02 -04:00
b9facc480f [UPD] installation support selenium native 2024-11-02 02:26:02 -04:00
0133ee8335 [UPD] swig installation 2024-08-25 01:31:43 -04:00
81c4528b57 [UPD] replace docker-compose to docker compose 2024-05-03 23:13:59 -04:00
ea9be9b2ca [FIX] script python: missing color log error 2024-05-03 23:13:59 -04:00
10cead294f [FIX] script install ubuntu 23.10 2024-05-03 23:13:59 -04:00
f972acbc80 [ADD] pip install: support selenium (with python 3.7 strangely) 2024-05-03 23:13:59 -04:00
68d001e29a [FIX] poetry: Poetry version 1.3.1 to 1.5.1 and upgrade freeze versions 2024-05-03 23:13:59 -04:00
6e57b2584a [FIX] npm installation
- install npm locally instead of globaly
2023-12-02 14:14:23 -05:00
f3a5bc9399 [UPD] multilingual-markdown: update to last version v1.0.3 2023-07-07 01:04:38 -04:00
27e2293937 [FIX] script: remove vat installation
- no need to Quebec
- no need suds-jurko
2023-07-06 23:24:35 -04:00
c584d08dc2 [FIX] script: disable OCA_maintainer-tools installation
- not use and crash for some environnement
2023-07-06 23:06:24 -04:00
Marie-Michèle Poulin
a48c06b4bf [REM] script: remove source from installation,it's not exist before install 2023-05-17 01:55:29 -04:00
Marie-Michèle Poulin
4bb807b22c Revert "[ADD] script: source venv activate"
This reverts commit bd117ae755.
2023-05-17 01:55:24 -04:00
bd117ae755 [ADD] script: source venv activate 2023-04-12 15:53:35 -04:00
Alexandre Ferreira Benevides
ee401b22a7 [FIX] install OSX: limit hard run.sh and source activate
Signed-off-by: Alexandre Ferreira Benevides <alexandre.ferreira.benevides@gmail.com>
2023-04-12 15:48:44 -04:00
Alexandre Ferreira Benevides
451358ff05 [UPD] install_OSX_dependency.sh: remove poetry, pyenv add parallel 2023-02-22 23:49:16 -05:00
5535a81213 [REM] script install OSX: move docker installation to FAQ 2023-02-14 16:01:43 -05:00
bc010d526c [UPD] script install OSX: support postgis 2023-02-08 15:29:34 -05:00
0a2efd8a42 [UPD] script install_OSX_dependency.sh: start postgresql at installation 2023-01-26 00:33:40 -05:00
f896340d4b [FIX] script install: install vatnumber before install poetry pip
- this fix a problem about python2_to3
2023-01-17 16:50:42 -05:00