Skip to content

Commit

Permalink
[REF] packaging: use docker to build packages
Browse files Browse the repository at this point in the history
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#37766

Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
  • Loading branch information
d-fence committed Oct 2, 2019
1 parent e10a402 commit 8c4c439
Show file tree
Hide file tree
Showing 7 changed files with 463 additions and 430 deletions.
4 changes: 4 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[install]
optimize=1

[bdist_rpm]
no-autoreq = yes
install-script = setup/redhat/install.sh
Expand Down Expand Up @@ -48,3 +51,4 @@ requires =
python3-werkzeug
python3-xlwt
python3-xlrd

8 changes: 6 additions & 2 deletions setup/package.dfdebian
Original file line number Diff line number Diff line change
@@ -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:stretch
FROM debian:buster
MAINTAINER Odoo S.A. <info@odoo.com>

RUN apt-get update && \
Expand All @@ -12,11 +12,14 @@ RUN dpkg-reconfigure locales && \
locale-gen C.UTF-8 && \
/usr/sbin/update-locale LANG=C.UTF-8
ENV LC_ALL C.UTF-8
ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update -qq && \
apt-get upgrade -qq -y && \
apt-get install -qq -y\
adduser \
dh-python \
packaging-dev \
postgresql \
postgresql-client \
python3 \
Expand Down Expand Up @@ -51,7 +54,8 @@ RUN apt-get update -qq && \
python3-vatnumber \
python3-vobject \
python3-werkzeug \
python3-xlsxwriter && \
python3-xlsxwriter \
rsync && \
rm -rf /var/lib/apt/lists/*

RUN echo "PS1=\"[\u@nightly-tests] # \"" > ~/.bashrc
8 changes: 4 additions & 4 deletions setup/package.dffedora
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Please note that this Dockerfile is used for testing nightly builds and should
# not be used to deploy Odoo
FROM fedora:26
FROM fedora:30
MAINTAINER Odoo S.A. <info@odoo.com>

# Dependencies and postgres
Expand Down Expand Up @@ -45,17 +45,17 @@ RUN dnf update -d 0 -e 0 -y && \
python3-werkzeug \
python3-xlwt \
python3-xlrd \
python3-xlsxwriter \
libsass \
pytz \
postgresql \
postgresql-server \
postgresql-libs \
postgresql-contrib \
postgresql-devel -y && \
postgresql-devel \
rpmdevtools -y && \
dnf clean all

RUN pip3 install XlsxWriter

# Postgres configuration
RUN mkdir -p /var/lib/postgres/data
RUN chown -R postgres:postgres /var/lib/postgres/data
Expand Down
4 changes: 2 additions & 2 deletions setup/package.dfsrc
Original file line number Diff line number Diff line change
@@ -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:stretch
FROM debian:buster
MAINTAINER Odoo S.A. <info@odoo.com>

RUN apt-get update && \
Expand All @@ -20,7 +20,7 @@ RUN apt-get update -qq && \
postgresql-server-dev-all \
postgresql-client \
adduser \
libsass0 \
libsass1 \
libxml2-dev \
libxslt1-dev \
libldap2-dev \
Expand Down
Loading

0 comments on commit 8c4c439

Please sign in to comment.