[OE-core] Openembedded-core Digest, Vol 11, Issue 64

Ma, NingX ningx.ma at intel.com
Thu Dec 8 00:42:18 UTC 2011



-----Original Message-----
From: openembedded-core-bounces at lists.openembedded.org [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf Of openembedded-core-request at lists.openembedded.org
Sent: Thursday, December 08, 2011 5:30 AM
To: openembedded-core at lists.openembedded.org
Subject: Openembedded-core Digest, Vol 11, Issue 64

Send Openembedded-core mailing list submissions to
        openembedded-core at lists.openembedded.org

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
or, via email, send a message with subject or body 'help' to
        openembedded-core-request at lists.openembedded.org

You can reach the person managing the list at
        openembedded-core-owner at lists.openembedded.org

When replying, please edit your Subject line so it is more specific than "Re: Contents of Openembedded-core digest..."


Today's Topics:

   1. [PATCH 0/8] License Consolidated Pull (Beth Flanagan)
   2. Abbreviation of OpenEmbedded-Core (was: [PATCH 7/8] OECore
      license fixes: meta/*) (Paul Menzel)
   3. Re: [PATCH] ppl: fix libgmp paths (Khem Raj)
   4. [PATCH 1/1] initramfs-framework: provides a modular       initramfs
      (Otavio Salvador)


----------------------------------------------------------------------

Message: 1
Date: Wed,  7 Dec 2011 11:34:31 -0800
From: Beth Flanagan <elizabeth.flanagan at intel.com>
Subject: [OE-core] [PATCH 0/8] License Consolidated Pull
To: openembedded-core at lists.openembedded.org
Message-ID: <cover.1323286080.git.elizabeth.flanagan at intel.com>

These are the changes from the RFCs Chris Larson and I sent out this weekend merged into one branch along with a gettext minimal fix from RP. I've trimmed the diffs in the PULL down some as there are a number of license text diffs that cause send-patch-request to choke.


The following changes since commit f17e0ae38b2e6c4cbe7f0f9d76c3e1a386335fd1:

  conf/machine: Don't poke around providers which aren't machine specific/safe (2011-12-06 22:47:09 +0000)

are available in the git repository at:
  git://git.yoctoproject.org/poky-contrib eflanagan/consolidated_license
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=eflanagan/consolidated_license

Christopher Larson (4):
  oe.test_types: move into an oe.tests package
  license: split license parsing into oe.license
  oe.license: add license flattening code
  Add copyleft compliance class

Elizabeth Flanagan (3):
  [YOCTO #1776] license: manifest and license path
  OECore license fixes: meta/*
  package.bbclass: Adding license collection

Richard Purdie (1):
  gettext-minimal-native: Fix License

 meta/classes/copyleft_compliance.bbclass           |   94 +++
 meta/classes/license.bbclass                       |  258 +++++---
 meta/classes/package.bbclass                       |    1 +
 meta/conf/licenses.conf                            |   54 ++-
 meta/files/common-licenses/AFL-1                   |   92 ---
 meta/files/common-licenses/AFL-2                   |  155 -----
 meta/files/common-licenses/AGPL-3                  |  213 ------
 meta/files/common-licenses/APL-1                   |  327 ----------
 meta/files/common-licenses/APSL-1                  |  334 ----------
 meta/files/common-licenses/APSL-2                  |  337 ----------
 meta/files/common-licenses/Adobe                   |   14 +
 meta/files/common-licenses/Apache-1                |   59 --
 meta/files/common-licenses/Apache-2                |  203 ------
 meta/files/common-licenses/Artistic                |  131 ----
 meta/files/common-licenses/Artistic-1              |   97 ---
 meta/files/common-licenses/Artistic-2              |  202 ------
 meta/files/common-licenses/BSL-1                   |   25 -
 meta/files/common-licenses/BitstreamVera           |  160 +++++
 meta/files/common-licenses/CATOSL-1                |  335 ----------
 meta/files/common-licenses/CC-BY-1                 |  185 ------
 meta/files/common-licenses/CC-BY-2                 |  205 ------
 meta/files/common-licenses/CC-BY-3                 |  283 --------
 meta/files/common-licenses/CC-BY-NC-1              |  194 ------
 meta/files/common-licenses/CC-BY-NC-2              |  220 -------
 meta/files/common-licenses/CC-BY-NC-3              |  297 ---------
 meta/files/common-licenses/CC-BY-NC-ND-1           |  146 -----
 meta/files/common-licenses/CC-BY-NC-ND-2           |  209 ------
 meta/files/common-licenses/CC-BY-NC-ND-3           |  272 --------
 meta/files/common-licenses/CC-BY-NC-SA-1           |  209 ------
 meta/files/common-licenses/CC-BY-NC-SA-2           |  242 -------
 meta/files/common-licenses/CC-BY-NC-SA-3           |  320 ---------
 meta/files/common-licenses/CC-BY-ND-2              |  194 ------
 meta/files/common-licenses/CC-BY-ND-3              |  259 --------
 meta/files/common-licenses/CC-BY-SA-1              |  201 ------
 meta/files/common-licenses/CC-BY-SA-2              |  227 -------
 meta/files/common-licenses/CC-BY-SA-3              |  319 ---------
 meta/files/common-licenses/CDDL-1                  |  313 ---------
 meta/files/common-licenses/CECILL-1                |  462 -------------
 meta/files/common-licenses/CECILL-2                |  451 -------------
 meta/files/common-licenses/CPAL-1                  |  435 -------------
 meta/files/common-licenses/CPL-1                   |  250 -------
 meta/files/common-licenses/CUA-OPL-1               |  482 --------------
 meta/files/common-licenses/DSSSL                   |   49 ++
 meta/files/common-licenses/ECL-1                   |   61 --
 meta/files/common-licenses/ECL-2                   |  218 -------
 meta/files/common-licenses/EDL-1.0                 |   13 +
 meta/files/common-licenses/EFL-1                   |   30 -
 meta/files/common-licenses/EFL-2                   |   27 -
 meta/files/common-licenses/EPL-1                   |  204 ------
 meta/files/common-licenses/EUPL-1                  |  302 ---------
 meta/files/common-licenses/Elfutils-Exception      |   12 +
 meta/files/common-licenses/ErlPL-1                 |  293 ---------
 meta/files/common-licenses/FSF-Unlimited           |    4 +
 meta/files/common-licenses/Frameworx-1             |  181 ------
 meta/files/common-licenses/FreeType                |  170 +++++
 meta/files/common-licenses/GPL-1                   |  259 --------
 meta/files/common-licenses/GPL-1.0+                |  252 --------
 meta/files/common-licenses/GPL-2                   |   23 -
 .../common-licenses/GPL-2,0-with-GCC-exception     |   17 -
 .../common-licenses/GPL-2,0-with-font-exception    |   18 -
 meta/files/common-licenses/GPL-2.0+                |  132 ----
 .../common-licenses/GPL-2.0-with-GCC-exception     |   13 +-
 .../common-licenses/GPL-2.0-with-font-exception    |   14 +-
 meta/files/common-licenses/GPL-3                   |   70 --
 meta/files/common-licenses/GPL-3.0                 |  224 +++++++-
 meta/files/common-licenses/GPL-3.0+                |    3 -
 meta/files/common-licenses/IPL-1                   |  222 -------
 meta/files/common-licenses/LGPL-2                  |  461 -------------
 meta/files/common-licenses/LGPL-2.0                |  189 +++++-
 meta/files/common-licenses/LGPL-2.0+               |  173 -----
 meta/files/common-licenses/LGPL-2.1+               |  176 -----
 meta/files/common-licenses/LGPL-3                  |  147 -----
 meta/files/common-licenses/LGPL-3.0                |   53 +-
 meta/files/common-licenses/LGPL-3.0+               |   66 --
 meta/files/common-licenses/LPL-1                   |  213 ------
 meta/files/common-licenses/LPPL-1                  |  422 ------------
 meta/files/common-licenses/MIT-style               |    1 -
 meta/files/common-licenses/MPL-1                   |  433 -------------
 meta/files/common-licenses/NASA-1                  |  246 -------
 meta/files/common-licenses/NPOSL-3                 |  206 ------
 meta/files/common-licenses/OASIS                   |   13 +
 meta/files/common-licenses/OCLC-2                  |  207 ------
 meta/files/common-licenses/OFL-1                   |   96 ---
 meta/files/common-licenses/OLDAP-2                 |   54 --
 meta/files/common-licenses/OSL-1                   |  172 -----
 meta/files/common-licenses/OSL-1.0                 |    2 +-
 meta/files/common-licenses/OSL-2                   |  171 -----
 meta/files/common-licenses/OSL-3                   |  157 -----
 meta/files/common-licenses/PHP-3                   |   70 --
 meta/files/common-licenses/Proprietary             |    1 +
 meta/files/common-licenses/Python-2                |  192 ------
 meta/files/common-licenses/QPL-1                   |   96 ---
 meta/files/common-licenses/RPL-1                   |  582 -----------------
 meta/files/common-licenses/RPSL-1                  |  535 ---------------
 meta/files/common-licenses/SPL                     |  519 ---------------
 meta/files/common-licenses/Simple-2                |   53 --
 meta/files/common-licenses/UCB                     |   26 +
 meta/files/common-licenses/VSL-1                   |   54 --
 meta/files/common-licenses/Watcom-1                |  389 -----------
 meta/files/common-licenses/XFree86-1               |   50 --
 meta/files/common-licenses/YPL-1                   |  140 ----
 meta/files/common-licenses/ZPL-1                   |   60 --
 meta/files/common-licenses/ZPL-2                   |   44 --
 meta/files/common-licenses/Zimbra-1                |  140 ----
 meta/files/common-licenses/eCos-2                  |   38 --
 meta/lib/oe/license.py                             |   62 ++
 .../CC-BY-ND-1 => lib/oe/tests/__init__.py}        |    0
 meta/lib/oe/tests/test_license.py                  |   68 ++
 meta/lib/oe/{ => tests}/test_types.py              |    0
 .../base-files/base-files/licenses/Artistic        |  131 ----
 .../base-files/base-files/licenses/BSD             |   26 -
 .../base-files/base-files/licenses/GFDL-1.2        |  397 ------------
 .../base-files/base-files/licenses/GPL-3           |  676 -------------------
 .../base-files/base-files/licenses/LGPL-2          |  481 --------------
 .../base-files/base-files/licenses/LGPL-2.1        |  510 ---------------
 .../base-files/base-files/licenses/LGPL-3          |  165 -----
 meta/recipes-core/base-files/base-files_3.0.14.bb  |   20 +-
 meta/recipes-core/busybox/busybox.inc              |    3 +-
 meta/recipes-core/busybox/busybox_1.19.3.bb        |    2 +-
 .../gettext/gettext-minimal-0.18.1.1/COPYING       |  678 +-------------------
 .../gettext/gettext-minimal-native_0.18.1.1.bb     |    4 +-
 meta/recipes-core/gettext/gettext_0.18.1.1.bb      |    4 +-
 meta/recipes-core/jpeg/jpeg_8c.bb                  |    4 +-
 meta/recipes-devtools/elfutils/elfutils_0.148.bb   |    4 +-
 meta/recipes-devtools/python/python-pyrex_0.9.9.bb |    4 +-
 .../squashfs-tools/squashfs-tools_4.2.bb           |    4 +-
 meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb   |    4 +-
 meta/recipes-devtools/tcltk/tcl_8.5.11.bb          |    4 +-
 .../transfig/transfig-native_3.2.5d.bb             |    4 +-
 meta/recipes-extended/byacc/byacc_20110908.bb      |   10 +-
 meta/recipes-extended/bzip2/bzip2_1.0.6.bb         |    4 +-
 meta/recipes-extended/less/less_444.bb             |    7 +-
 .../tcp-wrappers/tcp-wrappers_7.6.bb               |    4 +-
 meta/recipes-extended/unzip/unzip_6.0.bb           |    4 +-
 meta/recipes-extended/xinetd/xinetd_2.3.14.bb      |    5 +-
 meta/recipes-extended/zip/zip.inc                  |    2 +-
 meta/recipes-extended/zip/zip_3.0.bb               |    2 +-
 .../recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb |    4 +-
 meta/recipes-graphics/clutter/clutter-box2d.inc    |    2 +-
 meta/recipes-graphics/clutter/clutter-box2d_git.bb |    2 +-
 meta/recipes-graphics/freetype/freetype_2.4.6.bb   |    4 +-
 .../ttf-fonts/ttf-bitstream-vera_1.10.bb           |    4 +-
 meta/recipes-graphics/xorg-app/xrandr_1.3.5.bb     |    4 +-
 .../recipes-graphics/xorg-font/font-alias_1.0.3.bb |    4 +-
 meta/recipes-graphics/xorg-font/font-util_1.2.0.bb |    5 +-
 .../linux-firmware/linux-firmware_git.bb           |    5 +
 meta/recipes-multimedia/libtiff/tiff_3.9.5.bb      |    4 +-
 .../matchbox-theme-sato/matchbox-theme-sato.inc    |    2 +-
 .../matchbox-theme-sato/matchbox-theme-sato_0.1.bb |    2 +-
 .../sato-icon-theme/sato-icon-theme.inc            |    2 +-
 .../sato-icon-theme/sato-icon-theme_0.4.1.bb       |    2 +-
 meta/recipes-support/boost/boost.inc               |    4 +-
 152 files changed, 1439 insertions(+), 20828 deletions(-)
 create mode 100644 meta/classes/copyleft_compliance.bbclass
 delete mode 100644 meta/files/common-licenses/AFL-1
 delete mode 100644 meta/files/common-licenses/AFL-2
 delete mode 100644 meta/files/common-licenses/AGPL-3
 delete mode 100644 meta/files/common-licenses/APL-1
 delete mode 100644 meta/files/common-licenses/APSL-1
 delete mode 100644 meta/files/common-licenses/APSL-2
 create mode 100644 meta/files/common-licenses/Adobe
 delete mode 100644 meta/files/common-licenses/Apache-1
 delete mode 100644 meta/files/common-licenses/Apache-2
 delete mode 100644 meta/files/common-licenses/Artistic
 delete mode 100644 meta/files/common-licenses/Artistic-1
 delete mode 100644 meta/files/common-licenses/Artistic-2
 delete mode 100644 meta/files/common-licenses/BSL-1
 create mode 100644 meta/files/common-licenses/BitstreamVera
 delete mode 100644 meta/files/common-licenses/CATOSL-1
 delete mode 100644 meta/files/common-licenses/CC-BY-1
 delete mode 100644 meta/files/common-licenses/CC-BY-2
 delete mode 100644 meta/files/common-licenses/CC-BY-3
 delete mode 100644 meta/files/common-licenses/CC-BY-NC-1
 delete mode 100644 meta/files/common-licenses/CC-BY-NC-2
 delete mode 100644 meta/files/common-licenses/CC-BY-NC-3
 delete mode 100644 meta/files/common-licenses/CC-BY-NC-ND-1
 delete mode 100644 meta/files/common-licenses/CC-BY-NC-ND-2
 delete mode 100644 meta/files/common-licenses/CC-BY-NC-ND-3
 delete mode 100644 meta/files/common-licenses/CC-BY-NC-SA-1
 delete mode 100644 meta/files/common-licenses/CC-BY-NC-SA-2
 delete mode 100644 meta/files/common-licenses/CC-BY-NC-SA-3
 delete mode 100644 meta/files/common-licenses/CC-BY-ND-2
 delete mode 100644 meta/files/common-licenses/CC-BY-ND-3
 delete mode 100644 meta/files/common-licenses/CC-BY-SA-1
 delete mode 100644 meta/files/common-licenses/CC-BY-SA-2
 delete mode 100644 meta/files/common-licenses/CC-BY-SA-3
 delete mode 100644 meta/files/common-licenses/CDDL-1
 delete mode 100644 meta/files/common-licenses/CECILL-1
 delete mode 100644 meta/files/common-licenses/CECILL-2
 delete mode 100644 meta/files/common-licenses/CPAL-1
 delete mode 100644 meta/files/common-licenses/CPL-1
 delete mode 100644 meta/files/common-licenses/CUA-OPL-1
 create mode 100644 meta/files/common-licenses/DSSSL
 delete mode 100644 meta/files/common-licenses/ECL-1
 delete mode 100644 meta/files/common-licenses/ECL-2
 create mode 100644 meta/files/common-licenses/EDL-1.0
 delete mode 100644 meta/files/common-licenses/EFL-1
 delete mode 100644 meta/files/common-licenses/EFL-2
 delete mode 100644 meta/files/common-licenses/EPL-1
 delete mode 100644 meta/files/common-licenses/EUPL-1
 create mode 100644 meta/files/common-licenses/Elfutils-Exception
 delete mode 100644 meta/files/common-licenses/ErlPL-1
 create mode 100644 meta/files/common-licenses/FSF-Unlimited
 delete mode 100644 meta/files/common-licenses/Frameworx-1
 create mode 100644 meta/files/common-licenses/FreeType
 delete mode 100644 meta/files/common-licenses/GPL-1
 delete mode 100644 meta/files/common-licenses/GPL-1.0+
 delete mode 100644 meta/files/common-licenses/GPL-2
 delete mode 100644 meta/files/common-licenses/GPL-2,0-with-GCC-exception
 delete mode 100644 meta/files/common-licenses/GPL-2,0-with-font-exception
 delete mode 100644 meta/files/common-licenses/GPL-2.0+
 delete mode 100644 meta/files/common-licenses/GPL-3
 delete mode 100644 meta/files/common-licenses/GPL-3.0+
 delete mode 100644 meta/files/common-licenses/IPL-1
 delete mode 100644 meta/files/common-licenses/LGPL-2
 delete mode 100644 meta/files/common-licenses/LGPL-2.0+
 delete mode 100644 meta/files/common-licenses/LGPL-2.1+
 delete mode 100644 meta/files/common-licenses/LGPL-3
 delete mode 100644 meta/files/common-licenses/LGPL-3.0+
 delete mode 100644 meta/files/common-licenses/LPL-1
 delete mode 100644 meta/files/common-licenses/LPPL-1
 delete mode 120000 meta/files/common-licenses/MIT-style
 delete mode 100644 meta/files/common-licenses/MPL-1
 delete mode 100644 meta/files/common-licenses/NASA-1
 delete mode 100644 meta/files/common-licenses/NPOSL-3
 create mode 100644 meta/files/common-licenses/OASIS
 delete mode 100644 meta/files/common-licenses/OCLC-2
 delete mode 100644 meta/files/common-licenses/OFL-1
 delete mode 100644 meta/files/common-licenses/OLDAP-2
 delete mode 100644 meta/files/common-licenses/OSL-1
 delete mode 100644 meta/files/common-licenses/OSL-2
 delete mode 100644 meta/files/common-licenses/OSL-3
 delete mode 100644 meta/files/common-licenses/PHP-3
 create mode 100644 meta/files/common-licenses/Proprietary
 delete mode 100644 meta/files/common-licenses/Python-2
 delete mode 100644 meta/files/common-licenses/QPL-1
 delete mode 100644 meta/files/common-licenses/RPL-1
 delete mode 100644 meta/files/common-licenses/RPSL-1
 delete mode 100644 meta/files/common-licenses/SPL
 delete mode 100644 meta/files/common-licenses/Simple-2
 create mode 100644 meta/files/common-licenses/UCB
 delete mode 100644 meta/files/common-licenses/VSL-1
 delete mode 100644 meta/files/common-licenses/Watcom-1
 delete mode 100644 meta/files/common-licenses/XFree86-1
 delete mode 100644 meta/files/common-licenses/YPL-1
 delete mode 100644 meta/files/common-licenses/ZPL-1
 delete mode 100644 meta/files/common-licenses/ZPL-2
 delete mode 100644 meta/files/common-licenses/Zimbra-1
 delete mode 100644 meta/files/common-licenses/eCos-2
 create mode 100644 meta/lib/oe/license.py
 rename meta/{files/common-licenses/CC-BY-ND-1 => lib/oe/tests/__init__.py} (100%)
 create mode 100644 meta/lib/oe/tests/test_license.py
 rename meta/lib/oe/{ => tests}/test_types.py (100%)
 delete mode 100644 meta/recipes-core/base-files/base-files/licenses/Artistic
 delete mode 100644 meta/recipes-core/base-files/base-files/licenses/BSD
 delete mode 100644 meta/recipes-core/base-files/base-files/licenses/GFDL-1.2
 delete mode 100644 meta/recipes-core/base-files/base-files/licenses/GPL-3
 delete mode 100644 meta/recipes-core/base-files/base-files/licenses/LGPL-2
 delete mode 100644 meta/recipes-core/base-files/base-files/licenses/LGPL-2.1
 delete mode 100644 meta/recipes-core/base-files/base-files/licenses/LGPL-3




------------------------------

Message: 2
Date: Wed, 07 Dec 2011 22:16:49 +0100
From: Paul Menzel <paulepanter at users.sourceforge.net>
Subject: [OE-core] Abbreviation of OpenEmbedded-Core (was: [PATCH 7/8]
        OECore license fixes: meta/*)
To: openembedded-core at lists.openembedded.org
Message-ID: <1323292609.4065.42.camel at mattotaupa>
Content-Type: text/plain; charset="utf-8"

Dear OE folks,


Am Mittwoch, den 07.12.2011, 11:34 -0800 schrieb Beth Flanagan:
> From: Elizabeth Flanagan <elizabeth.flanagan at intel.com>
>
> This is a quick audit of only the most obviously wrong licenses
> found within OECore. These fixes fall into four areas:

could we agree on the spelling of the abbreviation of OpenEmbedded-Core?

In the files in the repository everything is spelled OE-Core so I guess
that should be it. The Wiki uses OE-Core [1] and Elisabeth?s commit
message uses OECore.

[?]


Thanks,

Paul


[1] http://www.openembedded.org/wiki/Oe-core
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.linuxtogo.org/pipermail/openembedded-core/attachments/20111207/9d2e5745/attachment-0001.pgp>

------------------------------

Message: 3
Date: Wed, 7 Dec 2011 13:19:56 -0800
From: Khem Raj <raj.khem at gmail.com>
Subject: Re: [OE-core] [PATCH] ppl: fix libgmp paths
To: Patches and discussions about the oe-core layer
        <openembedded-core at lists.openembedded.org>
Message-ID: <20111207211956.GA6351 at sakrah.homelinux.org>
Content-Type: text/plain; charset=us-ascii

On (06/12/11 13:27), Martin Jansa wrote:
> configure:10654: checking how to link with libgmpxx
> configure:11127: result: /OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libgmpxx.so /OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libgmp.so -Wl,-rpath -Wl,/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib -Wl,-rpath -Wl,/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib
>
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
>  meta/recipes-support/ppl/ppl_0.11.2.bb |    6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/meta/recipes-support/ppl/ppl_0.11.2.bb b/meta/recipes-support/ppl/ppl_0.11.2.bb
> index 7536364..b31fc4d 100644
> --- a/meta/recipes-support/ppl/ppl_0.11.2.bb
> +++ b/meta/recipes-support/ppl/ppl_0.11.2.bb
> @@ -11,6 +11,10 @@ SRC_URI[sha256sum] = "e3fbd1c19ef44c6f020951807cdb6fc6a8153cd3a5c53b0ab9cf4c4f6e
>  S = "${WORKDIR}/ppl-${PV}"
>  BBCLASSEXTEND = "native nativesdk"
>
> -EXTRA_OECONF = "--enable-watchdog --disable-debugging --disable-assertions --disable-ppl_lcdd --disable-ppl_lpsol --disable-ppl_pips --enable-interfaces='c cxx'"
> +# do we have something shorter then this? or can native.bbclass overwrite STAGING_DIR_HOST like nativesdk does?
> +GMP_PREFIX = "${STAGING_DIR_HOST}"
> +GMP_PREFIX_virtclass-native = "${STAGING_DIR_NATIVE}"
> +

I think we should override STAGING_DIR_HOST in native class as well.
Since we do install native packages into local sysroot before populating
the global native sysroot. The comment in class code seems that since
we installed the native packages in position it was needed to be unset
that may not be the case now.

RP thoughts ?

--
-Khem



------------------------------

Message: 4
Date: Wed,  7 Dec 2011 21:23:00 +0000
From: Otavio Salvador <otavio at ossystems.com.br>
Subject: [OE-core] [PATCH 1/1] initramfs-framework: provides a modular
        initramfs
To: openembedded-core at lists.openembedded.org
Message-ID:
        <0ab4225dfaee3c59d5200f9d73d75e4b44f3a498.1323292966.git.otavio at ossystems.com.br>


Provides the API and modules for a modular initramfs. The currently
included modules are:

 * initramfs-module-debug adds support to dynamic debugging of
   initramfs using bootparams

 * initramfs-module-udev: enables udev usage

 * initramfs-module-mdev: enables mdev usage

 * initramfs-module-e2fs: adds support for ext4, ext3 and ext2
   filesystems

Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
---
 .../initrdscripts/initramfs-framework/debug        |   82 ++++++++++++
 .../initrdscripts/initramfs-framework/e2fs         |   28 ++++
 .../initrdscripts/initramfs-framework/finish       |   46 +++++++
 .../initrdscripts/initramfs-framework/init         |  136 ++++++++++++++++++++
 .../initrdscripts/initramfs-framework/mdev         |   30 +++++
 .../initrdscripts/initramfs-framework/udev         |   22 +++
 .../initrdscripts/initramfs-framework_1.0.bb       |   57 ++++++++
 7 files changed, 401 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/debug
 create mode 100755 meta/recipes-core/initrdscripts/initramfs-framework/e2fs
 create mode 100755 meta/recipes-core/initrdscripts/initramfs-framework/finish
 create mode 100755 meta/recipes-core/initrdscripts/initramfs-framework/init
 create mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/mdev
 create mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/udev
 create mode 100644 meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb

diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/debug b/meta/recipes-core/initrdscripts/initramfs-framework/debug
new file mode 100644
index 0000000..00bfd7d
--- /dev/null
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/debug
@@ -0,0 +1,82 @@
+#!/bin/sh
+# Copyright (C) 2011 O.S. Systems Software LTDA.
+# Licensed on MIT
+
+# Adds support to dynamic debugging of initramfs using bootparam in
+# following format:
+#   shell                 : starts a shell before and after each module
+#   shell=before:<module> : starts a shell before <module> is loaded and run
+#   shell=after:<module>  : starts a shell after <module> is loaded and run
+#
+#   shell-debug                 : run set -x as soon as possible
+#   shell-debug=before:<module> : run set -x before <module> is loaded and run
+#   shell-debug=after:<module>  : run set -x after <module> is loaded and run
+
+DEBUG_SHELL="false"
+
+debug_hook_handler() {
+       status=$1
+       module=$2
+
+       if [ -n "$bootparam_shell" ] && [ "$bootparam_shell" != "true" ]; then
+               shell_wanted_status=`expr $bootparam_shell : '\(.*\):.*'`
+               shell_wanted_module=`expr $bootparam_shell : '.*:\(.*\)'`
+
+               if [ "$shell_wanted_status" = "before" ]; then
+                       shell_wanted_status=pre
+               else
+                       shell_wanted_status=post
+               fi
+       fi
+
+       if [ "$bootparam_shell" = "true" ] ||
+               ( [ "$status" = "$shell_wanted_status" ] &&
+                       [ "$module" = "$shell_wanted_module" ] ); then
+               if [ "$status" = "pre" ]; then
+                       status_msg="before"
+               else
+                       status_msg="after"
+               fi
+
+               msg "Starting shell $status_msg $module..."
+               sh
+       fi
+
+       if [ -n "$bootparam_shell_debug" ] && [ "$bootparam_shell_debug" != "true" ]; then
+               shell_debug_wanted_status=`expr $bootparam_shell_debug : '\(.*\):.*'`
+               shell_debug_wanted_module=`expr $bootparam_shell_debug : '.*:\(.*\)'`
+
+               if [ "$shell_debug_wanted_status" = "before" ]; then
+                       shell_debug_wanted_status=pre
+               else
+                       shell_debug_wanted_status=post
+               fi
+       fi
+
+       if [ "$bootparam_shell_debug" = "true" ] ||
+               ( [ "$status" = "$shell_debug_wanted_status" ] &&
+                       [ "$module" = "$shell_debug_wanted_module" ] ); then
+               if [ "$DEBUG_SHELL" = "true" ]; then
+                       return 0
+               fi
+
+               if [ "$status" = "pre" ]; then
+                       status_msg="before"
+               else
+                       status_msg="after"
+               fi
+
+               msg "Starting shell debugging $status_msg $module..."
+               DEBUG_SHELL="true"
+               set -x
+       fi
+}
+
+debug_enabled() {
+       return 0
+}
+
+debug_run() {
+       add_module_pre_hook "debug_hook_handler"
+       add_module_post_hook "debug_hook_handler"
+}
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/e2fs b/meta/recipes-core/initrdscripts/initramfs-framework/e2fs
new file mode 100755
index 0000000..29f801a
--- /dev/null
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/e2fs
@@ -0,0 +1,28 @@
+#!/bin/sh
+# Copyright (C) 2011 O.S. Systems Software LTDA.
+# Licensed on MIT
+
+e2fs_enabled() {
+       return 0
+}
+
+e2fs_run() {
+       filesystems="ext4 ext3 ext2"
+
+       # load modules
+       for fs in $filesystems; do
+               load_kernel_module $fs
+       done
+
+       for fs in $filesystems; do
+               eval "fs_options=\$bootparam_${fs}"
+               if [ -n "$fs_options" ]; then
+                   dev=`expr "$fs_options" : '\([^:]*\).*'`
+                   path=`expr "$fs_options" : '[^:]*:\([^:]*\).*'`
+
+                   info "Mounting $dev as $fs on $path as $fs..."
+                       mkdir -p $path
+                   mount -t $fs $dev $path
+               fi
+       done
+}
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/finish b/meta/recipes-core/initrdscripts/initramfs-framework/finish
new file mode 100755
index 0000000..bedd803
--- /dev/null
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/finish
@@ -0,0 +1,46 @@
+#!/bin/sh
+# Copyright (C) 2011 O.S. Systems Software LTDA.
+# Licensed on MIT
+
+finish_enabled() {
+       return 0
+}
+
+finish_run() {
+       if [ -n "$ROOTFS_DIR" ]; then
+               if [ -n "$bootparam_rootdelay" ]; then
+                       debug "Sleeping for $rootdelay second(s) to wait root to settle..."
+                       sleep $bootparam_rootdelay
+               fi
+
+               if [ -n "$bootparam_root" ]; then
+                       debug "No e2fs compatible filesystem has been mounted, mounting $bootparam_root..."
+
+                       if [ "${bootparam_root:0:5}" = "UUID=" ]; then
+                               bootparam_root="/dev/disk/by-uuid/${bootparam_root/UUID=/}"
+                       fi
+
+                       if [ -e "$bootparam_root" ]; then
+                               mount $bootparam_root $ROOTFS_DIR
+                       else
+                               debug "root '$bootparam_root' doesn't exist."
+                       fi
+               fi
+
+               if [ ! -d $ROOTFS_DIR/dev ]; then
+                       fatal "ERROR: There's no '/dev' on rootfs."
+               fi
+
+               info "Switching root to '$ROOTFS_DIR'..."
+
+               debug "Moving /dev, /proc and /sys onto rootfs..."
+               mount --move /dev $ROOTFS_DIR/dev
+               mount --move /proc $ROOTFS_DIR/proc
+               mount --move /sys $ROOTFS_DIR/sys
+
+               cd $ROOTFS_DIR
+               exec switch_root -c /dev/console $ROOTFS_DIR /sbin/init
+       else
+               debug "No rootfs has been set"
+       fi
+}
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/init b/meta/recipes-core/initrdscripts/initramfs-framework/init
new file mode 100755
index 0000000..fc4b0db
--- /dev/null
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/init
@@ -0,0 +1,136 @@
+#!/bin/sh
+# Copyright (C) 2011 O.S. Systems Software LTDA.
+# Licensed on MIT
+#
+# Provides the API to be used by the initramfs modules
+#
+# Modules need to provide the following functions:
+#
+# <module>_enabled : check if the module ought to run (return 1 to skip)
+# <module>_run     : do what is need
+#
+# Boot parameters are available on environment in the as:
+#
+# 'foo=value' as 'bootparam_foo=value'
+# 'foo' as 'bootparam_foo=true'
+
+# Register a function to be called before running a module
+# The hook is called as:
+#   <function> pre <module>
+add_module_pre_hook() {
+       MODULE_PRE_HOOKS="$MODULE_PRE_HOOKS $1"
+}
+
+# Register a function to be called after running a module
+# The hook is called as:
+#   <function> post <module>
+add_module_post_hook() {
+       MODULE_POST_HOOKS="$MODULE_POST_HOOKS $1"
+}
+
+# Load kernel module
+load_kernel_module() {
+       if modprobe $1 >/dev/null 2>&1; then
+               info "Loaded module $1"
+       else
+               debug "Failed to load module $1"
+       fi
+}
+
+# Prints information
+msg() {
+       echo "$@" >/dev/console
+}
+
+# Prints information if verbose bootparam is used
+info() {
+       [ -n "$bootparam_verbose" ] && echo "$@" >/dev/console
+}
+
+# Prints information if debug bootparam is used
+debug() {
+       [ -n "$bootparam_debug" ] && echo "DEBUG: $@" >/dev/console
+}
+
+# Prints a message and start a endless loop
+fatal() {
+    echo $1 >/dev/console
+    echo >/dev/console
+
+       while [ "true" ]; do
+               sleep 3600
+       done
+}
+
+# Variables shared amoung modules
+ROOTFS_DIR="/rootfs" # where to do the switch root
+MODULE_PRE_HOOKS=""  # functions to call before running each module
+MODULE_POST_HOOKS="" # functions to call after running each module
+MODULES_DIR=/init.d  # place to look for modules
+
+# initialize /proc and /sys
+mkdir -p /proc /sys
+mount -t proc proc /proc
+mount -t sysfs sysfs /sys
+
+# populate bootparam environment
+for p in `cat /proc/cmdline`; do
+       opt="${p%%=*}"
+       opt=${opt/-/_}
+       if [ "${p/=/}" = "$p" ]; then
+               eval "bootparam_${opt}=true"
+       else
+               eval "bootparam_${opt}=\"${p#*=}\""
+       fi
+done
+
+# use /dev with devtmpfs
+if grep -q devtmpfs /proc/filesystems; then
+       mkdir -p /dev
+       mount -t devtmpfs devtmpfs /dev
+else
+       if [ ! -d /dev ]; then
+               fatal "ERROR: /dev doesn't exist and kernel doesn't has devtmpfs enabled."
+       fi
+fi
+
+mkdir $ROOTFS_DIR
+
+# Load and run modules
+for m in $MODULES_DIR/*; do
+       # Skip backup files
+       if [ "${m/\~/}" != "$m" ]; then
+               continue
+       fi
+
+       module=`basename $m | cut -d'-' -f 2`
+       debug "Loading module $module"
+
+       # pre hooks
+       for h in $MODULE_PRE_HOOKS; do
+               debug "Calling module hook (pre): $h"
+               eval "$h pre $module"
+               debug "Finished module hook (pre): $h"
+       done
+
+       # process module
+       source $m
+
+       if ! eval "${module}_enabled"; then
+               debug "Skipping module $module"
+               continue
+       fi
+
+       debug "Running ${module}_run"
+       eval "${module}_run"
+
+       # post hooks
+       for h in $MODULE_POST_HOOKS; do
+               debug "Calling module hook (post): $h"
+               eval "$h post $module"
+               debug "Finished module hook (post): $h"
+       done
+done
+
+# Catch all
+fatal "ERROR: Initramfs failed to initialize the system."
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/mdev b/meta/recipes-core/initrdscripts/initramfs-framework/mdev
new file mode 100644
index 0000000..a5df1d7
--- /dev/null
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/mdev
@@ -0,0 +1,30 @@
+#!/bin/sh
+# Copyright (C) 2011 O.S. Systems Software LTDA.
+# Licensed on MIT
+
+mdev_enabled() {
+       if [ ! -e /sbin/mdev ]; then
+               debug "/sbin/mdev doesn't exist"
+               return 1
+       fi
+
+       return 0
+}
+
+mdev_run() {
+       # setup the environment
+       mount -t tmpfs tmpfs /dev
+
+       mkdir -m 1777 /dev/shm
+
+       mkdir -m 0755 /dev/pts
+       mount -t devpts devpts /dev/pts
+
+       echo /sbin/mdev > /proc/sys/kernel/hotplug
+       mdev -s
+
+       # load modules for devices
+       find /sys -name modalias | while read m; do
+               load_kernel_module $(cat $m)
+       done
+}
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/udev b/meta/recipes-core/initrdscripts/initramfs-framework/udev
new file mode 100644
index 0000000..9ea8aa3
--- /dev/null
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/udev
@@ -0,0 +1,22 @@
+#!/bin/sh
+# Copyright (C) 2011 O.S. Systems Software LTDA.
+# Licensed on MIT
+
+udev_enabled() {
+       if [ ! -e /sbin/udevd ]; then
+               debug "/sbin/udev doesn't exist"
+               return 1
+       fi
+
+       return 0
+}
+
+udev_run() {
+       mkdir -p /run
+
+       udevd --daemon > /dev/null
+       udevadm trigger --action=add
+       udevadm settle
+
+       killall udevd 2>/dev/null
+}
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
new file mode 100644
index 0000000..58e41d4
--- /dev/null
+++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
@@ -0,0 +1,57 @@
+DESCRIPTION = "initramfs modular system"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+RDEPENDS = "busybox"
+
+inherit allarch
+
+SRC_URI = "file://init \
+           file://finish \
+           file://mdev \
+           file://udev \
+           file://e2fs \
+           file://debug"
+
+do_install() {
+    install -d ${D}/init.d
+
+    # base
+    install -m 0755 ${WORKDIR}/init ${D}/init
+    install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish
+
+    # mdev
+    install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev
+
+    # udev
+    install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev
+
+    # e2fs
+    install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs
+
+    # debug
+    install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug
+}
+
+PACKAGES = "${PN}-base \
+            initramfs-module-mdev \
+            initramfs-module-udev \
+            initramfs-module-e2fs \
+            initramfs-module-debug"
+
+FILES_${PN}-base = "/init /init.d/99-finish"
+
+DESCRIPTION_initramfs-module-mdev = "initramfs support for mdev"
+RDEPENDS_initramfs-module-mdev = "${PN}-base"
+FILES_initramfs-module-mdev = "/init.d/01-mdev"
+
+DESCRIPTION_initramfs-module-udev = "initramfs support for udev"
+RDEPENDS_initramfs-module-udev = "${PN}-base udev udev-utils"
+FILES_initramfs-module-udev = "/init.d/01-udev"
+
+DESCRIPTION_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
+RDEPENDS_initramfs-module-e2fs = "${PN}-base"
+FILES_initramfs-module-e2fs = "/init.d/10-e2fs"
+
+DESCRIPTION_initramfs-module-debug = "initramfs dynamic debug support"
+RDEPENDS_initramfs-module-debug = "${PN}-base"
+FILES_initramfs-module-debug = "/init.d/00-debug"
--
1.7.2.5




------------------------------

_______________________________________________
Openembedded-core mailing list
Openembedded-core at lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


End of Openembedded-core Digest, Vol 11, Issue 64
*************************************************




More information about the Openembedded-core mailing list