| Submitter | Koen Kooi |
|---|---|
| Date | Sept. 6, 2012, 11:23 a.m. |
| Message ID | <1346930610-2977-3-git-send-email-koen@dominion.thruhere.net> |
| Download | mbox | patch |
| Permalink | /patch/36035/ |
| State | Accepted |
| Headers | show |
Comments
On Thu, Sep 6, 2012 at 6:23 AM, Koen Kooi <koen@dominion.thruhere.net> wrote: > From: Darren Hart <dvhart@linux.intel.com> > > [YOCTO #1614] > > Add the kernel headers to the kernel-dev package. This packages what was > already built and kept in sysroots for building modules with bitbake. > Making this available on the target requires removing some additional > host binaries. > > Move the location to /usr/src/kernel > > Before use on the target, the user will need to: > > # cd /usr/src/kernel > # make scripts > > This renders the kernel-misc recipe empty, so remove it. > > As we use /usr/src/kernel in several places (and I missed one in the > previous version), add a KERNEL_SRC_DIR variable and use that throughout > the class to avoid update errors in the future. > > Now that we package the kernel headers, drop the > kernel_package_preprocess function which removed them from PKGD. > > All *-sdk image recipes include dev-pkgs, so the kernel-dev package will > be installed by default on all such images. > > Signed-off-by: Darren Hart <dvhart@linux.intel.com> > CC: Bruce Ashfield <bruce.ashfield@windriver.com> > CC: Tom Zanussi <tom.zanussi@intel.com> > CC: Khem Raj <raj.khem@gmail.com> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> > Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Why did you resent this? Are there changes or by accident? Just asking before I make a patch for denzil with my previous fix. -M > --- > meta-oe/classes/kernel.bbclass | 27 ++++++++++++--------------- > 1 files changed, 12 insertions(+), 15 deletions(-) > > diff --git a/meta-oe/classes/kernel.bbclass b/meta-oe/classes/kernel.bbclass > index 6f1b6a4..d7e42f6 100644 > --- a/meta-oe/classes/kernel.bbclass > +++ b/meta-oe/classes/kernel.bbclass > @@ -82,6 +82,10 @@ EXTRA_OEMAKE = "" > > KERNEL_ALT_IMAGETYPE ??= "" > > +# Define where the kernel headers are installed on the target as well as where > +# they are staged. > +KERNEL_SRC_PATH = "/usr/src/kernel" > + > KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.getVar('KERNEL_IMAGETYPE', True))}" > > kernel_do_compile() { > @@ -135,7 +139,7 @@ kernel_do_install() { > # Support for external module building - create a minimal copy of the > # kernel source tree. > # > - kerneldir=${D}/kernel > + kerneldir=${D}${KERNEL_SRC_PATH} > install -d $kerneldir > > # > @@ -188,23 +192,18 @@ kernel_do_install() { > cp arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o > fi > > - # Remove the following binaries which cause strip errors > + # Remove the following binaries which cause strip or arch QA errors > # during do_package for cross-compiled platforms > bin_files="arch/powerpc/boot/addnote arch/powerpc/boot/hack-coff \ > - arch/powerpc/boot/mktree" > + arch/powerpc/boot/mktree scripts/kconfig/zconf.tab.o \ > + scripts/kconfig/conf.o" > for entry in $bin_files; do > rm -f $kerneldir/$entry > done > } > > -PACKAGE_PREPROCESS_FUNCS += "kernel_package_preprocess" > - > -kernel_package_preprocess () { > - rm -rf ${PKGD}/kernel > -} > - > sysroot_stage_all_append() { > - sysroot_stage_dir ${D}/kernel ${SYSROOT_DESTDIR}/kernel > + sysroot_stage_dir ${D}${KERNEL_SRC_PATH} ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH} > } > > kernel_do_configure() { > @@ -252,13 +251,11 @@ EXPORT_FUNCTIONS do_compile do_install do_configure > > # kernel-base becomes kernel-${KERNEL_VERSION} > # kernel-image becomes kernel-image-${KERNEL_VERISON} > -PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev kernel-misc" > +PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev" > FILES = "" > FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*" > -FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config*" > +FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH}" > FILES_kernel-vmlinux = "/boot/vmlinux*" > -# misc is a package to contain files we need in staging > -FILES_kernel-misc = "/kernel/include/config /kernel/scripts /kernel/drivers/crypto /kernel/drivers/media" > RDEPENDS_kernel = "kernel-base" > # Allow machines to override this dependency if kernel image files are > # not wanted in images as standard > @@ -475,7 +472,7 @@ python populate_packages_prepend () { > metapkg = "kernel-modules" > d.setVar('ALLOW_EMPTY_' + metapkg, "1") > d.setVar('FILES_' + metapkg, "") > - blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux', 'kernel-misc' ] > + blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux' ] > for l in module_deps.values(): > for i in l: > pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1)) > -- > 1.7.7.6 > > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Op 6 sep. 2012, om 18:43 heeft McClintock Matthew-B29882 <B29882@freescale.com> het volgende geschreven: > On Thu, Sep 6, 2012 at 6:23 AM, Koen Kooi <koen@dominion.thruhere.net> wrote: >> From: Darren Hart <dvhart@linux.intel.com> >> >> [YOCTO #1614] >> >> Add the kernel headers to the kernel-dev package. This packages what was >> already built and kept in sysroots for building modules with bitbake. >> Making this available on the target requires removing some additional >> host binaries. >> >> Move the location to /usr/src/kernel >> >> Before use on the target, the user will need to: >> >> # cd /usr/src/kernel >> # make scripts >> >> This renders the kernel-misc recipe empty, so remove it. >> >> As we use /usr/src/kernel in several places (and I missed one in the >> previous version), add a KERNEL_SRC_DIR variable and use that throughout >> the class to avoid update errors in the future. >> >> Now that we package the kernel headers, drop the >> kernel_package_preprocess function which removed them from PKGD. >> >> All *-sdk image recipes include dev-pkgs, so the kernel-dev package will >> be installed by default on all such images. >> >> Signed-off-by: Darren Hart <dvhart@linux.intel.com> >> CC: Bruce Ashfield <bruce.ashfield@windriver.com> >> CC: Tom Zanussi <tom.zanussi@intel.com> >> CC: Khem Raj <raj.khem@gmail.com> >> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> >> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> > > Why did you resent this? Are there changes or by accident? Just asking > before I make a patch for denzil with my previous fix. This is for the meta-oe kernel.bbclass, not the oe-core one :)
On Thu, Sep 6, 2012 at 11:47 AM, Koen Kooi <koen@dominion.thruhere.net> wrote: > > Op 6 sep. 2012, om 18:43 heeft McClintock Matthew-B29882 <B29882@freescale.com> het volgende geschreven: > >> On Thu, Sep 6, 2012 at 6:23 AM, Koen Kooi <koen@dominion.thruhere.net> wrote: >>> From: Darren Hart <dvhart@linux.intel.com> >>> >>> [YOCTO #1614] >>> >>> Add the kernel headers to the kernel-dev package. This packages what was >>> already built and kept in sysroots for building modules with bitbake. >>> Making this available on the target requires removing some additional >>> host binaries. >>> >>> Move the location to /usr/src/kernel >>> >>> Before use on the target, the user will need to: >>> >>> # cd /usr/src/kernel >>> # make scripts >>> >>> This renders the kernel-misc recipe empty, so remove it. >>> >>> As we use /usr/src/kernel in several places (and I missed one in the >>> previous version), add a KERNEL_SRC_DIR variable and use that throughout >>> the class to avoid update errors in the future. >>> >>> Now that we package the kernel headers, drop the >>> kernel_package_preprocess function which removed them from PKGD. >>> >>> All *-sdk image recipes include dev-pkgs, so the kernel-dev package will >>> be installed by default on all such images. >>> >>> Signed-off-by: Darren Hart <dvhart@linux.intel.com> >>> CC: Bruce Ashfield <bruce.ashfield@windriver.com> >>> CC: Tom Zanussi <tom.zanussi@intel.com> >>> CC: Khem Raj <raj.khem@gmail.com> >>> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> >>> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> >> >> Why did you resent this? Are there changes or by accident? Just asking >> before I make a patch for denzil with my previous fix. > > This is for the meta-oe kernel.bbclass, not the oe-core one :) Ah! Missed that Thanks. -M
Patch
diff --git a/meta-oe/classes/kernel.bbclass b/meta-oe/classes/kernel.bbclass index 6f1b6a4..d7e42f6 100644 --- a/meta-oe/classes/kernel.bbclass +++ b/meta-oe/classes/kernel.bbclass @@ -82,6 +82,10 @@ EXTRA_OEMAKE = "" KERNEL_ALT_IMAGETYPE ??= "" +# Define where the kernel headers are installed on the target as well as where +# they are staged. +KERNEL_SRC_PATH = "/usr/src/kernel" + KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.getVar('KERNEL_IMAGETYPE', True))}" kernel_do_compile() { @@ -135,7 +139,7 @@ kernel_do_install() { # Support for external module building - create a minimal copy of the # kernel source tree. # - kerneldir=${D}/kernel + kerneldir=${D}${KERNEL_SRC_PATH} install -d $kerneldir # @@ -188,23 +192,18 @@ kernel_do_install() { cp arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o fi - # Remove the following binaries which cause strip errors + # Remove the following binaries which cause strip or arch QA errors # during do_package for cross-compiled platforms bin_files="arch/powerpc/boot/addnote arch/powerpc/boot/hack-coff \ - arch/powerpc/boot/mktree" + arch/powerpc/boot/mktree scripts/kconfig/zconf.tab.o \ + scripts/kconfig/conf.o" for entry in $bin_files; do rm -f $kerneldir/$entry done } -PACKAGE_PREPROCESS_FUNCS += "kernel_package_preprocess" - -kernel_package_preprocess () { - rm -rf ${PKGD}/kernel -} - sysroot_stage_all_append() { - sysroot_stage_dir ${D}/kernel ${SYSROOT_DESTDIR}/kernel + sysroot_stage_dir ${D}${KERNEL_SRC_PATH} ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH} } kernel_do_configure() { @@ -252,13 +251,11 @@ EXPORT_FUNCTIONS do_compile do_install do_configure # kernel-base becomes kernel-${KERNEL_VERSION} # kernel-image becomes kernel-image-${KERNEL_VERISON} -PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev kernel-misc" +PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev" FILES = "" FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*" -FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config*" +FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH}" FILES_kernel-vmlinux = "/boot/vmlinux*" -# misc is a package to contain files we need in staging -FILES_kernel-misc = "/kernel/include/config /kernel/scripts /kernel/drivers/crypto /kernel/drivers/media" RDEPENDS_kernel = "kernel-base" # Allow machines to override this dependency if kernel image files are # not wanted in images as standard @@ -475,7 +472,7 @@ python populate_packages_prepend () { metapkg = "kernel-modules" d.setVar('ALLOW_EMPTY_' + metapkg, "1") d.setVar('FILES_' + metapkg, "") - blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux', 'kernel-misc' ] + blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux' ] for l in module_deps.values(): for i in l: pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1))