You are here
Carlos Vercelino - Thu, 2020/05/21 - 21:42
I am moving the discution regarding the Odoo App (v16.0) form the post "v16.0 Stable Release #2 - 10 more ISOs, Hub & Proxmox/LXC builds" to this topic.
Please, refer to the posts Schedule for the release of Odoo App, Hi Carlos, not sure but I can prioritise it?!, Odoo App v16.0, and Thanks for the feedback Carlos to know what has been discussed up to now.
Forum:
Building the ISO for Odoo (TKLdev v16.0) has failed
Hi Jeremy,
I have tried to build an ISO for the Odoo appliance using TKLdev v 16.0 but I have not succeed. For sure I will try to do the same using TKLdev v15.0 just to confirm that the build will succeed as expected.
Until then, please, can you or someone else give me an idea of whats is going on?
See below the console output showing the error:
Any help will be very welcome!
Building the ISO for Core (TKLdev v16.0) has succeed!
Hi Jeremy,
Just to be sure that my set up for TKLdev (v16.0) enviroment was done properly, I executed the same procedure for the Core App. Everything has worket fine!
It looks like a package no longer exists
[update] I just realised that it's probably worth explicitly noting that the reason why you are hitting errors is because v16.0 TKLDev is trying to build a v16.x based Odoo appliance. But the Odoo buildcode hasn't yet been updated to build on/for v16.0! So hitting errors is somewhat expected.
Ultimately, that's what a major version transition requires; working through each appliance updating the code so that it works as required. It's what we're doing at the moment behind the scenes, then rebuilding the updated appliances... :)
If you make a start on the v16.0 Odoo appliance, that'd be awesome! The rest of this post covers a few bits that might help you get a bit further.
Backing up a bit, the plan (i.e. the plan/main file in the case of individual appliances) contains the names of the packages that will be installed when building the appliance.
In this case, it's failing on python-gdata. It existed in Debian Stretch but isn't in Buster.
It's also worth noting that in Debian, the package names denote the python version that they are for, and as per the executable, "python" denotes Python2 and "python3" denotes Python3. E.g. python-NAME is the Python2 package for NAME & python3-NAME is the Python3 package for NAME. So for v16.0 Odoo (using Python3) we'll instead want to install the Python3 dependencies.
Looking at the current Odoo plan, we seem to installing a mix of python 2 & 3 packages?! IIRC the most recent TurnKey Odoo appliance was hosting Odoo via Python3. I suspect that most of the python-... packages still in the plan are an oversight. So I'll cover those Python2 packages first.
In the case of python-gdata, there doesn't appear to ever have been a python3 package, plus it's not in Buster. Assuming I'm correct about Odoo running on Python3, it probably wasn't even being used in the previous Odoo appliance anyway. As such I imagine just removing that one altogether would be the best plan.
Again, I don't think python-gevent was being used by Odoo, although if it needs it, we could install it by updating the package name (to 'python3-gevent'). For now probably best just to remove it though.
It looks like python-passlib was being used by the Odoo inithook (provided by us). As we've updated the v16.0 inithooks package to use Python3 in v16.0, that will (most likely) need to be updated to the python3 version. And the inithook itself will need to be updated to python3 too. We can discuss that further, but I won't touch that for now.
So to summarise the Python2 packges, python-gdata & python-gevent could just be removed completely for now and python-passlib can be updated to python3-passlib.
Re the Python3 packages, 'python3' itself can be removed as it's installed by default in v16.0/Buster anyway. I'm not sure if the python3 pip, setuptools & wheel packages are still required or not?! I guess it depends on whether we need to manually install psycogreen via pip or not? TBH, I suspect not if we're installing via apt. I suspect that if Odoo needs them, it would either provide them, or install them from Debian (where available) but I'm not 100% sure... You could always remove them (and the line that uses them from the conf script) and see how you go?!
We might wish to tweak and/or add back in some python3 dependencies later, but as we're installing Odoo via apt, it should hopefully install any Debian dependencies itself. FWIW it's not a huge deal to allow Odoo to install it's own Debian dependencies at install time, but I do prefer to install them via the plan where possible. And there is a possiblity that there are some dependencies not provided by Debian or Odoo (in which case, we'd need to install them manually via some other method). We can always circle back on that later though.
I hope that makes sense and helps...
Building the ISO for Odoo (TKLdev v16.0) has succeeded!
Hi Jeremy,
Following your suggestions, I have been able to create an ISO for the Odoo appliance using TKLdev v16.0 following the procedure depicted here.
I have just edited the file "/turnkey/fab/products/odoo/plan/main" as shown below:
Fom the ISO file I have implemented a VM using this procedure.
I have just found a minor problem regarding the inihook execution at the first boot. I was not asked to set the "Odoo Master Account" password. This has not prevent me from using de VM. The user "Administrator" password for the defatult database was set to "admin" and the "Master Password" was set to an unknown value.
To recover the Master Password I used the procedure below:
Despite this minor problem, it seems to me that I have got an working Odoo Appliance.
At first ,the Odoo v11.0 installed.
I have replaced it to Odoo v12.0 and then have installed all the modules I use currently for my projects. After that I have created an instance of my main project. Up to now everything going Ok.
I am quite sure that we already have a working embryo of the Odoo (v16.0). For sure there is some (or a lot of) work to be done in order to make this a viable Odoo (v16.0) appliance, and if I could be of any help, please, tell me.
Great thanks Carlos.
Great thanks for checking that out Carlos. I've added some notes re Odoo and we'll try to prioritise it.
Regarding the inithook, I'm not at all surprised it doesn't run/work. We've updated inithooks to be Python3 for v16.0, so the old Python2 inithooks (such as the Odoo one that sets the Admin password) will need to be updated before they'll work.
Replacement to Odoo v13.0 has succedded!
I have replaced Odoo v12.0 to Odoo v13.0 and apparently, everything is doing ok.
I wasn't able to test any of my modules since any piece of my code will work on this new version without some sort of refactoring. For sure, I will skip version 13.0.
I kept my suggestions on Odoo App v16.0.
Great work, thanks Carlos.
Thanks for testing that out and reporting back. Great work!
Building the ISO for Odoo (TKLdev v15.0) has failed
Hi Jeremy,
I tried to build an ISO for the Odoo appliance using TKLdev v15.0 but I have not succeed.
See below the console output showing the error:
The same has happend with the Core App.
I have followed the procedure Setup: build your first image.
Any help will be very welcome!
Yes unfortunately TKLDev v15.x is now broken by default...
It is possible to use the v15.x TKLDev, but not without tweaking it... And even then, unless used in a very specific way, it will only be able to build v15.x appliances.
As we're moving forward to v16.x, I won't bother going into further detail re v15.x.
As noted in my earlier post, I'm more than happy to help you to help us updating the Odoo appliance though! :)
Some more notes...
I've just posted some doc links re TKLDev in another thread (related to development; not Odoo) and thought it might be worth reposting here too?!
Is TKLPatch still a viable solution for appliance customization?
Is TKLPatch still a viable solution for appliance customization? It seems to me that TKLPatch has not being maintained anymore.
In the past I did used it a lot in order to apply customization to my appliances on the fly with the command:
It still works as in the past?
Yep, should still work
Yes it should still work fine. FWIW we still use it ourselves within buildtasks (the toolkit that we use to build all the different formats ready for publishing).
Add new comment