As Fedora 32 was the current release when Odoo 14.0 was released, this
should be the supported version.
Also, a few old libs were still in mentioned in the packaging files.
They flew under the radar because they never broke the packaging.
This is not the case anymore, those libs disappeared from the Fedora
repos.
It seems that pyparsing is not used anymore since 5a1c06a19 and thus can
be safely removed from `requirements.txt` too.
pychart is not used anymore since 3425752ea.
While at it, remove mix of tabs and spaces in package.dffedora, also add
missing packages to avoid installation at test time.
Now that I started down the slippery slope, also removed some `-dev`
packages in package.dfsrc as wheel's are available.
Finally, the rpm install script now detects the python ABI version in
order to avoid update this file at each ABI change in Fedora.
Fixes#63719closesodoo/odoo#65288
X-original-commit: a8deb1dd433e3a1690d593e83ade6af46326a26b
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
By default, the `ls` command has a width limit. Everything after this
limit will be split on a second line.
This happened when listing the modules present on the Iot Box in v12.
The list of modules was split accross two lines, the modules on the
second line were then not loaded when starting the Odoo service.
closesodoo/odoo#65259
X-original-commit: 60b58322dc803dfbf734374b63f9556563a19b8f
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
When we want to upgrade the IoT box to the lastest version
we need install kpartx to the third partition.
However the source are not up to date and we can't fetch
the package.
So we must update this partition before fetch the package
X-original-commit: 83ec693cc2c4b92b29cdee6f63b283655c2633df
m
X-original-commit: f486e61c36cb39b7b79faf018f5b8ac0448e284c
m
closesodoo/odoo#60655
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
We release a new version of IoT Box.
So we need to update the version.
closesodoo/odoo#60626
X-original-commit: d60a5896e7adaeddf0f41e28d43f9688149927ac
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
We change the OS from Raspbian to Raspberry Pi OS
So we change all occurence of raspbian to raspios
m
X-original-commit: f54f02e208f7f96e89a0b2a68c57570edb0c75d5
We used to patch http.py using a diff. This was really not practical
because every time the file was modified, the diff had to be recreated.
We now override the specific methods directly.
closesodoo/odoo#60366
X-original-commit: a6012f03ff02f04a3d128e33326f932fd22f0ced
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
`http.py` had been modified so the file could be patched correctly with
the previous version of the `http.py.iotpatch` file
closesodoo/odoo#59439
X-original-commit: 1cde9f5fde19f8dba3a9720bc9eb71b7a74c4d72
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
The path to folder of images of IoT has change.
So we adapt the path for the upgrade of IoT
closesodoo/odoo#57978
X-original-commit: 9512a23f48176fe0e7970039c824281c4af18162
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
With evdev version 1.3.0 we have a lot of Traceback in IoT Box.
A RuntimeError in the library with the function 'get_event_loop()'
So we roll back to version 1.2.0
closesodoo/odoo#57977
X-original-commit: cbe0463cc129dcbda6d7966048ec5f7fc7e85040
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
As modules present on the IoT Box might change between versions of
Odoo, we want to load all of the modules present on the box as
server-wide modules (see odoo/odoo#57176).
This means that the point_of_sale module might also be loaded, even if
it's empty. To make sure that it doesn't crash when the IoT Box starts,
we need to have an empty `{}` in the `__manifest__.py`.
closesodoo/odoo#57527
X-original-commit: 154a99129e77c0220f6720318834787369c4f573
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
In 841c016913a87133bf7257c62ae5f6bf7d99e06d, we've removed the `hw_proxy` module and
therefore removed it from the server wide modules loaded when starting
Odoo.
When the IoT Box was connected to a v12 or v13, the branch running on
the box was checked-out to the corresponding version, restoring the
`hw_proxy` module. The `hw_proxy` module was never loaded and some
routes were not defined.
To avoid this problem without leaving an empty `hw_proxy` module in
master, we detect all modules in odoo/addons and load them.
closesodoo/odoo#57501
X-original-commit: 7ac77931c4e663b44ef80f73933cf2573060c6fe
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
- Split driver.py to multiple files
- Remove hw_proxy module as most of its routes were not used and
move remaingin routes to a controller in hw_drivers
- Add missing coding and license lines at the beginning of files
- Reorder imports and remove unused ones
- Rename device_id to device_identifier for clarity
- Rename screen to display for consistency
- Other minors improvements
Taskid: 1973956
X-original-commit: 841c016913a87133bf7257c62ae5f6bf7d99e06d
`http.py` had been modified so the file could be patched correctly with
the previous version of the `http.py.iotpatch` file
closesodoo/odoo#56383
X-original-commit: 4cc5f5e10125c784a6b930294e5186ae94cb4975
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
The fact that led_status.sh was still running when performing the
`git reset --hard` made it impossible to remount the filesystem in RO
mode, due to a `mount point is busy` error.
Instead of starting the led_status_sh script from rc.local, we make it
a service so it can be easily restarted when an update is performed.
closesodoo/odoo#54353
X-original-commit: 2ad99d3b9381a61e112207c79ac89cdf4ebc6c3c
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
with this commit ce0700ce401523267b5a8bd5665a368cfea24912
we lose the compatibility with olders version of Odoo
So we keep the vesion of IoT box in the same place
for olders version of Odoo
closesodoo/odoo#54242
X-original-commit: 0215ff3fd7a353c4f191a1cb93fdce6d0db78fa0
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
We move the IoT Box version file from /home/pi to /var/odoo
so its not overriden after an auto-flash of the IoT Box.
closesodoo/odoo#54063
X-original-commit: ce0700ce401523267b5a8bd5665a368cfea24912
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Update the version for the new build of IoT Box
closesodoo/odoo#53957
X-original-commit: b75e961c383cfa211508d5e53b6a5a544259719a
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Some features need the time to be synchronized before starting:
- A certificate might be considered valid and therefore not renewed if
the time is not synced.
- If the time is not correct when the pairing code is retrieved, it
will disappear as soon as the time is synced because more than 5
minutes will have "passed" since the code was retrieved.
We then make sure that the time is synced, or that the box is not
connected to the internet (because in this case the time will never be
synced and those features cannot work with a connection anyway).
closesodoo/odoo#53953
X-original-commit: b9b02dba67cd0a91b8c49a5f57fb2f7eb4bdd690
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
The IoT Box detects printers automatically under certain conditions.
And so there are printers that are not detected by the box
and cannot be used in Odoo.
With this commit we give the possibility to add printers manually
with Cups and to be able to use them in Odoo.
closesodoo/odoo#52154
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
There is a CRON task to check the validity of the daily certificate.
However this is not executed correctly because the command line is incorrect.
This commit fixes this command line
closesodoo/odoo#52057
X-original-commit: 19a9859985a4576943dad1312b1808c6c3690645
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
After each reboot, the IP address of the IoT Boxes changed.
The problem was due to the fact that the UID that was sent to the DHCP
server was sometimes different after the box had been rebooted.
The UID was saved to `/var/lib/dhcpcd5/duid`, which was deleted after
every reboot. The UID then had to be recomputed. This UID contains a
timestamp, which was sometimes off by 1-2 seconds from one boot to the
other. The lease was then not found on the DHCP server and a new one
was created, with a new IP address.
We replace the UID by the clientID, which is not dependent on the time
but only on the MAC address of the IoT Box.
closesodoo/odoo#51889
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
When we build a new box we make a update && upgrade of the raspbian image.
But it upgrade "firmware-brcm80211" from version "1:20190114+rpt4" to "1:20190114+rpt5"
With this update and when Odoo run on the box the "wifi access point" can't be activated
With this commit we unabled the update of this package and keep the "1:20190114+rpt5"
closesodoo/odoo#51409
X-original-commit: 5071867d7733d91e77ecf222a78a5993aca44781
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Until now, to detect new types of devices on the IoT Box, we had to
modify driver.py. If partners wanted to connect a new type of device,
they had to modify directly the files on the Box, meaning that after
each new build they had to re-apply all their modifications.
We remove the loops that detected the connected devices and replace
them by `Interfaces`. All interfaces will be loaded from the connected
Odoo instance with the corresponding drivers.
TaskID: 2082282
If we start a self flash and we refresh the page
we are able to start again the upgrade.
So now we check if a upgrade is not already started
closesodoo/odoo#48340
X-original-commit: 7189111a73b689af919cdfa4712f04108b7931e6
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
This reverts commit 9d43308a8f6b521d3d18f7fc472303f58f56a0c3.
No one should be using MPD in production at the moment but
we'll still leave it in the buiold of the Box, just to be sure.
X-original-commit: 129101815d5846d5b53148546b19bdd791f22aac
When using the PoS in debug mode in 12.0, the call to the
'/hw_proxy/handshake' route contains the 'X-Debug-Mode' header.
This header was removed from the 'Access-Control-Allow-Headers' in
13.0, which is used to create the image of the IoT Box.
This means that if the code of http.py was not checked out to 12.0
(i.e. when using an IoT Box in Community), the connection would fail
and none of the devices could be used.
closesodoo/odoo#46442
X-original-commit: e6cfbd35e0878c9c07a98f950495a682c6cff535
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
Remove the MPD server and Six configuration from the IoT Box.
MPD will be replaced by TIM, which doesn't require the IoT Box.
closesodoo/odoo#46424
Taskid: 2188566
X-original-commit: 9d43308a8f6b521d3d18f7fc472303f58f56a0c3
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
For update correctly the route list of IoT after loading driver
we need set 'http.addons_manifest' to a empty json
Linked to 97c09e1c77284836c7c46b4e70d4f12eb48ce91b
Reboot not needed after a update
Linked to b77486753b7ae220a531ee09c529fb5eb944b0e2
Linked to 181a62cb57e143611ca1fbf0779cfd041d2a3cf8
closesodoo/odoo#46386
X-original-commit: 87b127efed97c1f6fad18d6ee6b5924a9b2c70f2
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
We release a new version of IoT Box 20.02
With new version of Raspbian
closesodoo/odoo#46256
X-original-commit: d58151c37c6e464c42a73171a0b5b3834f9b4d10
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
We replace the SSID of the IoTBox with a unique SSID
closesodoo/odoo#46255
X-original-commit: c847c1cb149e386331ff2e5b19a58862e1b66714
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
For a upgrade the IoT Box perform a "git reset hard"
And after we restart odoo.
But it is not enough and we need to reboot the IoT Box
closesodoo/odoo#46119
X-original-commit: c20a17bf33f13543a331d557d65c5e6f196d46e4
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Since PR 45225 hw_blackbox_be is no longer a module in the IOT but a driver.
It should therefore no longer be executed
closesodoo/odoo#45924
X-original-commit: acf11a68d17f300de3cc03cc53aa1cbac2f1977a
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
The customer display sometimes displayed a warning message saying:
"A script on this page may be busy, or it may have stopped
responding. [...] Script: chrome://[...]".
We then remove the time limit for the execution of Chrome scripts.
closesodoo/odoo#45207
X-original-commit: 53fadc7f5da8e13ca60a6e89fd74000e5cd6938e
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
To be able to flash the partition on which the IoT Box is executed,
we must create a third partition and install an OS there to be able
to boot on it and flash the partition of the IoT Box
- Creation of the third partition
- Raspbian download and checksum verification
- Installation of Raspbian on the third partition
- Download the IoT image on the Raspbian partition and check the checksum
- Reboot on the Raspbian partition
- Installation of the IoT image on the second partition
- Reboot on the IoT partition
- Cleaning and deleting the third partition
closesodoo/odoo#44430
Task: 2161955
X-original-commit: 407d9a88a3d23ed49ed5a2c5fa4d211cec43edfd
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
We move the main.py controller and the upgrade.html view
in the hw_posbox_homepage module for more consistency
X-original-commit: 9ba84dc6c0651892bdd00403477bab23fce16bdb
Extend boot partition to 512Mo to be compatible
with a future version of Raspbian and auto flash
X-original-commit: a9a8aa5ed46f7740d59c4e6f6fd6b7f3e45aabf8
At 795c7b0a94 the external dependencies was changed from trying
to import 'ldap' to checking than 'pyldap' package was installed.
The problem is that pyldap is a unmaintained library that should no
longer be used, as explained on the package page:
https://pypi.org/project/pyldap/
"The pyldap fork was merged back into python-ldap, and released as
python-ldap 3.0.0."
Having pyldap version >= 3.0 installs python-ldap automatically and
will not cause any issue.
The Debian control file package name is adapted to use the latest.
The "ldap" externalm dependency defined in __manifest__.py will cause
pkg_resources.get_distribution() to fail in both case ("python-lap" or
"pyldap"), but the "import" fallback will succeed. For that reason, the
log warning is turned into a log info.
closesodoo/odoo#43769
Note: This library should be replaced by the pure python "ldap3" library.
X-original-commit: 1afd0ccf20881ba97e3c07dffb33e9a3a0b2cda4
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
We didn't apply the iotpatch files after upgrading the IoT Box,
resulting in the crash of the Box and the user needed to re-flash his
Box.
closesodoo/odoo#41885
X-original-commit: 8dceea9383ed94b9fed7e76bbbe33794526af417
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Preivously, the code of the IoT Box was retrieved from the branch that
was used during the build but the drivers were retrieved from the
connected Odoo DB. Both could be in different versions, which forced
used to make old drivers compatible with the new Box or new drivers
compatible with old versions of the Box.
All of this made it quite hard to modify the existing code, even for
new versions of the Box in master.
When connecting the IoT Box to an Odoo DB, we now retrieve the version
of Odoo that is used and checkout the Box to this branch. This means
that we can now modify the code of the Box in master without having to
worry about users using the latest build with older DBs.
Taskid: 2120749
X-original-commit: 6af5d669593a4f431d14fce08c6151932f97da82
We must delete the folder "MOUNT_POINT" before the "zerofree"
closesodoo/odoo#41399
X-original-commit: 4dffb76fab1a44eb79b2770100eef000ef23a9e5
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Renames the file created by the build,
from "posbox.img" to "iotbox.img"
closesodoo/odoo#41190
X-original-commit: 3abe39e785d28d1e0b1a18eb9b98c1d341e5a116
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Kpartx did not erase the mapping correctly
Now we delete the mapping directly in "/dev/loopx"
X-original-commit: a33482ed703d162e79493b05a01e9724912b0385
We now support the RPI4 which has 2 micro-HDMI outputs, while the
prvious driver only supported one display. We add support for a second
display.
Taskid: 2123511
X-original-commit: 5886c3a864c990fcd7b852baafab752e7da90494
The use of an emulator (qemu) for the IoT Box build posed compatibility and performance issues.
So we have the Raspbian filesystem to install and configure packages.
closesodoo/odoo#40967
Task: 2145445
X-original-commit: 9c4e23a656bfd7b2f0c40feafadbce1b8d651aa8
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
With this PR we can use the IoT Box with the new Raspberry Pi 4 B
using raspbian 'Buster'
With buster we remove the kiosk mode of firefox and
replace this mode with a fullscreen view of firefox.
To do that we adapt DisplayDriver to expend window with a 'call_xdotool(F11)'
We remove postgresql and patch 'odoo/odoo/http.py' for he does not return a DB.
Task id: 2089286
closesodoo/odoo#40292
X-original-commit: d20676b69f37905c7994b3c55cb1bb6dfda3460e
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>