Fix error when compiling the Pinetime using the Docker image.
If done with Docker, the container does not trust the /sources
folder, leading to a blank response of the command that grabs
the git commit `git rev-parse --short HEAD`.
```
fatal: detected dubious ownership in repository at '/sources'
To add an exception for this directory, call:
git config --global --add safe.directory /sources
PROJECT_GIT_COMMIT_HASH_SUCCESS? 128
BUILD CONFIGURATION
-------------------
* Mode : Release
* Version : 1.3.0
* Toolchain : /opt/gcc-arm-none-eabi-10.3-2021.10
* GitRef(S) :
* NRF52 SDK : /opt/nRF5_SDK_15.3.0_59ac345
* Target device : PINETIME
* Build DFU (using adafruit-nrfutil) : Enabled
* Build resources : Enabled
```
If the `git config --global --add safe.directory /sources` is
added to the Dockerfile, the problem is solved and the hash is
added correctly.
* Only use one Dockerfile and build.sh script for both docker and devcontainer
* Remove all now unneccessary tasks and scripts
* Update to clang-format-14
* Move devcontainer.json into root folder
* Fix conditional statements in Dockerfile
* Move .devcontainer/README into doc/usingDevcontainers
* Remove obsolete VSCode Task
* Change standard compiler path to the correct compiler
* Set GDB Path for debugging
* Hide broken buttons from CMake Extension
* Refactor .devcontainer
* Remove unneccessary postBuildCommand
* Add devcontainer dependencies to all docker images
* Add Devcontainer Debug launch config
* Add an additional c_cpp_properties config as a fallback for devcontainer
* Remove obsolete Docker Argument
* Fix wrong C/Cpp versions
* Fix silent fail of gdb, add libncurses5
Create a minimal python port of the node.js module `lv_img_conv`. Only
the currently in use color formats `CF_INDEXED_1_BIT` and
`CF_TRUE_COLOR_ALPHA` are implemented.
Output only as binary with format `ARGB8565_RBSWAP`.
This is enough to create the `resources-1.13.0.zip`.
Python3 implements "propper" "banker's rounding" by rounding to the nearest
even number. Javascript rounds to the nearest integer.
To have the same output as the original JavaScript implementation add a custom
rounding function, which does "school" rounding (to the nearest integer)
Update CMake file in `resources` folder to call `lv_img_conf.py` instead of
node module.
For docker-files install `python3-pil` package for `lv_img_conv.py` script.
And remove the `lv_img_conv` node installation.
---
gen_img: special handling for python lv_img_conv script
Not needed on Linux systems, as the shebang of the python script is read
and used. But just to be sure use the python interpreter found by CMake.
Also helps if tried to run on Windows host.
---
doc: buildAndProgram: remove node script lv_img_conv mention
Remove node script `lv_img_conv` mention and replace it for
runtime-depency `python3-pil` of python script `lv_img_conv.py`.
Return the build status as return code from the `main` helper function.
In the process convert the handling if the file was sourced or directly
executed into an explicit if/else statement to make the intent clearer.
In case of an build error the error is now reported at the build step,
where the error happened.
Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/1292
Gitpod workspace path is based on repo name... it was `/workspace/Pinetime`,
but after the repo rename it's now `/workspace/InfiniTime`.
Also added second pip call as it's in the main dockerfile.
This new FW is build on the same codebasse than the actual InfiniTime. Only the display task is different (this allows to remove lvgl from the recovery fw, which is very heavy).
CMake builds and docker have been modified accordingly.
Note than the fw is converted into an image and then into a DFU in the cmake build (previously, it was only done in the