This adds more accurate descriptions of what error actually occured during
script execution, as compared to previously, where it would silently fail, and
it could be hard to figure out exactly where the error occured.
Now, upon an error, the script will always output these lines (or similar) at the end:
```bash
2020-04-23 18:53:34 [ERROR] [mender-convert] mender-convert failed
2020-04-23 18:53:34 [DEBUG] [mender-convert-extract] When running: (./mender-convert-extract:109): run_and_log_cmd():
dd if=/dev/zer of=work/boot-generated.vfat count=40 bs=1M status=none
dd: failed to open '/dev/zer': No such file or directory
2020-04-23 18:53:34 [ERROR] [mender-convert] mender-convert exit code: 1
```
Which is a description of which part of the program failed. What the exit code
was, and the last command entry in the debug log, and if any, the collected
output from the command is printed.
Changelog: Print improved error diagnostics before exiting on an error
Signed-off-by: Ole Petter <ole.orhagen@northern.tech>
The goals of the re-write was to achieve the following:
1. It should be easy to extend the tool to support other boards or distributions
2. We should not compile code in the tool (rely on binaries built elsewhere)
compiling code increases complexity, due to requirement of toolchains etc.
3. The tool shall not be designed around specific hardware/platform types
- This is the case today with the usage of --device-type flag
4 The tool should be to convert images without knowing anything about the hardware/platform
relates to above 3.
5. Configuration interface should be simplified
- command line flags -> configuration files
6. Platform specific code shall be provided trough “hooks”, and are not part of the “core” mender-convert code
7. It shall be easy to extend functionality
- support for rootfs overlay to inject user applications/configurations
- ability to override how the Mender Artifact is generated (to be able to sign and include state-scripts)
8. Code structure should be modular
- Eases Maintenance and possibility of making isolated changes
Changelog: Title
Signed-off-by: Mirza Krak <mirza.krak@northern.tech>