Proposal: Metacli for Metabuild contents information fetching - #334
bhavyaVeera wants to merge 5 commits into
Conversation
|
One thing to keep in mind is we don't have meta-cli on Mac platform at this point. |
de4a76f to
6277c73
Compare
| return false; | ||
| } | ||
|
|
||
| #ifdef _WIN32 |
There was a problem hiding this comment.
Try to move all platform-specific code into oscompat.h/.c so the rest of the codebase remains clean and independent of OS-specific differences. For MacOS, since currently meta_cli won't work, the function should return no, so it will fall back to existing logic.
| #ifdef _WIN32 | ||
| binary_name = "meta_cli.exe"; | ||
| #else | ||
| binary_name = "meta_cli"; |
There was a problem hiding this comment.
I assumed the meta_cli is not working for MacOS yet, at least no one have verified that it's working.
|
Hi @bhavyaVeera , Thanks for the proposal and the detailed write-up; it makes the intent easy to follow. I'm not in favour of this approach, though, and I'd like to explain why before we go further on the implementation. The core concern: qdl should not wrap other tools The PR makes qdl search the build tree for
What I'd suggest instead (multiple options):
Thanks again for raising this; consistent fetching logic is a real problem, and I think it's best solved next to qdl rather than inside it. @andersson I would like your opinion on this as well |
[Proposal]: Using meta_cli for fetching flashable binaries, programmers, raw and patch XMLs from meta build.
The target meta_builds are providing meta_cli binary to fetch the images required for flashing. This has been in use in PCAT since the time of past discussions with target teams for maintaining consistent fetching logic.
Sample location: \sundae\scratch-nsid-sd-05\Kaanapali.LA.2.0-00043-STD.INT-2\common\build\app\windows_x86_64\meta_cli.exe
This PR is to modify the below logical flow in QDL. It first tries to fetch through the meta_cli approach and if it fails for some reason, it falls back to the existing logic of parsing contents XML directly.
Introducing metacli_locate(), metacli_contents_decode_selectors() and populate_from_metacli()
This also introduces a new selector sku for targets like Nord
I'd appreciate your suggestions, comments and feedback to make this PR better.
Sample Run runs the below commands