From 308854e4fcba85f6df4cc80c5cf53ba7ea0968d8 Mon Sep 17 00:00:00 2001 From: Christophe Monniez Date: Mon, 23 Oct 2023 12:01:53 +0200 Subject: [PATCH] [FIX] packaging: build and test tgz from latest debian The source packaging was a bit left behind, it was still using Debian buster to build and test. With this commit the Debian bookworm is used. As the installation of pip packages as root is now forbidden, the build and tests are now using a python virtual environment aka venv. closes odoo/odoo#139482 Signed-off-by: Christophe Monniez (moc) --- setup/package.dfsrc | 7 ++----- setup/package.py | 9 ++++++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/setup/package.dfsrc b/setup/package.dfsrc index 5bacc7f82ab..1277aa89426 100644 --- a/setup/package.dfsrc +++ b/setup/package.dfsrc @@ -1,6 +1,6 @@ # Please note that this Dockerfile is used for testing nightly builds and should # not be used to deploy Odoo -FROM debian:buster +FROM debian:bookworm MAINTAINER Odoo S.A. RUN apt-get update && \ @@ -23,15 +23,12 @@ RUN apt-get update -qq && \ libldap2-dev \ libsasl2-dev \ python3-pip \ + python3-venv \ python3-wheel \ build-essential \ python3 -y && \ rm -rf /var/lib/apt/lists/* -RUN pip3 install --upgrade pip - COPY requirements.txt /opt/release/requirements.txt -RUN pip3 install -r /opt/release/requirements.txt - RUN echo "PS1=\"[\u@nightly-tests] # \"" > ~/.bashrc diff --git a/setup/package.py b/setup/package.py index 45441976c06..95e976c1d3e 100755 --- a/setup/package.py +++ b/setup/package.py @@ -295,11 +295,14 @@ class DockerTgz(Docker): logging.info('Start testing python tgz package') cmds = [ 'service postgresql start', - 'pip3 install /data/src/odoo_%s.%s.tar.gz' % (VERSION, TSTAMP), 'su postgres -s /bin/bash -c "createuser -s odoo"', + 'su odoo -s /bin/bash -c "python3 -m venv /var/lib/odoo/odoovenv"', + 'su odoo -s /bin/bash -c "/var/lib/odoo/odoovenv/bin/python3 -m pip install --upgrade pip"', + 'su odoo -s /bin/bash -c "/var/lib/odoo/odoovenv/bin/python3 -m pip install -r /opt/release/requirements.txt"', + f'su odoo -s /bin/bash -c "/var/lib/odoo/odoovenv/bin/python3 -m pip install /data/src/odoo_{VERSION}.{TSTAMP}.tar.gz"', 'su odoo -s /bin/bash -c "createdb mycompany"', - 'su odoo -s /bin/bash -c "odoo -d mycompany -i base --stop-after-init"', - 'su odoo -s /bin/bash -c "odoo -d mycompany --pidfile=/data/src/odoo.pid"', + 'su odoo -s /bin/bash -c "/var/lib/odoo/odoovenv/bin/odoo -d mycompany -i base --stop-after-init"', + 'su odoo -s /bin/bash -c "/var/lib/odoo/odoovenv/bin/odoo -d mycompany --pidfile=/data/src/odoo.pid"', ] self.run(' && '.join(cmds), self.args.build_dir, 'odoo-src-test-%s' % TSTAMP, user='root', detach=True, exposed_port=8069, timeout=300) self.test_odoo()