| Summary: | poky bitbake: RRECOMMENDS_${PN} treated as runtime dependency | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BitBake | Reporter: | Willem <willem.romkes> | ||||||
| Component: | bitbake | Assignee: | Richard Purdie <richard.purdie> | ||||||
| Status: | RESOLVED NOTABUG | QA Contact: | |||||||
| Severity: | minor | ||||||||
| Priority: | Undecided | CC: | bluelightning, poky.bs.watcher, poky.watcher | ||||||
| Version: | unspecified | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | x86 | ||||||||
| OS: | Multiple | ||||||||
| Whiteboard: | |||||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||||
| Verified: | Documentation change: | Don't know | |||||||
| Attachments: |
|
||||||||
|
Description
Willem
2015-05-04 13:19:22 UTC
Created attachment 2489 [details]
Patch
The intended behaviour is that there must be something claiming to provide something in RRECOMMENDS, so if nothing does then an error is expected - it's just that whether or not that dependency really gets satisfied at runtime is optional. So I think it's working as designed at the moment. Bitbake itself requires dependencies to be resolvable. We can do fuzzy patching with things like PACKAGES_DYNAMIC which is a mask of packages that can be generated but to bitbake we need to have a way that something can possibly get built. The other issue is that we support dependency renaming. In order to do this and get the dependencies right, we need a dependency tree which is complete, not where pieces can get added in later (e.g. through addition of a layer). So I think our user experience would significantly deteriorate if we did this and the patches are not acceptable. The optional nature of RRECOMMENDS is at runtime and at the package manager level, not the build system. (In reply to comment #2) > The intended behaviour is that there must be something claiming to provide > something in RRECOMMENDS, so if nothing does then an error is expected - > it's just that whether or not that dependency really gets satisfied at > runtime is optional. So I think it's working as designed at the moment. (In reply to comment #3) > The optional nature of RRECOMMENDS is at runtime and at the package manager > level, not the build system. If only the package manager needs to know what packages are recommended, why does the build system complain if the specified package isn't available? The package should be able to build without it. IMHO the only action from the build system I would expect is to check if a recipe for that package exists in the meta. (Well, in case of building a dedicated system that is. In case of building a distro like Ubuntu you just want to build the recommended packages too...) Anyway, thanks for your time gentlemen. |