Date   

Re: [PATCH 0/1] meta-intel misc commits

Kamble, Nitin A <nitin.a.kamble@...>
 

Darren,
The EMGD user guide is attached for reference.
Thanks,
Nitin

-----Original Message-----
From: Kamble, Nitin A
Sent: Thursday, October 04, 2012 1:17 PM
To: Hart, Darren; Zanussi, Tom; yocto@...
Cc: Kamble, Nitin A
Subject: [PATCH 0/1] meta-intel misc commits

From: Nitin A Kamble <nitin.a.kamble@...>

Here is a commit to add a kernel parameter to crownbay BSP. It is
recommended in the EMGD 1.14 User Guide for video acceleration with the
EMGD driver.

Darren,
Other EMGD based BSPs like FRI2 & sys940x should add the vmalloc=256MB
kernel parameter too. (not needed for noemgd BSPs)

Thanks,
Nitin

The following changes since commit
bc6f631c1eaa7154e667325da8fd636a05628f87:

jasperforest: uprev v3.4 kernel commit ids (2012-10-04 14:21:55 -0500)

are available in the git repository at:
git://git.yoctoproject.org/meta-intel-contrib nitin/misc
http://git.yoctoproject.org/cgit.cgi/meta-intel-contrib/log/?h=nitin/misc

Nitin A Kamble (1):
crownbay.conf: add kernel parameters for EMGD video acceleration

meta-crownbay/conf/machine/crownbay.conf | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

--
1.7.3.4


Re: The BitBake equivalent of "Hello, World!"

Evade Flow <evadeflow@...>
 

Thanks, this is great! I was looking for something exactly like this.
I'm going to have a play wit it right now. If you (or anyone) can think
of any ways this example doesn't adhere to current bitbake best
practices (other than not inheriting from OECore's more full-featured
base classes), please let me know...

On Thu, Oct 4, 2012 at 2:58 PM, Rudolf Streif <rudolf.streif@...> wrote:
[Warning: lengthy post, and probably boring to most.]

My Bitbake "Hello World" is a little more than a basic "Hello World". It's
idea is to incorporate a layer and use a structure similar to what OE and
Yocto are using. You can do it simpler if you want to. I did this a while
ago with Bitbake 1.12.0. I would think it works with newer versions too
although I have not tested it. This is the layout I am using:

bbtest/
├── conf
│ ├── bblayers.conf
│ └── bitbake.conf
├── downloads
│ └── /* need to create but will be populated with downloads */
├── meta-test
│ ├── classes
│ │ └── base.bbclass
│ ├── conf
│ │ └── layer.conf
│ └── recipes-test
│ └── nano
│ └── nano.bb
└── tmp
└── /* will be created and populated when building */

The first thing Bitbake looks for is a conf/bblayers.conf file in the
directory you started it from. This file must provide an initial setting for
BBPATH:

bblayers.conf:

BBPATH := "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
${TOPDIR}/meta-test \
"

Without BBPATH Bitbake will not find any conf/<filename>.conf files and
recipe files at all. It will also not find bitbake.conf. I simply copied
bitbake.conf from the Bitbake download and edited DL_DIR:

bitbake.conf:

# comments omitted
B = "${S}"
CVSDIR = "${DL_DIR}/cvs"
DEPENDS = ""
DEPLOY_DIR = "${TMPDIR}/deploy"
DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images"
DL_DIR = "${TOPDIR}/downloads"
FETCHCOMMAND = ""
FETCHCOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} co ${CVSCOOPTS}
${CVSMODULE}"
FETCHCOMMAND_svn = "/usr/bin/env svn co ${SVNCOOPTS} ${SVNROOT}
${SVNMODULE}"
FETCHCOMMAND_wget = "/usr/bin/env wget -t 5 --passive-ftp -P ${DL_DIR}
${URI}"
FILESDIR = "${@bb.utils.which(bb.data.getVar('FILESPATH', d, 1), '.')}"
FILESPATH =
"${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
FILE_DIRNAME = "${@os.path.dirname(bb.data.getVar('FILE', d))}"
GITDIR = "${DL_DIR}/git"
IMAGE_CMD = "_NO_DEFINED_IMAGE_TYPES_"
IMAGE_ROOTFS = "${TMPDIR}/rootfs"
MKTEMPCMD = "mktemp -q ${TMPBASE}"
MKTEMPDIRCMD = "mktemp -d -q ${TMPBASE}"
OVERRIDES = "local:${MACHINE}:${TARGET_OS}:${TARGET_ARCH}"
P = "${PN}-${PV}"
PERSISTENT_DIR = "${TMPDIR}/cache"
PF = "${PN}-${PV}-${PR}"
PN = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[0] or
'defaultpkgname'}"
PR = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[2] or
'r0'}"
PROVIDES = ""
PV = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[1] or
'1.0'}"
RESUMECOMMAND = ""
RESUMECOMMAND_wget = "/usr/bin/env wget -c -t 5 --passive-ftp -P ${DL_DIR}
${URI}"
S = "${WORKDIR}/${P}"
SRC_URI = "file://${FILE}"
STAMP = "${TMPDIR}/stamps/${PF}"
SVNDIR = "${DL_DIR}/svn"
T = "${WORKDIR}/temp"
TARGET_ARCH = "${BUILD_ARCH}"
TMPDIR = "${TOPDIR}/tmp"
UPDATECOMMAND = ""
UPDATECOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} update ${CVSCOOPTS}"
UPDATECOMMAND_svn = "/usr/bin/env svn update ${SVNCOOPTS}"
WORKDIR = "${TMPDIR}/work/${PF}"
PERSISTENT_DIR = "${TMPDIR}/cache"

That's more than you need but it's convenient.

Bitbake will require a base.bbclass file somewhere in a classes subdirectory
of BBPATH. I used the base.bbclass file from the Bitbake download. As a
minimum it should contain a do_build task. That's the target that Bitbake
invokes by default if you do not use the -c option explicitly. It's empty
and does not do anything but it functions as an anchor for tasks you define
in your recipes:

base.bbclass:

# comments omitted
die() {
bbfatal "$*"
}

bbnote() {
echo "NOTE:" "$*"
}

bbwarn() {
echo "WARNING:" "$*"
}

bbfatal() {
echo "FATAL:" "$*"
exit 1
}

addtask showdata
do_showdata[nostamp] = "1"
python do_showdata() {
import sys
# emit variables and shell functions
bb.data.emit_env(sys.__stdout__, d, True)
# emit the metadata which isnt valid shell
for e in bb.data.keys(d):
if bb.data.getVarFlag(e, 'python', d):
sys.__stdout__.write("\npython %s () {\n%s}\n" % (e,
bb.data.getVar(e, d, 1)))
}

addtask listtasks
do_listtasks[nostamp] = "1"
python do_listtasks() {
import sys
for e in bb.data.keys(d):
if bb.data.getVarFlag(e, 'task', d):
sys.__stdout__.write("%s\n" % e)
}

addtask build
do_build[dirs] = "${TOPDIR}"
do_build[nostamp] = "1"
python base_do_build () {
bb.note("The included, default BB base.bbclass does not define a
useful default task.")
bb.note("Try running the 'listtasks' task against a .bb to see what
tasks are defined.")
}

EXPORT_FUNCTIONS do_clean do_mrproper do_build

Again, it's more than you need. It's just convenient to use it. I put this
file inside the layer but you can also create a classes directory in
${TOPDIR} (bbtest in this example). Next, create a layer (meta-bbtest in my
example, name does not matter, meta-* is convention). It needs a
conf/layer.con file:

layer.conf:

# We have a metadata layer directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"

# We have a recipe directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "test"
BBFILE_PATTERN_test := "^${LAYERDIR}/"
BBFILE_PRIORITY_test = "5"

The path expression for the recipes is more complex than necessary, it just
follows the convention. Finally a recipe to build the Nano editor:

DESCRIPTION = "Recipe to build the 'nano' editor"

PN = "nano"
PV = "2.2.6"

SRC_URI = "http://www.nano-editor.org/dist/v2.2/nano-2.2.6.tar.gz"

python do_fetch() {
bb.note("Downloading source tarball from ${SRC_URI} ...")

src_uri = (bb.data.getVar('SRC_URI', d, True) or "").split()
if len(src_uri) == 0:
bb.fatal("Empty URI")

try:
bb.fetch.init(src_uri, d)
bb.fetch.go(d)
except FetchError:
bb.fatal("Could not fetch source tarball.")

bb.note("Download successful.")
}

addtask fetch before do_build


python do_unpack() {
bb.note("Unpacking source tarball ...")

os.system("tar x -C ${WORKDIR} -f ${DL_DIR}/${P}.tar.gz")

bb.note("Unpacked source tarball.")
}

addtask unpack before do_build after do_fetch


python do_configure() {
bb.note("Configuring source package ...")

os.system("cd ${WORKDIR}/${P} && ./configure")

bb.note("Configured source package.")
}

addtask configure before do_build after do_unpack


python do_compile() {
bb.note("Compiling package...")

os.system("cd ${WORKDIR}/${P} && make")

bb.note("Compiled package.")
}

addtask compile before do_build after do_configure


Nano is an autotooled package. This recipe simply at a very basic level does
what you would do manually. OECore's autotools.bbclass is much more
sophisticated and so are the fetcher class files.

:rjs



_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto


Re: [PATCH 1/1] crownbay.conf: add kernel parameters for EMGD video acceleration

Darren Hart <darren.hart@...>
 

On 10/04/2012 01:16 PM, nitin.a.kamble@... wrote:
From: Nitin A Kamble <nitin.a.kamble@...>

This is recommended in the EMGD User Guide.
What does this actually do? It seems to work fine without it.

--
Darren


Signed-off-by: Nitin A Kamble <nitin.a.kamble@...>
---
meta-crownbay/conf/machine/crownbay.conf | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/meta-crownbay/conf/machine/crownbay.conf b/meta-crownbay/conf/machine/crownbay.conf
index 40dbd1d..f02615e 100644
--- a/meta-crownbay/conf/machine/crownbay.conf
+++ b/meta-crownbay/conf/machine/crownbay.conf
@@ -21,7 +21,7 @@ PREFERRED_VERSION_xserver-xorg ?= "1.9.3"
PREFERRED_VERSION_mesa-dri ?= "7.11"
PREFERRED_VERSION_xf86-input-evdev ?= "2.6.0"

-APPEND += "video=vesafb vga=0x318"
+APPEND += "vga=current vmalloc=256MB"

VA_FEATURES = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", \
"commercial", "gst-va-intel va-intel", "va-intel", d)}"
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel


Re: [Poky] Baking core-image-minimal with Poky from Master fails with libffi dependency

Rudolf Streif <rudolf.streif@...>
 



hmmm clearing sstate generally should not be needed. I wonder if there
is something to fix here
but now you have blown up you cache :)

Fair enough. Hindsight. I should have moved it. There will be a next time....


Re: [Poky] Baking core-image-minimal with Poky from Master fails with libffi dependency

Khem Raj
 

On Thu, Oct 4, 2012 at 12:09 PM, Rudolf Streif <rudolf.streif@...> wrote:
I eventually had to clean out the sstate-cache to make it work. Not a big
deal and not probably not worth any further investigation. Thanks for
helping.
hmmm clearing sstate generally should not be needed. I wonder if there
is something to fix here
but now you have blown up you cache :)


[PATCH 1/1] crownbay.conf: add kernel parameters for EMGD video acceleration

nitin.a.kamble@...
 

From: Nitin A Kamble <nitin.a.kamble@...>

This is recommended in the EMGD User Guide.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@...>
---
meta-crownbay/conf/machine/crownbay.conf | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/meta-crownbay/conf/machine/crownbay.conf b/meta-crownbay/conf/machine/crownbay.conf
index 40dbd1d..f02615e 100644
--- a/meta-crownbay/conf/machine/crownbay.conf
+++ b/meta-crownbay/conf/machine/crownbay.conf
@@ -21,7 +21,7 @@ PREFERRED_VERSION_xserver-xorg ?= "1.9.3"
PREFERRED_VERSION_mesa-dri ?= "7.11"
PREFERRED_VERSION_xf86-input-evdev ?= "2.6.0"

-APPEND += "video=vesafb vga=0x318"
+APPEND += "vga=current vmalloc=256MB"

VA_FEATURES = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", \
"commercial", "gst-va-intel va-intel", "va-intel", d)}"
--
1.7.3.4


[PATCH 0/1] meta-intel misc commits

nitin.a.kamble@...
 

From: Nitin A Kamble <nitin.a.kamble@...>

Here is a commit to add a kernel parameter to crownbay BSP. It is recommended
in the EMGD 1.14 User Guide for video acceleration with the EMGD driver.

Darren,
Other EMGD based BSPs like FRI2 & sys940x should add the vmalloc=256MB kernel
parameter too. (not needed for noemgd BSPs)

Thanks,
Nitin

The following changes since commit bc6f631c1eaa7154e667325da8fd636a05628f87:

jasperforest: uprev v3.4 kernel commit ids (2012-10-04 14:21:55 -0500)

are available in the git repository at:
git://git.yoctoproject.org/meta-intel-contrib nitin/misc
http://git.yoctoproject.org/cgit.cgi/meta-intel-contrib/log/?h=nitin/misc

Nitin A Kamble (1):
crownbay.conf: add kernel parameters for EMGD video acceleration

meta-crownbay/conf/machine/crownbay.conf | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

--
1.7.3.4


Re: log

Jim Abernathy
 

On 10/04/2012 03:15 PM, Jim Abernathy wrote:
Build Configuration:
BB_VERSION = "1.16.0"
TARGET_ARCH = "i586"
TARGET_OS = "linux"
MACHINE = "crownbay"
DISTRO = "poky"
DISTRO_VERSION = "1.2+snapshot-20121004"
TUNE_FEATURES = "m32 core2"
TARGET_FPU = ""
meta
meta-yocto
meta-yocto-bsp = "master:ee76b805f96f00aec386a1c34d176eea7d66f526"
meta-intel
meta-crownbay = "master:c4a86a2ad5df3a94b47e394090f67f7e324b1483"
meta-jfa = "<unknown>:<unknown>"
My bad. meant to send this to my other computer.

Jim A


log

Jim Abernathy
 

Build Configuration:
BB_VERSION = "1.16.0"
TARGET_ARCH = "i586"
TARGET_OS = "linux"
MACHINE = "crownbay"
DISTRO = "poky"
DISTRO_VERSION = "1.2+snapshot-20121004"
TUNE_FEATURES = "m32 core2"
TARGET_FPU = ""
meta
meta-yocto
meta-yocto-bsp = "master:ee76b805f96f00aec386a1c34d176eea7d66f526"
meta-intel
meta-crownbay = "master:c4a86a2ad5df3a94b47e394090f67f7e324b1483"
meta-jfa = "<unknown>:<unknown>"


Re: [Poky] Baking core-image-minimal with Poky from Master fails with libffi dependency

Rudolf Streif <rudolf.streif@...>
 

I eventually had to clean out the sstate-cache to make it work. Not a big deal and not probably not worth any further investigation. Thanks for helping.

:rjs


On Thu, Oct 4, 2012 at 1:22 AM, Martin Jansa <martin.jansa@...> wrote:
On Thu, Oct 04, 2012 at 09:43:58AM +0300, Andrei Gherzan wrote:
> There were some issues with libffi while updating the package. Maybe some
> bumps were missed. So:

> 1. This is not new build. In this case a pull on master should fix it. I
> think I saw some pr bumps sent as patch.

Yes but I did PR bumps only of packages in my feed
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-September/029759.html

> 2. If 1. won't work, recompile libowl si libclutter as a workaround.

wont fix it on target

Cheers,

>
> ag
>  On Oct 4, 2012 4:40 AM, "Rudolf Streif" <rudolf.streif@...> wrote:
>
> > No, nothing extra. But you are right about the number of tasks. I checked
> > out master a while ago, built successfully back then, now pulled the latest
> > today, and reused the build environment. I will try again with a fresh
> > environment.
> >
> > :rjs
> > On Oct 3, 2012 6:35 PM, "Saul Wold" <sgw@...> wrote:
> >
> >> On 10/03/2012 04:21 PM, Rudolf Streif wrote:
> >>
> >>> I checked out Poky from Master and tried to build core-image-minimal.
> >>> do_rootfs failed on the libffi dependency [1]. Is that known/expected?
> >>>
> >>>  This is interesting, I just tried it also, and it is working, see below.
> >>
> >>
> >>  :rjs
> >>>
> >>> --------
> >>>
> >>> [1]
> >>>
> >>> bitbake core-image-minimal
> >>> Loading cache: 100%
> >>> |#############################**##############################**
> >>> #####################|
> >>> ETA:  00:00:00
> >>> Loaded 1131 entries from dependency cache.
> >>>
> >>> Build Configuration:
> >>> BB_VERSION        = "1.16.0"
> >>> TARGET_ARCH       = "i586"
> >>> TARGET_OS         = "linux"
> >>> MACHINE           = "qemux86"
> >>> DISTRO            = "poky"
> >>> DISTRO_VERSION    = "1.2+snapshot-20121003"
> >>> TUNE_FEATURES     = "m32 i586"
> >>> TARGET_FPU        = ""
> >>> meta
> >>> meta-yocto
> >>> meta-yocto-bsp    = "master:**09aaad16be178bd675750aa6cfe7a3**
> >>> 73d7c9a8a6"
> >>>
> >>> NOTE: Resolving any missing task queue dependencies
> >>> NOTE: Preparing runqueue
> >>> NOTE: Executing SetScene Tasks
> >>> NOTE: Executing RunQueue Tasks
> >>> ERROR: Function failed: do_rootfs (see
> >>> /data/Develop/yocto-develop/**x86/tmp/work/qemux86-poky-**
> >>> linux/core-image-minimal-1.0-**r0/temp/log.do_rootfs.29559
> >>> for further information)
> >>> ERROR: Logfile of failure stored in:
> >>> /data/Develop/yocto-develop/**x86/tmp/work/qemux86-poky-**
> >>> linux/core-image-minimal-1.0-**r0/temp/log.do_rootfs.29559
> >>> Log data follows:
> >>> | DEBUG: Executing shell function do_rootfs
> >>> | Generating solve db for
> >>> /data/Develop/yocto-develop/**x86/tmp/deploy/rpm/qemux86...
> >>> | Generating solve db for
> >>> /data/Develop/yocto-develop/**x86/tmp/deploy/rpm/i586...
> >>> | Generating solve db for
> >>> /data/Develop/yocto-develop/**x86/tmp/deploy/rpm/all...
> >>> | Generating solve db for
> >>> /data/Develop/yocto-develop/**x86/tmp/deploy/rpm/all...
> >>> | Processing packagegroup-core-tools-**profile...
> >>> | Processing packagegroup-core-boot...
> >>> | Processing packagegroup-core-tools-**testapps...
> >>> | Processing packagegroup-core-tools-debug.**..
> >>> | error: Failed dependencies:
> >>> |       libffi.so.5 is needed by lttng-viewer-0.12.38-r3.i586
> >>> |       libffi.so.5 is needed by
> >>> clutter-box2d-0.12.1+git1+**de5452e56b537a11fd7f9453d048ff**
> >>> 4b4793b5a2-r1.qemux86
> >>> |       libffi.so.5 is needed by
> >>> libowl-av0-0.1+git1+**03030c41ea578cfa74a2ffceb87567**5b248318ae-r3.i586
> >>> |       libffi.so.5 is needed by libclutter-glx-1.0-0-1.8.4-r2.**i586
> >>> | ERROR: Function failed: do_rootfs (see
> >>> /data/Develop/yocto-develop/**x86/tmp/work/qemux86-poky-**
> >>> linux/core-image-minimal-1.0-**r0/temp/log.do_rootfs.29559
> >>> for further information)
> >>> ERROR: Task 7
> >>> (/data/Develop/yocto-develop/**poky/meta/recipes-core/images/**
> >>> core-image-minimal.bb <http://core-image-minimal.bb>
> >>> <http://core-image-minimal.bb>**, do_rootfs) failed with exit code '1'
> >>> NOTE: Tasks Summary: Attempted 3891 tasks of which 3890 didn't need to
> >>> be rerun and 1 failed.
> >>> No currently running tasks (3890 of 3892)
> >>>
> >>>  The number of tasks and including lttng-viewer and clutter seems to be
> >> lartger than core-image-minimal, do you have anything in the local.conf?
> >>
> >> Sau!
> >>
> >>  Summary: 1 task failed:
> >>>
> >>> /data/Develop/yocto-develop/**poky/meta/recipes-core/images/**
> >>> core-image-minimal.bb <http://core-image-minimal.bb>
> >>> <http://core-image-minimal.bb>**, do_rootfs
> >>> Summary: There was 1 ERROR message shown, returning a non-zero exit code.
> >>>
> >>>
> >>>
> >>> ______________________________**_________________
> >>> yocto mailing list
> >>> yocto@...
> >>> https://lists.yoctoproject.**org/listinfo/yocto<https://lists.yoctoproject.org/listinfo/yocto>
> >>>
> >>>
> > _______________________________________________
> > yocto mailing list
> > yocto@...
> > https://lists.yoctoproject.org/listinfo/yocto
> >
> >

> _______________________________________________
> yocto mailing list
> yocto@...
> https://lists.yoctoproject.org/listinfo/yocto


--
Martin 'JaMa' Jansa     jabber: Martin.Jansa@...


Re: The BitBake equivalent of "Hello, World!"

Rudolf Streif <rudolf.streif@...>
 

[Warning: lengthy post, and probably boring to most.]

My Bitbake "Hello World" is a little more than a basic "Hello World". It's idea is to incorporate a layer and use a structure similar to what OE and Yocto are using. You can do it simpler if you want to. I did this a while ago with Bitbake 1.12.0. I would think it works with newer versions too although I have not tested it. This is the layout I am using:

bbtest/
├── conf
│   ├── bblayers.conf
│   └── bitbake.conf
├── downloads
│   └── /* need to create but will be populated with downloads */
├── meta-test
│   ├── classes
│   │   └── base.bbclass
│   ├── conf                                                                                                         
│   │   └── layer.conf                                                                                               
│   └── recipes-test                                                                                                 
│       └── nano                                                                                                     
│         └── nano.bb                                                                                              
└── tmp                                                                                                              
    └── /* will be created and populated when building */

The first thing Bitbake looks for is a conf/bblayers.conf file in the directory you started it from. This file must provide an initial setting for BBPATH:

bblayers.conf:

BBPATH := "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
  ${TOPDIR}/meta-test \
  "

Without BBPATH Bitbake will not find any conf/<filename>.conf files and recipe files at all. It will also not find bitbake.conf. I simply copied bitbake.conf from the Bitbake download and edited DL_DIR:

bitbake.conf:

# comments omitted
B = "${S}"                                                                                                           
CVSDIR = "${DL_DIR}/cvs"                                                                                             
DEPENDS = ""                                                                                                         
DEPLOY_DIR = "${TMPDIR}/deploy"
DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images"
DL_DIR = "${TOPDIR}/downloads"
FETCHCOMMAND = ""
FETCHCOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} co ${CVSCOOPTS} ${CVSMODULE}"
FETCHCOMMAND_svn = "/usr/bin/env svn co ${SVNCOOPTS} ${SVNROOT} ${SVNMODULE}"
FETCHCOMMAND_wget = "/usr/bin/env wget -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
FILESDIR = "${@bb.utils.which(bb.data.getVar('FILESPATH', d, 1), '.')}"
FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
FILE_DIRNAME = "${@os.path.dirname(bb.data.getVar('FILE', d))}"
GITDIR = "${DL_DIR}/git"
IMAGE_CMD = "_NO_DEFINED_IMAGE_TYPES_"
IMAGE_ROOTFS = "${TMPDIR}/rootfs"
MKTEMPCMD = "mktemp -q ${TMPBASE}"
MKTEMPDIRCMD = "mktemp -d -q ${TMPBASE}"
OVERRIDES = "local:${MACHINE}:${TARGET_OS}:${TARGET_ARCH}"
P = "${PN}-${PV}"
PERSISTENT_DIR = "${TMPDIR}/cache"
PF = "${PN}-${PV}-${PR}"
PN = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[0] or 'defaultpkgname'}"
PR = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[2] or 'r0'}"
PROVIDES = ""
PV = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[1] or '1.0'}"
RESUMECOMMAND = ""
RESUMECOMMAND_wget = "/usr/bin/env wget -c -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
S = "${WORKDIR}/${P}"
SRC_URI = "file://${FILE}"
STAMP = "${TMPDIR}/stamps/${PF}"
SVNDIR = "${DL_DIR}/svn"
T = "${WORKDIR}/temp"
TARGET_ARCH = "${BUILD_ARCH}"
TMPDIR = "${TOPDIR}/tmp"
UPDATECOMMAND = ""
UPDATECOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} update ${CVSCOOPTS}"
UPDATECOMMAND_svn = "/usr/bin/env svn update ${SVNCOOPTS}"
WORKDIR = "${TMPDIR}/work/${PF}"
PERSISTENT_DIR = "${TMPDIR}/cache"

That's more than you need but it's convenient.

Bitbake will require a base.bbclass file somewhere in a classes subdirectory of BBPATH. I used the base.bbclass file from the Bitbake download. As a minimum it should contain a do_build task. That's the target that Bitbake invokes by default if you do not use the -c option explicitly. It's empty and does not do anything but it functions as an anchor for tasks you define in your recipes:

base.bbclass:

# comments omitted
die() {
        bbfatal "$*"
}

bbnote() {
        echo "NOTE:" "$*"
}

bbwarn() {
        echo "WARNING:" "$*"
}

bbfatal() {
        echo "FATAL:" "$*"
        exit 1
}

addtask showdata
do_showdata[nostamp] = "1"
python do_showdata() {
        import sys
        # emit variables and shell functions
        bb.data.emit_env(sys.__stdout__, d, True)
        # emit the metadata which isnt valid shell
        for e in bb.data.keys(d):
                if bb.data.getVarFlag(e, 'python', d):
                        sys.__stdout__.write("\npython %s () {\n%s}\n" % (e, bb.data.getVar(e, d, 1)))
}

addtask listtasks
do_listtasks[nostamp] = "1"
python do_listtasks() {
        import sys
        for e in bb.data.keys(d):
                if bb.data.getVarFlag(e, 'task', d):
                        sys.__stdout__.write("%s\n" % e)
}

addtask build
do_build[dirs] = "${TOPDIR}"
do_build[nostamp] = "1"
python base_do_build () {
        bb.note("The included, default BB base.bbclass does not define a useful default task.")
        bb.note("Try running the 'listtasks' task against a .bb to see what tasks are defined.")
}

EXPORT_FUNCTIONS do_clean do_mrproper do_build

Again, it's more than you need. It's just convenient to use it. I put this file inside the layer but you can also create a classes directory in ${TOPDIR} (bbtest in this example). Next, create a layer (meta-bbtest in my example, name does not matter, meta-* is convention). It needs a conf/layer.con file:

layer.conf:

# We have a metadata layer directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"

# We have a recipe directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
            ${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "test"
BBFILE_PATTERN_test := "^${LAYERDIR}/"
BBFILE_PRIORITY_test = "5"

The path expression for the recipes is more complex than necessary, it just follows the convention. Finally a recipe to build the Nano editor:

DESCRIPTION = "Recipe to build the 'nano' editor"

PN = "nano"
PV = "2.2.6"


python do_fetch() {
   bb.note("Downloading source tarball from ${SRC_URI} ...")

   src_uri = (bb.data.getVar('SRC_URI', d, True) or "").split()
   if len(src_uri) == 0:
      bb.fatal("Empty URI")

   try:
      bb.fetch.init(src_uri, d)
      bb.fetch.go(d)
   except FetchError:
      bb.fatal("Could not fetch source tarball.")

   bb.note("Download successful.")
}

addtask fetch before do_build


python do_unpack() {
   bb.note("Unpacking source tarball ...")

   os.system("tar x -C ${WORKDIR} -f ${DL_DIR}/${P}.tar.gz")

   bb.note("Unpacked source tarball.")
}

addtask unpack before do_build after do_fetch


python do_configure() {
   bb.note("Configuring source package ...")

   os.system("cd ${WORKDIR}/${P} && ./configure")

   bb.note("Configured source package.")
}

addtask configure before do_build after do_unpack


python do_compile() {
   bb.note("Compiling package...")

   os.system("cd ${WORKDIR}/${P} && make")

   bb.note("Compiled package.")
}

addtask compile before do_build after do_configure


Nano is an autotooled package. This recipe simply at a very basic level does what you would do manually. OECore's autotools.bbclass is much more sophisticated and so are the fetcher class files.

:rjs



Building crownbay from master

Jim Abernathy
 

I successfully build the meta-crownbay BSP using the latest pull from master branch. I did get some warning, that I wonder what they mean or the significance of them:

NOTE: preferred version 7.11 of mesa-dri not available (for item virtual/libgl)
NOTE: versions of mesa-dri available: 2:8.0.4 2:8.0.4+git1+c1f4867c89adb1a6b19d66ec8ad146115909f0a7
NOTE: preferred version 7.11 of mesa-dri not available (for item mesa-dri)
NOTE: versions of mesa-dri available: 2:8.0.4 2:8.0.4+git1+c1f4867c89adb1a6b19d66ec8ad146115909f0a7
NOTE: preferred version 7.11 of mesa-dri not available (for item mesa-dri-dev)
NOTE: versions of mesa-dri available: 2:8.0.4 2:8.0.4+git1+c1f4867c89adb1a6b19d66ec8ad146115909f0a7
NOTE: preferred version 7.11 of mesa-dri not available (for item mesa-dri)
NOTE: versions of mesa-dri available: 2:8.0.4 2:8.0.4+git1+c1f4867c89adb1a6b19d66ec8ad146115909f0a7


WARNING: bzip2: No generic license file exists for: bzip2 in any provider
WARNING: bzip2-native: No generic license file exists for: bzip2 in any provider
WARNING: emgd-driver-bin: No generic license file exists for: Intel-binary-only in any provider
WARNING: busybox: No generic license file exists for: bzip2 in any provider

Also a number of warning about the recipe trying to install files into a shared area when those files already existed.

Jim A


Re: [PATCH 1/1] meta-tlk: fix ignored SRC_URI appends

Paul Eggleton
 

Hi Mihai,

On Thursday 04 October 2012 20:47:08 Mihai Lindner wrote:
Fix SRC_URI appends ignored by meta-cedartrail and meta-crownbay. Used
SRC_URI_append instead of SRC_URI.
Also placed all variables in an .inc file to be required by all
linux-yocto recipes in here, since all versions use the same.

[YOCTO #3217]

Signed-off-by: Mihai Lindner <mihaix.lindner@...>
---
meta-tlk/recipes-kernel/linux/linux-yocto.inc | 3 +++
meta-tlk/recipes-kernel/linux/linux-yocto_3.0.bbappend | 7 +------
meta-tlk/recipes-kernel/linux/linux-yocto_3.2.bbappend | 7 +------
meta-tlk/recipes-kernel/linux/linux-yocto_3.4.bbappend | 7 +------
4 files changed, 6 insertions(+), 18 deletions(-)
create mode 100644 meta-tlk/recipes-kernel/linux/linux-yocto.inc

diff --git a/meta-tlk/recipes-kernel/linux/linux-yocto.inc
b/meta-tlk/recipes-kernel/linux/linux-yocto.inc new file mode 100644
index 0000000..96a3adf
--- /dev/null
+++ b/meta-tlk/recipes-kernel/linux/linux-yocto.inc
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI_append += "file://time-limited-kernel.cfg"
You should use SRC_URI_append = " file://time-limited-kernel.cfg" (note leading
space) here. Obviously what you have done does work, but we want to avoid
_append += as it can be confusing.

Cheers,
Paul

--

Paul Eggleton
Intel Open Source Technology Centre


[PATCH 1/1] meta-tlk: fix ignored SRC_URI appends

Mihai Lindner <mihaix.lindner@...>
 

Fix SRC_URI appends ignored by meta-cedartrail and meta-crownbay. Used
SRC_URI_append instead of SRC_URI.
Also placed all variables in an .inc file to be required by all
linux-yocto recipes in here, since all versions use the same.

[YOCTO #3217]

Signed-off-by: Mihai Lindner <mihaix.lindner@...>
---
meta-tlk/recipes-kernel/linux/linux-yocto.inc | 3 +++
meta-tlk/recipes-kernel/linux/linux-yocto_3.0.bbappend | 7 +------
meta-tlk/recipes-kernel/linux/linux-yocto_3.2.bbappend | 7 +------
meta-tlk/recipes-kernel/linux/linux-yocto_3.4.bbappend | 7 +------
4 files changed, 6 insertions(+), 18 deletions(-)
create mode 100644 meta-tlk/recipes-kernel/linux/linux-yocto.inc

diff --git a/meta-tlk/recipes-kernel/linux/linux-yocto.inc b/meta-tlk/recipes-kernel/linux/linux-yocto.inc
new file mode 100644
index 0000000..96a3adf
--- /dev/null
+++ b/meta-tlk/recipes-kernel/linux/linux-yocto.inc
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI_append += "file://time-limited-kernel.cfg"
+PR .= ".2"
diff --git a/meta-tlk/recipes-kernel/linux/linux-yocto_3.0.bbappend b/meta-tlk/recipes-kernel/linux/linux-yocto_3.0.bbappend
index 138cc21..bd54419 100644
--- a/meta-tlk/recipes-kernel/linux/linux-yocto_3.0.bbappend
+++ b/meta-tlk/recipes-kernel/linux/linux-yocto_3.0.bbappend
@@ -1,6 +1 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-# enable the time limited kernel configuration options
-SRC_URI += "file://time-limited-kernel.cfg"
-
-PR .= ".1"
+require ${PN}.inc
diff --git a/meta-tlk/recipes-kernel/linux/linux-yocto_3.2.bbappend b/meta-tlk/recipes-kernel/linux/linux-yocto_3.2.bbappend
index 138cc21..bd54419 100644
--- a/meta-tlk/recipes-kernel/linux/linux-yocto_3.2.bbappend
+++ b/meta-tlk/recipes-kernel/linux/linux-yocto_3.2.bbappend
@@ -1,6 +1 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-# enable the time limited kernel configuration options
-SRC_URI += "file://time-limited-kernel.cfg"
-
-PR .= ".1"
+require ${PN}.inc
diff --git a/meta-tlk/recipes-kernel/linux/linux-yocto_3.4.bbappend b/meta-tlk/recipes-kernel/linux/linux-yocto_3.4.bbappend
index 138cc21..bd54419 100644
--- a/meta-tlk/recipes-kernel/linux/linux-yocto_3.4.bbappend
+++ b/meta-tlk/recipes-kernel/linux/linux-yocto_3.4.bbappend
@@ -1,6 +1 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-# enable the time limited kernel configuration options
-SRC_URI += "file://time-limited-kernel.cfg"
-
-PR .= ".1"
+require ${PN}.inc
--
1.7.12


[PATCH 0/1] meta-tlk: fix ignored SRC_URI appends

Mihai Lindner <mihaix.lindner@...>
 

Fix SRC_URI appends ignored by meta-cedartrail and meta-crownbay. Used
SRC_URI_append instead of SRC_URI.
Also placed all variables in an .inc file to be required by all
linux-yocto recipes in here, since all versions use the same.

[YOCTO #3217]

Signed-off-by: Mihai Lindner <mihaix.lindner@...>
---

The following changes since commit c4a86a2ad5df3a94b47e394090f67f7e324b1483:

meta-crystalforest: Create a custom build Image recipe. (2012-10-03 23:56:13 -0500)

are available in the git repository at:

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

Mihai Lindner (1):
meta-tlk: fix ignored SRC_URI appends

meta-tlk/recipes-kernel/linux/linux-yocto.inc | 3 +++
meta-tlk/recipes-kernel/linux/linux-yocto_3.0.bbappend | 7 +------
meta-tlk/recipes-kernel/linux/linux-yocto_3.2.bbappend | 7 +------
meta-tlk/recipes-kernel/linux/linux-yocto_3.4.bbappend | 7 +------
4 files changed, 6 insertions(+), 18 deletions(-)
create mode 100644 meta-tlk/recipes-kernel/linux/linux-yocto.inc

--
1.7.12


Re: The BitBake equivalent of "Hello, World!"

Patrick Turley <PatrickTurley@...>
 

That is excellent news. I very much look forward to seeing that.


On Oct 3, 2012, at 6:03 PM, Rudolf Streif <rudolf.streif@...>
 wrote:

Hi Patrick,

I think I understand what you are looking for. I created this Bitbake Hello World for a training class. It just uses 'raw' Bitbake and a very basic recipe to build the Nano editor (including download from the project site).

You need to have a couple of things in place to make this work. I got to run but I will get back to it and post it.

:rjs

On Wed, Oct 3, 2012 at 3:56 PM, Patrick Turley <PatrickTurley@...> wrote:
In my previous message, some of the indentation in the representation of
my file tree was wrong (because we're using Outlook, which destroy all
indentation when you paste it into an e-mail message). The errors are
small, but I want to avoid annoying anyone who might think I don't even
have the file tree constructed correctly.

The following is accurate:

>/home/pturley/Workspace/woohoo
>    |
>    +-- build
>    |   |
>    |   +-- classes
>    |   |   |
>    |   |   +-- base.bbclass
>    |   |
>    |   |     +-------------------------------------------
>    |   |     | do_hello() {
>    |   |     |     echo Hello
>    |   |     | }
>    |   |     |
>    |   |     | addtask hello
>    |   |     +-------------------------------------------
>    |   |
>    |   +-- conf
>    |       |
>    |       +-- bblayers.conf
>    |       |
>    |       | +-------------------------------------------
>    |       | | BBLAYERS ?= " \
>    |       | |   /home/pturley/Workspace/woohoo/LayerA \
>    |       | |   "
>    |       | +-------------------------------------------
>    |       |
>    |       +-- bitbake.conf
>    |
>    |         +-------------------------------------------
>    |         | CACHE = "${TOPDIR}/cache"
>    |         +-------------------------------------------
>    |
>    +-- LayerA
>    |   |
>    |   +-- a.bb
>    |   |
>    |   |     +-------------------------------------------
>    |   |     | PN = 'a'
>    |   |     | PV = '1'
>    |   |     +-------------------------------------------
>    |   |
>    |   +-- conf
>    |       |
>    |       +-- layer.conf
>    |
>    |         +-------------------------------------------
>    |         | BBPATH .= ":${LAYERDIR}"
>    |         | BBFILES += "${LAYERDIR}/*.bb"
>    |         +-------------------------------------------
>    |
>    +-- BitBake ...
>
>    The BitBake directory origin is:
>
>        http://git.openembedded.org/bitbake/
>
>    I have the 1.15.2 tag checked out, which is what
>    Yocto denzil uses.

_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto



[opkg-utils][PATCH 1/1] opkg-make-index: fix mis-indented else:

Martin Jansa
 

From: Marc Olzheim <marc@...>

Signed-off-by: Martin Jansa <Martin.Jansa@...>
---
opkg-make-index | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/opkg-make-index b/opkg-make-index
index 1c3a8e1..44fa64d 100755
--- a/opkg-make-index
+++ b/opkg-make-index
@@ -213,7 +213,7 @@ if filelist_filename:
(h,t) = os.path.split(fn)
if not t: continue
if t not in files: files[t] = name+':'+fn
- else: files[t] = files[t] + ',' + name+':'+fn
+ else: files[t] = files[t] + ',' + name+':'+fn

tmp_filelist_filename = ("%s.%d" % (filelist_filename, os.getpid()))
f = open(tmp_filelist_filename, "w")
--
1.7.12


[opkg-utils][PATCH 0/1] opkg-make-index: small fix for filelist

Martin Jansa
 

The following changes since commit 423ecd36b4782327c16f516885d1248249c7724a:

Changed call to subprocess.check_output which isn't compatible with Python 2.6 (2012-06-19 08:34:48 +0100)

are available in the git repository at:

git://github.com/shr-project/opkg-utils master
https://github.com/shr-project/opkg-utils/tree/jansa/pull

Marc Olzheim (1):
opkg-make-index: fix mis-indented else:

opkg-make-index | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--
1.7.12


[RFCv2 3/3] plugins/sdk.ide.doc.user: Added cheat sheet for hello world project

Atanas Gegov <atanas.gegov.oss@...>
 

From: Atanas Gegov <atanas.gegov@...>

The cheat sheet added provides an interactive tutorial for creating
and building the 'Hello World C++ Autotools Project' provided with the
yocto ide. The tutorial starts of by configuring the yocto project
settings and then guides the user through the process of creating and
finally building the project.
---
.../META-INF/MANIFEST.MF | 1 +
.../OSGI-INF/l10n/bundle.properties | 4 +
.../org.yocto.sdk.ide.doc.user/build.properties | 4 +-
.../cheatsheets/createNewHelloWorldProject.xml | 222 ++++++++++++++++++++
plugins/org.yocto.sdk.ide.doc.user/plugin.xml | 9 +
5 files changed, 239 insertions(+), 1 deletions(-)
create mode 100644 plugins/org.yocto.sdk.ide.doc.user/cheatsheets/createNewHelloWorldProject.xml

diff --git a/plugins/org.yocto.sdk.ide.doc.user/META-INF/MANIFEST.MF b/plugins/org.yocto.sdk.ide.doc.user/META-INF/MANIFEST.MF
index 1c8ae05..87079ce 100644
--- a/plugins/org.yocto.sdk.ide.doc.user/META-INF/MANIFEST.MF
+++ b/plugins/org.yocto.sdk.ide.doc.user/META-INF/MANIFEST.MF
@@ -5,3 +5,4 @@ Bundle-SymbolicName: org.yocto.sdk.ide.doc.user;singleton:=true
Bundle-Version: 1.2.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.ui.cheatsheets
diff --git a/plugins/org.yocto.sdk.ide.doc.user/OSGI-INF/l10n/bundle.properties b/plugins/org.yocto.sdk.ide.doc.user/OSGI-INF/l10n/bundle.properties
index 99f8fce..2cf9956 100644
--- a/plugins/org.yocto.sdk.ide.doc.user/OSGI-INF/l10n/bundle.properties
+++ b/plugins/org.yocto.sdk.ide.doc.user/OSGI-INF/l10n/bundle.properties
@@ -1,3 +1,7 @@
#Properties file for org.yocto.sdk.ide.doc.user
Bundle-Vendor = yoctoproject.org
Bundle-Name = Yocto User Help
+
+category.name = Yocto Project
+
+cheatsheet.name = Creating a Hello World ANSI C or C++ Autotools Project
diff --git a/plugins/org.yocto.sdk.ide.doc.user/build.properties b/plugins/org.yocto.sdk.ide.doc.user/build.properties
index 31e0140..caf850b 100644
--- a/plugins/org.yocto.sdk.ide.doc.user/build.properties
+++ b/plugins/org.yocto.sdk.ide.doc.user/build.properties
@@ -1,4 +1,6 @@
bin.includes = plugin.xml,\
.,\
META-INF/,\
- OSGI-INF/
+ OSGI-INF/,\
+ cheatsheets/
+src.includes = cheatsheets/
diff --git a/plugins/org.yocto.sdk.ide.doc.user/cheatsheets/createNewHelloWorldProject.xml b/plugins/org.yocto.sdk.ide.doc.user/cheatsheets/createNewHelloWorldProject.xml
new file mode 100644
index 0000000..310dce6
--- /dev/null
+++ b/plugins/org.yocto.sdk.ide.doc.user/cheatsheets/createNewHelloWorldProject.xml
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*******************************************************************************
+ * Copyright (c) 2012 BMW Car IT GmbH.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Atanas Gegov - initial cheat sheet for creating the hello world project.
+ *******************************************************************************
+-->
+<cheatsheet title="Creating a Hello World ANSI C or C++ Autotools Project">
+ <intro>
+ <description>
+ This cheat sheet will guide you through the process of creating and
+ building a &quot;Hello World ANSI C Autotools Project&quot; or
+ a &quot;Hello World C++ Autotools Project&quot;
+ application that uses a Yocto Project template.
+ </description>
+ </intro>
+ <item title="Open the C/C++ Perspective" dialog="false" skip="true">
+ <description>
+ Select <b>Window</b> &gt; <b>Open Perspective</b> &gt;
+ <b>Other...</b> from the menu bar.<br/>
+ Choose <b>C/C++</b> from the <b>Open Perspective</b> dialog.
+ Click <b>OK</b>.
+ </description>
+ <command
+ required="false"
+ serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.cdt.ui.CPerspective)">
+ </command>
+ </item>
+ <item title="Specify a toolchain and sysroot location" dialog="true" skip="true">
+ <description>
+ You need to specify a toolchain and sysroot location before
+ building any project in the workspace.
+ </description>
+ <subitem>
+ <description>
+ The global settings can be modified in the <b>Yocto Project ADT</b>
+ section of the eclipse preferences. Select <b>Window</b> &gt;
+ <b>Preferences</b> from the menu bar and then select the section
+ <b>Yocto Project ADT</b>. These settings are the default ones for
+ every project you create in the workspace.
+ </description>
+ <command
+ required="false"
+ serialization="org.eclipse.ui.window.preferences(preferencePageId=org.yocto.sdk.ide.preferences.YoctoSDKPreferencePage)">
+ </command>
+ </subitem>
+ <subitem>
+ <description>
+ Choose in the <b>Cross Compiler Options</b> the
+ <b>Standalone pre-built toolchain</b>.
+ </description>
+ </subitem>
+ <subitem>
+ <description>
+ Provide a <b>Toolchain Root Location</b> (e.g.
+ /opt/poky/1.3 or some other location on the filesystem).
+ </description>
+ </subitem>
+ <subitem>
+ <description>
+ Provide a <b>Sysroot Location</b>. This is the filesystem
+ containing libraries, headers etc. used while cross-building
+ binaries for the target.
+ </description>
+ </subitem>
+ <subitem>
+ <description>
+ If more than one toolchain is found in the <b>Toolchain
+ Root Location</b>, use the drop-down box to select the <b>Target
+ Architecture</b>. Make sure that the selected sysroot matches
+ the toolchain.
+ </description>
+ </subitem>
+ <subitem>
+ <description>
+ Choose in the <b>Target Options</b> whether the target is a QEMU
+ emulation (kernel location required) or an external hardware.
+ The target is used for running or remote debugging the binaries
+ created for it.
+ </description>
+ </subitem>
+ <subitem>
+ <description>
+ Save the settings with <b>Apply</b> and <b>OK</b>. You can later
+ change these settings for any project from the menu
+ <b>Project</b> &gt; <b>Change Yocto Project Settings</b>.
+ </description>
+ </subitem>
+ </item>
+ <item title="Choose the programming language for the project" dialog="true">
+ <description>
+ Choose between the available &quot;Hello World ANSI C Autotools
+ Project&quot; or the &quot;Hello World C++ Autotools Project&quot;
+ template projects.
+ </description>
+ <command returns="progLanguage"
+ serialization="org.eclipse.ui.dialogs.openMessageDialog(title=Select Programming Language,buttonLabel0=C++,message=Select the programming language for the Hello World Autotools Project project,buttonLabel1=C)"/>
+ <onCompletion> You selected ${progLanguage}.</onCompletion>
+ </item>
+ <item title="Create a Hello World Autotools Project">
+ <description>
+ Create a Yocto Project ADT Project &quot;Hello World ANSI C Autotools
+ Project&quot; or &quot;Hello World C++ Autotools Project&quot;
+ by using the appropriate Project wizard.
+ </description>
+ <conditional-subitem condition="${progLanguage}">
+ <subitem when="C++">
+ <description>
+ Click <b>File</b> &gt; <b>New</b> &gt; <b>C++ Project</b> to
+ launch the C++ Project wizard.
+ </description>
+ <command
+ required="false"
+ serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.cdt.ui.wizards.NewCWizard1)">
+ </command>
+ </subitem>
+ <subitem when="C">
+ <description>
+ Click <b>File</b> &gt; <b>New</b> &gt; <b>C Project</b> to
+ launch the C Project wizard.
+ </description>
+ <command
+ required="false"
+ serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.cdt.ui.wizards.NewCWizard2)">
+ </command>
+ </subitem>
+ </conditional-subitem>
+ <conditional-subitem condition="${progLanguage}">
+ <subitem when="C++">
+ <description>
+ Enter <b>HelloWorld</b> as the project name, then select
+ <b>Yocto Project ADT Project</b> &gt;
+ <b>Hello World C++ Autotools Project</b> from the Project type
+ list and click <b>Next</b>.
+ </description>
+ </subitem>
+ <subitem when="C">
+ <description>
+ Enter <b>HelloWorld</b> as the project name, then select
+ <b>Yocto Project ADT Project</b> &gt;
+ <b>Hello World ANSI C Autotools Project</b> from the Project type
+ list and click <b>Next</b>.
+ </description>
+ </subitem>
+ </conditional-subitem>
+ <subitem skip="true">
+ <description>
+ Fill in the name of the <b>Author</b>. Make some changes in the
+ other fields if needed. Possibly change the <b>License</b> from
+ the drop-down box and click <b>Next</b>.
+ </description>
+ </subitem>
+ <subitem skip="true">
+ <description>
+ If needed make some Advanced settings. Confirm them with
+ <b>Apply</b> and <b>OK</b>.
+ </description>
+ </subitem>
+ <subitem>
+ <description>
+ Click <b>Finish</b> to create the project in your workspace. You
+ will find the created project in the <b>Project Explorer</b> view.
+ </description>
+ </subitem>
+ </item>
+ <item title="Build the project" dialog="true">
+ <description>
+ Create the project&apos;s binary using a specified toolchain and
+ sysroot.
+ </description>
+ <subitem>
+ <description>
+ Make sure that the project is on focus in the
+ <b>Project Explorer</b> view.
+ </description>
+ </subitem>
+ <subitem>
+ <description>
+ If you want to change the default settings for toolchain and
+ sysroot location go to <b>Project</b> &gt;
+ <b>Change Yocto Project Settings</b> in the menu bar. Finish the
+ editing by pressing <b>OK</b>.
+ </description>
+ </subitem>
+ <subitem>
+ <description>
+ If you have changed the settings in the previous step, call
+ <b>Project</b> &gt; <b>Reconfigure Project</b> to reconfigure the
+ project with these new settings (e.g. create the correct Makefiles
+ that make use of the selected toolchain and sysroot).
+ </description>
+ </subitem>
+ <subitem>
+ <description>
+ Build the project with a click on the hammer symbol in the
+ Toolbar. Alternatively, go to <b>Project</b> &gt;
+ <b>Build Project</b>. If you didn&apos;t change the default
+ toolchain and sysroot, now the configuring step will be executed
+ at first, followed by the build step itself.
+ </description>
+ </subitem>
+ <subitem>
+ <description>
+ Observe the output in the different consoles (e.g.
+ <b>Configure [HelloWorld]</b> and
+ <b>CDT Build Console [HelloWorld]</b>) to check if everything
+ was successful.
+ </description>
+ </subitem>
+ <onCompletion>
+ Congratulations, you have completed this cheat sheet! You may
+ continue with editing, rebuilding or debugging the
+ Hello World Autotools Project.
+ </onCompletion>
+ </item>
+</cheatsheet>
diff --git a/plugins/org.yocto.sdk.ide.doc.user/plugin.xml b/plugins/org.yocto.sdk.ide.doc.user/plugin.xml
index f422d55..24c539d 100644
--- a/plugins/org.yocto.sdk.ide.doc.user/plugin.xml
+++ b/plugins/org.yocto.sdk.ide.doc.user/plugin.xml
@@ -1,4 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
+ <extension point="org.eclipse.ui.cheatsheets.cheatSheetContent">
+ <category id="org.yocto.sdk.ide.doc.user.cheatsheets" name="%category.name">
+ </category>
+ <cheatsheet category="org.yocto.sdk.ide.doc.user.cheatsheets"
+ composite="false" contentFile="cheatsheets/createNewHelloWorldProject.xml"
+ id="org.yocto.sdk.ide.doc.user.cheatsheet.helloworldProject"
+ name="%cheatsheet.name">
+ </cheatsheet>
+ </extension>
</plugin>
--
1.7.5.4


[RFCv2 2/3] feature/sdk: Added user doc plugin

Atanas Gegov <atanas.gegov.oss@...>
 

From: Atanas Gegov <atanas.gegov@...>

The added doc plugin org.yocto.sdk.ide.doc.user will provide help
contents for this feature (e.g help documents, cheat sheets).
---
features/org.yocto.sdk/feature.xml | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/features/org.yocto.sdk/feature.xml b/features/org.yocto.sdk/feature.xml
index 785a7be..e82cec2 100644
--- a/features/org.yocto.sdk/feature.xml
+++ b/features/org.yocto.sdk/feature.xml
@@ -8,6 +8,7 @@

Contributors:
Intel - initial API and implementation
+ BMW Car IT - added user documentation plugin to the feature
-->
<feature
id="org.yocto.sdk"
@@ -93,4 +94,11 @@
version="0.0.0"
unpack="false"/>

+ <plugin
+ id="org.yocto.sdk.ide.doc.user"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
--
1.7.5.4