Commit 286d1d3
committed
config-desktop: install python3-yaml; surface parse_desktop_yaml.py errors
Two related fixes for BUILD_DESKTOP=yes on the configng-based desktop
selection path:
1. prepare-host.sh: add 'python3-yaml' to host_dependencies. configng's
parse_desktop_yaml.py imports PyYAML, which neither the freshly-
prepared docker container nor a from-scratch host had installed,
so the parser bombed on every interactive desktop build with:
ModuleNotFoundError: No module named 'yaml'
2. config-desktop.sh: stop swallowing the parser's stderr. The previous
'python3 ... 2>/dev/null' meant any parser failure landed in the
bash SUBSHELL ERR trap with zero diagnostic, e.g.:
Error 1 occurred in SUBSHELL [ at config-desktop.sh:78 ]
Error 1 occurred in main shell [ at config-desktop.sh:78 ]
Capture stderr to a temp file, capture exit code via '|| de_rc=$?',
and on non-zero invoke exit_with_error with the captured stderr
inline so the actual cause shows up in the user's log on first run.
The 'parser succeeded but returned empty list' branch is unchanged.1 parent 4726d9b commit 286d1d3
2 files changed
Lines changed: 21 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
77 | 85 | | |
78 | | - | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
79 | 95 | | |
80 | 96 | | |
81 | 97 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
205 | | - | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
206 | 208 | | |
207 | 209 | | |
208 | 210 | | |
| |||
0 commit comments