Commit Graph

33 Commits

Author SHA1 Message Date
Henning Heinold 2e2a6d0c4e perf: split packging
* some fundamental perf commands can work
  without the dependency on perl, python or bash
  make them separate packages and RSUGGEST them

* bump PR

The patch was sponsored by sysmocom

(From OE-Core rev: a6f79561f7a2f6bc354d5ea8d84b836ac5c9b08f)

Signed-off-by: Henning Heinold <henning@itconsulting-heinold.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:47:22 +01:00
Henning Heinold a63f07c4ce perf: add slang to the dependencies
* TUI/GUI support was added in 2.6.35 based on libnewt
* since 3.10 slang replaced libnewt completly
* changing TUI_DEFINES is not necessary, because NO_NEWT is
  still respected with newer kernels
* add comment about the gui history to the recipe

The patch was sponsored by sysmocom

(From OE-Core rev: 104e317f1fe68244d31c72897df2e5c997ff502a)

Signed-off-by: Henning Heinold <henning@itconsulting-heinold.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:47:22 +01:00
Henning Heinold 19f3e362b3 perf: fix broken shell comparsion in do_install
The patch was sponsored by sysmocom

(From OE-Core rev: 7e38d8ad6f7f4c289975acdac5c4d254ff3df7e6)

Signed-off-by: Henning Heinold <henning@itconsulting-heinold.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 13:47:22 +01:00
Wenzong Fan 5dacc78659 perf: flag __SANE_USERSPACE_TYPES__ to include int-ll64.h for mips64
As the same reason to powerpc64, mips64 also need the flag.

(From OE-Core master rev: d6f3cb0d71c3b6739365f085b6d5a5e20f329fa5)

(From OE-Core rev: 9c4b604ea0d81bc1de224b35ae160f87be6bcf7b)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-12 17:00:02 +00:00
Ting Liu dba3eff8e2 perf: flag __SANE_USERSPACE_TYPES__ to include int-ll64.h for powerpc64
PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h
prevents 64-bit userland from seeing this definition, instead defaulting
to u64 == long in userspace.
Perf want LL64, flag __SANE_USERSPACE_TYPES__ to get int-ll64.h.

Fix the below issue:
| tests/attr.c:71:4: error: format '%llu' expects argument of type 'long
long unsigned int', but argument 6 has type '__u64' [-Werror=format=]
| tests/attr.c:80:7: error: format '%llu' expects argument of type 'long
long unsigned int', but argument 4 has type '__u64' [-Werror=format=]
|        attr->type, attr->config, fd) < 0) {
|        ^

(From OE-Core master rev: e0b56f7ed84da4f71f448548e15d5a75e8eada6e)

(From OE-Core rev: 7d55375ddc1a928e77d5687a8e7b36eecb91c594)

Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-12 16:59:56 +00:00
Otavio Salvador 99b4173245 perf: Add LDFLAGS to allow build of old kernels without patching
The LDFLAGS is required or some old kernels fails due missing
symbols and this is preferred than requiring patches to every old
supported kernel.

Fixes [YOCTO: #5221]

(From OE-Core rev: 0eccbf2016e89e6f1c3796f138b02a508d2edbcf)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-18 17:54:42 +01:00
Otavio Salvador e624d737b7 perf: Ensure we use CFLAGS and LDFLAGS settings from kernel build system
The kernel build system does the right thing here and we should stop
overriding it. This code has been added based on a change from
'meta-metro' layer, revision 9d698004137c1a888d40d6a4808d94afa22387e7,
without any information about what problem it fixes so I am reverting
it.

Using the CFLAGS and LDFLAGS makes it impossible for kernel build
system to append to it, thus making the build fail in various ways as:

|     CC /.../perf/1.0-r8/perf-1.0/perf.o
| In file included from builtin.h:4:0,
|                  from perf.c:9:
| util/util.h:74:24: fatal error: lk/debugfs.h: No such file or directory
|  #include <lk/debugfs.h>
|                         ^
| compilation terminated.

The unset is done in do_compile and do_install otherwise it /rebuild/
perf as it detects the compiler options has change.

(From OE-Core rev: 2e90f8846db0f3ed99a175befff9ec67fe12bc4e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 20:53:56 +01:00
Robert Yang 0c11a7740b perf: source should be ready after do_unpack
In perf.bb:

S = "${STAGING_KERNEL_DIR}"

So the source should be ready after the do_unpack, and we need this:

do_unpack[depends] += "virtual/kernel:do_populate_sysroot"

Otherwise, maybe no source after do_unpack.

[YOCTO #5168]

(From OE-Core rev: 01d3b15518b981199120b3b9c6923678244aefdc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Richard Purdie d638db8d8f perf: Ensure we general PIC code to avoid build failures
Without this we see relocation errors on mips with 3.10. This should be
safe to be included in general.

(From OE-Core rev: 9958653b2bf9e43312a39c6b89ff0ca1cc46995c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27 12:31:59 +01:00
Richard Purdie 87bf42977a perf: Ensure license is handled correctly
The do_populate_lic task has a race with the recipe since it relies on the
kernel being populated in the sysroot. This patch adds in the explicit missing
dependency.

[YOCTO #3534]

(From OE-Core rev: 578937213c6db9fa99981778ce61210e391b19a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-18 21:12:19 +01:00
Richard Purdie 4b7a37e072 perf: Fix parsing error
Due to the use of ${@...} the code will try and expand this when
performing the initial parsing. If the sysroot doesn't exist with
an existing kernel, this will fail at parsing time.

Sinec we're already in python, just remove the ${@....} wrapping
and then we execute at do_package time which is what we want.

(From OE-Core rev: 053ca014e7eb8c9dd05cef42fe23f463f3eb15dd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-19 13:25:34 +00:00
Tom Zanussi 15ab96040f perf: make PKGV match kernel version
Have perf grab and use the kernel version it's built from for PKGV,
rather than the default perf recipe version, so the final packages get
the kernel version instead of the default 1.0, which represents a
backwards value from the previous recipe.

(From OE-Core rev: deb99cefe8be7fa63972edadf69f92d361b9a7c5)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-19 11:54:22 +00:00
Tom Zanussi bdd6d457a1 perf: rename perf_3.4 to perf
There's nothing kernel-version-specific about the perf_3.4 recipe, so
it's actually misnamed and misleading now that it also gets used with
the 3.8 kernel.

Since the recipe isn't tied to a specific PV, and simply uses
whatever's in STAGING_KERNEL_DIR, there's no reason to add anything
else either to the bare PN, so just use that as the recipe name.

(From OE-Core rev: 9a249e074f0329ad54848b84536e5b7cb117ee2c)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-10 04:36:51 +00:00
Tom Zanussi b3be3323a0 perf: rename perf.inc to perf-features.inc
The contents of perf.inc are really specific to perf features and
shouldn't use the generic perf.inc name, which implies common recipe
code.  It's always confusing to open up this file and find out that's
not what it is.

(From OE-Core rev: 4a98bd02ab8918e639353829b221b0c4b6c58165)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-10 04:36:51 +00:00
Tom Zanussi 3936a26c3f perf: disable PARALLEL_MAKE
Autobuilder builds periodically and now more frequently have been
failing because of a race between the perf build and the newly
separated libtraceevent - perf tries to link libtraceevent.a, which
hasn't finished building yet in those cases.

This disables the parallel build to prevent that.

(From OE-Core rev: cd1e98513016c01e32bdb175ec7225d7378d952c)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-05 13:14:58 +00:00
Tom Zanussi 84baa1a537 perf: add bash dependency
There are a number of scripts in the perf installation that use bash,
so we need to add a run-time dependency on bash for them. If not, we
can generate build errors like "no package provides /bin/bash".

Fixes [YOCTO #3951].

(From OE-Core rev: 8169adeba67180f062fa7c0105fc4283da3103c6)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-02 12:56:54 +00:00
Fahad Usman f023d05898 iperf: pass in target path vars
(From OE-Core rev: accbcea94091800a90df0f5141990c110ff35ee5)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>

the patch was imported from meta-mentor layer on yoctoproject git server
http://git.yoctoproject.org/cgit/cgit.cgi/meta-mentor as of commit id
71748b54694f4ffe2d598da71f641969df1417c0

slightly modified the patch to apply it on .bb file instead of .bbappend

Signed-off-by: Fahad Usman <fahad_usman@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-17 17:24:54 +00:00
Fahad Usman ec70f9ec3b perf: pass CFLAGS and LDFLAGS
(From OE-Core rev: 373371432b72cb19600a45e741afdfcb9662ecfb)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>

the patch was imported from meta-mentor layer on yoctoproject git server
http://git.yoctoproject.org/cgit/cgit.cgi/meta-mentor as of commit id
9d698004137c1a888d40d6a4808d94afa22387e7

Signed-off-by: Fahad Usman <fahad_usman@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-17 17:24:53 +00:00
Fahad Usman eef3b8d869 perf: kill -Werror
this fails to build using a recent sourcery toolchain due to
unused-but-set-variable

(From OE-Core rev: dce7918a818bf86fcc11f561af3eacaf281403d4)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>

the patch was imported from meta-mentor layer on yoctoproject git server
http://git.yoctoproject.org/cgit/cgit.cgi/meta-mentor as of commit ids
82e96b3baa1c64d03412871fce56d496a338f167 and
ae325d011bd50501fe677c8b37295ae83030c526

Signed-off-by: Fahad Usman <fahad_usman@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-17 17:24:53 +00:00
Saul Wold c07e4ab325 perf: set the perfexecdir
This allows the files installed into /usr/libexec to be
relocated to ${libexecdir}. removed unneded prefix=/usr,
which would prevent ${prefix} relocation.

(From OE-Core rev: 10d28438c1e7d793bc398a0ad484782e5baa4877)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18 12:13:48 +01:00
Tom Zanussi 36f054e37a perf: add bison and flex to DEPENDS
perf depends on bison and flex for event parsing - add them as
dependencies.

(From OE-Core rev: f04b0ddb7a392425ba5890026564bc3521a32c67)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-29 16:02:09 -07:00
Matthew McClintock 570edd2737 perf_3.4.bb: update to build against older kernels
Removes a make install-python_ext when not present since
older versions of perf lack this install rule

This also fixes a library issue on older kernels building with
a newer toolchain where libaries that would previously be pulled
in are no longer. So we add them manually.

(From OE-Core rev: 70b17a893bd2e1bbba8ea16619b02a60e7c4b8d8)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-19 10:45:58 +01:00
Morgan Little e4de1de3c6 perf: Update for python-native changes
Add pythonnative to the inherits list

(From OE-Core rev: d27cd814162fde3362278435a6842928310c2704)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-22 11:42:22 +01:00
Richard Purdie bfd279de32 Convert tab indentation in python functions into four-space
(From OE-Core rev: 604d46c686d06d62d5a07b9c7f4fa170f99307d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19 10:24:50 +01:00
Tom Zanussi eb0cb7e823 perf: add perl, python to DEPENDS
perf has perl and python compile-time dependendencies, add them.

(From OE-Core rev: 1b40dac2c501ae8c8d812cf2866fe7917f144a19)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-12 12:52:09 +01:00
Tom Zanussi 6a9886281c perf: add perf-tui feature
Add a new feature named 'perf-tui'.  Adding this into the
PERF_FEATURES variable in perf.inc will enable the perf TUI (Text-base
UI) user interface on a target, which adds libnewt and turns on the
perf text UI options in perf, if perf is included in an image.

If 'perf-tui' isn't named as a feature (the default), the perf TUI
will be disabled and unavailable.

(From OE-Core rev: 4fd8a550886f02189e4ed127d0a2f16e92f8474c)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-10 20:27:02 +01:00
Tom Zanussi 2dac207e39 perf: add perf-scripting feature
Add a new feature named 'perf-scripting'.  Adding this into the
PERF_FEATURES variable in perf.inc will enable perf scripting on a
target, which will turn on all the language bindings currently
available in perf (Perl and Python), if perf is included in an image.

If 'perf-scripting' isn't named as a feature (the default), all perf
language bindings will be disabled and unavailable.

(From OE-Core rev: fc0661041436013b9099dbd659994a2b8b292c19)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-10 20:27:02 +01:00
Tom Zanussi a8c3bc8f11 perf: add perf.inc
Add a perf.inc to contain utility functions and definitions and to
avoid cluttering up the main recipe.

(From OE-Core rev: 414d00be5b350ea84fc7e1ff690f78b3396cfcd0)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-10 20:27:01 +01:00
Tom Zanussi b502bc282d perf: remove unconditional python-ext install
This shouldn't be unconditional - a later patch made it so, but that's
not yet pulled in.  In the meantime, to fix build failures remove the
unconditional install.

(From OE-Core rev: dcc43c34bfa9304233ecfd3f518a84ddfdc2fd90)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-05 16:01:32 +01:00
Tom Zanussi c964536dc9 perf: add libexec/perf-core and contents
libexec/perf-core contains all the pre-canned scripts and modules
needed by both the Perl and Python bindigs.  Add libexec/perf-core
along with all the pre-defined perf scripts underneath it.

(From OE-Core rev: 00f9e8aed9f111d351c2dc71cd8605ccbd11f68f)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-04 17:40:37 +01:00
Tom Zanussi d4eaa2d384 perf: enable Perl binding
Add support to enable the perf Perl binding.

The build depends on perl-native to retrieve the configuration
settings needed for the binding.  cpan-base adds some useful functions
like is_target() and get_perl_version() that we need for
PERLCONFIGTARGET and related settings, which allow us to use the
target's Config_heavy.pl settings for ExtUtils:Embed when building for
the target.

Also adds the perl-modules dependency to give the target the perl
modules that scripts using the binding need.

(From OE-Core rev: 73a8eed010a821fc4f5c0e71ef749938ed780b44)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-04 17:40:37 +01:00
Tom Zanussi 7a2cf8682e perf: enable Python bindings
Add support to enable the perf python bindings.  The combination of
these changes and the changes in the python-config sections in the
kernel Makefile enable all the python bindings currently available in
perf.

(From OE-Core rev: 487c3a72f0ac7121b79d2f78b81f1d4732bc258a)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-04 17:40:37 +01:00
Liang Li 6b9c19140c recipes-kernel: make perf a standalone package
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.

(From OE-Core rev: ab883d0c1a05bd99e97e5d71bc7bed05cb1ae8c8)

Signed-off-by: Liang Li <liang.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 13:03:04 +01:00