| Summary: | bitbake with external layer fetcher fails to allow SRCPV to work | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BitBake | Reporter: | Doug Goldstein <cardoe> |
| Component: | bitbake | Assignee: | Unassigned <unassigned> |
| Status: | RESOLVED OBSOLETE | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | markus.lehtonen, poky.bs.watcher, poky.watcher, randy.macleod, richard.purdie, yoctobugzilla |
| Version: | unspecified | ||
| Target Milestone: | Future | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| URL: | https://github.com/meta-rust/meta-rust/issues/136 | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Doug Goldstein
2017-01-01 21:38:39 UTC
I think what you're trying to do (i.e. implementing custom fetchers in layers) is currently not supported by bitbake. Your fetcher has not yet been added to bb.fetch2 at the time bitbake parses the recipe. So, I think we should turn this bug into an enhancement/feature request for supporting custom fetchers. Another possibility would be for you to just add your custom fetcher directly into bitbake and send it for review on the bitbake-devel mailing list. I don't know what is the general response (from RP) towards adding new fetchers, though. CC'ing RP - he might have some comments/insight. Have you tried using a global inherit (that is, e.g. in local.conf)? That might do the trick. Setting as needinfo and assigning back to reporter for comments. Adding crate-fetch to INHERIT in local.conf does not solve this issue. This issue also prevents the devtool from being useful for these recipes regardless of SRCPV parsing The challenge is that the extra module code is added too late in the parsing process for bitbake to see the fetcher module at the time SRCPV is parsed, which is very early in the parsing process. We'd hoped that INHERIT would solve that but it still isn't early enough to avoid issues with class being visible for SRCPV. I'm still not sure how to try and address this for external fetcher classes unfortunately. Crate support eventually moved into bitbake which resolved this. Before that, our best known method for handling this was in the code removed here: https://git.yoctoproject.org/poky/commit/?id=2a5dcb0662054c1d6bbe5ffe1c48fee10be30bd0 If we do ever want to fix this we'd likely need to add some kind of special import mechanism for fetchers. Having the key fetchers in bitbake is probably desirable just to encourage standardisation so this isn't hugely pressing now crates are fixed and working so moving to a future bug. The crate code moved to the fetcher which resolved this specific issue. We're not sure we want the complexity added to the fetcher code to support autorev so for now we don't plan to do this and the original issue was resolved. |