Compare commits

...

169 Commits

Author SHA1 Message Date
Scott Rifenbark
73cdebf60d documentation/dev-manual/dev-manual-kernel-appendix.xml: Add note about conflict
Added a note to the part of the example where you bitbake the kernel
after turning off CONFIG_SMP.  The warnings you get can cause confusion.
the note explains they are normal.

(From yocto-docs rev: 08ed090f0b8b6970832242a52827ae2957918cf3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 15:54:26 +01:00
Scott Rifenbark
6b06a4fa1b documentation/dev-manual/dev-manual-kernel-appendix.xml: Added branch step
The example did not specify to switch to the "denzil" branch after
establishing the local repo of poky-extras.  The example will not
work without this step.

(From yocto-docs rev: 69b99a77f1f8247c217e77af89ecec3982adc264)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 15:54:26 +01:00
Ross Burton
2dcbb48df9 gconf.bbclass: don't register schemas in the install stage
Previously this was installing schemas in the sysroot, which is wrong for native
packages as nothing should touch the sysroot directly, and even more wrong for
non-native packages as the sysroot is irrelevant.

So, export the environment variable that stops the registration happening at
install time. The postinst script will handle the non-native case, and for the
sysroot I've opened #2648.  This isn't a massive problem as nothing to my
knowledge actually installs schemas to the sysroot.

[YOCTO #2245]

(From OE-Core rev: 741146fa90f28f7ce8d82ee7f7e254872d519724)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 15:49:34 +01:00
Elizabeth Flanagan
fb2335fa2b distro.conf: Flipping for pending point release
7.0.1/1.2.1 release. Flipping distro.conf values

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2012-06-21 14:22:32 -07:00
Richard Purdie
e972d78009 poky-tiny: eliminate mtrace rdepends
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 12:01:52 +01:00
Scott Rifenbark
91d6344765 documentation: Updated Manual revision history table
Using July 2012 for the release date.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 12:01:39 +01:00
Anders Darander
a707b3269c qt4-embedded: fix QT_ARCH usage in QT_CONFIG_FLAGS
After the change to shell style functions (from python style), the
ability to use oe_filter_out on QT_CONFIG_FLAGS got broken.

This patch solves that by referring to QT_ARCH in a more correct way.

(From OE-Core rev: 8394dda5f12157c88005a788cd35421f498c9b82)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:35 +01:00
Bruce Ashfield
0d3748ca5d linux-yocto/3.0: update to v3.0.32
Updating the 3.0 kernel SRCREVs to integrate the v3.0.32 -stable
release.

(From OE-Core rev: 6d97c94d25713b47417e184308ab43947c7f243d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:34 +01:00
Bruce Ashfield
5f2b526109 linux-yocto/3.2: update to v3.2.18
Updating the 3.2 kernel SRCREVs to pickup the -stable update
to v3.2.18.

(From OE-Core rev: 0308f91b17b052902a01c98afdd5619cd0c617e5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Reworked commit to fix merge conflicts with denzil branch.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:34 +01:00
Bruce Ashfield
6bb0fdda40 linux-yocto: policy cleanups
Updating the meta SRCREVs to pickup configuration policy cleanups:

  49f931b meta/fishriver: remove redundant features and options
  51a6d3f meta/emenlow: remove redundant features and options
  101dd7f meta/crownbay: remove redundant features and options
  4110ecd meta/sugarbay: remove redundant features and options
  0f1304a meta/jasperforest: remove redundant features and options
  0a56a3b meta/common-pc-64: factor out SCSI CDROM option
  b71938a meta/common-pc-64: use usb-mass-storage feature
  0724f40 meta: add scsi cdrom feature
  438bca8 meta/common-pc: use usb-mass-storage feature
  c970881 meta: factor out SCSI options from the usb-mass-storage feature
  4c8135e meta: add scsi disk feature
  6872a81 meta: add scsi feature
  e706ec5 meta/sugarbay: factor out policy-related options
  8b7fbc2 meta/jasperforest: factor out policy-related options
  fea1b0e meta/fishriver: factor out policy-related options
  13bf9ab meta/emenlow: factor out policy-related options
  4748d50 meta/crownbay: factor out policy-related options
  44f592f meta/common-pc-64: factor out policy-related options
  5a3f5c7 meta/common-pc: factor out policy-related options
  1f5a10b meta/common-pc-64: use usb features
  4b87723 meta/common-pc: use usb features
  594ba05 meta: add ROOT_HUB_TT config option to the usb/ehci-hcd feature

(From OE-Core rev: db35cd40c7abe13a9701eb74099d69d461cadb0a)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:34 +01:00
Bruce Ashfield
5ad28e97e6 linux-yocto: intel BSP config changes
Updating the meta SRCREV for the following fixes:

   1dfd60f meta/fishriver: move smp options from recipe-space
   012780a meta/emenlow: move smp options from recipe-space
   b59b1a5 meta/crownbay: move smp options from recipe-space
   74dc6ac meta/sugarbay: remove boot-live options
   a4bedcb meta/jasperforest: remove boot-live options
   4ae7b81 meta/sugarbay: use usb features
   30e7e8c meta/jasperforest: use usb features
   22d0c5d meta/fishriver: use usb features
   e262965 meta/emenlow: use usb features

(From OE-Core rev: bde50853658bab563a888b82278a6acfdce6305b)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:34 +01:00
Bruce Ashfield
495ea21c8b linux-yocto/3.2: configuration and pch merge
Updating the 3.2 SRCREVs to import the following meta/config
changes:

   6b3d4e0 meta: add mei feature
   519abac meta: add usb/uhci-hcd feature
   a67c5a3 meta/crownbay: use usb features
   0855066 meta: add usb/ohci-hcd feature
   15f1a99 meta: add usb/ehci-hcd feature
   8fa6408 meta: add usb/xhci-hcd feature
   c724a55 meta: add usb/base feature
   b55b3a1 sys940x: Cleanup sys940x.scc
   93f2e97 sys940x: Use PHYSICAL_START of 0x200000 to boot
   aaa034b sys940x: Add common standard and preempt-rt features
   e2b1286 sys940x: Add efi-ext to standard and preempt-rt configs
   d188c21 sys940x: Move emgd-1.10 data to the standard scc file
   72d9369 fri2: Cleanup fri2-$KTYPE.scc files re efi-ext.scc
   dbcb120 fri2: Use emgd-1.10 feature and branch

And the following driver fix:

   f39a0a9 pch_gbe: Do not abort probe on bad MAC

(From OE-Core rev: 0609299880ad0aca121e7192d84f85d913c40c62)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:33 +01:00
Saul Wold
94e3e894d0 eglibc: added ac_cv_path_ to CACHED_CONFIGUREVARS
On Fedora 17, bash has moved to /usr/bin/bash and the configure process finds it
on the host machine there, this ensures that it is set correctly for the target.

[YOCTO #2363]

(From OE-Core rev: 0d957dd0604230bef1d01ee9992c56d2aca62ec1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>

Reworked commit to fix merge conflicts with denzil branch.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:33 +01:00
Saul Wold
8389decfe6 quilt: added ac_cv_path_BASH to CACHED_CONFIGUREVARS
On Fedora 17, bash has moved to /usr/bin/bash and the configure process finds it
on the host machine there, this ensures that it is set correctly for the target.

[YOCTO #2363]

(From OE-Core rev: d54ff1f79f05ba5bd0e1006545e7f1e699998668)

Signed-off-by: Saul Wold <sgw@linux.intel.com>

Reworked commit to fix merge conflicts with denzil branch.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:33 +01:00
Nitin A Kamble
7412611252 eglibc: package mtrace separately
add libc-mtrace as dependency for task-core-tools-debug

now eglibc-mtrace gets included in an sdk image and not in a non-sdk image.

This does not affect builds with uclibc.

This fixes bug: [YOCTO# 2374]

(From OE-Core rev: 6f78625dbab5c81ef20b197aee5206f63611b673)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:32 +01:00
Gary Thomas
026d502b2a webkit-gtk: Apply work around for all PowerPC targets
The current patch for bug #1570 only applies to qemuppc but should be
applicable for all PowerPC targets.  Also update the patch so that
only one language backend, either ICU or PANGO, is built.

Also remove some old customizations (dependencies on darwin) as these
should now be handled in a layer specific .bbappend file.

(From OE-Core rev: 87eae0851e5334734df40a833596c6cbc6715f7f)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:32 +01:00
Richard Purdie
e81f7c6152 openjade-native: Ensure we reautoconf the package
Currently since configure.in in is in a subdirectory, we don't reautoconf the
recipe. We really need to do this, to update things like the libtool script used
and fix various issues such as those that could creep in if a reautoconf is
triggered for some reason. Since this source only calls AM_INIT_AUTOMAKE to gain the
PACKAGE and VERSION definitions and that macro now errors if Makefile.am doesn't
exist, we need to add these definitions manually.

These changes avoid failures like:

----
| ...
| DssslApp.cxx:117:36: error: 'PACKAGE' was not declared in this scope
| DssslApp.cxx:118:36: error: 'VERSION' was not declared in this scope
| make[2]: *** [DssslApp.lo] Error 1
----

(From OE-Core rev: 87753615435c8aec7df5964045e24f13877cd7cc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 11:59:32 +01:00
Paul Eggleton
119e1b7dc9 poky.conf: use correct version string for Ubuntu 12.04
Since it is an LTS release, the final version string was not
"Ubuntu 12.04" but "Ubuntu 12.04 LTS", so use this when doing the tested
host distribution check.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:27:19 +01:00
Paul Eggleton
5b3a0eac61 hob: handle sanity check failures as a separate event
In order to show a friendlier error message that does not bury the
actual sanity error in our typical preamble about disabling sanity
checks, use a separate event to indicate that sanity checks failed.

This change is intended to work together with the related change to
sanity.bbclass in OE-Core.

Fixes [YOCTO #2336].

(Bitbake rev: 24b631acdaa143a4de39c6e1328849660c66f219)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:27:11 +01:00
Kang Kai
4c4924ad1b cooker.py: terminate the Parser processes
[Yocto 2142]

Force to exit HOB when hob is parsing recipes, the bitbake doesn't stop.
It hangs on function BitBakeServerConnection::terminate in file
server/process.py:
    else:
        self.procserver.join()
It is waiting for the children process quit.

In stage of parse recipes BBCooker spawns Parser processes as many as
cpu numbers. When quit the Parser processes they make their internal
Queue to call cancel_join_thread() to avoid block but don't work at
this time.
So force to terminate the Parser processes.

(Bitbake rev: bebef58b21bdff7a3ee1fa2449b7df19144f26fd)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:27:05 +01:00
Shane Wang
9e6d1101b4 Hob: Adjust the progress bar and set 100% only when all is done.
After parsing recipes, Hob will populate recipes and packages, which is probably
time exhaused. So, this patch is to adjust the progress bar and ensure 100% is
set if and only if all populations are done.

The patch also fixes "weird 18 second delay when parsing recipes" on build appliance.
Because Hob is doing something, but the progress bar shows 100% and wait there.

[Yocto #2341]

(Bitbake rev: 2c4a21dc8a588c8cf05549ddd9734731a46bea10)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:26:55 +01:00
Scott Rifenbark
2bddf70a84 documentation/poky.ent: Updated variables for correct 1.2.1 build.
Key variables are DISTRO at "1.2.1", YOCTO_DOC_VERSION at "current",
and POKYVERSION at "7.0.1".  Note that I have to change "current"
to "1.2.1" before publishing any manuals prior to the official release
of 1.2.1.

(From yocto-docs rev: e62e0baec71c9d39473a9c67caf17f26346539d5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:26:23 +01:00
Scott Rifenbark
6698060d8e documentation/bsp-guide/bsp.xml: Review comments to recommendations
I added a small review comment to the section based on reviewer
feedback.

(From yocto-docs rev: 206d43c23efa114b57a1e75e469a6f5bdaf94715)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:26:22 +01:00
Scott Rifenbark
bd3cd64da3 documentation/bsp-guide/bsp.xml: Updates to requirements section
Implemented review feedback from Dave Stewart and Tom Zanussi.

(From yocto-docs rev: 774e00d34d2abd466a6d64b4b91f60d87203add4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:26:22 +01:00
Scott Rifenbark
c88f25ddb4 documentation/bsp-guide/bsp.xml: BSP recommendations section added
Added the "Requirements and Recommendations for Released BSPs"
section.  This section was requested by Dave Stewart based on
community input for direction on how to create a BSP that was
compliant with the Yocto Project.  The input for the section came
from Tom Zanussi.

A spell-check was performed also prior to this commit that addressed
a few spelling issues across the file.

(From yocto-docs rev: 6357eb7a26abb3dca14daf5d9b9a4e245dd0827b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:26:22 +01:00
Laurentiu Palcu
ef215694de freetype: upgrade to 2.4.9
(From OE-Core rev: 7c767d3723e0b55d3bcd3864a9cdbce6d11d5b35)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:50 +01:00
Paul Gortmaker
71a6fb605a gitignore: add wildcard to match toplevel patch files
To support the basic workflow of trivial patches:

 git format-patch HEAD~.. ; git send-email --to foo@bar.com 0001-foo.patch

We don't want git status reporting on patches lying in the top
level dir in this case.

Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 7e32cbf30352e12c55c3c378631f4e238cf682c5)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:49 +01:00
Joe Slater
bfc8589048 shared-mime-info: fix build race condition
The definition of install-data-hook in Makefile.am leads
to multiple, overlapping, executions of the install-binPROGRAMS
target.  We modify the definition to avoid that.

(From OE-Core rev: d8a09cb17f2f3b43718ba354da7368a2ed793766)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:49 +01:00
Song.Li
6514e193ac groff: Fix build on Fedora 17
Generally distros keep perl at /usr/bin/perl
But Fedora 17 also has /bin/perl,
this causes groff_1.20.1 build to put perl
interpreter path as /bin/perl
But we set perl location for target as /usr/bin/perl

This mismatch of perl path causes failure of rootfs image creation
like this:

| error: Failed dependencies:
|       bin/perl is needed by groff-1.20.1-r1.ppc603e

(From OE-Core rev: 75824ff13f43b330b11cf9a130f061baee785e1a)

Signed-off-by: Song.Li <song.li@windriver.com>

Sync up with the do_install_append_virtclass-native chunk.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:49 +01:00
Jesse Zhang
44fb9daa81 beecrypt: disable java
If java is installed on host, beecrypt will attempt to use it.

(From OE-Core rev: 4d2ff0a69692f54313ffa9dc83d0e4a2ddba47c3)

Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:49 +01:00
Scott Garman
309b2c090e runqemu-ifup: enable arp proxying
This allows core-image-sato to access the WAN.

Thanks to Dexuan Cui for proposing this fix.

Fixes [YOCTO #2329]

(From OE-Core rev: 680a94c378f20c00e8bee0575b8922bccc008fec)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:48 +01:00
Tom Zanussi
67c7bc5e6c gnupg: disable CCID driver
The CCID driver driver is apparently unnecessary, so disable it.

Also remove the associated libusb dependency, since that won't be
needed either.

According to Scott Garman <scott.a.garman@intel.com>:

I'd just note that the CCID smartcard reader is a specific piece of
hardware that is unlikely to be used in a majority of our use cases.

(From OE-Core rev: 2fcd564b5395950f480a288d434c64c8fee65ece)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Resolved merge conflicts when importing from oe-core master.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:48 +01:00
Tom Zanussi
e06e502bbb gnupg: add libusb to DEPENDS
gnupg apparently depends on libusb:

| error: Failed dependencies:
| 	 libusb-0.1-4 >= 0.1.3 is needed by gnupg-2.0.18-r1.core2

So add libusb to gnupg DEPENDS.

(From OE-Core rev: 1a76f50c1f159477a86dc7a6cb95873cee05d9e6)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Resolved merge conflicts when importing from oe-core master.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:48 +01:00
Zhai Edwin
89c0e81273 webkit-gtk: Use glib as unicode backend to avoid browser crash
webkit-gtk depends on ICU for the unicode, but ICU is not safe when build and
target system owns different endian. ICU's community is not responsive to make
a patch for this, so glib is used as work around here.

[YOCTO #1570] got fixed

(From OE-Core rev: df83a9480ba7b2fd2bcc0a92932d51434d7795a0)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:48 +01:00
Paul Eggleton
78a5471a29 classes/sanity: send sanity check failure as a separate event for Hob
In order to show a friendlier error message within Hob that does not
bury the actual sanity error in our typical preamble about disabling
sanity checks, use a separate event to indicate that sanity checks
failed.

This change is intended to work together with the related change to
BitBake, however it has a check to ensure that it does not fail with
older versions that do not include that change.

Fixes [YOCTO #2336].

(From OE-Core rev: 3788f9bcb36cca90ca8cf650c9d33f5485e3087b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:48 +01:00
Joshua Lock
b30a243f3f sanity.bbclass: copy the data store and finalise before running checks
At the ConfigParsed event the datastore has yet to be finalised and thus
appends and overrides have not been set.
To ensure the sanity check is being run against the configuration values
the user has set call finalize() on a copy of the datastore and pass that
for all sanity checks.

(From OE-Core rev: 527e26ea1e44f114fc9fcec1bc7d83156dba1a70)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:48 +01:00
Richard Purdie
20657c1fa0 image.bbclass: Ensure ${S} is cleaned at the start of rootfs generation
Some image classes such as bootimg save files into ${S} as part of rootfs
generation. For correctness we should therefore clean this at the start of
image generation to ensure reproducibility.

I found this issue when some files I thought should disappear from my rootfs
would not disappear.

(From OE-Core rev: 23b7d7dab475caca4558e3b20db534122bee1525)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:47 +01:00
Mihai Lindner
3029a08744 sudo: fixed wrong chmod path
Placed $D between braces ${D} to be correctly expanded to the
workdir path, instead of a path relative to host rootfs.
Currently, bitbake sudo fails on host systems where sudo is not
installed.

(From OE-Core rev: 83c5acfe4731990c296be1bf67059452a72f9584)

Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:47 +01:00
Richard Purdie
d376a4e8f1 bitbake.conf: Improve wget timeouts
The wget default is a 900 second timeout and 20 retries. This is way too long
for most of our usecases so this patch changes it to a 30 second timeout and
reduces retries from 5 to 2. We have good mirror infrastructure, this will
let us fall back to it easier.

(From OE-Core rev: dbb88617576ea9bbeec08f5e5e15c26c4c18347f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:47 +01:00
Xiaofeng Yan
0d0846e06f ncurses: Avoid occasional builling failure when having parallel processable task
ncurses failure non-gplv3 build (race issue) like the following \
error information:

| tic: error while loading shared libraries: /srv/home/pokybuild \
/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/\
work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/narrowc/lib\
/libtinfo.so.5: file too short
| ? tic could not build /srv/home/pokybuild/yocto-autobuilder/\
yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/\
ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder\
/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux\
/usr/share/terminfo
| make[1]: *** [install.data] Error 1

This is a race issue which is caused by
install.libs and install.data:

1) install.data needs run tic
2) tic needs libtinfo.so
3) install.libs would regenerate libtinfo.so
4) but install.data doesn't depend on install.libs, and they can run
   parallelly

So there would be errors in a very critical condition: tic is begining
to run at the same time when install.libs is generating libtinfo.so, and
this libtinfo.so is not integrity, then there would be the  above error.

Let task install.libs run before install.data for fixing this bug.

[YOCTO #2298]

(From OE-Core rev: 6993570787a97fbca5ea81513b0120c6d7563484)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:47 +01:00
Robert Yang
59ac33c77f rpm 5.4.0: respect to the arch when choose the alternatives
There is a bug if we:
1) bitbake diffutils with MACHINE=crownbay
2) bitbake diffutils with MACHINE=qemux86
3) bitbake core-image-sato with MACHINE=crownbay

Then the diffutils.i586 would be installed to the crownbay's image, this
is because diffutils.i586 is newer than diffutils.core2, and rpm doesn't
respect to the arch priorities:

We have put the archs in order in _solve_dbpath:

crownbay/solvedb:core2/solvedb:i586/solvedb:all/solvedb

Fix rpm to respect to the order, for example, if it finds a pkg in both
core2/ and i586/, and the core2/ comes first, it should not use the one
in i586/ even if it's build time is newer.

Note: Don't worry about the _free(*ptr), it can check whether ptr is
NULL or not.

This is for the denzil branch, and the master branch also needs it.

[YOCTO #2360]

(From OE-Core rev: 2199e6b9c82bb2b6738e87903f30329586db20e2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:23:47 +01:00
Richard Purdie
3cb36a5ed9 Update version to 1.15.2 (correspdoning to Yocto 1.2 release)
(Bitbake rev: 270a05b0b4ba0959fe0624d2a4885d7b70426da5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:10:07 +01:00
Liming An
75e32007ef Hob: add original url show function with the tooltip hyperlink for user
When case about No browser, such as running in 'Build Appliance', user can't open
the hyper link, so add this work around for user. (Checking the browser is avaiable
or not is hard by different system and browser type)

[YOCTO #2340]

(Bitbake rev: 02cc701869bceb2d0e11fe3cf51fb0582cda01b0)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:09:59 +01:00
Liming An
d52e74cee9 Hob: change the refresh icon speed to make it view clear
Because the arrow icon refresh so fast as the go backward by illusion, so adjust it slow.

[YOCTO #2335]

(Bitbake rev: ac4a8885fafdc0d1e79831334ead9a8ddb6e2472)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:09:52 +01:00
Dongxiao Xu
f1630d3cd4 Hob: Clear the building status if command failed
We may meet certain command failure during build time, for example,
out of memory. In this case, we need to clear the "building" status.

This fixes [YOCTO #2371]

(Bitbake rev: 283dbbbf5d34adb4c9e3aa87e3925fdebe21ff42)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:09:42 +01:00
Tom Zanussi
b7f1a8f870 yocto-bsp: clarify help with reference to meta-intel
The current yocto-bsp help assumes knowledge that the meta-intel layer
needs to be cloned before it's put into the BBLAYERS.  Avoid the
guesswork and state the details explicitly in the help.

Also, the shorter 'usage' string doesn't mention it at all; it would
help to at minimum mention it and refer the user to the detailed help.

Fixes [YOCTO #2330].

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:09:31 +01:00
Tom Zanussi
015f117d85 yocto-kernel: use BUILDDIR to find bblayers.conf
The current code assumes that builddir == srcdir/build, which it
obviously isn't sometimes.  Use BUILDDIR to get the actual builddir
being used.

Fixes [YOCTO #2219].

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:09:24 +01:00
Richard Purdie
b8338046ba netbase: Correctly set FILESEXTRAPATHS to include the version
[YOCTO #2366]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:09:10 +01:00
Scott Rifenbark
7552ccd06c documentation/yocto-project-qs/yocto-project-qs.xml: pre-built example fix
The example showing how to use pre-built images, the toolchain, and
filesystem was off a bit.  I changed some wording to indicate using the
.ext3 filetype of the filesystem.  Previously it talked about expanding
the tarball version but the example has been changed to use .ext3.
Also, the environment setup file has been mis-named forever.  It should
have i586 in it and not i686.  And, finally, the image name does not
have a release number as part of the name.

(From yocto-docs rev: 97ed79993dd3e2eede4807482e15633b66b99f49)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:22:29 +01:00
Scott Rifenbark
e24d5cc2cd documentation/dev-manual/dev-manual-bsp-appendix.xml: .bbappend example
The linux-yocto_3.2.bbappend example was out of date.  There is no
longer a kernel features statement in the last part of the section.
Only COMPATIBLE_MACHINE, KMACHINE, and KBRANCH remain.  I removed
the fourth one from the text description and the example code.

(From yocto-docs rev: 89a11ce3c2a43e2d7c26599976d906011130131f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:22:28 +01:00
Scott Rifenbark
1f2fc974df documentation/dev-manual/dev-manual-bsp-appendix.xml: Added note
Added a note telling the user that the commit ID strings in the
example might not match the actual commit ID strings found in
the .bbappend file.

(From yocto-docs rev: 0477122c42eaf6d5e18e28a2356fe58c1070c608)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:22:28 +01:00
Scott Rifenbark
a473ba170d documentation/yocto-project-qs/yocto-project-qs.xml: Minor wording changes
(From yocto-docs rev: 528e34b1694739396295b769cc6f83d58dd3bf59)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:22:28 +01:00
Scott Rifenbark
a5fe09c6aa documentation/dev-manual/dev-manual-kernel-appendix.xml: Kernel example fixed
Due to a bug (2256) the example that changes the kernel configuration
through menuconfig did not work.  I have re-written the section
to now start with the default behavior of CONFIG_SMP=y and then
have the user change the configuration to where it is not set.

The changes include the reversing of the flow and the work-around
needed due to bug 2256.

(From yocto-docs rev: 2eaaafab0390d1108b212b9cfb7ca8365e0f39a9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:22:28 +01:00
Scott Rifenbark
2072256b05 documentation: Added 1.2.1 manual entry information.
Added 1.2.1 manual history entry to five manuals.  The date
is to be determined.

(From yocto-docs rev: bb920814d5adaa24d37fbcefd85de2ba93ddf604)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:22:28 +01:00
Paul Eggleton
b623203ac9 documentation/yocto-project-qs/yocto-project-qs.xml: Setup changes
Remove mercurial as this is no longer needed.
linuxdoc-tools was mentioned twice in the CentOS list.
We no longer support Fedora versions older than 15 so remove this note.

This commit applies to 1.2, 1.2.1, and 1.3.

(From yocto-docs rev: 1347f92c49e61a42aa51e5c1ffccde88a449a4fb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:22:27 +01:00
Scott Rifenbark
c7e4a6ae2c documentation/Makefile: Fixed figures publishing bug
I discovered a bug when publishing documents.  There are two scp
commands that copy a document's files and figures to the appropriate
directory in the srifenbark@yocto-www:~/www.yoctoproject.or-docs
server where the manuals are published.  The second scp command
had a "/figures" at the end.  This was causing a new "figures"
directory to be created within the "figures" directory.  This
redundancy shows up as missing figures in the manuals if a new figure
or changed figure is ever added to the book after initial
publishing.  I removed the extra "/figures" at the end of the scp
command.

(From yocto-docs rev: 5ab530f998427405a0486b94ca76cff58a4cf463)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:22:27 +01:00
Andrei Gherzan
1628159028 fotowall: Add #include ui_wizard.h to ExportWizard.cpp
App/ExportWizard.cpp depends on wizard.h which depends on ui_wizard. The last one
should be already generated before compiling ExportWizard.cpp.

[YOCTO #2297]

(From OE-Core rev: d7bf94647f17c0382caad8af0bdda837b14b22dc)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:14 +01:00
Khem Raj
b477f676e3 classes/mirrors.bbclass: Point snapshot.debian.org mirror to working location
If you point to snapshot.debian.net/archive/pool then it will fetch
you a html page which will end up in corrupt download. The locations
have changed for archives and here we point the mirror to right
location.

(From OE-Core rev: d5574749b2272357f6bdad04c37ec0657b391cca)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:14 +01:00
Khem Raj
9d2534ab24 uclibc.inc: uclibc rtld does support GNU_HASH
(From OE-Core rev: 090d8a687517c2d4deb33295a3cceb5175aa28f3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:13 +01:00
Khem Raj
df815f20c8 openssl: Fix build for mips64(el)
(From OE-Core rev: 8c74ddf5fd5502fd759f310096e9013fad0ca4db)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:13 +01:00
Zhai Edwin
b64eefe2bb pango: Fix modules load failure in multilib environment
Multi-libs of Pango need different modules, thus different config files and
utils. This patch separate config file and utils with different MLPREFIX to
avoid conflict.

[YOCTO #2356] got fixed.

(From OE-Core rev: 535e298b98182d95c3280d2d46aa6388e27aac40)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:13 +01:00
Richard Purdie
4abd299bf0 sed: Explicitly disable acl for deterministic builds
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:13 +01:00
Dongxiao Xu
30c3c8420e qt4: move functions from python to shell style
In qt4's do_configure operation, it will refer to some variables that
are derived from 'd', however these variable values may be not correct
in multilib case since the extraction of these variables happens before
the multilib handler.

The fix is to move these python style functions back to shell style.

This fixes [YOCTO #2355]

[RP: Fix whitepace]
(From OE-Core rev: 98cb2efe4e9f3092d531c9fc809406c3ef559725)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[SG: Resolve merge conflicts for 1.2.1]
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:12 +01:00
Darren Hart
a74fb01b6b initrdscripts: Update install.sh to work with mmc devices
Fixes [YOCTO #2385]

The installer only searches for hd[ab] sd[ab]. Some newer BSPs have mmcblk
devices that should be used as the install target. These devices also have a
partition prefix (mmcblk0p1 instead of mmcblk01). As they are detected
asynchronously, it is necessary to add the rootwait kernel parameter to avoid
a race condition trying to mount the root device.

As BSPs like the FRI2 and the sys940x have mmc devices and will have a 1.2
release, we should push this to 1.2.1. The changes are perfectly contained and
easily verified.

Test for an mmcblk device and add the p partition prefix if necessary. Add the
rootwait kernel parameter when an mmcblk device is detected.  Replace the series
of explicit umount commands with a single umount using a wildcard. This will
find all the partitions and will not try to unmount non-existant devices. Avoid
copy and paste errors by replacing /dev/${device}${pX} references with the
previously assigned rootfs, bootfs, and swap variables.

These changes have been tested on the FRI2 Sato image which installed to
/dev/mmcblk0 as well as the N450 Sato image which installed to /dev/sda. Both
were successful.

(From OE-Core rev: 36634e16c0a0c80674bacf20f9841e3b042bd5fd)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:12 +01:00
Paul Eggleton
c003c04590 buildhistory: fix multiple commit of images and packages at the same time
The echo line here was merging multiple lines into one, and the result
was that if both image and package changes had to be comitted then only
the image changes were being committed and the package changes could
potentially be merged into the next package change. Quoting the variable
reference fixes this.

Fixes [YOCTO #2411]

(From OE-Core rev: 540cd9d42a4db562e5eca431cec89ac5a6a05cab)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:12 +01:00
Saul Wold
35cc0b023f builder: Add Please Wait Dialog Box
Add dialog box while bitbake starts hob to inform user
to please wait for the hob screen to become visible.

(From OE-Core rev: e9239e4250ef140920847f78625cc7206763c32c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:12 +01:00
Nitin A Kamble
c2826b50ce quilt: fix perl path in target perl scripts
While building on distros like fedora17, which has /bin/perl,
the target perl scripts get perl path also as /bin/perl.
And that is not correction path of perl on the target.

This commit avoids this error.

| error: Failed dependencies:
|       /bin/perl is needed by quilt-0.51-r2.i586
NOTE: package core-image-sato-sdk-1.0-r0: task do_rootfs: Failed
ERROR: Task 8
(/home/nitin/prj/poky.git/meta/recipes-sato/images/core-image-sato-sdk.bb,
do_rootfs) failed with exit code '1'

(From OE-Core rev: c8c394bd806978c867f2fe82e4bde65c98764880)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:11 +01:00
Saul Wold
75225bcc84 boost: Ensure we use our user-config.jam file
This change ensures we use the user-config.jam Configuration
that we created and will not use anything from the user's home
directory.

[YOCTO #2302]

(From OE-Core rev: f246e467b8513f1c1c33b5e7462ae6478754d531)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:11 +01:00
Mark Norman
d3204ddc12 uclibc SDK not including libpthread_nonshared.a
Modified the uclibc PACKAGES list order to ensure the uclibc-dev package is
processed before uclibc-staticdev to allow *_nonshared.a libraries to be
packaged in the uclibc-dev package.  The *_nonshared.a libraries are required
by the SDK.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:11 +01:00
Scott Garman
7c7ac8548d runqemu-ifup: enable ip masquerading for QEMU NAT addresses
Fix the IP masquerading settings so that networked QEMU sessions can
reach external networks.

This is a partial fix for [YOCTO #2329].

(From OE-Core rev: 78c7a82a2e3214eaec3c559269e3cc6c219759c0)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:11 +01:00
Scott Garman
bbf95cae4c openssl: upgrade to 1.0.0i
Addresses CVE-2012-2110

Fixes bug [YOCTO #2368]

(From OE-Core rev: 51a122a5593c62d7ffd07f860e54a2fb0327959c)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:10 +01:00
Scott Garman
3df821277d libpng: upgrade to 1.2.49
License hasn't changed, just updated the md5 checksums due to trivial
date changes within the text (and the position of the license text
within png.h).

Addresses CVE-2011-3045

Fixes [YOCTO #2352]

(From OE-Core rev: 6e2235a4d769b16ebf68d6bbed56d8bcc0e0c83f)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:10 +01:00
Andrei Gherzan
4f4685469a python: Add patch to search for db.h in inc_dirs and remove warning
python should search for db.h in inc_dirs and not in a hardcoded path.
If db.h is found but HASHVERSION is not 2 we avoid a warning by not.
adding this module to missing variable.

[YOCTO #1937]

(From OE-Core rev: 8eb3e52d39147f8cb98ec95857be17db0444098e)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:10 +01:00
Andrei Gherzan
d1bc1191d6 python: Add patch for 64bit platform
This patch was added for 64bit host machines. In the compile process python
is checking if platform is a 64bit platform using sys.maxint which is the host's
value. The patch fixes this issue so that python would check if TARGET machine
is 64bit not the HOST machine. In this way will have "dl" and "imageop" modules
built if HOST machine is 64bit but the target machine is 32bit.

[YOCTO #1937]

(From OE-Core rev: 22ae3959f40845ebcc00413ccf733539472a1a81)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:10 +01:00
Andreas Oberritter
5c507a2fd7 {kernel, module}.bbclass: don't run depmod for module packages during do_rootfs
* depmod already gets executed by pkg_postinst_kernel-image.

* If you build a module using module.bbclass, pkg_postinst returns 1 in
  do_rootfs, causing pkg_postinst to run again on first boot. To improve
  this situation, I copied pkg_postinst from kernel.bbclass to module.bbclass.
  This was rejected by Koen, because he doesn't like the code from
  kernel.bblcass, which uses ${STAGING_DIR_KERNEL}. Richard then suggested
  that calling depmod during do_rootfs wasn't necessary at all, because
  it already gets done by kernel-image.

(From OE-Core rev: 663b4be025283a30adb823760ce9d9a056106bcf)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:09 +01:00
Richard Purdie
bf4740cf66 utils.bbclass: Testing via env in create_wrapper is a nice idea but breaks things
For example, pseudo-native wants to set LD_LIBRBARY_PATH but setting this
into the environment here causes the existing pseudo (running during do_install)
to poke into paths in /opt and this breaks builds.

The simplest fix is simply not to do this. Comments tweaks to match the code.

(From OE-Core rev: 915769c405e24751eae613e9ef55f05490a726de)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:09 +01:00
Nitin A Kamble
24ffb5c0b1 libproxy: fix compilation with gcc 4.7
(From OE-Core rev: 6689c52eb13430593d6afe48dba3973467cd2404)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:09 +01:00
Paul Eggleton
a92fed4fe5 dpkg-native: fix deb-based rootfs construction failure on Fedora 16
Backport a fix from 1.16.x upstream to use fd instead of stream-based
I/O in dpkg-deb, which avoids the use of fflush() on an input stream
(the behaviour of which is undefined by POSIX, and appears to have
changed in the version of glibc introduced in Fedora 16 and presumably
other systems).

Fixes [YOCTO #1858].

(From OE-Core rev: b1c28667592e736115ab5e603a12c2723b939cf2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:09 +01:00
Saul Wold
a518e1e3b1 quilt: move empty quiltrc to native sysconfdir
patch.bbclass orignally pointed at /usr/bin/quiltrc for an empty
version to ensure that no user setting were picked up, change this
to /etc/quiltrc in the Native sysroot since we now have a native
sysconfdir.

Make sure that the quiltrc is actually installed in the Native
sysconfdir, not the target, so fix this after the recipe split.

(From OE-Core rev: aec4cdc6efda430a0965d6b3b4f84c7943390273)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:08 +01:00
Saul Wold
fc9716930a gcc: Add plugins package for ARM, fix /usr/incude packaging
WARNING: For recipe gcc, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/include
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config/arm
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config/arm/bpabi-lib.h
(From OE-Core rev: cf49cf3958b24fdb89d57abbf1f1b30c07a06030)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:08 +01:00
Saul Wold
f99ced96cf xserver-kdrive: Add xkb to existing docs list
WARNING: For recipe xserver-kdrive, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/man
WARNING:   /usr/share/man/man5
WARNING:   /usr/share/man/man1
WARNING:   /usr/share/man/man1/Xephyr.1
WARNING:   /usr/share/man/man1/Xserver.1
(From OE-Core rev: 515cbe565b684359ac9d8bd0fb523aa3d2f810e2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:08 +01:00
Saul Wold
d0f0d1b41d libgcc: Package additional *crt*.o files for PPC
WARNING: For recipe libgcc, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ecrti.o
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ncrti.o
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ecrtn.o
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ncrtn.o
(From OE-Core rev: 580d734ddc928aaaac9acaa248427b01731074f2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:08 +01:00
Saul Wold
77203b75f5 binutils: add embedspu for ppc builds
WARNING: For recipe binutils, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/bin/embedspu
(From OE-Core rev: 15c8ea4d35edbcaf03c94aba06ded85851679157)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:07 +01:00
Ken Werner
a0f1aca7a0 bdwgc: Set ARM_INSTRUCTION_SET to "arm"
The bdwgc recipe uses a version of libatomic that fails when building in Thumb
mode. This has been fixed upstream already. The
pulseaudio/libatomics-ops_1.2.bb has the same issue and sets the
ARM_INSTRUCTION_SET to "arm" (probably until a new version gets pulled in).
This patch applies the same workaround to the bdwgc/bdwgc_20110107.bb recipe.

(From OE-Core rev: 544fe63b6a861129ea15f4cd37952e513ab0013e)

Signed-off-by: Ken Werner <ken.werner@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:07 +01:00
Darren Hart
b3de1f1140 gthumb: Disable parallel make for gthumb install
With PARALLEL_MAKE set to 14, I frequently see the gthumb do_install
task hang. Make is spinning at 100% CPU and the build makes no
more progress.

The following work-around proposed by Richard Purdie allows progress
to be made.

(From OE-Core rev: e933129ddb8ae55d618b5875fca26bc46fcb100b)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Joshua Lock <josh@linux.intel.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:07 +01:00
Andreas Oberritter
6e93ac2581 python: use PKGSUFFIX for libpython2
* python-nativesdk shouldn't provide libpython2, but
  libpython2-nativesdk.

(From OE-Core rev: 260dfd9ccbf7d1e0ed60256aaf80fed5bf0c24e2)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>

[PR Bump - sgw]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:07 +01:00
Otavio Salvador
c1bfbf7168 connman: backport test script fixes
Those fixes are required to get the test scripts to work with current
0.79 DBus API.

(From OE-Core rev: aadeb3199d1b34369b63810696b9d61a86afb31d)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:06 +01:00
Khem Raj
5a7d852a94 connman: Fix linking with gold linker
Fixes errors like below

/home/kraj/work/angstrom/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv5te-angstrom-linux-gnueabi/gcc/arm-angstrom-linux-gnueabi/4.6.3/ld:
error: hidden symbol '__start___debug' is not defined locally
/home/kraj/work/angstrom/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv5te-angstrom-linux-gnueabi/gcc/arm-angstrom-linux-gnueabi/4.6.3/ld:
error: hidden symbol '__stop___debug' is not defined locally
collect2: ld returned 1 exit status
make[1]: *** [plugins/loopback.la] Error 1

(From OE-Core rev: 3e6e97b40f8cb9568993c5cc65d73189ec6b7b8a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:15:06 +01:00
Scott Rifenbark
3bf8069100 documentation/yocto-project-qs/yocto-project-qs.xml: added quotes
Need quotes around the INHERIT statement.

Reported-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
(From yocto-docs rev: b040ab0cf8e776c04fc787ba09722327b60913f2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:36 +01:00
Scott Rifenbark
cbd192a6c5 documentation/dev-manual/dev-manual-kernel-appendix.xml: grammar fix
(From yocto-docs rev: 8f62155b56f82c705f05585d2ab68d4a4af5a501)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:36 +01:00
Scott Rifenbark
6d22ae627b documentation/dev-manual/dev-manual-kernel-appendix.xml: Removed KMACHINE
The example that compliles the altered code will not run now when the
KMACHINE statement is in the linux-yocto_3.2.bbappend file.  I have
commented it out of the book.

(From yocto-docs rev: 112a10a32ba3d7b24f22e25e39202b717571cbf0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:36 +01:00
Scott Rifenbark
49a58c65b6 documentation/dev-manual/dev-manual-kernel-appendix.xml: updated KSRC
The KSRC example needs "_3_2" at the end of the variable.

(From yocto-docs rev: 99bf77dd648b28c2d425d23215383b7c733b054d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:36 +01:00
Scott Rifenbark
06cde35657 documentation/dev-manual/dev-manual-kernel-appendix.xml: added quotes
Turns out the KSRC_linux_yocto ?= /home/scottrif/linux-yocto-3.2.git
statement in the linux-yocto_3.2.bbappend file in poky-extras needs
quote characters around the pathname.  I updated the example
statement.

(From yocto-docs rev: bcdb8d230f20bf69567380d562c991ff6eeb41cd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:35 +01:00
Scott Rifenbark
196a62b50c documentation/dev-manual/dev-manual-kernel-appendix.xml: kernel machine update
Found two instances of "yocto/standard/common-pc/base".  this should
now be "standard/default/common-pc/base".

(From yocto-docs rev: d710bc868409ad21bdf9e63c042ec40b0d305ad0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:35 +01:00
Scott Rifenbark
8ddaa3ede8 documentation/dev-manual/dev-manual-kernel-appendix.xml: 3.0 to 3.2
The kernel used for example is no linux-yocto_3.2.  I changed
all occurences of yocto_3.0 over to yocto_3.2

(From yocto-docs rev: c3585a0fec0381a88071004660ab96016f9674e2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:35 +01:00
Scott Rifenbark
52ccf5a9eb documentation/dev-manual/dev-manual-kernel-appendix.xml: formatting fix
(From yocto-docs rev: 1d1a5059163749b5adecf9432ffc5e2f2207acf4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:35 +01:00
Scott Rifenbark
b2c9b25f97 documentation/dev-manual/dev-manual-kernel-appendix.xml: altered example
The example code with the printk statements needed to be altered.
And the wording supporting the example was modifyied to be more
generic.

(From yocto-docs rev: 4d03fe2e08dbdcab438aae551e9696e11a3e4477)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:35 +01:00
Scott Rifenbark
5a1fb95a8d documentation/dev-manual/dev-manual-kernel-appendix.xml: updated cpuinit
Looks like calibrate_delay(void) changed in the example.  Updated
to the most recent code.

(From yocto-docs rev: 402af7d379b0df5e97b1863aa627aad98ceb5e6f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:34 +01:00
Scott Rifenbark
22b9983cc7 documentation/dev-manual/dev-manual-kernel-appendix.xml: output updated
Updated the example sets up the bare clone.  The shell output changed
because the upstream repo changed to
"origin/standard/default/common-pc/base".

(From yocto-docs rev: 72077ca9e7db747cbccc4d9d8deabfa424c6147c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:34 +01:00
Scott Rifenbark
7f5e6a1959 documentation/Makefile: Added denzil specific .PNG file logic
A new figure was needed in the Kernel appendix.  I added that
figure to the block of code that creates the tarball for the
denzil branch.

(From yocto-docs rev: cb3997cad15f7bf6f812f939a3fe4dcac955376d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:34 +01:00
Scott Rifenbark
01025ad2c4 documentation/dev-manual: New figure just for denzil
New image needed for Denzil.  I created a new file named
"kernel-example-repos-denzil.png" and copied it to the
Figures folder.  I also deleted the
"kernel-example-repos.png" image.

(From yocto-docs rev: 150b4c01cce283ae8de29f51a2e4e7dcb60281ca)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:34 +01:00
Scott Rifenbark
71580376c9 documentation/dev-manual/dev-manual-bsp-appendix.xml: updated hddimg example
In the "Building and Booting the Image" section there is an example
.hddimg file.  I updated the file to be the actual file used during
the BSP example build.

(From yocto-docs rev: ce759fb3d4e5e22f0928cdd03c17c0b5d9f4167b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:33 +01:00
Scott Rifenbark
0774a11505 documentation/dev-manual/dev-manual-bsp-appendix.xml: BBLAYER update
For 1.2 you evidently need to add $HOME/poky/meta-intel to your
bblayers.conf file.

(From yocto-docs rev: 05bb85dd133d8da0697cd4414b05dde2a636b737)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:33 +01:00
Scott Rifenbark
4d2d5abd8b documentation/dev-manual/dev-manual-bsp-appendix.xml: wording updated
Wording for linux-yocto_3.2.bbappend file updated to support the
addition o fhte KBRANCH variable.

(From yocto-docs rev: 6bd32650f1004055ac67157f96ab62abf5883047)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:33 +01:00
Scott Rifenbark
884034b256 documentation/dev-manual/dev-manual-bsp-appendix.xml: mymachine.conf
edited it to now include the PREFERRED_VERSION variable.

(From yocto-docs rev: 6ddd56cbcec752e27b2bbf0fc687af79b2249377)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:33 +01:00
Scott Rifenbark
ee98021efe documentation/dev-manual/dev-manual-bsp-appendix.xml: recipes-kernel update
The section on changing recipes-kernel was way out of date.
I updated all relavent changes.

(From yocto-docs rev: b9f954983447e45766a0bf785285c0591fe9d340)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:33 +01:00
Scott Rifenbark
f52747d7a2 documentation/dev-manual/dev-manual-bsp-appendix.xml: 3.2 for 3.0
Kernel used in now 3.2 and not 3.0.

(From yocto-docs rev: 8ee757e0d4f97f7652de2c9ee1556c142920596a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:33 +01:00
Scott Rifenbark
1bf998fe41 documentation/dev-manual/dev-manual-bsp-appendix.xml: added layerdepends
The layer.conf file now uses a LAYERDEPENDS variable.  I added that
to the example.

(From yocto-docs rev: 09f4d9e74ceccb3053a36d2a3deed5cc3d3be157)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:32 +01:00
Scott Rifenbark
1b3c00a34f documentation/dev-manual/dev-manual-bsp-appendix.xml: changed kernel
The kernel in mymachine.conf had to be changed from 3.0 to 3.2

(From yocto-docs rev: 8a385bfa11298251fd80445d6fd2da6034d6b9dc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:32 +01:00
Scott Rifenbark
b3f870297e documentation/dev-manual/dev-manual-bsp-appendix.xml: Output updated
The output for creating and switching to the denzil branch
for meta-intel needed updated.

(From yocto-docs rev: 54602beb1aa56521c7f5812803724ff53bf11bf1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:32 +01:00
Scott Rifenbark
93deb57c91 documentation/dev-manual/dev-manual-bsp-appendix.xml: Bad variable
The variable substitution had to be changed from
"&DISTRO_NAME;-6.0.0.tar.bz2" to "&DISTRO_NAME;-&POKYVERSION;.tar.bz2".

(From yocto-docs rev: 8ed6cb5e2b56dee3fa8d127b449183ae141a9153)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:32 +01:00
Scott Rifenbark
2883b754a1 documentation/dev-manual/dev-manual-bsp-appendix.xml: Added link
Created a link to the Yocto Project Files term.

(From yocto-docs rev: 32d7d7008ebcb0b25f77b855025c7059526b9694)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:32 +01:00
Scott Rifenbark
86325bbc5d documentation/dev-manual/dev-manual-bsp-appendix.xml: typo corrected.
(From yocto-docs rev: 73eba4180162fcd6570ae90c6cac1b16088d4a01)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:32 +01:00
Scott Rifenbark
746d718f53 documentation/dev-manual/dev-manual-bsp-appendix.xml: Bad variable
Had to remove "poky-" from the front of this variable that resolves
to a YP Files top-level name from the tarball.

(From yocto-docs rev: d01d5bd6c4d1fd754d4fccc087d557058d6a5733)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:31 +01:00
Scott Rifenbark
c498338197 documentation/dev-manual/dev-manual-model.xml: Fixed a bad link title.
(From yocto-docs rev: 0b59afe539b2adc3459c1e22404136d81250d292)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:31 +01:00
Scott Rifenbark
ba554bd865 documentation/dev-manual/dev-manual-model.xml: Better wording.
(From yocto-docs rev: bb3fa5eeed2784b415d009ae07c39149adc1a147)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:31 +01:00
Scott Rifenbark
0dda5d88a5 documentation/dev-manual/dev-manual-model.xml: Added BitBake
Throughout the documentation set I have refered to the YP build
system generically in order to avoid use of the "Poky" term.  Richard
has suggested that we refer to the actual thing that does the building.
So I have added BitBake to this particular sentence to refer to the
tool.

(From yocto-docs rev: 4d52fc9c8d1e1cbfca99590fcaa09392f5d235bf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:31 +01:00
Scott Rifenbark
06f44161f1 documentation/dev-manual/dev-manual-model.xml: Fixed poor references.
(From yocto-docs rev: 91885c11cc33a10b3d65006304bf5a6ca748f13f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:30 +01:00
Scott Rifenbark
4b4a018466 documentation/dev-manual/figures/kernel-overview-3.png: Removed file
This file was replaced by a release-specific file named
"kernel-overview-3-denzil.

(From yocto-docs rev: e9604111299d3699105225302c43a25e7b2730b1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:30 +01:00
Scott Rifenbark
caf6532b51 documentation: release-specific figure needed for denzil in dev-manual
dev-manual/dev-manual-model.xml:  The Bare Clone and Copy of the Bare
Clone figures are out of date for denzil.  These needed to be
re-done so they use "linux-yocto-3.2.git" and "my-linux-yocto-3.0-work"
as the root names.  This presents a Makefile issue when making the
denzil and pre-denzil versions of the manuals.  Whenever you use a
different figure for a different release, you need to involve the
BRANCH variable in the Makefile.  This is necessary because you are
using different figures in the generated tarballs.  The set of figures
could be unique to the release.  The outdated figure is
"kernel-overview-3.png" and will eventually be removed (later commit).
I created a new figure named "kernel-overview-3-denzil.png" and used
that in the dev-manual-model.xml file.

documentation/Makefile:  I updated the Makefile to test for a
"denzil" release build and if so include the new file in the
generated tarball.  This commit adds the new .PNG file as well.
Fixed the Makefile so that if you don't supply a BRANCH value, it
uses the latest figures (denzil).

(From yocto-docs rev: 49552b12a967f97eb4d75477895bf32f61d69aa6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:30 +01:00
Scott Rifenbark
a81cb954bb documentation/dev-manual/dev-manual-model.xml: Wording change
Changed the Note wording to work with the list and not be specific
to a number of supported kernels.

(From yocto-docs rev: a6ffe0834c0ed76ec09315f34c65888c20eed958)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:30 +01:00
Scott Rifenbark
0089bb9ad0 documentation/dev-manual/dev-manual-model.xml: Updated wording for list
The list specifically named four kernels supported.  I changed it so
it would say "several kernels".

(From yocto-docs rev: b6c34f86c1f3724c1416b8fb7770e1c33587e065)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:30 +01:00
Scott Rifenbark
ce8d4157db documentation/dev-manual/dev-manual-model.xml: BSP Layer step updated
Several things out-of-date for step five of the BSP Creation overview.

(From yocto-docs rev: ec06bd4f7bb1764e4a37328a51923d7b707d19e6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:29 +01:00
Scott Rifenbark
66b18cb5cd documentation/dev-manual/dev-manual-model.xml: Fixed link
The link and wording to the YP Downloads page on the website was
wrong.  Fixed it up.

(From yocto-docs rev: 5baf847c9b5b8af07c8945921352d3aba2a9cfa8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:29 +01:00
Scott Rifenbark
bbf33914ea documentation/dev-manual/dev-manual-common-tasks.xml: Font corrected.
(From yocto-docs rev: 0fab3eecf7f67ae890ff4fc2f6c12fed4aa4d897)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:29 +01:00
Scott Rifenbark
e1e12bfd0c documentation/dev-manual/dev-manual-common-tasks.xml: Section name fixed.
(From yocto-docs rev: 6c5724d8c0e75efc22dd2f4477a797afeaed5347)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:29 +01:00
Scott Rifenbark
bc7f18c61d documentation/dev-manual/dev-manual-common-tasks.xml: fixed path
Added more detail to the pathname for the example
formfactor_0.0.bbappend file.

(From yocto-docs rev: 32e60999494bb5b69d683008ad804613e4b99d07)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:28 +01:00
Scott Rifenbark
89e2958475 documentation/dev-manual/dev-manual-common-tasks.xml: link and output fixed
Fixed a reference to Yocto Project Files and provided a link.

Put in an updated version of the meta/recipes-bsp/formfactor/
formfactor_0.0.bb file in the example.

(From yocto-docs rev: 05001174d2337a91e839e991a3e9ecd6657a56f4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:28 +01:00
Scott Rifenbark
943c6917e6 documentation/dev-manual/dev-manual-start.xml: shell output examples updated
Updated various shell output examples created from cloning various
Git repositories, etc.

(From yocto-docs rev: ed167b1643a60ab30c09c2f42baebf781564ca20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:28 +01:00
Scott Rifenbark
2b6e86beae documentation/dev-manual/dev-manual-start.xml: updated output for bare clone
Updated the shell output example when user creates a bare clone
of kernel.  We use linux-yocto-3.2 here.

(From yocto-docs rev: e24beac8c8b6c65f94b71f36bf9f5d918ee4375e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:28 +01:00
Scott Rifenbark
42a9a50771 documentation/dev-manual/dev-manual-newbie.xml: Tag example fixed
The example that creates a local branch based on a release tag
in the "Repositories, Tags, and Branches" section was not optimal.
Darren Hart informed me that naming a local branch the same name
as a tag confuses Git.  Plus, the "-b" option was mis-placed.
Renamed the local branch to have "my-" in front of it and moved
the "-b" option earlier in the command.

(From yocto-docs rev: 24ab16d18fb317efb86d2c4ddb2ac1a1449df519)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:28 +01:00
Scott Rifenbark
74c34c9d3c documentation/dev-manual/dev-manual-newbie.xml: Fixed branch example
The example in the "Repositories, Tags, and Branches" section that
creates a local branch that tracks the upstream branch is incorrect.
The syntax should be "git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;

Fixed it.

(From yocto-docs rev: 7b47dd460f240a0d7f07edf2767bcad1ddc9d4c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:27 +01:00
Scott Rifenbark
e9b8cf485c documentation/dev-manual/dev-manual-newbie.xml: Link added for TOPDIR
(From yocto-docs rev: e02c1762fadd22f6ffc06e91ac82ebb59a7a7f68)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:27 +01:00
Scott Rifenbark
2863d953bd documentation/dev-manual/dev-manual-intro.xml: Hob and BA added
Added Hob and Build Appliance to the list of other stuff the user
might want to reference.

(From yocto-docs rev: 74ca0a95f0ea1b2045a42f0895ba874bdfa2d46c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:27 +01:00
Scott Rifenbark
716bdd4bf5 documentation/dev-manual/dev-manual-start.xml: Misc fixes
Better wording for the role of BitBake.  Updated shell output for
the clone of poky.

(From yocto-docs rev: 0f7d9557413827f82388d3fe677109074f04e30c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:27 +01:00
Paul Eggleton
dfecd3e3d7 documentation/yocto-project-qs/yocto-project-qs.xml: Package requirements
The following packages no longer need to be installed on the host
system:

* python-psyco
* help2man
* cvs
* hg

Additionally, linuxdoc-tools was mentioned twice in the Fedora list.

(From yocto-docs rev: bf7f37e040e5d5e19738f4c3a313acfd406351e3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:26 +01:00
Scott Rifenbark
142de43be2 documentation/dev-manual/dev-manual-common-tasks.xml: Fix cusomizing example
As suggested by Paul Eggleton and Richard Purdie, the example that
describes another method for creating a cusomt image was modified
so that it is based on an existing recipe instead of requiring a
new image.

Reported-by: Paul Eggleton <paul.eggleton@linux.intel.com>
(From yocto-docs rev: b5b32be9087c3d1c8e8d97751ce2cce09829f23b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 21:00:26 +01:00
Scott Rifenbark
752c707df3 documentation/poky.ent: Changed "latest" to "current"
Needed to change this so that the manuals will make correctly and
manual links will not point to the "latest" version of manuals on the
YP website.  This change should have been made prior to the final
1.2 build so that it would have been in the 1.2 tarball.

(From yocto-docs rev: a8615e05aef205629c832041f30c76567d8359bd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:57:24 +01:00
Richard Purdie
d20a24310e self-hosted-image: Update poky revision to point at the 1.2 release branch
(From OE-Core rev: fd989e1bceef6df36619ba8944c8141abefd282e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:21:45 +01:00
Richard Purdie
8e04664ffd self-hosted-image: Update poky revision to point at the 1.2 release branch
(From OE-Core rev: 117ca04008415ed0e6e10dcd373ab5f685b3225a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:17:25 +01:00
Dongxiao Xu
3ab5d73f0c sanity.bbclass: Add a new case to issue sanity_check()
Judge if "SanityCheck" event is received, it will issue the
sanity_check() and send "SanityCheckPassed" back if succeeded.

(From OE-Core rev: 19704f9e69ecf09531687385b478b47f49fe372d)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:15:47 +01:00
Dongxiao Xu
33f048240d Hob: Issue sanity check after parse is completed
In original scheme, sanity check is part of the parsing process. If a
sanity check fails, it means the parsing is failed and values in Hob
GUI may not correct.

With this commit, Hob will actively issue sanity_check() after the
parsing is completed.

This fixes [YOCTO #2361]

(Bitbake rev: 36968815dcc91759eeacb308bf4b294af416eee5)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:15:42 +01:00
Dongxiao Xu
0bf04aa4ad Hob: Add proxy setting into setting's md5
If user changed the proxy setting, we will reparse configuration because
it may need sanity check.

(Bitbake rev: 0be54917cd88ea8f110027a7840ac69a411fd589)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:15:36 +01:00
Dongxiao Xu
612555e6fe event.py: Add SanityCheck and SanityCheckPassed events
(Bitbake rev: 4d7bf9d813229b78b1cd87d06f7042e7923b7db4)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:15:29 +01:00
Richard Purdie
35196ff703 self-hosted-image: Update poky revision to point at the 1.2 release branch
(From OE-Core rev: 85bebd85c4f6603ac8fc1290121c34b92cc434f9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:13:00 +01:00
Lianhao Lu
0a48c697d7 pseudo: PR bump.
Bump PR value due to the commit
c6c701f424aeb502d20ff02d02712e56f4e259a5.

(From OE-Core rev: b6ee2880fccf04923ede31256ea418451cbf2e46)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:10:39 +01:00
Scott Rifenbark
7e56770a60 documentation: Updated Manual Revision Tables again.
After some discussion from Song and Richard, the dates in the
manual revision table has been updated to "April 2012" for the
1.2 release.

(From yocto-docs rev: b3fc2ec7c5aedb8ea0a2d502bdcd7e8f4092ed96)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:08:16 +01:00
Scott Rifenbark
9a548f0ee4 documentation: Replacements for "1.1" and "edison", etc.
I did a quick and dirty scrub over the manuals for the strings
"1.1" and "edison".  I found some instances that were not properly
variablized.  Also, discovered some references to the
linux-yocto-3.0-1.1.x.  All but one instance of this needed changed
to linux-yocto-3.2.

(From yocto-docs rev: 620fb4b7626defcefc8a039de09ae4599ee7f454)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:08:09 +01:00
Scott Rifenbark
946c650a47 documentation: Manual Revision Tables updated
Five tables updated for the five manuals that have the tables.
Used "May 2012" as the date.

(From yocto-docs rev: 0d4d46ba300c07ff9c73186506be5b409bef9d1b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:08:02 +01:00
Scott Rifenbark
f99c947c32 documentation/yocto-project-qs/yocto-project-qs.xml: Added Build Appliance
Added a blurb about the Build Appliance to the start of the QS.

(From yocto-docs rev: b2766121c05740300fd5a6cea2f3b8a2f62db6e5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:07:55 +01:00
Tom Zanussi
9ffbd2ef22 documentation/dev-manual/dev-manual-common-tasks.xml: removed kernel26
kernel26 is now obsolete so remove mention of it from the docs.
Removed from docs.

(From yocto-docs rev: 7b9da106d746192f802095584b04e3ee8347eabd)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:07:48 +01:00
Scott Rifenbark
66625417b4 documentation/poky-ref-manual/ref-images.xml: added link
added the link for the Build Appliance page to the description of the
self-hosted image.

(From yocto-docs rev: 719ba4308489b29eefa7f08ddffb65bd5e41fc2c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:07:40 +01:00
Joshua Lock
e95ce40abd scripts/hob: disable sanity checks when launching
This enables us to use the GUI to change any settings which might cause
sanity checks to fail, such as the proxy configuration.

(From OE-Core rev: fe98d1c7159636f123b27292bbd4cc224b532bf0)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:07:33 +01:00
Joshua Lock
4a83ebbee0 sanity.bbclass: add variable to disable the sanity checks
It's useful for Hob to be able to disable the sanity checks completely
without marking them as passed so that the user can get into the GUI to
configure their settings, etc.

Add a variable, DISABLE_SANITY_CHECKS, to do so.

(From OE-Core rev: b022641f939bcfcdaddddc4db3af4d2dc70de832)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:07:26 +01:00
Richard Purdie
90705b36ad python: Fix various contamination issues leading to broken/missing c modules
The move of libcrypto to /lib instead of /usr/lib has broken the _hashlib module
compilation. There were also a number of other failing modules which should
have been building correctly. This turned out partly to be the /lib issue
but also due to a number of native paths creeping into compiler commandlines.

These changes add in /lib as part of the searh directory and remove
a number of host contamination issues within setup.py. Post release we
should really further go through this file and just delete large sections
of it as its hard to be sure what strange paths python is injecting as
search paths.

This patch also fixes issues where re-execution of the compile task
would corrupt the Makefile in various ways, again leading to puzzling
paths within the configuration.

(From OE-Core rev: 20e2761e1da1cb5dcd267e161f2a6b6a429e9f39)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:07:19 +01:00
Richard Purdie
be5a5c7e7b bitbake.conf: Add a STAGING_BASELIBDIR variable that recipes can use to find base_libdir
(From OE-Core rev: 4697911991caa2f2a21dd43f54e0c4404d722873)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:07:12 +01:00
Joshua Lock
64471e9340 hob: enable sanity checks after launch
To ensure the users configuration is sanity tested enable the sanity
checks after the GUI has started but before any parsing is done.

(Bitbake rev: 244ce2b900ae6cecbeeccfe2056e61c132476261)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:07:05 +01:00
Richard Purdie
4becd60e65 self-hosted-image: Update poky revision to point at the 1.2 release branch
(From OE-Core rev: b19af63)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 16:08:34 +01:00
Richard Purdie
9fcfda78b9 poky-tiny: Drop now unneeded DISTRO_FEATURES_LIBC_TOOLCHAIN (after gettext fix)
After the recent gettext dependency fix (commit 6e5cb40dfa
"gettext.bbclass: Ensure we don't overwrite other DEPENDS_GETTEXT values",
its no longer necessary to have to have these options to build meta-toolchain.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 16:05:58 +01:00
Richard Purdie
8558c3e1f4 initramfs-live-boot: Disable unionfs until its issue with the system rootdir are resolved
There are issues with the current unionfs when making a union mount over "/".
Until these are resolved we can't use unionfs for live booting so disable this
temporarily as a workaround.

unionfs is usable in other circumstances.

[YOCTO #2331 workaround]

(From OE-Core rev: 60ee26ae23132b916019d58e20b8c2e1ddd2b471)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 15:56:42 +01:00
Richard Purdie
0bfb42dbb6 pseudo: Drop nativesdk wrapper and link against old memcpy symbol
The -nativesdk pseudo wrapper setting LD_LIBRARY_PATH turned out to be a
bad idea since it can mix up different libc and lib-dl verisons which
may or may not work depending on the phase of the moon.

As an alternative to solving the original problem, this patch drops the
symbol version requirement on memcpy which allows pseudo to work with
libc's back to 2.7 which should be sufficient for our supported targets
using nativesdk.

[YOCTO #2299]
[YOCTO #2351]

(From OE-Core rev: c6c701f424aeb502d20ff02d02712e56f4e259a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 15:56:42 +01:00
Richard Purdie
37b069ea5d pseudo: Fix bashisms
(From OE-Core rev: 90e22bbb316088fa951d51e75de4e5424bd51ed6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 15:56:42 +01:00
Richard Purdie
6d7260e8f6 package.bbclass: Ensure kernel modules get stripped
Kernel modules are not marked as executable but we do expect to strip them.
This patch adds in missing code to ensure we do this. Without this images
are getting sigificantly bloated in size.

(From OE-Core rev: 00b0a5f2f51bb3f88bbb9ae558c2859e3c1c406c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 15:56:41 +01:00
Richard Purdie
236bda9ed6 gettext.bbclass: Ensure we don't overwrite other DEPENDS_GETTEXT values
In particular, this overwrites the value from cross-canadian.bbclass in
some cases which isn't the desired behaviour and unnecessarily
complicates/breaks the dependency chain.

(From OE-Core rev: 751ead4fa7d4120de906a1d9cb1d5a29357bebad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 15:56:41 +01:00
Richard Purdie
375835092c qemu: Backport a patch to solve SSE2 instruction emulation issues
This fix addresses various issues seen in qemux86-64 images:
 * scroll bars in matchbox-terminal not working
 * files not appearing in pcmanfm
 * warnings on the console from glib/gobject about invalid gdouble values

Its due to an emulation issue in qemu which the backported patch fixes.

I managed to debug it to a specific function, Khem found the qemu patch
to backport, thanks Khem!

[YOCTO #1906]

(From OE-Core rev: 69d083f8b8d8f7d095ed5682d305870c4d93fe62)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 15:56:41 +01:00
Scott Rifenbark
2c3d4f5bee documentation/bsp-guide/bsp.xml: spelling corrected.
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: c0ee8ce391114f7a5b4f1c59fdf997ba4f3bcf75)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-18 16:42:15 +01:00
Scott Rifenbark
45114a9df0 documentation/poky-ref-manual/ref-images.xml: Added self-hosted image
I added the self-hosted-image to the list of images.

(From yocto-docs rev: a8265cb523705a374d23bf60aab5b7969ad937fc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-18 16:42:05 +01:00
Richard Purdie
08290c6003 self-hosted-image: Update poky revision to point at the 1.2 release branch
(From OE-Core rev: 00256125873ff6f1630743a712e882e5f473a9d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-18 15:59:56 +01:00
Elizabeth Flanagan
729e7f774c distro.conf: Flipping for denzil
Flipping values in distro.conf for upcoming release

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2012-04-18 15:55:32 +01:00
143 changed files with 2067 additions and 526 deletions

1
.gitignore vendored
View File

@@ -1,5 +1,6 @@
*.pyc
*.pyo
/*.patch
build*/conf/local.conf
build*/conf/bblayers.conf
build*/downloads

View File

@@ -40,7 +40,7 @@ from bb import cooker
from bb import ui
from bb import server
__version__ = "1.15.1"
__version__ = "1.15.2"
logger = logging.getLogger("BitBake")

View File

@@ -21,7 +21,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
__version__ = "1.15.1"
__version__ = "1.15.2"
import sys
if sys.version_info < (2, 6, 0):

View File

@@ -1175,7 +1175,7 @@ class BBCooker:
return
if self.state in (state.shutdown, state.stop):
self.parser.shutdown(clean=False)
self.parser.shutdown(clean=False, force = True)
sys.exit(1)
if self.state != state.parsing:
@@ -1608,10 +1608,13 @@ class CookerParser(object):
self.parser_quit.put(None)
self.jobs.cancel_join_thread()
sys.exit(1)
for process in self.processes:
process.join()
if force:
process.join(.1)
process.terminate()
else:
process.join()
self.feeder.join()
sync = threading.Thread(target=self.bb_cache.sync)

View File

@@ -517,3 +517,21 @@ class PackageInfo(Event):
def __init__(self, pkginfolist):
Event.__init__(self)
self._pkginfolist = pkginfolist
class SanityCheck(Event):
"""
Event to issue sanity check
"""
class SanityCheckPassed(Event):
"""
Event to indicate sanity check is passed
"""
class SanityCheckFailed(Event):
"""
Event to indicate sanity check has failed
"""
def __init__(self, msg):
Event.__init__(self)
self._msg = msg

View File

@@ -354,6 +354,9 @@ class Builder(gtk.Window):
self.handler.connect("data-generated", self.handler_data_generated_cb)
self.handler.connect("command-succeeded", self.handler_command_succeeded_cb)
self.handler.connect("command-failed", self.handler_command_failed_cb)
self.handler.connect("sanity-failed", self.handler_sanity_failed_cb)
self.handler.connect("recipe-populated", self.handler_recipe_populated_cb)
self.handler.connect("package-populated", self.handler_package_populated_cb)
self.handler.set_config_filter(hob_conf_filter)
@@ -405,6 +408,9 @@ class Builder(gtk.Window):
self.set_user_config()
self.handler.generate_configuration()
def sanity_check(self):
self.handler.trigger_sanity_check()
def populate_recipe_package_info_async(self):
self.switch_page(self.RCPPKGINFO_POPULATING)
# Parse recipes
@@ -618,6 +624,8 @@ class Builder(gtk.Window):
def handler_command_succeeded_cb(self, handler, initcmd):
if initcmd == self.handler.GENERATE_CONFIGURATION:
self.update_configuration_parameters(self.get_parameters_sync())
self.sanity_check()
elif initcmd == self.handler.SANITY_CHECK:
self.image_configuration_page.switch_machine_combo()
elif initcmd in [self.handler.GENERATE_RECIPES,
self.handler.GENERATE_PACKAGES,
@@ -645,10 +653,14 @@ class Builder(gtk.Window):
def handler_command_failed_cb(self, handler, msg):
if msg:
msg = msg.replace("your local.conf", "Settings")
self.show_error_dialog(msg)
self.reset()
def handler_sanity_failed_cb(self, handler, msg):
msg = msg.replace("your local.conf", "Settings")
self.show_error_dialog(msg)
self.reset()
def window_sensitive(self, sensitive):
self.image_configuration_page.machine_combo.set_sensitive(sensitive)
self.image_configuration_page.image_combo.set_sensitive(sensitive)
@@ -693,6 +705,12 @@ class Builder(gtk.Window):
def packagelist_changed_cb(self, package_model):
self.package_details_page.refresh_selection()
def handler_recipe_populated_cb(self, handler):
self.image_configuration_page.update_progress_bar("Populated recipes", 0.99)
def handler_package_populated_cb(self, handler):
self.image_configuration_page.update_progress_bar("Populated packages", 1.0)
def handler_parsing_started_cb(self, handler, message):
if self.current_step != self.RCPPKGINFO_POPULATING:
return
@@ -712,7 +730,7 @@ class Builder(gtk.Window):
fraction = message["current"] * 1.0/message["total"]
if message["eventname"] == "TreeDataPreparationProgress":
fraction = 0.6 + 0.4 * fraction
fraction = 0.6 + 0.38 * fraction
else:
fraction = 0.6 * fraction
self.image_configuration_page.update_progress_bar(message["title"], fraction)
@@ -722,7 +740,7 @@ class Builder(gtk.Window):
return
if message["eventname"] == "TreeDataPreparationCompleted":
fraction = 1.0
fraction = 0.98
else:
fraction = 0.6
self.image_configuration_page.update_progress_bar(message["title"], fraction)

View File

@@ -356,6 +356,15 @@ class AdvancedSettingDialog (CrumbsDialog):
data += ("SDK_MACHINE: " + self._get_sorted_value(self.configuration.curr_sdk_machine))
data += ("TOOLCHAIN_BUILD: " + self._get_sorted_value(self.configuration.toolchain_build))
data += ("IMAGE_FSTYPES: " + self._get_sorted_value(self.configuration.image_fstypes))
if self.enable_proxy:
data += ("ALL_PROXY: " + self._get_sorted_value(self.configuration.all_proxy))
data += ("HTTP_PROXY: " + self._get_sorted_value(self.configuration.http_proxy))
data += ("HTTPS_PROXY: " + self._get_sorted_value(self.configuration.https_proxy))
data += ("FTP_PROXY: " + self._get_sorted_value(self.configuration.ftp_proxy))
data += ("GIT_PROXY_HOST: " + self._get_sorted_value(self.configuration.git_proxy_host))
data += ("GIT_PROXY_PORT: " + self._get_sorted_value(self.configuration.git_proxy_port))
data += ("CVS_PROXY_HOST: " + self._get_sorted_value(self.configuration.cvs_proxy_host))
data += ("CVS_PROXY_PORT: " + self._get_sorted_value(self.configuration.cvs_proxy_port))
for key in self.configuration.extra_setting.keys():
data += (key + ": " + self._get_sorted_value(self.configuration.extra_setting[key]))
return hashlib.md5(data).hexdigest()

View File

@@ -42,6 +42,9 @@ class HobHandler(gobject.GObject):
"command-failed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,)),
"sanity-failed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,)),
"generating-data" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
@@ -57,10 +60,16 @@ class HobHandler(gobject.GObject):
"parsing-completed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"recipe-populated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"package-populated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
}
(GENERATE_CONFIGURATION, GENERATE_RECIPES, GENERATE_PACKAGES, GENERATE_IMAGE, POPULATE_PACKAGEINFO) = range(5)
(SUB_PATH_LAYERS, SUB_FILES_DISTRO, SUB_FILES_MACH, SUB_FILES_SDKMACH, SUB_MATCH_CLASS, SUB_PARSE_CONFIG, SUB_GNERATE_TGTS, SUB_GENERATE_PKGINFO, SUB_BUILD_RECIPES, SUB_BUILD_IMAGE) = range(10)
(GENERATE_CONFIGURATION, GENERATE_RECIPES, GENERATE_PACKAGES, GENERATE_IMAGE, POPULATE_PACKAGEINFO, SANITY_CHECK) = range(6)
(SUB_PATH_LAYERS, SUB_FILES_DISTRO, SUB_FILES_MACH, SUB_FILES_SDKMACH, SUB_MATCH_CLASS, SUB_PARSE_CONFIG, SUB_SANITY_CHECK, SUB_GNERATE_TGTS, SUB_GENERATE_PKGINFO, SUB_BUILD_RECIPES, SUB_BUILD_IMAGE) = range(11)
def __init__(self, server, recipe_model, package_model):
super(HobHandler, self).__init__()
@@ -129,6 +138,8 @@ class HobHandler(gobject.GObject):
self.runCommand(["generateTargetsTree", "classes/image.bbclass", []])
elif next_command == self.SUB_GENERATE_PKGINFO:
self.runCommand(["triggerEvent", "bb.event.RequestPackageInfo()"])
elif next_command == self.SUB_SANITY_CHECK:
self.runCommand(["triggerEvent", "bb.event.SanityCheck()"])
elif next_command == self.SUB_BUILD_RECIPES:
self.clear_busy()
self.building = True
@@ -156,8 +167,15 @@ class HobHandler(gobject.GObject):
if isinstance(event, bb.event.PackageInfo):
self.package_model.populate(event._pkginfolist)
self.emit("package-populated")
self.run_next_command()
elif isinstance(event, bb.event.SanityCheckPassed):
self.run_next_command()
elif isinstance(event, bb.event.SanityCheckFailed):
self.emit("sanity-failed", event._msg)
elif isinstance(event, logging.LogRecord):
if event.levelno >= logging.ERROR:
self.error_msg += event.msg + '\n'
@@ -166,6 +184,7 @@ class HobHandler(gobject.GObject):
self.current_phase = "data generation"
if event._model:
self.recipe_model.populate(event._model)
self.emit("recipe-populated")
elif isinstance(event, bb.event.ConfigFilesFound):
self.current_phase = "configuration lookup"
var = event._variable
@@ -194,6 +213,8 @@ class HobHandler(gobject.GObject):
self.clear_busy()
self.emit("command-failed", self.error_msg)
self.error_msg = ""
if self.building:
self.building = False
elif isinstance(event, (bb.event.ParseStarted,
bb.event.CacheLoadStarted,
bb.event.TreeDataPreparationStarted,
@@ -312,6 +333,10 @@ class HobHandler(gobject.GObject):
self.commands_async.append(self.SUB_GENERATE_PKGINFO)
self.run_next_command(self.POPULATE_PACKAGEINFO)
def trigger_sanity_check(self):
self.commands_async.append(self.SUB_SANITY_CHECK)
self.run_next_command(self.SANITY_CHECK)
def generate_configuration(self):
self.commands_async.append(self.SUB_PARSE_CONFIG)
self.commands_async.append(self.SUB_PATH_LAYERS)

View File

@@ -1057,7 +1057,7 @@ class HobCellRendererPixbuf(gtk.CellRendererPixbuf):
if self.control.is_active():
self.control.on_draw_pixbuf_cb(pix, window.cairo_create(), x, y, w, h, True)
else:
self.control.start_run(200, 0, 0, 1000, 200, tree)
self.control.start_run(200, 0, 0, 1000, 150, tree)
else:
self.control.remove_running_cell_area(cell_area)
self.control.on_draw_pixbuf_cb(pix, window.cairo_create(), x, y, w, h, False)

View File

@@ -125,11 +125,17 @@ class PersistentTooltip(gtk.Window):
style.fg[gtk.STATE_NORMAL] = gtk.gdk.color_parse(val)
self.label.set_style(style)
break # we only care for the tooltip_fg_color
self.label.set_markup(markup)
self.label.show()
bin.add(self.label)
hbox.pack_end(bin, True, True, 6)
# add the original URL display for user reference
if 'a href' in markup:
hbox.set_tooltip_text(self.get_markup_url(markup))
hbox.show()
self.connect("key-press-event", self._catch_esc_cb)
"""
@@ -165,3 +171,16 @@ class PersistentTooltip(gtk.Window):
def hide(self):
self.shown = False
gtk.Window.hide(self)
"""
Called to get the hyperlink URL from markup text.
"""
def get_markup_url(self, markup):
url = "http:"
if markup and type(markup) == str:
s = markup
if 'http:' in s:
import re
url = re.search('(http:[^,\\ "]+)', s).group(0)
return url

View File

@@ -82,7 +82,8 @@ ALLPREQ = html pdf tarball
#
# Note that the tarfile might produce the "Cannot stat: No such file or directory" error
# message for .PNG files that are not present when building a particular branch. The
# list of files is all-inclusive for all branches.
# list of files is all-inclusive for all branches. Note, if you don't provide a BRANCH
# option, it defaults to the latest stuff. This would be appropriate for "master" branch.
#
ifeq ($(BRANCH),edison)
@@ -94,13 +95,22 @@ TARFILES = style.css dev-manual.html dev-manual.pdf \
figures/kernel-overview-3-edison.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
else
else ifeq ($(BRANCH),denzil)
TARFILES = style.css dev-manual.html dev-manual.pdf \
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
figures/kernel-example-repos.png \
figures/kernel-example-repos-denzil.png \
figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3.png \
figures/kernel-overview-3-denzil.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
else
TARFILES = style.css dev-manual.html dev-manual.pdf \
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
figures/kernel-example-repos-denzil.png \
figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3-denzil.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
endif
@@ -195,7 +205,7 @@ validate:
publish:
scp -r $(MANUALS) $(STYLESHEET) www.yoctoproject.org:/srv/www/www.yoctoproject.org-docs/$(VER)/$(DOC)
cd $(DOC); scp -r $(FIGURES) www.yoctoproject.org:/srv/www/www.yoctoproject.org-docs/$(VER)/$(DOC)/figures
cd $(DOC); scp -r $(FIGURES) www.yoctoproject.org:/srv/www/www.yoctoproject.org-docs/$(VER)/$(DOC)
clean:
rm -f $(MANUALS)

View File

@@ -324,7 +324,7 @@
</para></listitem>
<listitem><para><emphasis>Point to the Toolchain:</emphasis>
If you are using a stand-alone pre-built toolchain, you should be pointing to the
<filename>/opt/poky/1.1</filename> directory.
<filename>&YOCTO_ADTPATH_DIR;</filename> directory.
This is the location for toolchains installed by the ADT Installer or by hand.
Sections "<link linkend='configuring-and-running-the-adt-installer-script'>Configuring
and Running the ADT Installer Script</link>" and

View File

@@ -46,8 +46,13 @@
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>TBD 2012</date>
<revremark>Work in progress for the Yocto Project 1.2 Release.</revremark>
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.2.1</revnumber>
<date>July 2012</date>
<revremark>Released with the Yocto Project 1.2.1 Release.</revremark>
</revision>
</revhistory>

View File

@@ -58,8 +58,13 @@
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>TBD 2012</date>
<revremark>Work in progress for the Yocto Project 1.2 Release.</revremark>
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.2.1</revnumber>
<date>July 2012</date>
<revremark>Released with the Yocto Project 1.2.1 Release.</revremark>
</revision>
</revhistory>

View File

@@ -75,7 +75,7 @@
<para>
Some layers function as a layer to hold other BSP layers.
An example of this type of layers is the <filename>meta-intel</filename> layer.
An example of this type of layer is the <filename>meta-intel</filename> layer.
The <filename>meta-intel</filename> layer contains over 10 individual BSP layers.
</para>
@@ -121,6 +121,15 @@
are separate components that happen to be combined in certain end products.
</para>
<para>
Before looking at the common form for the file structure inside a BSP Layer,
you should be aware that some requirements do exist in order for a BSP to
be considered compliant with the Yocto Project.
For that list of requirements, see the
"<link linkend='released-bsp-requirements'>Released BSP Requirements</link>"
section.
</para>
<para>
Below is the common form for the file structure inside a BSP Layer.
While you can use this basic form for the standard, realize that the actual structures
@@ -644,6 +653,219 @@
</section>
</section>
<section id='requirements-and-recommendations-for-released-bsps'>
<title>Requirements and Recommendations for Released BSPs</title>
<para>
Certain requirements exist for a released BSP to be considered
compliant with the Yocto Project.
Additionally, a single recommendation also exists.
This section describes the requirements and recommendation for
released BSPs.
</para>
<section id='released-bsp-requirements'>
<title>Released BSP Requirements</title>
<para>
Before looking at BSP requirements, you should consider the following:
<itemizedlist>
<listitem><para>The requirements here assume the BSP layer is a well-formed, "legal"
layer that can be added to the Yocto Project.
For guidelines on creating a Yocto Project layer that meets these base requirements, see the
"<link linkend='bsp-layers'>BSP Layers</link>" and the
"<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding
and Creating Layers"</ulink> in the Yocto Project Development Manual.</para></listitem>
<listitem><para>The requirements in this section apply regardless of how you
ultimately package a BSP.
You should consult the packaging and distribution guidelines for your
specific release process.
For an example of packaging and distribution requirements, see the
<ulink url='https://wiki.yoctoproject.org/wiki/Third_Party_BSP_Release_Process'>Third
Party BSP Release Process</ulink> wiki page.</para></listitem>
<listitem><para>The requirements for the BSP as it is made available to a developer
are completely independent of the released form of the BSP.
For example, the BSP metadata can be contained within a Git repository
and could have a directory structure completely different from what appears
in the officially released BSP layer.</para></listitem>
<listitem><para>It is not required that specific packages or package
modifications exist in the BSP layer, beyond the requirements for general
compliance with the Yocto Project.
For example, no requirement exists dictating that a specific kernel or
kernel version be used in a given BSP.</para></listitem>
</itemizedlist>
</para>
<para>
Following are the requirements for a released BSP that conforms to the
Yocto Project:
<itemizedlist>
<listitem><para><emphasis>Layer Name:</emphasis>
The BSP must have a layer name that follows the Yocto
Project standards.
For information on BSP layer names, see the
"<link linkend='bsp-layers'>BSP Layers</link>" section.
</para></listitem>
<listitem><para><emphasis>File System Layout:</emphasis>
When possible, use the same directory names in your
BSP layer as listed in the <filename>recipes.txt</filename> file.
In particular, you should place recipes
(<filename>.bb</filename> files) and recipe
modifications (<filename>.bbappend</filename> files) into
<filename>recipes-*</filename> subdirectories by functional area
as outlined in <filename>recipes.txt</filename>.
If you cannot find a category in <filename>recipes.txt</filename>
to fit a particular recipe, you can make up your own
<filename>recipe-*</filename> subdirectory.
You can find <filename>recipes.txt</filename> in the
<filename>meta</filename> directory of the
<ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto
Project Files</ulink>, or in the OpenEmbedded Core Layer
(<filename>openembedded-core</filename>) found at
<ulink url='http://git.openembedded.org/openembedded-core/tree/meta'></ulink>.
</para>
<para>Within any particular <filename>recipes-*</filename> category, the layout
should match what is found in the OpenEmbedded Core
Git repository (<filename>openembedded-core</filename>)
or the Yocto Project Files (<filename>poky</filename>).
In other words, make sure you place related files in appropriately
related <filename>recipes-*</filename> subdirectories specific to the
recipe's function, or within a subdirectory containing a set of closely-related
recipes.
The recipes themselves should follow the general guidelines
for recipes used in the Yocto Project found in the
<ulink url='https://wiki.yoctoproject.org/wiki/Recipe_%26_Patch_Style_Guide'>Yocto
Recipe and Patch Style Guide</ulink>.</para></listitem>
<listitem><para><emphasis>License File:</emphasis>
You must include a license file in the
<filename>meta-&lt;bsp_name&gt;</filename> directory.
This license covers the BSP metadata as a whole.
You must specify which license to use since there is no
default license if one is not specified.
See the
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-intel/tree/meta-fishriver/COPYING.MIT'><filename>COPYING.MIT</filename></ulink>
file for the Fish River BSP in the <filename>meta-fishriver</filename> BSP layer
as an example.</para></listitem>
<listitem><para><emphasis>README File:</emphasis>
You must include a <filename>README</filename> file in the
<filename>meta-&lt;bsp_name&gt;</filename> directory.
See the
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-intel/tree/meta-fishriver/README'><filename>README</filename></ulink>
file for the Fish River BSP in the <filename>meta-fishriver</filename> BSP layer
as an example.</para>
<para>At a minimum, the <filename>README</filename> file should
contain the following:
<itemizedlist>
<listitem><para>A brief description about the hardware the BSP
targets.</para></listitem>
<listitem><para>A list of all the dependencies a
on which a BSP layer depends.
These dependencies are typically a list of required layers needed
to build the BSP.
However, the dependencies should also contain information regarding
any other dependencies the BSP might have.</para></listitem>
<listitem><para>Any required special licensing information.
For example, this information includes information on
special variables needed to satisfy a EULA,
or instructions on information needed to build or distribute
binaries built from the BSP metadata.</para></listitem>
<listitem><para>The name and contact information for the
BSP layer maintainer.
This is the person to whom patches and questions should
be sent.</para></listitem>
<listitem><para>Instructions on how to build the BSP using the BSP
layer.</para></listitem>
<listitem><para>Instructions on how to boot the BSP build from
the BSP layer.</para></listitem>
<listitem><para>Instructions on how to boot the binary images
contained in the <filename>/binary</filename> directory,
if present.</para></listitem>
<listitem><para>Information on any known bugs or issues that users
should know about when either building or booting the BSP
binaries.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis>README.sources File:</emphasis>
You must include a <filename>README.sources</filename> in the
<filename>meta-&lt;bsp_name&gt;</filename> directory.
This file specifies exactly where you can find the sources used to
generate the binary images contained in the
<filename>/binary</filename> directory, if present.
See the
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-intel/tree/meta-fishriver/README.sources'><filename>README.sources</filename></ulink>
file for the Fish River BSP in the <filename>meta-fishriver</filename> BSP layer
as an example.</para></listitem>
<listitem><para><emphasis>Layer Configuration File:</emphasis>
You must include a <filename>conf/layer.conf</filename> in the
<filename>meta-&lt;bsp_name&gt;</filename> directory.
This file identifies the <filename>meta-&lt;bsp_name&gt;</filename>
BSP layer as a layer to the build system.</para></listitem>
<listitem><para><emphasis>Machine Configuration File:</emphasis>
You must include a <filename>conf/machine/&lt;bsp_name&gt;.conf</filename>
in the <filename>meta-&lt;bsp_name&gt;</filename> directory.
This configuration file defines a machine target that can be built
using the BSP layer.
Multiple machine configuration files define variations of machine
configurations that are supported by the BSP.
If a BSP supports more multiple machine variations, you need to
adequately describe each variation in the BSP
<filename>README</filename> file.
Do not use multiple machine configuration files to describe disparate
hardware.
Multiple machine configuration files should describe very similar targets.
If you do have very different targets, you should create a separate
BSP.
<note>It is completely possible for a developer to structure the
working repository as a conglomeration of unrelated BSP
files, and to possibly generate specifically targeted 'release' BSPs
from that directory using scripts or some other mechanism.
Such considerations are outside the scope of this document.</note>
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='released-bsp-recommendations'>
<title>Released BSP Recommendations</title>
<para>
Following are recommendations for a released BSP that conforms to the
Yocto Project:
<itemizedlist>
<listitem><para><emphasis>Bootable Images:</emphasis>
BSP releases
can contain one or more bootable images.
Including bootable images allows users to easily try out the BSP
on their own hardware.</para>
<para>In some cases, it might not be convenient to include a
bootable image.
In this case, you might want to make two versions of the
BSP available: one that contains binary images, and one
that does not.
The version that does not contain bootable images avoids
unnecessary download times for users not interested in the images.
</para>
<para>If you need to distribute a BSP and include bootable images or build kernel and
filesystems meant to allow users to boot the BSP for evaluation
purposes, you should put the images and artifacts within a
<filename>binary/</filename> subdirectory located in the
<filename>meta-&lt;bsp_name&gt;</filename> directory.
<note>If you do include a bootable image as part of the BSP and the image
was built by software covered by the GPL or other open source licenses,
it is your responsibility to understand
and meet all licensing requirements, which could include distribution
of source files.</note></para></listitem>
<listitem><para><emphasis>Use a Yocto Linux Kernel:</emphasis>
Kernel recipes in the BSP should be based on a Yocto Linux kernel.
Basing your recipes on these kernels reduces the costs for maintaining
the BSP and increases its scalability.
See the <filename>Yocto Linux Kernel</filename> category in the
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'><filename>Yocto Source Repositories</filename></ulink>
for these kernels.</para></listitem>
</itemizedlist>
</para>
</section>
</section>
<section id='customizing-a-recipe-for-a-bsp'>
<title>Customizing a Recipe for a BSP</title>
@@ -760,7 +982,7 @@
restart the build to continue where it left off.
During the build, the prompt will not appear again
since you have satisfied the requirement.</para>
<para>Once the appropriate license flags are whitelisted
<para>Once the appropriate license flags are on the white list
in the <filename>LICENSE_FLAGS_WHITELIST</filename> variable, you
can build the encumbered image with no change at all
to the normal build process.</para></listitem>
@@ -919,7 +1141,7 @@
...
NOTE: Once created, you should add your new layer to your
bblayers.conf file in order for it to be subsquently seen and
bblayers.conf file in order for it to be subsequently seen and
modified by the yocto-kernel tool.
NOTE for x86- and x86_64-based BSPs: The generated BSP assumes the
@@ -931,7 +1153,7 @@
<para>
Now that you know where these two commands reside and how to access information
on them, you should find it relatively straightforward to discover the commands
necessary to create a BSP and perform basic kernel maintainence on that BSP using
necessary to create a BSP and perform basic kernel maintenance on that BSP using
the tools.
The next sections provide a concrete starting point to expand on a few points that
might not be immediately obvious or that could use further explanation.
@@ -990,7 +1212,7 @@
In every other way, this architecture is representative of how creating a BSP for
a 'real' machine would work.
The reason the example uses this architecture is because it is an emulated architecture
and can easily be followed without requireing actual hardware.
and can easily be followed without requiring actual hardware.
</para>
<para>
@@ -1059,7 +1281,7 @@
If you enter 'n', the script prompts you to further enter the kernel
you do want to use (e.g. 3.0, 3.2_preempt-rt, etc.).</para></listitem>
<listitem><para>Next, the script asks whether you would like to have a new
branch created especially for your BSPin the local
branch created especially for your BSP in the local
<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink>
Git repository .
If not, then the script re-uses an existing branch.</para>

View File

@@ -43,10 +43,10 @@
$ git clone git://git.yoctoproject.org/poky
$ cd poky
</literallayout>
Alternatively, you can start with the downloaded Poky "edison" tarball.
Alternatively, you can start with the downloaded Poky "&DISTRO_NAME;" tarball.
These commands unpack the tarball into a Yocto Project File directory structure.
By default, the top-level directory of the file structure is named
<filename>poky-&YOCTO_POKY;</filename>:
<filename>&YOCTO_POKY;</filename>:
<literallayout class='monospaced'>
$ tar xfj &YOCTO_POKY_TARBALL;
$ cd &YOCTO_POKY;
@@ -54,7 +54,7 @@
<note><para>If you're using the tarball method, you can ignore all the following steps that
ask you to carry out Git operations.
You already have the results of those operations
in the form of the edison release tarballs.
in the form of the &DISTRO_NAME; release tarballs.
Consequently, there is nothing left to do other than extract those tarballs into the
proper locations.</para>
@@ -67,7 +67,7 @@
and keep changes in revision control.
See the
"<link linkend='repositories-tags-and-branches'>Repositories, Tags, and Branches</link>" section
for more discussion around these differneces.</para></note>
for more discussion around these differences.</para></note>
</para>
<para>
@@ -133,7 +133,8 @@
<para>
You need to have the base BSP layer on your development system.
Similar to the local Yocto Project files, you can get the BSP
Similar to the local <link linkend='yocto-project-files'>Yocto Project Files</link>,
you can get the BSP
layer in a couple of different ways:
download the BSP tarball and extract it, or set up a local Git repository that
has the Yocto Project BSP layers.
@@ -160,15 +161,15 @@
$ cd meta-intel
</literallayout>
Alternatively, you can start with the downloaded Crown Bay tarball.
You can download the edison version of the BSP tarball from the
You can download the &DISTRO_NAME; version of the BSP tarball from the
<ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> page of the
Yocto Project website.
Here is the specific link for the tarball needed for this example:
<ulink url='&YOCTO_MACHINES_DL_URL;/crownbay-noemgd/crownbay-noemgd-&DISTRO_NAME;-6.0.0.tar.bz2'></ulink>.
<ulink url='&YOCTO_MACHINES_DL_URL;/crownbay-noemgd/crownbay-noemgd-&DISTRO_NAME;-&POKYVERSION;.tar.bz2'></ulink>.
Again, be sure that you are already in the <filename>poky</filename> directory
as described previously before installing the tarball:
<literallayout class='monospaced'>
$ tar xfj crownbay-noemgd-&DISTRO_NAME;-6.0.0.tar.bz2
$ tar xfj crownbay-noemgd-&DISTRO_NAME;-&POKYVERSION;.tar.bz2
$ cd meta-intel
</literallayout>
</para>
@@ -177,7 +178,7 @@
The <filename>meta-intel</filename> directory contains all the metadata
that supports BSP creation.
If you're using the Git method, the following
step will switch to the edison metadata.
step will switch to the &DISTRO_NAME; metadata.
If you're using the tarball method, you already have the correct metadata and can
skip to the next step.
Because <filename>meta-intel</filename> is its own Git repository, you will want
@@ -185,6 +186,7 @@
For this example we are going to use the <filename>&DISTRO_NAME;</filename> branch.
<literallayout class='monospaced'>
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
@@ -261,10 +263,10 @@
<para>
Note that inside the <filename>mymachine.conf</filename> is the
<filename>PREFERRED_PROVIDER_virtual/kernel</filename> statement.
<filename>PREFERRED_VERSION_linux-yocto</filename> statement.
This statement identifies the kernel that the BSP is going to use.
In this case, the BSP is using <filename>linux-yocto</filename>, which is the
current Linux Yocto kernel based on the Linux 3.0 release.
current Linux Yocto kernel based on the Linux 3.2 release.
</para>
<para>
@@ -283,6 +285,8 @@
BBFILE_COLLECTIONS += "crownbay"
BBFILE_PATTERN_crownbay := "^${LAYERDIR}/"
BBFILE_PRIORITY_crownbay = "6"
LAYERDEPENDS_crownbay = "intel"
</literallayout>
</para>
@@ -293,6 +297,8 @@
BBFILE_COLLECTIONS += "mymachine"
BBFILE_PATTERN_mymachine := "^${LAYERDIR}/"
BBFILE_PRIORITY_mymachine = "6"
LAYERDEPENDS_mymachine = "intel"
</literallayout>
</para>
</section>
@@ -391,7 +397,7 @@
The recipe for that kernel is not located in the
BSP layer but rather in the local Yocto Project files at
<filename>meta/recipes-kernel/linux</filename> and is
named <filename>linux-yocto_3.0.bb</filename>.
named <filename>linux-yocto_3.2.bb</filename>.
The <filename>SRCREV_machine</filename> and <filename>SRCREV_meta</filename>
statements point to the exact commits used by the Yocto Project development team
in their source repositories that identify the right kernel for our hardware.
@@ -404,7 +410,7 @@
<para>
However, in the <filename>meta-mymachine</filename> layer in
<filename>recipes-kernel/linux</filename> resides a <filename>.bbappend</filename>
file named <filename>linux-yocto_3.0.bbappend</filename> that
file named <filename>linux-yocto_3.2.bbappend</filename> that
appends information to the recipe of the same name in <filename>meta/recipes-kernel/linux</filename>.
Thus, the <filename>SRCREV</filename> statements in the append file override
the more general statements found in <filename>meta</filename>.
@@ -413,17 +419,20 @@
<para>
The <filename>SRCREV</filename> statements in the append file currently identify
the kernel that supports the Crown Bay BSP with and without EMGD support.
Here are the statements:
Here are the statements:
<note>The commit ID strings used in this manual might not match the actual commit
ID strings found in the <filename>linux-yocto_3.2.bbappend</filename> file.
For the example, this difference does not matter.</note>
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_crownbay ?= \
"2247da9131ea7e46ed4766a69bb1353dba22f873"
"211fc7f4d10ec2b82b424286aabbaff9254b7cbd"
SRCREV_meta_pn-linux-yocto_crownbay ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
"514847185c78c07f52e02750fbe0a03ca3a31d8f"
SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= \
"2247da9131ea7e46ed4766a69bb1353dba22f873"
"211fc7f4d10ec2b82b424286aabbaff9254b7cbd"
SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
"514847185c78c07f52e02750fbe0a03ca3a31d8f"
</literallayout>
</para>
@@ -438,19 +447,19 @@
</para>
<para>
To fix this situation in <filename>linux-yocto_3.0.bbappend</filename>,
To fix this situation in <filename>linux-yocto_3.2.bbappend</filename>,
we delete the two <filename>SRCREV</filename> statements that support
EMGD (the top pair).
We also change the remaining pair to specify <filename>mymachine</filename>
and insert the commit identifiers to identify the kernel in which we
are interested, which will be based on the <filename>atom-pc-standard</filename>
kernel.
In this case, because we're working with the edison branch of everything, we
In this case, because we're working with the &DISTRO_NAME; branch of everything, we
need to use the <filename>SRCREV</filename> values for the atom-pc branch
that are associated with the edison release.
that are associated with the &DISTRO_NAME; release.
To find those values, we need to find the <filename>SRCREV</filename>
values that edison uses for the atom-pc branch, which we find in the
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.0.bbappend</filename>
values that &DISTRO_NAME; uses for the atom-pc branch, which we find in the
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.2.bbappend</filename>
file.
</para>
@@ -459,23 +468,21 @@
<filename>SRCREV_machine_atom-pc</filename> variable.
The meta <filename>SRCREV</filename> isn't specified in this file, so it must be
specified in the base kernel recipe in the
<filename>poky/meta/recipes-kernel/linux/linux-yocto_3.0.bb</filename>
file, in the <filename>SRCREV_meta variable</filename> found there.
It happens to be the same as the value we already inherited from the
<filename>meta-crownbay</filename> BSP.
<filename>poky/meta/recipes-kernel/linux/linux-yocto_3.2.bb</filename>
file, in the <filename>SRCREV_meta</filename> variable found there.
Here are the final <filename>SRCREV</filename> statements:
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"1e18e44adbe79b846e382370eb29bc4b8cd5a1a0"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"f29531a41df15d74be5ad47d958e4117ca9e489e"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"b14a08f5c7b469a5077c10942f4e1aec171faa9d"
</literallayout>
</para>
<para>
In this example, we're using the <filename>SRCREV</filename> values we
found already captured in the edison release because we're creating a BSP based on
edison.
found already captured in the &DISTRO_NAME; release because we're creating a BSP based on
&DISTRO_NAME;.
If, instead, we had based our BSP on the master branches, we would want to use
the most recent <filename>SRCREV</filename> values taken directly from the kernel repo.
We will not be doing that for this example.
@@ -484,19 +491,19 @@
exact commit strings in the Yocto Project source repositories you need to change
the <filename>SRCREV</filename> statements.
You can find all the <filename>machine</filename> and <filename>meta</filename>
branch points (commits) for the <filename>linux-yocto-3.0</filename> kernel at
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/linux-yocto-3.0'></ulink>.
branch points (commits) for the <filename>linux-yocto-3.2</filename> kernel at
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/linux-yocto-3.2'></ulink>.
</para>
<para>
If you need a little more assistance after going to the link then do the following:
<orderedlist>
<listitem><para>Expand the list of branches by clicking <filename>[…]</filename></para></listitem>
<listitem><para>Click on the <filename>yocto/standard/common-pc/atom-pc</filename>
<listitem><para>Click on the <filename>standard/default/common-pc/atom-pc</filename>
branch</para></listitem>
<listitem><para>Click on the commit column header to view the top commit</para></listitem>
<listitem><para>Copy the commit string for use in the
<filename>linux-yocto_3.0.bbappend</filename> file</para></listitem>
<filename>linux-yocto_3.2.bbappend</filename> file</para></listitem>
</orderedlist>
</para>
@@ -507,32 +514,34 @@
</para>
<para>
Also in the <filename>linux-yocto_3.0.bbappend</filename> file are
Also in the <filename>linux-yocto_3.2.bbappend</filename> file are
<filename>COMPATIBLE_MACHINE</filename>, <filename>KMACHINE</filename>,
and <filename>KERNEL_FEATURES</filename> statements.
and <filename>KBRANCH</filename> statements.
Two sets of these exist: one set supports EMGD and one set does not.
Because we are not interested in supporting EMGD those three can be deleted.
The remaining three must be changed so that <filename>mymachine</filename> replaces
<filename>crownbay-noemgd</filename> and <filename>crownbay</filename>.
Because we are using the atom-pc branch for this new BSP, we can also find
the exact branch we need for the KMACHINE variable in our new BSP from the value
Because we are using the <filename>atom-pc</filename> branch for this new BSP, we can also find
the exact branch we need for the <filename>KMACHINE</filename>
and <filename>KBRANCH</filename> variables in our new BSP from the value
we find in the
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.0.bbappend</filename>
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.2.bbappend</filename>
file we looked at in a previous step.
In this case, the value we want is in the KMACHINE_atom-pc variable in that file.
Here is the final <filename>linux-yocto_3.0.bbappend</filename> file after all
In this case, the values we want are in the <filename>KMACHINE_atom-pc</filename> variable
and the <filename>KBRANCH_atom-pc</filename> variables in that file.
Here is the final <filename>linux-yocto_3.2.bbappend</filename> file after all
the edits:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_mymachine = "mymachine"
KMACHINE_mymachine = "yocto/standard/common-pc/atom-pc"
KERNEL_FEATURES_append_mymachine += " cfg/smp.scc"
KMACHINE_mymachine = "atom-pc"
KBRANCH_mymachine = "standard/default/common-pc/atom-pc"
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"1e18e44adbe79b846e382370eb29bc4b8cd5a1a0"
"f29531a41df15d74be5ad47d958e4117ca9e489e"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
"b14a08f5c7b469a5077c10942f4e1aec171faa9d"
</literallayout>
</para>
</section>
@@ -600,11 +609,12 @@
both the <filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>
variables to twice the number of cores your system supports.</para></listitem>
<listitem><para>Update the <filename>bblayers.conf</filename> file so that it includes
the path to your new BSP layer.
In this example you need to include the pathname to <filename>meta-mymachine</filename>.
For this example the
<filename>BBLAYERS</filename> variable in the file would need to include the following path:
both the path to your new BSP layer and the path to the
<filename>meta-intel</filename> layer.
In this example, you need to include both these paths as part of the
<filename>BBLAYERS</filename> variable:
<literallayout class='monospaced'>
$HOME/poky/meta-intel
$HOME/poky/meta-intel/meta-mymachine
</literallayout></para></listitem>
</orderedlist>
@@ -682,12 +692,12 @@
</para>
<para>
For reference, the sato image produced by the previous steps for edison
For reference, the sato image produced by the previous steps for &DISTRO_NAME;
should look like the following in terms of size.
If your sato image is much different from this,
you probably made a mistake in one of the above steps:
<literallayout class='monospaced'>
358715392 2011-11-01 19:11 core-image-sato-mymachine-20111101223904.hddimg
260538368 2012-04-27 01:44 core-image-sato-mymachine-20120427025051.hddimg
</literallayout>
<note>The previous instructions are also present in the README that was copied
from meta-crownbay, which should also be updated to reflect the specifics of your

View File

@@ -188,7 +188,8 @@
<listitem><para>Store custom layers in a Git repository that uses the
<filename>meta-&lt;layer_name&gt;</filename> format.</para></listitem>
<listitem><para>Clone the repository alongside other <filename>meta</filename>
directories in the Yocto Project source files area.</para></listitem>
directories in
<link linkend='yocto-project-files'>Yocto Project Files</link>.</para></listitem>
</itemizedlist>
Following these recommendations keeps your Yocto Project files area and
its configuration entirely inside the Yocto Project's core base.
@@ -248,8 +249,8 @@
<para>
Append files files must have the same name as the underlying recipe.
For example, the append file <filename>someapp_1.1.bbappend</filename> must
apply to <filename>someapp_1.1.bb</filename>.
For example, the append file <filename>someapp_&DISTRO;.bbappend</filename> must
apply to <filename>someapp_&DISTRO;.bb</filename>.
This means the original recipe and append file names are version number specific.
If the underlying recipe is renamed to update to a newer version, the
corresponding <filename>.bbappend</filename> file must be renamed as well.
@@ -269,14 +270,14 @@
append file both from the
<link linkend='yocto-project-files'>Yocto Project Files</link>.
Here is the main formfactor recipe, which is named <filename>formfactor_0.0.bb</filename> and
located in the meta layer at <filename>meta/bsp-recipes/formfactor</filename>:
located in the meta layer at <filename>meta/recipes-bsp/formfactor</filename>:
<literallayout class='monospaced'>
DESCRIPTION = "Device formfactor information"
SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r19"
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r20"
SRC_URI = "file://config file://machconfig"
S = "${WORKDIR}"
@@ -290,11 +291,12 @@
install -m 0644 ${S}/config ${D}${sysconfdir}/formfactor/
if [ -s "${S}/machconfig" ]; then
install -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/
fi
fi
}
</literallayout>
Here is the append file, which is named <filename>formfactor_0.0.bbappend</filename> and is from the
Crown Bay BSP Layer named <filename>meta-intel/meta-crownbay</filename>:
Crown Bay BSP Layer named <filename>meta-intel/meta-crownbay</filename>.
The file is in <filename>recipes-bsp/formfactor</filename>:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
@@ -477,12 +479,12 @@
</para>
<para>
The other method for creating a custom image is to modify an existing image.
For example, if a developer wants to add <filename>strace</filename> into
the <filename>core-image-sato</filename> image, they can use the following recipe:
The other method for creating a custom image is to base it on an existing image.
For example, if you want to create an image based on <filename>core-image-sato</filename>
but add the additional package <filename>strace</filename> to the image,
copy the <filename>meta/recipes-sato/images/core-image-sato.bb</filename> to a
new <filename>.bb</filename> and add the following line to the end of the copy:
<literallayout class='monospaced'>
require core-image-sato.bb
IMAGE_INSTALL += "strace"
</literallayout>
</para>
@@ -748,7 +750,7 @@
The variable
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LIC_FILES_CHKSUM'>LIC_FILES_CHKSUM</ulink></filename>
is used to track source license changes as described in the
"<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-configuring-LIC_FILES_CHKSUM'>Track License Change</ulink>" section.
"<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-configuring-LIC_FILES_CHKSUM'>Track License Changes</ulink>" section.
You can quickly create Autotool-based recipes in a manner similar to the previous example.
</para>
</section>
@@ -953,7 +955,7 @@
<filename>postinst</filename> script.
Normally
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'>PN</ulink></filename>
can be used, which automatically expands to PACKAGENAME.
can be used, which automatically expands to <filename>PACKAGENAME</filename>.
A post-installation function has the following structure:
<literallayout class='monospaced'>
pkg_postinst_PACKAGENAME () {
@@ -1082,7 +1084,7 @@ so that there are some definite steps on how to do this. I need more detail her
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_PROVIDER'>
PREFERRED_PROVIDER</ulink></filename>_virtual/kernel (see below)</para></listitem>
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_FEATURES'>
MACHINE_FEATURES</ulink></filename> (e.g. "kernel26 apm screen wifi")</para></listitem>
MACHINE_FEATURES</ulink></filename> (e.g. "apm screen wifi")</para></listitem>
</itemizedlist>
</para>

View File

@@ -127,6 +127,14 @@
<ulink url='&YOCTO_HOME_URL;/download/yocto/yocto-project-1.1-release-notes-poky-&POKYVERSION;'>
Release Notes</ulink>:</emphasis> Features, updates and known issues for the current
release of the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_HOME_URL;/projects/hob'>
Hob</ulink>:</emphasis> A graphical user interface for BitBake.
Hob's primary goal is to enable a user to perform common tasks more easily.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_HOME_URL;/documentation/build-appliance'>
Build Appliance</ulink>:</emphasis> Allows you to build and boot a custom embedded Linux
image with the Yocto Project using a non-Linux development system.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_BUGZILLA_URL;'>Bugzilla</ulink>:</emphasis>
The bug tracking application the Yocto Project uses.

View File

@@ -71,7 +71,7 @@
</para>
<para>
<imagedata fileref="figures/kernel-example-repos.png" width="7in" depth="5in"
<imagedata fileref="figures/kernel-example-repos-denzil.png" width="7in" depth="5in"
align="center" scale="100" />
</para>
@@ -155,13 +155,13 @@
$ git branch -a
$ git tag -l
</literallayout>
This example uses the Yocto Project 1.1 Release code named "edison",
which maps to the <filename>edison</filename> branch in the repository.
The following commands create and checkout the local <filename>edison</filename>
This example uses the Yocto Project &DISTRO; Release code named "&DISTRO_NAME;",
which maps to the <filename>&DISTRO_NAME;</filename> branch in the repository.
The following commands create and checkout the local <filename>&DISTRO_NAME;</filename>
branch:
<literallayout class='monospaced'>
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch edison set up to track remote branch &DISTRO_NAME; from origin.
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
@@ -178,13 +178,28 @@
<filename>poky-extras</filename> Git Repository</link>"
for information on how to get the <filename>poky-extras</filename> repository.
</para>
<para>
Because this example uses the Yocto Project &DISTRO; Release code
named "&DISTRO_NAME;", which maps to the <filename>&DISTRO_NAME;</filename>
branch in the repository, you need to be sure you are using that
branch for <filename>poky-extra</filename>.
The following commands create and checkout the local
branch you are using for the <filename>&DISTRO_NAME;</filename>
branch:
<literallayout class='monospaced'>
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
</section>
<section id='setting-up-the-bare-clone-and-its-copy'>
<title>Setting Up the Bare Clone and its Copy</title>
<para>
This example modifies the <filename>linux-yocto-3.0-1.1.x</filename> kernel.
This example modifies the <filename>linux-yocto-3.2</filename> kernel.
Thus, you need to create a bare clone of that kernel and then make a copy of the
bare clone.
See the bulleted item
@@ -196,15 +211,16 @@
The bare clone exists for the kernel build tools and simply as the receiving end
of <filename>git push</filename>
commands after you make edits and commits inside the copy of the clone.
The copy (<filename>my-linux-yocto-3.0-1.1.x-work</filename> in this example) has to have
The copy (<filename>my-linux-yocto-3.2-work</filename> in this example) has to have
a local branch created and checked out for your work.
This example uses <filename>common-pc-base</filename> as the local branch.
The following commands create and checkout the branch:
<literallayout class='monospaced'>
$ cd ~/my-linux-yocto-3.0-1.1.x-work
$ git checkout -b common-pc-base origin/yocto/standard/common-pc/base
$ cd ~/my-linux-yocto-3.2-work
$ git checkout -b common-pc-base origin/standard/default/common-pc/base
Checking out files: 100% (532/532), done.
Branch common-pc-base set up to track remote branch
yocto/standard/common-pc/base from origin.
standard/default/common-pc/base from origin.
Switched to a new branch 'common-pc-base'
</literallayout>
</para>
@@ -296,7 +312,7 @@
<para>
The file you change in this example is named <filename>calibrate.c</filename>
and is located in the <filename>my-linux-yocto-3.0-1.1.x-work</filename> Git repository
and is located in the <filename>my-linux-yocto-3.2-work</filename> Git repository
(the copy of the bare clone) in <filename>init</filename>.
This example simply inserts several <filename>printk</filename> statements
at the beginning of the <filename>calibrate_delay</filename> function.
@@ -307,10 +323,11 @@
<literallayout class='monospaced'>
void __cpuinit calibrate_delay(void)
{
unsigned long lpj;
static bool printed;
unsigned long lpj;
static bool printed;
int this_cpu = smp_processor_id();
if (preset_lpj) {
if (per_cpu(cpu_loops_per_jiffy, this_cpu)) {
.
.
.
@@ -319,19 +336,21 @@
<para>
Here is the altered code showing five new <filename>printk</filename> statements
just after initializing <filename>lps_precision</filename>:
near the top of the function:
<literallayout class='monospaced'>
void __cpuinit calibrate_delay(void)
{
unsigned long lpj;
static bool printed;
unsigned long lpj;
static bool printed;
int this_cpu = smp_processor_id();
printk("*************************************\n");
printk("* *\n");
printk("* HELLO YOCTO KERNEL *\n");
printk("* *\n");
printk("*************************************\n");
if (preset_lpj) {
if (per_cpu(cpu_loops_per_jiffy, this_cpu)) {
.
.
.
@@ -357,7 +376,7 @@
<para>
The following command pushes the changes to the bare clone:
<literallayout class='monospaced'>
$ git push origin common-pc-base:yocto/standard/common-pc/base
$ git push origin common-pc-base:standard/default/common-pc/base
</literallayout>
</para>
</section>
@@ -416,24 +435,24 @@
"
</literallayout></para></listitem>
<listitem><para><emphasis>Identify Your Source Files:</emphasis> In the
<filename>linux-yocto_3.0.bbappend</filename> file located in the
<filename>linux-yocto_3.2.bbappend</filename> file located in the
<filename>poky-extras/meta-kernel-dev/recipes-kernel/linux</filename>
directory, you need to identify the location of the
local source code, which in this example is the bare clone named
<filename>linux-yocto-3.0-1.1.x.git</filename>.
<filename>linux-yocto-3.2.git</filename>.
To do this, set the <filename>KSRC_linux_yocto</filename> variable to point to your
local <filename>linux-yocto-3.0-1.1.x.git</filename> Git repository by adding the
local <filename>linux-yocto-3.2.git</filename> Git repository by adding the
following statement.
Be sure to substitute your user information in the statement:
<literallayout class='monospaced'>
KSRC_linux_yocto ?= /home/scottrif/linux-yocto-3.0-1.1.x.git
KSRC_linux_yocto_3_2 ?= "/home/scottrif/linux-yocto-3.2.git"
</literallayout></para></listitem>
<listitem><para><emphasis>Specify the Kernel Machine:</emphasis> Also in the
<filename>linux-yocto_3.0.bbappend</filename> file, you need to specify
<!-- <listitem><para><emphasis>Specify the Kernel Machine:</emphasis> Also in the
<filename>linux-yocto_3.2.bbappend</filename> file, you need to specify
the kernel machine with the following statement:
<literallayout class='monospaced'>
KMACHINE_qemux86 = "yocto/standard/common-pc/base"
</literallayout></para></listitem>
KMACHINE_qemux86 = "standard/default/common-pc/base"
</literallayout></para></listitem> -->
</itemizedlist>
</para>
@@ -446,7 +465,7 @@
unused <filename>.bbappend</filename> files.
Alternatively, you can simply remove all the files
except the one your are using for the build
(i.e. <filename>linux-yocto_3.0.bbappend</filename> in this example).
(i.e. <filename>linux-yocto_3.2.bbappend</filename> in this example).
</note>
</section>
@@ -505,8 +524,8 @@
<title>Changing the Kernel Configuration</title>
<para>
This example changes the default behavior, which is "off", of the Symmetric
Multi-processing Support (<filename>CONFIG_SMP</filename>) to "on".
This example changes the default behavior, which is "on", of the Symmetric
Multi-processing Support (<filename>CONFIG_SMP</filename>) to "off".
It is a simple example that demonstrates how to reconfigure the kernel.
</para>
@@ -518,9 +537,9 @@
in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source
Code</link>" you should already have the Yocto Project files set up on your
host machine.
If this is the case, go to then next section titled
If this is the case, go to the next section, which is titled
"<link linkend='examining-the-default-config-smp-behavior'>Examining the Default
<filename>CONFIG_SMP</filename> Behavior</link>" and continue with the
<filename>CONFIG_SMP</filename> Behavior</link>", and continue with the
example.
</para>
@@ -529,7 +548,7 @@
you can get them through tarball extraction or by
cloning the <filename>poky</filename> Git repository.
This example uses <filename>poky</filename> as the root directory of the
local Yocto Project files Git repository.
local <link linkend='yocto-project-files'>Yocto Project Files</link> Git repository.
See the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>"
for information on how to get these files.
@@ -545,13 +564,13 @@
$ git branch -a
$ git tag -l
</literallayout>
This example uses the Yocto Project 1.1.1 Release code named "&DISTRO_NAME;",
This example uses the Yocto Project &DISTRO; Release code named "&DISTRO_NAME;",
which maps to the <filename>&DISTRO_NAME;</filename> branch in the repository.
The following commands create and checkout the local <filename>&DISTRO_NAME;</filename>
branch:
<literallayout class='monospaced'>
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch edison set up to track remote branch &DISTRO_NAME; from origin.
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
@@ -612,11 +631,11 @@
<title>Examining the Default&nbsp;&nbsp;<filename>CONFIG_SMP</filename> Behavior</title>
<para>
By default, <filename>CONFIG_SMP</filename> supports single processor machines.
By default, <filename>CONFIG_SMP</filename> supports multiple processor machines.
To see this default setting from within the QEMU emulator, boot your image using
the emulator as follows:
<literallayout class='monospaced'>
$ runqemu qemux86 qemuparams="-smp 2"
$ runqemu qemux86 qemuparams="-smp 4"
</literallayout>
</para>
@@ -624,11 +643,25 @@
Login to the machine using <filename>root</filename> with no password.
After logging in, enter the following command to see how many processors are
being supported in the emulator.
The emulator reports support for a single processor:
The emulator reports support for the number of processors you specified using
the <filename>-smp</filename> option, four in this case:
<literallayout class='monospaced'>
# cat /proc/cpuinfo | grep processor
processor : 0
processor : 1
processor : 2
processor : 3
#
</literallayout>
To check the setting for <filename>CONFIG_SMP</filename>, you can use the
following command:
<literallayout class='monospaced'>
zcat /proc/config.gz | grep CONFIG_SMP
</literallayout>
The console returns the following showing that multi-processor machine support
is set:
<literallayout class='monospaced'>
CONFIG_SMP=y
</literallayout>
Logout of the emulator using the <filename>exit</filename> command and
then close it down.
@@ -654,15 +687,25 @@
<para>
After setting up the environment to run <filename>menuconfig</filename>, you are ready
to use the tool to interactively change the kernel configuration.
In this example, we are basing our changes on the <filename>linux-yocto-3.0-1.1.x</filename>
In this example, we are basing our changes on the <filename>linux-yocto-3.2</filename>
kernel.
The Yocto Project build environment recognizes this kernel as
<filename>linux-yocto</filename>.
Thus, the following command from the shell in which you previously sourced the
environment initialization script launches <filename>menuconfig</filename>:
Thus, the following commands from the shell in which you previously sourced the
environment initialization script cleans the shared state memory and the
<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>
directory and then builds and launches <filename>menuconfig</filename>:
<literallayout class='monospaced'>
$ bitbake linux-yocto -c cleansstate
$ bitbake linux-yocto -c menuconfig
</literallayout>
<note>
Due to a bug in the release, it is necessary to clean the shared state memory
in order for configurations made using <filename>menuconfig</filename> to take
effect.
For information on the bug, see
<ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=2256'></ulink>
</note>
</para>
<para>
@@ -671,7 +714,7 @@
You can find it at <filename>Processor Type and Features</filename>.
The configuration selection is
<filename>Symmetric Multi-processing Support</filename>.
After using the arrow keys to highlight this selection, press "y" to select it.
After using the arrow keys to highlight this selection, press "n" to turn it off.
Then, exit out and save your selections.
</para>
@@ -680,22 +723,25 @@
is updated.
This is the file that the build system uses to configure the Linux Yocto kernel
when it is built.
You can find and examine this file in the Yocto Project files Git repository in
You can find and examine this file in the Yocto Project Files Git repository in
the build directory.
This example uses the following.
Note that this example directory is artificially split and many of the characters
in the actually filename are omitted in order to make it more
readable:
This example uses the following:
<literallayout class='monospaced'>
~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-2.6.37+git1+84f...
...r20/linux-qemux86-standard-build
~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.2.11+git1+84f...
...656ed30-r1/linux-qemux86-standard-build
</literallayout>
<note>
The previous example directory is artificially split and many of the characters
in the actual filename are omitted in order to make it more readable.
Also, depending on the kernel you are using, the exact pathname might differ
slightly.
</note>
</para>
<para>
Within the <filename>.config</filename> file, you can see the following setting:
<literallayout class='monospaced'>
CONFIG_SMP=y
# CONFIG_SMP is not set
</literallayout>
</para>
@@ -729,11 +775,22 @@
$ bitbake linux-yocto
</literallayout>
</para>
<note>
Manually turning off a kernel configuration setting such as
<filename>CONFIG_SMP</filename> can cause the kernel configuration audit
to issue warnings during the build.
In this example, warnings appear telling you that the expected value
<filename>CONFIG_SMP</filename> does not appear in the <filename>.config</filename>
file.
Because in this example you specifically turned off <filename>CONFIG_SMP</filename>,
you can safely ignore the apparent conflict.
</note>
<para>
Now run the QEMU emulator:
Now run the QEMU emulator and pass it the same multi-processor option as before:
<literallayout class='monospaced'>
$ runqemu qemux86 qemuparams="-smp 2"
$ runqemu qemux86 qemuparams="-smp 4"
</literallayout>
</para>
@@ -743,13 +800,22 @@
<literallayout class='monospaced'>
# cat /proc/cpuinfo | grep processor
processor : 0
processor : 1
#
</literallayout>
</para>
<para>
From the output, you can see that you have successfully reconfigured the kernel.
From the output, you can see that the kernel no longer supports multi-processor systems.
The output indicates support for a single processor. You can verify the
<filename>CONFIG_SMP</filename> setting by using this command:
<literallayout class='monospaced'>
zcat /proc/config.gz | grep CONFIG_SMP
</literallayout>
The console returns the following output:
<literallayout class='monospaced'>
# CONFIG_SMP is not set
</literallayout>
You have successfully reconfigured the kernel.
</para>
</section>
</section>

View File

@@ -120,13 +120,15 @@
Crown Bay that does not support the <trademark class='registered'>Intel</trademark>
Embedded Media Graphics Driver (EMGD).
The remainder of this example uses that base BSP.</para>
<para>To see the supported BSPs, go to the Yocto Project
<ulink url='&YOCTO_DL_URL;/download'>download page</ulink> and click
on “BSP Downloads.”</para></listitem>
<para>To see the supported BSPs, go to the
<ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> page on the Yocto Project
website and click on “BSP Downloads.”</para></listitem>
<listitem><para><emphasis>Create your own BSP layer</emphasis>: Layers are ideal for
isolating and storing work for a given piece of hardware.
A layer is really just a location or area in which you place the recipes for your BSP.
A layer is really just a location or area in which you place the recipes for your BSP.
In fact, a BSP is, in itself, a special type of layer.
</para>
<para>
Another example that illustrates a layer is an application.
Suppose you are creating an application that has library or other dependencies in
order for it to compile and run.
@@ -134,16 +136,22 @@
are kept.
The key point for a layer is that it is an isolated area that contains
all the relevant information for the project that the Yocto Project build
system knows about.</para>
system knows about.
For more information on layers, see the
"<link linkend='understanding-and-creating-layers'>Understanding and Creating Layers</link>"
section.
For more information on BSP layers, see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>" section in the
Yocto Project Board Support Package (BSP) Developer's Guide.</para>
<note>The Yocto Project supports four BSPs that are part of the
Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>,
<filename>mpc8315e</filename>, and <filename>routerstationpro</filename>.
The recipes and configurations for these four BSPs are located and dispersed
within the local Yocto Project files.
Consequently, they are not totally isolated in the spirit of layers unless you think
of <filename>meta-yocto</filename> as a layer itself.
within the <link linkend='yocto-project-files'>Yocto Project Files</link>.
On the other hand, BSP layers for Crown Bay, Emenlow, Jasper Forest,
N450, and Sugar Bay are isolated.</note>
N450, Cedar Trail, Fish River, Fish River Island II, Romley, sys940x, tlk,
and Sugar Bay exist in their own separate layers within the larger
<filename>meta-intel</filename> layer.</note>
<para>When you set up a layer for a new BSP, you should follow a standard layout.
This layout is described in the section
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>"
@@ -235,7 +243,7 @@
<ulink url='&YOCTO_GIT_URL;'></ulink>.
If you look at the interface, you will see to the left a grouping of
Git repositories titled "Yocto Linux Kernel."
Within this group, you will find the four different kernels supported by
Within this group, you will find several kernels supported by
the Yocto Project:
<itemizedlist>
<listitem><para><emphasis><filename>linux-yocto-2.6.34</filename></emphasis> - The
@@ -247,6 +255,9 @@
<listitem><para><emphasis><filename>linux-yocto-3.0-1.1.x</filename></emphasis> - The
stable Linux Yocto kernel to use with the Yocto Project Release 1.1.x. This kernel
is based on the Linux 3.0 release</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.2</filename></emphasis> - The
stable Linux Yocto kernel to use with the Yocto Project Release 1.2. This kernel
is based on the Linux 3.2 release</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-dev</filename></emphasis> - A development
kernel based on the latest upstream release candidate available.</para></listitem>
</itemizedlist>
@@ -288,7 +299,7 @@
</para>
<note>
Keep in mind the figure does not take into account all four supported Linux Yocto
Keep in mind the figure does not take into account all the supported Linux Yocto
kernel types, but rather shows a single generic kernel just for conceptual purposes.
Also keep in mind that this structure represents the Yocto Project source repositories
that are either pulled from during the build or established on the host development system
@@ -325,7 +336,7 @@
</para>
<para>
<imagedata fileref="figures/kernel-overview-3.png"
<imagedata fileref="figures/kernel-overview-3-denzil.png"
width="6in" depth="4in" align="center" scale="100" />
</para>
@@ -363,11 +374,11 @@
<para>
Again, for a complete discussion of the Yocto Project kernel's architcture and its
branching strategy,
see the <ulink url='&YOCTO_DOCS_KERNEL_URL;'>
see <ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>.
Also, you can reference
<xref linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source Code</xref>
for a detailed example that modifies the kernel.
You can also reference the
"<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source Code</link>"
section for a detailed example that modifies the kernel.
</para>
</section>
@@ -461,7 +472,7 @@
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
changes to your kernel (configurations, source code changes, recipe additions,
or recipe changes), there remains a few things
you need to do in order for the Yocto Project build system to create your image.
you need to do in order for the Yocto Project build system (BitBake) to create your image.
If you have not done so, you need to get the build environment ready by sourcing
the environment setup script described earlier.
You also need to be sure two key configuration files
@@ -574,7 +585,7 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
You must have a target kernel image that has been built using the Yocto Project.</para>
<para>Depending on whether the Yocto Project has a pre-built image that matches your target
architecture and where you are going to run the image while you develop your application
(QEMU or real hardware), the area you get the image from differs.
(QEMU or real hardware), the area from which you get the image differs.
<itemizedlist>
<listitem><para>Download the image from
<ulink url='&YOCTO_MACHINES_DL_URL;'>
@@ -717,8 +728,8 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
<listitem><para>You can modify various policy settings such as the package format used to build with,
the parrallelism BitBake uses, whether or not to build an external toolchain, and which host
to build against.</para></listitem>
<listitem><para>You can manage <link linkend='understanding-and-creating-layers'>Understanding
and Creating layers</link>.</para></listitem>
<listitem><para>You can manage
<link linkend='understanding-and-creating-layers'>layers</link>.</para></listitem>
<listitem><para>You can select a base image and then add extra packages for your custom build.
</para></listitem>
<listitem><para>You can launch and monitor the build from within Hob.</para></listitem>

View File

@@ -335,7 +335,8 @@
The area is created when you <filename>source</filename> the Yocto Project setup
environment script that is found in the Yocto Project files area
(i.e. <filename>oe-init-build-env</filename>).
The <filename>TOPDIR</filename> variable points to the build directory.</para>
The <ulink url='&YOCTO_DOCS_REF_URL;#var-TOPDIR'><filename>TOPDIR</filename></ulink>
variable points to the build directory.</para>
<para>You have a lot of flexibility when creating the Yocto Project Build Directory.
Following are some examples that show how to create the directory:
@@ -494,7 +495,8 @@
Git uses "branches" to organize different development efforts.
For example, the <filename>poky</filename> repository has
<filename>laverne</filename>, <filename>bernard</filename>,
<filename>edison</filename>, and <filename>master</filename> branches among
<filename>edison</filename>, <filename>denzil</filename> and
<filename>master</filename> branches among
others.
You can see all the branches by going to
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/poky/'></ulink> and
@@ -525,7 +527,7 @@
$ cd ~
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git checkout &DISTRO_NAME; -b &DISTRO_NAME;
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
</literallayout>
In this example, the name of the top-level directory of your local Yocto Project
Files Git repository is <filename>poky</filename>.
@@ -577,14 +579,14 @@
$ cd ~
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git checkout &DISTRO_NAME;-&POKYVERSION; -b &DISTRO_NAME;-&POKYVERSION;
$ git checkout -b my-&DISTRO_NAME;-&POKYVERSION; &DISTRO_NAME;-&POKYVERSION;
</literallayout>
In this example, the name of the top-level directory of your local Yocto Project
Files Git repository is <filename>poky</filename>.
And, the name of the local branch you have created and checked out is
<filename>&DISTRO_NAME;-&POKYVERSION;</filename>.
<filename>my-&DISTRO_NAME;-&POKYVERSION;</filename>.
The files in your repository now exactly match the Yocto Project &DISTRO;
Release tag (&DISTRO_NAME;).
Release tag (<filename>&DISTRO_NAME;-&POKYVERSION;</filename>).
It is important to understand that when you create and checkout a local
working branch based on a tag, your environment matches a specific point
in time and not a development branch.

View File

@@ -31,7 +31,8 @@
</para>
<para>
You can use the Yocto Project, which uses the BitBake build tool, to develop complete Linux
You can use the Yocto Project build system, which uses
<ulink url='http://bitbake.berlios.de/manual/'>BitBake</ulink>, to develop complete Linux
images and associated user-space applications for architectures based on ARM, MIPS, PowerPC,
x86 and x86-64.
While the Yocto Project does not provide a strict testing framework,
@@ -109,11 +110,11 @@
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Initialized empty Git repository in /home/scottrif/poky/.git/
remote: Counting objects: 116882, done.
remote: Compressing objects: 100% (35987/35987), done.
remote: Total 116882 (delta 80651), reused 113045 (delta 77578)
Receiving objects: 100% (116882/116882), 72.13 MiB | 2.68 MiB/s, done.
Resolving deltas: 100% (80651/80651), done.
remote: Counting objects: 141863, done.
remote: Compressing objects: 100% (38624/38624), done.
remote: Total 141863 (delta 99661), reused 141816 (delta 99614)
Receiving objects: 100% (141863/141863), 76.64 MiB | 126 KiB/s, done.
Resolving deltas: 100% (99661/99661), done.
</literallayout></para>
<para>For another example of how to set up your own local Git repositories, see this
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
@@ -132,29 +133,29 @@
For simplicity, it is recommended that you create these structures outside of the
Yocto Project Files Git repository.</para>
<para>As an example, the following transcript shows how to create the bare clone
of the <filename>linux-yocto-3.0-1.1.x</filename> kernel and then create a copy of
of the <filename>linux-yocto-3.2</filename> kernel and then create a copy of
that clone.
<note>When you have a local Linux Yocto kernel Git repository, you can
reference that repository rather than the upstream Git repository as
part of the <filename>clone</filename> command.
Doing so can speed up the process.</note></para>
<para>In the following example, the bare clone is named
<filename>linux-yocto-3.0-1.1.x.git</filename>, while the
copy is named <filename>my-linux-yocto-3.0-1.1.x-work</filename>:
<filename>linux-yocto-3.2.git</filename>, while the
copy is named <filename>my-linux-yocto-3.2-work</filename>:
<literallayout class='monospaced'>
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.0-1.1.x linux-yocto-3.0-1.1.x.git
Initialized empty Git repository in /home/scottrif/linux-yocto-3.0-1.1.x.git/
remote: Counting objects: 2259181, done.
remote: Compressing objects: 100% (373259/373259), done.
remote: Total 2259181 (delta 1892638), reused 2231556 (delta 1865300)
Receiving objects: 100% (2259181/2259181), 482.44 MiB | 580 KiB/s, done.
Resolving deltas: 100% (1892638/1892638), done.
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.2 linux-yocto-3.2.git
Initialized empty Git repository in /home/scottrif/linux-yocto-3.2.git/
remote: Counting objects: 2468027, done.
remote: Compressing objects: 100% (392255/392255), done.
remote: Total 2468027 (delta 2071693), reused 2448773 (delta 2052498)
Receiving objects: 100% (2468027/2468027), 530.46 MiB | 129 KiB/s, done.
Resolving deltas: 100% (2071693/2071693), done.
</literallayout></para>
<para>Now create a clone of the bare clone just created:
<literallayout class='monospaced'>
$ git clone linux-yocto-3.0-1.1.x.git my-linux-yocto-3.0-1.1.x-work
Initialized empty Git repository in /home/scottrif/my-linux-yocto-3.0-1.1.x/.git/
Checking out files: 100% (36898/36898), done.
$ git clone linux-yocto-3.2.git my-linux-yocto-3.2-work
Initialized empty Git repository in /home/scottrif/my-linux-yocto-3.2-work/.git/
Checking out files: 100% (37619/37619), done.
</literallayout></para></listitem>
<listitem id='poky-extras-repo'><para><emphasis>
The <filename>poky-extras</filename> Git Repository</emphasis>:
@@ -175,14 +176,13 @@
repository inside the Yocto Project files Git repository, which is named
<filename>poky</filename> in this case:
<literallayout class='monospaced'>
$ cd ~/poky
$ git clone git://git.yoctoproject.org/poky-extras poky-extras
Initialized empty Git repository in /home/scottrif/poky/poky-extras/.git/
remote: Counting objects: 561, done.
remote: Compressing objects: 100% (501/501), done.
remote: Total 561 (delta 159), reused 306 (delta 39)
Receiving objects: 100% (561/561), 519.96 KiB | 479 KiB/s, done.
Resolving deltas: 100% (159/159), done.
remote: Counting objects: 618, done.
remote: Compressing objects: 100% (558/558), done.
remote: Total 618 (delta 192), reused 307 (delta 39)
Receiving objects: 100% (618/618), 526.26 KiB | 111 KiB/s, done.
Resolving deltas: 100% (192/192), done.
</literallayout></para></listitem>
<listitem><para id='supported-board-support-packages-(bsps)'><emphasis>Supported Board
Support Packages (BSPs):</emphasis>
@@ -231,14 +231,13 @@
<filename>meta-intel</filename>
Git repository inside the <filename>poky</filename> Git repository.
<literallayout class='monospaced'>
$ cd poky
$ git clone git://git.yoctoproject.org/meta-intel.git
Initialized empty Git repository in /home/scottrif/poky/meta-intel/.git/
remote: Counting objects: 1325, done.
remote: Compressing objects: 100% (1078/1078), done.
remote: Total 1325 (delta 546), reused 85 (delta 27)
Receiving objects: 100% (1325/1325), 1.56 MiB | 330 KiB/s, done.
Resolving deltas: 100% (546/546), done.
remote: Counting objects: 3380, done.
remote: Compressing objects: 100% (2750/2750), done.
remote: Total 3380 (delta 1689), reused 227 (delta 113)
Receiving objects: 100% (3380/3380), 1.77 MiB | 128 KiB/s, done.
Resolving deltas: 100% (1689/1689), done.
</literallayout></para>
<para>The same
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>

View File

@@ -36,8 +36,13 @@
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>TBD 2012</date>
<revremark>Work in progress for the Yocto Project 1.2 Release.</revremark>
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.2.1</revnumber>
<date>July 2012</date>
<revremark>Released with the Yocto Project 1.2.1 Release.</revremark>
</revision>
</revhistory>

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -51,8 +51,13 @@
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>TBD 2012</date>
<revremark>Work in progress for the Yocto Project 1.2 Release.</revremark>
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.2.1</revnumber>
<date>July 2012</date>
<revremark>Released with the Yocto Project 1.2.1 Release.</revremark>
</revision>
</revhistory>

View File

@@ -65,8 +65,13 @@
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>TBD 2012</date>
<revremark>Work in progress for the Yocto Project 1.2 Release.</revremark>
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.2.1</revnumber>
<date>July 2012</date>
<revremark>Released with the Yocto Project 1.2.1 Release.</revremark>
</revision>
</revhistory>

View File

@@ -106,6 +106,14 @@
instead of X11.
In order to build, this image requires specific distro configuration that enables
<filename>gtk</filename> over <filename>directfb</filename>.</para></listitem>
<listitem><para><emphasis><filename>self-hosted-image</filename>:</emphasis>
An image you can run using the Yocto Project Build Appliance.
The image is suitable to load and boot from either
<ulink url='http://www.vmware.com/products/player/overview.html'>VMware Player</ulink>
or <ulink url='http://www.vmware.com/products/workstation/overview.html'>VMWare Workstation</ulink>.
For more information on the Build Appliance, see the
<ulink url='&YOCTO_HOME_URL;/documentation/build-appliance'>Build Appliance</ulink> page on
the Yocto Project website.</para></listitem>
</itemizedlist>
<tip>

View File

@@ -1,7 +1,7 @@
<!ENTITY DISTRO "1.2">
<!ENTITY DISTRO "1.2.1">
<!ENTITY DISTRO_NAME "denzil">
<!ENTITY YOCTO_DOC_VERSION "latest">
<!ENTITY POKYVERSION "7.0">
<!ENTITY YOCTO_DOC_VERSION "current">
<!ENTITY POKYVERSION "7.0.1">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2012">
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">

View File

@@ -21,15 +21,23 @@
</para>
<para>
If you know all about open-source development, Linux development environments, Git source
repositories and the like and you just want some quick information that lets you try out
the Yocto Project, skip right to the "<link linkend='super-user'>Super User</link>" section at
the end of this quick start.
Otherwise, keep reading...
If you don't have a system that runs Linux and you want to give the Yocto Project a test run,
you might consider using the Yocto Project Build Appliance.
The Build Appliance allows you to build and boot a custom embedded Linux image with the Yocto
Project using a non-Linux development system.
See the <ulink url='http://www.yoctoproject.org/documentation/build-appliance'>Yocto
Project Build Appliance</ulink> for more information.
</para>
<para>
This short document will give you some basic information about the environment and
On the other hand, if you know all about open-source development, Linux development environments,
Git source repositories and the like and you just want some quick information that lets you try out
the Yocto Project on your Linux system, skip right to the
"<link linkend='super-user'>Super User</link>" section at the end of this quick start.
</para>
<para>
For the rest of you, this short document will give you some basic information about the environment and
let you experience it in its simplest form.
After reading this document, you will have a basic understanding of what the Yocto Project is
and how to use some of its core components.
@@ -220,11 +228,11 @@
</para>
<literallayout class='monospaced'>
$ sudo apt-get install sed wget cvs subversion git-core coreutils \
$ sudo apt-get install sed wget subversion git-core coreutils \
unzip texi2html texinfo libsdl1.2-dev docbook-utils fop gawk \
python-pysqlite2 diffstat help2man make gcc build-essential xsltproc \
python-pysqlite2 diffstat make gcc build-essential xsltproc \
g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \
mercurial autoconf automake groff libtool xterm libxml-parser-perl
autoconf automake groff libtool xterm libxml-parser-perl
</literallayout>
</section>
@@ -238,26 +246,16 @@
<literallayout class='monospaced'>
$ sudo yum groupinstall "development tools"
$ sudo yum install python m4 make wget curl ftp hg tar bzip2 gzip \
unzip python-psyco perl texinfo texi2html diffstat openjade \
$ sudo yum install python m4 make wget curl ftp tar bzip2 gzip \
unzip perl texinfo texi2html diffstat openjade \
docbook-style-dsssl sed docbook-style-xsl docbook-dtds fop xsltproc \
docbook-utils sed bc eglibc-devel ccache pcre pcre-devel quilt \
groff linuxdoc-tools patch linuxdoc-tools cmake help2man \
groff linuxdoc-tools patch cmake \
perl-ExtUtils-MakeMaker tcl-devel gettext chrpath ncurses apr \
SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \
autoconf automake libtool xterm
</literallayout>
<note><para>
If you are using a Fedora version prior to version 15, you will need to take some
extra steps to enable <filename>sudo</filename>, or you will need to run
the commands as root user.
See the <ulink url='https://fedoraproject.org/wiki/Configuring_Sudo'>Configuring Sudo</ulink>
wiki page for details.
For information on other dependencies you will need to install, see the Fedora section on the
<ulink url='&YOCTO_WIKI_URL;/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink>
wiki page.
</para></note>
</section>
<section id='opensuse'>
@@ -270,8 +268,8 @@
<literallayout class='monospaced'>
$ sudo zypper install python gcc gcc-c++ libtool fop \
subversion git chrpath automake make wget help2man xsltproc \
diffstat texinfo mercurial freeglut-devel libSDL-devel
subversion git chrpath automake make wget xsltproc \
diffstat texinfo freeglut-devel libSDL-devel
</literallayout>
</section>
@@ -290,7 +288,7 @@
unzip perl texinfo texi2html diffstat openjade zlib-devel \
docbook-style-dsssl sed docbook-style-xsl docbook-dtds \
docbook-utils bc glibc-devel pcre pcre-devel \
groff linuxdoc-tools patch linuxdoc-tools cmake \
groff linuxdoc-tools patch cmake \
tcl-devel gettext ncurses apr \
SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \
autoconf automake libtool xterm
@@ -336,7 +334,7 @@
<title>A Quick Test Run</title>
<para>
Now that you have your system requirements in order, you can give Yocto Project a try.
Now that you have your system requirements in order, you can give the Yocto Project a try.
This section presents some steps that let you do the following:
</para>
@@ -403,7 +401,7 @@
Adding this statement deletes the work directory used for building a package
once the package is built.
<literallayout class='monospaced'>
INHERIT += rm_work
INHERIT += "rm_work"
</literallayout>
</para></tip>
@@ -412,8 +410,8 @@
release tarball from the source repositories using the
<filename>wget</filename> command.
Alternatively, you can go to the
<ulink url='&YOCTO_HOME_URL;/download'>Yocto Project website</ulink>
Downloads page to retrieve the tarball.</para></listitem>
<ulink url='&YOCTO_HOME_URL;/download'>Yocto Project website's Downloads page</ulink>
to retrieve the tarball.</para></listitem>
<listitem><para>The second command extracts the files from the tarball and places
them into a directory named <filename>&YOCTO_POKY;</filename> in the current
directory.</para></listitem>
@@ -632,7 +630,7 @@
You must use the <filename>ext3</filename> form when booting an image using the
QEMU emulator.
The <filename>tar</filename> form can be flattened out in your host development system
and used for Yocto Project build purposes.
and used for build purposes with the Yocto Project.
<literallayout class='monospaced'>
core-image-&lt;<emphasis>profile</emphasis>&gt;-qemu&lt;<emphasis>arch</emphasis>&gt;.ext3
core-image-&lt;<emphasis>profile</emphasis>&gt;-qemu&lt;<emphasis>arch</emphasis>&gt;.tar.bz2
@@ -686,11 +684,13 @@
<para>
Continuing with the example, the following two commands setup the emulation
environment and launch QEMU.
This example assumes the root filesystem tarball has been downloaded and expanded, and
that the kernel and filesystem are for a 32-bit target architecture.
This example assumes the root filesystem (<filename>.ext3</filename> file) and
the pre-built kernel image file both reside in your home directory.
The kernel and filesystem are for a 32-bit target architecture.
<literallayout class='monospaced'>
$ source &YOCTO_ADTPATH_DIR;/environment-setup-i686-poky-linux
$ runqemu qemux86 bzImage-qemux86-&DISTRO;.bin \
$ cd $HOME
$ source &YOCTO_ADTPATH_DIR;/environment-setup-i586-poky-linux
$ runqemu qemux86 bzImage-qemux86.bin \
core-image-sato-qemux86.ext3
</literallayout>
</para>

View File

@@ -64,16 +64,6 @@ ASSUME_PROVIDED += "pkgconfig$"
# Comment out any of the lines below to disable them in the build
DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt"
# Building meta-toolchain currently imposes some additional requirements:
# If you do not plan to build meta-toolchain, you can save ~461KB by
# commenting out the DISTRO_FEATURES_LIBC_TOOLCHAIN assignment
# gettext needs wchar, m4 needs spawn and locale, elfutils needs ftraverse
DISTRO_FEATURES_LIBC_TOOLCHAIN = "libc-posix-clang-wchar \
libc-spawn libc-locale-code \
libc-ftraverse libc-libm-big \
libc-posix-regexp-glibc \
"
# Required for "who"
DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-getlogin"
DISTRO_FEATURES_LIBC_REGEX = "libc-posix-regexp"
@@ -83,7 +73,6 @@ DISTRO_FEATURES_LIBC = "${DISTRO_FEATURES_LIBC_TINY} \
${DISTRO_FEATURES_LIBC_MINIMAL} \
${DISTRO_FEATURES_LIBC_REGEX} \
${DISTRO_FEATURES_LIBC_NET} \
${DISTRO_FEATURES_LIBC_TOOLCHAIN} \
"
# Comment out any of the lines below to disable them in the build
@@ -125,3 +114,8 @@ IMAGE_FSTYPES = "ext2 cpio.gz"
# variants of all compatible machines, but that leads to a lot
# more machine configs to maintain long term.
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = ""
# The mtrace script included by eglibc is a perl script. This means the system
# will build perl in case this package is installed. Since we don't care about
# this script for the purposes of tiny, remove the dependency from here.
RDEPENDS_${PN}-mtrace_pn-eglibc = ""

View File

@@ -1,8 +1,8 @@
DISTRO = "poky"
DISTRO_NAME = "Yocto (Built by Poky 6.0)"
DISTRO_VERSION = "1.1+snapshot-${DATE}"
DISTRO_NAME = "Yocto (Built by Poky 7.0.1)"
DISTRO_VERSION = "1.2.1"
SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
SDK_VERSION := "${DISTRO_VERSION}"
MAINTAINER = "Poky <poky@yoctoproject.org>"
@@ -69,7 +69,7 @@ SANITY_TESTED_DISTROS ?= " \
Yocto (Built by Poky 7.0) 1.2 \n \
Ubuntu 10.04.4 LTS \n \
Ubuntu 11.10 \n \
Ubuntu 12.04 \n \
Ubuntu 12.04 LTS \n \
Fedora release 15 (Lovelock) \n \
Fedora release 16 (Verne) \n \
Fedora release 17 (Beefy Miracle) \n \

View File

@@ -1 +1 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"

View File

@@ -402,7 +402,7 @@ buildhistory_commit() {
git add ${BUILDHISTORY_DIR}/*
HOSTNAME=`hostname 2>/dev/null || echo unknown`
# porcelain output looks like "?? packages/foo/bar"
for entry in `echo $repostatus | awk '{print $2}' | awk -F/ '{print $1}' | sort | uniq` ; do
for entry in `echo "$repostatus" | awk '{print $2}' | awk -F/ '{print $1}' | sort | uniq` ; do
git commit ${BUILDHISTORY_DIR}/$entry -m "$entry: Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $HOSTNAME" --author "${BUILDHISTORY_COMMIT_AUTHOR}" > /dev/null
done
if [ "${BUILDHISTORY_PUSH_REPO}" != "" ] ; then

View File

@@ -1,10 +1,18 @@
DEPENDS += "gconf gconf-native"
# This is referenced by the gconf m4 macros and would default to the value hardcoded
# into gconf at compile time otherwise
# These are for when gconftool is used natively and the prefix isn't necessarily
# the sysroot. TODO: replicate the postinst logic for -native packages going
# into sysroot as they won't be running their own install-time schema
# registration (disabled below) nor the postinst script (as they don't happen).
export GCONF_SCHEMA_INSTALL_SOURCE = "xml:merged:${STAGING_DIR_NATIVE}${sysconfdir}/gconf/gconf.xml.defaults"
export GCONF_BACKEND_DIR = "${STAGING_LIBDIR_NATIVE}/GConf/2"
# Disable install-time schema registration as we're a packaging system so this
# happens in the postinst script, not at install time. Set both the configure
# script option and the traditional envionment variable just to make sure.
EXTRA_OECONF += "--disable-schemas-install"
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL = "1"
gconf_postinst() {
if [ "x$D" != "x" ]; then
exit 1

View File

@@ -15,7 +15,7 @@ def gettext_oeconf(d):
return '--disable-nls'
return "--enable-nls"
DEPENDS_GETTEXT = "virtual/gettext gettext-native"
DEPENDS_GETTEXT ??= "virtual/gettext gettext-native"
BASEDEPENDS =+ "${@gettext_dependencies(d)}"
EXTRA_OECONF_append = " ${@gettext_oeconf(d)}"

View File

@@ -131,6 +131,7 @@ PSEUDO_PASSWD = "${IMAGE_ROOTFS}"
do_rootfs[nostamp] = "1"
do_rootfs[dirs] = "${TOPDIR}"
do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"
do_rootfs[cleandirs] += "${S}"
do_build[nostamp] = "1"
# Must call real_do_rootfs() from inside here, rather than as a separate

View File

@@ -276,9 +276,7 @@ fi
}
pkg_postinst_modules () {
if [ -n "$D" ]; then
${HOST_PREFIX}depmod -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
else
if [ -z "$D" ]; then
depmod -a
update-modules || true
fi

View File

@@ -1,5 +1,5 @@
MIRRORS += "\
${DEBIAN_MIRROR}/main http://snapshot.debian.net/archive/pool \n \
${DEBIAN_MIRROR}/main http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool/ \n \
${DEBIAN_MIRROR} ftp://ftp.de.debian.org/debian/pool \n \
${DEBIAN_MIRROR} ftp://ftp.au.debian.org/debian/pool \n \
${DEBIAN_MIRROR} ftp://ftp.cl.debian.org/debian/pool \n \

View File

@@ -37,15 +37,14 @@ module_do_install() {
}
pkg_postinst_append () {
if [ -n "$D" ]; then
exit 1
fi
if [ -z "$D" ]; then
depmod -a
update-modules || true
fi
}
pkg_postrm_append () {
update-modules || true
update-modules || true
}
EXPORT_FUNCTIONS do_compile do_install

View File

@@ -870,6 +870,14 @@ python split_and_strip_files () {
elf_file = int(file_list[file][5:])
#bb.note("Strip %s" % file)
runstrip(file, elf_file, d)
if (d.getVar('INHIBIT_PACKAGE_STRIP', True) != '1'):
for root, dirs, files in os.walk(dvar):
for f in files:
if not f.endswith(".ko"):
continue
runstrip(os.path.join(root, f), None, d)
#
# End of strip
#

View File

@@ -1,7 +1,7 @@
# Copyright (C) 2006 OpenedHand LTD
# Point to an empty file so any user's custom settings don't break things
QUILTRCFILE ?= "${STAGING_BINDIR_NATIVE}/quiltrc"
QUILTRCFILE ?= "${STAGING_ETCDIR_NATIVE}/quiltrc"
PATCHDEPENDENCY = "${PATCHTOOL}-native:do_populate_sysroot"

View File

@@ -4,7 +4,16 @@
SANITY_REQUIRED_UTILITIES ?= "patch diffstat texi2html makeinfo svn bzip2 tar gzip gawk chrpath wget cpio"
def raise_sanity_error(msg):
def raise_sanity_error(msg, d):
if d.getVar("SANITY_USE_EVENTS", True) == "1":
# FIXME: handle when BitBake version is too old to support bb.event.SanityCheckFailed
# We can just fire the event directly once the minimum version is bumped beyond 1.15.1
try:
bb.event.fire(bb.event.SanityCheckFailed(msg), d)
return
except AttributeError:
pass
bb.fatal(""" OE-core's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:
@@ -112,8 +121,8 @@ def check_connectivity(d):
return retval
def check_supported_distro(e):
tested_distros = e.data.getVar('SANITY_TESTED_DISTROS', True)
def check_supported_distro(sanity_data):
tested_distros = sanity_data.getVar('SANITY_TESTED_DISTROS', True)
if not tested_distros:
return
@@ -160,26 +169,26 @@ def check_supported_distro(e):
bb.warn('Host distribution could not be determined; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.')
# Checks we should only make if MACHINE is set correctly
def check_sanity_validmachine(e):
def check_sanity_validmachine(sanity_data):
from bb import data
messages = ""
# Check TUNE_ARCH is set
if data.getVar('TUNE_ARCH', e.data, True) == 'INVALID':
if data.getVar('TUNE_ARCH', sanity_data, True) == 'INVALID':
messages = messages + 'TUNE_ARCH is unset. Please ensure your MACHINE configuration includes a valid tune configuration file which will set this correctly.\n'
# Check TARGET_ARCH is set correctly
if data.getVar('TARGE_ARCH', e.data, False) == '${TUNE_ARCH}':
if data.getVar('TARGE_ARCH', sanity_data, False) == '${TUNE_ARCH}':
messages = messages + 'TARGET_ARCH is being overwritten, likely by your MACHINE configuration files.\nPlease use a valid tune configuration file which should set this correctly automatically\nand avoid setting this in the machine configuration. See the OE-Core mailing list for more information.\n'
# Check TARGET_OS is set
if data.getVar('TARGET_OS', e.data, True) == 'INVALID':
if data.getVar('TARGET_OS', sanity_data, True) == 'INVALID':
messages = messages + 'Please set TARGET_OS directly, or choose a MACHINE or DISTRO that does so.\n'
# Check that we don't have duplicate entries in PACKAGE_ARCHS & that TUNE_PKGARCH is in PACKAGE_ARCHS
pkgarchs = data.getVar('PACKAGE_ARCHS', e.data, True)
tunepkg = data.getVar('TUNE_PKGARCH', e.data, True)
pkgarchs = data.getVar('PACKAGE_ARCHS', sanity_data, True)
tunepkg = data.getVar('TUNE_PKGARCH', sanity_data, True)
tunefound = False
seen = {}
dups = []
@@ -201,7 +210,7 @@ def check_sanity_validmachine(e):
return messages
def check_sanity(e):
def check_sanity(sanity_data):
from bb import note, error, data, __version__
try:
@@ -211,7 +220,7 @@ def check_sanity(e):
import commands
# Check the bitbake version meets minimum requirements
minversion = data.getVar('BB_MIN_VERSION', e.data , True)
minversion = data.getVar('BB_MIN_VERSION', sanity_data , True)
if not minversion:
# Hack: BB_MIN_VERSION hasn't been parsed yet so return
# and wait for the next call
@@ -219,7 +228,7 @@ def check_sanity(e):
return
if 0 == os.getuid():
raise_sanity_error("Do not use Bitbake as root.")
raise_sanity_error("Do not use Bitbake as root.", sanity_data)
messages = ""
@@ -233,42 +242,42 @@ def check_sanity(e):
messages = messages + 'Bitbake version %s is required and version %s was found\n' % (minversion, __version__)
# Check that the MACHINE is valid, if it is set
if data.getVar('MACHINE', e.data, True):
if not check_conf_exists("conf/machine/${MACHINE}.conf", e.data):
if data.getVar('MACHINE', sanity_data, True):
if not check_conf_exists("conf/machine/${MACHINE}.conf", sanity_data):
messages = messages + 'Please set a valid MACHINE in your local.conf or environment\n'
else:
messages = messages + check_sanity_validmachine(e)
messages = messages + check_sanity_validmachine(sanity_data)
else:
messages = messages + 'Please set a MACHINE in your local.conf or environment\n'
# Check we are using a valid lacal.conf
current_conf = data.getVar('CONF_VERSION', e.data, True)
conf_version = data.getVar('LOCALCONF_VERSION', e.data, True)
current_conf = data.getVar('CONF_VERSION', sanity_data, True)
conf_version = data.getVar('LOCALCONF_VERSION', sanity_data, True)
if current_conf != conf_version:
messages = messages + "Your version of local.conf was generated from an older version of local.conf.sample and there have been updates made to this file. Please compare the two files and merge any changes before continuing.\nMatching the version numbers will remove this message.\n\"meld conf/local.conf conf/local.conf.sample\" is a good way to visualise the changes.\n"
# Check bblayers.conf is valid
current_lconf = data.getVar('LCONF_VERSION', e.data, True)
lconf_version = data.getVar('LAYER_CONF_VERSION', e.data, True)
current_lconf = data.getVar('LCONF_VERSION', sanity_data, True)
lconf_version = data.getVar('LAYER_CONF_VERSION', sanity_data, True)
if current_lconf != lconf_version:
messages = messages + "Your version of bblayers.conf was generated from an older version of bblayers.conf.sample and there have been updates made to this file. Please compare the two files and merge any changes before continuing.\nMatching the version numbers will remove this message.\n\"meld conf/bblayers.conf conf/bblayers.conf.sample\" is a good way to visualise the changes.\n"
# If we have a site.conf, check it's valid
if check_conf_exists("conf/site.conf", e.data):
current_sconf = data.getVar('SCONF_VERSION', e.data, True)
sconf_version = data.getVar('SITE_CONF_VERSION', e.data, True)
if check_conf_exists("conf/site.conf", sanity_data):
current_sconf = data.getVar('SCONF_VERSION', sanity_data, True)
sconf_version = data.getVar('SITE_CONF_VERSION', sanity_data, True)
if current_sconf != sconf_version:
messages = messages + "Your version of site.conf was generated from an older version of site.conf.sample and there have been updates made to this file. Please compare the two files and merge any changes before continuing.\nMatching the version numbers will remove this message.\n\"meld conf/site.conf conf/site.conf.sample\" is a good way to visualise the changes.\n"
assume_provided = data.getVar('ASSUME_PROVIDED', e.data , True).split()
assume_provided = data.getVar('ASSUME_PROVIDED', sanity_data , True).split()
# Check user doesn't have ASSUME_PROVIDED = instead of += in local.conf
if "diffstat-native" not in assume_provided:
messages = messages + 'Please use ASSUME_PROVIDED +=, not ASSUME_PROVIDED = in your local.conf\n'
# Check that DL_DIR is set, exists and is writable. In theory, we should never even hit the check if DL_DIR isn't
# set, since so much relies on it being set.
dldir = data.getVar('DL_DIR', e.data, True)
dldir = data.getVar('DL_DIR', sanity_data, True)
if not dldir:
messages = messages + "DL_DIR is not set. Your environment is misconfigured, check that DL_DIR is set, and if the directory exists, that it is writable. \n"
if os.path.exists(dldir) and not os.access(dldir, os.W_OK):
@@ -276,32 +285,32 @@ def check_sanity(e):
# Check that the DISTRO is valid, if set
# need to take into account DISTRO renaming DISTRO
distro = data.getVar('DISTRO', e.data, True)
distro = data.getVar('DISTRO', sanity_data, True)
if distro:
if not ( check_conf_exists("conf/distro/${DISTRO}.conf", e.data) or check_conf_exists("conf/distro/include/${DISTRO}.inc", e.data) ):
messages = messages + "DISTRO '%s' not found. Please set a valid DISTRO in your local.conf\n" % data.getVar("DISTRO", e.data, True )
if not ( check_conf_exists("conf/distro/${DISTRO}.conf", sanity_data) or check_conf_exists("conf/distro/include/${DISTRO}.inc", sanity_data) ):
messages = messages + "DISTRO '%s' not found. Please set a valid DISTRO in your local.conf\n" % data.getVar("DISTRO", sanity_data, True )
missing = ""
if not check_app_exists("${MAKE}", e.data):
if not check_app_exists("${MAKE}", sanity_data):
missing = missing + "GNU make,"
if not check_app_exists('${BUILD_PREFIX}gcc', e.data):
missing = missing + "C Compiler (%sgcc)," % data.getVar("BUILD_PREFIX", e.data, True)
if not check_app_exists('${BUILD_PREFIX}gcc', sanity_data):
missing = missing + "C Compiler (%sgcc)," % data.getVar("BUILD_PREFIX", sanity_data, True)
if not check_app_exists('${BUILD_PREFIX}g++', e.data):
missing = missing + "C++ Compiler (%sg++)," % data.getVar("BUILD_PREFIX", e.data, True)
if not check_app_exists('${BUILD_PREFIX}g++', sanity_data):
missing = missing + "C++ Compiler (%sg++)," % data.getVar("BUILD_PREFIX", sanity_data, True)
required_utilities = e.data.getVar('SANITY_REQUIRED_UTILITIES', True)
required_utilities = sanity_data.getVar('SANITY_REQUIRED_UTILITIES', True)
if "qemu-native" in assume_provided:
if not check_app_exists("qemu-arm", e.data):
if not check_app_exists("qemu-arm", sanity_data):
messages = messages + "qemu-native was in ASSUME_PROVIDED but the QEMU binaries (qemu-arm) can't be found in PATH"
if "." in data.getVar('PATH', e.data, True).split(":"):
if "." in data.getVar('PATH', sanity_data, True).split(":"):
messages = messages + "PATH contains '.' which will break the build, please remove this"
if data.getVar('TARGET_ARCH', e.data, True) == "arm":
if data.getVar('TARGET_ARCH', sanity_data, True) == "arm":
# This path is no longer user-readable in modern (very recent) Linux
try:
if os.path.exists("/proc/sys/vm/mmap_min_addr"):
@@ -315,7 +324,7 @@ def check_sanity(e):
pass
for util in required_utilities.split():
if not check_app_exists( util, e.data ):
if not check_app_exists( util, sanity_data ):
missing = missing + "%s," % util
if missing != "":
@@ -326,10 +335,10 @@ def check_sanity(e):
if pseudo_msg != "":
messages = messages + pseudo_msg + '\n'
check_supported_distro(e)
check_supported_distro(sanity_data)
# Check if DISPLAY is set if IMAGETEST is set
if not data.getVar( 'DISPLAY', e.data, True ) and data.getVar( 'IMAGETEST', e.data, True ) == 'qemu':
if not data.getVar( 'DISPLAY', sanity_data, True ) and data.getVar( 'IMAGETEST', sanity_data, True ) == 'qemu':
messages = messages + 'qemuimagetest needs a X desktop to start qemu, please set DISPLAY correctly (e.g. DISPLAY=:1.0)\n'
omask = os.umask(022)
@@ -337,11 +346,11 @@ def check_sanity(e):
messages = messages + "Please use a umask which allows a+rx and u+rwx\n"
os.umask(omask)
oes_bb_conf = data.getVar( 'OES_BITBAKE_CONF', e.data, True )
oes_bb_conf = data.getVar( 'OES_BITBAKE_CONF', sanity_data, True )
if not oes_bb_conf:
messages = messages + 'You do not include OpenEmbeddeds version of conf/bitbake.conf. This means your environment is misconfigured, in particular check BBPATH.\n'
nolibs = data.getVar('NO32LIBS', e.data, True)
nolibs = data.getVar('NO32LIBS', sanity_data, True)
if not nolibs:
lib32path = '/lib'
if os.path.exists('/lib64') and ( os.path.islink('/lib64') or os.path.islink('/lib') ):
@@ -350,8 +359,8 @@ def check_sanity(e):
if os.path.exists('%s/libc.so.6' % lib32path) and not os.path.exists('/usr/include/gnu/stubs-32.h'):
messages = messages + "You have a 32-bit libc, but no 32-bit headers. You must install the 32-bit libc headers.\n"
tmpdir = data.getVar('TMPDIR', e.data, True)
sstate_dir = data.getVar('SSTATE_DIR', e.data, True)
tmpdir = data.getVar('TMPDIR', sanity_data, True)
sstate_dir = data.getVar('SSTATE_DIR', sanity_data, True)
# Check saved sanity info
last_sanity_version = 0
@@ -368,16 +377,16 @@ def check_sanity(e):
if line.startswith('SSTATE_DIR'):
last_sstate_dir = line.split()[1]
sanity_version = int(data.getVar('SANITY_VERSION', e.data, True) or 1)
sanity_version = int(data.getVar('SANITY_VERSION', sanity_data, True) or 1)
if last_sanity_version < sanity_version:
messages = messages + check_sanity_version_change(e.data)
messages = messages + check_sanity_tmpdir_change(tmpdir, e.data)
messages = messages + check_sanity_sstate_dir_change(sstate_dir, e.data)
messages = messages + check_sanity_version_change(sanity_data)
messages = messages + check_sanity_tmpdir_change(tmpdir, sanity_data)
messages = messages + check_sanity_sstate_dir_change(sstate_dir, sanity_data)
else:
if last_tmpdir != tmpdir:
messages = messages + check_sanity_tmpdir_change(tmpdir, e.data)
messages = messages + check_sanity_tmpdir_change(tmpdir, sanity_data)
if last_sstate_dir != sstate_dir:
messages = messages + check_sanity_sstate_dir_change(sstate_dir, e.data)
messages = messages + check_sanity_sstate_dir_change(sstate_dir, sanity_data)
if os.path.exists("conf") and not messages:
f = file(sanityverfile, 'w')
@@ -402,8 +411,8 @@ def check_sanity(e):
#
# Check the 'ABI' of TMPDIR
#
current_abi = data.getVar('OELAYOUT_ABI', e.data, True)
abifile = data.getVar('SANITY_ABIFILE', e.data, True)
current_abi = data.getVar('OELAYOUT_ABI', sanity_data, True)
abifile = data.getVar('SANITY_ABIFILE', sanity_data, True)
if os.path.exists(abifile):
f = file(abifile, "r")
abi = f.read().strip()
@@ -412,16 +421,16 @@ def check_sanity(e):
f.write(current_abi)
elif abi == "2" and current_abi == "3":
bb.note("Converting staging from layout version 2 to layout version 3")
os.system(e.data.expand("mv ${TMPDIR}/staging ${TMPDIR}/sysroots"))
os.system(e.data.expand("ln -s sysroots ${TMPDIR}/staging"))
os.system(e.data.expand("cd ${TMPDIR}/stamps; for i in */*do_populate_staging; do new=`echo $i | sed -e 's/do_populate_staging/do_populate_sysroot/'`; mv $i $new; done"))
os.system(sanity_data.expand("mv ${TMPDIR}/staging ${TMPDIR}/sysroots"))
os.system(sanity_data.expand("ln -s sysroots ${TMPDIR}/staging"))
os.system(sanity_data.expand("cd ${TMPDIR}/stamps; for i in */*do_populate_staging; do new=`echo $i | sed -e 's/do_populate_staging/do_populate_sysroot/'`; mv $i $new; done"))
f = file(abifile, "w")
f.write(current_abi)
elif abi == "3" and current_abi == "4":
bb.note("Converting staging layout from version 3 to layout version 4")
if os.path.exists(e.data.expand("${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS}")):
os.system(e.data.expand("mv ${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS} ${STAGING_BINDIR_CROSS}"))
os.system(e.data.expand("ln -s ${STAGING_BINDIR_CROSS} ${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS}"))
if os.path.exists(sanity_data.expand("${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS}")):
os.system(sanity_data.expand("mv ${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS} ${STAGING_BINDIR_CROSS}"))
os.system(sanity_data.expand("ln -s ${STAGING_BINDIR_CROSS} ${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS}"))
f = file(abifile, "w")
f.write(current_abi)
@@ -429,7 +438,7 @@ def check_sanity(e):
messages = messages + "Staging layout has changed. The cross directory has been deprecated and cross packages are now built under the native sysroot.\nThis requires a rebuild.\n"
elif abi == "5" and current_abi == "6":
bb.note("Converting staging layout from version 5 to layout version 6")
os.system(e.data.expand("mv ${TMPDIR}/pstagelogs ${SSTATE_MANIFESTS}"))
os.system(sanity_data.expand("mv ${TMPDIR}/pstagelogs ${SSTATE_MANIFESTS}"))
f = file(abifile, "w")
f.write(current_abi)
elif abi == "7" and current_abi == "8":
@@ -442,19 +451,32 @@ def check_sanity(e):
f.write(current_abi)
f.close()
oeroot = data.getVar('COREBASE', e.data)
oeroot = data.getVar('COREBASE', sanity_data)
if oeroot.find ('+') != -1:
messages = messages + "Error, you have an invalid character (+) in your COREBASE directory path. Please move the installation to a directory which doesn't include a +."
elif oeroot.find (' ') != -1:
messages = messages + "Error, you have a space in your COREBASE directory path. Please move the installation to a directory which doesn't include a space."
if messages != "":
raise_sanity_error(messages)
raise_sanity_error(messages, sanity_data)
# Create a copy of the datastore and finalise it to ensure appends and
# overrides are set - the datastore has yet to be finalised at ConfigParsed
def copy_data(e):
sanity_data = bb.data.createCopy(e.data)
sanity_data.finalize()
return sanity_data
addhandler check_sanity_eventhandler
python check_sanity_eventhandler() {
if bb.event.getName(e) == "ConfigParsed" and e.data.getVar("BB_WORKERCONTEXT", True) != "1":
check_sanity(e)
if bb.event.getName(e) == "ConfigParsed" and e.data.getVar("BB_WORKERCONTEXT", True) != "1" and e.data.getVar("DISABLE_SANITY_CHECKS", True) != "1":
sanity_data = copy_data(e)
check_sanity(sanity_data)
elif bb.event.getName(e) == "SanityCheck":
sanity_data = copy_data(e)
sanity_data.setVar("SANITY_USE_EVENTS", "1")
check_sanity(sanity_data)
bb.event.fire(bb.event.SanityCheckPassed(), e.data)
return
}

View File

@@ -282,7 +282,6 @@ create_cmdline_wrapper () {
cmd=$1
shift
# run echo via env to test syntactic validity of the variable arguments
echo "Generating wrapper script for $cmd"
mv $cmd $cmd.real
@@ -306,8 +305,7 @@ create_wrapper () {
cmd=$1
shift
# run echo via env to test syntactic validity of the variable arguments
env $@ echo "Generating wrapper script for $cmd"
echo "Generating wrapper script for $cmd"
mv $cmd $cmd.real
cmdname=`basename $cmd`.real

View File

@@ -340,6 +340,7 @@ STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${datadir_native}"
STAGING_DIR_HOST = "${STAGING_DIR}/${MACHINE}"
STAGING_BINDIR = "${STAGING_DIR_HOST}${bindir}"
STAGING_LIBDIR = "${STAGING_DIR_HOST}${libdir}"
STAGING_BASELIBDIR = "${STAGING_DIR_HOST}${base_libdir}"
STAGING_INCDIR = "${STAGING_DIR_HOST}${includedir}"
STAGING_DATADIR = "${STAGING_DIR_HOST}${datadir}"
STAGING_EXECPREFIXDIR = "${STAGING_DIR_HOST}${exec_prefix}"
@@ -558,17 +559,17 @@ XORG_MIRROR = "http://xorg.freedesktop.org/releases"
FETCHCMD_svn = "/usr/bin/env svn"
FETCHCMD_cvs = "/usr/bin/env cvs"
FETCHCMD_wget = "/usr/bin/env wget -t 5 -nv --no-check-certificate"
FETCHCMD_wget = "/usr/bin/env wget -t 2 -T 30 -nv --no-check-certificate"
FETCHCMD_bzr = "/usr/bin/env bzr"
FETCHCMD_hg = "/usr/bin/env hg"
FETCHCOMMAND = "ERROR, this must be a BitBake bug"
FETCHCOMMAND_wget = "/usr/bin/env wget -t 5 -nv --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'"
FETCHCOMMAND_wget = "/usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'"
FETCHCOMMAND_cvs = "/usr/bin/env cvs '-d${CVSROOT}' co ${CVSCOOPTS} ${CVSMODULE}"
FETCHCOMMAND_svn = "/usr/bin/env svn co ${SVNCOOPTS} ${SVNROOT} ${SVNMODULE}"
CHECKCOMMAND_wget = "/usr/bin/env wget --spider -t 5 --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'"
CHECKCOMMAND_wget = "/usr/bin/env wget --spider -t 2 -T 30 --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'"
RESUMECOMMAND = "ERROR, this must be a BitBake bug"
RESUMECOMMAND_wget = "/usr/bin/env wget -c -t 5 -nv --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'"
RESUMECOMMAND_wget = "/usr/bin/env wget -c -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'"
UPDATECOMMAND = "ERROR, this must be a BitBake bug"
UPDATECOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} update -d -P ${CVSCOOPTS}"
UPDATECOMMAND_svn = "/usr/bin/env svn update ${SVNCOOPTS}"

View File

@@ -0,0 +1,35 @@
From 4ddaf78dad5a9ee4a0658235f71b75132192123e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 7 Apr 2012 18:52:12 -0700
Subject: [PATCH] plugin.h: Change visibility to default for debug symbols
gold refuses to link in undefined weak symbols which
have hidden visibility
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
---
include/plugin.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/plugin.h b/include/plugin.h
index 692a4e5..a9361c3 100644
--- a/include/plugin.h
+++ b/include/plugin.h
@@ -89,9 +89,9 @@ struct connman_plugin_desc {
#else
#define CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit) \
extern struct connman_debug_desc __start___debug[] \
- __attribute__ ((weak, visibility("hidden"))); \
+ __attribute__ ((weak, visibility("default"))); \
extern struct connman_debug_desc __stop___debug[] \
- __attribute__ ((weak, visibility("hidden"))); \
+ __attribute__ ((weak, visibility("default"))); \
extern struct connman_plugin_desc connman_plugin_desc \
__attribute__ ((visibility("default"))); \
struct connman_plugin_desc connman_plugin_desc = { \
--
1.7.5.4

View File

@@ -0,0 +1,50 @@
From 0b817dd3096f5c3ca8f0b868ee55ea550054137b Mon Sep 17 00:00:00 2001
From: Daniel Wagner <daniel.wagner@bmw-carit.de>
Date: Mon, 19 Mar 2012 14:03:27 +0100
Subject: [PATCH 3/3] set-ipv4-method: The arguments have to be wrapped into a
variant
Fixes BMC#24986
Upstream-Status: Backport
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
test/set-ipv4-method | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/test/set-ipv4-method b/test/set-ipv4-method
index 820b24b..235113f 100755
--- a/test/set-ipv4-method
+++ b/test/set-ipv4-method
@@ -3,6 +3,9 @@
import sys
import dbus
+def make_variant(string):
+ return dbus.String(string, variant_level=1)
+
def print_usage():
print "Usage: %s <service> [off|dhcp|manual <address> [netmask] [gateway]]" % (sys.argv[0])
@@ -20,13 +23,13 @@ properties = service.GetProperties()
print "Setting method %s for %s" % (sys.argv[2], sys.argv[1])
-ipv4_configuration = { "Method": sys.argv[2] }
+ipv4_configuration = { "Method": make_variant(sys.argv[2]) }
if (len(sys.argv) > 3):
- ipv4_configuration["Address"] = sys.argv[3]
+ ipv4_configuration["Address"] = make_variant(sys.argv[3])
if (len(sys.argv) > 4):
- ipv4_configuration["Netmask"] = sys.argv[4]
+ ipv4_configuration["Netmask"] = make_variant(sys.argv[4])
if (len(sys.argv) > 5):
- ipv4_configuration["Gateway"] = sys.argv[5]
+ ipv4_configuration["Gateway"] = make_variant(sys.argv[5])
service.SetProperty("IPv4.Configuration", ipv4_configuration)
print "New IPv4.Configuration: ", ipv4_configuration
--
1.7.9.5

View File

@@ -0,0 +1,55 @@
From 2885e71c9c0df7ea9866e91ab79d255eaa8de53d Mon Sep 17 00:00:00 2001
From: Daniel Wagner <daniel.wagner@bmw-carit.de>
Date: Mon, 19 Mar 2012 14:03:28 +0100
Subject: [PATCH 2/3] set-ipv6-method: The arguments have to be wrapped into a
variant
Fixes BMC#24986
Upstream-Status: Backport
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
test/set-ipv6-method | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/test/set-ipv6-method b/test/set-ipv6-method
index 7f60b88..4f2de09 100755
--- a/test/set-ipv6-method
+++ b/test/set-ipv6-method
@@ -3,6 +3,9 @@
import sys
import dbus
+def make_variant(string):
+ return dbus.String(string, variant_level=1)
+
def print_usage():
print "Usage: %s <service> off|manual|auto [<address> [prefixlen] [gateway]] [<privacy>]" % (sys.argv[0])
@@ -19,17 +22,17 @@ properties = service.GetProperties()
print "Setting method %s for %s" % (sys.argv[2], sys.argv[1])
-ipv6_configuration = { "Method": sys.argv[2] }
+ipv6_configuration = { "Method": make_variant(sys.argv[2])}
if sys.argv[2] == "auto":
if (len(sys.argv) > 3):
- ipv6_configuration["Privacy"] = sys.argv[3]
+ ipv6_configuration["Privacy"] = make_variant(sys.argv[3])
else:
if (len(sys.argv) > 3):
- ipv6_configuration["Address"] = sys.argv[3]
+ ipv6_configuration["Address"] = make_variant(sys.argv[3])
if (len(sys.argv) > 4):
- ipv6_configuration["PrefixLength"] = sys.argv[4]
+ ipv6_configuration["PrefixLength"] = make_variant(sys.argv[4])
if (len(sys.argv) > 5):
- ipv6_configuration["Gateway"] = sys.argv[5]
+ ipv6_configuration["Gateway"] = make_variant(sys.argv[5])
service.SetProperty("IPv6.Configuration", ipv6_configuration)
print "New IPv6.Configuration: ", ipv6_configuration
--
1.7.9.5

View File

@@ -6,6 +6,9 @@ SRC_URI = "git://git.kernel.org/pub/scm/network/connman/connman.git \
file://add_xuser_dbus_permission.patch \
file://ethernet_default.patch \
file://disable_alg-test.patch \
file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
file://test-set-ipv4-method-api-fix.patch \
file://test-set-ipv6-method-api-fix.patch \
file://connman"
S = "${WORKDIR}/git"
PR = "r1"
PR = "r3"

View File

@@ -3,11 +3,11 @@ Upstream-Status: Inappropriate [embedded specific]
The number of colons are important :)
Index: openssl-1.0.0a/Configure
Index: openssl-1.0.0h/Configure
===================================================================
--- openssl-1.0.0a.orig/Configure
+++ openssl-1.0.0a/Configure
@@ -380,6 +380,22 @@ my %table=(
--- openssl-1.0.0h.orig/Configure 2012-04-23 09:16:09.521511921 -0700
+++ openssl-1.0.0h/Configure 2012-04-23 09:17:41.829516389 -0700
@@ -380,6 +380,22 @@
"linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
@@ -22,10 +22,10 @@ Index: openssl-1.0.0a/Configure
+"linux-avr32","$ENV{'CC'}:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).",
+
+#### Linux on MIPS/MIPS64
+"linux-mips","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-mips64","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-mips64el","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-mipsel","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-mips","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-mips64","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-mips64el","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-mipsel","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+
#### *BSD [do see comment about ${BSDthreads} above!]
"BSD-generic32","gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",

View File

@@ -4,8 +4,7 @@ HOMEPAGE = "http://www.openssl.org/"
BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
SECTION = "libs/network"
# Big Jump for OpenSSL 1.0 support with meta-oe
INC_PR = "r15"
INC_PR = "r0"
# "openssl | SSLeay" dual license
LICENSE = "openssl"

View File

@@ -6,7 +6,7 @@ DEPENDS += "ocf-linux"
CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
PR = "${INC_PR}.1"
PR = "${INC_PR}.2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
@@ -31,8 +31,8 @@ SRC_URI += "file://configure-targets.patch \
file://openssl_fix_for_x32.patch \
"
SRC_URI[md5sum] = "a5bc483c570f2ac3758ce5c19b667fab"
SRC_URI[sha256sum] = "7e3dfc21aa57ed33ea673170053d1921322803b8a6a624a4f0d2e4c308bd418d"
SRC_URI[md5sum] = "b4df9c11af454fd68178c85a1d5f328f"
SRC_URI[sha256sum] = "548262d15777c504be1ab9bb8fabef1e14a3de54837a6593c8f403dd843d5e57"
PACKAGES =+ " \
${PN}-engines \

View File

@@ -20,11 +20,12 @@ USE_LDCONFIG ?= "1"
PKGSUFFIX = ""
PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-mtrace ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
# The ld.so in this eglibc supports the GNU_HASH
RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)"
RPROVIDES_${PN}-utils = "glibc${PKGSUFFIX}-utils"
RPROVIDES_${PN}-mtrace = "glibc${PKGSUFFIX}-mtrace libc-mtrace"
RPROVIDES_${PN}-pic = "glibc${PKGSUFFIX}-pic"
RPROVIDES_${PN}-dev = "glibc${PKGSUFFIX}-dev"
RPROVIDES_${PN}-staticdev = "glibc${PKGSUFFIX}-staticdev"
@@ -48,11 +49,13 @@ FILES_${PN}-dev_append += "${bindir}/rpcgen ${libdir}/*_nonshared.a \
${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
FILES_${PN}-staticdev_append += "${libdir}/*.a ${base_libdir}/*.a"
FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*"
FILES_${PN}-mtrace = "${bindir}/mtrace"
FILES_${PN}-utils = "${bindir}/* ${sbindir}/*"
FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug"
FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv"
RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault"
RDEPENDS_${PN}-utils += "bash"
RDEPENDS_${PN}-mtrace += "perl"
FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so"
FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so"
RPROVIDES_${PN}-dev += "libc-dev"
@@ -68,6 +71,8 @@ SUMMARY_ldd = "print shared library dependencies"
DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line."
SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc"
DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..."
SUMMARY_${PN}-mtrace = "mtrace utility provided by eglibc"
DESCRIPTION_${PN}-mtrace = "mtrace utility provided by eglibc"
DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs"
inherit libc-common multilib_header

View File

@@ -32,6 +32,8 @@ require eglibc-options.inc
LEAD_SONAME = "libc.so"
CACHED_CONFIGUREVARS += "ac_cv_path_KSH=${base_bindir}/bash \
ac_cv_path_BASH_SHELL=${base_bindir}/bash"
GLIBC_EXTRA_OECONF ?= ""
GLIBC_EXTRA_OECONF_virtclass-nativesdk = ""
INHIBIT_DEFAULT_DEPS = "1"

View File

@@ -3,7 +3,7 @@ require eglibc.inc
SRCREV = "15508"
DEPENDS += "gperf-native"
PR = "r26"
PR = "r28"
PR_append = "+svnr${SRCPV}"
EGLIBC_BRANCH="eglibc-2_13"

View File

@@ -3,7 +3,7 @@ require eglibc.inc
SRCREV = "17386"
DEPENDS += "gperf-native"
PR = "r6"
PR = "r7"
PR_append = "+svnr${SRCPV}"
EGLIBC_BRANCH="eglibc-2_15"

View File

@@ -5,7 +5,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r12"
PR = "r15"
IMAGE_FEATURES += "x11-mini package-management"
@@ -19,7 +19,7 @@ IMAGE_FSTYPES = "vmdk"
inherit core-image
SRCREV = "20ff9db92165e6d16897671d2b1d370661962712"
SRCREV = "3ab5d73f0c49df9fefa2a46031d33436bbd7d7d8"
SRC_URI = "git://git.yoctoproject.org/poky;protocol=git"
IMAGE_CMD_ext3_append () {

View File

@@ -16,7 +16,7 @@ swap_ratio=5
found="no"
echo "Searching for a hard drive..."
for device in 'hda' 'hdb' 'sda' 'sdb'
for device in 'hda' 'hdb' 'sda' 'sdb' 'mmcblk0' 'mmcblk1'
do
if [ -e /sys/block/${device}/removable ]; then
if [ "$(cat /sys/block/${device}/removable)" = "0" ]; then
@@ -62,13 +62,7 @@ rm -f /etc/udev/scripts/mount*
#
# Unmount anything the automounter had mounted
#
umount /dev/${device} 2> /dev/null || /bin/true
umount /dev/${device}1 2> /dev/null || /bin/true
umount /dev/${device}2 2> /dev/null || /bin/true
umount /dev/${device}3 2> /dev/null || /bin/true
umount /dev/${device}4 2> /dev/null || /bin/true
umount /dev/${device}5 2> /dev/null || /bin/true
umount /dev/${device}6 2> /dev/null || /bin/true
umount /dev/${device}* 2> /dev/null || /bin/true
if [ ! -b /dev/sda ] ; then
mknod /dev/sda b 8 0
@@ -94,14 +88,23 @@ rootfs_start=$((boot_size + 1))
rootfs_end=$((rootfs_start+rootfs_size))
swap_start=$((rootfs_end+1))
bootfs=/dev/${device}1
rootfs=/dev/${device}2
swap=/dev/${device}3
# MMC devices are special in a couple of ways
# 1) they use a partition prefix character 'p'
# 2) they are detected asynchronously (need rootwait)
rootwait=""
part_prefix=""
if [ ! "${device#mmcblk}" = "${device}" ]; then
part_prefix="p"
rootwait="rootwait"
fi
bootfs=/dev/${device}${part_prefix}1
rootfs=/dev/${device}${part_prefix}2
swap=/dev/${device}${part_prefix}3
echo "*****************"
echo "Boot partition size: $boot_size MB (/dev/${device}1)"
echo "Rootfs partition size: $rootfs_size MB (/dev/${device}2)"
echo "Swap partition size: $swap_size MB (/dev/${device}3)"
echo "Boot partition size: $boot_size MB ($bootfs)"
echo "Rootfs partition size: $rootfs_size MB ($rootfs)"
echo "Swap partition size: $swap_size MB ($swap)"
echo "*****************"
echo "Deleting partition table on /dev/${device} ..."
dd if=/dev/zero of=/dev/${device} bs=512 count=2
@@ -109,24 +112,24 @@ dd if=/dev/zero of=/dev/${device} bs=512 count=2
echo "Creating new partition table on /dev/${device} ..."
parted /dev/${device} mklabel msdos
echo "Creating boot partition on /dev/${device}1"
echo "Creating boot partition on $bootfs"
parted /dev/${device} mkpart primary 1 $boot_size
echo "Creating rootfs partition on /dev/${device}2"
echo "Creating rootfs partition on $rootfs"
parted /dev/${device} mkpart primary $rootfs_start $rootfs_end
echo "Creating swap partition on /dev/${device}3"
echo "Creating swap partition on $swap"
parted /dev/${device} mkpart primary $swap_start $disk_size
parted /dev/${device} print
echo "Formatting /dev/${device}1 to ext2..."
echo "Formatting $bootfs to ext2..."
mkfs.ext3 $bootfs
echo "Formatting /dev/${device}2 to ext3..."
echo "Formatting $rootfs to ext3..."
mkfs.ext3 $rootfs
echo "Formatting swap partition...(/dev/${device}3)"
echo "Formatting swap partition...($swap)"
mkswap $swap
mkdir /ssd
@@ -150,7 +153,7 @@ fi
if [ -f /ssd/etc/grub.d/40_custom ] ; then
echo "Preparing custom grub2 menu..."
sed -i "s@__ROOTFS__@$rootfs@g" /ssd/etc/grub.d/40_custom
sed -i "s@__ROOTFS__@$rootfs $rootwait@g" /ssd/etc/grub.d/40_custom
sed -i "s/__VIDEO_MODE__/$3/g" /ssd/etc/grub.d/40_custom
sed -i "s/__VGA_MODE__/$4/g" /ssd/etc/grub.d/40_custom
mount $bootfs /bootmnt

View File

@@ -5,12 +5,13 @@ RDEPENDS = "udev"
DEPENDS = "virtual/kernel"
SRC_URI = "file://init-live.sh"
PR = "r9"
PR = "r10"
do_compile() {
if grep -q "CONFIG_UNION_FS=y" ${STAGING_KERNEL_DIR}/.config; then
sed -i 's/UNIONFS="no"/UNIONFS="yes"/g' ${WORKDIR}/init-live.sh
fi
#if grep -q "CONFIG_UNION_FS=y" ${STAGING_KERNEL_DIR}/.config; then
# sed -i 's/UNIONFS="no"/UNIONFS="yes"/g' ${WORKDIR}/init-live.sh
#fi
:
}
do_install() {

View File

@@ -3,7 +3,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SRC_URI = "file://init-install.sh"
PR = "r6"
PR = "r7"
RDEPENDS_${PN} = "grub parted e2fsprogs-mke2fs"

View File

@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc
SECTION = "libs"
DEPENDS = "ncurses-native"
DEPENDS_virtclass-native = ""
INC_PR = "r8"
INC_PR = "r9"
inherit autotools binconfig multilib_header
@@ -107,10 +107,15 @@ do_test() {
diff curses-narrowc.h curses-widec.h
}
# Split original _install_opts to two parts.
# One is the options to install contents, the other is the parameters \
# when running command "make install"
_install_opts = "\
install.libs install.includes install.man \
"
_install_cfgs = "\
DESTDIR='${D}' \
PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \
install.libs install.includes install.man \
"
python do_install () {
@@ -122,11 +127,19 @@ shell_do_install() {
# Order of installation is important; widec installs a 'curses.h'
# header with more definitions and must be installed last hence.
# Compatibility of these headers will be checked in 'do_test()'.
oe_runmake -C narrowc ${_install_opts} \
install.data install.progs
oe_runmake -C narrowc ${_install_cfgs} ${_install_opts} \
install.progs
# The install.data should run after install.libs, otherwise
# there would be a race issue in a very critical conditon, since
# tic will be run by install.data, and tic needs libtinfo.so
# which would be regenerated by install.libs.
oe_runmake -C narrowc ${_install_cfgs} \
install.data
! ${ENABLE_WIDEC} || \
oe_runmake -C widec ${_install_opts}
oe_runmake -C widec ${_install_cfgs} ${_install_opts}
cd narrowc

View File

@@ -17,10 +17,14 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
ALLOW_EMPTY = "1"
MTRACE = ""
MTRACE_libc-glibc = "libc-mtrace"
RDEPENDS_${PN} = "\
gdb \
gdbserver \
tcf-agent \
rsync \
strace \
${MTRACE} \
"

View File

@@ -13,7 +13,7 @@ SECTION = "libs"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://COPYING.LIB.boilerplate;md5=aaddeadcddeb918297e0e4afc52ce46f \
file://${S}/test/regex/testregex.c;startline=1;endline=31;md5=234efb227d0a40677f895e4a1e26e960"
INC_PR = "r6"
INC_PR = "r7"
require uclibc-config.inc
STAGINGCC = "gcc-cross-intermediate"
@@ -48,9 +48,9 @@ RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
INHIBIT_DEFAULT_DEPS = "1"
PACKAGES =+ "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace"
PACKAGES =+ "uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm"
PACKAGES =+ "uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt"
# Ensure the uclibc-dev package is processed before uclibc-staticdev to allow
# *_nonshared.a libraries to be packaged in the uclibc-dev package.
PACKAGES = "${PN}-dbg ${PN}-dev ${PN}-staticdev ${PN} ${PN}-doc ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt"
FILES_uclibc-libcrypt = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so"
FILES_uclibc-libintl = "${base_libdir}/libintl*.so.* ${base_libdir}/libintl-*.so"
@@ -88,7 +88,8 @@ RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
# uclibc does not really have libsegfault but then using the one from glibc is also not
# going to work. So we pretend that we have it to make bitbake not pull other recipes
# to satisfy this dependency for the images/tasks
RPROVIDES_uclibc += "libsegfault"
RPROVIDES_uclibc += "libsegfault rtld(GNU_HASH)"
SRC_URI = "\
http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2;name=uClibc-${PV} \

View File

@@ -32,6 +32,7 @@ FILES_${PN}-symlinks = " \
${bindir}/addr2line \
${bindir}/as \
${bindir}/c++filt \
${bindir}/embedspu \
${bindir}/gprof \
${bindir}/ld \
${bindir}/ld.bfd \

View File

@@ -0,0 +1,198 @@
From 78eaf928d30d0b16e05d8d63c55a3632a135ed9a Mon Sep 17 00:00:00 2001
From: Guillem Jover <guillem@debian.org>
Date: Thu, 4 Nov 2010 00:51:13 +0100
Subject: [PATCH] dpkg-deb: Use fd instead of stream based buffered I/O
Behaviour of fflush() on input streams is undefined per POSIX, avoid
mixing stream and file descriptor based I/O, and only use the latter
instead.
Upstream-Status: Backport of revision 2d420ee1d05033d237462a0075facfe406b08043 (in 1.16.x)
---
dpkg-deb/extract.c | 83 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 62 insertions(+), 21 deletions(-)
diff --git a/dpkg-deb/extract.c b/dpkg-deb/extract.c
index 22aea98..0f5ac88 100644
--- a/dpkg-deb/extract.c
+++ b/dpkg-deb/extract.c
@@ -31,6 +31,7 @@
#include <ctype.h>
#include <string.h>
#include <dirent.h>
+#include <fcntl.h>
#include <unistd.h>
#include <ar.h>
#include <stdbool.h>
@@ -61,13 +62,41 @@ static void movecontrolfiles(const char *thing) {
}
static void DPKG_ATTR_NORET
-readfail(FILE *a, const char *filename, const char *what)
+read_fail(int rc, const char *filename, const char *what)
{
- if (ferror(a)) {
- ohshite(_("error reading %s from file %.255s"), what, filename);
- } else {
+ if (rc == 0)
ohshit(_("unexpected end of file in %s in %.255s"),what,filename);
+ else
+ ohshite(_("error reading %s from file %.255s"), what, filename);
+}
+
+static ssize_t
+read_line(int fd, char *buf, size_t min_size, size_t max_size)
+{
+ ssize_t line_size = 0;
+ size_t n = min_size;
+
+ while (line_size < (ssize_t)max_size) {
+ ssize_t r;
+ char *nl;
+
+ r = read(fd, buf + line_size, n);
+ if (r <= 0)
+ return r;
+
+ nl = strchr(buf + line_size, '\n');
+ line_size += r;
+
+ if (nl != NULL) {
+ nl[1] = '\0';
+ return line_size;
+ }
+
+ n = 1;
}
+
+ buf[line_size] = '\0';
+ return line_size;
}
static size_t
@@ -115,19 +144,26 @@ void extracthalf(const char *debar, const char *directory,
char versionbuf[40];
float versionnum;
size_t ctrllennum, memberlen= 0;
+ ssize_t r;
int dummy;
pid_t c1=0,c2,c3;
int p1[2], p2[2];
- FILE *ar;
+ int arfd;
struct stat stab;
char nlc;
int adminmember;
bool oldformat, header_done;
struct compressor *decompressor = &compressor_gzip;
- ar= fopen(debar,"r"); if (!ar) ohshite(_("failed to read archive `%.255s'"),debar);
- if (fstat(fileno(ar),&stab)) ohshite(_("failed to fstat archive"));
- if (!fgets(versionbuf,sizeof(versionbuf),ar)) readfail(ar,debar,_("version number"));
+ arfd = open(debar, O_RDONLY);
+ if (arfd < 0)
+ ohshite(_("failed to read archive `%.255s'"), debar);
+ if (fstat(arfd, &stab))
+ ohshite(_("failed to fstat archive"));
+
+ r = read_line(arfd, versionbuf, strlen(DPKG_AR_MAGIC), sizeof(versionbuf));
+ if (r < 0)
+ read_fail(r, debar, _("archive magic version number"));
if (!strcmp(versionbuf, DPKG_AR_MAGIC)) {
oldformat = false;
@@ -137,8 +173,9 @@ void extracthalf(const char *debar, const char *directory,
for (;;) {
struct ar_hdr arh;
- if (fread(&arh,1,sizeof(arh),ar) != sizeof(arh))
- readfail(ar,debar,_("between members"));
+ r = read(arfd, &arh, sizeof(arh));
+ if (r != sizeof(arh))
+ read_fail(r, debar, _("archive member header"));
dpkg_ar_normalize_name(&arh);
@@ -153,8 +190,9 @@ void extracthalf(const char *debar, const char *directory,
if (strncmp(arh.ar_name, DEBMAGIC, sizeof(arh.ar_name)) != 0)
ohshit(_("file `%.250s' is not a debian binary archive (try dpkg-split?)"),debar);
infobuf= m_malloc(memberlen+1);
- if (fread(infobuf,1, memberlen + (memberlen&1), ar) != memberlen + (memberlen&1))
- readfail(ar,debar,_("header info member"));
+ r = read(arfd, infobuf, memberlen + (memberlen & 1));
+ if ((size_t)r != (memberlen + (memberlen & 1)))
+ read_fail(r, debar, _("archive information header member"));
infobuf[memberlen] = '\0';
cur= strchr(infobuf,'\n');
if (!cur) ohshit(_("archive has no newlines in header"));
@@ -174,7 +212,8 @@ void extracthalf(const char *debar, const char *directory,
/* Members with `_' are noncritical, and if we don't understand them
* we skip them.
*/
- stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar);
+ fd_null_copy(arfd, memberlen + (memberlen & 1),
+ _("skipped archive member data from %s"), debar);
} else {
if (strncmp(arh.ar_name, ADMINMEMBER, sizeof(arh.ar_name)) == 0)
adminmember = 1;
@@ -198,7 +237,8 @@ void extracthalf(const char *debar, const char *directory,
ctrllennum= memberlen;
}
if (!adminmember != !admininfo) {
- stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar);
+ fd_null_copy(arfd, memberlen + (memberlen & 1),
+ _("skipped archive member data from %s"), debar);
} else {
break; /* Yes ! - found it. */
}
@@ -221,8 +261,10 @@ void extracthalf(const char *debar, const char *directory,
l = strlen(versionbuf);
if (l && versionbuf[l - 1] == '\n')
versionbuf[l - 1] = '\0';
- if (!fgets(ctrllenbuf,sizeof(ctrllenbuf),ar))
- readfail(ar, debar, _("control information length"));
+
+ r = read_line(arfd, ctrllenbuf, 1, sizeof(ctrllenbuf));
+ if (r < 0)
+ read_fail(r, debar, _("archive control member size"));
if (sscanf(ctrllenbuf,"%zi%c%d",&ctrllennum,&nlc,&dummy) !=2 || nlc != '\n')
ohshit(_("archive has malformatted control length `%s'"), ctrllenbuf);
@@ -230,7 +272,8 @@ void extracthalf(const char *debar, const char *directory,
memberlen = ctrllennum;
} else {
memberlen = stab.st_size - ctrllennum - strlen(ctrllenbuf) - l;
- stream_null_copy(ar, ctrllennum, _("skipped control area from %s"), debar);
+ fd_null_copy(arfd, ctrllennum,
+ _("skipped archive control member data from %s"), debar);
}
if (admininfo >= 2) {
@@ -252,13 +295,11 @@ void extracthalf(const char *debar, const char *directory,
}
- safe_fflush(ar);
-
m_pipe(p1);
c1 = subproc_fork();
if (!c1) {
close(p1[0]);
- stream_fd_copy(ar, p1[1], memberlen, _("failed to write to pipe in copy"));
+ fd_fd_copy(arfd, p1[1], memberlen, _("failed to write to pipe in copy"));
if (close(p1[1]))
ohshite(_("failed to close pipe in copy"));
exit(0);
@@ -275,7 +316,7 @@ void extracthalf(const char *debar, const char *directory,
decompress_filter(decompressor, 0, 1, _("data"));
}
close(p1[0]);
- fclose(ar);
+ close(arfd);
if (taroption) close(p2[1]);
if (taroption && directory) {
--
1.7.7.6

View File

@@ -5,10 +5,11 @@ SRC_URI += "file://noman.patch \
file://check_snprintf.patch \
file://check_version.patch \
file://perllibdir.patch \
file://preinst.patch"
file://preinst.patch \
file://dpkg-deb-avoid-fflush.patch"
SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc"
SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5"
PR = "${INC_PR}.3"
PR = "${INC_PR}.4"

View File

@@ -1,5 +1,5 @@
PACKAGES = "\
${PN} ${PN}-symlinks \
${PN} ${PN}-plugins ${PN}-symlinks \
g++ g++-symlinks \
cpp cpp-symlinks \
g77 g77-symlinks \
@@ -40,6 +40,11 @@ FILES_${PN}-symlinks = "\
${bindir}/gccbug \
"
FILES_${PN}-plugins = "\
${gcclibdir}/${TARGET_SYS}/${BINV}/plugin \
"
ALLOW_EMPTY_${PN}-plugins = "1"
FILES_g77 = "\
${bindir}/${TARGET_PREFIX}g77 \
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \
@@ -88,6 +93,7 @@ do_install () {
rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
rm -rf ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/*.la
rmdir ${D}${includedir}
# Hack around specs file assumptions
test -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs && sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs

View File

@@ -16,7 +16,7 @@ PACKAGES = "\
FILES_${PN} = "${base_libdir}/libgcc*.so.*"
FILES_${PN}-dev = " \
${base_libdir}/libgcc*.so \
${libdir}/${TARGET_SYS}/${BINV}/crt* \
${libdir}/${TARGET_SYS}/${BINV}/*crt* \
${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
FILES_libgcov${PKGSUFFIX}-dev = " \
${libdir}/${TARGET_SYS}/${BINV}/libgcov.a"

View File

@@ -0,0 +1,83 @@
Ensure we reautoconf the packag
Currently since configure.in in is in a subdirectory, we don't reautoconf the
recipe. We really need to do this, to update things like the libtool script used
and fix various issues such as those that could creep in if a reautoconf is
triggered for some reason. Since this source only calls AM_INIT_AUTOMAKE to
gain the PACKAGE and VERSION definitions and that macro now errors if Makefile.am
doesn't exist, we need to add these definitions manually.
These changes avoid failures like:
----
| ...
| DssslApp.cxx:117:36: error: 'PACKAGE' was not declared in this scope
| DssslApp.cxx:118:36: error: 'VERSION' was not declared in this scope
| make[2]: *** [DssslApp.lo] Error 1 ----
Upstream-Status: Pending
RP 2012/6/12
Index: openjade-1.3.2/acinclude.m4
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ openjade-1.3.2/acinclude.m4 2012-06-12 12:48:54.871365344 +0000
@@ -0,0 +1,39 @@
+dnl Configure-time switch with default
+dnl
+dnl Each switch defines an --enable-FOO and --disable-FOO option in
+dnl the resulting configure script.
+dnl
+dnl Usage:
+dnl smr_SWITCH(name, description, default, pos-def, neg-def)
+dnl
+dnl where:
+dnl
+dnl name name of switch; generates --enable-name & --disable-name
+dnl options
+dnl description help string is set to this prefixed by "enable" or
+dnl "disable", whichever is the non-default value
+dnl default either "on" or "off"; specifies default if neither
+dnl --enable-name nor --disable-name is specified
+dnl pos-def a symbol to AC_DEFINE if switch is on (optional)
+dnl neg-def a symbol to AC_DEFINE if switch is off (optional)
+dnl
+AC_DEFUN(smr_SWITCH, [
+ AC_MSG_CHECKING(whether to enable $2)
+ AC_ARG_ENABLE(
+ $1,
+ ifelse($3, on,
+ [ --disable-[$1] disable [$2]],
+ [ --enable-[$1] enable [$2]]),
+ [ if test "$enableval" = yes; then
+ AC_MSG_RESULT(yes)
+ ifelse($4, , , AC_DEFINE($4))
+ else
+ AC_MSG_RESULT(no)
+ ifelse($5, , , AC_DEFINE($5))
+ fi ],
+ ifelse($3, on,
+ [ AC_MSG_RESULT(yes)
+ ifelse($4, , , AC_DEFINE($4)) ],
+ [ AC_MSG_RESULT(no)
+ ifelse($5, , , AC_DEFINE($5))]))])
+
Index: openjade-1.3.2/config/configure.in
===================================================================
--- openjade-1.3.2.orig/config/configure.in 2012-06-12 12:47:20.735365445 +0000
+++ openjade-1.3.2/config/configure.in 2012-06-12 12:48:17.507364080 +0000
@@ -12,9 +12,12 @@
dnl Credits: this autoconf script was largely "inspired" <g> by the
dnl autoconf script around SP made by Henry Thompson.
dnl
-AC_INIT(dsssl)
+AC_INIT([openjade], [1.3.2])
AC_CONFIG_AUX_DIR(config)
-AM_INIT_AUTOMAKE( openjade, 1.3.2)
+AC_SUBST([PACKAGE], [openjade])
+AC_SUBST([VERSION], [1.3.2])
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
TOP=`pwd`
AC_SUBST(TOP)
dnl

View File

@@ -14,6 +14,7 @@ RDEPENDS_${PN} = "sgml-common-native"
SRC_URI = "${SOURCEFORGE_MIRROR}/openjade/openjade-${PV}.tar.gz \
file://makefile.patch \
file://reautoconf.patch \
file://user-declared-default-constructor.patch"
SRC_URI[md5sum] = "7df692e3186109cc00db6825b777201e"
@@ -38,6 +39,10 @@ CFLAGS =+ "-I${S}/include"
SSTATEPOSTINSTFUNCS += "openjade_sstate_postinst"
SYSROOT_PREPROCESS_FUNCS += "openjade_sysroot_preprocess"
# configure.in needs to be reloacted to trigger reautoconf
do_configure_prepend () {
cp ${S}/config/configure.in ${S}/
}
# We need to do this else the source interdependencies aren't generated and
# build failures can result (e.g. zero size style/Makefile.dep file)

View File

@@ -0,0 +1,26 @@
When running as pseudo-nativesdk, we might need to run host binaries
linked against the host libc. Having a 2.14 libc dependency from memcpy is
problematic so instruct the linker to use older symbols.
Upstream-Status: Pending
RP 2012/4/22
Index: pseudo-1.3/pseudo.h
===================================================================
--- pseudo-1.3.orig/pseudo.h 2012-04-22 12:17:59.078909060 +0000
+++ pseudo-1.3/pseudo.h 2012-04-22 12:32:42.954888587 +0000
@@ -29,6 +29,13 @@
int pseudo_set_value(const char *key, const char *value);
char *pseudo_get_value(const char *key);
+#ifdef __amd64__
+#define GLIBC_COMPAT_SYMBOL(SYM) __asm__(".symver " #SYM "," #SYM "@GLIBC_2.2.5")
+#else
+#define GLIBC_COMPAT_SYMBOL(SYM) __asm__(".symver " #SYM "," #SYM "@GLIBC_2.0")
+#endif
+GLIBC_COMPAT_SYMBOL(memcpy);
+
#include "pseudo_tables.h"
extern void pseudo_debug_verbose(void);

View File

@@ -9,6 +9,8 @@ SECTION = "base"
LICENSE = "LGPL2.1"
DEPENDS = "sqlite3"
SRC_URI_append_virtclass-nativesdk = " file://symver.patch"
FILES_${PN} = "${libdir}/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo"
FILES_${PN}-dbg += "${libdir}/pseudo/lib*/.debug"
PROVIDES += "virtual/fakeroot"
@@ -25,7 +27,7 @@ NO32LIBS ??= "1"
# Compile for the local machine arch...
do_compile () {
if [ "${SITEINFO_BITS}" == "64" ]; then
if [ "${SITEINFO_BITS}" = "64" ]; then
${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
else
${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
@@ -37,7 +39,7 @@ do_compile () {
# If necessary compile for the alternative machine arch. This is only
# necessary in a native build.
do_compile_prepend_virtclass-native () {
if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
if [ "${SITEINFO_BITS}" = "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
# We need the 32-bit libpseudo on a 64-bit machine...
./configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath
oe_runmake ${MAKEOPTS} libpseudo
@@ -47,7 +49,7 @@ do_compile_prepend_virtclass-native () {
}
do_compile_prepend_virtclass-nativesdk () {
if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
if [ "${SITEINFO_BITS}" = "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
# We need the 32-bit libpseudo on a 64-bit machine...
./configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath
oe_runmake ${MAKEOPTS} libpseudo
@@ -64,19 +66,17 @@ do_install () {
# If necessary install for the alternative machine arch. This is only
# necessary in a native build.
do_install_append_virtclass-native () {
if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
if [ "${SITEINFO_BITS}" = "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
mkdir -p ${D}${prefix}/lib/pseudo/lib
cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/.
fi
}
do_install_append_virtclass-nativesdk () {
if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
if [ "${SITEINFO_BITS}" = "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
mkdir -p ${D}${prefix}/lib/pseudo/lib
cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/.
fi
create_wrapper ${D}${bindir}/pseudo LD_LIBRARY_PATH=${base_libdir}:${libdir}
}
BBCLASSEXTEND = "native nativesdk"

View File

@@ -1,6 +1,6 @@
require pseudo.inc
PR = "r9"
PR = "r10"
SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2"

View File

@@ -2,7 +2,7 @@ require pseudo.inc
SRCREV = "f0375c9aaefbccfd41aebbf6d332bb4d9e8f980c"
PV = "1.3+git${SRCPV}"
PR = "r24"
PR = "r25"
DEFAULT_PREFERENCE = "-1"

View File

@@ -119,8 +119,8 @@ Index: Python-2.7.2/setup.py
# XXX Omitted modules: gl, pure, dl, SGI-specific modules
+ lib_dirs = [ os.getenv( "STAGING_LIBDIR" ) ]
+ inc_dirs = [ os.getenv( "STAGING_INCDIR" ) ]
+ lib_dirs = [ os.getenv("STAGING_LIBDIR"), os.getenv("STAGING_BASELIBDIR") ]
+ inc_dirs = [ os.getenv("STAGING_INCDIR") ]
+
#
# The following modules are all pretty straightforward, and compile

View File

@@ -0,0 +1,57 @@
Author: Andrei Gherzan <andrei@gherzan.ro>
Date: Sun Mar 25 02:02:27 2012 +0200
This patch was added for 64bit host machines. In the compile process python
is checking if platform is a 64bit platform using sys.maxint which is the host's
value. The patch fixes this issue so that python would check if TARGET machine
is 64bit not the HOST machine. In this way will have "dl" and "imageop" modules
built if HOST machine is 64bit but the target machine is 32bit.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Upstream-Status: Pending
Index: Python-2.7.2/setup.py
===================================================================
--- Python-2.7.2.orig/setup.py 2012-03-25 01:10:41.540163187 +0200
+++ Python-2.7.2/setup.py 2012-03-25 01:26:06.092539990 +0200
@@ -23,6 +23,21 @@
# This global variable is used to hold the list of modules to be disabled.
disabled_module_list = []
+def target_is_64bit_platform ():
+ """
+ In case of cross-compile, some modules are not build as setup checks if HOST
+ is 64bit and not TARGET.
+ As python was built for TARGET we can check this in pyconfig.h in this way:
+ Sizeof LONG on a 32 bit platform is 4 bytes
+ Sizeof LONG on a 64 bit platform is 8 bytes
+ """
+ pyconf = open("pyconfig.h").read()
+ aux = re.search(r"#s*define\s+SIZEOF_LONG\s+8\s*", pyconf)
+ if aux is not None:
+ return True
+ else:
+ return False
+
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
1) 'dir' is not already in 'dirlist'
@@ -628,7 +643,7 @@
exts.append( Extension('audioop', ['audioop.c']) )
# Disabled on 64-bit platforms
- if sys.maxint != 9223372036854775807L:
+ if not target_is_64bit_platform():
# Operations on images
exts.append( Extension('imageop', ['imageop.c']) )
else:
@@ -1418,7 +1433,7 @@
missing.append('_codecs_%s' % loc)
# Dynamic loading module
- if sys.maxint == 0x7fffffff:
+ if not target_is_64bit_platform():
# This requires sizeof(int) == sizeof(long) == sizeof(char*)
dl_inc = find_file('dlfcn.h', [], inc_dirs)
if (dl_inc is not None) and (platform not in ['atheos']):

View File

@@ -0,0 +1,40 @@
python should search for db.h in inc_dirs and not in a hardcoded path.
If db.h is found but HASHVERSION is not 2 we avoid a warning by not
adding this module to missing variable.
Upstream-Status: Inappropriate [distribution]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: Python-2.7.2/setup.py
===================================================================
--- Python-2.7.2.orig/setup.py 2012-04-05 22:27:22.437199989 +0300
+++ Python-2.7.2/setup.py 2012-04-05 22:26:38.000000000 +0300
@@ -1141,12 +1141,12 @@
# the more recent berkeleydb's db.h file first in the include path
# when attempting to compile and it will fail.
f = "/usr/include/db.h"
-
+ if len(inc_dirs) != 0:
+ f = os.path.join(inc_dirs[0], "db.h")
if sys.platform == 'darwin':
if is_macosx_sdk_path(f):
sysroot = macosx_sdk_root()
f = os.path.join(sysroot, f[1:])
-
if os.path.exists(f) and not db_incs:
data = open(f).read()
m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
@@ -1161,8 +1161,10 @@
libraries=libraries))
else:
exts.append(Extension('bsddb185', ['bsddbmodule.c']))
- else:
- missing.append('bsddb185')
+ # If a newer version is detected don't report an useless
+ # warning
+ #else:
+ # missing.append('bsddb185')
else:
missing.append('bsddb185')

View File

@@ -0,0 +1,57 @@
This patch removes various ways native system options can pass into the python
compilation and somehow break C modules.
Upstream-Status: Configuration [OE Specific]
RP 2012/04/23
Index: Python-2.7.2/setup.py
===================================================================
--- Python-2.7.2.orig/setup.py 2012-04-23 20:03:47.295582553 +0000
+++ Python-2.7.2/setup.py 2012-04-23 20:03:15.000000000 +0000
@@ -231,7 +231,13 @@
# compilers
if compiler is not None:
(ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
- args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
+ # Need to filter out -isysroot from the flags. Ideally should
+ # figure out target flags here.
+ flags = []
+ for f in cflags.split():
+ if not f.startswith("-isystem"):
+ flags.append(f)
+ args['compiler_so'] = compiler + ' ' + ccshared + ' ' + ' '.join(flags)
self.compiler.set_executables(**args)
build_ext.build_extensions(self)
@@ -393,7 +399,6 @@
# into configure and stored in the Makefile (issue found on OS X 10.3).
for env_var, arg_name, dir_list in (
('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
- ('LDFLAGS', '-L', self.compiler.library_dirs),
('CPPFLAGS', '-I', self.compiler.include_dirs)):
env_val = sysconfig.get_config_var(env_var)
if env_val:
@@ -419,16 +424,16 @@
for directory in reversed(options.dirs):
add_dir_to_list(dir_list, directory)
- if os.path.normpath(sys.prefix) != '/usr' \
- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
+# if os.path.normpath(sys.prefix) != '/usr' \
+# and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
# OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
# (PYTHONFRAMEWORK is set) to avoid # linking problems when
# building a framework with different architectures than
# the one that is currently installed (issue #7473)
- add_dir_to_list(self.compiler.library_dirs,
- sysconfig.get_config_var("LIBDIR"))
- add_dir_to_list(self.compiler.include_dirs,
- sysconfig.get_config_var("INCLUDEDIR"))
+# add_dir_to_list(self.compiler.library_dirs,
+# sysconfig.get_config_var("LIBDIR"))
+# add_dir_to_list(self.compiler.include_dirs,
+# sysconfig.get_config_var("INCLUDEDIR"))
try:
have_unicode = unicode

View File

@@ -1,6 +1,6 @@
require python.inc
DEPENDS = "python-native bzip2 db gdbm openssl readline sqlite3 zlib"
PR = "${INC_PR}.12"
PR = "${INC_PR}.17"
DISTRO_SRC_URI ?= "file://sitecustomize.py"
DISTRO_SRC_URI_linuxstdbase = ""
@@ -21,6 +21,9 @@ SRC_URI += "\
file://host_include_contamination.patch \
file://sys_platform_is_now_always_linux2.patch \
file://fix_for_using_different_libdir.patch \
file://setuptweaks.patch \
file://check-if-target-is-64b-not-host.patch \
file://search_db_h_in_inc_dirs_and_avoid_warning.patch \
"
S = "${WORKDIR}/Python-${PV}"
@@ -33,6 +36,7 @@ TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__"
TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__"
do_configure_prepend() {
rm -f ${S}/Makefile.orig
autoreconf -Wcross --verbose --install --force --exclude=autopoint Modules/_ctypes/libffi || bbnote "_ctypes failed to autoreconf"
}
@@ -65,10 +69,17 @@ do_compile() {
# remove any bogus LD_LIBRARY_PATH
sed -i -e s,RUNSHARED=.*,RUNSHARED=, Makefile
install -m 0644 Makefile Makefile.orig
sed -i -e 's,${includedir},${STAGING_INCDIR},' Makefile
sed -i -e 's,${libdir},${STAGING_LIBDIR},' Makefile
sed -i -e 's,LDFLAGS=,LDFLAGS=-L. -L${STAGING_LIBDIR},' Makefile
if [ ! -f Makefile.orig ]; then
install -m 0644 Makefile Makefile.orig
fi
sed -i -e 's,^LDFLAGS=.*,LDFLAGS=-L. -L${STAGING_LIBDIR},g' \
-e 's,libdir=${libdir},libdir=${STAGING_LIBDIR},g' \
-e 's,libexecdir=${libexecdir},libexecdir=${STAGING_DIR_HOST}${libexecdir},g' \
-e 's,^LIBDIR=.*,LIBDIR=${STAGING_LIBDIR},g' \
-e 's,includedir=${includedir},includedir=${STAGING_INCDIR},g' \
-e 's,^INCLUDEDIR=.*,INCLUDE=${STAGING_INCDIR},g' \
-e 's,^CONFINCLUDEDIR=.*,CONFINCLUDE=${STAGING_INCDIR},g' \
Makefile
install -m 0644 Makefile ${STAGING_LIBDIR}/python${PYTHON_MAJMIN}/config/
# save copy of it now, because if we do it in do_install and
# then call do_install twice we get Makefile.orig == Makefile.sysroot
@@ -79,6 +90,7 @@ do_compile() {
oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \
HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \
STAGING_LIBDIR=${STAGING_LIBDIR} \
STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
STAGING_INCDIR=${STAGING_INCDIR} \
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
OPT="${CFLAGS}" libpython${PYTHON_MAJMIN}.so
@@ -89,6 +101,7 @@ do_compile() {
HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \
STAGING_LIBDIR=${STAGING_LIBDIR} \
STAGING_INCDIR=${STAGING_INCDIR} \
STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
OPT="${CFLAGS}"
}
@@ -105,6 +118,7 @@ do_install() {
CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \
STAGING_LIBDIR=${STAGING_LIBDIR} \
STAGING_INCDIR=${STAGING_INCDIR} \
STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
DESTDIR=${D} LIBDIR=${libdir} install
@@ -133,8 +147,8 @@ RRECOMMENDS_${PN}-core = "${PN}-readline"
RRECOMMENDS_${PN}-crypt = "openssl"
# package libpython2
PACKAGES =+ "lib${BPN}2"
FILES_lib${BPN}2 = "${libdir}/libpython*.so.*"
PACKAGES =+ "lib${BPN}2${PKGSUFFIX}"
FILES_lib${BPN}2${PKGSUFFIX} = "${libdir}/libpython*.so.*"
# catch debug extensions (isn't that already in python-core-dbg?)
FILES_${PN}-dbg += "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/.debug"
@@ -148,3 +162,6 @@ PACKAGES += "${PN}-man"
FILES_${PN}-man = "${datadir}/man"
BBCLASSEXTEND = "nativesdk"
PKGSUFFIX = ""
PKGSUFFIX_virtclass-nativesdk = "-nativesdk"

View File

@@ -0,0 +1,66 @@
From a4d1f142542935b90d2eb30f3aead4edcf455fe6 Mon Sep 17 00:00:00 2001
From: Aurelien Jarno <aurelien@aurel32.net>
Date: Sat, 7 Jan 2012 15:20:11 +0100
Subject: [PATCH 1/1] target-i386: fix {min,max}{pd,ps,sd,ss} SSE2 instructions
minpd, minps, minsd, minss and maxpd, maxps, maxsd, maxss SSE2
instructions have been broken when switching target-i386 to softfloat.
It's not possible to use comparison instructions on float types anymore
to softfloat, so use the floatXX_lt function instead, as the
float_XX_min and float_XX_max functions can't be used due to the Intel
specific behaviour.
As it implements the correct NaNs behaviour, let's remove the
corresponding entry from the TODO.
It fixes GDM screen display on Debian Lenny.
Thanks to Peter Maydell and Jason Wessel for their analysis of the
problem.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
target-i386/TODO | 1 -
target-i386/ops_sse.h | 9 +++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
This fixes scrollbar issues in matchbox-terminal/vte on qemux86-64 and
files not appearing in pcmanfm, as well as glib/gobject errors to do with gdoubles
on the console [YOCTO #1906]
Upstream-Status: Backport
Index: qemu-0.15.1/target-i386/TODO
===================================================================
--- qemu-0.15.1.orig/target-i386/TODO 2011-10-12 16:41:43.000000000 +0000
+++ qemu-0.15.1/target-i386/TODO 2012-04-19 07:30:38.704073075 +0000
@@ -15,7 +15,6 @@
- DRx register support
- CR0.AC emulation
- SSE alignment checks
-- fix SSE min/max with nans
Optimizations/Features:
Index: qemu-0.15.1/target-i386/ops_sse.h
===================================================================
--- qemu-0.15.1.orig/target-i386/ops_sse.h 2011-10-12 16:41:43.000000000 +0000
+++ qemu-0.15.1/target-i386/ops_sse.h 2012-04-19 07:30:38.712073076 +0000
@@ -584,10 +584,15 @@
#define FPU_SUB(size, a, b) float ## size ## _sub(a, b, &env->sse_status)
#define FPU_MUL(size, a, b) float ## size ## _mul(a, b, &env->sse_status)
#define FPU_DIV(size, a, b) float ## size ## _div(a, b, &env->sse_status)
-#define FPU_MIN(size, a, b) (a) < (b) ? (a) : (b)
-#define FPU_MAX(size, a, b) (a) > (b) ? (a) : (b)
#define FPU_SQRT(size, a, b) float ## size ## _sqrt(b, &env->sse_status)
+/* Note that the choice of comparison op here is important to get the
+ * special cases right: for min and max Intel specifies that (-0,0),
+ * (NaN, anything) and (anything, NaN) return the second argument.
+ */
+#define FPU_MIN(size, a, b) float ## size ## _lt(a, b, &env->sse_status) ? (a) : (b)
+#define FPU_MAX(size, a, b) float ## size ## _lt(b, a, &env->sse_status) ? (a) : (b)
+
SSE_HELPER_S(add, FPU_ADD)
SSE_HELPER_S(sub, FPU_SUB)
SSE_HELPER_S(mul, FPU_MUL)

View File

@@ -3,7 +3,7 @@ require qemu.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
PR = "r5"
PR = "r6"
FILESPATH = "${FILE_DIRNAME}/qemu-${PV}"
FILESDIR = "${WORKDIR}"
@@ -18,6 +18,7 @@ SRC_URI = "\
file://fallback-to-safe-mmap_min_addr.patch \
file://larger_default_ram_size.patch \
file://arm-bgr.patch \
file://a4d1f142542935b90d2eb30f3aead4edcf455fe6.patch \
"
# Only use the GL passthrough patches for native/nativesdk versions

View File

@@ -24,11 +24,6 @@ RDEPENDS_${PN} = "bash"
# quilt ignores DESTDIR
do_install () {
oe_runmake 'BUILD_ROOT=${D}' install
if [ "${BUILD_ARCH}" == "${HOST_ARCH}" ]; then
# Dummy quiltrc file for patch.bbclass
install -d ${D}${bindir}/
touch ${D}${bindir}/quiltrc
fi
# cleanup unpackaged files
rm -rf ${D}/${datadir}/emacs
}

View File

@@ -11,3 +11,9 @@ EXTRA_OECONF = "--disable-nls"
do_configure () {
oe_runconf
}
do_install_append () {
# Dummy quiltrc file for patch.bbclass
install -d ${D}${sysconfdir}/
touch ${D}${sysconfdir}/quiltrc
}

Some files were not shown because too many files have changed in this diff Show More