[OE-core] [v2 PATCH 0/3] perf: make perf a standlone recipe

Bruce Ashfield bruce.ashfield at windriver.com
Wed Jun 20 14:31:38 UTC 2012


Richard/Saul,

Here is the re-work of the standalone perf build patch 
series. We isolated the errors that Saul was seeing on the 
autobuilder, and it stemmed from the misuse of the sources
symlink back into the working kernel directory. As Richard
pointed out, this would also break in a rm_work enabled
build.

I've also removed parts of the standalone recipe that were 
inherited from its former life as a sub-part of the kernel
recipes (the non-standard depends usage, etc) as part of this
v2. 

To build completely out of the sysroot patch 1/3 tells the 
story. We just need to save $kerndir/tools and $kerndir/lib
from being removed during the pruning. As far as I'm concerned
this is small and reasonable, since there are a few tools in
the kernel source tree that are of interest and may want to
be built and packaged separately.

The find now has a couple more prunes in it, which of course
makes it a bit harder to read. If we really want, a new magic
variable could be created where recipes/kernel could specify
what should be saved in the sysroot .. but I didn't want to
go there yet.

I've built and runtime tested things here, and everything
looks sane.

original v1 text is below

-->-->-->-->-->-->-->-->-->-->-->-->
  We've wanted to do this for some time, and now have finally split
  out perf from being a sub-part of the kernel packages into a
  standalone package that is built out of the kernel sources.

  I've built and tested this by adding task-core-tools-profile to
  my IMAGE_INSTALL, and perf behaves just as it did before.  I've
  also tested this on my oe-core checkout/repo, and it works fine
  there as well (but I'm using my easier to access contrib
  branch for now).

  There's additional work that can be done more easily once this
  is split, so please consider this for inclusion, but I'd like
  to keep this initial version as an exact functional match as
  what was previously in place.

  I've removed the old linux-tools.inc and updated any kernel 
  recipes that I know about that have references to it. If there
  are other dependent recipes, they'll need to be updated.

  From the patch itself:

    perf has been coupled to the kernel packages via kernel.bbclass.
    While maintaining the build of perf out of the kernel source tree
    is desired the package coupling has proved to be awkward in
    several situations such as:

       - when a kernel recipe doesn't want to build/provide perf
       - when licensing of dependencies would prohibit perf and hence
         the kernel from being built.

    To solve some of these problems, this recipe is the extraction of
    the linux-tools.inc provided perf compilation into a standalone
    perf recipe that builds out of the kernel source, but is otherwise
    independent.

    No new functionality is provided above what the linux-tools.inc
    variant provided, but the separate recipe provides baseline for
    adding new functionality.
-->-->-->-->-->-->-->-->-->-->-->-->

This addresses [YOCTO #1552]

cc: Tom Zanussi <tom.zanussi at intel.com>
cc: Liang Li <liang.li at windriver.com>

Cheers,

Bruce

The following changes since commit e0a70547069fe7e8a2d6bdaffc985fb172d46c31:
  Jason Wessel (1):
        perl: Allow perl to cross build and native build in a directory named "t"

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib zedd/perf
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/perf

Bruce Ashfield (2):
  kernel: save $kerndir/tools and $kerndir/lib from pruning
  recipes-kernel: remove linux-tools.inc

Liang Li (1):
  recipes-kernel: make perf a standalone package

 meta/classes/kernel.bbclass                     |    9 +---
 meta/recipes-kernel/linux/linux-tools.inc       |   41 ------------------
 meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb |    2 -
 meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb |    2 -
 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb |    2 -
 meta/recipes-kernel/linux/linux-yocto_3.0.bb    |    2 -
 meta/recipes-kernel/linux/linux-yocto_3.2.bb    |    2 -
 meta/recipes-kernel/linux/linux-yocto_3.4.bb    |    2 -
 meta/recipes-kernel/perf/perf_3.4.bb            |   50 +++++++++++++++++++++++
 9 files changed, 52 insertions(+), 60 deletions(-)
 delete mode 100644 meta/recipes-kernel/linux/linux-tools.inc
 create mode 100644 meta/recipes-kernel/perf/perf_3.4.bb





More information about the Openembedded-core mailing list