[OE-core] [PATCH 1/1] dbus: fix a hard dependency about dbus-ptest

2014-03-06 Thread Chong Lu
If image contains dbus and ptest is in DISTRO_FEATURES, dbus-ptest package
is installed, regardless of whether ptest-pkgs is in IMAGE_FEATURES. This
issue will increase size for most small images.
This patch fixes this problem.

[YOCTO #5702]

Signed-off-by: Chong Lu chong...@windriver.com
---
 meta/recipes-core/dbus/{dbus-ptest_1.6.18.bb = dbus-test_1.6.18.bb} | 0
 meta/recipes-core/dbus/dbus.inc  | 5 -
 2 files changed, 4 insertions(+), 1 deletion(-)
 rename meta/recipes-core/dbus/{dbus-ptest_1.6.18.bb = dbus-test_1.6.18.bb} 
(100%)

diff --git a/meta/recipes-core/dbus/dbus-ptest_1.6.18.bb 
b/meta/recipes-core/dbus/dbus-test_1.6.18.bb
similarity index 100%
rename from meta/recipes-core/dbus/dbus-ptest_1.6.18.bb
rename to meta/recipes-core/dbus/dbus-test_1.6.18.bb
diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index 677ff78..292bef6 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -6,7 +6,6 @@ LICENSE = AFL-2 | GPLv2+
 LIC_FILES_CHKSUM = file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
 
file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c
 DEPENDS = expat virtual/libintl
-RDEPENDS_dbus = ${@base_contains('DISTRO_FEATURES', 'ptest', 
'dbus-ptest-ptest', '', d)}
 RDEPENDS_dbus_class-native = 
 RDEPENDS_dbus_class-nativesdk = 
 
@@ -151,3 +150,7 @@ do_install_class-nativesdk() {
rm -rf ${D}${localstatedir}/run
 }
 BBCLASSEXTEND = native nativesdk
+
+PACKAGES += dbus-ptest
+ALLOW_EMPTY_${PN}-ptest = 1
+RDEPENDS_${PN}-ptest = ${@base_contains('IMAGE_FEATURES', 'ptest-pkgs', 
'dbus-test-ptest', 'dbus-test', d)}
-- 
1.8.1.2

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/1] dbus: fix a hard dependency about dbus-ptest

2014-03-06 Thread Chong Lu
The following changes since commit a01af0202558e6ed9d16590b3a8d1dd1b95c0374:

  recipes: bump PRs (2014-03-05 17:36:37 +)

are available in the git repository at:

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

Chong Lu (1):
  dbus: fix a hard dependency about dbus-ptest

 meta/recipes-core/dbus/{dbus-ptest_1.6.18.bb = dbus-test_1.6.18.bb} | 0
 meta/recipes-core/dbus/dbus.inc  | 5 -
 2 files changed, 4 insertions(+), 1 deletion(-)
 rename meta/recipes-core/dbus/{dbus-ptest_1.6.18.bb = dbus-test_1.6.18.bb} 
(100%)

-- 
1.8.1.2

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] gconf: remove depreated configure flag

2014-03-06 Thread Burton, Ross
On 6 March 2014 00:06, Saul Wold s...@linux.intel.com wrote:
 [YOCTO #5905]
 [YOCTO #5906]
 [YOCTO #5907]
 [YOCTO #5908]
 [YOCTO #5909]
 [YOCTO #5910]
 [YOCTO #5911]

 Signed-off-by: Saul Wold s...@linux.intel.com
 ---
  meta/classes/gconf.bbclass | 1 -
  1 file changed, 1 deletion(-)

 diff --git a/meta/classes/gconf.bbclass b/meta/classes/gconf.bbclass
 index e9076b2..0794ba7 100644
 --- a/meta/classes/gconf.bbclass
 +++ b/meta/classes/gconf.bbclass
 @@ -10,7 +10,6 @@ export GCONF_BACKEND_DIR = 
 ${STAGING_LIBDIR_NATIVE}/GConf/2
  # Disable install-time schema registration as we're a packaging system so 
 this
  # happens in the postinst script, not at install time.  Set both the 
 configure
  # script option and the traditional envionment variable just to make sure.
 -EXTRA_OECONF += --disable-schemas-install
  export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL = 1

NAK.  It's only deprecated if a recipe migrated from gconf to (eg)
gsettings.  If they didn't, they this is still required.

The fix for those bugs is to stop using gnome.bbclass as it pulls in
*all* GNOME classes, and instead use gnomebase + any other relevant
classes.

Ross
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/1] dbus: fix a hard dependency about dbus-ptest

2014-03-06 Thread Burton, Ross
On 6 March 2014 08:06, Chong Lu chong...@windriver.com wrote:
 +PACKAGES += dbus-ptest
 +ALLOW_EMPTY_${PN}-ptest = 1
 +RDEPENDS_${PN}-ptest = ${@base_contains('IMAGE_FEATURES', 'ptest-pkgs', 
 'dbus-test-ptest', 'dbus-test', d)}

Nice idea, but wouldn't a more correct solution be to have dbus-ptest
added to PACKAGES conditionally (instead of always generating
dbus-ptest and conditionally adding the dependency)?

Ross
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [dylan][PATCH 0/1] Fix for gnutls compile failure on newer host distros

2014-03-06 Thread Paul Eggleton
Backport of the master fix that just went in.

The following change since commit 2d6d738d52fa93de4514b65140b1e68cfae7434a:

  gnutls: Fixed bug that prevented the rejection of v1 intermediate CA 
certificates. (2014-03-05 12:38:29 +)

is available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib paule/dylan-gnutls-fix
  
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/dylan-gnutls-fix

Paul Eggleton (1):
  gnutls: fix failure during do_compile

 .../gnutls/gnutls/25_updatedgdocfrommaster.diff| 636 +
 meta/recipes-support/gnutls/gnutls_2.12.23.bb  |   1 +
 2 files changed, 637 insertions(+)
 create mode 100644 
meta/recipes-support/gnutls/gnutls/25_updatedgdocfrommaster.diff

-- 
1.8.5.3

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [dylan][PATCH 1/1] gnutls: fix failure during do_compile

2014-03-06 Thread Paul Eggleton
Add a Debian patch to fix a load of errors building the documentation
within do_compile e.g.:

| ./x509-api.texi:15: misplaced {
| ./x509-api.texi:15: misplaced }

(From OE-Core master rev: b09a9a5f298596795f17243e5ffcf7dab295a8e6)

Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
---
 .../gnutls/gnutls/25_updatedgdocfrommaster.diff| 636 +
 meta/recipes-support/gnutls/gnutls_2.12.23.bb  |   1 +
 2 files changed, 637 insertions(+)
 create mode 100644 
meta/recipes-support/gnutls/gnutls/25_updatedgdocfrommaster.diff

diff --git a/meta/recipes-support/gnutls/gnutls/25_updatedgdocfrommaster.diff 
b/meta/recipes-support/gnutls/gnutls/25_updatedgdocfrommaster.diff
new file mode 100644
index 000..76108a0
--- /dev/null
+++ b/meta/recipes-support/gnutls/gnutls/25_updatedgdocfrommaster.diff
@@ -0,0 +1,636 @@
+Description: Update gdoc script from gnutls master.
+ This includes bef38b98c0536d81c0e4b2e78a9182e1df1d451c among other fixes:
+ .
+ [PATCH] Avoid depending on hash order in gdoc.
+ .
+ Previously, gdoc had a hash of regexp replacements for each output
+ format, and applied the replacements in the order that keys returned
+ for the hash. However, not all orders are safe -- and now that Perl 5.18
+ randomises hash order per-process, it only worked sometimes!
+
+Bug-Debian: http://bugs.debian.org/724167
+
+Upstream-Status: Backport
+
+Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
+
+--- gnutls26-2.12.23.orig/doc/scripts/gdoc
 gnutls26-2.12.23/doc/scripts/gdoc
+@@ -1,4 +1,6 @@
+-#!/usr/bin/perl
++eval '(exit $?0)'  eval 'exec perl $0 ${1+$@}'
++   eval 'exec perl $0 $argv:q'
++if 0;
+ 
+ ## Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon 
Josefsson
+ ##added -texinfo, -listfunc, -pkg-name
+@@ -7,6 +9,8 @@
+ ## Copyright (c) 2001, 2002 Nikos Mavrogiannopoulos
+ ##added -tex
+ ## Copyright (c) 1998 Michael Zucchi
++## Copyright (c) 2013 Adam Sampson
++##made highlighting not depend on hash order, for Perl 
5.18
+ 
+ # This program is free software: you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -132,57 +136,59 @@
+ use POSIX qw(strftime);
+ 
+ # match expressions used to find embedded type information
+-$type_constant = ((?!\)\\\%(\\w+));
+-$type_func = (\\w+\\(\\));
+-$type_param = \\\@(\\w+);
+-$type_struct = \\\#(\\w+);
+-$type_env = (\\\$\\w+);
++$type_constant = \\\%([A-Za-z0-9_]+);
++$type_func = ([A-Za-z0-9_]+\\(\\));
++$type_param = '\@([A-Za-z0-9_]+)\s*';
++$type_struct = \\\#([A-Za-z0-9_]+);
++$type_env = (\\\$[A-Za-z0-9_]+);
+ 
+ 
+ # Output conversion substitutions.
+ #  One for each output format
+ 
+ # these work fairly well
+-%highlights_html = ( $type_constant, i\$2/i,
+-   $type_func, b\$1/b,
+-   $type_struct, i\$1/i,
+-   $type_param, ttb\$1/b/tt );
++@highlights_html = ( [$type_constant, 'i$1/i'],
++   [$type_func, 'b$1/b'],
++   [$type_struct, 'i$1/i'],
++   [$type_param, ' ttb$1/b/tt '] );
+ $blankline_html = p;
+ 
+-%highlights_texinfo = ( $type_constant, \\\@code{\$2},
+-  $type_func, \\\@code{\$1},
+-  $type_struct, \\\@code{\$1},
+-  $type_param, \\\@code{\$1} );
++@highlights_texinfo = ( [$type_param, ' \@code{$1} '],
++  [$type_constant, '\@code{$1} '],
++  [$type_func, '\@code{$1} '],
++  [$type_struct, '\@code{$1} '],
++   );
+ $blankline_texinfo = ;
+ 
+-%highlights_tex = ( $type_constant, {it \$2},
+-   $type_func, {bf \$1},
+-   $type_struct, {it \$1},
+-   $type_param, {bf \$1} );
++@highlights_tex = ( [$type_param, ' {\\\bf $1} '],
++  [$type_constant, '{\\\it $1}'],
++  [$type_func, '{\\\bf $1}'],
++  [$type_struct, '{\\\it $1}'],
++);
+ $blankline_tex = ;
+ 
+ # sgml, docbook format
+-%highlights_sgml = ( $type_constant, replaceable 
class=\option\\$2/replaceable,
+-   $type_func, function\$1/function,
+-   $type_struct, structname\$1/structname,
+-   $type_env, envar\$1/envar,
+-   $type_param, parameter\$1/parameter );
++@highlights_sgml = ( [$type_constant, 'replaceable 
class=\option\$1/replaceable'],
++   [$type_func, 'function$1/function'],
++   [$type_struct, 'structname$1/structname'],
++   [$type_env, 'envar$1/envar'],
++   [$type_param, ' parameter$1/parameter '] );
+ $blankline_sgml = /parapara\n;
+ 
+ # these are pretty rough
+-%highlights_man = ( $type_constant, fB\$2fP,
+-  $type_func, 

[OE-core] [dora][PATCH 1/1] gnutls: fix failure during do_compile

2014-03-06 Thread Paul Eggleton
Add a Debian patch to fix a load of errors building the documentation
within do_compile e.g.:

| ./x509-api.texi:15: misplaced {
| ./x509-api.texi:15: misplaced }

(From OE-Core master rev: b09a9a5f298596795f17243e5ffcf7dab295a8e6)

Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
---
 .../gnutls/gnutls/25_updatedgdocfrommaster.diff| 636 +
 meta/recipes-support/gnutls/gnutls_2.12.23.bb  |   1 +
 2 files changed, 637 insertions(+)
 create mode 100644 
meta/recipes-support/gnutls/gnutls/25_updatedgdocfrommaster.diff

diff --git a/meta/recipes-support/gnutls/gnutls/25_updatedgdocfrommaster.diff 
b/meta/recipes-support/gnutls/gnutls/25_updatedgdocfrommaster.diff
new file mode 100644
index 000..76108a0
--- /dev/null
+++ b/meta/recipes-support/gnutls/gnutls/25_updatedgdocfrommaster.diff
@@ -0,0 +1,636 @@
+Description: Update gdoc script from gnutls master.
+ This includes bef38b98c0536d81c0e4b2e78a9182e1df1d451c among other fixes:
+ .
+ [PATCH] Avoid depending on hash order in gdoc.
+ .
+ Previously, gdoc had a hash of regexp replacements for each output
+ format, and applied the replacements in the order that keys returned
+ for the hash. However, not all orders are safe -- and now that Perl 5.18
+ randomises hash order per-process, it only worked sometimes!
+
+Bug-Debian: http://bugs.debian.org/724167
+
+Upstream-Status: Backport
+
+Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
+
+--- gnutls26-2.12.23.orig/doc/scripts/gdoc
 gnutls26-2.12.23/doc/scripts/gdoc
+@@ -1,4 +1,6 @@
+-#!/usr/bin/perl
++eval '(exit $?0)'  eval 'exec perl $0 ${1+$@}'
++   eval 'exec perl $0 $argv:q'
++if 0;
+ 
+ ## Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon 
Josefsson
+ ##added -texinfo, -listfunc, -pkg-name
+@@ -7,6 +9,8 @@
+ ## Copyright (c) 2001, 2002 Nikos Mavrogiannopoulos
+ ##added -tex
+ ## Copyright (c) 1998 Michael Zucchi
++## Copyright (c) 2013 Adam Sampson
++##made highlighting not depend on hash order, for Perl 
5.18
+ 
+ # This program is free software: you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -132,57 +136,59 @@
+ use POSIX qw(strftime);
+ 
+ # match expressions used to find embedded type information
+-$type_constant = ((?!\)\\\%(\\w+));
+-$type_func = (\\w+\\(\\));
+-$type_param = \\\@(\\w+);
+-$type_struct = \\\#(\\w+);
+-$type_env = (\\\$\\w+);
++$type_constant = \\\%([A-Za-z0-9_]+);
++$type_func = ([A-Za-z0-9_]+\\(\\));
++$type_param = '\@([A-Za-z0-9_]+)\s*';
++$type_struct = \\\#([A-Za-z0-9_]+);
++$type_env = (\\\$[A-Za-z0-9_]+);
+ 
+ 
+ # Output conversion substitutions.
+ #  One for each output format
+ 
+ # these work fairly well
+-%highlights_html = ( $type_constant, i\$2/i,
+-   $type_func, b\$1/b,
+-   $type_struct, i\$1/i,
+-   $type_param, ttb\$1/b/tt );
++@highlights_html = ( [$type_constant, 'i$1/i'],
++   [$type_func, 'b$1/b'],
++   [$type_struct, 'i$1/i'],
++   [$type_param, ' ttb$1/b/tt '] );
+ $blankline_html = p;
+ 
+-%highlights_texinfo = ( $type_constant, \\\@code{\$2},
+-  $type_func, \\\@code{\$1},
+-  $type_struct, \\\@code{\$1},
+-  $type_param, \\\@code{\$1} );
++@highlights_texinfo = ( [$type_param, ' \@code{$1} '],
++  [$type_constant, '\@code{$1} '],
++  [$type_func, '\@code{$1} '],
++  [$type_struct, '\@code{$1} '],
++   );
+ $blankline_texinfo = ;
+ 
+-%highlights_tex = ( $type_constant, {it \$2},
+-   $type_func, {bf \$1},
+-   $type_struct, {it \$1},
+-   $type_param, {bf \$1} );
++@highlights_tex = ( [$type_param, ' {\\\bf $1} '],
++  [$type_constant, '{\\\it $1}'],
++  [$type_func, '{\\\bf $1}'],
++  [$type_struct, '{\\\it $1}'],
++);
+ $blankline_tex = ;
+ 
+ # sgml, docbook format
+-%highlights_sgml = ( $type_constant, replaceable 
class=\option\\$2/replaceable,
+-   $type_func, function\$1/function,
+-   $type_struct, structname\$1/structname,
+-   $type_env, envar\$1/envar,
+-   $type_param, parameter\$1/parameter );
++@highlights_sgml = ( [$type_constant, 'replaceable 
class=\option\$1/replaceable'],
++   [$type_func, 'function$1/function'],
++   [$type_struct, 'structname$1/structname'],
++   [$type_env, 'envar$1/envar'],
++   [$type_param, ' parameter$1/parameter '] );
+ $blankline_sgml = /parapara\n;
+ 
+ # these are pretty rough
+-%highlights_man = ( $type_constant, fB\$2fP,
+-  $type_func, 

[OE-core] [dora][PATCH 0/1] Fix for gnutls compile failure on newer host distros

2014-03-06 Thread Paul Eggleton
Backport of the master fix that just went in.


The following change since commit 74bcafd4949b3505bff4c38de6e68ad62f0fe5f6:

  gnutls: Fixed bug that prevented the rejection of v1 intermediate CA 
certificates. (2014-03-05 12:38:40 +)

is available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib paule/dora-gnutls-fix
  
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/dora-gnutls-fix

Paul Eggleton (1):
  gnutls: fix failure during do_compile

 .../gnutls/gnutls/25_updatedgdocfrommaster.diff| 636 +
 meta/recipes-support/gnutls/gnutls_2.12.23.bb  |   1 +
 2 files changed, 637 insertions(+)
 create mode 100644 
meta/recipes-support/gnutls/gnutls/25_updatedgdocfrommaster.diff

-- 
1.8.5.3

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] error-report-web django-nvd3 version

2014-03-06 Thread Paul Eggleton
Hi Martin,

On Thursday 06 March 2014 02:31:31 Martin Jansa wrote:
 can you be more specific about django-nvd3 version required by
 error-report-web?
 http://git.yoctoproject.org/cgit/cgit.cgi/error-report-web/tree/README
 
 with 0.6.* it was complaining about missing kw_args param in load_chart
 calls, older versions were complaining about other changes.

I'm not sure of the original version, but FWIW I did make a fix for this
problem with 0.6 in the layer index the other day that might be useful
as a reference:

http://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/commit/?id=5aa533b678a2a60f989e4686e0880e24761a9aca

As you can see I found I needed to update the d3/nvd3 js files at the same
time.

 I'm testing it (currently without graphs) in order to extend it to collect
 some build metrics and statistics from our builds (like every jenkins build
 and very local developer build will upload back description of HW, build
 times and other metrics so we can better evaluate icecc, sstate reuse ratio
 etc).
 
 If something like that would be useful for upstream I can eventually
 contribute it back.

Seems reasonable to me, as long as it doesn't get in the way of handling
error reports.

 I've also updated the .bbclass to read all configuration from bb data
 and to upload the report after every build (sort of like tinderbox,
 oestats bbclass worked), that way is easier for us to globally enable it
 for all builds in our distro config without any interaction from
 developers.

As long as this is an option and not on by default (and ideally make it
a trinary switch so you can decide to send just errors automatically)
this should be OK also. Showing some kind of notification that it's doing
it would be a good thing as well I think.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] js: Fix missing aclocal files for configure

2014-03-06 Thread Richard Purdie
The aclocal copy is done as a prefunc so we need to ensure configure.ac
is available before those functions run. The easiest way is inserting
an extra task.

Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
---
diff --git a/meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb 
b/meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb
index e320504..e466354 100644
--- a/meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb
+++ b/meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb
@@ -23,10 +23,11 @@ S = ${WORKDIR}/js/src
 # don't bother with automake
 inherit autotools-brokensep
 
-do_configure_prepend() {
+do_extraunpack() {
cp -f ${WORKDIR}/configure.ac ${S}
cp -f ${WORKDIR}/jsautocfg.h ${S}
 }
+addtask extraunpack before do_configure after do_unpack
 
 EXTRA_OEMAKE = 'CC=${CC}' 'LD=${LD}' 'XCFLAGS=${CFLAGS}' 'XLDFLAGS=${LDFLAGS} 
-Wl,-soname=libjs' \
 'BUILD_CC=${BUILD_CC}' 'BUILD_CFLAGS=${BUILD_CFLAGS}' 
'BUILD_LDFLAGS=${BUILD_LDFLAGS}'


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] gstreamer: Fix valgrind determism problem in the same way as gstreamer 0.10

2014-03-06 Thread Richard Purdie
Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
---
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb 
b/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb
index 4282f07..99eee81 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb
@@ -27,6 +27,8 @@ EXTRA_OECONF = --disable-docbook --disable-gtk-doc \
 --disable-valgrind ${GSTREAMER_DEBUG} \
 
 
+CACHED_CONFIGUREVARS += ac_cv_header_valgrind_valgrind_h=no
+
 # apply gstreamer hack after Makefile.in.in in source is replaced by our 
version from
 # ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is 
executed
 # 
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] kernel-yocto: Inspect remote branches with git ls-remote

2014-03-06 Thread Matt Fleming
On Wed, 05 Mar, at 12:02:27PM, Bruce Ashfield wrote:
 Please cc' me directly on any kernel-yocto changes, I only noticed this
 by chance.
 
Noted.

 On Wed, Mar 5, 2014 at 11:49 AM, Matt Fleming m...@console-pimps.org wrote:
 
  Furthermore, the output of 'git branch' is subject to change and trying
  to parse it could potentially lead to breakage in the future.
 
 I've never had a problem with it in 7 years of the tools and their variants, 
 so
 the point is arguable and could be dropped from the commit log.
 
I'm referring to this,

  
http://git-blame.blogspot.co.uk/2013/06/checking-current-branch-programatically.html

 Good catch on the issue, like I said, I've never run into it .. but I
 can definitely see the need for the tweak.

OK, I'll send an updated version. Thanks for the review.

-- 
Matt Fleming, Intel Open Source Technology Center
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2] kernel-yocto: Disable ANSI escape codes from git branch

2014-03-06 Thread Matt Fleming
From: Matt Fleming matt.flem...@intel.com

'git branch' may use ANSI escape codes in its output (to provide colour)
which doesn't play well with commands expecting pure plain text, e.g.

fatal: '^[[31mmaster^[[m' is not a valid branch name.

Use the --no-color option to ensure all branch names are plain text.

Cc: Bruce Ashfield bruce.ashfi...@gmail.com
Signed-off-by: Matt Fleming matt.flem...@intel.com
---

v2: Make the minimum change necessary to disable the escape codes per
Bruce's suggestion.

 meta/classes/kernel-yocto.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/kernel-yocto.bbclass 
b/meta/classes/kernel-yocto.bbclass
index fb8e04e..7913dd8 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -196,7 +196,7 @@ do_kernel_checkout() {
# If KMETA is defined, the branch must exist, but a machine 
branch
# can be missing since it may be created later by the tools.
if [ -n ${KMETA} ]; then
-   git branch -a | grep -q ${KMETA}
+   git branch -a --no-color | grep -q ${KMETA}
if [ $? -ne 0 ]; then
echo ERROR. The branch '${KMETA}' is required and was 
not
echo found. Ensure that the SRC_URI points to a valid 
linux-yocto
@@ -214,7 +214,7 @@ do_kernel_checkout() {
fi
 
# convert any remote branches to local tracking ones
-   for i in `git branch -a | grep remotes | grep -v HEAD`; do
+   for i in `git branch -a --no-color | grep remotes | grep -v HEAD`; do
b=`echo $i | cut -d' ' -f2 | sed 's%remotes/origin/%%'`;
git show-ref --quiet --verify -- refs/heads/$b
if [ $? -ne 0 ]; then
-- 
1.8.5.3

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] error-report-web django-nvd3 version

2014-03-06 Thread Proca, Andreea B
Hi Martin,

I should have been more specific about the versions, sorry. 
I've updated the README, it needs django-nvd3 0.1.11 and python-nvd3 0.6.0.

I usually install those on my Ubuntu host using pip. 

Regards,
Andreea

-Original Message-
From: Martin Jansa [mailto:martin.ja...@gmail.com] 
Sent: Thursday, March 06, 2014 3:32 AM
To: Proca, Andreea B
Cc: openembedded-core@lists.openembedded.org
Subject: error-report-web django-nvd3 version

Hi,

can you be more specific about django-nvd3 version required by error-report-web?
http://git.yoctoproject.org/cgit/cgit.cgi/error-report-web/tree/README

with 0.6.* it was complaining about missing kw_args param in load_chart calls, 
older versions were complaining about other changes.

I'm testing it (currently without graphs) in order to extend it to collect some 
build metrics and statistics from our builds (like every jenkins build and very 
local developer build will upload back description of HW, build times and other 
metrics so we can better evaluate icecc, sstate reuse ratio etc).

If something like that would be useful for upstream I can eventually contribute 
it back.

I've also updated the .bbclass to read all configuration from bb data and to 
upload the report after every build (sort of like tinderbox, oestats bbclass 
worked), that way is easier for us to globally enable it for all builds in our 
distro config without any interaction from developers.

-- 
Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2] run-postinsts: use it for opkg/dpkg too

2014-03-06 Thread Laurentiu Palcu
Currently, opkg/dpkg have their own postinstalls that create a
run-postinsts script which is run at first boot.

This commit prepares the run-postinsts recipe/script to be used by
opkg/dpkg when DISTRO_FEATURES includes package-management.

[YOCTO #5666]

Signed-off-by: Laurentiu Palcu laurentiu.pa...@intel.com
---
 .../run-postinsts/run-postinsts/run-postinsts  |   63 +---
 .../run-postinsts/run-postinsts_1.0.bb |2 +
 2 files changed, 42 insertions(+), 23 deletions(-)

diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts 
b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
index 11141ec..08cfa9e 100755
--- a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
+++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
@@ -8,13 +8,9 @@
 # The following script will run all the scriptlets found in 
#SYSCONFDIR#/deb-postinsts,
 # #SYSCONFDIR#/ipk-postinsts or #SYSCONFDIR#/rpm-posinsts.
 
-pi_dir=
-for pm in rpm deb ipk; do
-   if [ -d #SYSCONFDIR#/${pm}-postinsts ]; then
-   pi_dir=#SYSCONFDIR#/${pm}-postinsts
-   break
-   fi
-done
+pm=#IMAGE_PKGTYPE#
+pm_installed=#PM_INSTALLED#
+pi_dir=#SYSCONFDIR#/${pm}-postinsts
 
 remove_rcsd_link () {
if [ -n `which update-rc.d` ]; then
@@ -29,24 +25,45 @@ fi
 
 [ -e #SYSCONFDIR#/default/postinst ]  . #SYSCONFDIR#/default/postinst
 
-remove_pi_dir=1
-for i in `ls $pi_dir`; do
-   i=$pi_dir/$i
-   echo Running postinst $i...
-   [ $POSTINST_LOGGING = 1 ]  echo Running postinst $i...  
$LOGFILE
-   if [ -x $i ]; then
-   if [ $POSTINST_LOGGING = 1 ]; then
-   sh -c $i $LOGFILE 21
+if [ $POSTINST_LOGGING = 1 ]; then
+   rm -f $LOGFILE
+   append_log=$LOGFILE 21
+fi
+
+exec_postinst_scriptlets() {
+   for i in `ls $pi_dir`; do
+   i=$pi_dir/$i
+   echo Running postinst $i...
+   [ $POSTINST_LOGGING = 1 ]  eval echo Running postinst 
$i... $append_log
+   if [ -x $i ]; then
+   eval sh -c $i $append_log
+   rm $i
else
-   sh -c $i
+   echo ERROR: postinst $i failed.
+   [ $POSTINST_LOGGING = 1 ]  eval echo ERROR: 
postinst $i failed. $append_log
+   remove_pi_dir=0
fi
-   rm $i
-   else
-   echo ERROR: postinst $i failed.
-   [ $POSTINST_LOGGING = 1 ]  echo ERROR: postinst $i 
failed.  $LOGFILE
-   remove_pi_dir=0
-   fi
-done
+   done
+}
+
+remove_pi_dir=1
+if $pm_installed; then
+   case $pm in
+   ipk)
+   eval opkg-cl configure $append_log
+   ;;
+
+   deb)
+   eval dpkg --configure -a $append_log
+   ;;
+
+   rpm)
+   exec_postinst_scriptlets
+   ;;
+   esac
+else
+   exec_postinst_scriptlets
+fi
 
 # since all postinstalls executed successfully, remove the postinstalls 
directory
 # and the rcS.d link
diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb 
b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
index 64f85c2..e990c67 100644
--- a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
+++ b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
@@ -37,6 +37,8 @@ do_install() {
sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' \
-e 's:#SBINDIR#:${sbindir}:g' \
-e 's:#BASE_BINDIR#:${base_bindir}:g' \
+   -e 's:#IMAGE_PKGTYPE#:${IMAGE_PKGTYPE}:g' \
+   -e 's:#PM_INSTALLED#:${@base_contains(IMAGE_FEATURES, 
package-management, true, false, d)}:g' \
${D}${sbindir}/run-postinsts \
${D}${systemd_unitdir}/system/run-postinsts.service
 }
-- 
1.7.9.5

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/2] opkg/dpkg: remove the postinstalls

2014-03-06 Thread Laurentiu Palcu
Just use the run-postinsts recipe for running first boot postinstalls.

[YOCTO #5666]

Signed-off-by: Laurentiu Palcu laurentiu.pa...@intel.com
---
 meta/recipes-devtools/dpkg/dpkg.inc |   24 +---
 meta/recipes-devtools/opkg/opkg.inc |   28 +---
 2 files changed, 2 insertions(+), 50 deletions(-)

diff --git a/meta/recipes-devtools/dpkg/dpkg.inc 
b/meta/recipes-devtools/dpkg/dpkg.inc
index 471151e..eef7ce9 100644
--- a/meta/recipes-devtools/dpkg/dpkg.inc
+++ b/meta/recipes-devtools/dpkg/dpkg.inc
@@ -7,7 +7,7 @@ SRC_URI = ${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.xz \
 
 DEPENDS = zlib bzip2 perl ncurses
 DEPENDS_class-native = bzip2-replacement-native zlib-native 
virtual/update-alternatives-native gettext-native perl-native
-RDEPENDS_${PN} = ${VIRTUAL-RUNTIME_update-alternatives} xz
+RDEPENDS_${PN} = ${VIRTUAL-RUNTIME_update-alternatives} xz run-postinsts
 RDEPENDS_${PN}_class-native = xz-native
 
 S = ${WORKDIR}/${BPN}-${PV}
@@ -43,8 +43,6 @@ do_configure () {
 autotools_do_configure
 }
 
-DPKG_INIT_POSITION ?= 98
-
 do_install_append () {
if [ ${PN} = dpkg-native ]; then
# update-alternatives doesn't have an offline mode
@@ -66,26 +64,6 @@ do_install_append () {
fi
 }
 
-pkg_postinst_${PN} () {
-#!/bin/sh
-if ${@base_contains('DISTRO_FEATURES','sysvinit','true','false',d)}  \
-   [ x$D != x ]  [ -f $D/var/lib/dpkg/status ]; then
-   install -d $D${sysconfdir}/rcS.d
-
-   # this happens at S98 where our good 'ole packages script used to run
-   echo #!/bin/sh
-[ -e ${sysconfdir}/default/postinst ]  . ${sysconfdir}/default/postinst
-if [ \\$POSTINST_LOGGING\ = \1\ ]; then
-dpkg --configure -a \$LOGFILE 21
-else
-dpkg --configure -a
-fi
-rm -f ${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}run-postinsts
-  $D${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}run-postinsts
-   chmod 0755 $D${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}run-postinsts
-fi
-}
-
 PROV = virtual/update-alternatives
 PROV_class-native = 
 
diff --git a/meta/recipes-devtools/opkg/opkg.inc 
b/meta/recipes-devtools/opkg/opkg.inc
index 7bea26d..9f87df5 100644
--- a/meta/recipes-devtools/opkg/opkg.inc
+++ b/meta/recipes-devtools/opkg/opkg.inc
@@ -38,7 +38,7 @@ EXTRA_OECONF = \
   --with-opkglibdir=${OPKGLIBDIR} \
 
 
-RDEPENDS_${PN} = ${VIRTUAL-RUNTIME_update-alternatives} opkg-config-base
+RDEPENDS_${PN} = ${VIRTUAL-RUNTIME_update-alternatives} opkg-config-base 
run-postinsts
 RDEPENDS_${PN}_class-native = 
 RDEPENDS_${PN}_class-nativesdk = 
 RREPLACES_${PN} = opkg-nogpg
@@ -73,30 +73,4 @@ do_install_append() {
rm ${D}${bindir}/update-alternatives
 }
 
-pkg_postinst_${PN} () {
-#!/bin/sh
-if ${@base_contains('DISTRO_FEATURES','sysvinit','true','false',d)}  \
-   [ x$D != x ]  [ -f $D${OPKGLIBDIR}/opkg/status ]; then
-   install -d $D${sysconfdir}/rcS.d
-
-   # this happens at S98 where our good 'ole packages script used to run
-   echo #!/bin/sh
-[ -e ${sysconfdir}/default/postinst ]  . ${sysconfdir}/default/postinst
-if [ \\$POSTINST_LOGGING\ = \1\ ]; then
-opkg-cl configure \$LOGFILE 21
-else
-opkg-cl configure
-fi
-rm -f ${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts
-  $D${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts
-   chmod 0755 
$D${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts
-fi
-}
-
 BBCLASSEXTEND = native nativesdk
-
-# Define a variable to allow distros to run configure earlier.
-# (for example, to enable loading of ethernet kernel modules before networking 
starts)
-# note: modifying name or default value for POSTINSTALL_INITPOSITION requires
-# changes in systemd-compat-units.bb
-POSTINSTALL_INITPOSITION ?= 98
-- 
1.7.9.5

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/2] Unique run-postinsts

2014-03-06 Thread Laurentiu Palcu
This patchset removes the opkg/dpkg postinstalls that were creating their own
run-postinsts script which, sometimes, confused people... Instead, use the
already available run-postinsts recipe in order to create the run-postinsts
init script. It will be used for both 'package-management'/no
'package-management' in DISTRO_FEATURES.

In my tests I tried to cover as much usecases as possible, in various
combinations:
 * rpm/ipk/deb;
 * package-management/no package-management;
 * delayed/no delayed postinstalls;
 * sysvinit/systemd;

I hope I covered most of them. If there are any other 'dirty' usecases I should
be aware of, don't be shy.

laurentiu

The following changes since commit a01af0202558e6ed9d16590b3a8d1dd1b95c0374:

  recipes: bump PRs (2014-03-05 17:36:37 +)

are available in the git repository at:

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

Laurentiu Palcu (2):
  run-postinsts: use it for opkg/dpkg too
  opkg/dpkg: remove the postinstalls

 meta/recipes-devtools/dpkg/dpkg.inc|   24 +---
 meta/recipes-devtools/opkg/opkg.inc|   28 +
 .../run-postinsts/run-postinsts/run-postinsts  |   63 +---
 .../run-postinsts/run-postinsts_1.0.bb |2 +
 4 files changed, 44 insertions(+), 73 deletions(-)

-- 
1.7.9.5

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] error-report-web django-nvd3 version

2014-03-06 Thread Martin Jansa
On Thu, Mar 06, 2014 at 11:44:54AM +, Proca, Andreea B wrote:
 Hi Martin,
 
 I should have been more specific about the versions, sorry. 
 I've updated the README, it needs django-nvd3 0.1.11 and python-nvd3 0.6.0.
 
 I usually install those on my Ubuntu host using pip. 

Thank you, I didn't go that far into django-nvd3 history to try 0.1.11
version :).

I've small fix to make it compatible with 0.6.0, but I'll first try it
with 0.1.11 to see if it's supposed to look like this.

Thank you very much for this project it came in right time for me :).

 -Original Message-
 From: Martin Jansa [mailto:martin.ja...@gmail.com] 
 Sent: Thursday, March 06, 2014 3:32 AM
 To: Proca, Andreea B
 Cc: openembedded-core@lists.openembedded.org
 Subject: error-report-web django-nvd3 version
 
 Hi,
 
 can you be more specific about django-nvd3 version required by 
 error-report-web?
 http://git.yoctoproject.org/cgit/cgit.cgi/error-report-web/tree/README
 
 with 0.6.* it was complaining about missing kw_args param in load_chart 
 calls, older versions were complaining about other changes.
 
 I'm testing it (currently without graphs) in order to extend it to collect 
 some build metrics and statistics from our builds (like every jenkins build 
 and very local developer build will upload back description of HW, build 
 times and other metrics so we can better evaluate icecc, sstate reuse ratio 
 etc).
 
 If something like that would be useful for upstream I can eventually 
 contribute it back.
 
 I've also updated the .bbclass to read all configuration from bb data and 
 to upload the report after every build (sort of like tinderbox, oestats 
 bbclass worked), that way is easier for us to globally enable it for all 
 builds in our distro config without any interaction from developers.
 
 -- 
 Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com

-- 
Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com


signature.asc
Description: Digital signature
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2] kernel-yocto: Disable ANSI escape codes from git branch

2014-03-06 Thread Bruce Ashfield
On Thu, Mar 6, 2014 at 6:04 AM, Matt Fleming m...@console-pimps.org wrote:
 From: Matt Fleming matt.flem...@intel.com

 'git branch' may use ANSI escape codes in its output (to provide colour)
 which doesn't play well with commands expecting pure plain text, e.g.

 fatal: '^[[31mmaster^[[m' is not a valid branch name.

 Use the --no-color option to ensure all branch names are plain text.

Thanks for the low footprint version.

Acked-by: Bruce Ashfield bruce.ashfi...@windriver.com


 Cc: Bruce Ashfield bruce.ashfi...@gmail.com
 Signed-off-by: Matt Fleming matt.flem...@intel.com
 ---

 v2: Make the minimum change necessary to disable the escape codes per
 Bruce's suggestion.

  meta/classes/kernel-yocto.bbclass | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

 diff --git a/meta/classes/kernel-yocto.bbclass 
 b/meta/classes/kernel-yocto.bbclass
 index fb8e04e..7913dd8 100644
 --- a/meta/classes/kernel-yocto.bbclass
 +++ b/meta/classes/kernel-yocto.bbclass
 @@ -196,7 +196,7 @@ do_kernel_checkout() {
 # If KMETA is defined, the branch must exist, but a machine 
 branch
 # can be missing since it may be created later by the tools.
 if [ -n ${KMETA} ]; then
 -   git branch -a | grep -q ${KMETA}
 +   git branch -a --no-color | grep -q ${KMETA}
 if [ $? -ne 0 ]; then
 echo ERROR. The branch '${KMETA}' is required and 
 was not
 echo found. Ensure that the SRC_URI points to a 
 valid linux-yocto
 @@ -214,7 +214,7 @@ do_kernel_checkout() {
 fi

 # convert any remote branches to local tracking ones
 -   for i in `git branch -a | grep remotes | grep -v HEAD`; do
 +   for i in `git branch -a --no-color | grep remotes | grep -v HEAD`; do
 b=`echo $i | cut -d' ' -f2 | sed 's%remotes/origin/%%'`;
 git show-ref --quiet --verify -- refs/heads/$b
 if [ $? -ne 0 ]; then
 --
 1.8.5.3




-- 
Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] kernel-yocto: Inspect remote branches with git ls-remote

2014-03-06 Thread Bruce Ashfield
On Thu, Mar 6, 2014 at 6:02 AM, Matt Fleming m...@console-pimps.org wrote:
 On Wed, 05 Mar, at 12:02:27PM, Bruce Ashfield wrote:
 Please cc' me directly on any kernel-yocto changes, I only noticed this
 by chance.

 Noted.

 On Wed, Mar 5, 2014 at 11:49 AM, Matt Fleming m...@console-pimps.org wrote:
 
  Furthermore, the output of 'git branch' is subject to change and trying
  to parse it could potentially lead to breakage in the future.

 I've never had a problem with it in 7 years of the tools and their variants, 
 so
 the point is arguable and could be dropped from the commit log.

 I'm referring to this,

Yah, I've seen similar warnings as well, I'm a fan of symbolic-ref after getting
burned poking directly into the .git directory structure in the past :) The more
usable primitives are much better than they used to be. But I'm in a pragmatic
mood lately and will keep an eye out for a real world break .. and then everyone
can tell me that they told me so.

Cheers,

Bruce


   
 http://git-blame.blogspot.co.uk/2013/06/checking-current-branch-programatically.html

 Good catch on the issue, like I said, I've never run into it .. but I
 can definitely see the need for the tweak.

 OK, I'll send an updated version. Thanks for the review.

 --
 Matt Fleming, Intel Open Source Technology Center



-- 
Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2] oe-selftest: optimize code in _sstatetests_noauto.py module

2014-03-06 Thread Corneliu Stoicescu
1) Some of the checks made when creating new directories are unnecessary 
beacause
the test will fail anyway if os.mkdir() fails, with the appropriate error 
message.

Removing this code.

2) Moved the adding to tracked paths for deletion of temporary build directories
and sstate-cache directories to after they are created. This makes more sense
and prevents deletion of these directories if they allready exist and may 
contain
useful data.

Signed-off-by: Corneliu Stoicescu corneliux.stoice...@intel.com
---
 meta/lib/oeqa/selftest/_sstatetests_noauto.py | 19 ---
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/meta/lib/oeqa/selftest/_sstatetests_noauto.py 
b/meta/lib/oeqa/selftest/_sstatetests_noauto.py
index 5253334..97366d9 100644
--- a/meta/lib/oeqa/selftest/_sstatetests_noauto.py
+++ b/meta/lib/oeqa/selftest/_sstatetests_noauto.py
@@ -24,23 +24,15 @@ class RebuildFromSState(SStateBase):
 return found_targets
 
 def configure_builddir(self, builddir):
-if os.path.exists(builddir):
-raise AssertionError(Cannot create build directory at %s: Path 
allready exists! % builddir)
-try:
-os.mkdir(builddir)
-except:
-raise AssertionError(Cannot create %s . Make sure %s exists! % 
(dst, os.path.dirname(dst)))
+os.mkdir(builddir)
+self.track_for_cleanup(builddir)
 os.mkdir(os.path.join(builddir, 'conf'))
 shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 
'conf/local.conf'), os.path.join(builddir, 'conf/local.conf'))
 shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 
'conf/bblayers.conf'), os.path.join(builddir, 'conf/bblayers.conf'))
 
 def hardlink_tree(self, src, dst):
-if os.path.exists(dst):
-raise AssertionError(Cannot create directory at %s: Path allready 
exists! % dst)
-try:
-os.mkdir(dst)
-except:
-raise AssertionError(Cannot create %s . Make sure %s exists! % 
(dst, os.path.dirname(dst)))
+os.mkdir(dst)
+self.track_for_cleanup(dst)
 for root, dirs, files in os.walk(src):
 if root == src:
 continue
@@ -54,9 +46,6 @@ class RebuildFromSState(SStateBase):
 buildB = os.path.join(self.builddir, 'buildB')
 else:
 buildB = buildA
-self.track_for_cleanup(buildA)
-self.track_for_cleanup(buildB)
-self.track_for_cleanup(os.path.join(self.builddir, 
'sstate-cache-buildA'))
 
 if rebuild_dependencies:
 rebuild_targets = self.get_dep_targets(primary_targets)
-- 
1.8.3.2

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/2] oe-selftest: force some values in local.conf for _sstatetests_noauto.py

2014-03-06 Thread Corneliu Stoicescu
1) Some values should have default values in order for tests like sstate 
relocation to be relevant
   - SSTATE_DIR needs to have default value
   - SSTATE_MIRRORS need to be unset (we need the sstate files to be created)
   - TMPDIR needs to be in default location

2) Added conf/auto.conf to list of ported files to secondary build directories

Signed-off-by: Corneliu Stoicescu corneliux.stoice...@intel.com
---
 meta/lib/oeqa/selftest/_sstatetests_noauto.py | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/meta/lib/oeqa/selftest/_sstatetests_noauto.py 
b/meta/lib/oeqa/selftest/_sstatetests_noauto.py
index 97366d9..fc9ae7e 100644
--- a/meta/lib/oeqa/selftest/_sstatetests_noauto.py
+++ b/meta/lib/oeqa/selftest/_sstatetests_noauto.py
@@ -28,7 +28,17 @@ class RebuildFromSState(SStateBase):
 self.track_for_cleanup(builddir)
 os.mkdir(os.path.join(builddir, 'conf'))
 shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 
'conf/local.conf'), os.path.join(builddir, 'conf/local.conf'))
+config = {}
+config['default_sstate_dir'] = SSTATE_DIR ?= 
\${TOPDIR}/sstate-cache\
+config['null_sstate_mirrors'] = SSTATE_MIRRORS = \\
+config['default_tmp_dir'] = TMPDIR = \${TOPDIR}/tmp\
+for key in config:
+ftools.append_file(os.path.join(builddir, 'conf/selftest.inc'), 
config[key])
 shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 
'conf/bblayers.conf'), os.path.join(builddir, 'conf/bblayers.conf'))
+try:
+shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 
'conf/auto.conf'), os.path.join(builddir, 'conf/auto.conf'))
+except:
+pass
 
 def hardlink_tree(self, src, dst):
 os.mkdir(dst)
-- 
1.8.3.2

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/2] Recipe removals

2014-03-06 Thread Paul Eggleton
The following changes since commit c6825ec6e92e20bb64a051d1576f363c16e98d68:

  recipes: bump PRs (2014-03-05 17:26:24 +)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib paule/cleanup5
  
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/cleanup5

Paul Eggleton (2):
  zaurusd: remove
  js: remove

 meta/recipes-bsp/zaurusd/zaurusd_git.bb   | 20 --
 meta/recipes-support/js/files/buildcc.patch   | 22 ---
 meta/recipes-support/js/files/configure.ac| 28 -
 meta/recipes-support/js/files/jsautocfg.h | 74 ---
 meta/recipes-support/js/files/link_with_gcc.patch | 15 -
 meta/recipes-support/js/files/usepic.patch| 26 
 meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb  | 51 
 7 files changed, 236 deletions(-)
 delete mode 100644 meta/recipes-bsp/zaurusd/zaurusd_git.bb
 delete mode 100644 meta/recipes-support/js/files/buildcc.patch
 delete mode 100644 meta/recipes-support/js/files/configure.ac
 delete mode 100644 meta/recipes-support/js/files/jsautocfg.h
 delete mode 100644 meta/recipes-support/js/files/link_with_gcc.patch
 delete mode 100644 meta/recipes-support/js/files/usepic.patch
 delete mode 100644 meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb

-- 
1.8.5.3

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2] zaurusd: remove

2014-03-06 Thread Paul Eggleton
Despite the fact that it's currently specific to the Sharp Zaurus, we
kept this in OE-Core up to now as a potential basis for better handling
of device-specific customisations for a wider range of devices. Whilst
moving device-specific customisations to a more central point is still
a laudable goal, these days such functionality probably wouldn't be
implemented on top of zaurusd or even in the same way as zaurusd, and
thus it makes sense to leave its recipe to be maintained in the
meta-handheld layer (where a current recipe already exists.)

Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
---
 meta/recipes-bsp/zaurusd/zaurusd_git.bb | 20 
 1 file changed, 20 deletions(-)
 delete mode 100644 meta/recipes-bsp/zaurusd/zaurusd_git.bb

diff --git a/meta/recipes-bsp/zaurusd/zaurusd_git.bb 
b/meta/recipes-bsp/zaurusd/zaurusd_git.bb
deleted file mode 100644
index b1c0e28..000
--- a/meta/recipes-bsp/zaurusd/zaurusd_git.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = Daemon to handle device-specific features
-SECTION = base
-LICENSE = GPLv2
-LIC_FILES_CHKSUM = file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f
-DEPENDS = tslib
-RDEPENDS_${PN} = xrandr
-
-SRCREV = 85d941d87f0c41b196766a173feaafffa6de2dc2
-PV = 0.1+git${SRCPV}
-
-SRC_URI = git://git.yoctoproject.org/${BPN}
-
-S = ${WORKDIR}/git
-
-PACKAGE_ARCH = ${MACHINE_ARCH}
-
-inherit autotools pkgconfig update-rc.d
-
-INITSCRIPT_NAME = zaurusd
-INITSCRIPT_PARAMS = start 99 5 2 . stop 20 0 1 6 .
-- 
1.8.5.3

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/2] js: remove

2014-03-06 Thread Paul Eggleton
This is a very old version of Mozilla's Javascript engine, isn't
actually used by anything in OE-Core now that web is gone, and in public
layers outside of OE-Core is apparently only used by mediatomb within
meta-baryon.

Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
---
 meta/recipes-support/js/files/buildcc.patch   | 22 ---
 meta/recipes-support/js/files/configure.ac| 28 -
 meta/recipes-support/js/files/jsautocfg.h | 74 ---
 meta/recipes-support/js/files/link_with_gcc.patch | 15 -
 meta/recipes-support/js/files/usepic.patch| 26 
 meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb  | 51 
 6 files changed, 216 deletions(-)
 delete mode 100644 meta/recipes-support/js/files/buildcc.patch
 delete mode 100644 meta/recipes-support/js/files/configure.ac
 delete mode 100644 meta/recipes-support/js/files/jsautocfg.h
 delete mode 100644 meta/recipes-support/js/files/link_with_gcc.patch
 delete mode 100644 meta/recipes-support/js/files/usepic.patch
 delete mode 100644 meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb

diff --git a/meta/recipes-support/js/files/buildcc.patch 
b/meta/recipes-support/js/files/buildcc.patch
deleted file mode 100644
index 19daf72..000
--- a/meta/recipes-support/js/files/buildcc.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Upstream-Status: Pending
-
-jskwgen should be built by BUILD_CC in cross environment
-
-7/23/2010 - created by Qing He qing...@intel.com
-
-diff -uNr js.orig//src/Makefile.ref js/src/Makefile.ref
 js.orig//src/Makefile.ref  2009-02-25 21:24:29.0 +0800
-+++ js/src/Makefile.ref2010-07-23 13:26:51.0 +0800
-@@ -303,10 +303,10 @@
- 
- $(OBJDIR)/jskwgen.o: jskwgen.c jskeyword.tbl
-   @$(MAKE_OBJDIR)
--  $(CC) -o $@ -c $(CFLAGS) $
-+  $(BUILD_CC) -o $@ -c $(BUILD_CFLAGS) $
- 
- $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX): $(OBJDIR)/jskwgen.$(OBJ_SUFFIX)
--  $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^
-+  $(BUILD_CC) -o $@ $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $^
- 
- endif
- 
diff --git a/meta/recipes-support/js/files/configure.ac 
b/meta/recipes-support/js/files/configure.ac
deleted file mode 100644
index 41af298..000
--- a/meta/recipes-support/js/files/configure.ac
+++ /dev/null
@@ -1,28 +0,0 @@
-AC_INIT
-
-AC_CHECK_SIZEOF([char])
-AC_CHECK_SIZEOF([short])
-AC_CHECK_SIZEOF([int])
-AC_CHECK_SIZEOF([int64_t])
-AC_CHECK_SIZEOF([long])
-AC_CHECK_SIZEOF([long long])
-AC_CHECK_SIZEOF([int *])
-AC_CHECK_SIZEOF([float])
-AC_CHECK_SIZEOF([double])
-
-AC_CHECK_ALIGNOF([char])
-AC_CHECK_ALIGNOF([short])
-AC_CHECK_ALIGNOF([int])
-AC_CHECK_ALIGNOF([int64_t])
-AC_CHECK_ALIGNOF([long])
-AC_CHECK_ALIGNOF([long long])
-AC_CHECK_ALIGNOF([int *])
-AC_CHECK_ALIGNOF([float])
-AC_CHECK_ALIGNOF([double])
-
-AC_C_BIGENDIAN
-
-AC_TYPE_LONG_LONG_INT
-
-AC_CONFIG_HEADER([conf.h])
-AC_OUTPUT
diff --git a/meta/recipes-support/js/files/jsautocfg.h 
b/meta/recipes-support/js/files/jsautocfg.h
deleted file mode 100644
index 295e491..000
--- a/meta/recipes-support/js/files/jsautocfg.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef js_cpucfg___
-#define js_cpucfg___
-
-/* AUTOMATICALLY GENERATED - DO NOT EDIT */
-
-#include conf.h
-
-#ifdef WORDS_BIGENDIAN
-# undef  IS_LITTLE_ENDIAN
-# define IS_BIG_ENDIAN 1
-#else
-# define IS_LITTLE_ENDIAN 1
-# undef  IS_BIG_ENDIAN
-#endif
-
-#define __I_LOG2(n) (\
-((n) == 1)?   0: \
-((n) == 2)?   1: \
-((n) == 4)?   2: \
-((n) == 8)?   3: \
-((n) == 16)?  4: \
-((n) == 32)?  5: \
-((n) == 64)?  6: \
-((n) == 128)? 7: \
--1)
-
-#define JS_BYTES_PER_BYTE   SIZEOF_CHAR
-#define JS_BYTES_PER_SHORT  SIZEOF_SHORT
-#define JS_BYTES_PER_INTSIZEOF_INT
-#define JS_BYTES_PER_INT64  SIZEOF_INT64_T
-#define JS_BYTES_PER_LONG   SIZEOF_LONG
-#define JS_BYTES_PER_FLOAT  SIZEOF_FLOAT
-#define JS_BYTES_PER_DOUBLE SIZEOF_DOUBLE
-#define JS_BYTES_PER_WORD   SIZEOF_LONG
-#define JS_BYTES_PER_DWORD  SIZEOF_LONG_LONG
-
-#define JS_BITS_PER_BYTE8L
-#define JS_BITS_PER_SHORT   (JS_BITS_PER_BYTE * JS_BYTES_PER_SHORT)
-#define JS_BITS_PER_INT (JS_BITS_PER_BYTE * JS_BYTES_PER_INT)
-#define JS_BITS_PER_INT64   (JS_BITS_PER_BYTE * JS_BYTES_PER_INT64)
-#define JS_BITS_PER_LONG(JS_BITS_PER_BYTE * JS_BYTES_PER_LONG)
-#define JS_BITS_PER_FLOAT   (JS_BITS_PER_BYTE * JS_BYTES_PER_GLOAT)
-#define JS_BITS_PER_DOUBLE  (JS_BITS_PER_BYTE * JS_BYTES_PER_DOUBLE)
-#define JS_BITS_PER_WORD(JS_BITS_PER_BYTE * JS_BYTES_PER_WORD)
-
-#define JS_BITS_PER_BYTE_LOG2   __I_LOG2(JS_BITS_PER_BYTE)
-#define JS_BITS_PER_SHORT_LOG2  __I_LOG2(JS_BITS_PER_BYTE)
-#define JS_BITS_PER_INT_LOG2__I_LOG2(JS_BITS_PER_BYTE)
-#define JS_BITS_PER_INT64_LOG2  __I_LOG2(JS_BITS_PER_BYTE)
-#define JS_BITS_PER_LONG_LOG2   __I_LOG2(JS_BITS_PER_BYTE)
-#define JS_BITS_PER_FLOAT_LOG2  __I_LOG2(JS_BITS_PER_BYTE)
-#define JS_BITS_PER_DOUBLE_LOG2 __I_LOG2(JS_BITS_PER_BYTE)
-#define JS_BITS_PER_WORD_LOG2   

[OE-core] [PATCH 0/5] Misc feature additions

2014-03-06 Thread Paul Eggleton
The following changes since commit c6825ec6e92e20bb64a051d1576f363c16e98d68:

  recipes: bump PRs (2014-03-05 17:26:24 +)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib paule/features
  
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/features

Belen Barros Pena (1):
  documentation.conf: sync with the Yocto Project reference manual

Paul Eggleton (4):
  core-image-basic / packagegroup-core-basic: rename to *-full-cmdline
  classes/image: support package-management in IMAGE_FEATURES
  Rename PACKAGE_GROUP variable to FEATURE_PACKAGES
  documentation.conf: drop obsolete variables

 meta/classes/core-image.bbclass|  27 ++--
 meta/classes/image.bbclass |   8 +-
 meta/conf/documentation.conf   | 140 --
 meta/lib/oe/packagegroup.py|  25 ++--
 meta/lib/oeqa/selftest/bbtests.py  |   2 +-
 ...e-image-basic.bb = core-image-full-cmdline.bb} |   2 +-
 meta/recipes-extended/images/core-image-lsb.bb |   2 +-
 .../packagegroups/packagegroup-core-basic.bb   | 138 -
 .../packagegroup-core-full-cmdline.bb  | 163 +
 .../recipes-graphics/images/core-image-directfb.bb |   2 +-
 10 files changed, 326 insertions(+), 183 deletions(-)
 rename meta/recipes-extended/images/{core-image-basic.bb = 
core-image-full-cmdline.bb} (87%)
 delete mode 100644 
meta/recipes-extended/packagegroups/packagegroup-core-basic.bb
 create mode 100644 
meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb

-- 
1.8.5.3

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/5] core-image-basic / packagegroup-core-basic: rename to *-full-cmdline

2014-03-06 Thread Paul Eggleton
This more accurately represents what this image and packagegroup are
intended to provide (a more complete command-line environment similar
to what you would find on a traditional Linux system), and avoids
confusion with the similarly named core-image-base and
packagegroup-base.

Fixes [YOCTO #2424].

Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
---
 meta/lib/oeqa/selftest/bbtests.py  |   2 +-
 ...e-image-basic.bb = core-image-full-cmdline.bb} |   2 +-
 meta/recipes-extended/images/core-image-lsb.bb |   2 +-
 .../packagegroups/packagegroup-core-basic.bb   | 138 -
 .../packagegroup-core-full-cmdline.bb  | 163 +
 .../recipes-graphics/images/core-image-directfb.bb |   2 +-
 6 files changed, 167 insertions(+), 142 deletions(-)
 rename meta/recipes-extended/images/{core-image-basic.bb = 
core-image-full-cmdline.bb} (87%)
 delete mode 100644 
meta/recipes-extended/packagegroups/packagegroup-core-basic.bb
 create mode 100644 
meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb

diff --git a/meta/lib/oeqa/selftest/bbtests.py 
b/meta/lib/oeqa/selftest/bbtests.py
index 7ca0802..ee1f82a 100644
--- a/meta/lib/oeqa/selftest/bbtests.py
+++ b/meta/lib/oeqa/selftest/bbtests.py
@@ -68,7 +68,7 @@ class BitbakeTests(oeSelfTest):
 self.assertTrue(find_task)
 
 def test_bitbake_g(self):
-result = bitbake('-g core-image-basic')
+result = bitbake('-g core-image-full-cmdline')
 self.assertTrue('NOTE: PN build list saved to \'pn-buildlist\'' in 
result.output)
 self.assertTrue('openssh' in 
ftools.read_file(os.path.join(self.builddir, 'pn-buildlist')))
 for f in ['pn-buildlist', 'pn-depends.dot', 'package-depends.dot', 
'task-depends.dot']:
diff --git a/meta/recipes-extended/images/core-image-basic.bb 
b/meta/recipes-extended/images/core-image-full-cmdline.bb
similarity index 87%
rename from meta/recipes-extended/images/core-image-basic.bb
rename to meta/recipes-extended/images/core-image-full-cmdline.bb
index d599e72..4d69073 100644
--- a/meta/recipes-extended/images/core-image-basic.bb
+++ b/meta/recipes-extended/images/core-image-full-cmdline.bb
@@ -5,7 +5,7 @@ IMAGE_FEATURES += splash ssh-server-openssh
 
 IMAGE_INSTALL = \
 packagegroup-core-boot \
-packagegroup-core-basic \
+packagegroup-core-full-cmdline \
 ${CORE_IMAGE_EXTRA_INSTALL} \
 
 
diff --git a/meta/recipes-extended/images/core-image-lsb.bb 
b/meta/recipes-extended/images/core-image-lsb.bb
index 1ef7f11..ed316a6 100644
--- a/meta/recipes-extended/images/core-image-lsb.bb
+++ b/meta/recipes-extended/images/core-image-lsb.bb
@@ -5,7 +5,7 @@ IMAGE_FEATURES += splash ssh-server-openssh hwcodecs 
package-management
 
 IMAGE_INSTALL = \
 ${CORE_IMAGE_BASE_INSTALL} \
-packagegroup-core-basic \
+packagegroup-core-full-cmdline \
 packagegroup-core-lsb \
 
 
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-basic.bb 
b/meta/recipes-extended/packagegroups/packagegroup-core-basic.bb
deleted file mode 100644
index f3b4ff7..000
--- a/meta/recipes-extended/packagegroups/packagegroup-core-basic.bb
+++ /dev/null
@@ -1,138 +0,0 @@
-#
-# Copyright (C) 2010 Intel Corporation
-#
-
-SUMMARY = Create Basic Image Tasks
-PR = r6
-LICENSE = MIT
-
-inherit packagegroup
-
-PACKAGES = \
-packagegroup-core-basic \
-packagegroup-core-basic-libs \
-packagegroup-core-basic-utils \
-packagegroup-core-basic-extended \
-packagegroup-core-dev-utils \
-packagegroup-core-multiuser \
-packagegroup-core-initscripts \
-packagegroup-core-sys-services \
-
-
-python __anonymous () {
-# For backwards compatibility after rename
-packages = d.getVar(PACKAGES, True).split()
-for pkg in packages:
-d.appendVar(RPROVIDES_%s % pkg, pkg.replace(packagegroup-core, 
task-core))
-d.appendVar(RREPLACES_%s % pkg, pkg.replace(packagegroup-core, 
task-core))
-d.appendVar(RCONFLICTS_%s % pkg, pkg.replace(packagegroup-core, 
task-core))
-}
-
-
-RDEPENDS_packagegroup-core-basic = \
-packagegroup-core-basic-libs \
-packagegroup-core-basic-utils \
-packagegroup-core-basic-extended \
-packagegroup-core-dev-utils \
-packagegroup-core-multiuser \
-packagegroup-core-initscripts \
-packagegroup-core-sys-services \
-
-
-RDEPENDS_packagegroup-core-basic-libs = \
-glib-2.0 \
-
-
-RDEPENDS_packagegroup-core-basic-utils = \
-bash \
-acl \
-attr \
-bc \
-coreutils \
-cpio \
-e2fsprogs \
-ed \
-file \
-findutils \
-gawk \
-gmp \
-grep \
-makedevs \
-mc \
-mc-fish \
-mc-helpers \
-mc-helpers-perl \
-mc-helpers-python \
-mktemp \
-ncurses \
-net-tools \
-pax \
-popt \
-procps \
-psmisc \
-sed \
-tar \
-time \
-util-linux \
-zlib \
-
-
-RDEPENDS_packagegroup-core-basic-extended = \
-

[OE-core] [PATCH 3/5] Rename PACKAGE_GROUP variable to FEATURE_PACKAGES

2014-03-06 Thread Paul Eggleton
Since tasks were renamed to packagegroups some time ago, this variable
name implies that its usage is necessarily related to them which is not
the case. Rename the variable to more closely represent what it does
(whilst still providing backwards-compatibility with a warning for
PACKAGE_GROUP).

Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
---
 meta/classes/core-image.bbclass | 26 +-
 meta/classes/image.bbclass  |  7 +--
 meta/lib/oe/packagegroup.py | 25 -
 3 files changed, 34 insertions(+), 24 deletions(-)

diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
index 0958702..7475d7d 100644
--- a/meta/classes/core-image.bbclass
+++ b/meta/classes/core-image.bbclass
@@ -32,19 +32,19 @@ LIC_FILES_CHKSUM = 
file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d
 # - doc-pkgs- documentation packages for all installed packages in 
the rootfs
 # - read-only-rootfs- tweaks an image to support read-only rootfs
 #
-PACKAGE_GROUP_x11 = packagegroup-core-x11
-PACKAGE_GROUP_x11-base = packagegroup-core-x11-base
-PACKAGE_GROUP_x11-sato = packagegroup-core-x11-sato
-PACKAGE_GROUP_tools-debug = packagegroup-core-tools-debug
-PACKAGE_GROUP_eclipse-debug = packagegroup-core-eclipse-debug
-PACKAGE_GROUP_tools-profile = packagegroup-core-tools-profile
-PACKAGE_GROUP_tools-testapps = packagegroup-core-tools-testapps
-PACKAGE_GROUP_tools-sdk = packagegroup-core-sdk 
packagegroup-core-standalone-sdk-target
-PACKAGE_GROUP_nfs-server = packagegroup-core-nfs-server
-PACKAGE_GROUP_ssh-server-dropbear = packagegroup-core-ssh-dropbear
-PACKAGE_GROUP_ssh-server-openssh = packagegroup-core-ssh-openssh
-PACKAGE_GROUP_qt4-pkgs = packagegroup-core-qt-demoapps
-PACKAGE_GROUP_hwcodecs = ${MACHINE_HWCODECS}
+FEATURE_PACKAGES_x11 = packagegroup-core-x11
+FEATURE_PACKAGES_x11-base = packagegroup-core-x11-base
+FEATURE_PACKAGES_x11-sato = packagegroup-core-x11-sato
+FEATURE_PACKAGES_tools-debug = packagegroup-core-tools-debug
+FEATURE_PACKAGES_eclipse-debug = packagegroup-core-eclipse-debug
+FEATURE_PACKAGES_tools-profile = packagegroup-core-tools-profile
+FEATURE_PACKAGES_tools-testapps = packagegroup-core-tools-testapps
+FEATURE_PACKAGES_tools-sdk = packagegroup-core-sdk 
packagegroup-core-standalone-sdk-target
+FEATURE_PACKAGES_nfs-server = packagegroup-core-nfs-server
+FEATURE_PACKAGES_ssh-server-dropbear = packagegroup-core-ssh-dropbear
+FEATURE_PACKAGES_ssh-server-openssh = packagegroup-core-ssh-openssh
+FEATURE_PACKAGES_qt4-pkgs = packagegroup-core-qt-demoapps
+FEATURE_PACKAGES_hwcodecs = ${MACHINE_HWCODECS}
 
 
 # IMAGE_FEATURES_REPLACES_foo = 'bar1 bar2'
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 7529212..51d16d7 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -32,9 +32,9 @@ FEATURE_INSTALL = ${@' 
'.join(oe.packagegroup.required_packages(oe.data.typed_v
 FEATURE_INSTALL_OPTIONAL = ${@' 
'.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', 
d), d))}
 
 # Define some very basic feature package groups
-PACKAGE_GROUP_package-management = ${ROOTFS_PKGMANAGE}
+FEATURE_PACKAGES_package-management = ${ROOTFS_PKGMANAGE}
 SPLASH ?= psplash
-PACKAGE_GROUP_splash = ${SPLASH}
+FEATURE_PACKAGES_splash = ${SPLASH}
 
 IMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs(IMAGE_FEATURES, d)}'
 
@@ -43,7 +43,10 @@ def check_image_features(d):
 valid_features += d.getVarFlags('COMPLEMENTARY_GLOB').keys()
 for var in d:
if var.startswith(PACKAGE_GROUP_):
+   bb.warn(PACKAGE_GROUP is deprecated, please use FEATURE_PACKAGES 
instead)
valid_features.append(var[14:])
+   elif var.startswith(FEATURE_PACKAGES_):
+   valid_features.append(var[17:])
 valid_features.sort()
 
 features = set(oe.data.typed_value('IMAGE_FEATURES', d))
diff --git a/meta/lib/oe/packagegroup.py b/meta/lib/oe/packagegroup.py
index b04c45a..12eb421 100644
--- a/meta/lib/oe/packagegroup.py
+++ b/meta/lib/oe/packagegroup.py
@@ -1,19 +1,26 @@
 import itertools
 
-def is_optional(group, d):
-return bool(d.getVarFlag(PACKAGE_GROUP_%s % group, optional))
+def is_optional(feature, d):
+packages = d.getVar(FEATURE_PACKAGES_%s % feature, True)
+if packages:
+return bool(d.getVarFlag(FEATURE_PACKAGES_%s % feature, optional))
+else:
+return bool(d.getVarFlag(PACKAGE_GROUP_%s % feature, optional))
 
-def packages(groups, d):
-for group in groups:
-for pkg in (d.getVar(PACKAGE_GROUP_%s % group, True) or ).split():
+def packages(features, d):
+for feature in features:
+packages = d.getVar(FEATURE_PACKAGES_%s % feature, True)
+if not packages:
+packages = d.getVar(PACKAGE_GROUP_%s % feature, True)
+for pkg in (packages or ).split():
 yield pkg
 
-def required_packages(groups, d):
-req = filter(lambda group: not is_optional(group, d), groups)
+def 

[OE-core] [PATCH 2/5] classes/image: support package-management in IMAGE_FEATURES

2014-03-06 Thread Paul Eggleton
Previously the package-management feature was only fully supported
when inheriting core-image.bbclass, which is not really ideal given that
this is the standard way of adding runtime packaging to an image in
OE-Core.

Part of the fix for [YOCTO #5424].

Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
---
 meta/classes/core-image.bbclass | 1 -
 meta/classes/image.bbclass  | 3 ++-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
index 9ccc128..0958702 100644
--- a/meta/classes/core-image.bbclass
+++ b/meta/classes/core-image.bbclass
@@ -43,7 +43,6 @@ PACKAGE_GROUP_tools-sdk = packagegroup-core-sdk 
packagegroup-core-standalone-sd
 PACKAGE_GROUP_nfs-server = packagegroup-core-nfs-server
 PACKAGE_GROUP_ssh-server-dropbear = packagegroup-core-ssh-dropbear
 PACKAGE_GROUP_ssh-server-openssh = packagegroup-core-ssh-openssh
-PACKAGE_GROUP_package-management = ${ROOTFS_PKGMANAGE}
 PACKAGE_GROUP_qt4-pkgs = packagegroup-core-qt-demoapps
 PACKAGE_GROUP_hwcodecs = ${MACHINE_HWCODECS}
 
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 64f4359..7529212 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -22,7 +22,7 @@ inherit ${TESTIMAGECLASS}
 # IMAGE_FEATURES may contain any available package group
 IMAGE_FEATURES ?= 
 IMAGE_FEATURES[type] = list
-IMAGE_FEATURES[validitems] += debug-tweaks read-only-rootfs 
package-management
+IMAGE_FEATURES[validitems] += debug-tweaks read-only-rootfs
 
 # rootfs bootstrap install
 ROOTFS_BOOTSTRAP_INSTALL = ${@base_contains(IMAGE_FEATURES, 
package-management, , ${ROOTFS_PKGMANAGE_BOOTSTRAP},d)}
@@ -32,6 +32,7 @@ FEATURE_INSTALL = ${@' 
'.join(oe.packagegroup.required_packages(oe.data.typed_v
 FEATURE_INSTALL_OPTIONAL = ${@' 
'.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', 
d), d))}
 
 # Define some very basic feature package groups
+PACKAGE_GROUP_package-management = ${ROOTFS_PKGMANAGE}
 SPLASH ?= psplash
 PACKAGE_GROUP_splash = ${SPLASH}
 
-- 
1.8.5.3

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 4/5] documentation.conf: drop obsolete variables

2014-03-06 Thread Paul Eggleton
These haven't been used for some time (and DESTDIR was never a BitBake
variable at all).

Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
---
 meta/conf/documentation.conf | 7 ---
 1 file changed, 7 deletions(-)

diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf
index 617fd2a..e709c68 100644
--- a/meta/conf/documentation.conf
+++ b/meta/conf/documentation.conf
@@ -115,7 +115,6 @@ DEBUG_OPTIMIZATION[doc] = The options to pass in 
TARGET_CFLAGS and CFLAGS when
 DEFAULT_PREFERENCE[doc] = Specifies a weak bias for recipe selection 
priority.
 DEPENDS[doc] = Lists a recipe's build-time dependencies (i.e. other recipe 
files).
 DESCRIPTION[doc] = The package description used by package managers. If not 
set, DESCRIPTION takes the value of the SUMMARY variable.
-DESTDIR[doc] = The destination directory.
 DISTRO[doc] = The short name of the distribution. If the variable is blank, 
meta/conf/distro/defaultsetup.conf will be used.
 DISTRO_EXTRA_RDEPENDS[doc] = Specifies a list of distro-specific packages to 
add to all images. The variable only applies to the images that include 
packagegroup-base.
 DISTRO_EXTRA_RRECOMMENDS[doc] = Specifies a list of distro-specific packages 
to add to all images if the packages exist. The list of packages are 
automatically installed but you can remove them.
@@ -150,17 +149,12 @@ FULL_OPTIMIZATION[doc]= The options to pass in 
TARGET_CFLAGS and CFLAGS when co
 #G
 
 GITDIR[doc] = The directory where Git clones will be stored.
-GROUP_dependencies[doc] = The keys in this group influence the dependency 
handling of BitBake and the resulting packages.
-GROUP_fetcher[doc] = This key highly influences the fetcher implementations.
-GROUP_locale[doc] = Locale generation of the GNU libc implementation.
-GROUP_packaging[doc] = The keys in this group influence the package building 
process. Specifically, they influence what packages will be generated and what 
files will be present in the generated packages.
 
 #H
 
 HOMEPAGE[doc] = Website where more information about the software the recipe 
is building can be found.
 HOST_ARCH[doc] = The name of the target architecture. Normally same as the 
TARGET_ARCH.
 HOST_CC_ARCH[doc] = The name of the host architecture. Normally same as the 
TARGET_CC_ARCH.
-HOST_NONSYSV[doc] = Set to '1' if the host system is not SysV compatible 
(e.g. fakeroot-native will be build with tcp as IPC implementation).
 HOST_OS[doc] = The name of the target operating system. Normally the same as 
the TARGET_OS.
 HOST_PREFIX[doc] = The prefix for the cross compile toolchain. Normally same 
as the TARGET_PREFIX.
 HOST_SYS[doc] = Specifies the system, including the architecture and the 
operating system, for with the build is occurring in the context of the current 
recipe.
@@ -251,7 +245,6 @@ PACKAGE_INSTALL_ATTEMPTONLY[doc] = List of packages 
attempted to be installed.
 PACKAGECONFIG[doc] = This variable provides a means of enabling or disabling 
features of a recipe on a per-recipe basis.
 PACKAGES[doc] = The list of packages to be created from the recipe.
 PACKAGES_DYNAMIC[doc] = A promise that your recipe satisfies runtime 
dependencies for optional modules that are found in other recipes.
-PALMTOP_USE_MULTITHREADED_QT[doc] = Set to 'yes', if you want to build QT 
applications with CONFIG+=thread.
 PARALLEL_MAKE[doc] = Specifies extra options that are passed to the make 
command during the compile tasks. This variable is usually in the form -j 4, 
where the number represents the maximum number of parallel threads make can 
run.
 PATCHRESOLVE[doc] = Enable or disable interactive patch resolution.
 PE[doc] = The epoch of the recipe. The default value is '0'. The field is 
used to make upgrades possible when the versioning scheme changes in some 
backwards incompatible way.
-- 
1.8.5.3

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 5/5] documentation.conf: sync with the Yocto Project reference manual

2014-03-06 Thread Paul Eggleton
From: Belen Barros Pena belen.barros.p...@intel.com

Make sure variables listed in the Glossary section of the reference
manual are listed here. There are still some listed here that aren't in
the manual; this should be fixed in the manual.

Signed-off-by: Belen Barros Pena belen.barros.p...@intel.com
Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com
---
 meta/conf/documentation.conf | 133 ---
 1 file changed, 124 insertions(+), 9 deletions(-)

diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf
index e709c68..53c3da2 100644
--- a/meta/conf/documentation.conf
+++ b/meta/conf/documentation.conf
@@ -62,9 +62,14 @@ do_vmdkimg[doc] = Creates a .vmdk image for use with VMware 
and compatible virt
 #A
 
 ALLOW_EMPTY[doc] = Specifies if an output package should still be produced if 
it is empty.
+ALTERNATIVE[doc] = Lists commands in a package that need an alternative 
binary naming scheme.
+ALTERNATIVE_LINK_NAME[doc] = Used by the alternatives system to map 
duplicated commands to actual locations.
+ALTERNATIVE_PRIORITY[doc] = Used by the alternatives system to create default 
priorities for duplicated commands.
+ALTERNATIVE_TARGET[doc] = Used by the alternatives system to create default 
link locations for duplicated commands.
 ASSUME_PROVIDED[doc] = List of packages (recipes actually) that are assumed 
to be implicitly available. BitBake does not build these packages.
 ASSUME_SHLIBS[doc] = List of shlib:package[_version] mappings. Useful for lib 
packages in ASSUME_PROVIDED, for which automatic shlib dependency tracking does 
not work.
 AUTHOR[doc] = Email address used to contact the original author(s) in order 
to send patches and forward bugs.
+AUTO_SYSLINUXMENU[doc] = Enables creating an automatic menu for the syslinux 
bootloader.
 AUTOREV[doc] = When SRCREV is set to the value of this variable, it specifies 
to use the latest source revision in the repository.
 
 #B
@@ -74,35 +79,46 @@ BAD_RECOMMENDATIONS[doc] = A list of packages not to 
install despite being reco
 BB_DANGLINGAPPENDS_WARNONLY[doc] = Defines how BitBake handles situations 
where an append file (.bbappend) has no corresponding recipe file (.bb).
 BB_DISKMON_DIRS[doc] = Monitors disk space and available inodes during the 
build and allows you to control the build based on these parameters.
 BB_DISKMON_WARNINTERVAL[doc] = Defines the disk space and free inode warning 
intervals. To set these intervals, define the variable in the conf/local.conf 
file in the Build Directory.
-BBCLASSEXTEND[doc] = Allows you to extend a recipe so that it builds variants 
of the software. Common variants for recipes are 'natives', 'crosses', 
'nativesdk' and 'multilibs'.
-BBMASK[doc] = Prevents BitBake from processing recipes and recipe append 
files. Use the BBMASK variable from within the conf/local.conf file in the 
Build Directory.
+BB_GENERATE_MIRROR_TARBALLS[doc] = Causes tarballs of the Git repositories to 
be placed in the DL_DIR directory.
 BB_NUMBER_THREADS[doc] = The maximum number of tasks BitBake should run in 
parallel at any one time. A good rule of thumb is to set this variable to twice 
the number of cores.
+BBCLASSEXTEND[doc] = Allows you to extend a recipe so that it builds variants 
of the software. Common variants for recipes are 'native', 'cross', 'nativesdk' 
and multilibs.
 BBFILE_COLLECTIONS[doc] = Lists the names of configured layers. These names 
are used to find the other BBFILE_* variables.
 BBFILE_PATTERN[doc] = Variable that expands to match files from BBFILES in a 
particular layer. This variable is used in the layer.conf file and must be 
suffixed with the name of a layer.
 BBFILE_PRIORITY[doc] = Assigns the priority for recipe files in each layer. 
Setting this variable allows you to prioritize a layer against other layers 
that contain the same recipe.
 BBFILES[doc] = List of recipe files used by BitBake to build software.
-BBPATH[doc] = Used by BitBake to locate .bbclass and configuration files. 
This variable is analogous to the PATH variable.
 BBINCLUDELOGS[doc] = Variable that controls how BitBake displays logs on 
build failure.
 BBINCLUDELOGS_LINES[doc] = Amount of log lines printed on failure.
 BBLAYERS[doc] = Lists the layers to enable during the build. This variable is 
defined in the bblayers.conf configuration file.
 BBLAYERS_NON_REMOVABLE[doc] = Lists core layers that cannot be removed from 
the bblayers.conf file.
+BBMASK[doc] = Prevents BitBake from processing specific recipes or recipe 
append files. Use the BBMASK variable from within conf/local.conf.
+BBPATH[doc] = Used by BitBake to locate .bbclass and configuration files. 
This variable is analogous to the PATH variable.
+BBSERVER[doc] = Points to the server that runs memory-resident BitBake.
+BINCONFIG_GLOB[doc] = When inheriting binconfig.bbclass from a recipe, this 
variable specifies a wildcard for configuration scripts that need editing.
 BP[doc] = The base recipe name and version but 

[OE-core] [PATCH 3/6] lttng-ust: Add version 2.4.0

2014-03-06 Thread Tom Zanussi
From: Tom Zanussi tom.zanu...@intel.com

This updates lttng-ust to 2.4.0, codenamed Époque Opaque, needed
for interoperability with lttng-modules and the 3.14 (dev) kernel.

Signed-off-by: Tom Zanussi tom.zanu...@intel.com
---
 meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb | 31 
 1 file changed, 31 insertions(+)
 create mode 100644 meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb

diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb 
b/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb
new file mode 100644
index 000..9f806c1
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = Linux Trace Toolkit Userspace Tracer 2.x
+DESCRIPTION = The LTTng UST 2.x package contains the userspace tracer library 
to trace userspace codes.
+HOMEPAGE = http://lttng.org/ust;
+BUGTRACKER = https://bugs.lttng.org/projects/lttng-ust;
+
+LICENSE = LGPLv2.1+  BSD  GPLv2
+LIC_FILES_CHKSUM = file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \
+
file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \
+
file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44
+
+inherit autotools lib_package
+
+DEPENDS = liburcu util-linux
+
+# For backwards compatibility after rename
+RPROVIDES_${PN} = lttng2-ust
+RREPLACES_${PN} = lttng2-ust
+RCONFLICTS_${PN} = lttng2-ust
+
+SRCREV = 5ba5bf7fba804d2de773ae1c71106a8ed856c56a
+PV = 2.4.0
+PE = 2
+
+SRC_URI = git://git.lttng.org/lttng-ust.git;branch=stable-2.4 \
+  
+
+S = ${WORKDIR}/git
+
+do_configure_prepend () {
+   ( cd ${S}; ${S}/bootstrap )
+}
-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 5/6] lttng-modules: Fix 3.14 bio tracepoints

2014-03-06 Thread Tom Zanussi
From: Tom Zanussi tom.zanu...@intel.com

The mainline 3.14 commit 'block: Astract out bvec iterator' broke the
lttng-modules tracepoints.  Fix them here.

Signed-off-by: Tom Zanussi tom.zanu...@intel.com
---
 .../lttng/lttng-modules/bio-bvec-iter.patch| 156 +
 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb   |   3 +-
 2 files changed, 158 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch

diff --git a/meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch 
b/meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch
new file mode 100644
index 000..d6c66e4
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch
@@ -0,0 +1,156 @@
+Upstream-Status: Pending
+
+In 3.14, bi_sector and bi_size were moved into an iterator, thus
+breaking any tracepoints that still expect them in the bio.  Fix up
+the lttng-module tracepoints to use the new scheme when the kernel
+version is = 3.14.
+
+Signed-off-by: Tom Zanussi tom.zanu...@intel.com
+
+diff --git a/instrumentation/events/lttng-module/block.h 
b/instrumentation/events/lttng-module/block.h
+index f3b8bff..0a61543 100644
+--- a/instrumentation/events/lttng-module/block.h
 b/instrumentation/events/lttng-module/block.h
+@@ -341,9 +341,15 @@ TRACE_EVENT(block_bio_bounce,
+   TP_fast_assign(
+   tp_assign(dev, bio-bi_bdev ?
+ bio-bi_bdev-bd_dev : 0)
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  tp_assign(sector, bio-bi_iter.bi_sector)
++  tp_assign(nr_sector, bio-bi_iter.bi_size  9)
++  blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_assign(sector, bio-bi_sector)
+   tp_assign(nr_sector, bio-bi_size  9)
+   blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_memcpy(comm, current-comm, TASK_COMM_LEN)
+   ),
+ 
+@@ -385,14 +391,24 @@ TRACE_EVENT(block_bio_complete,
+ 
+   TP_fast_assign(
+   tp_assign(dev, bio-bi_bdev-bd_dev)
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  tp_assign(sector, bio-bi_iter.bi_sector)
++  tp_assign(nr_sector, bio-bi_iter.bi_size  9)
++#else /* #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_assign(sector, bio-bi_sector)
+   tp_assign(nr_sector, bio-bi_size  9)
++#endif /* #else #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
++
+ #if (LINUX_VERSION_CODE = KERNEL_VERSION(2,6,38))
+   tp_assign(error, error)
+ #else
+   tp_assign(error, 0)
+ #endif
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   ),
+ 
+   TP_printk(%d,%d %s %llu + %u [%d],
+@@ -419,9 +435,15 @@ DECLARE_EVENT_CLASS(block_bio_merge,
+ 
+   TP_fast_assign(
+   tp_assign(dev, bio-bi_bdev-bd_dev)
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  tp_assign(sector, bio-bi_iter.bi_sector)
++  tp_assign(nr_sector, bio-bi_iter.bi_size  9)
++  blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_assign(sector, bio-bi_sector)
+   tp_assign(nr_sector, bio-bi_size  9)
+   blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_memcpy(comm, current-comm, TASK_COMM_LEN)
+   ),
+ 
+@@ -485,9 +507,15 @@ TRACE_EVENT(block_bio_queue,
+ 
+   TP_fast_assign(
+   tp_assign(dev, bio-bi_bdev-bd_dev)
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  tp_assign(sector, bio-bi_iter.bi_sector)
++  tp_assign(nr_sector, bio-bi_iter.bi_size  9)
++  blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_assign(sector, bio-bi_sector)
+   tp_assign(nr_sector, bio-bi_size  9)
+   blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_memcpy(comm, current-comm, TASK_COMM_LEN)
+   ),
+ 
+@@ -513,9 +541,15 @@ DECLARE_EVENT_CLASS(block_bio,
+ 
+   TP_fast_assign(
+   tp_assign(dev, bio-bi_bdev ? bio-bi_bdev-bd_dev : 0)
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  tp_assign(sector, bio-bi_iter.bi_sector)
++  tp_assign(nr_sector, bio-bi_iter.bi_size  9)
++  

[OE-core] [PATCH 0/6] lttng update (add 2.4.0)

2014-03-06 Thread Tom Zanussi
This adds lttng 2.4.0, which addresses build failures with
linux-yocto-dev, but still works with 3.10.

Tested with qemux86 and both linux-yocto and linux-yocto-dev.

Note that this disables lttng for arm, due to a problem with
lttng-modules and gcc-4.8.x (this is also a problem for lttng 2.3.x).

The following changes since commit f03955041d0e44d377ca1c4def630982f24f1e8b:

  Revert ncurses: use ln -r to generate relative symlink (2014-03-03 15:55:27 
+)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib.git tzanussi/lttng-2.4.0-update
  
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/lttng-2.4.0-update

Tom Zanussi (6):
  lttng-modules: Add version 2.4.0
  lttng-tools: Add version 2.4.0
  lttng-ust: Add version 2.4.0
  lttng-modules: Exclude arm
  lttng-modules: Fix 3.14 bio tracepoints
  lttng-ust: Disable doc/examples in the build

 .../packagegroup-core-tools-profile.bb |   4 +
 .../lttng/lttng-modules/bio-bvec-iter.patch| 156 +
 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb   |  39 ++
 .../lttng/lttng-tools/runtest-2.4.0.patch  |  27 
 meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb |  59 
 .../lttng-ust/lttng-ust-doc-examples-disable.patch |  18 +++
 meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb   |  32 +
 7 files changed, 335 insertions(+)
 create mode 100644 meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch
 create mode 100644 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools/runtest-2.4.0.patch
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb
 create mode 100644 
meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
 create mode 100644 meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb

-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 4/6] lttng-modules: Exclude arm

2014-03-06 Thread Tom Zanussi
From: Tom Zanussi tom.zanu...@intel.com

lttng-modules and gcc-4.8 don't mix, according to the lttng ML
'current_thread_info() not respecting program order with gcc 4.8.x',
so remove it from arm builds.

Without lttng-modules, lttng-tools etc don't make sense either so
exclude them as well.

Signed-off-by: Tom Zanussi tom.zanu...@intel.com
---
 meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb | 4 
 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb   | 4 
 2 files changed, 8 insertions(+)

diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb 
b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index 4a97c24..8771dbe 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -52,15 +52,19 @@ SYSTEMTAP_aarch64 = 
 LTTNGUST = lttng-ust
 LTTNGUST_libc-uclibc = 
 LTTNGUST_aarch64 = 
+LTTNGUST_arm = 
 
 LTTNGTOOLS = lttng-tools
 LTTNGTOOLS_aarch64 = 
+LTTNGTOOLS_arm = 
 
 LTTNGMODULES = lttng-modules
 LTTNGMODULES_aarch64 = 
+LTTNGMODULES_arm = 
 
 BABELTRACE = babeltrace
 BABELTRACE_aarch64 = 
+BABELTRACE_arm = 
 
 # valgrind does not work on mips
 
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb 
b/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
index 0b7d5e8..79d9382 100644
--- a/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
@@ -13,6 +13,9 @@ inherit module
 SRCREV = fb2c37799306d16fb590aebee6fad8be431264b7
 PV = 2.4.0
 
+# lttng currently blacklists arm with gcc-4.8
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips).*-linux'
+
 SRC_URI = git://git.lttng.org/lttng-modules.git;branch=stable-2.4 \
file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch
 
@@ -20,6 +23,7 @@ export INSTALL_MOD_DIR=kernel/lttng-modules
 export KERNEL_SRC=${STAGING_KERNEL_DIR}
 
 
+
 S = ${WORKDIR}/git
 
 do_install_append() {
-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 6/6] lttng-ust: Disable doc/examples in the build

2014-03-06 Thread Tom Zanussi
Don't build the doc examples - we don't need them and in fact they
never successfully built in previous iterations of the lttng-ust
recipe anyway.

Signed-off-by: Tom Zanussi tom.zanu...@linux.intel.com
---
 .../lttng-ust/lttng-ust-doc-examples-disable.patch | 18 ++
 meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb   |  1 +
 2 files changed, 19 insertions(+)
 create mode 100644 
meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch

diff --git 
a/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch 
b/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
new file mode 100644
index 000..b68a989
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
@@ -0,0 +1,18 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+Don't build the doc examples - we don't need them and in fact they
+never successfully built in previous iterations of the lttng-ust
+recipe anyway.
+
+Signed-off-by: Tom Zanussi tom.zanu...@intel.com
+
+Index: doc/Makefile.am
+===
+--- a/doc/Makefile.am
 b/doc/Makefile.am
+@@ -1,4 +1,4 @@
+-SUBDIRS = . examples
++SUBDIRS = .
+ 
+ dist_man_MANS = man/lttng-gen-tp.1 \
+   man/lttng-ust.3 \
diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb 
b/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb
index 9f806c1..1629554 100644
--- a/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb
+++ b/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb
@@ -22,6 +22,7 @@ PV = 2.4.0
 PE = 2
 
 SRC_URI = git://git.lttng.org/lttng-ust.git;branch=stable-2.4 \
+   file://lttng-ust-doc-examples-disable.patch \
   
 
 S = ${WORKDIR}/git
-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/6] lttng-modules: Add version 2.4.0

2014-03-06 Thread Tom Zanussi
From: Tom Zanussi tom.zanu...@intel.com

This updates lttng-modules to 2.4.0, codenamed Époque Opaque, needed
for interoperability with the 3.14 (dev) kernel.

Signed-off-by: Tom Zanussi tom.zanu...@intel.com
---
 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb | 34 
 1 file changed, 34 insertions(+)
 create mode 100644 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb

diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb 
b/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
new file mode 100644
index 000..0b7d5e8
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
@@ -0,0 +1,34 @@
+SECTION = devel
+SUMMARY = Linux Trace Toolkit KERNEL MODULE
+DESCRIPTION = The lttng-modules 2.0 package contains the kernel tracer 
modules
+LICENSE = LGPLv2.1  GPLv2
+LIC_FILES_CHKSUM = file://LICENSE;md5=1412caf5a1aa90d6a48588a4794c0eac \
+file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \
+file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad
+
+DEPENDS = virtual/kernel
+
+inherit module
+
+SRCREV = fb2c37799306d16fb590aebee6fad8be431264b7
+PV = 2.4.0
+
+SRC_URI = git://git.lttng.org/lttng-modules.git;branch=stable-2.4 \
+   file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch
+
+export INSTALL_MOD_DIR=kernel/lttng-modules
+export KERNEL_SRC=${STAGING_KERNEL_DIR}
+
+
+S = ${WORKDIR}/git
+
+do_install_append() {
+   # Delete empty directories to avoid QA failures if no modules were built
+   find ${D}/lib -depth -type d -empty -exec rmdir {} \;
+}
+
+python do_package_prepend() {
+if not os.path.exists(os.path.join(d.getVar('D', True), 'lib/modules')):
+bb.warn(%s: no modules were created; this may be due to 
CONFIG_TRACEPOINTS not being enabled in your kernel. % d.getVar('PN', True))
+}
+
-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/6] lttng-tools: Add version 2.4.0

2014-03-06 Thread Tom Zanussi
From: Tom Zanussi tom.zanu...@intel.com

This updates lttng-tools to 2.4.0, codenamed Époque Opaque, needed
for interoperability with lttng-modules and the 3.14 (dev) kernel.

Signed-off-by: Tom Zanussi tom.zanu...@intel.com
---
 .../lttng/lttng-tools/runtest-2.4.0.patch  | 27 ++
 meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb | 59 ++
 2 files changed, 86 insertions(+)
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools/runtest-2.4.0.patch
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb

diff --git a/meta/recipes-kernel/lttng/lttng-tools/runtest-2.4.0.patch 
b/meta/recipes-kernel/lttng/lttng-tools/runtest-2.4.0.patch
new file mode 100644
index 000..958bce4
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools/runtest-2.4.0.patch
@@ -0,0 +1,27 @@
+diff --git a/Makefile.am b/Makefile.am
+index 584f59b..c2bcabd 100644
+--- a/Makefile.am
 b/Makefile.am
+@@ -12,3 +12,9 @@ dist_doc_DATA = LICENSE \
+ dist_noinst_DATA = CodingStyle
+ 
+ EXTRA_DIST = extras/lttng-bash_completion gpl-2.0.txt lgpl-2.1.txt
++
++install-ptest:
++  cp -r $(srcdir)/tests $(DESTDIR)
++  for m in $$(find $(DESTDIR)/tests -name Makefile); do \
++  sed -i -e 's|^Makefile:|_Makefile:|' $$m; \
++done
+diff --git a/tests/run.sh b/tests/run.sh
+index c6c50fd..6455359 100755
+--- a/tests/run.sh
 b/tests/run.sh
+@@ -19,4 +19,7 @@
+ 
+ [ -z $1 ]  echo Error: No testlist. Please specify a testlist to run. 
 exit 1
+ 
+-prove --merge --exec '' -  $1
++prove --merge -v --exec '' -  $1 | sed \
++  -e 's|^ok \(.*\)|PASS: \1|' \
++  -e 's|^not ok \(.*\)|FAIL: \1|' \
++  | egrep -h 'PASS|FAIL'
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb 
b/meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb
new file mode 100644
index 000..223b52e
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb
@@ -0,0 +1,59 @@
+SECTION = devel
+SUMMARY = Linux Trace Toolkit Control
+DESCRIPTION = The Linux trace toolkit is a suite of tools designed \
+to extract program execution details from the Linux operating system \
+and interpret them.
+
+LICENSE = GPLv2  LGPLv2.1
+LIC_FILES_CHKSUM = file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \
+file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+file://lgpl-2.1.txt;md5=0f0d71500e6a57fd24d825f33242b9ca
+
+DEPENDS = liburcu popt lttng-ust
+RDEPENDS_${PN}-ptest += make
+
+SRCREV = 8e3234eea2d81f8a962214c570532f8e096a9a8d
+PV = v2.4.0
+
+SRC_URI = git://git.lttng.org/lttng-tools.git;branch=stable-2.4 \
+   file://runtest-2.4.0.patch \
+   file://run-ptest \
+ 
+
+S = ${WORKDIR}/git
+
+inherit autotools-brokensep ptest
+
+export KERNELDIR=${STAGING_KERNEL_DIR}
+
+FILES_${PN} += ${libdir}/lttng/libexec/*
+FILES_${PN}-dbg += ${libdir}/lttng/libexec/.debug
+
+# Since files are installed into ${libdir}/lttng/libexec we match 
+# the libexec insane test so skip it.
+INSANE_SKIP_${PN} = libexec
+INSANE_SKIP_${PN}-dbg = libexec
+
+
+do_install_ptest () {
+   chmod +x ${D}/${libdir}/${PN}/ptest/tests/utils/utils.sh
+   for i in `find ${D}/${libdir}/${PN}/ptest -perm /u+x -type f`; do
+   sed -e s:\$TESTDIR.*/src/bin/lttng/\$LTTNG_BIN:\$LTTNG_BIN:g \
+ -e 
s:\$TESTDIR/../src/bin/lttng-sessiond/\$SESSIOND_BIN:\$SESSIOND_BIN:g \
+ -e 
s:\$DIR/../src/bin/lttng-sessiond/\$SESSIOND_BIN:\$SESSIOND_BIN:g \
+ -e 
s:\$TESTDIR/../src/bin/lttng-consumerd/:${libdir}/lttng/libexec/:g \
+ -e 
s:\$DIR/../src/bin/lttng-consumerd/:${libdir}/lttng/libexec/:g \
+ -e 
s:\$TESTDIR/../src/bin/lttng-relayd/\$RELAYD_BIN:\$RELAYD_BIN:g \
+ -e 
s:\$DIR/../src/bin/lttng-sessiond/lttng-sessiond:\$SESSIOND_BIN:g \
+ -e 
s:\$DIR/../src/bin/lttng-relayd/\$RELAYD_BIN:\$RELAYD_BIN:g \
+ -e s:\$DIR/../bin/lttng-relayd/\$RELAYD_BIN:\$RELAYD_BIN:g \
+ -i $i
+   done
+
+   sed -e s:src/bin/lttng-sessiond:$bindir:g \
+   -e s:src/bin/lttng-consumerd:${libexecdir}/libexec/:g \
+   -i ${D}/${libdir}/${PN}/ptest/tests/regression/run-report.py
+   sed -e s:src/bin:bin:g \
+   -i ${D}/${libdir}/${PN}/ptest/tests/utils/utils.sh
+
+}
-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] Signed-off-by: Andrey Belous abel...@broadcom.com

2014-03-06 Thread Nicolas Dechesne
Hi,

On Wed, Mar 5, 2014 at 7:11 AM, Andrey Belous abel...@broadcom.com wrote:
 Yes I overwriting more  , but other variable already with ?= and allow to 
 override them

I think I am okay with the patch proposed here. i don't see why the
late assignment is missing just for this specific variable while it's
used for every other variables and in the eglibc include file we
already use the ?= for virtual/libc.

as far as I am concerned, assuming the commit log gets rewritten
properly, you can add:

Signed-off-by: Nicolas Dechesne nicolas.deche...@linaro.org

cheers,

nico
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 4/6] lttng-modules: Exclude arm

2014-03-06 Thread Phil Blundell
On Thu, 2014-03-06 at 11:09 -0600, Tom Zanussi wrote:
 Without lttng-modules, lttng-tools etc don't make sense either so
 exclude them as well.

This isn't entirely true; one can quite happily use the ust tracers
without the modules.  I've no idea why ust is disabled on aarch64
either.

p.


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 4/6] lttng-modules: Exclude arm

2014-03-06 Thread Phil Blundell
On Thu, 2014-03-06 at 11:09 -0600, Tom Zanussi wrote:
 +# lttng currently blacklists arm with gcc-4.8
 +COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips).*-linux'

If the issue at hand here is GCC PR 58854 (which the lttng mailing list
thread seems to suggest it is), can't we just apply the patch for it
rather than disabling lttng-modules altogether?

p.


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] kernel-yocto: fix diffconfig/kernel_configme breakage

2014-03-06 Thread Christopher Larson
The bbclass did the following:

do_diffconfig[depends] += virtual/kernel:do_kernel_configme

This clearly introduces a cross-kernel task dependency if the recipe
inheriting this class isn't the preferred provider of virtual/kernel, which is
obviously wrong, but further, will break the build if a kernel-yocto based
kernel is parsed and not skipped, but virtual/kernel refers to
a non-kernel-yocto recipe, which would not have the do_kernel_configme task.

Work around this by adding the in-recipe task dep programmatically with
bb.build.addtask when do_diffconfig exists.

Signed-off-by: Christopher Larson kerg...@gmail.com
---
 meta/classes/kernel-yocto.bbclass | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/meta/classes/kernel-yocto.bbclass 
b/meta/classes/kernel-yocto.bbclass
index fb8e04e..ef9b9d1 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -263,6 +263,8 @@ do_kernel_configme() {
echo CONFIG_LOCALVERSION=\${LINUX_VERSION_EXTENSION}\  
${B}/.config
 }
 
+addtask kernel_configme after do_patch
+
 python do_kernel_configcheck() {
 import re, string, sys
 
@@ -407,4 +409,8 @@ OE_TERMINAL_EXPORTS += GUILT_BASE KBUILD_OUTPUT
 GUILT_BASE = meta
 KBUILD_OUTPUT = ${B}
 
-do_diffconfig[depends] += virtual/kernel:do_kernel_configme
+python () {
+# If diffconfig is available, ensure it runs after kernel_configme
+if 'do_diffconfig' in d:
+bb.build.addtask('do_diffconfig', None, 'do_kernel_configme', d)
+}
-- 
1.8.3.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/3] bootimg/grub-efi.bbclass: allow using a different class for EFI images

2014-03-06 Thread Stefan Stanacar
Abstract away some names so one can select using EFI_PROVIDER a different
class than grub-efi for populating live images, basically allowing the use
of a different bootloader than grub-efi.

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 meta/classes/boot-directdisk.bbclass | 7 ---
 meta/classes/bootimg.bbclass | 9 +
 meta/classes/grub-efi.bbclass| 6 ++
 3 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/meta/classes/boot-directdisk.bbclass 
b/meta/classes/boot-directdisk.bbclass
index 42b3415..c35b4bb 100644
--- a/meta/classes/boot-directdisk.bbclass
+++ b/meta/classes/boot-directdisk.bbclass
@@ -32,7 +32,8 @@ BOOTDD_VOLUME_ID   ?= boot
 BOOTDD_EXTRA_SPACE ?= 16384
 
 EFI = ${@base_contains(MACHINE_FEATURES, efi, 1, 0, d)}
-EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, grub-efi, , d)}
+EFI_PROVIDER ?= grub-efi
+EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, ${EFI_PROVIDER}, 
, d)}
 
 # Include legacy boot if MACHINE_FEATURES includes pcbios or if it does not
 # contain efi. This way legacy is supported by default if neither is
@@ -87,7 +88,7 @@ build_boot_dd() {
syslinux_hddimg_populate $HDDDIR
fi
if [ ${EFI} = 1 ]; then
-   grubefi_hddimg_populate $HDDDIR
+   ${EFICLASS_FUNC_PREFIX}_hddimg_populate $HDDDIR
fi
 
if [ ${IS_VMDK} = true ]; then
@@ -154,7 +155,7 @@ python do_bootdirectdisk() {
 if d.getVar(PCBIOS, True) == 1:
 bb.build.exec_func('build_syslinux_cfg', d)
 if d.getVar(EFI, True) == 1:
-bb.build.exec_func('build_grub_cfg', d)
+bb.build.exec_func('build_efi_cfg', d)
 bb.build.exec_func('build_boot_dd', d)
 }
 
diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
index c370bd6..f8cfd37 100644
--- a/meta/classes/bootimg.bbclass
+++ b/meta/classes/bootimg.bbclass
@@ -42,7 +42,8 @@ BOOTIMG_VOLUME_ID   ?= boot
 BOOTIMG_EXTRA_SPACE ?= 512
 
 EFI = ${@base_contains(MACHINE_FEATURES, efi, 1, 0, d)}
-EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, grub-efi, , d)}
+EFI_PROVIDER ?= grub-efi
+EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, ${EFI_PROVIDER}, 
, d)}
 
 # Include legacy boot if MACHINE_FEATURES includes pcbios or if it does not
 # contain efi. This way legacy is supported by default if neither is
@@ -89,7 +90,7 @@ build_iso() {
syslinux_iso_populate ${ISODIR}
fi
if [ ${EFI} = 1 ]; then
-   grubefi_iso_populate ${ISODIR}
+   ${EFICLASS_FUNC_PREFIX}_iso_populate ${ISODIR}
build_fat_img ${EFIIMGDIR} ${ISODIR}/efi.img
fi
 
@@ -206,7 +207,7 @@ build_hddimg() {
syslinux_hddimg_populate ${HDDDIR}
fi
if [ ${EFI} = 1 ]; then
-   grubefi_hddimg_populate ${HDDDIR}
+   ${EFICLASS_FUNC_PREFIX}_hddimg_populate ${HDDDIR}
fi
 
build_fat_img ${HDDDIR} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
@@ -227,7 +228,7 @@ python do_bootimg() {
 if d.getVar(PCBIOS, True) == 1:
 bb.build.exec_func('build_syslinux_cfg', d)
 if d.getVar(EFI, True) == 1:
-bb.build.exec_func('build_grub_cfg', d)
+bb.build.exec_func('build_efi_cfg', d)
 bb.build.exec_func('build_hddimg', d)
 bb.build.exec_func('build_iso', d)
 }
diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass
index 71bd00f..f7fe8d8 100644
--- a/meta/classes/grub-efi.bbclass
+++ b/meta/classes/grub-efi.bbclass
@@ -15,6 +15,8 @@
 # ${GRUB_OPTS} - additional options to add to the config, ';' delimited # 
(optional)
 # ${GRUB_TIMEOUT} - timeout before executing the deault label (optional)
 
+EFICLASS_FUNC_PREFIX = grubefi
+
 do_bootimg[depends] += grub-efi:do_deploy
 do_bootdirectdisk[depends] += grub-efi:do_deploy
 
@@ -139,3 +141,7 @@ python build_grub_cfg() {
 
 cfgfile.close()
 }
+
+python build_efi_cfg() {
+bb.build.exec_func(build_grub_cfg, d)
+}
-- 
1.8.5.3

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/3] Add gummiboot boot manager alongside grub-efi

2014-03-06 Thread Stefan Stanacar
Hello,

This series adds recipes for gummiboot and a class allowing it to be used
as the boot loader for live/hddimg images.
Without changing EFI_PROVIDER, we have the same behaviour for EFI machines.
Using EFI_PROVIDER = gummiboot an installed image will use gummiboot instead
of grub-efi as it's boot manager.

I've tested this on FRI2, NUC and minnow (live USB boot and install from USB 
and boot) 
with  EFI_PROVIDER = gummiboot and  KERNEL_FEATURES_append =  cfg/efi-ext
in local.conf

This is a partial fix for YB#4082.

Cheers,
Stefan

The following changes since commit a01af0202558e6ed9d16590b3a8d1dd1b95c0374:

  recipes: bump PRs (2014-03-05 17:36:37 +)

are available in the git repository at:

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

Stefan Stanacar (3):
  recipes-bsp: Add gummiboot and gnu-efi recipes
  bootimg/grub-efi.bbclass: allow using a different class for EFI images
  classes: Add gummiboot class

 meta/classes/boot-directdisk.bbclass   |   7 +-
 meta/classes/bootimg.bbclass   |   9 +-
 meta/classes/grub-efi.bbclass  |   6 ++
 meta/classes/gummiboot.bbclass | 112 +
 .../gnu-efi/gnu-efi/parallel-make-archives.patch   |  48 +
 .../gnu-efi/gnu-efi/parallel-make.patch|  22 
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb   |  33 ++
 meta/recipes-bsp/gummiboot/gummiboot_git.bb|  25 +
 .../initrdscripts/files/init-install-efi.sh|  51 +++---
 9 files changed, 290 insertions(+), 23 deletions(-)
 create mode 100644 meta/classes/gummiboot.bbclass
 create mode 100644 
meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
 create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
 create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
 create mode 100644 meta/recipes-bsp/gummiboot/gummiboot_git.bb

-- 
1.8.5.3

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/3] classes: Add gummiboot class

2014-03-06 Thread Stefan Stanacar
Adds a gummiboot class similar to grub-efi class and makes the necessary
changes so it can be used for live/hddimg images as well.

One can set EFI_PROVIDER = gummiboot in local.conf to use gummiboot instead 
of grub-efi.
Gummiboot requires some kernel options that are not enabled by default, so one 
has to build
with KERNEL_FEATURES_append =  cfg/efi-ext.

The install scripts have been updated too, keeping the old behaviour around,
but accounting for the new boot loader config files (if they exist).
It can be argued that the installer and bootimg are a bit wierd and not 
necessarily correct,
but I wanted to have the exact same behviour with gummiboot.
With the default EFI_PROVIDER = grub-efi nothing changes, everthing should be 
just as before.

I've tested live boot, install and normal boot on:
- FRI2
- genericx86-64 on NUC
with:
  EFI_PROVIDER = gummiboot
  KERNEL_FEATURES_append =  cfg/efi-ext
in local.conf.

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 meta/classes/gummiboot.bbclass | 112 +
 .../initrdscripts/files/init-install-efi.sh|  51 +++---
 2 files changed, 147 insertions(+), 16 deletions(-)
 create mode 100644 meta/classes/gummiboot.bbclass

diff --git a/meta/classes/gummiboot.bbclass b/meta/classes/gummiboot.bbclass
new file mode 100644
index 000..5c11286
--- /dev/null
+++ b/meta/classes/gummiboot.bbclass
@@ -0,0 +1,112 @@
+EFICLASS_FUNC_PREFIX = gummiboot
+
+do_bootimg[depends] += gummiboot:do_deploy
+do_bootdirectdisk[depends] += gummiboot:do_deploy
+
+EFIDIR = /EFI/BOOT
+
+GUMMIBOOT_CFG ?= ${S}/loader.conf
+GUMMIBOOT_ENTRIES ?= 
+GUMMIBOOT_TIMEOUT ?= 10
+
+gummiboot_populate() {
+DEST=$1
+
+EFI_IMAGE=gummibootia32.efi
+DEST_EFI_IMAGE=bootia32.efi
+if [ ${TARGET_ARCH} = x86_64 ]; then
+EFI_IMAGE=gummibootx64.efi
+DEST_EFI_IMAGE=bootx64.efi
+fi
+
+install -d ${DEST}${EFIDIR}
+# gummiboot requires these paths for configuration files
+# they are not customizable so no point in new vars
+install -d ${DEST}/loader
+install -d ${DEST}/loader/entries
+install -m 0644 ${DEPLOY_DIR_IMAGE}/${EFI_IMAGE} 
${DEST}${EFIDIR}/${DEST_EFI_IMAGE}
+install -m 0644 ${GUMMIBOOT_CFG} ${DEST}/loader/loader.conf
+for i in ${GUMMIBOOT_ENTRIES}; do
+install -m 0644 ${i} ${DEST}/loader/entries
+done
+}
+
+gummiboot_iso_populate() {
+iso_dir=$1
+gummiboot_populate $iso_dir
+mkdir -p ${EFIIMGDIR}/${EFIDIR}
+cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
+cp $iso_dir/vmlinuz ${EFIIMGDIR}
+echo ${DEST_EFI_IMAGE}  ${EFIIMGDIR}/startup.nsh
+if [ -f $iso_dir/initrd ] ; then
+cp $iso_dir/initrd ${EFIIMGDIR}
+fi
+}
+
+gummiboot_hddimg_populate() {
+gummiboot_populate $1
+}
+
+python build_gummiboot_cfg() {
+s = d.getVar(S, True)
+labels = d.getVar('LABELS', True)
+if not labels:
+bb.debug(1, LABELS not defined, nothing to do)
+return
+
+if labels == []:
+bb.debug(1, No labels, nothing to do)
+return
+
+cfile = d.getVar('GUMMIBOOT_CFG', True)
+try:
+ cfgfile = open(cfile, 'w')
+except OSError:
+raise bb.build.funcFailed('Unable to open %s' % (cfile))
+
+cfgfile.write('# Automatically created by OE\n')
+cfgfile.write('default %s\n' % (labels.split()[0]))
+timeout = d.getVar('GUMMIBOOT_TIMEOUT', True)
+if timeout:
+cfgfile.write('timeout %s\n' % timeout)
+else:
+cfgfile.write('timeout 10\n')
+cfgfile.close()
+
+for label in labels.split():
+localdata = d.createCopy()
+
+overrides = localdata.getVar('OVERRIDES', True)
+if not overrides:
+raise bb.build.FuncFailed('OVERRIDES not defined')
+
+entryfile = %s/%s.conf % (s, label)
+d.appendVar(GUMMIBOOT_ENTRIES,   + entryfile)
+try:
+entrycfg = open(entryfile, w)
+except OSError:
+raise bb.build.funcFailed('Unable to open %s' % (entryfile))
+localdata.setVar('OVERRIDES', label + ':' + overrides)
+bb.data.update_data(localdata)
+
+entrycfg.write('title %s\n' % label)
+entrycfg.write('linux /vmlinuz\n')
+
+append = localdata.getVar('APPEND', True)
+initrd = localdata.getVar('INITRD', True)
+
+if initrd:
+entrycfg.write('initrd /initrd\n')
+lb = label
+if label == install:
+lb = install-efi
+entrycfg.write('options LABEL=%s ' % lb)
+if append:
+entrycfg.write('%s' % append)
+entrycfg.write('\n')
+entrycfg.close()
+}
+
+python build_efi_cfg() {
+bb.build.exec_func(build_gummiboot_cfg, d)
+}
diff --git a/meta/recipes-core/initrdscripts/files/init-install-efi.sh 
b/meta/recipes-core/initrdscripts/files/init-install-efi.sh
index 

Re: [OE-core] [PATCH 4/6] lttng-modules: Exclude arm

2014-03-06 Thread Tom Zanussi
On Thu, 2014-03-06 at 17:56 +, Phil Blundell wrote:
 On Thu, 2014-03-06 at 11:09 -0600, Tom Zanussi wrote:
  Without lttng-modules, lttng-tools etc don't make sense either so
  exclude them as well.
 
 This isn't entirely true; one can quite happily use the ust tracers
 without the modules.  I've no idea why ust is disabled on aarch64
 either.
 

OK, I can remove the lttng-removal..

Tom

 p.
 
 
 ___
 Openembedded-core mailing list
 Openembedded-core@lists.openembedded.org
 http://lists.openembedded.org/mailman/listinfo/openembedded-core


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] kernel-yocto: fix diffconfig/kernel_configme breakage

2014-03-06 Thread Bruce Ashfield
On Thu, Mar 6, 2014 at 1:10 PM, Christopher Larson kerg...@gmail.com wrote:
 The bbclass did the following:

 do_diffconfig[depends] += virtual/kernel:do_kernel_configme

 This clearly introduces a cross-kernel task dependency if the recipe
 inheriting this class isn't the preferred provider of virtual/kernel, which is
 obviously wrong, but further, will break the build if a kernel-yocto based
 kernel is parsed and not skipped, but virtual/kernel refers to
 a non-kernel-yocto recipe, which would not have the do_kernel_configme task.

 Work around this by adding the in-recipe task dep programmatically with
 bb.build.addtask when do_diffconfig exists.

 Signed-off-by: Christopher Larson kerg...@gmail.com
 ---
  meta/classes/kernel-yocto.bbclass | 8 +++-
  1 file changed, 7 insertions(+), 1 deletion(-)

 diff --git a/meta/classes/kernel-yocto.bbclass 
 b/meta/classes/kernel-yocto.bbclass
 index fb8e04e..ef9b9d1 100644
 --- a/meta/classes/kernel-yocto.bbclass
 +++ b/meta/classes/kernel-yocto.bbclass
 @@ -263,6 +263,8 @@ do_kernel_configme() {
 echo CONFIG_LOCALVERSION=\${LINUX_VERSION_EXTENSION}\  
 ${B}/.config
  }

 +addtask kernel_configme after do_patch
 +

linux-yocto.inc already has:

addtask kernel_configme before do_configure after do_patch

So we should be able to avoid adding the task to the class, right ? I
suppose the task could move into the class, but it was always a per
recipe include in the past, I just don't want any unintended issues to
happen from the double task add.

  python do_kernel_configcheck() {
  import re, string, sys

 @@ -407,4 +409,8 @@ OE_TERMINAL_EXPORTS += GUILT_BASE KBUILD_OUTPUT
  GUILT_BASE = meta
  KBUILD_OUTPUT = ${B}

 -do_diffconfig[depends] += virtual/kernel:do_kernel_configme
 +python () {
 +# If diffconfig is available, ensure it runs after kernel_configme
 +if 'do_diffconfig' in d:
 +bb.build.addtask('do_diffconfig', None, 'do_kernel_configme', d)
 +}

Thanks for the fixup!

Bruce

 --
 1.8.3.4

 ___
 Openembedded-core mailing list
 Openembedded-core@lists.openembedded.org
 http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] kernel-yocto: fix diffconfig/kernel_configme breakage

2014-03-06 Thread Chris Larson
On Thu, Mar 6, 2014 at 11:40 AM, Bruce Ashfield bruce.ashfi...@gmail.comwrote:

 On Thu, Mar 6, 2014 at 1:10 PM, Christopher Larson kerg...@gmail.com
 wrote:
  +addtask kernel_configme after do_patch
  +

 linux-yocto.inc already has:

 addtask kernel_configme before do_configure after do_patch

 So we should be able to avoid adding the task to the class, right ? I
 suppose the task could move into the class, but it was always a per
 recipe include in the past, I just don't want any unintended issues to
 happen from the double task add.


It depends on whether there's a need to support the use of the class
without the .inc. If not, there are probably a number of bits in the .inc
that belong in the class :) But it's never harmful to have multiple addtask
lines, it just adds the specified deps to the existing task. I just wanted
to make sure one couldn't get into a state where do_diffconfig depends on a
function which isn't a task, as I would expect (though couldn't say with
100% certainty) that bitbake would yell about that :)
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 4/6] lttng-modules: Exclude arm

2014-03-06 Thread Tom Zanussi
On Thu, 2014-03-06 at 18:04 +, Phil Blundell wrote:
 On Thu, 2014-03-06 at 11:09 -0600, Tom Zanussi wrote:
  +# lttng currently blacklists arm with gcc-4.8
  +COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips).*-linux'
 
 If the issue at hand here is GCC PR 58854 (which the lttng mailing list
 thread seems to suggest it is), can't we just apply the patch for it
 rather than disabling lttng-modules altogether?
 

Well, I think it's more than that - there's apparently an unbalanced
preempt_disable in lttng somewhere that's the real root of the problem:

http://gcc.gnu.org/ml/gcc/2013-11/msg00393.html

So lttng is still broken, and the blacklist is still in place in the
lttng code.

Tom

 p.
 
 
 ___
 Openembedded-core mailing list
 Openembedded-core@lists.openembedded.org
 http://lists.openembedded.org/mailman/listinfo/openembedded-core


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] kernel-yocto: fix diffconfig/kernel_configme breakage

2014-03-06 Thread Bruce Ashfield
On Thu, Mar 6, 2014 at 1:45 PM, Chris Larson kerg...@gmail.com wrote:

 On Thu, Mar 6, 2014 at 11:40 AM, Bruce Ashfield bruce.ashfi...@gmail.com
 wrote:

 On Thu, Mar 6, 2014 at 1:10 PM, Christopher Larson kerg...@gmail.com
 wrote:
  +addtask kernel_configme after do_patch
  +

 linux-yocto.inc already has:

 addtask kernel_configme before do_configure after do_patch

 So we should be able to avoid adding the task to the class, right ? I
 suppose the task could move into the class, but it was always a per
 recipe include in the past, I just don't want any unintended issues to
 happen from the double task add.


 It depends on whether there's a need to support the use of the class without
 the .inc. If not, there are probably a number of bits in the .inc that
 belong in the class :) But it's never harmful to have multiple addtask
 lines, it just adds the specified deps to the existing task. I just wanted
 to make sure one couldn't get into a state where do_diffconfig depends on a
 function which isn't a task, as I would expect (though couldn't say with
 100% certainty) that bitbake would yell about that :)

Works for me. Thanks for the explanation.

Bruce

 --
 Christopher Larson
 clarson at kergoth dot com
 Founder - BitBake, OpenEmbedded, OpenZaurus
 Maintainer - Tslib
 Senior Software Engineer, Mentor Graphics



-- 
Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 2/3] buildhistory.bbclass: Fix dependency files creation

2014-03-06 Thread Richard Purdie
On Wed, 2014-03-05 at 14:39 +0200, Laurentiu Palcu wrote:
 Call the new python routines.
 
 [YOCTO #5904]
 
 Signed-off-by: Laurentiu Palcu laurentiu.pa...@intel.com
 ---
  meta/classes/buildhistory.bbclass |9 -
  1 file changed, 8 insertions(+), 1 deletion(-)
 
 diff --git a/meta/classes/buildhistory.bbclass 
 b/meta/classes/buildhistory.bbclass
 index ef4135b..01b0082 100644
 --- a/meta/classes/buildhistory.bbclass
 +++ b/meta/classes/buildhistory.bbclass
 @@ -319,6 +319,12 @@ python buildhistory_list_installed() {
  
  with open(pkgs_list_file, 'w') as pkgs_list:
  pkgs_list.write(list_installed_packages(d, 'file'))
 +
 +pkgs_deps_file = os.path.join(d.getVar('WORKDIR', True),
 +  bh_installed_pkgs_deps.txt)
 +
 +with open(pkgs_deps_file, 'w') as pkgs_deps:
 +pkgs_deps.write(list_installed_packages(d, 'deps'))
  }
  
 
 @@ -338,7 +344,8 @@ buildhistory_get_installed() {
  
   # Produce dependency graph
   # First, quote each name to handle characters that cause issues for dot
 - rootfs_list_installed_depends | sed 's:\([^| ]*\):\1:g'  
 $1/depends.tmp
 + cat ${WORKDIR}/bh_installed_pkgs_deps.txt | sed 's:\([^| ]*\):\1:g'  
 $1/depends.tmp  \
 + rm ${WORKDIR}/bh_installed_pkgs_deps.txt
   # Change delimiter from pipe to - and set style for recommend lines
   sed -i -e 's:|: - :' -e 's:\[REC\]:[style=dotted]:' -e 's:$:;:' 
 $1/depends.tmp
   # Add header, sorted and de-duped contents and footer and then delete 
 the temp file

With this patch, a bitbake core-image-minimal -c populate_sdk resulted
in:

ERROR: Error executing a python function in 
/media/build1/poky/meta/recipes-core/images/core-image-minimal.bb:

The stack trace of python calls that resulted in this exception/failure was:
File: 'buildhistory_list_installed', lineno: 18, function: module
 0014:with open(pkgs_deps_file, 'w') as pkgs_deps:
 0015:pkgs_deps.write(list_installed_packages(d, 'deps'))
 0016:
 0017:
 *** 0018:buildhistory_list_installed(d)
 0019:
File: 'buildhistory_list_installed', lineno: 9, function: 
buildhistory_list_installed
 0005:pkgs_list_file = os.path.join(d.getVar('WORKDIR', True),
 0006:  bh_installed_pkgs.txt)
 0007:
 0008:with open(pkgs_list_file, 'w') as pkgs_list:
 *** 0009:pkgs_list.write(list_installed_packages(d, 'file'))
 0010:
 0011:pkgs_deps_file = os.path.join(d.getVar('WORKDIR', True),
 0012:  bh_installed_pkgs_deps.txt)
 0013:
File: '/media/build1/poky/meta/lib/oe/rootfs.py', lineno: 721, function: 
list_installed_packages
 0717:if img_type == rpm:
 0718:return RpmPM(d,
 0719: rootfs_dir,
 0720: d.getVar('TARGET_VENDOR', True)
 *** 0721: ).list_installed(format)
 0722:elif img_type == ipk:
 0723:return OpkgPM(d,
 0724:  rootfs_dir,
 0725:  d.getVar(IPKGCONF_TARGET, True),
File: '/media/build1/poky/meta/lib/oe/package_manager.py', lineno: 854, 
function: list_installed
 0850:pkg = line.split()[0]
 0851:arch = line.split()[1]
 0852:ver = line.split()[2]
 0853:pkgorigin = line.split()[3]
 *** 0854:new_pkg, new_arch = self._pkg_translate_smart_to_oe(pkg, 
arch)
 0855:
 0856:if format == arch:
 0857:output.append('%s %s' % (new_pkg, new_arch))
 0858:elif format == file:
File: '/media/build1/poky/meta/lib/oe/package_manager.py', lineno: 476, 
function: _pkg_translate_smart_to_oe
 0472:
 0473:if found == 1 and fixed_arch == fixed_cmp_arch:
 0474:break
 0475:#bb.note('%s, %s - %s, %s' % (pkg, arch, new_pkg, new_arch))
 *** 0476:return new_pkg, new_arch
 0477:
 0478:def _search_pkg_name_in_feeds(self, pkg, feed_archs):
 0479:for arch in feed_archs:
 0480:arch = arch.replace('-', '_')
Exception: UnboundLocalError: local variable 'new_arch' referenced before 
assignment

ERROR: Function failed: buildhistory_list_installed
ERROR: Logfile of failure stored in: 
/media/build1/poky/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/temp/log.d


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 2/3] bootimg/grub-efi.bbclass: allow using a different class for EFI images

2014-03-06 Thread Darren Hart
On 3/6/14, 10:15, Stefan Stanacar stefanx.stana...@intel.com wrote:

Abstract away some names so one can select using EFI_PROVIDER a different
class than grub-efi for populating live images, basically allowing the use
of a different bootloader than grub-efi.

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com
---
 meta/classes/boot-directdisk.bbclass | 7 ---
 meta/classes/bootimg.bbclass | 9 +
 meta/classes/grub-efi.bbclass| 6 ++
 3 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/meta/classes/boot-directdisk.bbclass
b/meta/classes/boot-directdisk.bbclass
index 42b3415..c35b4bb 100644
--- a/meta/classes/boot-directdisk.bbclass
+++ b/meta/classes/boot-directdisk.bbclass
@@ -32,7 +32,8 @@ BOOTDD_VOLUME_ID   ?= boot
 BOOTDD_EXTRA_SPACE ?= 16384
 
 EFI = ${@base_contains(MACHINE_FEATURES, efi, 1, 0, d)}
-EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi, grub-efi, ,
d)}
+EFI_PROVIDER ?= grub-efi
+EFI_CLASS = ${@base_contains(MACHINE_FEATURES, efi,
${EFI_PROVIDER}, , d)}
 
 # Include legacy boot if MACHINE_FEATURES includes pcbios or if it
does not
 # contain efi. This way legacy is supported by default if neither is
@@ -87,7 +88,7 @@ build_boot_dd() {
   syslinux_hddimg_populate $HDDDIR
   fi
   if [ ${EFI} = 1 ]; then
-  grubefi_hddimg_populate $HDDDIR
+  ${EFICLASS_FUNC_PREFIX}_hddimg_populate $HDDDIR

This seems like an odd way to call a function, via a constructed function
name. Would it make more sense to define an efi interface and only one
bbclass that implemented that interface? Such as grub-efi.bbclass or
gummiboot.bbclass?

This isn't my area of expertise, maybe some recipe/bitbake experts can
weigh in here...

-- 
Darren Hart
Yocto Project - Linux Kernel
Intel Open Source Technology Center




___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 3/3] classes: Add gummiboot class

2014-03-06 Thread Darren Hart
On 3/6/14, 10:15, Stefan Stanacar stefanx.stana...@intel.com wrote:

Adds a gummiboot class similar to grub-efi class and makes the necessary
changes so it can be used for live/hddimg images as well.

One can set EFI_PROVIDER = gummiboot in local.conf to use gummiboot
instead of grub-efi.
Gummiboot requires some kernel options that are not enabled by default,
so one has to build
with KERNEL_FEATURES_append =  cfg/efi-ext.

cfg/efi is insufficient?


The install scripts have been updated too, keeping the old behaviour
around,
but accounting for the new boot loader config files (if they exist).
It can be argued that the installer and bootimg are a bit wierd and not
necessarily correct,
but I wanted to have the exact same behviour with gummiboot.
With the default EFI_PROVIDER = grub-efi nothing changes, everthing
should be just as before.

I've tested live boot, install and normal boot on:
- FRI2
- genericx86-64 on NUC
with:
  EFI_PROVIDER = gummiboot
  KERNEL_FEATURES_append =  cfg/efi-ext
in local.conf.

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com


Generally looks good. My only reservation is the same as for 2/3, should
we define an EFI interface rather than having to construct function names
in the consumers of this class?

--
Darren

---
 meta/classes/gummiboot.bbclass | 112
+
 .../initrdscripts/files/init-install-efi.sh|  51 +++---
 2 files changed, 147 insertions(+), 16 deletions(-)
 create mode 100644 meta/classes/gummiboot.bbclass

diff --git a/meta/classes/gummiboot.bbclass
b/meta/classes/gummiboot.bbclass
new file mode 100644
index 000..5c11286
--- /dev/null
+++ b/meta/classes/gummiboot.bbclass
@@ -0,0 +1,112 @@
+EFICLASS_FUNC_PREFIX = gummiboot
+
+do_bootimg[depends] += gummiboot:do_deploy
+do_bootdirectdisk[depends] += gummiboot:do_deploy
+
+EFIDIR = /EFI/BOOT
+
+GUMMIBOOT_CFG ?= ${S}/loader.conf
+GUMMIBOOT_ENTRIES ?= 
+GUMMIBOOT_TIMEOUT ?= 10
+
+gummiboot_populate() {
+DEST=$1
+
+EFI_IMAGE=gummibootia32.efi
+DEST_EFI_IMAGE=bootia32.efi
+if [ ${TARGET_ARCH} = x86_64 ]; then
+EFI_IMAGE=gummibootx64.efi
+DEST_EFI_IMAGE=bootx64.efi
+fi
+
+install -d ${DEST}${EFIDIR}
+# gummiboot requires these paths for configuration files
+# they are not customizable so no point in new vars
+install -d ${DEST}/loader
+install -d ${DEST}/loader/entries
+install -m 0644 ${DEPLOY_DIR_IMAGE}/${EFI_IMAGE}
${DEST}${EFIDIR}/${DEST_EFI_IMAGE}
+install -m 0644 ${GUMMIBOOT_CFG} ${DEST}/loader/loader.conf
+for i in ${GUMMIBOOT_ENTRIES}; do
+install -m 0644 ${i} ${DEST}/loader/entries
+done
+}
+
+gummiboot_iso_populate() {
+iso_dir=$1
+gummiboot_populate $iso_dir
+mkdir -p ${EFIIMGDIR}/${EFIDIR}
+cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
+cp $iso_dir/vmlinuz ${EFIIMGDIR}
+echo ${DEST_EFI_IMAGE}  ${EFIIMGDIR}/startup.nsh
+if [ -f $iso_dir/initrd ] ; then
+cp $iso_dir/initrd ${EFIIMGDIR}
+fi
+}
+
+gummiboot_hddimg_populate() {
+gummiboot_populate $1
+}
+
+python build_gummiboot_cfg() {
+s = d.getVar(S, True)
+labels = d.getVar('LABELS', True)
+if not labels:
+bb.debug(1, LABELS not defined, nothing to do)
+return
+
+if labels == []:
+bb.debug(1, No labels, nothing to do)
+return
+
+cfile = d.getVar('GUMMIBOOT_CFG', True)
+try:
+ cfgfile = open(cfile, 'w')
+except OSError:
+raise bb.build.funcFailed('Unable to open %s' % (cfile))
+
+cfgfile.write('# Automatically created by OE\n')
+cfgfile.write('default %s\n' % (labels.split()[0]))
+timeout = d.getVar('GUMMIBOOT_TIMEOUT', True)
+if timeout:
+cfgfile.write('timeout %s\n' % timeout)
+else:
+cfgfile.write('timeout 10\n')
+cfgfile.close()
+
+for label in labels.split():
+localdata = d.createCopy()
+
+overrides = localdata.getVar('OVERRIDES', True)
+if not overrides:
+raise bb.build.FuncFailed('OVERRIDES not defined')
+
+entryfile = %s/%s.conf % (s, label)
+d.appendVar(GUMMIBOOT_ENTRIES,   + entryfile)
+try:
+entrycfg = open(entryfile, w)
+except OSError:
+raise bb.build.funcFailed('Unable to open %s' % (entryfile))
+localdata.setVar('OVERRIDES', label + ':' + overrides)
+bb.data.update_data(localdata)
+
+entrycfg.write('title %s\n' % label)
+entrycfg.write('linux /vmlinuz\n')
+
+append = localdata.getVar('APPEND', True)
+initrd = localdata.getVar('INITRD', True)
+
+if initrd:
+entrycfg.write('initrd /initrd\n')
+lb = label
+if label == install:
+lb = install-efi
+entrycfg.write('options LABEL=%s ' % lb)
+if append:
+entrycfg.write('%s' % 

Re: [OE-core] [PATCH 1/3] recipes-bsp: Add gummiboot and gnu-efi recipes

2014-03-06 Thread Darren Hart
On 3/6/14, 10:15, Stefan Stanacar stefanx.stana...@intel.com wrote:

gummiboot is  is a simple UEFI boot manager (not a boot loader ;-) )

These recipes are imported from meta-intel with these changes:
 - drop PR and update configure options
 - gummiboot was upgraded to latest version

A couple of notes:
 - If you wish you can install the gummiboot package on the target and
use 'gummiboot install' to add the payload to the ESP (see gummiboot
--help,
just make sure the ESP partition has the boot flag on as gummiboot won't
accept it
otherwise). However the point of this recipe is to be used by
bootimg.bbclass and
generate images with gummiboot instead of grub-efi.
 - You need a kernel which has CONFIG_EFI_STUB=y at least
 - The default linux-yocto kernel config does not enable that, easiest way
to enable is to build with KERNEL_FEATURES_append =  cfg/efi-ext in
local.conf

Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com

I don't know if Saul or RP would prefer gnu-efi and gummiboot to arrive as
separate patches, probably a good idea. But in general, I agree with this
direction:

Acked-by: Darren Hart dvh...@linux.intel.com

Note: Added Koen on Cc, as he happens to also have been working on
something similar in his spare time.

---
 .../gnu-efi/gnu-efi/parallel-make-archives.patch   | 48
++
 .../gnu-efi/gnu-efi/parallel-make.patch| 22 ++
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb   | 33 +++
 meta/recipes-bsp/gummiboot/gummiboot_git.bb| 25 +++
 4 files changed, 128 insertions(+)
 create mode 100644
meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
 create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
 create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
 create mode 100644 meta/recipes-bsp/gummiboot/gummiboot_git.bb

diff --git 
a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
new file mode 100644
index 000..e5b47c1
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
@@ -0,0 +1,48 @@
+Fix parallel make failure for archives
+
+Upstream-Status: Pending
+
+The lib and gnuefi makefiles were using the lib.a() form which compiles
+and ar's as a pair instead of compiling all and then ar'ing which can
+parallelize better. This was resulting in build failures on larger values
+of -j.
+
+See 
http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html#TOC105
+for details.
+
+Signed-off-by: Saul Wold s...@linux.intel.com
+Signed-off-by: Darren Hart dvh...@linux.intel.com
+---
+---
+ gnuefi/Makefile |3 ++-
+ lib/Makefile|3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+Index: gnu-efi-3.0/lib/Makefile
+===
+--- gnu-efi-3.0.orig/lib/Makefile
 gnu-efi-3.0/lib/Makefile
+@@ -66,7 +66,8 @@ all: libsubdirs libefi.a
+ libsubdirs:
+  for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
+ 
+-libefi.a: $(patsubst %,libefi.a(%),$(OBJS))
++libefi.a: $(OBJS)
++ $(AR) rv $@ $(OBJS)
+ 
+ clean:
+  rm -f libefi.a *~ $(OBJS) */*.o
+Index: gnu-efi-3.0/gnuefi/Makefile
+===
+--- gnu-efi-3.0.orig/gnuefi/Makefile
 gnu-efi-3.0/gnuefi/Makefile
+@@ -51,7 +51,8 @@ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a
+ 
+ all: $(TARGETS)
+ 
+-libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
++libgnuefi.a: $(OBJS)
++ $(AR) rv $@ $(OBJS)
+ 
+ clean:
+  rm -f $(TARGETS) *~ *.o $(OBJS)
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
new file mode 100644
index 000..27c94e8
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
@@ -0,0 +1,22 @@
+Fix parallel make failure
+
+Upstream-Status: Submitted [Maintainer directly]
+
+Add a missing dependency which resulted in a race leading to failure
+on larger values of -j.
+
+Signed-off-by: Darren Hart dvh...@linux.intel.com
+
+Index: gnu-efi-3.0/Makefile
+===
+--- gnu-efi-3.0.orig/Makefile
 gnu-efi-3.0/Makefile
+@@ -42,6 +42,8 @@ include $(SRCDIR)/Make.defaults
+ 
+ SUBDIRS = lib gnuefi inc apps
+ 
++gnuefi: lib
++
+ all: check_gcc $(SUBDIRS)
+ 
+ $(SUBDIRS):
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
new file mode 100644
index 000..0dbdba2
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb
@@ -0,0 +1,33 @@
+SUMMARY = Libraries for producing EFI binaries
+HOMEPAGE = http://sourceforge.net/projects/gnu-efi/;
+SECTION = devel
+LICENSE = GPLv2+
+LIC_FILES_CHKSUM =
file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666
+
+SRC_URI = 
http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0u.orig.tar.gz \
+   file://parallel-make.patch \
+   

Re: [OE-core] [PATCH] Signed-off-by: Andrey Belous abel...@broadcom.com

2014-03-06 Thread Khem Raj
On Tue, Mar 4, 2014 at 1:55 PM, Andrey Belous abel...@broadcom.com wrote:
 Hi Phil,
 I have prebuild uclibc library that I would like to use, without that change 
 I cannot force to use my prebuild library


OK so write a uclibc recipe for it and let it provide virtual/libc
and, we can very well have multiple version of recipes, this is no
different. Then use higher DEFAULT_PREFERENCE for your recipe.

 -Andrey

 -Original Message-
 From: Phil Blundell [mailto:p...@pbcl.net]
 Sent: Tuesday, March 04, 2014 4:43 PM
 To: Andrey Belous
 Cc: openembedded-core@lists.openembedded.org
 Subject: Re: [OE-core] [PATCH] Signed-off-by: Andrey Belous 
 abel...@broadcom.com

 On Tue, 2014-03-04 at 15:40 -0500, Andrey Belous wrote:
 -PREFERRED_PROVIDER_virtual/libc = uclibc
 +PREFERRED_PROVIDER_virtual/libc ?= uclibc

 Why would you be including tclibc-uclibc.inc if you don't want to use
 uclibc?

 p.


 ___
 Openembedded-core mailing list
 Openembedded-core@lists.openembedded.org
 http://lists.openembedded.org/mailman/listinfo/openembedded-core
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] python3: Add ptest support

2014-03-06 Thread Paul Barker
This is my first attempt at doing anything ptest related so probably needs a
detailed check.

About 6 out of 350+ test suites fail, compared to 2 or 3 failing on my desktop.
I doubt we'll be able to get a perfect run out of python3 with all tests passing
but I'm not sure where or how to document that.

I'm also not sure where to document that the python3 test suites won't run with
only 256 MB of RAM allocated on the target system. 

I think enabling ptest support is still helpful so I'm sending the patch for
review.

Paul Barker (1):
  python3: Add ptest support

 meta/recipes-devtools/python/python3/run-ptest | 56 ++
 meta/recipes-devtools/python/python3_3.3.3.bb  | 12 ++
 2 files changed, 68 insertions(+)
 create mode 100644 meta/recipes-devtools/python/python3/run-ptest

-- 
1.9.0

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] python3: Add ptest support

2014-03-06 Thread Paul Barker
A run-ptest script written in python is added which defines a new TestRunner
subclass which prints test results in the required ptest format and then
executes python's built-in testsuite using this new TestRunner subclass.

The built-in testsuite is included in the python standard library and we ensure
we have the complete library by adding ${PN}-modules and ${PN}-misc to the
RDEPENDS for the ptest package. We also require libgcc for pthread support.

Tested on qemux86. Several tests fail and many skip; further investigation
should be done to check that the current status is acceptable. In addition, the
testsuite causes an out-of-memory crash when qemu is configured with 256 MB of
RAM. The testsuite completes without crashing with 1 GB RAM.

Signed-off-by: Paul Barker p...@paulbarker.me.uk
---
 meta/recipes-devtools/python/python3/run-ptest | 56 ++
 meta/recipes-devtools/python/python3_3.3.3.bb  | 12 ++
 2 files changed, 68 insertions(+)
 create mode 100644 meta/recipes-devtools/python/python3/run-ptest

diff --git a/meta/recipes-devtools/python/python3/run-ptest 
b/meta/recipes-devtools/python/python3/run-ptest
new file mode 100644
index 000..bd3ea11
--- /dev/null
+++ b/meta/recipes-devtools/python/python3/run-ptest
@@ -0,0 +1,56 @@
+#! /usr/bin/env python3
+
+from test import support
+from test import regrtest
+import unittest
+import sys
+
+# Define a test result class which outputs results in the desired format.
+class ptestResult(unittest.TestResult):
+def __init__(self, runner):
+super(ptestResult, self).__init__()
+self.runner = runner
+
+def addError(self, test, err):
+super(ptestResult, self).addError(test, err)
+self.runner.write(ERROR: %s: %s\n % (str(test), str(err[1])))
+
+def addSuccess(self, test):
+super(ptestResult, self).addSuccess(test)
+self.runner.write(PASS: %s\n % str(test))
+
+def addFailure(self, test, err):
+super(ptestResult, self).addFailure(test, err)
+self.runner.write(FAIL: %s: %s\n % (str(test), str(err[1])))
+
+def addSkip(self, test, reason):
+super(ptestResult, self).addSkip(test, reason)
+self.runner.write(SKIP: %s: %s\n % (str(test), str(reason)))
+
+def addExpectedFailure(self, test, err):
+super(ptestResult, self).addExpectedFailure(test, err)
+self.runner.write(XFAIL: %s\n % (str(test)))
+
+def addUnexpectedSuccess(self, test):
+super(ptestResult, self).addUnexpectedSuccess(test)
+self.runner.write(XPASS: %s\n % str(test))
+
+# Define a test runner which uses the above output class.
+class ptestRunner:
+def __init__(self, stream=sys.stderr):
+self.stream = stream
+
+def write(self, message):
+self.stream.write(message)
+
+def run(self, test):
+result = ptestResult(self)
+test(result)
+return result
+
+# Replace the test runner in python's standard library 'test.support'.
+support.BasicTestRunner = ptestRunner
+
+# Run the python regression test suite - the replacement test runner will be
+# used.
+regrtest.main()
diff --git a/meta/recipes-devtools/python/python3_3.3.3.bb 
b/meta/recipes-devtools/python/python3_3.3.3.bb
index b6f6def..e405a25 100644
--- a/meta/recipes-devtools/python/python3_3.3.3.bb
+++ b/meta/recipes-devtools/python/python3_3.3.3.bb
@@ -35,6 +35,7 @@ SRC_URI += \
 file://sysroot-include-headers.patch \
 file://unixccompiler.patch \
 file://avoid-ncursesw-include-path.patch \
+file://run-ptest \

 SRC_URI[md5sum] = f3ebe34d4d8695bf889279b54673e10c
 SRC_URI[sha256sum] = 
e526e9b612f623888364d30cc9f3dfc34dcef39065c713bdbcddf47df84d8dcb
@@ -209,6 +210,17 @@ FILES_${PN}-dbg += 
${libdir}/python${PYTHON_MAJMIN}/lib-dynload/.debug
 PACKAGES += ${PN}-misc
 FILES_${PN}-misc = ${libdir}/python${PYTHON_MAJMIN}
 
+#inherit ptest after require python-${PYTHON_MAJMIN}-manifest.inc so 
PACKAGES doesn't get overwritten
+inherit ptest
+
+# This must come after inherit ptest for the override to take effect
+do_install_ptest() {
+install -m 0755 -d ${D}/${libdir}/python3/ptest
+install -m 0755 ${S}/../run-ptest ${D}/${libdir}/${PN}/ptest
+}
+
+RDEPENDS_${PN}-ptest = ${PN}-modules ${PN}-misc libgcc
+
 # catch manpage
 PACKAGES += ${PN}-man
 FILES_${PN}-man = ${datadir}/man
-- 
1.9.0

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] opkg-utils: Update to latest git master

2014-03-06 Thread Paul Barker
The latest commit in opkg-utils allows packages created by opkg-build to be read
by dpkg-deb again.

Signed-off-by: Paul Barker p...@paulbarker.me.uk
---
 meta/recipes-devtools/opkg-utils/opkg-utils_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb 
b/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb
index c2509c4..54cfe54 100644
--- a/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = 
file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
 
file://opkg.py;beginline=1;endline=18;md5=15917491ad6bf7acc666ca5f7cc1e083
 PROVIDES += virtual/update-alternatives
 
-SRCREV = fd4a3a4c20ada47b19e89849ddb6ff87904f01d2
+SRCREV = c33b217016ee911718b10c9d57f9912935baf5a9
 PV = 0.1.8+git${SRCPV}
 
 SRC_URI = git://git.yoctoproject.org/opkg-utils
-- 
1.9.0

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/1] flex: not to build shared libraries

2014-03-06 Thread Paul Barker
On 5 March 2014 13:45, Paul Barker p...@paulbarker.me.uk wrote:
 On 5 March 2014 12:49, Paul Barker p...@paulbarker.me.uk wrote:
 On 5 March 2014 09:58, Lu Chong chong...@windriver.com wrote:

 In flex 2.5.38, libfl.so was built by libtool.

 ipsec-tools shows this problem.
 When link libipsec.so to libfl.so, it uses '-lfl' flag. It will link from
 libfl.so.
 But libfl.so doesn't define yylex, we may get libfl.so not found through
 `ldd libipsec.so'.

 I've used flex before, this is correct, libfl is not supposed to
 define yylex. See for example
 https://www.mail-archive.com/tools-linking@mail.opensolaris.org/msg00601.html

 The problem is in how ipsec-tools is being linked, not in flex. I'd
 suggest patching that recipe instead.

 Cheers,


 I've patched ipsec-tools to fix this, will send the patch to the oe-devel 
 list.


Sent.

-- 
Paul Barker

Email: p...@paulbarker.me.uk
http://www.paulbarker.me.uk
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/1] dbus: fix a hard dependency about dbus-ptest

2014-03-06 Thread Chong Lu


On 03/06/2014 06:04 PM, Burton, Ross wrote:

On 6 March 2014 08:06, Chong Lu chong...@windriver.com wrote:

+PACKAGES += dbus-ptest
+ALLOW_EMPTY_${PN}-ptest = 1
+RDEPENDS_${PN}-ptest = ${@base_contains('IMAGE_FEATURES', 'ptest-pkgs', 
'dbus-test-ptest', 'dbus-test', d)}

Nice idea, but wouldn't a more correct solution be to have dbus-ptest
added to PACKAGES conditionally (instead of always generating
dbus-ptest and conditionally adding the dependency)?

Ross



Hi Ross,

Do you mean using PACKAGES += ${@base_contains('IMAGE_FEATURES', 
'ptest-pkgs', 'dbus-ptest-ptest', 'dbus-ptest', d)} or something else?



Best Regards
Chong
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 0/7] lttng update (add 2.4.0)

2014-03-06 Thread Tom Zanussi
This adds lttng 2.4.0, which addresses build failures with
linux-yocto-dev, but still works with 3.10.

Tested with qemux86 and both linux-yocto and linux-yocto-dev.

Note that this disables lttng for arm, due to a problem with
lttng-modules and gcc-4.8.x (this is also a problem for lttng 2.3.x).

v2 changes:

  Modified to reflect comments from Phil Blundell.  Though
  lttng-modules may be broken for arm, it doesn't mean lttng-ust isn't
  still useful on its own.  So lttng-ust was added back for arm, as
  was lttng-tools, needed at least to view the lttng-ust traces.

  Apparently gcc doesn't like lttng-tools on arm either, for
  completely different reasons; fixing the lttng-tools-prompted
  internal compiler error is fixable with a patch for gcc, which is
  added to the patchset.

The following changes since commit f03955041d0e44d377ca1c4def630982f24f1e8b:

  Revert ncurses: use ln -r to generate relative symlink (2014-03-03 15:55:27 
+)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib.git tzanussi/lttng-2.4.0-update-v2
  
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/lttng-2.4.0-update-v2

Tom Zanussi (7):
  lttng-modules: Add version 2.4.0
  lttng-tools: Add version 2.4.0
  lttng-ust: Add version 2.4.0
  lttng-modules: Exclude arm
  lttng-modules: Fix 3.14 bio tracepoints
  lttng-ust: Disable doc/examples in the build
  gcc: Add upstream fix for gcc bug 58595

 .../packagegroup-core-tools-profile.bb |   1 +
 meta/recipes-devtools/gcc/gcc-4.8.inc  |   3 +-
 .../gcc/gcc-4.8/0050-PR-target-58595.patch | 132 +
 .../lttng/lttng-modules/bio-bvec-iter.patch| 156 +
 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb   |  38 +
 .../lttng/lttng-tools/runtest-2.4.0.patch  |  27 
 meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb |  59 
 .../lttng-ust/lttng-ust-doc-examples-disable.patch |  18 +++
 meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb   |  32 +
 9 files changed, 465 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/0050-PR-target-58595.patch
 create mode 100644 meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch
 create mode 100644 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools/runtest-2.4.0.patch
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb
 create mode 100644 
meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
 create mode 100644 meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb

-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/7] lttng-modules: Add version 2.4.0

2014-03-06 Thread Tom Zanussi
From: Tom Zanussi tom.zanu...@intel.com

This updates lttng-modules to 2.4.0, codenamed Époque Opaque, needed
for interoperability with the 3.14 (dev) kernel.

Signed-off-by: Tom Zanussi tom.zanu...@intel.com
---
 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb | 34 
 1 file changed, 34 insertions(+)
 create mode 100644 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb

diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb 
b/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
new file mode 100644
index 000..0b7d5e8
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
@@ -0,0 +1,34 @@
+SECTION = devel
+SUMMARY = Linux Trace Toolkit KERNEL MODULE
+DESCRIPTION = The lttng-modules 2.0 package contains the kernel tracer 
modules
+LICENSE = LGPLv2.1  GPLv2
+LIC_FILES_CHKSUM = file://LICENSE;md5=1412caf5a1aa90d6a48588a4794c0eac \
+file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \
+file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad
+
+DEPENDS = virtual/kernel
+
+inherit module
+
+SRCREV = fb2c37799306d16fb590aebee6fad8be431264b7
+PV = 2.4.0
+
+SRC_URI = git://git.lttng.org/lttng-modules.git;branch=stable-2.4 \
+   file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch
+
+export INSTALL_MOD_DIR=kernel/lttng-modules
+export KERNEL_SRC=${STAGING_KERNEL_DIR}
+
+
+S = ${WORKDIR}/git
+
+do_install_append() {
+   # Delete empty directories to avoid QA failures if no modules were built
+   find ${D}/lib -depth -type d -empty -exec rmdir {} \;
+}
+
+python do_package_prepend() {
+if not os.path.exists(os.path.join(d.getVar('D', True), 'lib/modules')):
+bb.warn(%s: no modules were created; this may be due to 
CONFIG_TRACEPOINTS not being enabled in your kernel. % d.getVar('PN', True))
+}
+
-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/7] lttng-ust: Add version 2.4.0

2014-03-06 Thread Tom Zanussi
From: Tom Zanussi tom.zanu...@intel.com

This updates lttng-ust to 2.4.0, codenamed Époque Opaque, needed
for interoperability with lttng-modules and the 3.14 (dev) kernel.

Signed-off-by: Tom Zanussi tom.zanu...@intel.com
---
 meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb | 31 
 1 file changed, 31 insertions(+)
 create mode 100644 meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb

diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb 
b/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb
new file mode 100644
index 000..9f806c1
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = Linux Trace Toolkit Userspace Tracer 2.x
+DESCRIPTION = The LTTng UST 2.x package contains the userspace tracer library 
to trace userspace codes.
+HOMEPAGE = http://lttng.org/ust;
+BUGTRACKER = https://bugs.lttng.org/projects/lttng-ust;
+
+LICENSE = LGPLv2.1+  BSD  GPLv2
+LIC_FILES_CHKSUM = file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \
+
file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \
+
file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44
+
+inherit autotools lib_package
+
+DEPENDS = liburcu util-linux
+
+# For backwards compatibility after rename
+RPROVIDES_${PN} = lttng2-ust
+RREPLACES_${PN} = lttng2-ust
+RCONFLICTS_${PN} = lttng2-ust
+
+SRCREV = 5ba5bf7fba804d2de773ae1c71106a8ed856c56a
+PV = 2.4.0
+PE = 2
+
+SRC_URI = git://git.lttng.org/lttng-ust.git;branch=stable-2.4 \
+  
+
+S = ${WORKDIR}/git
+
+do_configure_prepend () {
+   ( cd ${S}; ${S}/bootstrap )
+}
-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 4/7] lttng-modules: Exclude arm

2014-03-06 Thread Tom Zanussi
From: Tom Zanussi tom.zanu...@intel.com

lttng-modules and gcc-4.8 don't mix, according to the lttng ML
'current_thread_info() not respecting program order with gcc 4.8.x',
so remove it from arm builds.

Signed-off-by: Tom Zanussi tom.zanu...@intel.com
---
 meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb | 1 +
 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb   | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb 
b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index 4a97c24..80f3031 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -58,6 +58,7 @@ LTTNGTOOLS_aarch64 = 
 
 LTTNGMODULES = lttng-modules
 LTTNGMODULES_aarch64 = 
+LTTNGMODULES_arm = 
 
 BABELTRACE = babeltrace
 BABELTRACE_aarch64 = 
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb 
b/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
index 0b7d5e8..797ed4e 100644
--- a/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb
@@ -13,6 +13,9 @@ inherit module
 SRCREV = fb2c37799306d16fb590aebee6fad8be431264b7
 PV = 2.4.0
 
+# lttng currently blacklists arm with gcc-4.8
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips).*-linux'
+
 SRC_URI = git://git.lttng.org/lttng-modules.git;branch=stable-2.4 \
file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch
 
-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 6/7] lttng-ust: Disable doc/examples in the build

2014-03-06 Thread Tom Zanussi
Don't build the doc examples - we don't need them and in fact they
never successfully built in previous iterations of the lttng-ust
recipe anyway.

Signed-off-by: Tom Zanussi tom.zanu...@linux.intel.com
---
 .../lttng-ust/lttng-ust-doc-examples-disable.patch | 18 ++
 meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb   |  1 +
 2 files changed, 19 insertions(+)
 create mode 100644 
meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch

diff --git 
a/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch 
b/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
new file mode 100644
index 000..b68a989
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
@@ -0,0 +1,18 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+Don't build the doc examples - we don't need them and in fact they
+never successfully built in previous iterations of the lttng-ust
+recipe anyway.
+
+Signed-off-by: Tom Zanussi tom.zanu...@intel.com
+
+Index: doc/Makefile.am
+===
+--- a/doc/Makefile.am
 b/doc/Makefile.am
+@@ -1,4 +1,4 @@
+-SUBDIRS = . examples
++SUBDIRS = .
+ 
+ dist_man_MANS = man/lttng-gen-tp.1 \
+   man/lttng-ust.3 \
diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb 
b/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb
index 9f806c1..1629554 100644
--- a/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb
+++ b/meta/recipes-kernel/lttng/lttng-ust_2.4.0.bb
@@ -22,6 +22,7 @@ PV = 2.4.0
 PE = 2
 
 SRC_URI = git://git.lttng.org/lttng-ust.git;branch=stable-2.4 \
+   file://lttng-ust-doc-examples-disable.patch \
   
 
 S = ${WORKDIR}/git
-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/7] lttng-tools: Add version 2.4.0

2014-03-06 Thread Tom Zanussi
From: Tom Zanussi tom.zanu...@intel.com

This updates lttng-tools to 2.4.0, codenamed Époque Opaque, needed
for interoperability with lttng-modules and the 3.14 (dev) kernel.

Signed-off-by: Tom Zanussi tom.zanu...@intel.com
---
 .../lttng/lttng-tools/runtest-2.4.0.patch  | 27 ++
 meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb | 59 ++
 2 files changed, 86 insertions(+)
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools/runtest-2.4.0.patch
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb

diff --git a/meta/recipes-kernel/lttng/lttng-tools/runtest-2.4.0.patch 
b/meta/recipes-kernel/lttng/lttng-tools/runtest-2.4.0.patch
new file mode 100644
index 000..958bce4
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools/runtest-2.4.0.patch
@@ -0,0 +1,27 @@
+diff --git a/Makefile.am b/Makefile.am
+index 584f59b..c2bcabd 100644
+--- a/Makefile.am
 b/Makefile.am
+@@ -12,3 +12,9 @@ dist_doc_DATA = LICENSE \
+ dist_noinst_DATA = CodingStyle
+ 
+ EXTRA_DIST = extras/lttng-bash_completion gpl-2.0.txt lgpl-2.1.txt
++
++install-ptest:
++  cp -r $(srcdir)/tests $(DESTDIR)
++  for m in $$(find $(DESTDIR)/tests -name Makefile); do \
++  sed -i -e 's|^Makefile:|_Makefile:|' $$m; \
++done
+diff --git a/tests/run.sh b/tests/run.sh
+index c6c50fd..6455359 100755
+--- a/tests/run.sh
 b/tests/run.sh
+@@ -19,4 +19,7 @@
+ 
+ [ -z $1 ]  echo Error: No testlist. Please specify a testlist to run. 
 exit 1
+ 
+-prove --merge --exec '' -  $1
++prove --merge -v --exec '' -  $1 | sed \
++  -e 's|^ok \(.*\)|PASS: \1|' \
++  -e 's|^not ok \(.*\)|FAIL: \1|' \
++  | egrep -h 'PASS|FAIL'
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb 
b/meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb
new file mode 100644
index 000..223b52e
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb
@@ -0,0 +1,59 @@
+SECTION = devel
+SUMMARY = Linux Trace Toolkit Control
+DESCRIPTION = The Linux trace toolkit is a suite of tools designed \
+to extract program execution details from the Linux operating system \
+and interpret them.
+
+LICENSE = GPLv2  LGPLv2.1
+LIC_FILES_CHKSUM = file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \
+file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+file://lgpl-2.1.txt;md5=0f0d71500e6a57fd24d825f33242b9ca
+
+DEPENDS = liburcu popt lttng-ust
+RDEPENDS_${PN}-ptest += make
+
+SRCREV = 8e3234eea2d81f8a962214c570532f8e096a9a8d
+PV = v2.4.0
+
+SRC_URI = git://git.lttng.org/lttng-tools.git;branch=stable-2.4 \
+   file://runtest-2.4.0.patch \
+   file://run-ptest \
+ 
+
+S = ${WORKDIR}/git
+
+inherit autotools-brokensep ptest
+
+export KERNELDIR=${STAGING_KERNEL_DIR}
+
+FILES_${PN} += ${libdir}/lttng/libexec/*
+FILES_${PN}-dbg += ${libdir}/lttng/libexec/.debug
+
+# Since files are installed into ${libdir}/lttng/libexec we match 
+# the libexec insane test so skip it.
+INSANE_SKIP_${PN} = libexec
+INSANE_SKIP_${PN}-dbg = libexec
+
+
+do_install_ptest () {
+   chmod +x ${D}/${libdir}/${PN}/ptest/tests/utils/utils.sh
+   for i in `find ${D}/${libdir}/${PN}/ptest -perm /u+x -type f`; do
+   sed -e s:\$TESTDIR.*/src/bin/lttng/\$LTTNG_BIN:\$LTTNG_BIN:g \
+ -e 
s:\$TESTDIR/../src/bin/lttng-sessiond/\$SESSIOND_BIN:\$SESSIOND_BIN:g \
+ -e 
s:\$DIR/../src/bin/lttng-sessiond/\$SESSIOND_BIN:\$SESSIOND_BIN:g \
+ -e 
s:\$TESTDIR/../src/bin/lttng-consumerd/:${libdir}/lttng/libexec/:g \
+ -e 
s:\$DIR/../src/bin/lttng-consumerd/:${libdir}/lttng/libexec/:g \
+ -e 
s:\$TESTDIR/../src/bin/lttng-relayd/\$RELAYD_BIN:\$RELAYD_BIN:g \
+ -e 
s:\$DIR/../src/bin/lttng-sessiond/lttng-sessiond:\$SESSIOND_BIN:g \
+ -e 
s:\$DIR/../src/bin/lttng-relayd/\$RELAYD_BIN:\$RELAYD_BIN:g \
+ -e s:\$DIR/../bin/lttng-relayd/\$RELAYD_BIN:\$RELAYD_BIN:g \
+ -i $i
+   done
+
+   sed -e s:src/bin/lttng-sessiond:$bindir:g \
+   -e s:src/bin/lttng-consumerd:${libexecdir}/libexec/:g \
+   -i ${D}/${libdir}/${PN}/ptest/tests/regression/run-report.py
+   sed -e s:src/bin:bin:g \
+   -i ${D}/${libdir}/${PN}/ptest/tests/utils/utils.sh
+
+}
-- 
1.8.3.1

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 5/7] lttng-modules: Fix 3.14 bio tracepoints

2014-03-06 Thread Tom Zanussi
From: Tom Zanussi tom.zanu...@intel.com

The mainline 3.14 commit 'block: Astract out bvec iterator' broke the
lttng-modules tracepoints.  Fix them here.

Signed-off-by: Tom Zanussi tom.zanu...@intel.com
---
 .../lttng/lttng-modules/bio-bvec-iter.patch| 156 +
 meta/recipes-kernel/lttng/lttng-modules_2.4.0.bb   |   3 +-
 2 files changed, 158 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch

diff --git a/meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch 
b/meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch
new file mode 100644
index 000..d6c66e4
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch
@@ -0,0 +1,156 @@
+Upstream-Status: Pending
+
+In 3.14, bi_sector and bi_size were moved into an iterator, thus
+breaking any tracepoints that still expect them in the bio.  Fix up
+the lttng-module tracepoints to use the new scheme when the kernel
+version is = 3.14.
+
+Signed-off-by: Tom Zanussi tom.zanu...@intel.com
+
+diff --git a/instrumentation/events/lttng-module/block.h 
b/instrumentation/events/lttng-module/block.h
+index f3b8bff..0a61543 100644
+--- a/instrumentation/events/lttng-module/block.h
 b/instrumentation/events/lttng-module/block.h
+@@ -341,9 +341,15 @@ TRACE_EVENT(block_bio_bounce,
+   TP_fast_assign(
+   tp_assign(dev, bio-bi_bdev ?
+ bio-bi_bdev-bd_dev : 0)
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  tp_assign(sector, bio-bi_iter.bi_sector)
++  tp_assign(nr_sector, bio-bi_iter.bi_size  9)
++  blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_assign(sector, bio-bi_sector)
+   tp_assign(nr_sector, bio-bi_size  9)
+   blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_memcpy(comm, current-comm, TASK_COMM_LEN)
+   ),
+ 
+@@ -385,14 +391,24 @@ TRACE_EVENT(block_bio_complete,
+ 
+   TP_fast_assign(
+   tp_assign(dev, bio-bi_bdev-bd_dev)
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  tp_assign(sector, bio-bi_iter.bi_sector)
++  tp_assign(nr_sector, bio-bi_iter.bi_size  9)
++#else /* #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_assign(sector, bio-bi_sector)
+   tp_assign(nr_sector, bio-bi_size  9)
++#endif /* #else #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
++
+ #if (LINUX_VERSION_CODE = KERNEL_VERSION(2,6,38))
+   tp_assign(error, error)
+ #else
+   tp_assign(error, 0)
+ #endif
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   ),
+ 
+   TP_printk(%d,%d %s %llu + %u [%d],
+@@ -419,9 +435,15 @@ DECLARE_EVENT_CLASS(block_bio_merge,
+ 
+   TP_fast_assign(
+   tp_assign(dev, bio-bi_bdev-bd_dev)
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  tp_assign(sector, bio-bi_iter.bi_sector)
++  tp_assign(nr_sector, bio-bi_iter.bi_size  9)
++  blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_assign(sector, bio-bi_sector)
+   tp_assign(nr_sector, bio-bi_size  9)
+   blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_memcpy(comm, current-comm, TASK_COMM_LEN)
+   ),
+ 
+@@ -485,9 +507,15 @@ TRACE_EVENT(block_bio_queue,
+ 
+   TP_fast_assign(
+   tp_assign(dev, bio-bi_bdev-bd_dev)
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  tp_assign(sector, bio-bi_iter.bi_sector)
++  tp_assign(nr_sector, bio-bi_iter.bi_size  9)
++  blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_iter.bi_size)
++#else /* #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_assign(sector, bio-bi_sector)
+   tp_assign(nr_sector, bio-bi_size  9)
+   blk_fill_rwbs(rwbs, bio-bi_rw, bio-bi_size)
++#endif /* #else #if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0)) */
+   tp_memcpy(comm, current-comm, TASK_COMM_LEN)
+   ),
+ 
+@@ -513,9 +541,15 @@ DECLARE_EVENT_CLASS(block_bio,
+ 
+   TP_fast_assign(
+   tp_assign(dev, bio-bi_bdev ? bio-bi_bdev-bd_dev : 0)
++#if (LINUX_VERSION_CODE = KERNEL_VERSION(3,14,0))
++  tp_assign(sector, bio-bi_iter.bi_sector)
++  tp_assign(nr_sector, bio-bi_iter.bi_size  9)
++  

[OE-core] [PATCH 7/7] gcc: Add upstream fix for gcc bug 58595

2014-03-06 Thread Tom Zanussi
Fix for internal compiler error hit when building lttng-tools_4.2.0:

 kernel-consumer.c:324:1: internal compiler error: in gen_movsi, at
   config/arm/arm.md:5539

Signed-off-by: Tom Zanussi tom.zanu...@linux.intel.com
---
 meta/recipes-devtools/gcc/gcc-4.8.inc  |   3 +-
 .../gcc/gcc-4.8/0050-PR-target-58595.patch | 132 +
 2 files changed, 134 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/0050-PR-target-58595.patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc 
b/meta/recipes-devtools/gcc/gcc-4.8.inc
index f5e583d..855ec26 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.8.inc
@@ -69,7 +69,8 @@ SRC_URI = ${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
   file://0046-libatomic-deptracking.patch \
   file://0047-repomembug.patch \
   file://0048-PR58854_fix_arm_apcs_epilogue.patch \
-  
file://0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \ 
+  
file://0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \
+  file://0050-PR-target-58595.patch \
  
 SRC_URI[md5sum] = a3d7d63b9cb6b6ea049469a0c4a43c9d
 SRC_URI[sha256sum] = 
09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0050-PR-target-58595.patch 
b/meta/recipes-devtools/gcc/gcc-4.8/0050-PR-target-58595.patch
new file mode 100644
index 000..4470596
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0050-PR-target-58595.patch
@@ -0,0 +1,132 @@
+Backport fix for PR target/58595
+
+From: jakub jakub@138bc75d-0d04-0410-961f-82ee72b054a4
+Date: Thu, 6 Mar 2014 12:07:07 +
+Subject: [PATCH]   PR target/58595 * config/arm/arm.c
+ (arm_tls_symbol_p): Remove.   (arm_legitimize_address): Call
+ legitimize_tls_address for anyarm_tls_referenced_p expression,
+ handle constant addend.  Call it  before testing for !TARGET_ARM. 
+ (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
+
+   * gcc.dg/tls/pr58595.c: New test.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208380 
138bc75d-0d04-0410-961f-82ee72b054a4
+
+Index: gcc-4.8.2/gcc/ChangeLog
+===
+--- gcc-4.8.2.orig/gcc/ChangeLog
 gcc-4.8.2/gcc/ChangeLog
+@@ -1,3 +1,13 @@
++2014-03-06  Jakub Jelinek  ja...@redhat.com
++  Meador Inge  mead...@codesourcery.com
++
++  PR target/58595
++  * config/arm/arm.c (arm_tls_symbol_p): Remove.
++  (arm_legitimize_address): Call legitimize_tls_address for any
++  arm_tls_referenced_p expression, handle constant addend.  Call it
++  before testing for !TARGET_ARM.
++  (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
++
+ 2013-10-16  Release Manager
+ 
+   * GCC 4.8.2 released.
+Index: gcc-4.8.2/gcc/config/arm/arm.c
+===
+--- gcc-4.8.2.orig/gcc/config/arm/arm.c
 gcc-4.8.2/gcc/config/arm/arm.c
+@@ -230,7 +230,6 @@ static tree arm_gimplify_va_arg_expr (tr
+ static void arm_option_override (void);
+ static unsigned HOST_WIDE_INT arm_shift_truncation_mask (enum machine_mode);
+ static bool arm_cannot_copy_insn_p (rtx);
+-static bool arm_tls_symbol_p (rtx x);
+ static int arm_issue_rate (void);
+ static void arm_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
+ static bool arm_output_addr_const_extra (FILE *, rtx);
+@@ -6573,6 +6572,32 @@ legitimize_tls_address (rtx x, rtx reg)
+ rtx
+ arm_legitimize_address (rtx x, rtx orig_x, enum machine_mode mode)
+ {
++  if (arm_tls_referenced_p (x))
++{
++  rtx addend = NULL;
++
++  if (GET_CODE (x) == CONST  GET_CODE (XEXP (x, 0)) == PLUS)
++  {
++addend = XEXP (XEXP (x, 0), 1);
++x = XEXP (XEXP (x, 0), 0);
++  }
++
++  if (GET_CODE (x) != SYMBOL_REF)
++  return x;
++
++  gcc_assert (SYMBOL_REF_TLS_MODEL (x) != 0);
++
++  x = legitimize_tls_address (x, NULL_RTX);
++
++  if (addend)
++  {
++x = gen_rtx_PLUS (SImode, x, addend);
++orig_x = x;
++  }
++  else
++  return x;
++}
++
+   if (!TARGET_ARM)
+ {
+   /* TODO: legitimize_address for Thumb2.  */
+@@ -6581,9 +6606,6 @@ arm_legitimize_address (rtx x, rtx orig_
+   return thumb_legitimize_address (x, orig_x, mode);
+ }
+ 
+-  if (arm_tls_symbol_p (x))
+-return legitimize_tls_address (x, NULL_RTX);
+-
+   if (GET_CODE (x) == PLUS)
+ {
+   rtx xop0 = XEXP (x, 0);
+@@ -6695,9 +6717,6 @@ arm_legitimize_address (rtx x, rtx orig_
+ rtx
+ thumb_legitimize_address (rtx x, rtx orig_x, enum machine_mode mode)
+ {
+-  if (arm_tls_symbol_p (x))
+-return legitimize_tls_address (x, NULL_RTX);
+-
+   if (GET_CODE (x) == PLUS
+CONST_INT_P (XEXP (x, 1))
+(INTVAL (XEXP (x, 1)) = 32 * GET_MODE_SIZE (mode)
+@@ -6988,20 +7007,6 @@ thumb_legitimize_reload_address (rtx *x_

Re: [OE-core] [PATCH 2/3] buildhistory.bbclass: Fix dependency files creation

2014-03-06 Thread Laurentiu Palcu
On Thu, Mar 06, 2014 at 09:55:38PM +, Richard Purdie wrote:
 On Wed, 2014-03-05 at 14:39 +0200, Laurentiu Palcu wrote:
  Call the new python routines.
  
  [YOCTO #5904]
  
  Signed-off-by: Laurentiu Palcu laurentiu.pa...@intel.com
  ---
   meta/classes/buildhistory.bbclass |9 -
   1 file changed, 8 insertions(+), 1 deletion(-)
  
  diff --git a/meta/classes/buildhistory.bbclass 
  b/meta/classes/buildhistory.bbclass
  index ef4135b..01b0082 100644
  --- a/meta/classes/buildhistory.bbclass
  +++ b/meta/classes/buildhistory.bbclass
  @@ -319,6 +319,12 @@ python buildhistory_list_installed() {
   
   with open(pkgs_list_file, 'w') as pkgs_list:
   pkgs_list.write(list_installed_packages(d, 'file'))
  +
  +pkgs_deps_file = os.path.join(d.getVar('WORKDIR', True),
  +  bh_installed_pkgs_deps.txt)
  +
  +with open(pkgs_deps_file, 'w') as pkgs_deps:
  +pkgs_deps.write(list_installed_packages(d, 'deps'))
   }
   
  
  @@ -338,7 +344,8 @@ buildhistory_get_installed() {
   
  # Produce dependency graph
  # First, quote each name to handle characters that cause issues for dot
  -   rootfs_list_installed_depends | sed 's:\([^| ]*\):\1:g'  
  $1/depends.tmp
  +   cat ${WORKDIR}/bh_installed_pkgs_deps.txt | sed 's:\([^| ]*\):\1:g'  
  $1/depends.tmp  \
  +   rm ${WORKDIR}/bh_installed_pkgs_deps.txt
  # Change delimiter from pipe to - and set style for recommend lines
  sed -i -e 's:|: - :' -e 's:\[REC\]:[style=dotted]:' -e 's:$:;:' 
  $1/depends.tmp
  # Add header, sorted and de-duped contents and footer and then delete 
  the temp file
 
 With this patch, a bitbake core-image-minimal -c populate_sdk resulted
No, not quite. The bug appears to be in
RpmPM._pkg_translate_smart_to_oe(), which none of my patches touched.

CCing Hongxu.

laurentiu

 in:
 
 ERROR: Error executing a python function in 
 /media/build1/poky/meta/recipes-core/images/core-image-minimal.bb:
 
 The stack trace of python calls that resulted in this exception/failure was:
 File: 'buildhistory_list_installed', lineno: 18, function: module
  0014:with open(pkgs_deps_file, 'w') as pkgs_deps:
  0015:pkgs_deps.write(list_installed_packages(d, 'deps'))
  0016:
  0017:
  *** 0018:buildhistory_list_installed(d)
  0019:
 File: 'buildhistory_list_installed', lineno: 9, function: 
 buildhistory_list_installed
  0005:pkgs_list_file = os.path.join(d.getVar('WORKDIR', True),
  0006:  bh_installed_pkgs.txt)
  0007:
  0008:with open(pkgs_list_file, 'w') as pkgs_list:
  *** 0009:pkgs_list.write(list_installed_packages(d, 'file'))
  0010:
  0011:pkgs_deps_file = os.path.join(d.getVar('WORKDIR', True),
  0012:  bh_installed_pkgs_deps.txt)
  0013:
 File: '/media/build1/poky/meta/lib/oe/rootfs.py', lineno: 721, function: 
 list_installed_packages
  0717:if img_type == rpm:
  0718:return RpmPM(d,
  0719: rootfs_dir,
  0720: d.getVar('TARGET_VENDOR', True)
  *** 0721: ).list_installed(format)
  0722:elif img_type == ipk:
  0723:return OpkgPM(d,
  0724:  rootfs_dir,
  0725:  d.getVar(IPKGCONF_TARGET, True),
 File: '/media/build1/poky/meta/lib/oe/package_manager.py', lineno: 854, 
 function: list_installed
  0850:pkg = line.split()[0]
  0851:arch = line.split()[1]
  0852:ver = line.split()[2]
  0853:pkgorigin = line.split()[3]
  *** 0854:new_pkg, new_arch = 
 self._pkg_translate_smart_to_oe(pkg, arch)
  0855:
  0856:if format == arch:
  0857:output.append('%s %s' % (new_pkg, new_arch))
  0858:elif format == file:
 File: '/media/build1/poky/meta/lib/oe/package_manager.py', lineno: 476, 
 function: _pkg_translate_smart_to_oe
  0472:
  0473:if found == 1 and fixed_arch == fixed_cmp_arch:
  0474:break
  0475:#bb.note('%s, %s - %s, %s' % (pkg, arch, new_pkg, 
 new_arch))
  *** 0476:return new_pkg, new_arch
  0477:
  0478:def _search_pkg_name_in_feeds(self, pkg, feed_archs):
  0479:for arch in feed_archs:
  0480:arch = arch.replace('-', '_')
 Exception: UnboundLocalError: local variable 'new_arch' referenced before 
 assignment
 
 ERROR: Function failed: buildhistory_list_installed
 ERROR: Logfile of failure stored in: 
 /media/build1/poky/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/temp/log.d
 
 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/3] libomxil: Fix link issue for gst-omx

2014-03-06 Thread Robert Yang
From: Sébastien Mennetrier s.mennetr...@innotis.org

gst-omx element can not load due to a missing symbol.
Missing symbol RM_Deinit.

(From OE-Core master rev: 56301698a55bcbab4272b273fd98ce4de84cbfac)

Signed-off-by: Sébastien Mennetrier s.mennetr...@innotis.org
Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
Signed-off-by: Robert Yang liezhi.y...@windriver.com
---
 .../libomxil-0.9.3/dynamicloader-linking.patch |   20 
 meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb |3 ++-
 2 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 
meta/recipes-multimedia/libomxil/libomxil-0.9.3/dynamicloader-linking.patch

diff --git 
a/meta/recipes-multimedia/libomxil/libomxil-0.9.3/dynamicloader-linking.patch 
b/meta/recipes-multimedia/libomxil/libomxil-0.9.3/dynamicloader-linking.patch
new file mode 100644
index 000..787953a
--- /dev/null
+++ 
b/meta/recipes-multimedia/libomxil/libomxil-0.9.3/dynamicloader-linking.patch
@@ -0,0 +1,20 @@
+This patch fixes link issue when libomxdynamicloader.so is loaded :
+Missing symbol RM_Deinit.
+
+This patch comes from 
http://pkgs.fedoraproject.org/cgit/libomxil-bellagio.git/commit/?h=f17id=4996a95828943d345e51ded6876c3103653eecf8;
+
+Upstream-Status: Pending
+
+Signed-off-by: Sébastien Mennetrier s.mennetr...@innotis.org
+
+--- a/src/dynamic_loader/Makefile.am   2014-02-25 15:29:10.128549636 +0100
 b/src/dynamic_loader/Makefile.am   2014-02-25 15:30:15.756548808 +0100
+@@ -3,7 +3,7 @@
+ omxdynamicloader_LTLIBRARIES = libomxdynamicloader.la
+ libomxdynamicloader_la_SOURCES = ste_dynamic_component_loader.c 
ste_dynamic_component_loader.h
+ 
+-libomxdynamicloader_la_LDFLAGS =
++libomxdynamicloader_la_LDFLAGS = -lomxil-bellagio -L$(top_builddir)/src/.libs
+ libomxdynamicloader_la_CFLAGS = -I$(top_srcdir)/include \
+   -I$(top_srcdir)/src \
+   -I$(top_srcdir)/src/base \
diff --git a/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb 
b/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb
index 8c3166f..dfbd940 100644
--- a/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb
+++ b/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb
@@ -10,7 +10,8 @@ PR = r0
 SRC_URI = ${SOURCEFORGE_MIRROR}/omxil/libomxil-bellagio-${PV}.tar.gz \
file://configure-fix.patch \
file://parallel-make.patch \
-   file://makefile-docdir-fix.patch
+   file://makefile-docdir-fix.patch \
+   file://dynamicloader-linking.patch
 
 SRC_URI[md5sum] = a1de827fdb75c02c84e55f740ca27cb8
 SRC_URI[sha256sum] = 
593c0729c8ef8c1467b3bfefcf355ec19a46dd92e31bfc280e17d96b0934d74c
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/3] iproute2: de-bash its scripts to remove the bash dependency

2014-03-06 Thread Robert Yang
From: Chen Qi qi.c...@windriver.com

If we build a minimal image with iproute2 installed, the following
error will appear during rootfs.

error: Can't install iproute2-3.10.0-r0.0@i586: no package provides /bin/bash

The problem is that iproute2 has an implicit dependency on 'bash'.
This dependency is from per-file dependency checking.

Patch two scripts, ifcfg and rtpr, from iproute2 to remove the bash
specific syntax.

[YOCTO #5415]

(From OE-Core master rev: 1132c4210eddd59b22b2640935ab0bb8f48c0124)

Signed-off-by: Chen Qi qi.c...@windriver.com
Signed-off-by: Saul Wold s...@linux.intel.com
Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
Signed-off-by: Robert Yang liezhi.y...@windriver.com
---
 .../iproute2/0001-iproute2-de-bash-scripts.patch   |   64 
 .../iproute2/iproute2_3.10.0.bb|1 +
 2 files changed, 65 insertions(+)
 create mode 100644 
meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch

diff --git 
a/meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch
 
b/meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch
new file mode 100644
index 000..39c7d40
--- /dev/null
+++ 
b/meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch
@@ -0,0 +1,64 @@
+Subject: [PATCH] iproute2: de-bash scripts
+
+de-bash these two scripts to make iproute2 not depend on bash.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi qi.c...@windriver.com
+
+---
+ ip/ifcfg |   15 ---
+ ip/rtpr  |2 +-
+ 2 files changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/ip/ifcfg b/ip/ifcfg
+index 083d9df..60bcf1f 100644
+--- a/ip/ifcfg
 b/ip/ifcfg
+@@ -1,12 +1,13 @@
+-#! /bin/bash
++#! /bin/sh
+ 
+ CheckForwarding () {
+-  local sbase fwd
++  local sbase fwd forwarding
+   sbase=/proc/sys/net/ipv4/conf
+   fwd=0
+   if [ -d $sbase ]; then
+ for dir in $sbase/*/forwarding; do
+-  fwd=$[$fwd + `cat $dir`]
++  forwarding=`cat $dir`
++  fwd=$(($fwd+$forwarding))
+ done
+   else
+ fwd=2
+@@ -127,12 +128,12 @@ fi
+ arping -q -A -c 1 -I $dev $ipaddr
+ noarp=$?
+ ( sleep 2 ;
+-  arping -q -U -c 1 -I $dev $ipaddr )  /dev/null /dev/null 
++  arping -q -U -c 1 -I $dev $ipaddr )  /dev/null 21 /dev/null 
+ 
+-ip route add unreachable 224.0.0.0/24  /dev/null
+-ip route add unreachable 255.255.255.255  /dev/null
++ip route add unreachable 224.0.0.0/24  /dev/null 21
++ip route add unreachable 255.255.255.255  /dev/null 21
+ if [ `ip link ls $dev | grep -c MULTICAST` -ge 1 ]; then
+-  ip route add 224.0.0.0/4 dev $dev scope global  /dev/null
++  ip route add 224.0.0.0/4 dev $dev scope global  /dev/null 21
+ fi
+ 
+ if [ $fwd -eq 0 ]; then
+diff --git a/ip/rtpr b/ip/rtpr
+index c3629fd..674198d 100644
+--- a/ip/rtpr
 b/ip/rtpr
+@@ -1,4 +1,4 @@
+-#! /bin/bash
++#! /bin/sh
+ 
+ exec tr [] [
+ ]
+-- 
+1.7.9.5
+
diff --git a/meta/recipes-connectivity/iproute2/iproute2_3.10.0.bb 
b/meta/recipes-connectivity/iproute2/iproute2_3.10.0.bb
index 2220467..721fa55 100644
--- a/meta/recipes-connectivity/iproute2/iproute2_3.10.0.bb
+++ b/meta/recipes-connectivity/iproute2/iproute2_3.10.0.bb
@@ -2,6 +2,7 @@ require iproute2.inc
 
 SRC_URI = ${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BPN}-${PV}.tar.xz \
file://configure-cross.patch \
+   file://0001-iproute2-de-bash-scripts.patch \
   
 
 SRC_URI[md5sum] = 45fb5427fc723a0001c72b92c931ba02
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/3] grub: move xz to DEPENDS list from RDEPENDS list

2014-03-06 Thread Robert Yang
From: Ming Liu ming@windriver.com

liblzma5 is really requiring by grub, setting RDEPENDS to xz would pull
unneeded xz binaries into rootfs.

(From OE-Core master rev: 78526905999fa38047ae8f3491127cc03de3e3f6)

Signed-off-by: Ming Liu ming@windriver.com
Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org
Signed-off-by: Robert Yang liezhi.y...@windriver.com
---
 meta/recipes-bsp/grub/grub_2.00.bb |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-bsp/grub/grub_2.00.bb 
b/meta/recipes-bsp/grub/grub_2.00.bb
index b09e2f5..ff9a7c6 100644
--- a/meta/recipes-bsp/grub/grub_2.00.bb
+++ b/meta/recipes-bsp/grub/grub_2.00.bb
@@ -11,8 +11,8 @@ SECTION = bootloaders
 LICENSE = GPLv3
 LIC_FILES_CHKSUM = file://COPYING;md5=d32239bcb673463ab874e80d47fae504
 
-DEPENDS = autogen-native flex-native bison-native
-RDEPENDS_${PN} = diffutils freetype xz
+DEPENDS = autogen-native flex-native bison-native xz
+RDEPENDS_${PN} = diffutils freetype
 PR = r1
 
 SRC_URI = ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 0/3] [dora] 3 fixes for dora

2014-03-06 Thread Robert Yang
The following changes since commit 18f34944696a8098daf33a94bc2f532deb217d0a:

  gnutls: fix failure during do_compile (2014-03-06 10:31:57 +)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib robert/dora-next
  
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=robert/dora-next

Chen Qi (1):
  iproute2: de-bash its scripts to remove the bash dependency

Ming Liu (1):
  grub: move xz to DEPENDS list from RDEPENDS list

Sébastien Mennetrier (1):
  libomxil: Fix link issue for gst-omx

 meta/recipes-bsp/grub/grub_2.00.bb |4 +-
 .../iproute2/0001-iproute2-de-bash-scripts.patch   |   64 
 .../iproute2/iproute2_3.10.0.bb|1 +
 .../libomxil-0.9.3/dynamicloader-linking.patch |   20 ++
 meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb |3 +-
 5 files changed, 89 insertions(+), 3 deletions(-)
 create mode 100644 
meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch
 create mode 100644 
meta/recipes-multimedia/libomxil/libomxil-0.9.3/dynamicloader-linking.patch

-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 00/14] use mke2fs -d to create the ext2/3/4 image

2014-03-06 Thread Robert Yang
Benefits:
* The mke2fs -d is more faster than populate-extfs.sh, it will save about 25
  seconds for a core-image-sato rootfs from my testing.

* Will fix these bugs:
  5901: Error at rootfs time if 'ptest-pkgs' is in IMAGE_FEATURES
  5797: populate-extfs.sh: problem with large images
  5712: /var/lib/opkg/alternatives/[[: File not found by ext2_lookup

NOTE:
* These patches have been merged into e2fsprogs's next branch, we can
  drop them when the new e2fsprogs releases and we upgrade it. It is a
  little different from the upstream since I've fixed it a little
  according to the feedback.

* Thanks for Darren's great help.

// Robert

The following changes since commit c6825ec6e92e20bb64a051d1576f363c16e98d68:

  recipes: bump PRs (2014-03-05 17:26:24 +)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib rbt/e2fs
  
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/e2fs

Robert Yang (14):
  e2fsprogs: mke2fs: add the ability to copy files from a given
directory
  e2fsprogs: mke2fs: copy files recursively
  e2fsprogs: mke2fs: create special file
  e2fsprogs: mke2fs: create symlink
  e2fsprogs: mke2fs: copy regular file
  e2fsprogs: mke2fs: create directory
  e2fsprogs: mke2fs: set owner/mode/time for the inode
  e2fsprogs: mke2fs: add an option: -d root-directory
  e2fsprogs: mke2fs: handle hardlinks
  e2fsprogs: debugfs: use the functions in misc/create_inode.c
  e2fsprogs: mke2fs: update the manual for the -d option
  e2fsprogs: enable the -d related patches
  image_types.bbclass: use mke2fs -d to create the ext2/3/4 image
  e2fsprogs: populate-extfs.sh: remove it

 meta/classes/image_types.bbclass   |3 +-
 ...the-ability-to-copy-files-from-a-given-di.patch |   98 
 ...isc-create_inode.c-copy-files-recursively.patch |  135 ++
 ...3-misc-create_inode.c-create-special-file.patch |  103 
 .../0004-misc-create_inode.c-create-symlink.patch  |   63 +++
 ...005-misc-create_inode.c-copy-regular-file.patch |  224 +
 ...0006-misc-create_inode.c-create-directory.patch |   62 +++
 ..._inode.c-set-owner-mode-time-for-the-inod.patch |   81 
 ...8-mke2fs.c-add-an-option-d-root-directory.patch |  168 +++
 ...0009-misc-create_inode.c-handle-hardlinks.patch |  210 +
 ...-use-the-functions-in-misc-create_inode.c.patch |  496 
 ...s.8.in-update-the-manual-for-the-d-option.patch |   43 ++
 .../e2fsprogs/e2fsprogs/populate-extfs.sh  |   96 
 .../recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb |   13 +-
 14 files changed, 1695 insertions(+), 100 deletions(-)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-mke2fs-add-the-ability-to-copy-files-from-a-given-di.patch
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0003-misc-create_inode.c-create-special-file.patch
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0004-misc-create_inode.c-create-symlink.patch
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0005-misc-create_inode.c-copy-regular-file.patch
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0006-misc-create_inode.c-create-directory.patch
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0007-misc-create_inode.c-set-owner-mode-time-for-the-inod.patch
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0008-mke2fs.c-add-an-option-d-root-directory.patch
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0009-misc-create_inode.c-handle-hardlinks.patch
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0010-debugfs-use-the-functions-in-misc-create_inode.c.patch
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0011-mke2fs.8.in-update-the-manual-for-the-d-option.patch
 delete mode 100644 meta/recipes-devtools/e2fsprogs/e2fsprogs/populate-extfs.sh

-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 01/14] e2fsprogs: mke2fs: add the ability to copy files from a given directory

2014-03-06 Thread Robert Yang
We will add a -d option which will be used for adding the files from a
given directory to the filesystem, it is similiar to genext2fs, but
genext2fs doesn't fully support ext4.

* We already have the basic operations in debugfs:
  - Copy regular file
  - Create directory
  - Create symlink
  - Create special file

  We will move these operations into create_inode.h and create_inode.c,
  then let both mke2fs and debugfs use them.

* What we need to do are:
  - Copy the given directory recursively, this will be done by the
populate_fs()
  - Set the owner, mode and other informations
  - Handle the hard links

TODO:
  - The libext2fs can't create the socket file (S_IFSOCK), do we have a
plan to support it ?

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 ...the-ability-to-copy-files-from-a-given-di.patch |   98 
 1 file changed, 98 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-mke2fs-add-the-ability-to-copy-files-from-a-given-di.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-mke2fs-add-the-ability-to-copy-files-from-a-given-di.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-mke2fs-add-the-ability-to-copy-files-from-a-given-di.patch
new file mode 100644
index 000..9ea413e
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-mke2fs-add-the-ability-to-copy-files-from-a-given-di.patch
@@ -0,0 +1,98 @@
+From c98fec004f077e566b9dfa20b25e3b86cb462a2e Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Tue, 24 Dec 2013 01:41:08 -0500
+Subject: [PATCH 01/11] mke2fs: add the ability to copy files from a given
+ directory
+
+We will add a -d option which will be used for adding the files from a
+given directory to the filesystem, it is similiar to genext2fs, but
+genext2fs doesn't fully support ext4.
+
+* We already have the basic operations in debugfs:
+  - Copy regular file
+  - Create directory
+  - Create symlink
+  - Create special file
+
+  We will move these operations into create_inode.h and create_inode.c,
+  then let both mke2fs and debugfs use them.
+
+* What we need to do are:
+  - Copy the given directory recursively, this will be done by the
+populate_fs()
+  - Set the owner, mode and other informations
+  - Handle the hard links
+
+TODO:
+  - The libext2fs can't create the socket file (S_IFSOCK), do we have a
+plan to support it ?
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ misc/create_inode.c |   26 ++
+ misc/create_inode.h |   17 +
+ 2 files changed, 43 insertions(+)
+ create mode 100644 misc/create_inode.c
+ create mode 100644 misc/create_inode.h
+
+diff --git a/misc/create_inode.c b/misc/create_inode.c
+new file mode 100644
+index 000..46aaa60
+--- /dev/null
 b/misc/create_inode.c
+@@ -0,0 +1,26 @@
++#include create_inode.h
++
++/* Make a special file which is block, character and fifo */
++errcode_t do_mknod_internal(ext2_ino_t cwd, const char *name, struct stat *st)
++{
++}
++
++/* Make a symlink name - target */
++errcode_t do_symlink_internal(ext2_ino_t cwd, const char *name, char *target)
++{
++}
++
++/* Make a directory in the fs */
++errcode_t do_mkdir_internal(ext2_ino_t cwd, const char *name, struct stat *st)
++{
++}
++
++/* Copy the native file to the fs */
++errcode_t do_write_internal(ext2_ino_t cwd, const char *src, const char *dest)
++{
++}
++
++/* Copy files from source_dir to fs */
++errcode_t populate_fs(ext2_ino_t parent_ino, const char *source_dir)
++{
++}
+diff --git a/misc/create_inode.h b/misc/create_inode.h
+new file mode 100644
+index 000..9fc97fa
+--- /dev/null
 b/misc/create_inode.h
+@@ -0,0 +1,17 @@
++#include sys/types.h
++#include sys/stat.h
++#include fcntl.h
++#include et/com_err.h
++#include e2p/e2p.h
++#include ext2fs/ext2fs.h
++#include nls-enable.h
++
++ext2_filsyscurrent_fs;
++ext2_ino_t root;
++
++/* For populating the filesystem */
++extern errcode_t populate_fs(ext2_ino_t parent_ino, const char *source_dir);
++extern errcode_t do_mknod_internal(ext2_ino_t cwd, const char *name, struct 
stat *st);
++extern errcode_t do_symlink_internal(ext2_ino_t cwd, const char *name, char 
*target);
++extern errcode_t do_mkdir_internal(ext2_ino_t cwd, const char *name, struct 
stat *st);
++extern errcode_t do_write_internal(ext2_ino_t cwd, const char *src, const 
char *dest);
+-- 
+1.7.10.4
+
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 03/14] e2fsprogs: mke2fs: create special file

2014-03-06 Thread Robert Yang
The do_mknod_internal() is used for creating special file which is
block, character and fifo, most of the code are from debugfs/debugfs.c,
the debugfs/debugfs.c will be modified to use this function.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 ...3-misc-create_inode.c-create-special-file.patch |  103 
 1 file changed, 103 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0003-misc-create_inode.c-create-special-file.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0003-misc-create_inode.c-create-special-file.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0003-misc-create_inode.c-create-special-file.patch
new file mode 100644
index 000..3847b6e
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0003-misc-create_inode.c-create-special-file.patch
@@ -0,0 +1,103 @@
+From ae7d33823bfc330e08b25c5fe4d25838ef7c77ce Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Mon, 23 Dec 2013 03:13:28 -0500
+Subject: [PATCH 03/11] misc/create_inode.c: create special file
+
+The do_mknod_internal() is used for creating special file which is
+block, character and fifo, most of the code are from debugfs/debugfs.c,
+the debugfs/debugfs.c will be modified to use this function.
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ misc/create_inode.c |   72 +++
+ 1 file changed, 72 insertions(+)
+
+diff --git a/misc/create_inode.c b/misc/create_inode.c
+index b68b910..4da8aff 100644
+--- a/misc/create_inode.c
 b/misc/create_inode.c
+@@ -11,6 +11,78 @@
+ /* Make a special file which is block, character and fifo */
+ errcode_t do_mknod_internal(ext2_ino_t cwd, const char *name, struct stat *st)
+ {
++  ext2_ino_t  ino;
++  errcode_t   retval;
++  struct ext2_inode   inode;
++  unsigned long   major, minor, mode;
++  int filetype;
++
++  switch(st-st_mode  S_IFMT) {
++  case S_IFCHR:
++  mode = LINUX_S_IFCHR;
++  filetype = EXT2_FT_CHRDEV;
++  break;
++  case S_IFBLK:
++  mode = LINUX_S_IFBLK;
++  filetype =  EXT2_FT_BLKDEV;
++  break;
++  case S_IFIFO:
++  mode = LINUX_S_IFIFO;
++  filetype = EXT2_FT_FIFO;
++  break;
++  }
++
++  if (!(current_fs-flags  EXT2_FLAG_RW)) {
++  com_err(__func__, 0, Filesystem opened read/only);
++  return -1;
++  }
++  retval = ext2fs_new_inode(current_fs, cwd, 010755, 0, ino);
++  if (retval) {
++  com_err(__func__, retval, 0);
++  return retval;
++  }
++
++#ifdef DEBUGFS
++  printf(Allocated inode: %u\n, ino);
++#endif
++  retval = ext2fs_link(current_fs, cwd, name, ino, filetype);
++  if (retval == EXT2_ET_DIR_NO_SPACE) {
++  retval = ext2fs_expand_dir(current_fs, cwd);
++  if (retval) {
++  com_err(__func__, retval, while expanding directory);
++  return retval;
++  }
++  retval = ext2fs_link(current_fs, cwd, name, ino, filetype);
++  }
++  if (retval) {
++  com_err(name, retval, 0);
++  return -1;
++  }
++if (ext2fs_test_inode_bitmap2(current_fs-inode_map, ino))
++  com_err(__func__, 0, Warning: inode already set);
++  ext2fs_inode_alloc_stats2(current_fs, ino, +1, 0);
++  memset(inode, 0, sizeof(inode));
++  inode.i_mode = mode;
++  inode.i_atime = inode.i_ctime = inode.i_mtime =
++  current_fs-now ? current_fs-now : time(0);
++
++  major = major(st-st_rdev);
++  minor = minor(st-st_rdev);
++
++  if ((major  256)  (minor  256)) {
++  inode.i_block[0] = major * 256 + minor;
++  inode.i_block[1] = 0;
++  } else {
++  inode.i_block[0] = 0;
++  inode.i_block[1] = (minor  0xff) | (major  8) | ((minor  
~0xff)  12);
++  }
++  inode.i_links_count = 1;
++
++  retval = ext2fs_write_new_inode(current_fs, ino, inode);
++  if (retval)
++  com_err(__func__, retval, while creating inode %u, ino);
++
++  return retval;
+ }
+ 
+ /* Make a symlink name - target */
+-- 
+1.7.10.4
+
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 04/14] e2fsprogs: mke2fs: create symlink

2014-03-06 Thread Robert Yang
The do_symlink_internal() is used for creating symlinks, most of the
code are from debugfs/debugfs.c, the debugfs/debugfs.c will be modified
to use this function.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 .../0004-misc-create_inode.c-create-symlink.patch  |   63 
 1 file changed, 63 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0004-misc-create_inode.c-create-symlink.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0004-misc-create_inode.c-create-symlink.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0004-misc-create_inode.c-create-symlink.patch
new file mode 100644
index 000..83d198c
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0004-misc-create_inode.c-create-symlink.patch
@@ -0,0 +1,63 @@
+From 09d3049776882167f7249ee26265b4163d7222c1 Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Mon, 23 Dec 2013 03:19:55 -0500
+Subject: [PATCH 04/11] misc/create_inode.c: create symlink
+
+The do_symlink_internal() is used for creating symlinks, most of the
+code are from debugfs/debugfs.c, the debugfs/debugfs.c will be modified
+to use this function.
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ misc/create_inode.c |   32 
+ 1 file changed, 32 insertions(+)
+
+diff --git a/misc/create_inode.c b/misc/create_inode.c
+index 4da8aff..f845103 100644
+--- a/misc/create_inode.c
 b/misc/create_inode.c
+@@ -88,6 +88,38 @@ errcode_t do_mknod_internal(ext2_ino_t cwd, const char 
*name, struct stat *st)
+ /* Make a symlink name - target */
+ errcode_t do_symlink_internal(ext2_ino_t cwd, const char *name, char *target)
+ {
++  char*cp;
++  ext2_ino_t  parent_ino;
++  errcode_t   retval;
++  struct ext2_inode   inode;
++  struct stat st;
++
++  cp = strrchr(name, '/');
++  if (cp) {
++  *cp = 0;
++  if ((retval =  ext2fs_namei(current_fs, root, cwd, name, 
parent_ino))){
++  com_err(name, retval, 0);
++  return retval;
++  }
++  name = cp+1;
++  } else
++  parent_ino = cwd;
++
++try_again:
++  retval = ext2fs_symlink(current_fs, parent_ino, 0, name, target);
++  if (retval == EXT2_ET_DIR_NO_SPACE) {
++  retval = ext2fs_expand_dir(current_fs, parent_ino);
++  if (retval) {
++  com_err(do_symlink_internal, retval, while expanding 
directory);
++  return retval;
++  }
++  goto try_again;
++  }
++  if (retval) {
++  com_err(ext2fs_symlink, retval, 0);
++  return retval;
++  }
++
+ }
+ 
+ /* Make a directory in the fs */
+-- 
+1.7.10.4
+
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 02/14] e2fsprogs: mke2fs: copy files recursively

2014-03-06 Thread Robert Yang
Use opendir() and readdir() to read the native directory, then use
lstat() to identify the file type and call the corresponding function to
add the file to the filesystem, call the populate_fs() recursively if it
is a directory.

NOTE: the libext2fs can't create the socket file.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 ...isc-create_inode.c-copy-files-recursively.patch |  135 
 1 file changed, 135 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch
new file mode 100644
index 000..9bff644
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0002-misc-create_inode.c-copy-files-recursively.patch
@@ -0,0 +1,135 @@
+From 08dfbaf4e3f704232ff46d78c0758a6cfe3961c8 Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Mon, 23 Dec 2013 02:59:10 -0500
+Subject: [PATCH 02/11] misc/create_inode.c: copy files recursively
+
+Use opendir() and readdir() to read the native directory, then use
+lstat() to identify the file type and call the corresponding function to
+add the file to the filesystem, call the populate_fs() recursively if it
+is a directory.
+
+NOTE: the libext2fs can't create the socket file.
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ misc/create_inode.c |   97 +++
+ 1 file changed, 97 insertions(+)
+
+diff --git a/misc/create_inode.c b/misc/create_inode.c
+index 46aaa60..b68b910 100644
+--- a/misc/create_inode.c
 b/misc/create_inode.c
+@@ -1,5 +1,13 @@
+ #include create_inode.h
+ 
++#if __STDC_VERSION__  199901L
++# if __GNUC__ = 2
++#  define __func__ __FUNCTION__
++# else
++#  define __func__ unknown
++# endif
++#endif
++
+ /* Make a special file which is block, character and fifo */
+ errcode_t do_mknod_internal(ext2_ino_t cwd, const char *name, struct stat *st)
+ {
+@@ -23,4 +31,93 @@ errcode_t do_write_internal(ext2_ino_t cwd, const char 
*src, const char *dest)
+ /* Copy files from source_dir to fs */
+ errcode_t populate_fs(ext2_ino_t parent_ino, const char *source_dir)
+ {
++  const char  *name;
++  DIR *dh;
++  struct dirent   *dent;
++  struct stat st;
++  charln_target[PATH_MAX];
++  ext2_ino_t  ino;
++  errcode_t   retval;
++  int read_cnt;
++
++  root = EXT2_ROOT_INO;
++
++  if (chdir(source_dir)  0) {
++  com_err(__func__, errno,
++  _(while changing working directory to \%s\), 
source_dir);
++  return errno;
++  }
++
++  if (!(dh = opendir(.))) {
++  com_err(__func__, errno,
++  _(while openning directory \%s\), source_dir);
++  return errno;
++  }
++
++  while((dent = readdir(dh))) {
++  if((!strcmp(dent-d_name, .)) || (!strcmp(dent-d_name, 
..)))
++  continue;
++  lstat(dent-d_name, st);
++  name = dent-d_name;
++
++  switch(st.st_mode  S_IFMT) {
++  case S_IFCHR:
++  case S_IFBLK:
++  case S_IFIFO:
++  if ((retval = do_mknod_internal(parent_ino, 
name, st))) {
++  com_err(__func__, retval,
++  _(while creating special file 
\%s\), name);
++  return retval;
++  }
++  break;
++  case S_IFSOCK:
++  /* FIXME: there is no make socket function atm. 
*/
++  com_err(__func__, 0,
++  _(ignoring socket file \%s\), name);
++  continue;
++  case S_IFLNK:
++  if((read_cnt = readlink(name, ln_target, 
sizeof(ln_target))) == -1) {
++  com_err(__func__, errno,
++  _(while trying to readlink 
\%s\), name);
++  return errno;
++  }
++  ln_target[read_cnt] = '\0';
++  if ((retval = do_symlink_internal(parent_ino, 
name, ln_target))) {
++  com_err(__func__, retval,
++  _(while writing 
symlink\%s\), name);
++  return retval;
++ 

[OE-core] [PATCH 09/14] e2fsprogs: mke2fs: handle hardlinks

2014-03-06 Thread Robert Yang
Create the inode and save the native inode number when we meet the hard
link (st_nlink  1) at the first time, use ext2fs_link() to link the
name to the target inode number when we meet the same native inode
number again.

This algorithm is referred from the genext2fs.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 ...0009-misc-create_inode.c-handle-hardlinks.patch |  210 
 1 file changed, 210 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0009-misc-create_inode.c-handle-hardlinks.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0009-misc-create_inode.c-handle-hardlinks.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0009-misc-create_inode.c-handle-hardlinks.patch
new file mode 100644
index 000..a330ee4
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0009-misc-create_inode.c-handle-hardlinks.patch
@@ -0,0 +1,210 @@
+From d83dc950b3ec1fbde33b23d42c5154091a74f4d9 Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Mon, 23 Dec 2013 03:44:03 -0500
+Subject: [PATCH 09/11] misc/create_inode.c: handle hardlinks
+
+Create the inode and save the native inode number when we meet the hard
+link (st_nlink  1) at the first time, use ext2fs_link() to link the
+name to the target inode number when we meet the same native inode
+number again.
+
+This algorithm is referred from the genext2fs.
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ misc/create_inode.c |   88 +++
+ misc/create_inode.h |   18 +++
+ misc/mke2fs.c   |   12 +++
+ 3 files changed, 118 insertions(+)
+
+diff --git a/misc/create_inode.c b/misc/create_inode.c
+index aad7354..763504d 100644
+--- a/misc/create_inode.c
 b/misc/create_inode.c
+@@ -18,6 +18,44 @@
+ #define S_BLKSIZE 512
+ #endif
+ 
++/* For saving the hard links */
++int hdlink_cnt = HDLINK_CNT;
++
++/* Link an inode number to a directory */
++static errcode_t add_link(ext2_ino_t parent_ino, ext2_ino_t ino, const char 
*name)
++{
++  struct ext2_inode   inode;
++  errcode_t   retval;
++
++  retval = ext2fs_read_inode(current_fs, ino, inode);
++if (retval) {
++  com_err(__func__, retval, while reading inode %u, ino);
++  return retval;
++  }
++
++  retval = ext2fs_link(current_fs, parent_ino, name, ino, inode.i_flags);
++  if (retval == EXT2_ET_DIR_NO_SPACE) {
++  retval = ext2fs_expand_dir(current_fs, parent_ino);
++  if (retval) {
++  com_err(__func__, retval, while expanding directory);
++  return retval;
++  }
++  retval = ext2fs_link(current_fs, parent_ino, name, ino, 
inode.i_flags);
++  }
++  if (retval) {
++  com_err(__func__, retval, while linking %s, name);
++  return retval;
++  }
++
++  inode.i_links_count++;
++
++  retval = ext2fs_write_inode(current_fs, ino, inode);
++  if (retval)
++  com_err(__func__, retval, while writing inode %u, ino);
++
++  return retval;
++}
++
+ /* Fill the uid, gid, mode and time for the inode */
+ static void fill_inode(struct ext2_inode *inode, struct stat *st)
+ {
+@@ -278,6 +316,17 @@ fail:
+   return retval;
+ }
+ 
++int is_hardlink(ext2_ino_t ino)
++{
++  int i;
++
++  for(i = 0; i  hdlinks.count; i++) {
++  if(hdlinks.hdl[i].src_ino == ino)
++  return i;
++  }
++  return -1;
++}
++
+ /* Copy the native file to the fs */
+ errcode_t do_write_internal(ext2_ino_t cwd, const char *src, const char *dest)
+ {
+@@ -388,9 +437,11 @@ errcode_t populate_fs(ext2_ino_t parent_ino, const char 
*source_dir)
+   struct dirent   *dent;
+   struct stat st;
+   charln_target[PATH_MAX];
++  unsigned intsave_inode;
+   ext2_ino_t  ino;
+   errcode_t   retval;
+   int read_cnt;
++  int hdlink;
+ 
+   root = EXT2_ROOT_INO;
+ 
+@@ -412,6 +463,22 @@ errcode_t populate_fs(ext2_ino_t parent_ino, const char 
*source_dir)
+   lstat(dent-d_name, st);
+   name = dent-d_name;
+ 
++  /* Check for hardlinks */
++  save_inode = 0;
++  if (!S_ISDIR(st.st_mode)  !S_ISLNK(st.st_mode)  st.st_nlink 
 1) {
++  hdlink = is_hardlink(st.st_ino);
++  if (hdlink = 0) {
++  retval = add_link(parent_ino,
++  hdlinks.hdl[hdlink].dst_ino, 
name);
++  if (retval) {
++  com_err(__func__, retval, while 
linking %s, name);
++  return 

[OE-core] [PATCH 08/14] e2fsprogs: mke2fs: add an option: -d root-directory

2014-03-06 Thread Robert Yang
This option is used for adding the files from a given directory (the
root-directory) to the filesystem, it is similiar to genext2fs, but
genext2fs doesn't fully support ext4.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 ...8-mke2fs.c-add-an-option-d-root-directory.patch |  168 
 1 file changed, 168 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0008-mke2fs.c-add-an-option-d-root-directory.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0008-mke2fs.c-add-an-option-d-root-directory.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0008-mke2fs.c-add-an-option-d-root-directory.patch
new file mode 100644
index 000..1f98673
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0008-mke2fs.c-add-an-option-d-root-directory.patch
@@ -0,0 +1,168 @@
+From df856929e42bd4f3bdc8d4f59ee82ae8b28532e6 Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Tue, 24 Dec 2013 01:50:45 -0500
+Subject: [PATCH 08/11] mke2fs.c: add an option: -d root-directory
+
+This option is used for adding the files from a given directory (the
+root-directory) to the filesystem, it is similiar to genext2fs, but
+genext2fs doesn't fully support ext4.
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ misc/Makefile.in |   14 ++
+ misc/mke2fs.c|   32 +++-
+ 2 files changed, 33 insertions(+), 13 deletions(-)
+
+diff --git a/misc/Makefile.in b/misc/Makefile.in
+index 553c361..8253723 100644
+--- a/misc/Makefile.in
 b/misc/Makefile.in
+@@ -42,7 +42,8 @@ LPROGS=  @E2INITRD_PROG@
+ 
+ TUNE2FS_OBJS= tune2fs.o util.o
+ MKLPF_OBJS=   mklost+found.o
+-MKE2FS_OBJS=  mke2fs.o util.o profile.o prof_err.o default_profile.o
++MKE2FS_OBJS=  mke2fs.o util.o profile.o prof_err.o default_profile.o \
++  create_inode.o
+ CHATTR_OBJS=  chattr.o
+ LSATTR_OBJS=  lsattr.o
+ UUIDGEN_OBJS= uuidgen.o
+@@ -60,7 +61,8 @@ E2FREEFRAG_OBJS= e2freefrag.o
+ PROFILED_TUNE2FS_OBJS=profiled/tune2fs.o profiled/util.o
+ PROFILED_MKLPF_OBJS=  profiled/mklost+found.o
+ PROFILED_MKE2FS_OBJS= profiled/mke2fs.o profiled/util.o profiled/profile.o \
+-  profiled/prof_err.o profiled/default_profile.o
++  profiled/prof_err.o profiled/default_profile.o \
++  profiled/create_inode.o
+ PROFILED_CHATTR_OBJS= profiled/chattr.o
+ PROFILED_LSATTR_OBJS= profiled/lsattr.o
+ PROFILED_UUIDGEN_OBJS=profiled/uuidgen.o
+@@ -82,7 +84,7 @@ SRCS=$(srcdir)/tune2fs.c $(srcdir)/mklost+found.c 
$(srcdir)/mke2fs.c \
+   $(srcdir)/uuidgen.c $(srcdir)/blkid.c $(srcdir)/logsave.c \
+   $(srcdir)/filefrag.c $(srcdir)/base_device.c \
+   $(srcdir)/ismounted.c $(srcdir)/../e2fsck/profile.c \
+-  $(srcdir)/e2undo.c $(srcdir)/e2freefrag.c
++  $(srcdir)/e2undo.c $(srcdir)/e2freefrag.c 
$(srcdir)/create_inode.c
+ 
+ LIBS= $(LIBEXT2FS) $(LIBCOM_ERR) 
+ DEPLIBS= $(LIBEXT2FS) $(DEPLIBCOM_ERR)
+@@ -630,7 +632,7 @@ mke2fs.o: $(srcdir)/mke2fs.c $(top_builddir)/lib/config.h \
+  $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \
+  $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+  $(srcdir)/util.h profile.h prof_err.h $(top_srcdir)/version.h \
+- $(srcdir)/nls-enable.h $(top_srcdir)/lib/quota/mkquota.h \
++ $(srcdir)/nls-enable.h $(top_srcdir)/lib/quota/mkquota.h 
$(srcdir)/create_inode.h\
+  $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \
+  $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h
+ chattr.o: $(srcdir)/chattr.c $(top_builddir)/lib/config.h \
+@@ -710,3 +712,7 @@ e2freefrag.o: $(srcdir)/e2freefrag.c 
$(top_builddir)/lib/config.h \
+  $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+  $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \
+  $(srcdir)/e2freefrag.h
++create_inode.o: $(srcdir)/create_inode.h $(srcdir)/create_inode.c \
++ $(top_builddir)/lib/config.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
++ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/e2p/e2p.h \
++ $(srcdir)/nls-enable.h
+diff --git a/misc/mke2fs.c b/misc/mke2fs.c
+index 2e8ba60..578b62d 100644
+--- a/misc/mke2fs.c
 b/misc/mke2fs.c
+@@ -22,7 +22,6 @@
+ #include stdio.h
+ #include string.h
+ #include strings.h
+-#include fcntl.h
+ #include ctype.h
+ #include time.h
+ #ifdef __linux__
+@@ -44,24 +43,19 @@ extern int optind;
+ #include errno.h
+ #endif
+ #include sys/ioctl.h
+-#include sys/types.h
+-#include sys/stat.h
+ #include libgen.h
+ #include limits.h
+ #include blkid/blkid.h
+ 
+ #include ext2fs/ext2_fs.h
+ #include ext2fs/ext2fsP.h
+-#include et/com_err.h
+ #include uuid/uuid.h
+-#include e2p/e2p.h
+-#include ext2fs/ext2fs.h

[OE-core] [PATCH 11/14] e2fsprogs: mke2fs: update the manual for the -d option

2014-03-06 Thread Robert Yang
Update the manual for the -d option

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 ...s.8.in-update-the-manual-for-the-d-option.patch |   43 
 1 file changed, 43 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0011-mke2fs.8.in-update-the-manual-for-the-d-option.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0011-mke2fs.8.in-update-the-manual-for-the-d-option.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0011-mke2fs.8.in-update-the-manual-for-the-d-option.patch
new file mode 100644
index 000..ddd2cb8
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0011-mke2fs.8.in-update-the-manual-for-the-d-option.patch
@@ -0,0 +1,43 @@
+From 89fca439f1b58595f2f424598a27869f8c7bd815 Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Mon, 23 Dec 2013 04:43:18 -0500
+Subject: [PATCH 11/11] mke2fs.8.in: update the manual for the -d option
+
+Update the manual for the -d option
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ misc/mke2fs.8.in |7 +++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in
+index fea50da..b1ca486 100644
+--- a/misc/mke2fs.8.in
 b/misc/mke2fs.8.in
+@@ -52,6 +52,10 @@ mke2fs \- create an ext2/ext3/ext4 filesystem
+ .I number-of-inodes
+ ]
+ [
++.B \-d
++.I root-directory
++]
++[
+ .B \-n
+ ]
+ [
+@@ -502,6 +506,9 @@ the
+ ratio).  This allows the user to specify the number
+ of desired inodes directly.
+ .TP
++.BI \-d  root-directory
++Add the files from the root-directory to the filesystem.
++.TP
+ .BI \-o  creator-os
+ Overrides the default value of the creator operating system field of the
+ filesystem.  The creator field is set by default to the name of the OS the
+-- 
+1.7.10.4
+
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 13/14] image_types.bbclass: use mke2fs -d to create the ext2/3/4 image

2014-03-06 Thread Robert Yang
We used populate-extfs.sh which invoked the debugfs to create the image,
now the mke2fs' option -d root-directory can do the same thing, and
which is more faster, for example, the core-imag-sato:

* In the past:
$ time mke2fs -t ext4 rootfs.ext4
real0m0.249s
user0m0.036s
sys 0m0.132s
$ time populate-extfs.sh /path/to/rootfs/ rootfs.ext4
real0m29.355s
user0m10.637s
sys 0m5.544s

* Now:
$ time mkfs.ext4 -F -d /path/to/rootfs/ rootfs.ext4
real0m6.338s
user0m3.824s
sys 0m1.356s

More than 25 seconds are saved.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
---
 meta/classes/image_types.bbclass |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 602c1f0..5864006 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -49,8 +49,7 @@ oe_mkext234fs () {
 
# Create a sparse image block
dd if=/dev/zero of=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.$fstype 
seek=$ROOTFS_SIZE count=0 bs=1k
-   mkfs.$fstype -F $extra_imagecmd 
${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.$fstype
-   populate-extfs.sh ${IMAGE_ROOTFS} 
${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.$fstype
+   mkfs.$fstype -F $extra_imagecmd 
${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.$fstype -d ${IMAGE_ROOTFS}
 }
 
 IMAGE_CMD_ext2 = oe_mkext234fs ext2 ${EXTRA_IMAGECMD}
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 10/14] e2fsprogs: debugfs: use the functions in misc/create_inode.c

2014-03-06 Thread Robert Yang
* Use the functions in misc/create_inode.c, and remove the duplicated
  code.

* The CREATE_INODE_DEPS in the debugfs/Makefile.in is used for recording
  create_inode.o's depends which is from misc/Makefile.in, we have to
  recompile create_inode.o because we need it to print more messages when
  it is used by debugfs, just like we recompile e2freefrag.o, but it seems
  that the e2freefrag.o's depends in debugfs/Makefile.in is incorrect, it
  would not rebuild when its depends (e.g.: lib/config.h) is changed,
  which would cause unexpected errors. Make duplicated code in
  debugfs/Makefile.in and misc/Makefile.in is not a good idea, maybe we'd
  better define CREATE_INODE_DEPS in the top Makefile, I'd like to send
  another patch and fix the e2freefrag if you are fine with it.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 ...-use-the-functions-in-misc-create_inode.c.patch |  496 
 1 file changed, 496 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0010-debugfs-use-the-functions-in-misc-create_inode.c.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0010-debugfs-use-the-functions-in-misc-create_inode.c.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0010-debugfs-use-the-functions-in-misc-create_inode.c.patch
new file mode 100644
index 000..2a6ca8f
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0010-debugfs-use-the-functions-in-misc-create_inode.c.patch
@@ -0,0 +1,496 @@
+From db89992fab2215f52dce4c595a39271b4ff3000b Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Mon, 23 Dec 2013 04:22:22 -0500
+Subject: [PATCH 10/11] debugfs: use the functions in misc/create_inode.c
+
+* Use the functions in misc/create_inode.c, and remove the duplicated
+  code.
+
+* The CREATE_INODE_DEPS in the debugfs/Makefile.in is used for recording
+  create_inode.o's depends which is from misc/Makefile.in, we have to
+  recompile create_inode.o because we need it to print more messages when
+  it is used by debugfs, just like we recompile e2freefrag.o, but it seems
+  that the e2freefrag.o's depends in debugfs/Makefile.in is incorrect, it
+  would not rebuild when its depends (e.g.: lib/config.h) is changed,
+  which would cause unexpected errors. Make duplicated code in
+  debugfs/Makefile.in and misc/Makefile.in is not a good idea, maybe we'd
+  better define CREATE_INODE_DEPS in the top Makefile, I'd like to send
+  another patch and fix the e2freefrag if you are fine with it.
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ debugfs/Makefile.in |   17 ++-
+ debugfs/debugfs.c   |  305 +++
+ debugfs/debugfs.h   |1 +
+ 3 files changed, 31 insertions(+), 292 deletions(-)
+
+diff --git a/debugfs/Makefile.in b/debugfs/Makefile.in
+index bf037e0..f51b78e 100644
+--- a/debugfs/Makefile.in
 b/debugfs/Makefile.in
+@@ -18,7 +18,7 @@ MK_CMDS= _SS_DIR_OVERRIDE=../lib/ss ../lib/ss/mk_cmds
+ 
+ DEBUG_OBJS= debug_cmds.o debugfs.o util.o ncheck.o icheck.o ls.o \
+   lsdel.o dump.o set_fields.o logdump.o htree.o unused.o e2freefrag.o \
+-  filefrag.o extent_cmds.o extent_inode.o zap.o
++  filefrag.o extent_cmds.o extent_inode.o zap.o create_inode.o
+ 
+ RO_DEBUG_OBJS= ro_debug_cmds.o ro_debugfs.o util.o ncheck.o icheck.o ls.o \
+   lsdel.o logdump.o htree.o e2freefrag.o filefrag.o extent_cmds.o \
+@@ -28,7 +28,13 @@ SRCS= debug_cmds.c $(srcdir)/debugfs.c $(srcdir)/util.c 
$(srcdir)/ls.c \
+   $(srcdir)/ncheck.c $(srcdir)/icheck.c $(srcdir)/lsdel.c \
+   $(srcdir)/dump.c $(srcdir)/set_fields.c ${srcdir}/logdump.c \
+   $(srcdir)/htree.c $(srcdir)/unused.c ${srcdir}/../misc/e2freefrag.c \
+-  $(srcdir)/filefrag.c $(srcdir)/extent_inode.c $(srcdir)/zap.c
++  $(srcdir)/filefrag.c $(srcdir)/extent_inode.c $(srcdir)/zap.c \
++  $(srcdir)/../misc/create_inode.c
++
++CREATE_INODE_DEPS= $(srcdir)/../misc/create_inode.h \
++  $(srcdir)/../misc/create_inode.c $(top_builddir)/lib/config.h \
++  $(srcdir)/../lib/ext2fs/ext2fs.h $(srcdir)/../lib/et/com_err.h \
++  $(srcdir)/../lib/e2p/e2p.h $(srcdir)/../misc/nls-enable.h
+ 
+ LIBS= $(LIBEXT2FS) $(LIBE2P) $(LIBSS) $(LIBCOM_ERR) $(LIBBLKID) \
+   $(LIBUUID)
+@@ -81,6 +87,11 @@ e2freefrag.o: $(srcdir)/../misc/e2freefrag.c
+   $(E)   CC $@
+   $(Q) $(CC) -c $(ALL_CFLAGS) -I$(srcdir) $ -DDEBUGFS -o $@
+ 
++create_inode.o: $(CREATE_INODE_DEPS)
++  $(E)   CC $@
++  $(Q) $(CC) -c $(ALL_CFLAGS) -I$(srcdir) \
++   $(srcdir)/../misc/create_inode.c -DDEBUGFS -o $@
++
+ debugfs.8: $(DEP_SUBSTITUTE) $(srcdir)/debugfs.8.in
+   $(E)   SUBST $@
+   $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/debugfs.8.in debugfs.8
+@@ -142,7 +153,7 @@ debugfs.o: $(srcdir)/debugfs.c 
$(top_srcdir)/lib/et/com_err.h \
+  

[OE-core] [PATCH 05/14] e2fsprogs: mke2fs: copy regular file

2014-03-06 Thread Robert Yang
The do_write_internal() is used for copying file from native fs to
target, most of the code are from debugfs/debugfs.c, the
debugfs/debugfs.c will be modified to use this function.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 ...005-misc-create_inode.c-copy-regular-file.patch |  224 
 1 file changed, 224 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0005-misc-create_inode.c-copy-regular-file.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0005-misc-create_inode.c-copy-regular-file.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0005-misc-create_inode.c-copy-regular-file.patch
new file mode 100644
index 000..7935cd8
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0005-misc-create_inode.c-copy-regular-file.patch
@@ -0,0 +1,224 @@
+From 2973c74afaa532f3f72639b463322b2523519c20 Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Mon, 23 Dec 2013 03:28:12 -0500
+Subject: [PATCH 05/11] misc/create_inode.c: copy regular file
+
+The do_write_internal() is used for copying file from native fs to
+target, most of the code are from debugfs/debugfs.c, the
+debugfs/debugfs.c will be modified to use this function.
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ misc/create_inode.c |  183 +++
+ 1 file changed, 183 insertions(+)
+
+diff --git a/misc/create_inode.c b/misc/create_inode.c
+index f845103..98f4a93 100644
+--- a/misc/create_inode.c
 b/misc/create_inode.c
+@@ -8,6 +8,16 @@
+ # endif
+ #endif
+ 
++/* 64KiB is the minimium blksize to best minimize system call overhead. */
++#ifndef IO_BUFSIZE
++#define IO_BUFSIZE 64*1024
++#endif
++
++/* Block size for `st_blocks' */
++#ifndef S_BLKSIZE
++#define S_BLKSIZE 512
++#endif
++
+ /* Make a special file which is block, character and fifo */
+ errcode_t do_mknod_internal(ext2_ino_t cwd, const char *name, struct stat *st)
+ {
+@@ -127,9 +137,182 @@ errcode_t do_mkdir_internal(ext2_ino_t cwd, const char 
*name, struct stat *st)
+ {
+ }
+ 
++static errcode_t copy_file(int fd, ext2_ino_t newfile, int bufsize, int 
make_holes)
++{
++  ext2_file_t e2_file;
++  errcode_t   retval;
++  int got;
++  unsigned intwritten;
++  char*buf;
++  char*ptr;
++  char*zero_buf;
++  int cmp;
++
++  retval = ext2fs_file_open(current_fs, newfile,
++EXT2_FILE_WRITE, e2_file);
++  if (retval)
++  return retval;
++
++  retval = ext2fs_get_mem(bufsize, buf);
++  if (retval) {
++  com_err(copy_file, retval, can't allocate buffer\n);
++  return retval;
++  }
++
++  /* This is used for checking whether the whole block is zero */
++  retval = ext2fs_get_memzero(bufsize, zero_buf);
++  if (retval) {
++  com_err(copy_file, retval, can't allocate buffer\n);
++  ext2fs_free_mem(buf);
++  return retval;
++  }
++
++  while (1) {
++  got = read(fd, buf, bufsize);
++  if (got == 0)
++  break;
++  if (got  0) {
++  retval = errno;
++  goto fail;
++  }
++  ptr = buf;
++
++  /* Sparse copy */
++  if (make_holes) {
++  /* Check whether all is zero */
++  cmp = memcmp(ptr, zero_buf, got);
++  if (cmp == 0) {
++   /* The whole block is zero, make a hole */
++  retval = ext2fs_file_lseek(e2_file, got, 
EXT2_SEEK_CUR, NULL);
++  if (retval)
++  goto fail;
++  got = 0;
++  }
++  }
++
++  /* Normal copy */
++  while (got  0) {
++  retval = ext2fs_file_write(e2_file, ptr,
++ got, written);
++  if (retval)
++  goto fail;
++
++  got -= written;
++  ptr += written;
++  }
++  }
++  ext2fs_free_mem(buf);
++  ext2fs_free_mem(zero_buf);
++  retval = ext2fs_file_close(e2_file);
++  return retval;
++
++fail:
++  ext2fs_free_mem(buf);
++  ext2fs_free_mem(zero_buf);
++  (void) ext2fs_file_close(e2_file);
++  return retval;
++}
++
+ /* Copy the native file to the fs */
+ errcode_t do_write_internal(ext2_ino_t cwd, const char *src, const char *dest)
+ {
++  int fd;
++  struct stat statbuf;
++  ext2_ino_t  newfile;
++  

[OE-core] [PATCH 12/14] e2fsprogs: enable the -d related patches

2014-03-06 Thread Robert Yang
These patches should be enabled at the same time, so enable them in a
single commit, and thus we can disable it easily.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
---
 meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb |   11 +++
 1 file changed, 11 insertions(+)

diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
index 0c8ec71..b369038 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
@@ -6,6 +6,17 @@ SRC_URI += file://acinclude.m4 \
 file://fix-icache.patch \
 file://populate-extfs.sh \
 file://quiet-debugfs.patch \
+
file://0001-mke2fs-add-the-ability-to-copy-files-from-a-given-di.patch \
+file://0002-misc-create_inode.c-copy-files-recursively.patch \
+file://0003-misc-create_inode.c-create-special-file.patch \
+file://0004-misc-create_inode.c-create-symlink.patch \
+file://0005-misc-create_inode.c-copy-regular-file.patch \
+file://0006-misc-create_inode.c-create-directory.patch \
+
file://0007-misc-create_inode.c-set-owner-mode-time-for-the-inod.patch \
+file://0008-mke2fs.c-add-an-option-d-root-directory.patch \
+file://0009-misc-create_inode.c-handle-hardlinks.patch \
+file://0010-debugfs-use-the-functions-in-misc-create_inode.c.patch 
\
+file://0011-mke2fs.8.in-update-the-manual-for-the-d-option.patch \
 
 
 SRC_URI[md5sum] = 3f8e41e63b432ba114b33f58674563f7
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 06/14] e2fsprogs: mke2fs: create directory

2014-03-06 Thread Robert Yang
The do_mkdir_internal() is used for making dir on the target fs, most of
the code are from debugfs/debugfs.c, the debugfs/debugfs.c will be
modified to use this function.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 ...0006-misc-create_inode.c-create-directory.patch |   62 
 1 file changed, 62 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0006-misc-create_inode.c-create-directory.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0006-misc-create_inode.c-create-directory.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0006-misc-create_inode.c-create-directory.patch
new file mode 100644
index 000..5c7ca9c
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0006-misc-create_inode.c-create-directory.patch
@@ -0,0 +1,62 @@
+From c8d1c43be24489036137f8fdebcfccc208f7cc8b Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Mon, 23 Dec 2013 03:34:14 -0500
+Subject: [PATCH 06/11] misc/create_inode.c: create directory
+
+The do_mkdir_internal() is used for making dir on the target fs, most of
+the code are from debugfs/debugfs.c, the debugfs/debugfs.c will be
+modified to use this function.
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ misc/create_inode.c |   31 +++
+ 1 file changed, 31 insertions(+)
+
+diff --git a/misc/create_inode.c b/misc/create_inode.c
+index 98f4a93..6a8c92a 100644
+--- a/misc/create_inode.c
 b/misc/create_inode.c
+@@ -135,6 +135,37 @@ try_again:
+ /* Make a directory in the fs */
+ errcode_t do_mkdir_internal(ext2_ino_t cwd, const char *name, struct stat *st)
+ {
++  char*cp;
++  ext2_ino_t  parent_ino, ino;
++  errcode_t   retval;
++  struct ext2_inode   inode;
++
++
++  cp = strrchr(name, '/');
++  if (cp) {
++  *cp = 0;
++  if ((retval =  ext2fs_namei(current_fs, root, cwd, name, 
parent_ino))){
++  com_err(name, retval, 0);
++  return retval;
++  }
++  name = cp+1;
++  } else
++  parent_ino = cwd;
++
++try_again:
++  retval = ext2fs_mkdir(current_fs, parent_ino, 0, name);
++  if (retval == EXT2_ET_DIR_NO_SPACE) {
++  retval = ext2fs_expand_dir(current_fs, parent_ino);
++  if (retval) {
++  com_err(__func__, retval, while expanding directory);
++  return retval;
++  }
++  goto try_again;
++  }
++  if (retval) {
++  com_err(ext2fs_mkdir, retval, 0);
++  return retval;
++  }
+ }
+ 
+ static errcode_t copy_file(int fd, ext2_ino_t newfile, int bufsize, int 
make_holes)
+-- 
+1.7.10.4
+
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 07/14] e2fsprogs: mke2fs: set owner/mode/time for the inode

2014-03-06 Thread Robert Yang
Set the uid, gid, mode and time for inode.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
Reviewed-by: Darren Hart dvh...@linux.intel.com
---
 ..._inode.c-set-owner-mode-time-for-the-inod.patch |   81 
 1 file changed, 81 insertions(+)
 create mode 100644 
meta/recipes-devtools/e2fsprogs/e2fsprogs/0007-misc-create_inode.c-set-owner-mode-time-for-the-inod.patch

diff --git 
a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0007-misc-create_inode.c-set-owner-mode-time-for-the-inod.patch
 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0007-misc-create_inode.c-set-owner-mode-time-for-the-inod.patch
new file mode 100644
index 000..f296393
--- /dev/null
+++ 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0007-misc-create_inode.c-set-owner-mode-time-for-the-inod.patch
@@ -0,0 +1,81 @@
+From 2b1f6e6b386703a5d7e60b7d8b72746f3d31a8bc Mon Sep 17 00:00:00 2001
+From: Robert Yang liezhi.y...@windriver.com
+Date: Mon, 23 Dec 2013 03:39:56 -0500
+Subject: [PATCH 07/11] misc/create_inode.c: set owner/mode/time for the inode
+
+Set the uid, gid, mode and time for inode.
+
+Upstream-Status: Backport
+
+Signed-off-by: Robert Yang liezhi.y...@windriver.com
+Reviewed-by: Darren Hart dvh...@linux.intel.com
+---
+ misc/create_inode.c |   45 +
+ 1 file changed, 45 insertions(+)
+
+diff --git a/misc/create_inode.c b/misc/create_inode.c
+index 6a8c92a..aad7354 100644
+--- a/misc/create_inode.c
 b/misc/create_inode.c
+@@ -18,6 +18,40 @@
+ #define S_BLKSIZE 512
+ #endif
+ 
++/* Fill the uid, gid, mode and time for the inode */
++static void fill_inode(struct ext2_inode *inode, struct stat *st)
++{
++  if (st != NULL) {
++  inode-i_uid = st-st_uid;
++  inode-i_gid = st-st_gid;
++  inode-i_mode |= st-st_mode;
++  inode-i_atime = st-st_atime;
++  inode-i_mtime = st-st_mtime;
++  inode-i_ctime = st-st_ctime;
++  }
++}
++
++/* Set the uid, gid, mode and time for the inode */
++errcode_t set_inode_extra(ext2_ino_t cwd, ext2_ino_t ino, struct stat *st)
++{
++  errcode_t   retval;
++  struct ext2_inode   inode;
++
++  retval = ext2fs_read_inode(current_fs, ino, inode);
++if (retval) {
++  com_err(__func__, retval, while reading inode %u, ino);
++  return retval;
++  }
++
++  fill_inode(inode, st);
++
++  retval = ext2fs_write_inode(current_fs, ino, inode);
++  if (retval) {
++  com_err(__func__, retval, while writing inode %u, ino);
++  return retval;
++  }
++}
++
+ /* Make a special file which is block, character and fifo */
+ errcode_t do_mknod_internal(ext2_ino_t cwd, const char *name, struct stat *st)
+ {
+@@ -435,6 +469,17 @@ errcode_t populate_fs(ext2_ino_t parent_ino, const char 
*source_dir)
+   com_err(__func__, 0,
+   _(ignoring entry \%s\), name);
+   }
++
++  if ((retval =  ext2fs_namei(current_fs, root, parent_ino, name, 
ino))){
++  com_err(name, retval, 0);
++  return retval;
++  }
++
++  if ((retval = set_inode_extra(parent_ino, ino, st))) {
++  com_err(__func__, retval,
++  _(while setting inode for \%s\), name);
++  return retval;
++  }
+   }
+   closedir(dh);
+   return retval;
+-- 
+1.7.10.4
+
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 14/14] e2fsprogs: populate-extfs.sh: remove it

2014-03-06 Thread Robert Yang
Remove it since we don't need it anymore, and there is one inside the
e2fsprogs.

[YOCTO #4083]

Signed-off-by: Robert Yang liezhi.y...@windriver.com
---
 .../e2fsprogs/e2fsprogs/populate-extfs.sh  |   96 
 .../recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb |2 -
 2 files changed, 98 deletions(-)
 delete mode 100644 meta/recipes-devtools/e2fsprogs/e2fsprogs/populate-extfs.sh

diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs/populate-extfs.sh 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs/populate-extfs.sh
deleted file mode 100644
index 7de720b..000
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs/populate-extfs.sh
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/sh
-
-do_usage () {
-   cat  _EOF
-Usage: populate-extfs.sh source device
-Create an ext2/ext3/ext4 filesystem from a directory or file
-
-  source: The source directory or file
-  device: The target device
-
-_EOF
-   exit 1
-}
-
-[ $# -ne 2 ]  do_usage
-
-SRCDIR=${1%%/}
-DEVICE=$2
-DEBUGFS=debugfs
-
-{
-   CWD=/
-   find $SRCDIR | while read FILE; do
-TGT=${FILE##*/}
-DIR=${FILE#$SRCDIR}
-DIR=${DIR%$TGT}
-
-   # Skip the root dir
-   [ ! -z $DIR ] || continue
-   [ ! -z $TGT ] || continue
-
-   if [ $DIR != $CWD ]; then
-   echo cd $DIR
-   CWD=$DIR
-   fi
-
-   # Only stat once since stat is a time consuming command
-   STAT=$(stat -c TYPE=\%F\;DEVNO=\0x%t 
0x%T\;MODE=\%f\;U=\%u\;G=\%g\ $FILE)
-   eval $STAT
-
-   case $TYPE in
-   directory)
-   echo mkdir $TGT
-   ;;
-   regular file | regular empty file)
-   echo write \$FILE\ \$TGT\
-   ;;
-   symbolic link)
-   LINK_TGT=$(readlink $FILE)
-   echo symlink \$TGT\ \$LINK_TGT\
-   ;;
-   block special file)
-   echo mknod \$TGT\ b $DEVNO
-   ;;
-   character special file)
-   echo mknod \$TGT\ c $DEVNO
-   ;;
-   fifo)
-   echo mknod \$TGT\ p
-   ;;
-   *)
-   echo Unknown/unhandled file type '$TYPE' file: $FILE 
12
-   ;;
-   esac
-
-   # Set the file mode
-   echo sif \$TGT\ mode 0x$MODE
-
-   # Set uid and gid
-   echo sif \$TGT\ uid $U
-   echo sif \$TGT\ gid $G
-   done
-
-   # Handle the hard links.
-   # Save the hard links to a file, use the inode number as the filename, 
for example:
-   # If a and b's inode number is 6775928, save a and b to 
/tmp/tmp.VrCwHh5gdt/6775928.
-   INODE_DIR=`mktemp -d` || exit 1
-   for i in `find $SRCDIR -type f -links +1 -printf 'INODE=%i###FN=%p\n'`; 
do
-   eval `echo $i | sed 's$###$ $'`
-   echo ${FN#$SRCDIR} $INODE_DIR/$INODE
-   done
-   # Use the debugfs' ln and sif links_count to handle them.
-   for i in `ls $INODE_DIR`; do
-   # The link source
-   SRC=`head -1 $INODE_DIR/$i`
-   # Remove the files and link them again except the first one
-   for TGT in `sed -n -e '1!p' $INODE_DIR/$i`; do
-   echo rm $TGT
-   echo ln $SRC $TGT
-   done
-   LN_CNT=`cat $INODE_DIR/$i | wc -l`
-   # Set the links count
-   echo sif $SRC links_count $LN_CNT
-   done
-   rm -fr $INODE_DIR
-} | $DEBUGFS -w -f - $DEVICE
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb 
b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
index b369038..3864ec1 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
@@ -4,7 +4,6 @@ require e2fsprogs.inc
 SRC_URI += file://acinclude.m4 \
 file://remove.ldconfig.call.patch \
 file://fix-icache.patch \
-file://populate-extfs.sh \
 file://quiet-debugfs.patch \
 
file://0001-mke2fs-add-the-ability-to-copy-files-from-a-given-di.patch \
 file://0002-misc-create_inode.c-copy-files-recursively.patch \
@@ -51,7 +50,6 @@ do_install () {
mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir}
mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
fi
-   install -m 0755 ${WORKDIR}/populate-extfs.sh ${D}${bindir}
 }
 
 RDEPENDS_e2fsprogs = e2fsprogs-badblocks
-- 
1.7.10.4

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] package: let dependency on a package name to be architecture specific

2014-03-06 Thread Ming Liu

On 03/07/2014 03:26 PM, Richard Purdie wrote:

On Wed, 2014-03-05 at 18:08 +0800, Ming Liu wrote:

For multilib builds that rpm is the first package backend, it would be
often desireable to express that a package of compatible architecture
is needed to satisfy a dependency. In most of the cases this is already
handled by the automatically extracted soname dependencies, but this is
not always the case: sometimes it's necessary to disable the automatic
dependency generation, and then there are cases where the information
cannot be automatically generated, such as: -dev package dependencies
on other -dev packages or plugins are dynamically loaded via dlopen,
leading to obscure build failure that a 32bit package would incorrectly
satisfy the dependency for a 64bit package and similarly vice versa.

The patch mainly aims to resolve this problem, the basic idea is adding
a ARCH_SPECIFIC variable for packages satisfying following scenarios:
   * when rpm is being set as the first package backend

I don't like this idea at all. It shouldn't matter whether rpm is set
first or last, it should behave the same.

I'm also rather dubious about this patch in general. It seems wrong to
have to put this into generic code for what amounts to an rpm backend
issue.
I was so thoughtless. Yes, you are correct, I should move them into 
pakcage_rpm.bbclass.




Finally, this patch causes build failures in do_package_write_deb:

eg:

http://autobuilder.yoctoproject.org/main/builders/build-appliance/builds/61/steps/BuildImages_1/logs/stdio
http://autobuilder.yoctoproject.org/main/builders/nightly-arm/builds/82/steps/BuildImages/logs/stdio

and many more. I'm trying to get the tree stablised and having build
failures like this is extremely frustrating as once again I'm blocked on
merging patches until I remove this patch and run another build :(
Sorry about that, I only test it with rpm and ipk, then I thought it 
should not impact deb, I will try to figure out the V2 patch and give it 
a full test.


//Ming Liu


Cheers,

Richard




   * it's not a allarch package
   * it only provides libs without bins meanwhile

Every satisfied package would be set with
ARCH_SPECIFIC_pkgname = 1:${TARGET_ARCH} and it's gonna be written into
pkgdata if it exists, to mark the package as architecture specific, and
it will be checked during runtime_mapping_rename, all architecture
specific dependencies would be expanded with a ${TARGET_ARCH} suffix,
that declares a dependency on a package name architecture specific and
permits differentiating between 32-bit and 64-bit versions.

Off course, the user could set ARCH_SPECIFIC_pkgname = 0 in recipes to
disable this feature.

Signed-off-by: Ming Liu ming@windriver.com
---
  meta/classes/image.bbclass |6 +-
  meta/classes/package.bbclass   |   78 ++--
  meta/classes/populate_sdk_base.bbclass |2 +-
  3 files changed, 68 insertions(+), 18 deletions(-)

diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 28b68f9..670f173 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -225,9 +225,9 @@ do_rootfs[prefuncs] += rootfs_process_ignore
  # may have occurred.
  python rootfs_runtime_mapping() {
  pn = d.getVar('PN', True)
-runtime_mapping_rename(PACKAGE_INSTALL, pn, d)
-runtime_mapping_rename(PACKAGE_INSTALL_ATTEMPTONLY, pn, d)
-runtime_mapping_rename(BAD_RECOMMENDATIONS, pn, d)
+runtime_mapping_rename(PACKAGE_INSTALL, pn, False, d)
+runtime_mapping_rename(PACKAGE_INSTALL_ATTEMPTONLY, pn, False, d)
+runtime_mapping_rename(BAD_RECOMMENDATIONS, pn, False, d)
  }
  do_rootfs[prefuncs] += rootfs_runtime_mapping
  
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass

index 0018a62..3e0ca30 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -346,19 +346,29 @@ def copydebugsources(debugsrcdir, d):
  # Package data handling routines
  #
  
-def get_package_mapping (pkg, basepkg, d):

+def get_package_mapping (pkg, basepkg, check_arch, d):
  import oe.packagedata
  
+ret = pkg

  data = oe.packagedata.read_subpkgdata(pkg, d)
-key = PKG_%s % pkg
+pkg_key = PKG_%s % pkg
+arch_key = ARCH_SPECIFIC_%s % pkg
+arch_specific = '0'
  
-if key in data:

+if pkg_key in data:
  # Have to avoid undoing the write_extra_pkgs(global_variants...)
-if bb.data.inherits_class('allarch', d) and data[key] == basepkg:
+if bb.data.inherits_class('allarch', d) and data[pkg_key] == basepkg:
  return pkg
-return data[key]
+ret = data[pkg_key]
  
-return pkg

+if arch_key in data:
+arch_specific = data[arch_key]
+
+items = arch_specific.split(':')
+if len(items)  1 and items[0] == '1' and check_arch == True:
+ret += '(' + items[1] + ')'
+
+return ret
  
  def get_package_additional_metadata (pkg_type, d):

  base_key = PACKAGE_ADD_METADATA