erplibre/script
Mathieu Benoit 65a8a351a9 [FIX] mobile: the bundle check refused a real build
The checker knew only the pack layout. A real build ships one tar.gz per
repository, so it raised "<slug> : index.json absent" and, being guarded by
`|| exit 1`, stopped compile_and_run.sh before cap sync — no APK. Broken
since 2026-08-20 for anyone on the current mobile main: the parent half of
that work landed, the mobile half producing packs never did.

It now accepts both layouts, so whichever half lands next, it holds.

Two things got better on the way. The byte-for-byte comparison against the
source — the only check that proves fidelity rather than coherence — was
reporting zero comparisons, because no entry matched the shape it looked
for; it now compares twenty. And presence is no longer sampled: streaming
all 139 archives costs 6 s and accounts for every one of the 124 350
promised files, where a sample of twenty could not see a ghost it did not
draw.

The test guarding the ZIP limit demanded a `chunk` field on every file —
the pack layout, not the limit. It counts entries now: 278 against 65 535.
Its real-bundle class had been taught to skip on this very symptom rather
than fail; it runs again.

--- FR ---

Le vérificateur ne connaissait que la disposition en packs. Une compilation
réelle livre un tar.gz par dépôt : il levait « <slug> : index.json absent »
et, gardé par `|| exit 1`, arrêtait compile_and_run.sh avant cap sync — pas
d'APK. Cassé depuis le 2026-08-20 pour quiconque est sur le main mobile
actuel : la moitié parente de ce travail a atterri, la moitié mobile qui
produit les packs jamais.

Il accepte désormais les deux dispositions : quelle que soit la moitié qui
atterrit ensuite, il tient.

Deux choses se sont améliorées en chemin. La comparaison octet pour octet
contre la source — la seule qui prouve la fidélité et non la cohérence —
rapportait zéro comparaison, faute d'entrée à la forme attendue ; elle en
compare vingt. Et la présence n'est plus échantillonnée : traverser les 139
archives coûte 6 s et rend compte de chacun des 124 350 fichiers promis, là
où vingt tirages ne pouvaient pas voir un fantôme non tiré.

Le test qui gardait la limite du ZIP exigeait un champ `chunk` sur chaque
fichier — la disposition, pas la limite. Il compte les entrées désormais :
278 pour 65 535. Sa classe sur le vrai bundle avait appris à s'ignorer sur
ce symptôme même plutôt qu'à échouer ; elle tourne à nouveau.

Assisted-by: Claude Opus 5
2026-08-25 03:28:39 -04:00
..
addons [ADD] migration: make Enter mean the answer you always give 2026-08-22 07:23:59 -04:00
analyse [FIX] analyse: écarter les champs qui n'ont jamais porté de donnée 2026-08-25 03:19:18 -04:00
apache [ADD] apache configuration template 2025-10-31 01:31:21 -04:00
code [UPD] script Format 2026-03-14 23:26:31 -04:00
code_generator [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
config [ADD] mail: read and send email from the TODO CLI 2026-08-16 03:56:34 -04:00
database [FIX] db_restore: la sonde du mot de passe maître ne validait rien 2026-08-25 03:19:18 -04:00
deployment [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
docker [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
execute [FIX] script: différer les annotations, la 12 tourne en Python 3.7 2026-08-23 03:13:58 -04:00
forgejo [FIX] security: the KeePass password leaves the command line too 2026-08-23 02:11:50 -04:00
fork_github_repo [ADD] Multilingual translation of all documentation (EN/FR) 2026-03-04 22:23:52 -05:00
git [FIX] script: différer les annotations, la 12 tourne en Python 3.7 2026-08-23 03:13:58 -04:00
ide [UPD] script Format 2026-03-14 23:26:31 -04:00
install [FIX] install : compiler pykcs11 avec SWIG 4.3 et au-delà 2026-08-23 02:11:50 -04:00
maintenance [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
manifest [FIX] manifest: give repo init a branch name, not a bare SHA 2026-08-10 03:10:50 -04:00
mobile [FIX] mobile: the bundle check refused a real build 2026-08-25 03:28:39 -04:00
nginx [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
odoo [FIX] migration: un module fautif n'emporte plus tout le lot 2026-08-25 03:19:18 -04:00
performance [ADD] script performance: use tool to test request per second on website 2025-11-01 01:09:32 -04:00
poetry [ADD] poetry: pin a dependency per architecture 2026-08-16 06:11:44 -04:00
postgresql/migration [UPD] script Format 2026-03-14 23:26:31 -04:00
process [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
proxmox [FIX] proxmox : sh: 1: Syntax error: "(" unexpected 2026-08-25 03:19:18 -04:00
qemu [ADD] qemu : déployer Proxmox VE (amd64, arm64) 2026-08-23 03:28:03 -04:00
restful [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
selenium [FIX] security: the KeePass password leaves the command line too 2026-08-23 02:11:50 -04:00
shell_script_odoo [ADD] brin_advisor brin_cluster 2026-08-07 02:52:33 -04:00
statistic [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
system [ADD] script system: search_docker_compose_erplibre.sh 2024-05-03 23:13:59 -04:00
systemd [FIX] systemd : lancer run.sh par bash, contre les echecs 203/EXEC 2026-08-23 02:11:50 -04:00
terminal [IMP] todo support odoo upgrade 2025-10-31 01:43:26 -04:00
test [ADD] proxmox : un écran pour déployer sur un hôte distant 2026-08-25 03:17:13 -04:00
todo [FIX] qemu : un alias ssh et une adresse ne se jugent pas sur le nom 2026-08-25 03:19:18 -04:00
version [REM] install: drop Ubuntu 20.04 and 22.04 2026-08-16 23:33:49 -04:00
__init__.py [IMP] Copy ERPLibre from https://github.com/mathbentech/InstallScript 2020-04-20 03:56:45 -04:00
generate_config.sh [FIX] generate_config: drop odoo_design-themes from the addons path 2026-08-07 02:09:40 -04:00
lib_asyncio.py [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
make.sh [FIX] script python: missing color log error 2024-05-03 23:13:59 -04:00
open_terminal_code_generator.sh [IMP] todo support odoo upgrade 2025-10-31 01:43:26 -04:00