I'm looking into best practice LTS support for Google GN based projects. This includes Chromium, Flutter, SKIA, etc.
The weakness I see today for GN projects is that it's a build system within a build system, and doesn't support idiomatic download caching, download vs patching isn't clear as it should be, etc. Two approaches to resolve this come to mind: 1. Do something similar to how meta-rust does it. Pre-process GN build files and generate Yocto recipes using a hostside tool (similar to cargo-bitbake for meta-rust). This would skip usage of gclient entirely, and the tradeoff is to incur download performance penalty. 2. Implement build parsing in a gclient/gn fetcher class. I feel the first approach would be easier to maintain and provide better flexibility. It would incur a new host dependency, and require an additional step to generate an updated recipe. I suspect the second approach would be an OE maintenance headache, as complexities would be directly exposed in OE. Is this why gclient fetcher support came and went? I'm figuring/hoping there are a few opinions floating around on this subject. Is there a better approach? Thanks, Joel
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#54971): https://lists.yoctoproject.org/g/yocto/message/54971 Mute This Topic: https://lists.yoctoproject.org/mt/86105559/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
