Bug 13172

Summary: Kernels with non-standard names don't provide virtual/kernel
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Ross Burton <ross.burton>
Component: kernelAssignee: Bruce Ashfield <bruce.ashfield>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: randy.macleod, richard.purdie, tom.zanussi
Version: 0.0.0   
Target Milestone: 4.0 M2   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Ross Burton 2019-02-05 20:59:45 UTC
We let kernel recipes name their packages something unique:

kernel.bbclasss:
KERNEL_PACKAGE_NAME ??= "kernel"

But if the name isn't "kernel" then they don't provide virtual/kernel, so can't be really be used if all of the valid kernels have a name set:

kernel.bbclasss:
PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else "" }"

I believe that line should just be PROVIDES += "virtual/kernel".
Comment 1 Richard Purdie 2019-02-07 15:48:14 UTC
This is to allow multiple kernels to be built reusing the class code. We don't want two kernels to PROVIDE virtual/kernel so I'd say this is not a bug...
Comment 2 Bruce Ashfield 2019-05-22 20:53:00 UTC
We should decide on this in 2.8. Is it a bug or not. Having just been through all this code myself, I'm also inclined to say not a bug.
Comment 3 Bruce Ashfield 2020-11-23 18:09:07 UTC
Will start running tests with the simplest of changes and see if anything breaks.
Comment 4 Bruce Ashfield 2021-11-11 13:17:16 UTC
merged to oe-core (now we wait to see if some unaccounted for case fails).