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

Ma, NingX ningx.ma at intel.com
Thu Dec 8 01:03:25 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 8:51 AM
To: openembedded-core at lists.openembedded.org
Subject: Openembedded-core Digest, Vol 11, Issue 66

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. Re: connman-gnome_0.5.bb fails: connman-gnome.git is empty
      (Ulf Samuelsson)
   2. Re: [PATCH] bitbake.conf/image.bbclass: Ensure images use the
      correct passwd/group files (Andreas M?ller)
   3. Re: [PATCH] bitbake.conf/image.bbclass: Ensure images use the
      correct passwd/group files (Richard Purdie)
   4. Re: [PATCH] ppl: fix libgmp paths (Richard Purdie)
   5. Re: Coordinating inter-layer dependencies (Richard Purdie)
   6. Re: Openembedded-core Digest, Vol 11, Issue 64 (Ma, NingX)


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

Message: 1
Date: Thu, 08 Dec 2011 00:48:23 +0100
From: Ulf Samuelsson <openembedded-core at emagii.com>
Subject: Re: [OE-core] connman-gnome_0.5.bb fails: connman-gnome.git
        is empty
To: openembedded-core at lists.openembedded.org
Message-ID: <4EDFFB47.9080605 at emagii.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

On 2011-12-07 17:43, Richard Purdie wrote:
> On Wed, 2011-12-07 at 16:36 +0100, Ulf Samuelsson wrote:
>> On 2011-12-07 15:36, Ulf Samuelsson wrote:
>>> git://git.kernel.org/pub/scm/network/connman/connman-gnome.git;protocol=git
>>>
>>>      is empty.    The repo exists, but no content.
>>>
>>> Building "connman-gnome_0.5.bb" thus fails.
>>> Needed by "core-image-sato"
>>>
>>> There is a "connman-gnome-m" project on gitorious.
>>> This seems to be based on the above source package.
>>>
>>> Will try it out, but if anyone already tried this?
>>>
>>> Any other recommended sources for connman-gnome?
>>>
>> Found:
>> http://autobuilder.yoctoproject.org/pub/sources/git2_git.kernel.org.pub.scm.network.connman.connman-gnome.git.tar.gz
>>
>> in an old email to the list from Richard Purdie (before I started
>> subscribing).
>>
>> so I think I am going to download this and set up a git on github so the
>> build does
>> not require a manual download.
> This is a real source of frustration to me. The TSC voted against having
> any mirror sources in its out the box configuration for OE-Core itself.
> If you use angstrom or Poky you wouldn't see this since they configure
> source mirrors out the box.
>
> I stated at the time I thought this was crazy and making life
> unnecessarily hard for users. I was outvoted. I still think having more
> default mirrors in OE-Core might be a good idea but its going to take
> representation to the TSC to change that.

BTW: Mirrors of the empty git repo at kernel.org won't help of course.


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


--
Best Regards
Ulf Samuelsson
eMagii




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

Message: 2
Date: Thu, 8 Dec 2011 00:53:11 +0100
From: Andreas M?ller <schnitzeltony at gmx.de>
Subject: Re: [OE-core] [PATCH] bitbake.conf/image.bbclass: Ensure
        images use      the correct passwd/group files
To: "Patches and discussions about the oe-core layer"
        <openembedded-core at lists.openembedded.org>
Message-ID: <201112080053.11966.schnitzeltony at gmx.de>
Content-Type: Text/Plain;  charset="iso-8859-1"

On Wednesday, December 07, 2011 06:34:07 PM Richard Purdie wrote:
> We need pseudo to use the rootfs passwd/group files belonging to the
> rootfs when building images. This patch ensures that we use the rootfs
> files instead of those in the sysroot which can lead to incorrect file
> ownership issues.
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
>
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 4642fa6..865d430 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -121,6 +121,8 @@ IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
>
>  LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s,
> d.getVar('IMAGE_LINGUAS', 1).split()))}"
>
> +PSEUDO_PASSWD = "${IMAGE_ROOTFS}"
> +
>  do_rootfs[nostamp] = "1"
>  do_rootfs[dirs] = "${TOPDIR}"
>  do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index e80cc32..eeb1fc4 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -580,11 +580,12 @@ SRC_URI = "file://${FILE}"
>
>  # Use pseudo as the fakeroot implementation
>  PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/"
> +PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}"
>  export PSEUDO_DISABLED = "1"
>  #export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}"
>  #export PSEUDO_BINDIR = "${STAGING_DIR_NATIVE}${bindir_native}"
>  #export PSEUDO_LIBDIR =
> "${STAGING_DIR_NATIVE}$PSEUDOBINDIR/../lib/pseudo/lib -FAKEROOTENV =
> "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native}
> PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR}
> PSEUDO_PASSWD=${STAGING_DIR_TARGET} PSEUDO_NOSYMLINKEXP=1
> PSEUDO_DISABLED=0" +FAKEROOTENV =
> "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native}
> PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR}
> PSEUDO_PASSWD=${PSEUDO_PASSWD} PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0"
> FAKEROOTNOENV = "PSEUDO_UNLOAD=1"
>  FAKEROOTDIRS = "${PSEUDO_LOCALSTATEDIR}"
>  PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native"
dbus still needs manual call of

        chown messagebus:messagebus /var/run/dbus /var/lib/dbus

( it is root:root on my image) and

        chown root:messagebus /usr/libexec/dbus-daemon-launch-helper

( it is avahi:netdev on my image )

Does this one fix it?
To test: Is it enough to rebuild dbus?

Andreas



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

Message: 3
Date: Thu, 08 Dec 2011 00:01:48 +0000
From: Richard Purdie <richard.purdie at linuxfoundation.org>
Subject: Re: [OE-core] [PATCH] bitbake.conf/image.bbclass: Ensure
        images use the correct passwd/group files
To: Patches and discussions about the oe-core layer
        <openembedded-core at lists.openembedded.org>
Message-ID: <1323302508.971.0.camel at ted>
Content-Type: text/plain; charset="UTF-8"

On Thu, 2011-12-08 at 00:53 +0100, Andreas M?ller wrote:
> On Wednesday, December 07, 2011 06:34:07 PM Richard Purdie wrote:
> > We need pseudo to use the rootfs passwd/group files belonging to the
> > rootfs when building images. This patch ensures that we use the rootfs
> > files instead of those in the sysroot which can lead to incorrect file
> > ownership issues.
> >
> > Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> >
> > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> > index 4642fa6..865d430 100644
> > --- a/meta/classes/image.bbclass
> > +++ b/meta/classes/image.bbclass
> > @@ -121,6 +121,8 @@ IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
> >
> >  LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s,
> > d.getVar('IMAGE_LINGUAS', 1).split()))}"
> >
> > +PSEUDO_PASSWD = "${IMAGE_ROOTFS}"
> > +
> >  do_rootfs[nostamp] = "1"
> >  do_rootfs[dirs] = "${TOPDIR}"
> >  do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"
> > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > index e80cc32..eeb1fc4 100644
> > --- a/meta/conf/bitbake.conf
> > +++ b/meta/conf/bitbake.conf
> > @@ -580,11 +580,12 @@ SRC_URI = "file://${FILE}"
> >
> >  # Use pseudo as the fakeroot implementation
> >  PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/"
> > +PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}"
> >  export PSEUDO_DISABLED = "1"
> >  #export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}"
> >  #export PSEUDO_BINDIR = "${STAGING_DIR_NATIVE}${bindir_native}"
> >  #export PSEUDO_LIBDIR =
> > "${STAGING_DIR_NATIVE}$PSEUDOBINDIR/../lib/pseudo/lib -FAKEROOTENV =
> > "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native}
> > PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR}
> > PSEUDO_PASSWD=${STAGING_DIR_TARGET} PSEUDO_NOSYMLINKEXP=1
> > PSEUDO_DISABLED=0" +FAKEROOTENV =
> > "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native}
> > PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR}
> > PSEUDO_PASSWD=${PSEUDO_PASSWD} PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0"
> > FAKEROOTNOENV = "PSEUDO_UNLOAD=1"
> >  FAKEROOTDIRS = "${PSEUDO_LOCALSTATEDIR}"
> >  PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native"
> dbus still needs manual call of
>
>       chown messagebus:messagebus /var/run/dbus /var/lib/dbus
>
> ( it is root:root on my image) and
>
>       chown root:messagebus /usr/libexec/dbus-daemon-launch-helper
>
> ( it is avahi:netdev on my image )
>
> Does this one fix it?
> To test: Is it enough to rebuild dbus?

It could well do. You just need to apply the patch and rebuild the
image.

Cheers,

Richard




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

Message: 4
Date: Thu, 08 Dec 2011 00:12:04 +0000
From: Richard Purdie <richard.purdie at linuxfoundation.org>
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: <1323303124.971.2.camel at ted>
Content-Type: text/plain; charset="UTF-8"

On Wed, 2011-12-07 at 13:19 -0800, Khem Raj wrote:
> 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 ?

native.bbclass already sets STAGING_DIR_HOST correctly to be empty. It
looks wrong but its correct when you think about it since the installed
binaries are at their final location where we intent to execute them (in
${prefix}).

Cheers,

Richard






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

Message: 5
Date: Thu, 08 Dec 2011 00:17:37 +0000
From: Richard Purdie <richard.purdie at linuxfoundation.org>
Subject: Re: [OE-core] Coordinating inter-layer dependencies
To: Patches and discussions about the oe-core layer
        <openembedded-core at lists.openembedded.org>
Message-ID: <1323303457.971.5.camel at ted>
Content-Type: text/plain; charset="UTF-8"

On Thu, 2011-12-01 at 12:23 +0100, Koen Kooi wrote:
> During the past month there have been a number of updates to OE-core
> recipes that triggered parsing errors due to bbappend in other layers.
> A small seleciton:
>
> * netbase
> * libdrm
> * xserver-xorg
> * clutter
>
> My view is that layer maintainers need to keep an eye on potential
> breakage and have updates ready when patches land into OE-core.
> Looking back I can see that while the situation is improving a bit,
> it's still not working. The problem with slow updates to layers is
> that (with my angstrom hat on) users (and with my TI hat on) customers
> and coworkers can't do builds without rm'ing the bbappends or
> disabling the layer.


I've been thinking about this. I wondered if the notion of wildcards
for .bbappend might help, e.g. a file called:

netbase_%.bbappend

would match all versions of the netbase recipe.

The % is consistent with PREFERRED_VERSION, I'm a little reluctant to
use * since its a shell quoting mess.

It wouldn't be hard to allow bitbake to support this and would solve
some of the issues we've been having...

Cheers,

Richard






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

Message: 6
Date: Thu, 8 Dec 2011 08:42:18 +0800
From: "Ma, NingX" <ningx.ma at intel.com>
Subject: Re: [OE-core] Openembedded-core Digest, Vol 11, Issue 64
To: "openembedded-core at lists.openembedded.org"
        <openembedded-core at lists.openembedded.org>
Message-ID:
        <789F9655DD1B8F43B48D77C5D306597312D5997F11 at shsmsx501.ccr.corp.intel.com>

Content-Type: text/plain; charset="us-ascii"



-----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
*************************************************



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

_______________________________________________
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 66
*************************************************




More information about the Openembedded-core mailing list