| Submitter | Bruce Ashfield |
|---|---|
| Date | July 21, 2011, 5:16 p.m. |
| Message ID | <069e9d973b31c8938d43e7c36f17d3d51ba90c18.1311267679.git.bruce.ashfield@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/8227/ |
| State | New, archived |
| Headers | show |
Comments
On 07/21/2011 10:16 AM, Bruce Ashfield wrote: > For kernel's that use a split source/object build the copy > of defconfig to {S} in the base kernel class is problematic. > The previous solution for this was to override the do_configure > of the base kernel class in a subclass. While this is still > a viable/valid option, it does mean that changes to the base > do_configure will be missed. > > The solution to this is to copy a defconfig to {B} which is > typically the same as {S}, so most kernel recipes won't see or > care about this change. > > With this change in place, linux-yocto.bbclass can drop its > override of do_configure. > > Tested with linux-yocto and oe linux recipes. > > Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Acked-by: Darren Hart <dvhart@linux.intel.com> > --- > meta/classes/kernel-yocto.bbclass | 6 ------ > meta/classes/kernel.bbclass | 4 ++-- > 2 files changed, 2 insertions(+), 8 deletions(-) > > diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass > index 98272fc..a374df1 100644 > --- a/meta/classes/kernel-yocto.bbclass > +++ b/meta/classes/kernel-yocto.bbclass > @@ -118,12 +118,6 @@ python do_kernel_configcheck() { > bb.plain( "%s" % result ) > } > > -# overrides the base kernel_do_configure, since we don't want all the > -# defconfig processing in there > -kernel_do_configure() { > - yes '' | oe_runmake oldconfig > -} > - > > # Ensure that the branches (BSP and meta) are on the locatios specified by > # their SRCREV values. If they are NOT on the right commits, the branches > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > index 2e36e86..9c492a3 100644 > --- a/meta/classes/kernel.bbclass > +++ b/meta/classes/kernel.bbclass > @@ -181,8 +181,8 @@ sysroot_stage_all_append() { > kernel_do_configure() { > # Copy defconfig to .config if .config does not exist. This allows > # recipes to manage the .config themselves in do_configure_prepend(). > - if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${S}/.config" ]; then > - cp "${WORKDIR}/defconfig" "${S}/.config" > + if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then > + cp "${WORKDIR}/defconfig" "${B}/.config" > fi > yes '' | oe_runmake oldconfig >
Patch
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 98272fc..a374df1 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -118,12 +118,6 @@ python do_kernel_configcheck() { bb.plain( "%s" % result ) } -# overrides the base kernel_do_configure, since we don't want all the -# defconfig processing in there -kernel_do_configure() { - yes '' | oe_runmake oldconfig -} - # Ensure that the branches (BSP and meta) are on the locatios specified by # their SRCREV values. If they are NOT on the right commits, the branches diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 2e36e86..9c492a3 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -181,8 +181,8 @@ sysroot_stage_all_append() { kernel_do_configure() { # Copy defconfig to .config if .config does not exist. This allows # recipes to manage the .config themselves in do_configure_prepend(). - if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${S}/.config" ]; then - cp "${WORKDIR}/defconfig" "${S}/.config" + if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then + cp "${WORKDIR}/defconfig" "${B}/.config" fi yes '' | oe_runmake oldconfig
For kernel's that use a split source/object build the copy of defconfig to {S} in the base kernel class is problematic. The previous solution for this was to override the do_configure of the base kernel class in a subclass. While this is still a viable/valid option, it does mean that changes to the base do_configure will be missed. The solution to this is to copy a defconfig to {B} which is typically the same as {S}, so most kernel recipes won't see or care about this change. With this change in place, linux-yocto.bbclass can drop its override of do_configure. Tested with linux-yocto and oe linux recipes. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> --- meta/classes/kernel-yocto.bbclass | 6 ------ meta/classes/kernel.bbclass | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-)