Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/3] perf-scripting/perf-tui features, v2
@ 2012-07-06 20:29 tom.zanussi
  2012-07-06 20:29 ` [PATCH 1/3] perf: add perf.inc tom.zanussi
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: tom.zanussi @ 2012-07-06 20:29 UTC (permalink / raw)
  To: openembedded-core, richard.purdie

From: Tom Zanussi <tom.zanussi@intel.com>

This patchset adds perf-scriping and perf-tui features as
a per-arch thing rather than per-machine, as suggested by
Richard Purdie.

I just started testing this, it works so far, but thought
I'd put it out there now in case there were comments before
putting too much effort into that, and possibly giving other
people a chance to try it out.

The following changes since commit 5051e9837fa698e03d0a7a8a918ee7aa98409ce1:
  Robert P. J. Day (1):
        bitbake: usermanual: Fix missing markup

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib.git tzanussi/perf-scripting-v2
  http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/perf-scripting-v2

Tom Zanussi (3):
  perf: add perf.inc
  perf: add arch-specific perf-scripting feature
  perf: add arch-specific perf-tui feature

 meta/recipes-kernel/perf/perf.inc    |   30 ++++++++++++++++++++++++++++++
 meta/recipes-kernel/perf/perf_3.4.bb |   18 +++++++++++++++---
 2 files changed, 45 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-kernel/perf/perf.inc




^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/3] perf: add perf.inc
  2012-07-06 20:29 [PATCH 0/3] perf-scripting/perf-tui features, v2 tom.zanussi
@ 2012-07-06 20:29 ` tom.zanussi
  2012-07-06 20:29 ` [PATCH 2/3] perf: add arch-specific perf-scripting feature tom.zanussi
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: tom.zanussi @ 2012-07-06 20:29 UTC (permalink / raw)
  To: openembedded-core, richard.purdie

From: Tom Zanussi <tom.zanussi@intel.com>

Add a perf.inc to contain utility functions and definitions and to
avoid cluttering up the main recipe.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
---
 meta/recipes-kernel/perf/perf.inc    |   30 ++++++++++++++++++++++++++++++
 meta/recipes-kernel/perf/perf_3.4.bb |    2 ++
 2 files changed, 32 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-kernel/perf/perf.inc

diff --git a/meta/recipes-kernel/perf/perf.inc b/meta/recipes-kernel/perf/perf.inc
new file mode 100644
index 0000000..9b46311
--- /dev/null
+++ b/meta/recipes-kernel/perf/perf.inc
@@ -0,0 +1,30 @@
+def perf_arch_supports_feature(feature, trueval, falseval, d):
+    """
+    Check which perf features a particular architecture supports.
+
+    The perf_features_by_arch table below lists the perf features
+    supported by each arch.  If you want a particular arch to support
+    a given set of perf features, add an entry for the arch to this
+    table.  Otherwise the arch won't support any features (which may
+    be exactly what you want, just a barebones perf without any extra
+    baggage, which is what you get if you don't add any features
+    here.)
+
+    Available perf features:
+      perf-scripting: enable support for Perl and Python bindings
+      perf-tui: enable support for the perf TUI (via libnewt)
+
+    """
+    perf_features_by_arch = {
+	"core2":      "perf-scripting perf-tui",
+	"core2-64":   "perf-scripting perf-tui",
+	"x86":	      "perf-scripting perf-tui",
+	"x86-64":     "perf-scripting perf-tui",
+	"i586":	      "perf-scripting perf-tui",
+	}
+
+    tune = d.getVar("DEFAULTTUNE", True) or ""
+    if perf_features_by_arch.has_key(tune):
+	if feature in perf_features_by_arch[tune]:
+		return trueval
+    return falseval
diff --git a/meta/recipes-kernel/perf/perf_3.4.bb b/meta/recipes-kernel/perf/perf_3.4.bb
index 381332e..d494243 100644
--- a/meta/recipes-kernel/perf/perf_3.4.bb
+++ b/meta/recipes-kernel/perf/perf_3.4.bb
@@ -11,6 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
 
 PR = "r1"
 
+require perf.inc
+
 BUILDPERF_libc-uclibc = "no"
 
 DEPENDS = "virtual/kernel \
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/3] perf: add arch-specific perf-scripting feature
  2012-07-06 20:29 [PATCH 0/3] perf-scripting/perf-tui features, v2 tom.zanussi
  2012-07-06 20:29 ` [PATCH 1/3] perf: add perf.inc tom.zanussi
@ 2012-07-06 20:29 ` tom.zanussi
  2012-07-08 22:00   ` Saul Wold
  2012-07-06 20:29 ` [PATCH 3/3] perf: add arch-specific perf-tui feature tom.zanussi
  2012-07-08  5:18 ` [PATCH 0/3] perf-scripting/perf-tui features, v2 Tom Zanussi
  3 siblings, 1 reply; 10+ messages in thread
From: tom.zanussi @ 2012-07-06 20:29 UTC (permalink / raw)
  To: openembedded-core, richard.purdie

From: Tom Zanussi <tom.zanussi@intel.com>

Add a new architecture-specific feature named 'perf-scripting'.
Adding this into the perf_features_by_arch table in perf.inc for a
given arch will enable perf scripting on a target built for that arch,
which will turn on all the language bindings currently aavailable 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.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
---
 meta/recipes-kernel/perf/perf_3.4.bb |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-kernel/perf/perf_3.4.bb b/meta/recipes-kernel/perf/perf_3.4.bb
index d494243..a79e9e6 100644
--- a/meta/recipes-kernel/perf/perf_3.4.bb
+++ b/meta/recipes-kernel/perf/perf_3.4.bb
@@ -9,7 +9,7 @@ as well."
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
 
-PR = "r1"
+PR = "r2"
 
 require perf.inc
 
@@ -21,7 +21,8 @@ DEPENDS = "virtual/kernel \
            ${MLPREFIX}binutils \
           "
 
-RDEPENDS_${PN} += "elfutils perl perl-modules python"
+SCRIPTING_RDEPENDS = "${@perf_arch_supports_feature('perf-scripting', 'perl perl-modules python', '',d)}"
+RDEPENDS_${PN} += "elfutils ${SCRIPTING_RDEPENDS}"
 
 PROVIDES = "virtual/perf"
 
@@ -45,6 +46,8 @@ export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version
 S = "${STAGING_KERNEL_DIR}"
 B = "${WORKDIR}/${BPN}-${PV}"
 
+SCRIPTING_DEFINES = "${@perf_arch_supports_feature('perf-scripting', '', 'NO_LIBPERL=1 NO_LIBPYTHON=1',d)}"
+
 EXTRA_OEMAKE = \
 		'-C ${S}/tools/perf \
 		O=${B} \
@@ -53,7 +56,7 @@ EXTRA_OEMAKE = \
 		CC="${CC}" \
 		AR="${AR}" \
 		prefix=/usr \
-		NO_GTK2=1 NO_NEWT=1 NO_DWARF=1 \
+		NO_GTK2=1 NO_NEWT=1 NO_DWARF=1 ${SCRIPTING_DEFINES} \
 		'
 
 do_compile() {
@@ -62,6 +65,9 @@ do_compile() {
 
 do_install() {
 	oe_runmake DESTDIR=${D} install
+	if [ "${@perf_arch_supports_feature('perf-scripting', 1, 0, d)}" = "1" ]; then
+		oe_runmake DESTDIR=${D} install-python_ext
+	fi
 }
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/3] perf: add arch-specific perf-tui feature
  2012-07-06 20:29 [PATCH 0/3] perf-scripting/perf-tui features, v2 tom.zanussi
  2012-07-06 20:29 ` [PATCH 1/3] perf: add perf.inc tom.zanussi
  2012-07-06 20:29 ` [PATCH 2/3] perf: add arch-specific perf-scripting feature tom.zanussi
@ 2012-07-06 20:29 ` tom.zanussi
  2012-07-08  5:18 ` [PATCH 0/3] perf-scripting/perf-tui features, v2 Tom Zanussi
  3 siblings, 0 replies; 10+ messages in thread
From: tom.zanussi @ 2012-07-06 20:29 UTC (permalink / raw)
  To: openembedded-core, richard.purdie

From: Tom Zanussi <tom.zanussi@intel.com>

Add a new architecture-specific feature named 'perf-tui'.  Adding this
into the perf_features_by_arch table in perf.inc for a given arch will
enable the perf TUI (Text-base UI) user interface on a target built
for that arch, 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.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
---
 meta/recipes-kernel/perf/perf_3.4.bb |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-kernel/perf/perf_3.4.bb b/meta/recipes-kernel/perf/perf_3.4.bb
index a79e9e6..aa9dd6c 100644
--- a/meta/recipes-kernel/perf/perf_3.4.bb
+++ b/meta/recipes-kernel/perf/perf_3.4.bb
@@ -9,16 +9,19 @@ as well."
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
 
-PR = "r2"
+PR = "r3"
 
 require perf.inc
 
 BUILDPERF_libc-uclibc = "no"
 
+TUI_DEPENDS = "${@perf_arch_supports_feature('perf-tui', 'libnewt', '',d)}"
+
 DEPENDS = "virtual/kernel \
            virtual/${MLPREFIX}libc \
            ${MLPREFIX}elfutils \
            ${MLPREFIX}binutils \
+           ${TUI_DEPENDS} \
           "
 
 SCRIPTING_RDEPENDS = "${@perf_arch_supports_feature('perf-scripting', 'perl perl-modules python', '',d)}"
@@ -47,6 +50,7 @@ S = "${STAGING_KERNEL_DIR}"
 B = "${WORKDIR}/${BPN}-${PV}"
 
 SCRIPTING_DEFINES = "${@perf_arch_supports_feature('perf-scripting', '', 'NO_LIBPERL=1 NO_LIBPYTHON=1',d)}"
+TUI_DEFINES = "${@perf_arch_supports_feature('perf-tui', '', 'NO_NEWT=1',d)}"
 
 EXTRA_OEMAKE = \
 		'-C ${S}/tools/perf \
@@ -56,7 +60,7 @@ EXTRA_OEMAKE = \
 		CC="${CC}" \
 		AR="${AR}" \
 		prefix=/usr \
-		NO_GTK2=1 NO_NEWT=1 NO_DWARF=1 ${SCRIPTING_DEFINES} \
+		NO_GTK2=1 ${TUI_DEFINES} NO_DWARF=1 ${SCRIPTING_DEFINES} \
 		'
 
 do_compile() {
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/3] perf-scripting/perf-tui features, v2
  2012-07-06 20:29 [PATCH 0/3] perf-scripting/perf-tui features, v2 tom.zanussi
                   ` (2 preceding siblings ...)
  2012-07-06 20:29 ` [PATCH 3/3] perf: add arch-specific perf-tui feature tom.zanussi
@ 2012-07-08  5:18 ` Tom Zanussi
  2012-07-09  7:55   ` Saul Wold
  3 siblings, 1 reply; 10+ messages in thread
From: Tom Zanussi @ 2012-07-08  5:18 UTC (permalink / raw)
  To: openembedded-core

On Fri, 2012-07-06 at 15:29 -0500, tom.zanussi@intel.com wrote:
> From: Tom Zanussi <tom.zanussi@intel.com>
> 
> This patchset adds perf-scriping and perf-tui features as
> a per-arch thing rather than per-machine, as suggested by
> Richard Purdie.
> 
> I just started testing this, it works so far, but thought
> I'd put it out there now in case there were comments before
> putting too much effort into that, and possibly giving other
> people a chance to try it out.
> 

Looks fine after more build-testing: qemux86, qemux86-64, crownbay,
sugarbay, qemuarm and qemuppc both with and without perf-scripting and
perf-tui, and builds without perf as well all build fine here.

Tom

> The following changes since commit 5051e9837fa698e03d0a7a8a918ee7aa98409ce1:
>   Robert P. J. Day (1):
>         bitbake: usermanual: Fix missing markup
> 
> are available in the git repository at:
> 
>   git://git.yoctoproject.org/poky-contrib.git tzanussi/perf-scripting-v2
>   http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/perf-scripting-v2
> 
> Tom Zanussi (3):
>   perf: add perf.inc
>   perf: add arch-specific perf-scripting feature
>   perf: add arch-specific perf-tui feature
> 
>  meta/recipes-kernel/perf/perf.inc    |   30 ++++++++++++++++++++++++++++++
>  meta/recipes-kernel/perf/perf_3.4.bb |   18 +++++++++++++++---
>  2 files changed, 45 insertions(+), 3 deletions(-)
>  create mode 100644 meta/recipes-kernel/perf/perf.inc
> 





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/3] perf: add arch-specific perf-scripting feature
  2012-07-06 20:29 ` [PATCH 2/3] perf: add arch-specific perf-scripting feature tom.zanussi
@ 2012-07-08 22:00   ` Saul Wold
  2012-07-09  4:02     ` Tom Zanussi
  0 siblings, 1 reply; 10+ messages in thread
From: Saul Wold @ 2012-07-08 22:00 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On 07/06/2012 01:29 PM, tom.zanussi@intel.com wrote:
> From: Tom Zanussi <tom.zanussi@intel.com>
>
> Add a new architecture-specific feature named 'perf-scripting'.
> Adding this into the perf_features_by_arch table in perf.inc for a
> given arch will enable perf scripting on a target built for that arch,
> which will turn on all the language bindings currently aavailable 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.
>
> Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
> ---
>   meta/recipes-kernel/perf/perf_3.4.bb |   12 +++++++++---
>   1 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-kernel/perf/perf_3.4.bb b/meta/recipes-kernel/perf/perf_3.4.bb
> index d494243..a79e9e6 100644
> --- a/meta/recipes-kernel/perf/perf_3.4.bb
> +++ b/meta/recipes-kernel/perf/perf_3.4.bb
> @@ -9,7 +9,7 @@ as well."
>   LICENSE = "GPLv2"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
>
> -PR = "r1"
> +PR = "r2"
>
>   require perf.inc
>
> @@ -21,7 +21,8 @@ DEPENDS = "virtual/kernel \
>              ${MLPREFIX}binutils \
>             "
>
> -RDEPENDS_${PN} += "elfutils perl perl-modules python"
> +SCRIPTING_RDEPENDS = "${@perf_arch_supports_feature('perf-scripting', 'perl perl-modules python', '',d)}"
> +RDEPENDS_${PN} += "elfutils ${SCRIPTING_RDEPENDS}"
>
>   PROVIDES = "virtual/perf"
>
> @@ -45,6 +46,8 @@ export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version
>   S = "${STAGING_KERNEL_DIR}"
>   B = "${WORKDIR}/${BPN}-${PV}"
>
> +SCRIPTING_DEFINES = "${@perf_arch_supports_feature('perf-scripting', '', 'NO_LIBPERL=1 NO_LIBPYTHON=1',d)}"
> +
>   EXTRA_OEMAKE = \
>   		'-C ${S}/tools/perf \
>   		O=${B} \
> @@ -53,7 +56,7 @@ EXTRA_OEMAKE = \
>   		CC="${CC}" \
>   		AR="${AR}" \
>   		prefix=/usr \
> -		NO_GTK2=1 NO_NEWT=1 NO_DWARF=1 \
> +		NO_GTK2=1 NO_NEWT=1 NO_DWARF=1 ${SCRIPTING_DEFINES} \
>   		'
>
>   do_compile() {
> @@ -62,6 +65,9 @@ do_compile() {
>
>   do_install() {
>   	oe_runmake DESTDIR=${D} install
> +	if [ "${@perf_arch_supports_feature('perf-scripting', 1, 0, d)}" = "1" ]; then
> +		oe_runmake DESTDIR=${D} install-python_ext
> +	fi
>   }
>
>   PACKAGE_ARCH = "${MACHINE_ARCH}"
>

Tom,

I am not sure this one is working correctly, I this set of 3 in a build 
and it failed, so I bicested down to this patch.  I am still seeing the 
setup.py: Permission denied problem:
> | install scripts/python/bin/* -t '/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/image/usr/libexec/perf-core/scripts/python/bin'
> | make: Leaving directory `/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf'
> | NOTE: make -j 16 -C /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf O=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/perf-3.4 CROSS_COMPILE=x86_64-poky-linux- ARCH=x86 CC=x86_64-poky-linux-gcc    -m64 --sysroot=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64 AR=x86_64-poky-linux-ar prefix=/usr NO_GTK2=1 NO_DWARF=1 DESTDIR=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/image install-python_ext
> | make: Entering directory `/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf'
> | util/setup.py --quiet install --root='//srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/image'
> | make: execvp: util/setup.py: Permission denied
> | make: *** [install-python_ext] Error 127
> | make: Leaving directory `/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf'
> | ERROR: oe_runmake failed
> | ERROR: Function failed: do_install (see /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/temp/log.do_install.6037 for further information)


Sau!




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/3] perf: add arch-specific perf-scripting feature
  2012-07-08 22:00   ` Saul Wold
@ 2012-07-09  4:02     ` Tom Zanussi
  0 siblings, 0 replies; 10+ messages in thread
From: Tom Zanussi @ 2012-07-09  4:02 UTC (permalink / raw)
  To: Saul Wold; +Cc: Patches and discussions about the oe-core layer

On Sun, 2012-07-08 at 15:00 -0700, Saul Wold wrote:
> On 07/06/2012 01:29 PM, tom.zanussi@intel.com wrote:
> > From: Tom Zanussi <tom.zanussi@intel.com>
> >
> > Add a new architecture-specific feature named 'perf-scripting'.
> > Adding this into the perf_features_by_arch table in perf.inc for a
> > given arch will enable perf scripting on a target built for that arch,
> > which will turn on all the language bindings currently aavailable 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.
> >
> > Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
> > ---
> >   meta/recipes-kernel/perf/perf_3.4.bb |   12 +++++++++---
> >   1 files changed, 9 insertions(+), 3 deletions(-)
> >
> > diff --git a/meta/recipes-kernel/perf/perf_3.4.bb b/meta/recipes-kernel/perf/perf_3.4.bb
> > index d494243..a79e9e6 100644
> > --- a/meta/recipes-kernel/perf/perf_3.4.bb
> > +++ b/meta/recipes-kernel/perf/perf_3.4.bb
> > @@ -9,7 +9,7 @@ as well."
> >   LICENSE = "GPLv2"
> >   LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
> >
> > -PR = "r1"
> > +PR = "r2"
> >
> >   require perf.inc
> >
> > @@ -21,7 +21,8 @@ DEPENDS = "virtual/kernel \
> >              ${MLPREFIX}binutils \
> >             "
> >
> > -RDEPENDS_${PN} += "elfutils perl perl-modules python"
> > +SCRIPTING_RDEPENDS = "${@perf_arch_supports_feature('perf-scripting', 'perl perl-modules python', '',d)}"
> > +RDEPENDS_${PN} += "elfutils ${SCRIPTING_RDEPENDS}"
> >
> >   PROVIDES = "virtual/perf"
> >
> > @@ -45,6 +46,8 @@ export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version
> >   S = "${STAGING_KERNEL_DIR}"
> >   B = "${WORKDIR}/${BPN}-${PV}"
> >
> > +SCRIPTING_DEFINES = "${@perf_arch_supports_feature('perf-scripting', '', 'NO_LIBPERL=1 NO_LIBPYTHON=1',d)}"
> > +
> >   EXTRA_OEMAKE = \
> >   		'-C ${S}/tools/perf \
> >   		O=${B} \
> > @@ -53,7 +56,7 @@ EXTRA_OEMAKE = \
> >   		CC="${CC}" \
> >   		AR="${AR}" \
> >   		prefix=/usr \
> > -		NO_GTK2=1 NO_NEWT=1 NO_DWARF=1 \
> > +		NO_GTK2=1 NO_NEWT=1 NO_DWARF=1 ${SCRIPTING_DEFINES} \
> >   		'
> >
> >   do_compile() {
> > @@ -62,6 +65,9 @@ do_compile() {
> >
> >   do_install() {
> >   	oe_runmake DESTDIR=${D} install
> > +	if [ "${@perf_arch_supports_feature('perf-scripting', 1, 0, d)}" = "1" ]; then
> > +		oe_runmake DESTDIR=${D} install-python_ext
> > +	fi
> >   }
> >
> >   PACKAGE_ARCH = "${MACHINE_ARCH}"
> >
> 
> Tom,
> 
> I am not sure this one is working correctly, I this set of 3 in a build 
> and it failed, so I bicested down to this patch.  I am still seeing the 
> setup.py: Permission denied problem:

Looks like your build isn't getting the kernel changes needed for this
patchset.  They were posted at the same time and have actually actually
already been pulled in - you just need to get the kernel in your build
to use them...

Tom

> > | install scripts/python/bin/* -t '/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/image/usr/libexec/perf-core/scripts/python/bin'
> > | make: Leaving directory `/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf'
> > | NOTE: make -j 16 -C /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf O=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/perf-3.4 CROSS_COMPILE=x86_64-poky-linux- ARCH=x86 CC=x86_64-poky-linux-gcc    -m64 --sysroot=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64 AR=x86_64-poky-linux-ar prefix=/usr NO_GTK2=1 NO_DWARF=1 DESTDIR=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/image install-python_ext
> > | make: Entering directory `/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf'
> > | util/setup.py --quiet install --root='//srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/image'
> > | make: execvp: util/setup.py: Permission denied
> > | make: *** [install-python_ext] Error 127
> > | make: Leaving directory `/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf'
> > | ERROR: oe_runmake failed
> > | ERROR: Function failed: do_install (see /srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/temp/log.do_install.6037 for further information)
> 
> 
> Sau!
> 





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/3] perf-scripting/perf-tui features, v2
  2012-07-08  5:18 ` [PATCH 0/3] perf-scripting/perf-tui features, v2 Tom Zanussi
@ 2012-07-09  7:55   ` Saul Wold
  2012-07-09 13:47     ` Tom Zanussi
  0 siblings, 1 reply; 10+ messages in thread
From: Saul Wold @ 2012-07-09  7:55 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On 07/07/2012 10:18 PM, Tom Zanussi wrote:
> On Fri, 2012-07-06 at 15:29 -0500, tom.zanussi@intel.com wrote:
>> From: Tom Zanussi <tom.zanussi@intel.com>
>>
>> This patchset adds perf-scriping and perf-tui features as
>> a per-arch thing rather than per-machine, as suggested by
>> Richard Purdie.
>>
>> I just started testing this, it works so far, but thought
>> I'd put it out there now in case there were comments before
>> putting too much effort into that, and possibly giving other
>> people a chance to try it out.
>>
>
> Looks fine after more build-testing: qemux86, qemux86-64, crownbay,
> sugarbay, qemuarm and qemuppc both with and without perf-scripting and
> perf-tui, and builds without perf as well all build fine here.
>
Tom, I am sorry, I am not sure how else to say this, I have tested 
master with the only the following change and I am still getting the
the setup.py failure mentioned.

I am not sure what else to suspect at this point, this is Master plus 3 
commits, please help me understand where I have gone wrong.

This is the branch I have tested, which is 3 commits pasted Master:

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sgw/fail

Thanks
	Sau!

> Tom
>
>> The following changes since commit 5051e9837fa698e03d0a7a8a918ee7aa98409ce1:
>>    Robert P. J. Day (1):
>>          bitbake: usermanual: Fix missing markup
>>
>> are available in the git repository at:
>>
>>    git://git.yoctoproject.org/poky-contrib.git tzanussi/perf-scripting-v2
>>    http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/perf-scripting-v2
>>
>> Tom Zanussi (3):
>>    perf: add perf.inc
>>    perf: add arch-specific perf-scripting feature
>>    perf: add arch-specific perf-tui feature
>>
>>   meta/recipes-kernel/perf/perf.inc    |   30 ++++++++++++++++++++++++++++++
>>   meta/recipes-kernel/perf/perf_3.4.bb |   18 +++++++++++++++---
>>   2 files changed, 45 insertions(+), 3 deletions(-)
>>   create mode 100644 meta/recipes-kernel/perf/perf.inc
>>
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/3] perf-scripting/perf-tui features, v2
  2012-07-09  7:55   ` Saul Wold
@ 2012-07-09 13:47     ` Tom Zanussi
  2012-07-09 13:51       ` Bruce Ashfield
  0 siblings, 1 reply; 10+ messages in thread
From: Tom Zanussi @ 2012-07-09 13:47 UTC (permalink / raw)
  To: Saul Wold; +Cc: Patches and discussions about the oe-core layer

On Mon, 2012-07-09 at 00:55 -0700, Saul Wold wrote:
> On 07/07/2012 10:18 PM, Tom Zanussi wrote:
> > On Fri, 2012-07-06 at 15:29 -0500, tom.zanussi@intel.com wrote:
> >> From: Tom Zanussi <tom.zanussi@intel.com>
> >>
> >> This patchset adds perf-scriping and perf-tui features as
> >> a per-arch thing rather than per-machine, as suggested by
> >> Richard Purdie.
> >>
> >> I just started testing this, it works so far, but thought
> >> I'd put it out there now in case there were comments before
> >> putting too much effort into that, and possibly giving other
> >> people a chance to try it out.
> >>
> >
> > Looks fine after more build-testing: qemux86, qemux86-64, crownbay,
> > sugarbay, qemuarm and qemuppc both with and without perf-scripting and
> > perf-tui, and builds without perf as well all build fine here.
> >
> Tom, I am sorry, I am not sure how else to say this, I have tested 
> master with the only the following change and I am still getting the
> the setup.py failure mentioned.
> 
> I am not sure what else to suspect at this point, this is Master plus 3 
> commits, please help me understand where I have gone wrong.
> 
> This is the branch I have tested, which is 3 commits pasted Master:
> 
> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sgw/fail
> 

Saul,

It's because your kernel hasn't advanced the SRCREVs to include the new
commits - the above patches won't work without the associated kernel
changes.  So if you're build-testing qemux86-64 for instance, you'd want
to change the following line in linux_yocto_3.4.bb from: 

SRCREV_machine_qemux86-64 ?= "d345461f0d52d1a82553c2edd845a8bee908923f"

to include the last commit of the associated kernel patch series i.e.the
top of the common-pc-64 branch:

SRCREV_machine_qemux86-64 ?= "49f1599b2ce0288599805b5364b895f5a9febb3e"

That should get the kernel changes associated with the patchset into
your kernel and everything should build nicely...

Tom

> Thanks
> 	Sau!
> 
> > Tom
> >
> >> The following changes since commit 5051e9837fa698e03d0a7a8a918ee7aa98409ce1:
> >>    Robert P. J. Day (1):
> >>          bitbake: usermanual: Fix missing markup
> >>
> >> are available in the git repository at:
> >>
> >>    git://git.yoctoproject.org/poky-contrib.git tzanussi/perf-scripting-v2
> >>    http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/perf-scripting-v2
> >>
> >> Tom Zanussi (3):
> >>    perf: add perf.inc
> >>    perf: add arch-specific perf-scripting feature
> >>    perf: add arch-specific perf-tui feature
> >>
> >>   meta/recipes-kernel/perf/perf.inc    |   30 ++++++++++++++++++++++++++++++
> >>   meta/recipes-kernel/perf/perf_3.4.bb |   18 +++++++++++++++---
> >>   2 files changed, 45 insertions(+), 3 deletions(-)
> >>   create mode 100644 meta/recipes-kernel/perf/perf.inc
> >>
> >
> >
> >
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> >
> >
> 





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/3] perf-scripting/perf-tui features, v2
  2012-07-09 13:47     ` Tom Zanussi
@ 2012-07-09 13:51       ` Bruce Ashfield
  0 siblings, 0 replies; 10+ messages in thread
From: Bruce Ashfield @ 2012-07-09 13:51 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Mon, Jul 9, 2012 at 9:47 AM, Tom Zanussi <tom.zanussi@intel.com> wrote:
> On Mon, 2012-07-09 at 00:55 -0700, Saul Wold wrote:
>> On 07/07/2012 10:18 PM, Tom Zanussi wrote:
>> > On Fri, 2012-07-06 at 15:29 -0500, tom.zanussi@intel.com wrote:
>> >> From: Tom Zanussi <tom.zanussi@intel.com>
>> >>
>> >> This patchset adds perf-scriping and perf-tui features as
>> >> a per-arch thing rather than per-machine, as suggested by
>> >> Richard Purdie.
>> >>
>> >> I just started testing this, it works so far, but thought
>> >> I'd put it out there now in case there were comments before
>> >> putting too much effort into that, and possibly giving other
>> >> people a chance to try it out.
>> >>
>> >
>> > Looks fine after more build-testing: qemux86, qemux86-64, crownbay,
>> > sugarbay, qemuarm and qemuppc both with and without perf-scripting and
>> > perf-tui, and builds without perf as well all build fine here.
>> >
>> Tom, I am sorry, I am not sure how else to say this, I have tested
>> master with the only the following change and I am still getting the
>> the setup.py failure mentioned.
>>
>> I am not sure what else to suspect at this point, this is Master plus 3
>> commits, please help me understand where I have gone wrong.
>>
>> This is the branch I have tested, which is 3 commits pasted Master:
>>
>> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sgw/fail
>>
>
> Saul,
>
> It's because your kernel hasn't advanced the SRCREVs to include the new
> commits - the above patches won't work without the associated kernel
> changes.  So if you're build-testing qemux86-64 for instance, you'd want
> to change the following line in linux_yocto_3.4.bb from:
>
> SRCREV_machine_qemux86-64 ?= "d345461f0d52d1a82553c2edd845a8bee908923f"
>
> to include the last commit of the associated kernel patch series i.e.the
> top of the common-pc-64 branch:
>
> SRCREV_machine_qemux86-64 ?= "49f1599b2ce0288599805b5364b895f5a9febb3e"

.. and I'm about to send a new set of SRCREVs that have this and
some more. I was just waiting to see how these conversations played out.

Cheers,

Bruce

>
> That should get the kernel changes associated with the patchset into
> your kernel and everything should build nicely...
>
> Tom
>
>> Thanks
>>       Sau!
>>
>> > Tom
>> >
>> >> The following changes since commit 5051e9837fa698e03d0a7a8a918ee7aa98409ce1:
>> >>    Robert P. J. Day (1):
>> >>          bitbake: usermanual: Fix missing markup
>> >>
>> >> are available in the git repository at:
>> >>
>> >>    git://git.yoctoproject.org/poky-contrib.git tzanussi/perf-scripting-v2
>> >>    http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/perf-scripting-v2
>> >>
>> >> Tom Zanussi (3):
>> >>    perf: add perf.inc
>> >>    perf: add arch-specific perf-scripting feature
>> >>    perf: add arch-specific perf-tui feature
>> >>
>> >>   meta/recipes-kernel/perf/perf.inc    |   30 ++++++++++++++++++++++++++++++
>> >>   meta/recipes-kernel/perf/perf_3.4.bb |   18 +++++++++++++++---
>> >>   2 files changed, 45 insertions(+), 3 deletions(-)
>> >>   create mode 100644 meta/recipes-kernel/perf/perf.inc
>> >>
>> >
>> >
>> >
>> > _______________________________________________
>> > Openembedded-core mailing list
>> > Openembedded-core@lists.openembedded.org
>> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>> >
>> >
>>
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-07-09 14:02 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-06 20:29 [PATCH 0/3] perf-scripting/perf-tui features, v2 tom.zanussi
2012-07-06 20:29 ` [PATCH 1/3] perf: add perf.inc tom.zanussi
2012-07-06 20:29 ` [PATCH 2/3] perf: add arch-specific perf-scripting feature tom.zanussi
2012-07-08 22:00   ` Saul Wold
2012-07-09  4:02     ` Tom Zanussi
2012-07-06 20:29 ` [PATCH 3/3] perf: add arch-specific perf-tui feature tom.zanussi
2012-07-08  5:18 ` [PATCH 0/3] perf-scripting/perf-tui features, v2 Tom Zanussi
2012-07-09  7:55   ` Saul Wold
2012-07-09 13:47     ` Tom Zanussi
2012-07-09 13:51       ` Bruce Ashfield

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox