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>
Fedora 29 switched to python 3.7. It seems that there is no official
way to build a RPM package that could works with 3.6 and 3.7.
Building two different packages for each version could open the pandora
box of packaging.
With this commit an ugly hack is used: if python3.7 is found, the odoo
directory is symlinked into its site-packages dir.
fixes#30579closesodoo/odoo#30618
Without this, odoo log outputs to stdout and is catched by journald. We
force the use of a log file to keep the behavior consistent with the
debian package.
The use of an entry point was considered in order to provide
an `odoo` command in the path for the packages users, but the
generated entry point will first check that all the things in
install_requires were provided in a not bright way: it'll check
that it matches a distribution name. This does not work because
python-chart does not have the distrubtion name "pychart" which
is provided by the python-pychart package in debian jessie. Same
for suds-jurko which is provided by python-suds in debian stretch
but does not have the distribution name "suds".
Also, adapted the packages tests to these cli changes.
easy_install suds-jurko result in "The required version of setuptools
(>=1.4) is not available," in the last CentOS. As we don't want to
force the upgrade of setuptools, use the suds package instead.
Also, add it in centos test environment (missing after
rev 6dfbca2ba0)
PyChart is now in the EPEL repo so we now list it as required in
setup.cfg. The other mandatory lib not provided by EPEL are
pyPdf, vatnumber and pydot and are now installed by easy_install
during the post install.
By default, the package was installed in /usr/local/lib/python2.7 in CentOS7.
It is problematic because most of other python packages are installed in /usr/lib
and also because /usr/local/lib is not in the default PYTHONPATH. It's fixed by
overriding the install script and forcing prefix to be /usr.
Added a minimal systemd unitfile.
Adapted tests accordingly.
- move packaging stuff to setup
- remove historical stuff
- remove oe, odoo-cmd-fme will be merged with the convered commands
- add an odoo.py script to run odo and boostrap it
- simplify README
- prepare to move documentation to the github wiki