Actually, docker is used to test Linux packages once they are built.
The packaging process is done on the host system where package.py is
run.
Consequences:
* difficult to reproduce an exact same build on another host
* changing a Debian/Ubuntu target version means some upgrade steps
on the build host (mix that with the fact that the host also
could build old Odoo versions)
* Fedora rpm package is built on an Ubuntu system (which is not a
real problem but it could be)
With this commit, the package.py utility is refactored to use Docker
containers to build the Gnu/Linux packages.
Also, the Debian package is adapted for Debian Buster, the RPM package
is built based on Fedora 30.
Some minor changes are also made in the windows packaging system.
closes odoo/odoo#37766
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
45 lines
1.0 KiB
Plaintext
45 lines
1.0 KiB
Plaintext
# Please note that this Dockerfile is used for testing nightly builds and should
|
|
# not be used to deploy Odoo
|
|
FROM debian:buster
|
|
MAINTAINER Odoo S.A. <info@odoo.com>
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y locales && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Reconfigure locales such that postgresql uses UTF-8 encoding
|
|
RUN dpkg-reconfigure locales && \
|
|
locale-gen C.UTF-8 && \
|
|
/usr/sbin/update-locale LANG=C.UTF-8
|
|
ENV LC_ALL C.UTF-8
|
|
|
|
RUN apt-get update -qq && \
|
|
apt-get upgrade -qq -y && \
|
|
apt-get install \
|
|
postgresql \
|
|
postgresql-server-dev-all \
|
|
postgresql-client \
|
|
adduser \
|
|
libsass1 \
|
|
libxml2-dev \
|
|
libxslt1-dev \
|
|
libldap2-dev \
|
|
libsasl2-dev \
|
|
libssl-dev \
|
|
libjpeg-dev \
|
|
zlib1g-dev \
|
|
python3-dev \
|
|
python3-pip \
|
|
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
|