For called processes, replace the not-very-useful type message
with the command-explanation, and replace the value (previously
command-explanation) by the stderr of the failed command.
FIXES#865
This is why the whole refactoring started: to get the process output
and exit code in one spot so we can attach the process output
to the (Python exception) CalledProcessError in all the code
paths, not just those that are explicitly looking for output.
- Add a more general targetEnvCommand() that returns both
error code and process output.
- Change existing targetEnvCall() and targetEnvOutput()
to use general form while discarding some data.
- Refactor, internal _handle_check_target_env_call_error doesn't need
to be in header or visible.
- Add optional output (of the command) to the Python exception.
- This is only a partial solution to warnings caused by third-party
code, since #including the headers from other sources won't apply
the warning-suppressions.
- Flags are not applied when building the source as part of a larger
target, but are on re-building just one object (it seems -- CMake
issue to track down).
Thanks to Kevin Kofler for pointing out what I'd forgotten about
source-file flags. While at it, introduce a generic mechanism for
suppressing warnings in third-party code.
Mostly reverts 4930484931
- remove Job.gettextPath
- add libcalamares.utils.gettext_path()
- add libcalamares.utils.gettext_lang()
- modify examples in main.py
- add some gettext debug-output from dummypython
- correct namespace mis-labeling
- provide two forms of GlobalStorage
- regular use, has a JobQueue with storage
- testing use, creates GlobalStorage separately, provide
independent access to that for Python.
- Didn't run at all (at least since v3.1) because of mismatch between
GlobalStorage constructor arguments and use; special-case None
in the C++ code to allocate a new GlobalStorage object.