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.
closesodoo/odoo#37766
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
The use of polib as introduced in commit 632fa04.
The nightly packaging system uses Docker to test the packages and they need to
be updated when a new library dependency is introduced.
closesodoo/odoo#34117
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
After the Odoo package is built, the package.py script uses a Docker
image to test the package. After that python3-qrcode was added as a
dependency for the package in 2ff49c5f , it revealed some issues.
A missing cli parameter and a forgotten '&&' in the Dockerfile prevented
the installation of the depending packages.
Also, the script shebang was wrong by launching python2.
Finally, the fact that python3-xlwt is missing in Debian stretch was
highlighted. With this commit, the python3-xlwt is explicitly removed
from the dependencies and the documentation is updated accordingly.
closesodoo/odoo#28807
Commit cf853a785b removed all yml tests
and the yml import engine from Odoo forever, however PyYAML remains a
dependency even though it's not used anymore.
This commit removes any reference to this lib that could be found.
closesodoo/odoo#27563
A dependency to libsass was added in debian package and in the docker
file. The Odoo nightly builds of the deb package was failing because
this lib is named libsass0 in Debian.
Finally, this dependency is not required because python3-libsass already depends on libsass0.
The automated tests of rpm,deb and src packages are using docker
images and containers. Those tests were not working as expected due
to various small glitches:
* some debian python- packages were missing in the Debian image
* pip was called instead of pip3 for the src test
* a wrong addons path was given for the tests
* the containers id's were wrong due to a bytes implicitly converted
to str
Before this patch, the debian package depends on `python-pybabel`.
According to the documentation, this is a dummy package for transition
from `python-pybabel` to `python-babel`[1].
This dummy package has thus been removed in debian stretch in favor of
`python-babel`, and the odoo package is thus not installable in debian
stretch.
To fix this, we depend directly on `python-babel`, which is available in
all debian releases[2].
Closes#13905
[1] https://packages.debian.org/jessie/python-pybabel
[2] https://packages.debian.org/jessie/python-babel
* Remove dependency on less-plugin-clean-css which distribution
packages are broken on debian stretch and derivated.
* Updated documentation.
* Lessc provides a `--compress` argument that could solve this issue.
According to the documentation at http://lesscss.org/usage/: "[...]
Compress using less built-in compression. This does an okay job but
does not utilise all the tricks of dedicated css compression[...]"
However, using this argument works on lessc 2.5.3 but not on 1.4.2
(`--compress` arg is present but seems to be break some rules
i haven't been able to put my finger on).
* Finally, use the minification of the StylesheetAsset that takes care
of removing the spaces, the comments and the sourcemap with regexes.
fixes issue #9113
The stdlib version of the json library is more recent than the 3.5.3
version we are pinning in `requirements.txt`
There is no reason to use it.
Closes#6940
The `unittest2` package is simply a backport of `unittest` from the
Standard Library of Python 2.7 to previous versions.
There is no reason to use it any longer.
Closes#6941
RPM packages did not pass the tests because the centos prompt changed
and thus did not match the regexp anymore. We now explicitely specify
the prompt in our Dockerfiles to prevent such issues.