Skip to content

v2.4.0 — Il comando giusto, e un installer che sa dire chi è

Choose a tag to compare

@github-actions github-actions released this 07 Aug 06:06
· 53 commits to main since this release

Release piccola e di manutenzione, ma necessaria: chi installava la 2.3.0 seguendo la guida non
arrivava alla prima riga. Il comando di download nominava un file che quella release non contiene.

🐛 Il comando di installazione del .deb era rotto

Il pacchetto pubblicato si chiama odoo-installer_2.3.0-1_amd64.deb — con la revisione -1 che
cargo deb aggiunge al nome — mentre README e note di rilascio ne nominavano uno senza. Risultato:
404, prima ancora di scaricare l'installer. Il .rpm era corretto.

Corretto qui, e chiuso su tre livelli perché non si ripeta:

  • la revisione è ora dichiarata in Cargo.toml, invece di essere ereditata dal default di uno
    strumento esterno: il nome dell'artefatto è un dato del progetto, non una convenzione altrui che può
    cambiare da sotto;
  • il test che lega README e versione compone i nomi dal manifesto invece di scriverli a mano. La
    versione precedente ripeteva la stessa congettura del README, ed era verde mentre il download dava 404;
  • il workflow di rilascio verifica che il nome del pacchetto davvero prodotto compaia nel README,
    prima di pubblicarlo. È l'unico punto della catena che legge il file invece di una copia della
    supposizione — e una release pubblicata con la guida sbagliata si corregge solo con un'altra release.

🆕 L'installer sa dire quale versione è

Era pronto ma non era mai stato pubblicato: il tag della 2.3.0 precede di un commit il lavoro che lo
introduce. Da questa release:

  • odoo-installer -V (o --installer-version) stampa la versione. --version resta la versione di
    Odoo e non cambia: nessuno script o .env in campo si rompe;
  • la versione è la prima riga di ogni log, che questo progetto tiene in vita oltre il rollback proprio
    perché è il post-mortem. Un log arrivato da una macchina cliente ora dice chi l'ha scritto;
  • è registrata nel manifesto di disinstallazione: se annulli un'installazione con un binario diverso
    da quello che l'ha creata, il rollback te lo dice prima di iniziare, invece di limitarsi a segnalare
    «step sconosciuto».

Da pacchetto funzionano anche dpkg -l odoo-installer e rpm -q odoo-installer.

🔁 Se aggiorni dalla 2.3.0

Nessuna installazione esistente va rifatta. Sul sistema installato non cambia niente: nessun flag
nuovo, nessuna migrazione, nessuna differenza di comportamento. Cambia solo il tool: scarichi il file col
nome giusto e puoi chiedergli che versione è.

🧪 Come lo sappiamo

Stessa CI di integrazione della 2.3.0 — installazione reale e disinstallazione verificata su Ubuntu 22.04
e 24.04, Debian 11 e 12, Fedora 41 e 44, con gli scenari Nginx, utente preesistente e SIGINT a metà
installazione. Sui mock: 428 test. Le tre guardie nuove sono validate per mutazione: rimettendo il
README sbagliato, il test fallisce nominando il file mancante.

⚠️ Limiti dichiarati

  • Ubuntu 26.04 non è supportata, e conviene saperlo perché wsl --install senza argomenti ora scarica
    quella: il suo python3 è il 3.14, che i pin di gevent/greenlet di Odoo non coprono. L'installer
    avvisa al preflight e prosegue, ma l'installazione si ferma al passo dei requisiti Python (annullandosi
    in modo pulito). Usa 22.04 o 24.04.
  • Su WSL2 l'installer funziona solo con systemd attivo ([boot] systemd=true in /etc/wsl.conf,
    già il default sulle immagini Ubuntu recenti): senza, l'installazione si ferma a PostgreSQL e si annulla.
  • Restano i limiti dichiarati nella 2.3.0 su Fedora: default site di Nginx non toccato, precondizione sul
    PGDATA spostato coperta dai soli test su mock.

📦 Installazione

Qualsiasi distro (binario statico):

curl -fsSL -O https://github.com/Omisen/auto-installer-odoo/releases/download/v2.4.0/odoo-installer-x86_64-unknown-linux-musl.tar.gz
curl -fsSL -O https://github.com/Omisen/auto-installer-odoo/releases/download/v2.4.0/odoo-installer-x86_64-unknown-linux-musl.tar.gz.sha256
sha256sum -c odoo-installer-x86_64-unknown-linux-musl.tar.gz.sha256   # deve dire: OK
tar xzf odoo-installer-x86_64-unknown-linux-musl.tar.gz
./odoo-installer -V
sudo ./odoo-installer

Ubuntu / Debian (occhio al -1 nel nome):

📦 Installazione

Qualsiasi distro (binario statico):

curl -fsSL -O https://github.com/Omisen/auto-installer-odoo/releases/download/v2.4.0/odoo-installer-x86_64-unknown-linux-musl.tar.gz
curl -fsSL -O https://github.com/Omisen/auto-installer-odoo/releases/download/v2.4.0/odoo-installer-x86_64-unknown-linux-musl.tar.gz.sha256
sha256sum -c odoo-installer-x86_64-unknown-linux-musl.tar.gz.sha256   # deve dire: OK
tar xzf odoo-installer-x86_64-unknown-linux-musl.tar.gz
./odoo-installer -V
sudo ./odoo-installer

Ubuntu / Debian (occhio al -1 nel nome):

curl -fsSL -O https://github.com/Omisen/auto-installer-odoo/releases/download/v2.4.0/odoo-installer_2.4.0-1_amd64.deb
curl -fsSL -O https://github.com/Omisen/auto-installer-odoo/releases/download/v2.4.0/odoo-installer_2.4.0-1_amd64.deb.sha256
sha256sum -c odoo-installer_2.4.0-1_amd64.deb.sha256
sudo apt install ./odoo-installer_2.4.0-1_amd64.deb
odoo-installer -V

Fedora:

curl -fsSL -O https://github.com/Omisen/auto-installer-odoo/releases/download/v2.4.0/odoo-installer-2.4.0-1.x86_64.rpm
curl -fsSL -O https://github.com/Omisen/auto-installer-odoo/releases/download/v2.4.0/odoo-installer-2.4.0-1.x86_64.rpm.sha256
sha256sum -c odoo-installer-2.4.0-1.x86_64.rpm.sha256
sudo dnf install ./odoo-installer-2.4.0-1.x86_64.rpm
odoo-installer -V

Una cosa da fare a parte, e vale la pena non rimandarla: le note della v2.3.0 contengono lo stesso URL rotto. Chi arriva dalla pagina Releases e apre la
release precedente — o chi ha già il link in un'email — continua a prendere 404 anche dopo che avremo pubblicato la 2.4.0. Sono due righe da correggere a
mano nel corpo della v2.3.0 (odoo-installer_2.3.0_amd64.deb → odoo-installer_2.3.0-1_amd64.deb, in tre punti: i due curl e l'apt install). Il nuovo
controllo in release.yml protegge le release future, non quella già pubblicata.