[OE-core] [PATCH 1/1] dbus: fix a hard dependency about dbus-ptest
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
* 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
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
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
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
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
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
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