Compare commits

...

2086 Commits

Author SHA1 Message Date
Paul Eggleton
320558f494 More quoting fixes
(From OE-Core rev: 17f2d5d70ad323cea4fb149154bc38844661fa3a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29 13:12:13 +00:00
Richard Purdie
0cfceaa53b parse/ConfHandler: Fix enthusiatic export regexp matching
The export regexp was only meant to catch values like:

export VARIABLENAME

however after the stricter quoting patch was applied, it was also matching
variables like:

export BAR=foo

and setting the export flag on a variable called "BAR=foo". The = character
is an invalid variable name character. This patch tightens up the regexp
match so it only matches the intended character set and only matches variable
names.

(Bitbake rev: 6d1765c2eac8c1958ceb9c81d55d04a9bc961cb1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29 13:12:12 +00:00
Otavio Salvador
7fee190f67 image_types.bbclass: fix bzip2 and xz compression commands
We need to use -f (force) or the command fails in the image file
already exists.

(From OE-Core rev: 419ddab8266ecfd6da1841d38a451a9fc5be49b0)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29 12:56:45 +00:00
Otavio Salvador
c97ebae788 image_types.bbclass: properly support IMAGE_LINK_NAME as empty
[RP: Remove unneeded len()]
(From OE-Core rev: 45a094372ea9e68888efee45d8e21cf2b7fa2df6)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29 12:56:44 +00:00
Otavio Salvador
05c7d5d512 image.bbclass: do not create image manifest link if IMAGE_LINK_NAME is empty
(From OE-Core rev: d0f1ae1f8cf8ef4e5adc24cc6246d3849e51aa98)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29 12:56:44 +00:00
Otavio Salvador
a4624063ed syslinux: fix packaging of ${PN} and ${PN}-staticdev
- ${PN} where not being build due ordering;
 - ${PN}-staticdev lacked the ${libdir} files.

(From OE-Core rev: e83b2e25ebf0169371035483095a06b3ca5eb479)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29 12:52:55 +00:00
James Limbouris
426b7fd111 busybox: Enable 64 bit shell tests, and disable non-standard date format interpretation.
Without 64 bit shell tests, the timestamp comparison in initscripts' bootmisc.sh throws 'out of range' errors.
With CONFIG_FEATURE_DATE_COMPAT, date reads the YYYYMMddhhmm string as hhmmYYYYMMdd when setting the time from the timestamp in bootmisc.sh.

(From OE-Core rev: e32e23649f4eab0bdc71a854f99b11fee19125ac)

Signed-off-by: James Limbouris <james@digitalmatter.com.au>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29 12:52:55 +00:00
Otavio Salvador
d86e3082e6 licenses.conf: fix quotting of SRC_DISTRIBUTE_LICENSES
(From OE-Core rev: 61216d2743502ef38955054aad6a4f2ed63e6d43)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 17:51:52 +00:00
Richard Purdie
2474e6c55c tcl: Ensure native verison has correct dependencies and builds
(From OE-Core rev: 9b63fbb5f41d8a7167bbb534da03908c996693ad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 17:51:51 +00:00
Saul Wold
7f67843c32 bootimg: Fix Quoting
(From OE-Core rev: 18ad7e003e36510ff0097d71bad0378a77fabbdd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 17:51:51 +00:00
Otavio Salvador
2684714480 syslinux: bump PR
The change done in 868a81e869a6193aada2073ae533d937a1c0baf4 has
changed the packaging however it haven't bump the PR making
auto-building fail.

(From OE-Core rev: eaa8c7d7c047c44067c8931edc81fe476b9a36db)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 14:38:38 +00:00
Paul Eggleton
0e39107047 bitbake: implement BB_VERBOSE_LOGS
Enable configuring whether "set +x" is added to all shell tasks rather
than forcing it; this is enabled by setting BB_VERBOSE_LOGS to 1.

(Bitbake rev: 659411b6bb30e1a8355afc1c29b8170a8f2b55ac)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 13:47:10 +00:00
Richard Purdie
8fbdf5faa6 tcl 8.5.11: fix packaging for native version
Fix an issue in the previous commit:

ERROR: Nothing RPROVIDES 'tcl-native-lib-native' (but virtual:native:/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly/build/meta/recipes-devtools/tcltk/tcl_8.5.11.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'tcl-native-lib-native' is unbuildable, removing.

by replacing ${PN}-lib with tcl-lib

(From OE-Core rev: 3cb519598d9ce044ccccb2d6a52a3c0933433501)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 13:35:02 +00:00
Richard Purdie
b82a793bdb More quoting fixes
(From OE-Core rev: 749d252475df090d51313cfbbe3f159db9f0566d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 13:14:42 +00:00
Richard Purdie
f60a5d159b bitbake/ConfHandler: Be more strict about variable quoting
Currently, bitbake will accept variables in the forms:

X = 1
X = '1 \

X = "1"
X = '1'

which will all set X=1. This patch removes the first two possibilities
and makes quoting mandatory. There is little metadata out there which
doesn't quote properly and bitbake will exit with an error about the
exact line number and file with any problem so users can easily identify
and fix issues. OE-Core has already been checked/fixed.

The motivation for this is being able to give sane errors if a user
does something like:

IMAGE_INSTALL += # tslib mtd-utils"

which currently gives a really nasty failure.

(Bitbake rev: a8ae80741fea5e0ec0fb9a52a963a4baa38d2564)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:33:20 +00:00
Richard Purdie
126f634207 image_types: Refactor compression code into a generic compression solution
The current approach of adding each different compressed image type doesn't
scale. This patch changes the code so compressed images for each form are
automatically available using the form <type>.<compression type> in
IMAGE_FSTYPES. This doesn't change any existing externally visible behaviour
and the image generation process becomes more efficient as a result too.

(From OE-Core rev: b7e4ed41ee480f00b7265341e9e2d2c2b9135143)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:53 +00:00
Zhai Edwin
93d157b724 qemugl: Fix gl apps failure on qemu-x86-64
Extend commit 028968 to qemu x86-64, where stack disorder happen due to
register handling via push/pop.

[YOCTO #1927] fixed

(From OE-Core rev: 70c224d80c2330cbb0fa8213b0c0d5a1c87459f6)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:53 +00:00
Zhai Edwin
3152baea3e libskba: Fix for multilib
(From OE-Core rev: 5cf9c308756017648692d2559ec5cd432fbd5a5a)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:53 +00:00
Zhai Edwin
aebb13e885 gnupg: Fix for multilib
(From OE-Core rev: a1db815957a0409255c517d3a35382ee704c8390)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:52 +00:00
Koen Kooi
2902bbe44f tcl 8.5.11: fix packaging
Include /usr/lib/tcl8 for the msgcat and test module, force dependency on tcl-lib since shlibs isn't picking it up.

(From OE-Core rev: 77eaa55d94e8ce73aa3c43b1f068d6ad4cf20e80)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:52 +00:00
Wenzong Fan
695a609057 gettext: Get gettext use its own libunistring
According to its documentation, gettext 0.18.1.1 needs either
libunistring or it will use its own internal version. Just add
a configure option '--with-included-libunistring' to force the
latter to avoid races.

[YOCTO#1934]

(From OE-Core rev: f4f242cf8af9df3dc2394d245740b173f34cbf81)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:52 +00:00
James Limbouris
991e34ca89 mtd-utils: Don't use host 'ranlib' or 'ar'.
If ranlib, ar, or cc are not supplied to make, it attempts to use ${CROSS}xxx.
Since ${CROSS} is not set, host ranlib may run, producing an unusable .a file on some platforms.

(From OE-Core rev: b8231237c6878599833c9bbaef7b68060fcbe935)

Signed-off-by: James Limbouris <james@digitalmatter.com.au>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:52 +00:00
Andreas Oberritter
13949f2100 qt4.inc: depend on tiff
* Fixes the following error with qt4-embedded-4.8.0 and possibly others:

| ../../../gui/image/qtiffhandler.cpp:48:20: fatal error: tiffio.h: No such file or directory

(From OE-Core rev: d0853052228128ccca2b744dae9c4dceae23067a)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:51 +00:00
Matthew McClintock
36a0bde559 tune-ppc*.inc: update to use new default value for TUNE_PKGARCH
(From OE-Core rev: 12f0a0d3e1afe90633c8b95d36670ab0f156e912)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:51 +00:00
Matthew McClintock
1919ba235f bitbake.conf: add default value for TUNE_PKGARCH
Add a default value for TUNE_PKGARCH. This let's us use
the following:

TUNE_PKGARCH_tune-ppce500

Instead of scanning over variables and using bitbake internal
functions to create a valid value here.

(From OE-Core rev: 785962440131f993b912d26cba39dc7ffc91aad4)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:51 +00:00
Matthew McClintock
b3f05552bc multilib.bbclass: allow TARGET_VENDOR_virtclass-multilib to be overriden
If we set this bit, we can override the ugly "pokymllib32" to back to
"poky" (powerpc-pokymllib32-linux-gcc -> powerpc-poky-linux-gcc). I've
left this unset by default, but can be set by adding the following:

TARGET_VENDOR_virtclass-multilib-lib32 = "-poky"

(From OE-Core rev: 01fd9be5db633d881c789c5b119f794a3f1000da)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:51 +00:00
Matthew McClintock
e42bc47ef8 tune-ppce5500: consolidate ppce5500 and ppc64e5500 into one tune file
We don't need two files for this. Also this fixes some mutlilib build
issues where we were not able to select the multilib arch to be
ppce5500 or ppc64e5500.

Changes recently made to meta-fsl-ppc layer depend on this change as
well

(From OE-Core rev: 4fbb72a359fea2e0922f472f48f186bbd1ca2b36)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:50 +00:00
Matthew McClintock
df329ad709 arch-powerpc{, 64}.inc: update/add PACKAGE_EXTRA_ARCHS for powerpc/powerpc64
(From OE-Core rev: d19298a4915e00f4a91364d64ddc5fb9689b23c9)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:50 +00:00
Bruce Ashfield
6beb61f3ca linux-yocto: allow non-branched repositories to check out
Not all users of the checkout phase of linux-yocto have all
branches present. This is normal, and should be supported. By
checking for an empty KBRANCH we can avoid validating a branch
that isn't supposed to exist.

[YOCTO #2032]

(From OE-Core rev: fb2b3c7c10df1b44679a20e7dffd37f07fd01aba)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:50 +00:00
Bruce Ashfield
84ad6671d5 linux-yocto: update 3.2 kernel to v3.2.7
Updating the 3.2 kernel recipe to the latest -stable release.

(From OE-Core rev: 97d55a32c7bb7650af59a5bce49cf8409a875f98)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:50 +00:00
Bruce Ashfield
d1130b4b21 linux-yocto: update 3.0 kernel to v3.0.22
bumping the revision of the 3.0 kernel to the latest -stable release.

(From OE-Core rev: b91c32360469ce97fc00e807e7c3415fed1848a5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:49 +00:00
Khem Raj
9fff795f12 bluez4: Fix build on x86/amd64 with gcc 4.7
gcc figures an impossible asm contraint
in inline asm which it is correct about

"i" requires the operand to be a compile-time constant
but memory location of a multi-dimensional array isn't constant
at compile time.

(From OE-Core rev: 09dcd878a55b5aec5427288c4faf3c4d64a30a72)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:49 +00:00
Saul Wold
7f27de5bdf distro_tracking: Account for updates and Manual Checking
Updates:

sqlite3
psmisc
boost
file
util-linux
tiff
mkfonddir
mkfontscale
libdrm
xf86-video-intel

Manual Checks:
libcheck
libcap
console-tools
zip
unzip
sysfsutils
less
usbutils
sysstat
cracklib
libexif
qemugl
glew
squashfs-tools
lsb

Fixup:
bzip2

(From OE-Core rev: d3bc674dc7ec46b215df50236b95d3b0aed2ee4a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:49 +00:00
Saul Wold
622327145c bind: add DEPENDS for libcap
(From OE-Core rev: aced47c5044fd9e69975dde0071efb7964bd93fa)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:49 +00:00
Saul Wold
68f2485a83 tiff: Update to version 3.9.5
Ensure that OpenGL and friends are disable with the
setting of ax_cv_check_gl_libgl = no.

(From OE-Core rev: 69e67ac74bda6de1243e35643ee4af8a25a5f32f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:48 +00:00
Saul Wold
adc53a00f8 xf86-video-intel: Update to version 2.18.0
(From OE-Core rev: 0118a6e05de5b6de65a190e7962e35de2e920bdf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:48 +00:00
Saul Wold
9a3d725780 sqlite3: Update to version 3.7.10
(From OE-Core rev: faf0fd34c65f2f715aad26676b4af74a2badabd6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:48 +00:00
Saul Wold
d6e0cbc087 boost: Update to version 1.49.0
(From OE-Core rev: db7d0089205124d2c537bd3185444581a7a351fa)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:48 +00:00
Saul Wold
4ab5d64b96 mkfontscale: Update to version 1.1.0
(From OE-Core rev: 5293df3a10a27dcd1d68b2a5c716f236fcbbaff8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:47 +00:00
Saul Wold
4770a6e6ad mkfontdir: Update to version 1.0.7
(From OE-Core rev: 87fad1bbdad0b1da6aa6f1e5e933655fbf3247cd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:47 +00:00
Saul Wold
5fb90bc29c libdrm: Update to version 2.4.31
(From OE-Core rev: 769f6165b5b39da8308cf0f7410c267f25ae9553)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:47 +00:00
Saul Wold
86d3f776aa psmisc: Update to version 22.16
Remove libintl-link patch which has in the upstream code now

(From OE-Core rev: f3aad7c3a88dbe171147a703b98488c00a615fcf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:47 +00:00
Saul Wold
debd4da669 file: Update to version 5.11
(From OE-Core rev: 1cd88605f9fb989b854081e7d4b68874c6656250)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:46 +00:00
Saul Wold
79e8d533ee util-linux: Update to 2.21
This updates various checksums for the COPYING files, which moved in the process
no changes to Licenses

Tweak the scanf_cv_alloc_modifier and rebase the patch

(From OE-Core rev: 9cb35b41c803bd0d1904b2dc0e14624fa7ea6e95)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:46 +00:00
Saul Wold
ef461c4a2a qemu: Add glib-2.0 as depends
(From OE-Core rev: 37a8655bd4b781985eb6b4e33f1847e997609f7b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:46 +00:00
Saul Wold
caea5b9610 gnupg: Add missing patch for curl_typeof_fix
Seems the wrong commit was grabbed and missed this patch

(From OE-Core rev: 347426ca3dbe06df1d1b0976a81e96cf6238af21)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:46 +00:00
Paul Eggleton
0733f7a4a9 qt4-tools-nativesdk: improve and tidy up qmake build
* Use the same method to build qmake as in the qt4 target recipes
* We always have qmake from qt4-native so don't check if it exists -
  just skip the check like we do in the qt4 target recipes. This
  saves us a patch.
* Replace qt4-tools-native in DEPENDS with qt4-native

(From OE-Core rev: 71153270466352245fe2aa3318bbabb1f8062ed2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:45 +00:00
Paul Eggleton
afc6d1bb31 qt4-tools-nativesdk: fix build of 4.7.4
Commit 4ccae37db1aa77a1d15098c3720ea6e2d383fbdc introduced a sed command
line to modify a file that only exists in 4.8.0, thus do_configure of
4.7.4 was failing; so make this conditional upon the file existing.

(From OE-Core rev: 0b948d20b835387702a4f5e103eaae5b4a330edd)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:45 +00:00
Paul Eggleton
6be627fd5f qt4: build qmake for the target
qmake was not being built at all (since we had the host version from
qt4-native) and the default is to build for the host machine within
configure. With a minor hack we can build qmake for the target as well,
which is useful if you want to build Qt 4 software on an actual device.
This is now installed as part of the tools package (together with uic,
moc etc.)

Additionally, add an environment setup script (installed in
/usr/share/qt4/environment-setup or /usr/share/qtopia/environment-setup
for the embedded version) as part of the mkspecs package since the
mkspecs will not work without the paths set up by this script. The code
to create this script was adapted from the qmake2 recipe in meta-oe.

Also move do_compile() from qt-${PV}.inc up to qt4.inc as both versions
have the exact same content.

(From OE-Core rev: 4306606489a2d922595d4c86a21c496bbd8a607e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:25 +00:00
Paul Eggleton
76c1712202 qt4: fix compile error in Qt 4.8.0 with gcc 4.6
Ensure the Qt configure script can can detect the compiler correctly as
g++. This fixes the following compile error with gcc 4.6:

./wtf/NullPtr.h:48:1: error: identifier 'nullptr' will become a keyword in C++0x [-Werror=c++0x-compat]

(From OE-Core rev: f29bb5b2a99ecef46e5570bf3336e9680c0b6705)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:24 +00:00
Yi Zhao
cf87669e7c task-core-lsb: add lsbtest to RDEPENDS_task-core-misc list
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:24 +00:00
Yi Zhao
835197d65c distro_tracking_fields: add information for lsbtest
Add information for recipe lsbtest.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:24 +00:00
Yi Zhao
36a2f338f3 lsbtest: Add recipe for LSB tests and automate test
The recipe is used for LSB tests. The script LSB_Test.sh does the following things:
- setup LSB testing environment
- download LSB rpm packages with list file packages_list from remote
- install the packages
- execute LSB testing with profile file session
- collect the results

Install packages_list and session files into ${D}/opt/lsb-test.

[YOCTO #1567]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:24 +00:00
Lianhao Lu
c3a23ec304 scripts/prserv-tool: Adepted to new bitbake cache.
Adepted to the new bitbake cache mechanism which is based on file
content but not on file timp stamps any more.

(From OE-Core rev: c1705317f9456f761da2094e886a07939291e53a)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:23 +00:00
Paul Eggleton
ce0ecf5d84 bitbake: fix setscene task start/failure handling
* When a setscene task starts, print out that it's starting in the UI
  (ensuring we get the correct task name)
* When a setscene task fails, ensure we remove it from the list of
  running tasks so that if you break out any time afterwards it
  is not still listed.

(Bitbake rev: e8a3499c95a6d4f2b8fed002fb9504733c5be3c6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:22 +00:00
Paul Eggleton
e7952c1883 bitbake/runqueue: make dry-run do everything except execute
Make dry-run do everything except executing the task, instead of
cutting it off earlier. This fully tests the code path for running the
child task (parsing and fakeroot), as well as enabling future
functionality such as using dry-run to produce signature files.

(Bitbake rev: bf1d7739618dabf3872a868230c0112b9ad2a2c0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:21 +00:00
Lianhao Lu
959981da53 bitbake: Added BBINCLUDED variable.
Added new variable BBINCLUDED indicating the file dependency
information. It exposes the internal variable '__base_depends' and
'__depends'.

(Bitbake rev: af524a656fce32d01687481b86c31bef00eb9fc3)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 12:27:21 +00:00
Dongxiao Xu
927bec5f72 bitbake.conf: Create a new filter variable BB_HASHCONFIG_WHITELIST
Create a new filter variable BB_HASHCONFIG_WHITELIST to filter
variables for calculating cache's hash value.

(From OE-Core rev: 8d4db8e6dcd2d25637cb77515fe776552f2fdd6d)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-27 20:10:41 +00:00
Dongxiao Xu
a295cdc19f data_smart.py: Uses BB_HASHCONFIG_WHITELIST to filter unnecessary variables
Adopt the BB_HASHCONFIG_WHITELIST as a exclusion list for variables that are
not needed in cache hash calculation.

(Bitbake rev: ae8cf138b5eb8f1f28a7143b8d67ad06cbe43061)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
CC: Christopher Larson <kergoth@gmail.com>
CC: Martin Jansa <martin.jansa@gmail.com>
CC: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-27 20:10:40 +00:00
Richard Purdie
f420fb3de1 glib-2.0: Disable fam, we don't depend on it
Various people are reporting glib-2.0 failures from a dependency on
libfam creeping in uninvited. This patch explicitly disables it to
favour a deterministic build.

(From OE-Core rev: e1d5a81bf78786dcb11a4840436f46ba9ec4010e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-27 12:17:27 +00:00
Martin Jansa
6cf61b30aa arch-armv7.inc: fix quoting
(From OE-Core rev: 6e1065a4988489baa762f7dc1535fe326e0ba7b5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 23:01:42 +00:00
Martin Jansa
3349b88a76 More quoting fixes
* We have various variables which are either not quoted at all or are half
  quoted. This patch fixes the bad exmaples so everything is consistent.

(From OE-Core rev: 960ee8076e860353a05eb2eb7f825a455c54698d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 22:51:58 +00:00
Richard Purdie
36e918b8a8 Quoting fixes
We have various variables which are either not quoted at all or are half
quoted. This patch fixes the bad exmaples so everything is consistent.

(From OE-Core rev: 30253358f5e76fb7b25be27198b4c125e0dbdf2c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 12:52:12 +00:00
Eric Bénard
21f2c0b5cd pulseaudio: Really disable orc support
If orc is detected the compilation fails with missing headers which
should have been generated by orc (using meta-angstrom + meta-openembedded
and and armv7 target)

[RP: add RP bump, fix typos]
(From OE-Core rev: 8f72d9e4ecf495646af3c5cebe7f08ca01bbbb99)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:56:05 +00:00
Saul Wold
c02bea652b gnupg: Update checksum, fix configure and compliation issues
This recipe was added, but did not have the correct
checksum information for the LIC_FILES_CHKSUM or the
SRC_URI.  Also disable Documetnation for now due to
older autotools issue.

[YOCTO #1966]

(From OE-Core rev: e8c02ead5ce130492eb11457f58cc4d28a330132)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:45:23 +00:00
Saul Wold
43d9193f69 syslinux: Package unpackaged files in -misc
(From OE-Core rev: 868a81e869a6193aada2073ae533d937a1c0baf4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:45:23 +00:00
Andreas Oberritter
eb8ce05d13 automake: omit compilation of pyc files on install
* On install, automake calls py-compile, which previously
  compiled python source code to pyc and pyo, which both
  got packaged.
* The python interpreter in OE contains patches to enable
  optimization (pyo) by default:
    04-default-is-optimized.patch
    99-ignore-optimization-flag.patch
* automake created pyc files by calling py_compile.compile()
  and adding the c suffix manually, resulting in identical
  byte code for both pyc and pyo files.
* py-compile-compile-only-optimized-byte-code.patch
  applies to automake 1.11 and automake master, but older
  versions require a slightly modified patch. However,
  older versions are only pinned by chinook-compat and
  nylon, so I left them untouched.

(From OE-Core rev: 40ccf816c597e7eed5243fb4b4e9473d2b58afaa)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>

The patch was imported from the OpenEmbedded git server
(git://git.openembedded.org/openembedded) as of commit id
aa4585c5065e05c759f16e1e8623fc7f40640f1b.

Modified to apply to automake version 1.11.2 and to
include a patch header. Also renamed the patch.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:42:34 +00:00
Andreas Oberritter
6aa3a09876 xorg-lib: don't build libs unless requested by DISTRO_FEATURES (fix up)
* Improve error message as suggested by Koen.
  (This got lost when v1 was committed instead of v2)

(From OE-Core rev: 384912b4719a77b2e5f6673066e75258df130f5d)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:42:33 +00:00
Otavio Salvador
1adeb37d79 qt4-native: set headerdir as done in regular builds
qmake uses a generated qt.conf file that expects headers to be found
at ${includedir}/qt4 but qt4-native were not following this layout
breaking the builds of native binaries that use qt4.

(From OE-Core rev: 7828bf71babd965b263249f4a24ecfe58e97cc0b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:15:07 +00:00
Robert Yang
5ecae0be86 local.conf.sample.extended: Add config sample for disk space monitoring
Add config sample for disk space monitoring to
meta-yocto/conf/local.conf.sample

[YOCTO #1589]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:07:25 +00:00
Robert Yang
9674ea28ff V5 Disk space monitoring
Monitor disk availability and take action when the free disk space or
amount of free inode is running low, it is enabled when BB_DISKMON_DIRS
is set.

* Variable meanings(from meta-yocto/conf/local.conf.sample):

  # Set the directories to monitor for disk usage, if more than one
  # directories are mounted in the same device, then only one directory
  # would be monitored since the monitor is based on the device.
  # The format is:
  # "action,directory,minimum_space,minimum_free_inode"
  #
  # The "action" must be set and should be one of:
  # ABORT: Immediately abort
  # STOPTASKS: The new tasks can't be executed any more, will stop the build
  #           when the running tasks have been done.
  # WARN: show warnings (see BB_DISKMON_WARNINTERVAL for more information)
  #
  # The "directory" must be set, any directory is OK.
  #
  # Either "minimum_space" or "minimum_free_inode" (or both of them)
  # should be set, otherwise the monitor would not be enabled,
  # the unit can be G, M, K or none, but do NOT use GB, MB or KB
  # (B is not needed).
  #BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K"
  #
  # Set disk space and inode interval (only works when the action is "WARN",
  # the unit can be G, M, or K, but do NOT use the GB, MB or KB
  # (B is not needed), the format is:
  # "disk_space_interval, disk_inode_interval",  the default value is
  # "50M,5K" which means that it would warn when the free space is
  # lower than the minimum space(or inode), and would repeat the action
  # when the disk space reduces 50M (or the amount of inode reduces 5k)
  # again.
  #BB_DISKMON_WARNINTERVAL = "50M,5K"

[YOCTO #1589]
(Bitbake rev: 4d173d441d2beb8e6492b6b1842682f8cf32e6cc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:05:27 +00:00
Richard Purdie
aac45679fb bitbake/runqueue: Ensure finish_now() sets the runqueue state consistently
If we call finish_now(True), rq.state is not updated to match. This
makes the behaviour of finish_now(False) and finish_now(True) consistent
so both leave rq.state consistently.

(Bitbake rev: 9079ae0ab74f9232b7e9853b2013b051d4fcf623)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:04:38 +00:00
Eric BENARD
1cb4614f1d gdb-cross-canadian: build gdb with python support
* python support is needed for providing finer scripting control
in gdb, and for remote controling gdb for example from qtcreator
* gdb/configure tries to autodetect python using python executable
with --includes --ldflags --exec-prefix to get the right flags
As it's difficult to achieve in OE's context, we generate a
script which will return the right values and make gdb's build
system happy. This idea was taken from the following article :
http://www.mentby.com/doug-evans-2/python-enabled-gdb-on-windows-and-relocation.html
* tested using angstrom & armv7 target & qtcreator 201005 & 2.4.0

* MJ: updated paths to python as disscussed here
  http://lists.linuxtogo.org/pipermail/openembedded-core/2012-February/018222.html
  now it's easier with cross-canadian staging dir and SDKPATH fixed :)

(From OE-Core rev: 73a90b88541c373aa5b83a939dd3b5f1fe05b9b8)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Cc: fcooper@ti.com
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:00:07 +00:00
Martin Jansa
56bbea6dcf layer.conf: add keymaps to SIGGEN_EXCLUDERECIPES_ABISAFE
(From OE-Core rev: 1669ae88553c4124387438b88541de8e7951b4a4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 10:56:46 +00:00
Martin Jansa
17fe2963c9 sstatesig: add SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS option to exclude well defined recipe->dependency
(From OE-Core rev: d73c139fd73ee268d29837db6ccc69c412022d6e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 10:56:45 +00:00
Martin Jansa
745f5c329d bitbake.conf: remove TARGET_ARCH from in SDKPATH
* SDKPATH shouldn't depend on TARGET_ARCH as discused here:
  http://lists.linuxtogo.org/pipermail/openembedded-core/2012-February/018222.html
* introduce SDK_NAME_PREFIX so that distributions can overwrite only
  this instead of whole SDK_NAME

(From OE-Core rev: 54821d53f75eb31f1eca3809e674680316dcbf69)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 10:56:45 +00:00
Martin Jansa
7160f874c4 bitbake.conf: use weak assignment for BB_CONSOLELOG
* some people prefer subdirectory like ${TMPDIR}/cooker/${DATETIME}.log

(From OE-Core rev: d3a06178202c65ce52ea8ad7af5b72ed5c0881d4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 10:56:45 +00:00
Richard Purdie
be1443b9d0 cross-canadian: Set STAGING_DIR_HOST correctly
As reported by Martin Jansa, the path to nativesdk sysroot was changing between
nativesdk and cross-canadian recipes. The problem was the incorrect deinfition of
STAGING_DIR_HOST in cross-canadian.bbclass.

Since nothing really uses the cross-canadian output in the sysroot, only the
packages, its not surprising this bug has gone un-noticed.

(From OE-Core rev: 8c6966cb8e353dc28819419ea7e395fb0d5f2536)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 10:56:44 +00:00
Richard Purdie
e17c709b43 glib: Drop dbus dependency, it isn't useful
dbus is only needed for some of the glib tests which we don't use. We can
therefore drop the dependency and gain some small parallelism gains.

(From OE-Core rev: 4642ae91cee2978956a61cf15df7ea62e3eb1726)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 10:56:44 +00:00
Darren Hart
a54932dc37 poky-tiny: Assume pkgconfig is provided
-dev packages require pkgconfig, but it pulls in glib->dbus->shadow
which breaks with tiny's minimal libc.

-dev packages are not currently supported on poky-tiny.

[YOCTO #2030]

Proposed-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 10:56:24 +00:00
Joshua Lock
2ff96d664e crumbs: add back progress implementation for depexp
The commit which introduced the new hob UI also deleted this class
which is used by depexp.

(Bitbake rev: d54dbe54cde8e0086bf1fb4926468e212660db53)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-25 11:55:45 +00:00
Paul Eggleton
c9e95d3363 bitbake/cooker: terminate when errors found in layer configuration
If we find an error in the layer configuration (such as an unsatisfied
item in LAYERDEPENDS) then exit by raising an exception at the end of
handleCollections() (without producing a backtrace).

(Bitbake rev: c7486a09310fe63b1aa1b7b0bb9450f306b6093b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 23:30:27 +00:00
Andreas Oberritter
e894f0e71c initscripts: mount and unmount cifs network filesystems
* Added cifs to mountnfs.sh and umountnfs.sh.

(From OE-Core rev: c44e51f281101c8933679f679e3d4a75a41bedf7)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 23:25:53 +00:00
Martin Jansa
ee86f899e1 layer.conf: use += for SIGGEN_EXCLUDERECIPES_ABISAFE and split to multiple lines
* += is important, because if oe-core is in BBLAYERS after some other
  layers with SIGGEN_EXCLUDERECIPES_ABISAFE it overwrites their entries

(From OE-Core rev: 3aa1bb01c0fa91bcb7d9a03198d19ac88a1bdecb)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 23:25:52 +00:00
Otavio Salvador
b6bd0f8a32 useradd.bbclass: override USERADDSETSCENEDEPS to empty when building cross packages
(From OE-Core rev: 5650eb44ea28c87f2f87ea3c5a557b9f08d58775)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 23:25:52 +00:00
Elizabeth Flanagan
d7cef163e4 license.bbclass: Symbolic links of generic license
This is to reduce the size of licenses added to images. With this
commit license.manifest, original license and generic license
adds about .5M to a core-image-minimal image, substantially less
than what is currently occuring when COPY_LIC_MANIFEST and
COPY_LIC_DIRS are set.

(From OE-Core rev: 2c753a714c1ee2b7c6479836f47aeec182ca3670)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 23:25:52 +00:00
Elizabeth Flanagan
5272e883ff license.bbclass: Gather Pkg level licenses
We should look for LICENSE at a package level first. If it's
not found, we should use the recipe level LICENSE. This adds a
bit more granularity to license manifests where needed.

(From OE-Core rev: d50dd280f52587b6225bc5db3c9e85f78107f5f5)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 23:25:52 +00:00
Elizabeth Flanagan
cde25845a7 less_444.bb: Adding license email from author
This slipped off my plate. Adding the email response from the
author of less which allows us to use a generic BSD instead of
the less license.

(From OE-Core rev: fa7bdf96b8eb8b5078db38249c5c60ec511c35c6)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 23:25:51 +00:00
Saul Wold
3be2c7d611 distro_check: fix the fedora URL for rleases as they seem to have moved
(From OE-Core rev: eb2d70e02d299ab651aebda49d2006aef16b4ae0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 23:25:51 +00:00
Dongxiao Xu
21ddc964ce scripts/hob: Launch the new hob
Change the scripts to launch the new Hob.

(From OE-Core rev: 22194a04f224864dd687660e351a3a10da1f06fa)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 18:09:20 +00:00
Martin Jansa
f496389aa8 gst-plugin-bluetooth: upgrade to 4.98 and add checksums
(From OE-Core rev: d390a2d6a14b1bec11f6e6ceaa448e15f18e0017)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 18:04:49 +00:00
Martin Jansa
3a20beb260 shadow-sysroot: disable package creation
(From OE-Core rev: a46d80247553f5ecb68bdd3f77ec539381350399)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 18:04:49 +00:00
Dongxiao Xu
656f9a0758 Hob: A new implemetation (v2)
This commit implements a new design for hob
Some of the new features:
 - Friendly new designed GUI. Quick response to user actions.
 - Two step builds support package generation and image generation.
 - Support running GUI seprarately from bitbake server.
 - Recipe/package selection and deselection.
 - Accurate customization for image contents and size.
 - Progress bars showing the parsing and build status.
 - Load/save user configurations from/into templates.

(Bitbake rev: 4dacd29f9c957d20f4583330b51e5420f9c3338d)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Fengxia Hua <fengxia.hua@intel.com>
Designed-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 18:04:27 +00:00
Bruce Ashfield
14df6d53b6 linux-yocto: improve checkout error handling and reporting
The typical workflow for linux-yocto simply uses a remote
upstream repository (Whether it is mirrored or not), and in this
case there are no issues with consistency in the format of the
resository that is unpacked into the WORKDIR.

When working with a local linux-yocto repository for kernel
development the remote vs local branches is not always consistent
between repositories.

The suggested/documented workflow has always been to use a
bare clone of linux-yocto, and use a second working tree repository
for development. Changes flow from the working tree to the bare
clone and then into the working directory for build. A common
mistake that happens with this workflow is that the non-bare,
working repository is used instead of the bare clone version.

If a non-bare repository is reference by the SRC_URI, then the
branches that are fetched into WORKDIR are not consitent. If the
MACHINE and META branches are not present, cryptic build errors
will result.

To solve this problem, the checkout code has been changed in
several ways:

  - works with a newly proposed 'bareclone' option to bitbake
  - detects if a bareclone is present in WORKDIR or not and
    adjustst the checkout accordingly.
  - if a non-bare clone is detected, machine and meta branches
    are checked. If they are not present, or can't be created
    a clear error message is produced
  - instead of manipulating the refs directly in the git tree,
    local tracking branches are (quietly) created for remote
    branches. Enabling a better workflow in the WORKDIR kernel
    repository.

This has been tested with linux-yocto remote upstreams, local
bare and non-bare respositories. All builds succeed or fail
with clear error messages.

(From OE-Core rev: e3b6537cc7931636ab11ae6ed2c8fbaad9da91bc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 17:12:05 +00:00
Martin Jansa
db94ad4cf3 sstate.bbclass: improve performance of sstate package creation
* also fixes replacing paths for perl where cmd line was probably
  too long for os.system(cmd) (it had 560410 characters because a lot of
  files from sstate_scan_cmd).
* also print those 2 commands so we can find them in log.do_package

(From OE-Core rev: 94c52d68fc2ce258bcc5b0978ac73413480a1a93)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 17:06:57 +00:00
Paul Eggleton
c8af05547e qemu: remove version 0.14.0
0.15.1 has been available in OE-Core for some time and has demonstrated
no major regressions, so remove the older version.

(From OE-Core rev: d242e637a2b5101985befd93d3b560f17b37504b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 17:01:45 +00:00
Paul Eggleton
ef36dc896d libsdl: allow building without x11
Disable X11 output support for target and nativesdk if x11 is not in
DISTRO_FEATURES.

Fixes [YOCTO #2020]

(From OE-Core rev: 506e4c9b05d61f126fff112d7c111902d5c9fac5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 17:01:45 +00:00
Paul Eggleton
189a854e8d qemu: enable building qemu-nativesdk without x11
Allow building for nativesdk with x11 removed from DISTRO_FEATURES
by conditionally disabling qemugl (which requires X).

Fixes [YOCTO #2020]

(From OE-Core rev: 136b13eb6a682222e2af887d3247a61310476c70)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 17:01:44 +00:00
Paul Eggleton
dfd6c546c4 psplash: allow building multiple splash executables
Adds a SPLASH_IMAGES variable which you can set to include one or more
images (listed in URI form as they would appear in SRC_URI), and an
executable will be built for each one, with each executable packaged
separately and managed at runtime using the alternatives system. An
optional "outsuffix" parameter can be used to specify the suffix for the
executable/package name. The images themselves can either be
pre-processed image header files (produced using the
make-image-header.sh script that comes with psplash), or alternatively
you can provide a .png and it will be converted using the aforementioned
script on the fly (at the expense of requiring gdk-pixbuf-native at
build time).

This has been implemented in such a way that you can still just provide
your own psplash-poky-img.h in a bbappend and it will work as it did
before; the only change being that the psplash executable is provided
in a "psplash-default" package rather than in the main psplash package,
and an RRECOMMENDS is set up to ensure psplash-default gets pulled in
(if you specify your own file or change the outsuffix you will need to
either install it separately yourself or add your own RRECOMMENDS
relationship.)

Implements [YOCTO #1947]

(From OE-Core rev: d3de5f7308b4a42b809884119a670af5bedde38f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 17:01:44 +00:00
Paul Eggleton
5dc51532b6 psplash: use OpenEmbedded logo
Use the OpenEmbedded logo for psplash in OE-Core.

(From OE-Core rev: cd321b83c78c00003f1ce06ac3ca85647cf9df51)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 17:01:44 +00:00
Paul Eggleton
16b715bc84 meta-yocto: add bbappend to restore Yocto psplash image
OE-core now uses the OpenEmbedded logo for the psplash image; override
this and use the Yocto Project image as we did previously.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 16:42:44 +00:00
Bruce Ashfield
408fd37529 fetch2/git: create bareclone option
For similar reasons as the nocheckout option, packages that need
enhanced control over the checkout and branch creation on a repository
may want a complete mirror/bareclone created of the repository when
performing the unpack.

This is useful/required when a local respository is being used, but
local tracking branches have not been created for all branches that
a given recipe needs to manipulate. The standard git clone operations
will create remote branches for the branches that are local to the
source repository, but branches that are remote do not translate to
the destination repository. Doing a mirror/bare clone of the source,
makes all branches available to the repository.

This is a particular use case, but the ability to do a bare clone
creates great flexibility in recipe space, with no impact to recipes
that don't need this functionality.

To implement this, a new option 'bareclone' is craeted which creates
a mirror copy of the repository and leaves it bare in the unpacking
phase. A recipe that uses this option must both checkout and debare
the repository itself.

(Bitbake rev: 82482aae6f311c994275fb0b6b32d954bbfc78c3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 16:40:08 +00:00
Paul Eggleton
72ce5c4cde conf/bitbake.conf: add DISTRO_FEATURES_BACKFILL
When introducing new items to DISTRO_FEATURES that control functionality
that is already enabled, in order to leave existing distro configuration
unchanged we need a way to "backfill" these new feature items onto the
existing DISTRO_FEATURES value.

This introduces a DISTRO_FEATURES_BACKFILL variable whose items will be
added to the end of DISTRO_FEATURES, unless they also appear in
DISTRO_FEATURES_BACKFILL_CONSIDERED which distros can use in their
configuration to prevent specific items from being added.

Fixes [YOCTO #1946].

(From OE-Core rev: 738658d9d5ddef026d2929188744aa225324bf26)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 16:37:07 +00:00
Khem Raj
5ac604e67a glib-networking: Add intltools-native to DEPENDS
(From OE-Core rev: deb501b8a1cb3cdb1ea0a48ea08e411c2be365b3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 16:29:47 +00:00
Dexuan Cui
ae34e43b24 task-self-hosted: add hicolor-icon-theme and socat
python-pygtk depends on libgtk and libgtk's recommends have
gdk-pixbuf-loader-{png,jpeg,gif,xpm}, so we have the warnings.
We can add hicolor-icon-theme to fix the warning:
Configuring gdk-pixbuf-loader-png.
gtk-update-icon-cache: No theme index file.
Configuring gdk-pixbuf-loader-jpeg.
gtk-update-icon-cache: No theme index file.
Configuring liberation-fonts.
Configuring gdk-pixbuf-loader-xpm.
gtk-update-icon-cache: No theme index file.
Configuring gdk-pixbuf-loader-gif.
gtk-update-icon-cache: No theme index file.

Add socat for to faciliate proxy setting.

(From OE-Core rev: d32933a74b380aac906bbfbe1ec7d89b02e9f72d)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 16:29:46 +00:00
Martin Jansa
c867e31f7e mpfr: add patch to fix build for thumb
(From OE-Core rev: 68bc9416d9e4beb027133e151b1bb3ecadd2ee26)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 16:29:46 +00:00
Richard Purdie
7c46f0b109 package.bbclass: Add a sanity check to the debugsrcdir removal code
(From OE-Core rev: 9f6b9d7d0402b883fc3ad3cdead40e838ce31a27)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 16:11:27 +00:00
Richard Purdie
f017b9b6b8 libfm: Fix packaging and dependency issues
Add missing pango and glib-2.0 dependencies.

Fix QA warnings:

WARNING: For recipe libfm, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/gio
WARNING:   /usr/lib/gio/modules
WARNING:   /usr/share/mime
WARNING:   /usr/share/mime/packages
WARNING:   /usr/share/mime/packages/libfm.xml

(From OE-Core rev: f6f527694e4f896b5d8a649f0b12f5b437c27cd1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 16:11:27 +00:00
Dongxiao Xu
d02f7b4649 runqueue: fire sceneQueueTaskStarted event when a setscene queue starts
The current code prints a log when a setscene task starts, therefore
the progressbar in hob will not receive it. Use a sceneQueueTaskStarted
event instead.

Besides, change the sceneQueueTaskFailed event to inherit runQueueEvent
directly to avoid confusion to event receiver.

(Bitbake rev: 7c07cc93d6558d7d9c3144b13493901b7ebae050)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 16:11:24 +00:00
Richard Purdie
e6230da00e image.bbclass: Ensure timestamp matches format used in initscripts after recent changes
(From OE-Core rev: 173a48f79f8f2f18737f1901fc5992223d456348)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 10:25:40 +00:00
Otavio Salvador
5aca6a7e94 update-rc.d.bbclass: do nothing for extended cross packages
(From OE-Core rev: a1f23a7cc527afdd1ce6cc7cd6083ee78fde09b3)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:47:51 +00:00
Otavio Salvador
826c1a1e44 rootfs_ipk.bbclass: fix status file location in rootfs
This fixes runtime requirement checking and read-only-fs checking.

(From OE-Core rev: c50a46fbd50a148146fb1f077db20cdc8121f20b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:45:44 +00:00
Dongxiao Xu
cc2ef82c0c meta-hob: Add a new meta-hob layer
This new layer contains hob-image.bb and hob-toolchain.bb that
are used by hob to build images or toolchain.

(From OE-Core rev: 213b5038215b1d7df10f1df0375610034fa156c7)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:39:10 +00:00
Dongxiao Xu
99c805a168 packageinfo.bbclass: add a new bbclass to pass package information
packageinfo.bbclass is to pass the accurate package information to
clients (e.g. Hob), including PN, PV, RDEPENDS, PKGSIZE, etc.

(From OE-Core rev: 1a0be9ec4d53cfcaea907edebe5d8bb525496b4e)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:39:09 +00:00
Shane Wang
9531161d40 package.bbclass: set package size into pkgdata for hob2's use
Write the size of a package into its pkgdata for hob2 to get the size
and show on the UI for image making.

(From OE-Core rev: 9c446d007957dab36ee2c012f0a5b22494a7a84f)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:39:09 +00:00
Richard Purdie
f378918c79 gthumb: Resolve staticdev QA warnings
Since the .a files are pretty useless in the case of plugin modules, lets
just remove them. This resolves the warnings:

WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libslideshow.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libimporter.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libimage_viewer.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libchange_date.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libedit_metadata.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libgstreamer_tools.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libphoto_importer.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libimage_rotation.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libfile_viewer.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libpixbuf_savers.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libexport_tools.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libconvert_format.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/librename_series.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libfile_tools.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libwebalbums.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libcatalogs.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libresize_images.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libimage_print.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libdesktop_background.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libred_eye_removal.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libcomments.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libfile_manager.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libjpeg_utils.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libgstreamer_utils.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/liblist_tools.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libbookmarks.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libsearch.a'
WARNING: QA Issue: non -staticdev package contains static .a library: gthumb path '/work/x86_64-poky-linux/gthumb-2.12.4-r1/packages-split/gthumb/usr/lib/gthumb/extensions/libraw_files.a'

(From OE-Core rev: a31d0dbd03b437de9c64a160e86ef97ef7e08807)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:03 +00:00
Richard Purdie
95eb87b7f6 autotools.bbclass: Make builds deterministic
We need to ensure any aclocal-copy directory is removed before we s
earch for .m4 files, else the locations .m4 files are found from can
vary depending on whether its the first or second time we run configure.

Clearing any existing aclocal-copy directory before we start resolves
this issue and makes builds deterministic again.

(From OE-Core rev: 673e2a05013cbe08efde936f663845031025689d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:02 +00:00
Richard Purdie
6ad11cba63 insane.bbclass: Only depend on desktop-file-utils-native when we need it
There is no point in depending on desktop-file-utils if we're not going to
use it. This patch makes the dependency conditional upon the desktop tests
being enabled.

(From OE-Core rev: f775f76dc01f1a969c00f697507958d8a4f9b088)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:02 +00:00
Richard Purdie
2fb9aace07 package.bbclass: Remove empty directories created as part of srcdebug handling
We can create directories like /usr/src/debug as part of the debug file
manipulations. If these are going to end up empty, remove them to avoid QA
warnings like:

WARNING: For recipe task-core-x11, the following files/directories were installed but not shipped in any package:
WARNING:   /usr
WARNING:   /usr/src
WARNING:   /usr/src/debug
WARNING: For recipe task-core-console, the following files/directories were installed but not shipped in any package:
WARNING:   /usr
WARNING:   /usr/src
WARNING:   /usr/src/debug

(From OE-Core rev: 4f4451f7c0f9762092eb3dbc995b4afa2572ceb6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:02 +00:00
Richard Purdie
e7caf3d1bc dbus-glib: Correctly package bash completion pieces to avoid QA warning
WARNING: For recipe dbus-glib, the following files/directories were installed but not shipped in any package:
WARNING:   /etc
WARNING:   /etc/bash_completion.d
WARNING:   /etc/bash_completion.d/dbus-bash-completion.sh
WARNING:   /usr/libexec/dbus-bash-completion-helper

(From OE-Core rev: 8f0d188df4aaccc3fd4911f12c532f81ae9714a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:02 +00:00
Richard Purdie
fa10f797e3 glib-2.0: Fix unpackaged files warning
WARNING: For recipe glib-2.0, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/gio
WARNING:   /usr/lib/gio/modules

(From OE-Core rev: a85f283ffae5407b23532ce2262142ee2d986af2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:01 +00:00
Richard Purdie
2065d3999d cracklib: Fix unpackaged files warning by disabling autodetected python
WARNING: For recipe cracklib, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/python2.7
WARNING:   /usr/lib/python2.7/site-packages

(From OE-Core rev: f9b184b9454da8374de7351af8619d0201d6f843)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:01 +00:00
Richard Purdie
68a738e538 libgcrypt: Fix unpackaged file warning
WARNING: For recipe libgcrypt, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/sbin

(From OE-Core rev: db3d5baa07ce8c81d229fdea4d80671768efa7a3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:01 +00:00
Richard Purdie
050be51c1d readline: Add a patch to remove the redundant rpath linker option
This resolves the QA warnings:

WARNING: QA Issue: readline: /work/x86_64-poky-linux/readline-6.2-r0/packages-split/readline/usr/lib/libhistory.so.6.2 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: readline: /work/x86_64-poky-linux/readline-6.2-r0/packages-split/readline/usr/lib/libreadline.so.6.2 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: readline: /work/x86_64-poky-linux/readline-6.2-r0/packages-split/readline/usr/lib/libreadline.so.6 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: readline: /work/x86_64-poky-linux/readline-6.2-r0/packages-split/readline/usr/lib/libhistory.so.6 contains probably-redundant RPATH /usr/lib

(From OE-Core rev: fe8661cd30b02dd8ea9bf172479f372c919c36a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:01 +00:00
Richard Purdie
bd7f819b1f libusb-compat: Address unpackaged files warning
WARNING: For recipe libusb-compat, the following files/directories were installed but not shipped in any package:
WARNING:   /lib/libusb.la

(From OE-Core rev: 019747e5fe834092731cdb2987d9c6e1f7fd1cc1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:00 +00:00
Richard Purdie
b899244305 libusb1: Address unpackaged files warning
WARNING: For recipe libusb1, the following files/directories were installed but not shipped in any package:
WARNING:   /lib/libusb-1.0.la

(From OE-Core rev: 3155ace4bd2c9ba0ecb0db4c65778601eb5ed186)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:00 +00:00
Richard Purdie
f409cf4bbd rpm: Fix LICENSE field
This addresses the warning:

WARNING: rpm: No generic license file exists for: LGPL in any provider
WARNING: rpm: No generic license file exists for: 2.1 in any provider

(From OE-Core rev: 2345f788c9206b87804292c0afdd73f565784d45)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:00 +00:00
Richard Purdie
b1d418e315 eglibc: Fix package warning
WARNING: For recipe eglibc, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/locale

(From OE-Core rev: d8c24378c6813036fcf9bc88cac919c3443c1446)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 00:12:00 +00:00
Saul Wold
1d7728e8cb distro_tracking_fields: fix typos
(From OE-Core rev: 1034e798cbab0bd16e35db6ae750f146fc8689c1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:40 +00:00
Dexuan Cui
da1b26c350 task-self-hosted: make the package lists alphabetical
This patch makes no actual change to the functionality of the recipe.

(From OE-Core rev: 0dff62c849650f3fa51ce80979b4d80dcc0d36f1)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:40 +00:00
Dexuan Cui
1eec640238 task-self-hosted: remove duplicate packages
The package names are specified more than once.
We only need to keep one for each of them, so let's remove the duplicated
ones.
This patch makes no actual change to the functionality of the recipe.

(From OE-Core rev: 121a1499a81706366acc0081272a6bff634d4d62)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:40 +00:00
Robert Yang
6224e30834 A script to clean obsolete sstate cache files
There would be many obsolete cache files in the SSTATE_DIR after several
builds, this script can remove the obsolete one for a pkg, only leave
the up to date one.

Here is the help text:

sstate-cache-management.sh <OPTION>

Options:
  --help, -h
        Display this help and exit.

  --cache-dir=<sstate cache dir>
        Specify sstate cache directory, will use the environment
        variable SSTATE_CACHE_DIR if it is not specified.

  --remove-duplicated
        Remove the duplicated sstate cache files of one package, only
        the newest one would be kept.

[YOCTO #1682]

(From OE-Core rev: 7c99ef6d2173b14e1109a540ee5ae47b56d707e7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:40 +00:00
Andrei Gherzan
ef29851fe8 openssl: Move libcrypto to base_libdir
This fix is for dhclient. It needs libcrypto at runtime and if
libcrypto is in libdir, it's path can be inaccessible on systems
where /usr is on nfs for example or dhclient is needed before
/usr is mounted.

(From OE-Core rev: 01ea85f7f6c53c66c76d6f832518b28bf06ec072)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>

[Fix comment to from /usr -> /lib - sgw]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:39 +00:00
Saul Wold
136d9cd07d boot-directdisk: Use correct SYSLINUX_TIMEOUT and SYSLINUX_ROOT instead of APPEND
(From OE-Core rev: 1284230ad554f8607cb02b054fdd74017ae7c861)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:39 +00:00
Saul Wold
5d04c6e173 image-live: fix SYSLINUX_TIME and add SYSLINUX_ROOT instead of APPEND
(From OE-Core rev: e03d5cbdfc39a835576b16a0beeea6858e983f56)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:39 +00:00
Saul Wold
1792a02606 image_types: add vmdk type to use with VMware
(From OE-Core rev: c18e6d444929c32a714b3e46f21567867e48814c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:39 +00:00
Saul Wold
8ea3bf3821 syslinux: add SYSLINUX_ROOT to APPEND line
By prepending the SYSLINUX_ROOT to the APPEND line, will allow a sane default
to be set for the various syslinux images

(From OE-Core rev: 47f53bc7998aa8390f846e939b6a7f6df3789777)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:38 +00:00
Saul Wold
4fe569e949 syslinux: Use SYSLINUX_TIMEOUT and SYSLINUX_PROMPT to configure syslinux
syslinux allows you to set TIMEOUT and PROMPT variables, when PROMPT is 0,
the "boot:" is not displayed uless one presses CTRL or SHIFT during startup.
TIMEOUT is in 1/10th of seconds, and a value of 0 for TIMEOUT will disable
the timeout mechanism.

In bitbake, recipes had set TIMEOUT (not SYSLINUX_TIMEOUT) incorrectly, other
patches fix this issues.  We are adding SYSLINUX_PROMPT to enable/disable the
"boot:" prompt in syslinux.

See http://www.syslinux.org/wiki/index.php/SYSLINUX for more details

(From OE-Core rev: be04e3b2e13c1a7e1cd5416771b72a80ec52b8ad)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:38 +00:00
Yauhen Kharuzhy
dced0c16e8 ppp: Fix rp-pppoe plugin compilation
rp-pppoe plugin was broken due linux headers changes: pppd has own copy of
if_pppol2tp.h file which is included from <linux/if_pppox.h>.

Add patch from Debian for struct pppol2tpv3_addr definition.

(From OE-Core rev: bc2581aff2a859b414c8097514527a9b5b0ab2a6)

Signed-off-by: Yauhen Kharuzhy <yauhen.kharuzhy@promwad.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:38 +00:00
Andreas Oberritter
83d1d135d6 mpeg2dec: depend on libx11 conditionally
* mpeg2dec currently doesn't build if x11 is unavailable,
  due to an unconditional dependency on libx11. However,
  libx11 is not required to build mpeg2dec.

(From OE-Core rev: 6ebbeeb0bcd29aec25e2c437d0bc95dd78d62f82)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:38 +00:00
Andreas Oberritter
c6580ce1e4 gst-plugins-base: depend on libx11 and libxv conditionally
* gst-plugins-base currently doesn't build if x11 is
  unavailable, due to unconditional dependencies on libx11
  and libxv. However, they are not required to build
  gst-plugins-base.

(From OE-Core rev: 668ebf38a5b9b0dbd0f6f1a0ebfafb04afbcbf07)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:37 +00:00
Mike Crowe
8d26a9f7e6 e2fsprogs: Cope with ${libdir} and ${base_libdir} being the same
${libdir} and ${base_libdir} may be the same. If they are don't try and
move files onto themselves.

(From OE-Core rev: 992604c533c9f3c2133cfa87c1121d43a508ec4a)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:37 +00:00
Andreas Oberritter
578b6f222d busybox: don't create /etc/default
* It's not used by the recipe and its creation
  currently depends on CONFIG_HWCLOCK=y.

(From OE-Core rev: cd59c2fcefa6aeacf78a63c5c9a623a4d77c0941)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:37 +00:00
Andrei Gherzan
762966eaae dbus: Remove empty ${lindir}dbus-1.0/test directory as we don't build tests
This empty directory generates a QA warning of unshippped files/dirs.

(From OE-Core rev: d3573ae136c532d3cf537ef05c22f163275f4f41)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:37 +00:00
Andrei Gherzan
566ae9796b e2fsprogs: e2initrd_helper was moved in libdir but not packaged correctly in FILES_libext2fs
The new install path of e2initrd_helper is %{libdir}. FILES_libext2fs modified accordigly to
avoid QA warnings.

(From OE-Core rev: 31684b34f3521e97dbfd35ff961960b9792ef657)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:36 +00:00
Andrei Gherzan
aba82ec3cd nspr: Add patch in order to remove rpath from binaries
This patch was created in order to avoid QA warnings.

(From OE-Core rev: 16b8a25ec03b9e9f360290263593b9f8f92bb9e1)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:36 +00:00
Andrei Gherzan
d8a78f3e32 nspr: Compile nspr with tests
1. Compile package tests suite
2. Add tests to -dev rpm as it needs dev libraries

(From OE-Core rev: c78db5086091e09e510fcd275918aee0949483c1)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:36 +00:00
Andrei Gherzan
af57b2e7ca nspr: Integrate version 4.8.9
(From OE-Core rev: cbe6eced99566129c575b43a58cdde2ac669a741)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Sergey 'Jin' Bostandzhyan <jin@mediatomb.cc>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:36 +00:00
Andrei Gherzan
adbe09435a dhcp: Update to 4.2.3-P2
1. Update to 4.2.3-P2
2. From 4.2.0 final release, -lcrypto check was removed and we compile static libraries
from bind that are linked to libcrypto. This is why i added a patch in order to add
-lcrypto to LIBS.
3. Add openssl in DEPENDS as we need libcrypto from this package
4. Drop installing /var/lib/dhcp/ as it is handled in pkg_postinst

(From OE-Core rev: 1cd882c47865a501d5401bad44e1c7f460ce2699)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:35 +00:00
Andreas Oberritter
a470400cf8 autotools.bbclass: Don't copy into non-existant directory
* If configure.ac contains AM_GNU_GETTEXT and po/Makefile.in.in
  doesn't exist, autotools_do_configure() copies a local
  version of Makefile.in.in to this location. If the directory
  'po' doesn't exist, the function aborts.

* This patch verifies that the directory exists before copying
  a file to it. This fixes libcddb, which uses AM_GNU_GETTEXT,
  but has no 'po' directory.

(From OE-Core rev: ba175bdfe85d701298d28e5190e55207420a24e8)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:35 +00:00
Martin Jansa
a6fb1939c1 wireless-tools: remove ldconfig call from install-libs
* and drop apply=yes param as it's not needed

(From OE-Core rev: ca343882f8e95b49b18b234000e387c879cf5885)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:35 +00:00
Gary Thomas
daeb5beb8f initscripts: Make /etc/timestamp consistent again.
Commit cc8695 changed the way timestamps were handled
and added some extra munging to be able to compare them
reliably.  This change makes the timestamp value the same
everywhere and simplifies how the check to set the system
clock based on the timestamp is done.

Also, if the value stored in /etc/timestamp is newer
[at all] than the current system time, set the system clock
from the stored value, down to the minute, not just the day.

(From OE-Core rev: 5aab6653c9afa05e7c1b3ccd6bd34aec05c2a6f8)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:35 +00:00
Andreas Oberritter
831e0b5cd7 xorg-lib: don't build libs unless requested by DISTRO_FEATURES
* If 'x11' is not set in DISTRO_FEATURES, then skip all
  recipes using xorg-lib-common.inc instead of only those
  using libx11.inc.

* One exception: pixman, which is not only used by xorg,
  but also by cairo.

(From OE-Core rev: a101bc85adcc915f151348107e850b8998a395b0)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:59:34 +00:00
Martin Jansa
5a4b06ddec e2fsprogs: remove ldconfig call from install-libs
(From OE-Core rev: 6a74c2050de4540deaf4e855bdf7aec4518f648a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:53:03 +00:00
Martin Jansa
30b709c50c sstate.bbclass: add *_config to SSTATE_SCAN_FILES
* e.g. mysql5 has mysql_config not mysql-config

(From OE-Core rev: aebdffc93ba8446bbd4e20263f0f75d4d4460c47)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:53:02 +00:00
Martin Jansa
331540ca8b apr: add apr_rules.mk to SSTATE_SCAN_FILES
(From OE-Core rev: 9db1f3b13c7e7f37c41f6a4fabdb2fc0c5ebc227)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:53:02 +00:00
Koen Kooi
9d6d5e37ab libsdl 1.2.14: regenerate patch so it applies with 'patch' as well as 'git apply'
The '@@ -, +, @@' part upsets plain 'patch'

(From OE-Core rev: 949f4dc6f2bd59aa3e2c782fee87f07438aebd21)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 23:50:52 +00:00
Richard Purdie
26882fdd67 sstatesig.py: Move package exclusion list to the layer config
its desireable for other layers to be able to append to the list of packages
with 'safe ABI's which are excluded from the sstate signatures.

I can't emphasise enough how careful you need to be with this list, anything
excluded here needs to be things which don't change interface and are consistent
between different machines.

(From OE-Core rev: 5adef35691a956c3071c0a1ed1caf6b58d1ec5a1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:22 +00:00
Richard Purdie
77988c32f1 sstatesig.py: Add handling for machine specific module dependencies
Adding dependencies on machine specific recipes from generic packages
causes a rebuild of the generic package per machine if using signatures
for the stamp files which is unacceptable.

We need to declare that RRECOMMENDS on kernel-module-* are safe
and that we shouldn't care about these machine specific dependencies
from a stamp perspective. This change adds code which does this.

It depends on a change in bitbake to expose the dataCache object
which can be used to make the calculations we need to allow this to
work correctly.

(From OE-Core rev: 91fc672756d45086cdf4e9c6de8e920dcd8cd14e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:22 +00:00
Martin Jansa
2ede6787ea python: add Makefile to SSTATE_SCAN_FILES
* it contains sysroot specific paths, this is from om-gta04 sysroot and
  notice nokia900
  ./usr/lib/python2.7/config/Makefile:CC=         arm-oe-linux-gnueabi-gcc  -march=armv7-a -fno-tree-vectorize      -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 -D__SOFTFP__ --sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900
  ./usr/lib/python2.7/config/Makefile:CXX=                arm-oe-linux-gnueabi-g++  -march=armv7-a -fno-tree-vectorize      -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 -D__SOFTFP__ --sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900
  ./usr/lib/python2.7/config/Makefile:LDFLAGS=-L. -L/OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/lib     -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
  ./usr/lib/python2.7/config/Makefile:LIBDIR=             /OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/lib
  ./usr/lib/python2.7/config/Makefile:INCLUDEDIR= /OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/include
  ./usr/lib/python2.7/config/Makefile:CONFIG_ARGS=         '--build=x86_64-linux' '--host=arm-oe-linux-gnueabi' '--target=arm-oe-linux-gnueabi' '--prefix=/usr' '--exec_prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--libexecdir=/OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/libexec' '--datadir=/usr/share' '--sysconfdir=/etc' '--sharedstatedir=/com' '--localstatedir=/var' '--libdir=/usr/lib' '--includedir=/OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/include' '--oldincludedir=/usr/include' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--disable-silent-rules' '--disable-dependency-tracking' \
  '--with-libtool-sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900' '--with-threads' '--with-pymalloc' '--with-cyclic-gc' '--without-cxx' '--with-signal-module' '--with-wctype-functions' '--enable-shared' 'build_alias=x86_64-linux' 'host_alias=arm-oe-linux-gnueabi' 'target_alias=arm-oe-linux-gnueabi' 'CC=arm-oe-linux-gnueabi-gcc  -march=armv7-a -fno-tree-vectorize      -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 -D__SOFTFP__ --sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900' 'CFLAGS=-O2 -pipe -g -feliminate-unused-debug-types' 'LDFLAGS=-L. -L/OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/lib-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed' 'CPPFLAGS=' 'CPP=arm-oe-linux-gnueabi-gcc -E --sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900  -march=armv7-a -fno-tree-vectorize      -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 -D__SOFTFP__'
  ./usr/lib/python2.7/config/Makefile:            $(RUNSHARED) /OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) -uall $(TESTOPTS)

(From OE-Core rev: bf1628286987ad6b4a762b0aeb6aece4a51e7255)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:21 +00:00
Andreas Oberritter
571c9c7980 lib/oe/utils.py: use bb.utils.vercmp_string
Fixes the following warning:

| WARNING: .../meta/lib/oe/utils.py:31: DeprecationWarning: Call to deprecated function bb.vercmp_string: Please use bb.utils.vercmp_string instead.
|  result = bb.vercmp(d.getVar(variable,True), checkvalue)

(From OE-Core rev: 925a9729afaa9cd498661f7f363112c974b023a2)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:21 +00:00
Shane Wang
8fa33800ef bitbake: change for adding progress bar in Hob2.
The changes include:
- Clean some events in event.py
- Fire essential events for Hob2 to handle with more information.
- knotty changes

(Bitbake rev: 9ede881620c501574f014e600cea6947ea908ac2)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:17 +00:00
Dongxiao Xu
de77b9752a command.py: add resolve option for generateTargetsTree API
Currently we have generateTargetsTree API, which is used to get
dependency information. However in that tree, there will be
"virtual/xxx" in depends fields. Therefore we add the resolve option
to replace it with its real providers.

Besides, for packages that provided by multiple recipes, we will find
their preverred provider.

(Bitbake rev: 28501612efdfc6ee47576cc90deb6e897883e7f5)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:17 +00:00
Dongxiao Xu
85fa989df7 command.py: Add a new API triggerEvent()
This functions enables the client to request triggering specific event
from bitbake server.

(Bitbake rev: 45da6d709a69697158fae92e1c0c0a6ac8f30831)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:16 +00:00
Shane Wang
cb873084d0 command.py: add new API to get the cpu count on the server
Add a new API in command.py to get the cpu count in order to set the appropriate default BB_NUMBER_THREADS and PARALLEL_MAKE variables.

(Bitbake rev: 335047b2e440e65713e88fabb24b47a9c82f939b)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:16 +00:00
Dongxiao Xu
c42f973180 bitbake: Add client socket info for BitBakeServerConnection
In server/client split model, the client will bind to a specific address
and port. We need to pass the values to BitBakeServerConnection().

(Bitbake rev: c8e19c5c389efc06696084c6f9439ba75472c5b7)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:16 +00:00
Dongxiao Xu
19089aca83 bitbake: add -B option to bind with interface
When start bitbake as a server only process, we need to assign certain
interface to it.

(Bitbake rev: 95b97d2dc6466ea3d99371f5b5bd68f6f3c99074)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:16 +00:00
Dongxiao Xu
b70bcb353d event.py: Add new events RequestPackageInfo and PackageInfo
RequestPackageInfo is triggered by GUI client to request the available
package information.

PackageInfo event is to pass package information back to GUI.

(Bitbake rev: 9020c2d4476766f63ff7e024bbd99043d06feefc)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:15 +00:00
Dongxiao Xu
8e737db4fc cache: Use configuration's hash value to validate cache
Previously we use the file time stamp to judge if a cache is valid.
Here this commit introduce a new method, which calculates the total
hash value for a certain configuration's key/value paris, and tag
it into cache filename, for example, bb_cache.dat.xxxyyyzzz.

This mechanism also ensures the cache's correctness if user
dynamically setting variables from some frontend GUI, like HOB.

(Bitbake rev: 1c1df03a6c4717bfd5faab144c4f8bbfcbae0b57)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:15 +00:00
Paul Eggleton
99d326a818 bitbake: add file and line number to ParseError
Ensure that a file and line number are reported for ParseError where
possible. This helps particularly in the case of inherit and require
which previously did not report either of these upon failure.

(Bitbake rev: f588ba69622a2df35417ced184e56c79ac1b40d5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:15 +00:00
Paul Eggleton
ebc0d4252a bitbake: fix parse errors not being reported
Fixes a regression introduced in BitBake rev
c9f58ef6b897d3fa5b0d23734b5f2cb3dabb057a which prevents errors during
parsing from being fully reported because BitBake shuts down before it
can print them. Move the error printing to before the shutdown in order
to fix it.

Also remove a couple of superfluous calls to sys.exit() since these
will never be called (as self.shutdown(clean=False) does this itself).

(Bitbake rev: 356c42ed00541dea2c382c57f768a4f431d22db0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:15 +00:00
Richard Purdie
4a1c163b55 siggen.py: Pass the datacache to signature generator classes
The dataCache exposes much useful information to the singature generation code
for example its possible to figure out whether kernel dependencies are
important or not based on the RRECOMMENDS values.

We therefore pass this information to the handler and trust it to handle
any API changes in the dataCache structure.

For backwards compatibility, OE-Core is already updated to handle
the extra argument when it appears.

(Bitbake rev: 4ebc25155d5f96a7f63de22b52b18d045eb4dec7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 22:52:15 +00:00
Zhai Edwin
d8b3718303 texi2html: Fix for multilib
(From OE-Core rev: 55f72b98f606c1554eb6edd151292ffdfddf1384)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 23:03:16 +00:00
Zhai Edwin
65c1399be1 quicky: Fix for multilib
(From OE-Core rev: 1be7873cec6630ddb485590a8473e04cfb224615)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 23:03:16 +00:00
Joshua Lock
a578fbce14 netbase: remove redundant assignments
There's no need to explicitly set PACKAGE_ARCH = MACHINE_ARCH, base.bbclass
takes care of setting this value for us based on the interfaces for those
machines being an OVERRIDE.

(From OE-Core rev: c3d5800d2850a186f91b5a0db642aa5d1c20156b)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 22:11:27 +00:00
Joshua Lock
729a9019bc base.bbclass: check all entries of FILESPATH for MACHINE overrides
The logic which looks for MACHINE overrides in SRC_URI and updates
PACKAGE_ARCH was checking only certain subdirectories of the recipes parent
which, amongst other issues, doesn't account for SRC_URI overrides in layers.

This patch changes the logic such that all FILESPATH entries are checked
for children named for MACHINE.

(From OE-Core rev: f2b572072c754048aaafdc4c42b71af87d61d9e7)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 22:11:27 +00:00
Joshua Lock
f409a49c3a external-csl-toolchain: skip parsing if CSL_VER_MAIN isn't set
(From OE-Core rev: 264d1254e5ac11613af06c0f1c53c736f54e9f54)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 22:11:26 +00:00
Richard Purdie
83007574cc sanity.bbclass: Add ABI version 8, used for transition from the OEBasic to OEBasicHash stamp layout
(From OE-Core rev: bf440fd971dd549ae4e92c54046ea062ef51cd85)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 22:06:19 +00:00
Richard Purdie
ea2c8defd5 meta-yocto: Add abi_version setting version 8, to match the OEBasicHash change and trigger warnings for existing build directories
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 22:06:11 +00:00
Lianhao Lu
3a2338607b meta-yocto/conf: Change default signature handler.
[YOCTO #1555]
1. Changed default signature handler to 'basichash' in poky.conf.
2. Added comment about PRservice settings in local.conf.extened.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2012-02-22 22:05:59 +00:00
Richard Purdie
30d0bbfb01 layer.conf: We really need to be able to override files in the core so reverse BBPATH priority
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 22:05:46 +00:00
Paul Eggleton
c8286e049f bitbake/ui/knotty: fix incorrect exit code
The recent Ctrl+C patch was not fully tested; the variable it was
relying upon is set to non-zero under other circumstances and thus
bitbake was reporting that it was interrupted and returning a non-zero
exit code when it was not. Track this status in a separate variable
in order to fix the issue.

(Bitbake rev: 95a599067650902727ecb4a39d6dd003c5cfedf3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 21:30:29 +00:00
Martin Jansa
8e0c7b3c0d siggen: compare runtaskdeps dictionary even when they have the same size
* otherwise it reports lots of changed checksums just because it compares different tasks

  notice linux-libc-headers_3.1.bb.do_package_write:
  Task dependency hash changed from 42acced29debf54d598802474c5e9cbb to f438a54f995df77620d0727d6f4b4ce5 (for linux-libc-headers_3.1.bb.do_package_write and linux-gta04_git.bb.do_deploy)
  Task dependency hash changed from 61f8babe1d10c6e7fb1423112bb04e1e to 1b3e21ff106ecfcb7ddf76a1e29537bb (for linux-nokia900-meego_git.bb.do_deploy and linux-gta04_git.bb.do_package_write)
  Task dependency hash changed from 512f9d6686d760b318d8b11c8b589226 to 42acced29debf54d598802474c5e9cbb (for linux-nokia900-meego_git.bb.do_package_write and linux-libc-headers_3.1.bb.do_package_write)
  Task dependency hash changed from 153e91dfd1d2053fda7b98cc08d4b802 to 92a293bdd8ed234932b87a66025038c5 (for systemd-serialgetty.bb.do_package_write and systemd-serialgetty.bb.do_package_write)
  Task dependency hash changed from 730abebf9954794bb440c2f3239f79fe to 413eaebaff27a2fd16f5cf68c1f4ff17 (for systemd_git.bb.do_package_write and systemd_git.bb.do_package_write)

  with this patch:
  Dependency on task linux-nokia900-meego_git.bb.do_package_write was added
  Dependency on task linux-nokia900-meego_git.bb.do_deploy was added
  Dependency on task linux-gta04_git.bb.do_deploy was removed
  Dependency on task linux-gta04_git.bb.do_package_write was removed
  Hash for dependent task systemd_git.bb.do_package_write changed from 730abebf9954794bb440c2f3239f79fe to 413eaebaff27a2fd16f5cf68c1f4ff17
  Hash for dependent task systemd-serialgetty.bb.do_package_write changed from 153e91dfd1d2053fda7b98cc08d4b802 to 92a293bdd8ed234932b87a66025038c5

* added test if there is different task with same hash then we don't
  show it as added/removed dependency, because bitbake doesn't care

(Bitbake rev: ca52bf32b479811bd7fed41648bedcc06b00430b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 20:32:40 +00:00
Paul Eggleton
e228289bf0 bitbake/knotty: ensure CommandFailed increases error count
CommandFailed already sets the return code, so we print out the error
summary message, however we don't increase the error count so it is
usually zero in this case. As we are actually showing an ERROR message,
increment the error count so that the summary makes sense.

(Bitbake rev: aeb71c3ca65dc42015c29c0e4cac050bfbcb51a5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 20:25:31 +00:00
Paul Eggleton
b62249f3db bitbake/knotty: ensure we return non-zero exit code on Ctrl+C
If the user uses Ctrl+C to exit out of the build, then ensure we return
a non-zero exit code since the entire build was not completed
successfully.

If nothing else, this is useful to avoid continuing in the bitbake
wrapper script in OE-Core if the initial pseudo build is interrupted.

(Bitbake rev: c11eab7fa230f1fd5cc33589f3555b94e95f202d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 20:25:30 +00:00
Paul Eggleton
5210cc40db bitbake: show appropriate warnings for universe target
When building the universe target:
* Show a warning about universe likely producing errors
* Multiprovider errors are now shown as warnings

Also remove an unused "error" variable in runqueue.py.

Fixes [YOCTO #1936]

(Bitbake rev: 293c796e8a3d1f74ca1e51017b6dede261612281)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 20:25:30 +00:00
Caleb Crome
0aedc60b02 Fix parser hang at 0% with single-core machines
The number of threads is self.num_processes - 1 due to the range(1,
self.num_processes). Fixed by changing to range(0, self.num_processes).

(Bitbake rev: adc041fd9e3def29cdf9c1ae4849c5383bac46e5)

Signed-off-by: Caleb Crome <caleb@signalessence.com>
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 20:25:30 +00:00
Christopher Larson
f7c0488bd5 persist_data: survive if sqlite3 couldn't enable the shared cache
(Bitbake rev: e870fd57bb84a17a871a5b5de3bf5202fe9b135f)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 20:25:29 +00:00
Christopher Larson
52ebd5ff1b knotty: shut down more cleanly
This ensures that when we are shutting down, we drain the queue of events from
the server. This ensures that the server never gets hung up on the join of the
feeder thread associated with the event queue, thereby avoiding a bitbake hang
issue.

Also, since the third keyboard interrupt now behaves the same as the second,
removed that message.

(Bitbake rev: ce9e0946b8a412616074809c76fba54f8bff36c4)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 20:25:29 +00:00
Christopher Larson
cf60f95d9f cooker: roll our own process pool
This fixes the hang issue encountered with parse errors. The underlying issue
seems to have been the pool.terminate(). This sends SIGTERM to each of the
multiprocessing pool's processes, however, a python process terminating in
this fashion can corrupt any queues it's interacting with, causing a number of
problems for us (e.g. the queue that sends events to the UI).

So instead of using multiprocessing's pool, we roll our own, with the ability
to cancel the work. In the very long term, the python concurrent.futures
module introduced in python 3.2 could be used to resolve this as well.

(Bitbake rev: 7c39cfd8e060cca8753ac4114775447b18e13067)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-22 20:25:29 +00:00
Saul Wold
87e32edb88 iputils: Add base_libdir to VPATH in order to find the crypto library
(From OE-Core rev: d4ffe12ca36bf10be4e0f9565d7c3d8e6f4a265a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:40 +00:00
Andreas Oberritter
d27351a2c2 consolekit: depend on libx11
* Fixes the following error at configure time:

|checking for TOOLS... no
|configure: error: Package requirements (x11 >= 1.0.0
|  glib-2.0 >= 2.14
|) were not met:
|
|No package 'x11' found

(From OE-Core rev: e5c60517a22997bb966bbe21a2d7cbc99a97b42b)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:39 +00:00
Bob Cochran
92dd65f05a udev.inc has a bad link for udev home page; update the link
Fixed bad link in udev.inc to the udev home page / documentation on
kernel.org

(From OE-Core rev: 479b9a52a013d990da296f96bd658db00423f9a6)

Signed-off-by: Robert Cochran<yocto@mindchasers.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:39 +00:00
Ken Werner
9c16786928 Add sanity checks for eglibc locale
Add sanity checks that test for the existance of folders. This allows to use
an external binary toolchain that doesn't have localization support.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:39 +00:00
Martin Jansa
b2a84e717e libsdl: add fix for new _XGetRequest symbol backported to libx11
(From OE-Core rev: d2c96e22de19a649ff7121e5ea0f95797abba93a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:39 +00:00
Wenzong Fan
888f9d59a9 eds-tools: Update it to fix the build error
The head file 'libedataserver/e-data-server-module.h' has been moved
to 'libebackend/e-data-server-module.h', just update eds-tools to get
the latest changes for fixing the path of 'e-data-server-module.h'.

Also update its recipe file to reflect it has been converted to git
repo and split all generated binaries to correct packages.

[YOCTO#1786]

(From OE-Core rev: 38d74ee1fe6f28ec4d7db79f550c7d2830d922fb)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:38 +00:00
Paul Eggleton
5aec33be72 buildhistory_analysis: correctly split RDEPENDS/RRECOMMENDS
Split RDEPENDS and RRECOMMENDS correctly (which may contain version
number specifications after each item).

(From OE-Core rev: d974ed4330f33c4f8dfd635a83c61a0d44e688b6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:38 +00:00
Paul Eggleton
79eb4b8fdb buildhistory_analysis: avoid noise due to reordering
Avoid noise in the output due to reordering of list variables (except
for PACKAGES where we just report that the order changed). Recent
changes to the buildhistory class itself will avoid this reordering
from occurring but this allows us to examine the results before and
after those changes.

(From OE-Core rev: e23c5b01766602c9c86b0a7ba170fb3b1aceb658)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:38 +00:00
Paul Eggleton
e155952b4d classes/buildhistory: fix splitting on + in package list fields
Ensure we do not erroneously split on + in RDEPENDS/RRECOMMENDS e.g.
libstdc++-dev was being split into libstdc and -dev.

(From OE-Core rev: cad533880df42ad4fe6f04d56d3a59cb4a033275)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:37 +00:00
Paul Eggleton
1b7014ffc5 classes/buildhistory: use hostname instead of reading /etc/hostname
For the purposes of querying the hostname to include it in the commit
message, it seems "cat /etc/hostname" does not work on the Yocto Project
autobuilder machines, and it's likely that the hostname command will be
more generally reliable, so use that instead.

(From OE-Core rev: cb939b753c9e7648a38e22e0349c279da785e69d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:37 +00:00
Paul Eggleton
04c290a492 classes/buildhistory: sort FILELIST in package info
The FILELIST order can vary depending on the order the files were
written which may change between builds with no ill effect, so sort the
list prior to writing it.

(From OE-Core rev: 2e9981000a211a89f88d7728393cc231e466581a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:37 +00:00
Paul Eggleton
3cce3196fa classes/buildhistory: sort and de-dupe dependency graphs
Sort dependencies of each package which sometimes change order and cause
noise in the buildhistory repo, and at the same time remove duplicates
(which seem to be common especially for the RPM package query output).

(From OE-Core rev: 830df6067c1ea4a5aab580b42ba7e1e84fe1bcbf)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:37 +00:00
Paul Eggleton
7b3ea97051 classes/buildhistory: squash spaces out of image variables
Values of image variables that are lists (e.g. IMAGE_INSTALL) are easier
to read if there are no extraneous spaces in them, so ensure that there
is only one space between each item.

(From OE-Core rev: 200159125eb6bcfc046c45cf5160b2eb340625e3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:37 +00:00
Dexuan Cui
9eab86041f task-self-hosted: add connman and connman-plugin-ethernet
Without this, the VMware guest running self-hosted-image can't get IP
address automatically.

(From OE-Core rev: 3fa9a7e4dc9eadce22a9838d2067d5af0111b04b)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:36 +00:00
Dexuan Cui
0f00536d0a mini-x-session: try to use a resolution that's big enough for hob2's window
The patch was tested on VMware Player 4.0.1.

(From OE-Core rev: d33cc3be420fb509d8dddb1f1a752db6d41f50f9)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:36 +00:00
Lianhao Lu
ab5eed4af1 gcc: Excluding the DATE/SRCDATE from do_patch dependency.
Corrected the error introduced by commit afb400e of dropping
DATE/SRCDATE out of the vardepsexlude list of do_patch.

(From OE-Core rev: 6546096d068b51cc9cf4557cdb35aee6f62838d5)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:36 +00:00
Saul Wold
2101ea6367 rpcbind: add DEPENDS on quota for rpcsvc/rquota.h
(From OE-Core rev: 4771f4af5926d724958ba7cf46b937c53babfc7c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:36 +00:00
Saul Wold
63b680ed05 u-boot-fw-utils: Add DEPEND on mtd-utils
(From OE-Core rev: 47d8444edb644a92d3bae524c8a2a42a1cdf740c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:59:35 +00:00
Martin Jansa
b2196ca256 zlib: remove ldconfig call from install-libs
* it's called from install-libs target and when /etc/ld.so.cache is writeable by user running bitbake
  then it creates invalid cache (in my case libstdc++.so cannot be found after building zlib(-native)
  and I have to call touch */libstdc++.so && /sbin/ldconfig to fix it

(From OE-Core rev: b5c8add7f3ed58451cb460a242b4edd671ba618e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:48 +00:00
Martin Jansa
0761649736 recipes: bump PR to rebuild .la files without libz.la
(From OE-Core rev: 1da6a2dbd5e7aeea6cd45ca05590bdd50b67bf89)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:47 +00:00
Paul Eggleton
c3b3a681f7 scripts/combo-layer: allow updating a specific component(s) only
If you specify one or more components to update immediately following
the "update" command, only these components will be updated as opposed
to the default behaviour of updating all of them.

(From OE-Core rev: 1779afce024b31edcf846329da705ed5aa9fe63e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:47 +00:00
Paul Eggleton
7f880ca20d conf/bitbake.conf: remove Opie definitions
These values are now set via palmtop-defs.bbclass in meta-opie (and are
not needed for anything else.)

(From OE-Core rev: a18de4dc0b988c79964354496a6a93c7ee5a28f6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:47 +00:00
Paul Eggleton
362fd558fe classes/sdl: remove Opie-specific desktop file/packaging
This code will not work without palmtopdir being defined, and is better
kept in meta-opie in any case (where we already have the OE-Classic
version of this class).

(From OE-Core rev: e45b0672e28d19cfb66c9e57e153ef15e004dcaf)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:46 +00:00
Paul Eggleton
8a31618c35 stat: remove NATIVE_INSTALL_WORKS
This variable is no longer used in OE-Core.

(From OE-Core rev: b70d100047912569d6eb060eb48a753c56968d89)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:46 +00:00
Paul Eggleton
cf10b9b847 scripts/combo-layer: add branch option to example config
Minor improvements to the example combo-layer config file:
* Add the recently added branch option to the optional options section
* Mention in comments that last_revision gets updated during "update"
* Tidy up some more grammar

(From OE-Core rev: 065798d8dd0552934175f794f7678e0dd24ef152)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:46 +00:00
Paul Eggleton
8e7cd329b1 scripts/combo-layer: avoid saving last revision if unchanged
If we are running an update and the last revision hasn't changed since
the last update, don't write to the configuration file. This avoids
committing the config file with no changes other than spontaneous
reordering of sections, which sometimes occurs due to the behaviour of
the internal dictionary in Python's ConfigParser class. (This can be
fixed properly but the fix is only easy in Python 2.7+ due to the
availability there of the collections.OrderedDict class, and we
currently want to be compatible with 2.6.x as well.)

(From OE-Core rev: 4592f238de3fe6b0384c334774be9fcfc0985e4f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:46 +00:00
Paul Eggleton
f273c04175 scripts/combo-layer: avoid error when config file is outside repo
Avoid displaying the error from the "git status" command we use to check
the status of the config file if the config file is outside of the
repository (a situation that is already handled).

(From OE-Core rev: 9d3e54057673348e85ba479705c4ffaad56973d6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:45 +00:00
Paul Eggleton
0656f57235 scripts/bitbake: pass through debug options to initial pseudo build
If you specify -D or -v options to the bitbake wrapper script, and the
initial pseudo build needs to be done, it's useful to pass these
options through to that command so that you can debug the initial
pseudo build as well.

(From OE-Core rev: dcf6f72c35f7c108e447d01c15df86807e26a88b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-21 17:00:45 +00:00
Lianhao Lu
41a83ccfe5 guile: fix cross configure failure
[YOCTO #1978]
Fixing the cross configure failure by not searching libltdl and libgmp
in includedir and libdir.

(From OE-Core rev: e5ad03093dfc4364d1407183f458df79f347c7a1)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 17:01:42 +00:00
Christopher Larson
754847f34b Revert the switch to futures for now
Without it, we get random hangs on parse failure. With it, some folks have
seen hangs even on successful cases. The former is clearly less problematic.
This is temporary, until I can finish investigating the root causes of both
issues.

(Bitbake rev: db689a99beffea1a285cdfc74a58fe73f1666987)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 17:00:54 +00:00
Richard Purdie
d366c1890e siggen.py: Handle cases where the input to symmetric_difference() may be None
[YOCTO #1967]

(Bitbake rev: f6cee29bf853874876923a7d6ae8574e3801ae8d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 16:57:27 +00:00
Saul Wold
d3d11016de valgrind: Fixed Added-support-for-PPC-instructions-mfatbu-mfatbl.patch Upstream-Status
(From OE-Core rev: c8f821484939348dfa63e11c5c9c6571708553ab)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 16:56:59 +00:00
Lianhao Lu
a2a03ba68b gcc: Ensure same sstate hashes for shared soruce directory
Ensure do_patch have the same sstate hashes for nativesdk variants of
gcc family recipes, since they share the same source directory.

(From OE-Core rev: afb400e9c3ddac604906bde44df5da29a6c134d9)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:46 +00:00
Richard Purdie
c62296dab6 gcc-4.6: Some small performance tweaks
a) Use the system zlib to avoid building it for each gcc.
b) -initial and -intermediate don't need plugins or lto-plugin
   so disable them.

(From OE-Core rev: a124a0883507caf4ffb7e25be666f6781b30abdd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:45 +00:00
Richard Purdie
12306d01a0 package.bbclass: Optimise the per file rpm handling
Currently a process was being forked off for each individual file
this class wanted to inspect with rpmdeps. This converts it to use
rpmdeps-oecore which allows batch processing of these dependencies.

For do_package for perl, this reduced the time by about 1 minute (33%).

(From OE-Core rev: 548037acd63bd4859f8de8d23a3d12f36ce9f97f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:45 +00:00
Richard Purdie
d60912993d sstate.bbclass: Optimise sstate_hardcode_path
The sstate_hardcode_path() function triggered large numbers of exec()
calls when processing packages with large numbers of file relocations
(e.g. perl). This patch optimises those calls into longer single commands
which make the code significantly more efficient.

This reduced the do_package time for perl by 2 minutes (from 4.75 minutes)
for me.

(From OE-Core rev: 4159ff761cf29a03aeb56c7686a4e7af02b52219)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:45 +00:00
Khem Raj
765547eb71 gnupg: Add missing DEPENDS on libgcrypt
Found during single recipe rebuilds

(From OE-Core rev: bb672b1591197966b79fbcf7753f995b8e829e65)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:45 +00:00
Khem Raj
84983afa63 sat-solver: Fix build with zlib 1.2.6
(From OE-Core rev: 6064f6bd7c28640db59a216aa578f3cca6219b1f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:44 +00:00
Khem Raj
a142cbd47e zlib: Upgrade 1.2.5 -> 1.2.6
Dont use autotools, it really not so autoconf like.
the configure script gets updated with every release of zlib
and we overwrite that. Instead use the upstream provided
configure

copyright year was changed in zlib.h which caused change in
LIC_FILE_CHECKSUM

fix.inverted.LFS.logic.patch is already applied upstream so drop it

Drop the configure.ac and Makefile.am scripts since we do not
autoreconf anymore and do not inherit autotools anymore

Bump PR for depending recipes so a rebuild it ensues so that
they dont depend on .la anymore
and add missing dependencies discovered during incremental
build

(From OE-Core rev: 50ad5230ea9e0982cdfda23fb9fcfccf89d28f29)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:44 +00:00
Joshua Lock
65d296a235 distro-tracking-fields: update clutter, clutter_git and mx
(From OE-Core rev: e303aeec9a97903479baad836671591b511b3e19)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:43 +00:00
Joshua Lock
18c3197911 clutter: upgrade git recipe to reflect 1.8.4 tag
(From OE-Core rev: 37b47a8f038947c6725dec10845412df7f67e9e4)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:42 +00:00
Joshua Lock
970fcc886e mx: ensure gettext and dbus are present
Upstream informs me that D-bus isn't really optional as it's required
to make some of the API work such as the single instance MxApplication.
Therefore ensure we're building with it enabled.

Gettext macros are used in the configure.ac so inherit gettext to
ensure the required dependencies are present.

(From OE-Core rev: fe2c13684e2a0b652007e92a6f11942c6366483e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:42 +00:00
Joshua Lock
15ff81be40 mx: update to 1.4.2
Patch in a copy of introspection.m4 so that we can continue to easily and
cleanly disable introspection.

(From OE-Core rev: 84d62181f80402fa461675e03b20ba08da1991e8)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:42 +00:00
Joshua Lock
51c719d779 clutter-1.8: update to clutter-1.8.4
Added a note about why we're setting S, so I don't have to figure it out again
next time I try and update clutter.

(From OE-Core rev: b752e2d6ae286db5588547fc49f1aa64e112fa32)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:42 +00:00
Matthew McClintock
0de4750a57 powerpc64-linux: Update cached autoconf values for libpcap on powerpc64
Without this fix, libpcap will fail to build on powerpc64

(From OE-Core rev: 01a28e8b04c206e54bcb01ccd7401c08d5c600ce)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:41 +00:00
Tom Rini
c56792ce08 u-boot-fw-utils: Add for v2011.06
This provides the 'fw_setenv' and 'fw_getenv' programs for the target
so that the U-Boot environment can be modified from Linux.  These
programs are system-agnostic and rely on a config file that a given BSP
would provide and potentially RRECOMMEND this be installed.

(From OE-Core rev: 4a2543c0641f1df6d74c18cfe0c3ac3cfd50e60c)

Signed-off-by: Tom Rini <trini@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:41 +00:00
Matthew McClintock
433f2ead93 distutils.bbclass: override LDSHARED so we use the linker for this build and not the one used in sstate-cache
Without this fix, when packages are being built using distutils and
the python packages were deployed from sstate-cache is it possible
that the LD command will contain an invalid sysroot override.

We can fix this by always exported LDSHARED, which is the env var
that distutil looks for to override creating shared libraries.

(From OE-Core rev: 3f6b859a29ba7f570b9dae3b5bb7ab4bd7b8cee4)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:41 +00:00
Otavio Salvador
ef5bad08de cross.bbclass: add virtclass handler
Allow use of BBCLASSEXTEND with 'cross' and use of virtclass-cross in
recipes.

(From OE-Core rev: 9624a817bb7d2d9fce10704b1c1a047f93260f36)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:40 +00:00
Otavio Salvador
af85900ba7 useradd.bbclass: skip processing on virtclass-cross extended packages
(From OE-Core rev: 4308acbbd43e6b8b37123d95df6675233007dae4)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:40 +00:00
Christopher Larson
d90565366c external-csl-toolchain: fix mtd-user.h issue
The use of __packed, which isn't defined in userspace, caused busybox build
failures.

(From OE-Core rev: 9c44bb6434a1d2347ebbb38bde9671688b0ae447)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 14:38:39 +00:00
Paul Eggleton
8d41b0ddbf bitbake-layers: add copyright notice
This ought to have been added earlier. (I consulted with Chris Larson on
the notice covering his work.)

(Bitbake rev: 69ed02b645bdc28c1bf24e436beeed37d226b56b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-09 14:14:20 +00:00
Christopher Larson
1e8b62991a tcmode-default: add preference for gdb/gdbserver
(From OE-Core rev: 4ef5e70f531f48cef90805402c16ec02ad3f2b92)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 16:28:35 +00:00
Paul Eggleton
1a35ed4f5d classes/buildhistory: sort list fields in package info
Sort DEPENDS, RDEPENDS, and RRECOMMENDS in package info files so that
any changes in order (which are not important) are smoothed out in the
change history.

Fixes [YOCTO #1961]

(From OE-Core rev: 06b740d4ca077fb4c89ee6d1065fabb02da45ec6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 10:57:09 +00:00
Paul Eggleton
8653bf474e classes/buildhistory: sort image file list
Sort the contents of files-in-image.txt to avoid unnecessary changes
showing up in the history due to reordering.

(From OE-Core rev: 791ad7a522f6800114febd1605072202c1450356)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 10:57:09 +00:00
Christopher Larson
4255cb85a0 external-csl-toolchain: split out gdbserver packages
(From OE-Core rev: b6ddd434c47c66fdd6dd27a31e545f46b52bc90f)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 10:57:09 +00:00
Christopher Larson
57b7b8a7ba external-csl-toolchain: correct binary packaging
CS puts optimized executables in usr/lib/bin, not usr/bin.

(From OE-Core rev: 25d22bfb0970f7152b678796f2282dced7230fe1)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 10:57:09 +00:00
Christopher Larson
b5b4066b08 external-csl-toolchain: set PKG/PKGV for staticdev
(From OE-Core rev: 481f6f32cd414ff11f154adc24f1b596495286df)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 10:57:09 +00:00
Saul Wold
af1ddab5c3 task-core-tools-profile: fix valgrind for arm and systemtap for mips
(From OE-Core rev: e5f41c2213568c7aef24ce8f666042492054377d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 10:57:08 +00:00
Saul Wold
8054217a35 poky.conf: Fix the MIRROR URI
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-02-08 00:50:49 +00:00
Saul Wold
be174f37b9 task-core-tools-profile: change to match oe-core
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-02-08 00:50:40 +00:00
Khem Raj
eb1be234fc mirrors.bbclass: Add yp.org and oe.org to fallback mirrors
This should improve the fetching errors users see
when upstream src_uri is unavailable

(From OE-Core rev: ca8a3422eb96ea431c322532dfd1be9980d4d48c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:30 +00:00
Khem Raj
0c1386ccad uclibc: Upgrade recipes from 0.9.32 -> 0.9.33
Prefer 0.9.33 by default
Delete recipes for 0.9.32

(From OE-Core rev: 5d2c0b051072b3cee510dcad8d20fb26d3843f62)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:30 +00:00
Otavio Salvador
b9ff9682b3 dhcp: move dhcp leases files handling to postinst/postrm
Both server and client needs access to leases files so its creation
and removal are now handled by postinst/postrm scripts.

(From OE-Core rev: c8a9ae7c047051958b8667e77288c5ac295766c6)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:29 +00:00
Khem Raj
54fd9ad71b gcc-cross-testing: Fix evaluation of user and target name
Dont use -q to grep we pipe to /dev/null anyway all we
care is the return status of grep

(From OE-Core rev: 9c575b5f37ee53eaf26bfdc468d4cbb661db703f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:29 +00:00
Khem Raj
d6b885b1b5 classes,recipes: Replace POKY_* with CORE_IMAGE_*
(From OE-Core rev: b14a92f4450bb08b9f11d3fd7a99155315527cdd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:29 +00:00
Khem Raj
41936cd5bc pseudo: Wrap renameat and opendir
(From OE-Core rev: f6056cf0e7c76f2f3df650b088ce84df41ec14ca)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:28 +00:00
Saul Wold
bdc50cbfbb mtools-3.9.9: Use correct URI for the mirror
(From OE-Core rev: b4206046476dc6ff758bb45cf0c97ab2c57893b6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:28 +00:00
Khem Raj
a50eeb884a libx11: Backport _XGetRequest API
This API is relatively new and will be in next release of libX11
this is needed for OE qemu-native which links to libx11-native
but uses libGL from build system and herein lies the problem
if you have bleeding edge distro e.g. ubuntu 12.04(development)
libGL.so expects this API to be present. Backported to 1.4.4
thusly

(From OE-Core rev: e08604800fe1cb8f240f53c147ceb4ee08a29b91)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:28 +00:00
Khem Raj
a4021674ed libdrm: Fix build failure unearthed by uclibc
uclibc wants to know value of __USE_GNU for certain
header prototypes to be enabled. So we move the config.h
header up in search list.

(From OE-Core rev: 086679cfbc30dba4af2f650984084195e5171b8f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:28 +00:00
Khem Raj
fadd554603 python: Fix build failure of python-elementtree on x86_64
The problem is due to mixing of headers from host system
thusly corrected in setup.py by checkinng if we are cross
compiling

(From OE-Core rev: 25016d158af927e0c9e70c3df4674f53fa54fec8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:28 +00:00
Khem Raj
7d9ac1db13 gconf,consolekit: Avoid polkit when compiling with uclibc
polkit uses netdb functionality from glibc which is not
available in uclibc therefore we avoid polkit when compiling
for uclibc systems.

(From OE-Core rev: 7eae02f47a08587cf5be3d39df0184cf346cbaea)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:28 +00:00
Khem Raj
fd2983e5fc runqemu-internal: qemuarm can handle 256M
Raise the check for max RAM supported for QEMU/arm
its 256M since we patched it to be so in OE

(From OE-Core rev: cfd84a05581e068d705b0804829c4833a06bffa6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:27 +00:00
Khem Raj
a481c10d72 Enable options needed for ltp to compile
(From OE-Core rev: 22309029a9599b8f947c1fca664760123c325885)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:27 +00:00
Khem Raj
7215c25ec3 task-core-tools: Divide it into 3 recipes
task-core-tools-debug, task-core-tools-profile, task-core-tools-testapps
otherwise if we choose one through PACKAGE_GROUPS all packages
are built since they are in same recipe.

(From OE-Core rev: 180227d8ff71c42e0d16ad7eb4a5f9b7d6a0c1c6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:27 +00:00
Bruce Ashfield
8df37ad549 linux-yocto: fri2: use emgd-1.10
Updating meta for the following change:

[
    fri2: use emgd-1.10

    Use the yocto/emgd-1.10 branch in place of yocto/emgd.
]

(From OE-Core rev: aa6293ffbc7f8f17e55f2105de56384e14591b44)

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-02-08 00:50:27 +00:00
Bruce Ashfield
5d02d8dc17 kern-tools: remove explicit 'yocto' references from auto-bsp handling
To adapt to different branch names in a repository, removing explicit
references to 'yocto' in automatically created BSPs ensures that they
are consistent with the merged variants. Existing BSPs and auto BSPs
are not impacted by this change.

(From OE-Core rev: 74613d02aa844cac3be0626cc64139643fe17a4f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:27 +00:00
Bruce Ashfield
a6065e7fc2 linux-yocto: rt compiliation fix
Updating the meta SRCREC to pickup the following changes:

  70e86dc meta/rt: update rt patch cache

Without this change a 3.0 based -rt build will fail to patch.

(From OE-Core rev: e5da5e84e64362f59a62f65b9f260f96af96bc11)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:26 +00:00
Bruce Ashfield
bb1e769cf1 linux-yocto: meta updates for sys940x and cleanup
Updating the meta SRCREV to pickup the following changes:

[
  Author: Darren Hart <dvhart@linux.intel.com>
  Date:   Wed Feb 1 09:37:48 2012 -0800

    Remove boot-live cfg duplication from BSPs

    Several BSPs duplicated the boot-live fragment in their BSP
    specific config. Remove the duplication and add CONFIG_RD_GZIP
    and CONFIG_BLK_DEV_SR to the boot-live fragment.

    (From OE-Core rev: a243dded5c84d48728308a769e527302b7539939)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
    Acked-by: Tom Zanussi <tzanussi@intel.com>

  Author: Darren Hart <dvhart@linux.intel.com>
  Date:   Tue Jan 31 13:18:17 2012 -0800

    meta: sys940x BSP meta data

    The Inforce SYS940x-ECX Developer-Ready Reference Platform features:
    o Intel Atom E6xx (0.6-1.6 GHz)
    o Up to 1GB on-board DDR2
    o Intel Platform Controller Hub EG20T
    o VGA,LVDS
    o HD Audio
    o SD Card
    o Dual SATA
    o Mini-PCIe

    http://www.inforcecomputing.com/SYS940X_ECX.html

    Signed-off-by: Darren Hart <dvhart@linux.intel.com>
    Acked-by: Tom Zanussi <tzanussi@intel.com>
    Signed-off-by: Darren Hart <dvhart@linux.intel.com>
]

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:26 +00:00
Bruce Ashfield
568bdc78f9 linux-yocto: locate and use out of tree features specified on the SRC_URI
In a similar manner to calling the patch.bbclass to locate patches that
were listed on the SRC_URI, it is also useful to query about 'other' items
that are on the SRC_URI. In the case of linux-yocto, it allows us to
know about kernel features that were specific on the URI and then apply
them to the current tree.

(From OE-Core rev: 3e2ce87566124db8c78472f9a4f00ab26410f213)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:26 +00:00
Khem Raj
44f0a2cfc5 xorg-apps: Bump PR to accomodate meta-oe recipe deletion
rgb in meta-oe has been removed in favour of
oe-core which requires a PR bump so feeds
keep working

(From OE-Core rev: 00c2e80e8cae2db6e2c34b1291c615f7f146b070)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:25 +00:00
Otavio Salvador
23c4961ace udev: stop providing cache support by default
The usefulness of cache nowadays has been reduced a lot and thus it's
better to stop using it by default. Dropping the recommends allows for
image to decide if they want or not to have cache enabled, instead of
require a machine override.

(From OE-Core rev: bf849b8a6da32cebaa361242162e4fcc4b1cd97f)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:25 +00:00
Wade Farnsworth
98a994acff systemtap: build and install uprobes.ko
SystemTap needs to provide uprobes.ko in order to support user space
probing.  Build and install the module on systems that support it.

Additionally, split off common bits into systemtap_git.inc.

(From OE-Core rev: 3cc4ba935444240b93abdc726342658ada803118)

Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:24 +00:00
Wade Farnsworth
c2c215b887 systemtap: extend the recipe to build the native package
Since the target image may not contain dev tools, it is useful to
provide native systemtap in order to be able to compile systemtap
scripts for the target.

(From OE-Core rev: 507bd29c5d1a3459e376e2d2c338b7e2a0afabaa)

Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:24 +00:00
Wade Farnsworth
3709697117 systemtap: bump SRCREV to grab version 1.7
Bump SRCREV to the latest stable version of systemtap.

(From OE-Core rev: ea57a29c75aa8265aecb8b0acd9c29340e98092c)

Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:24 +00:00
Chase Maupin
ce0740fbb5 u-boot inc: update inc file for newer u-boot versions
* Add support for different suffixes found with later u-boot
  versions which have switched from .bin to .img
* Allow recipes that include u-boot.inc to also package an
  SPL if they build one.
    * Minimum requirement is to set the SPL_BINARY value to add
      the SPL to the u-boot package as well as into the deploy
      directory.

(From OE-Core rev: 2965aa2faaccce43f6c3e451c0a2ded3734766e4)

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:24 +00:00
Mike Crowe
5a33401b84 libcap: Cope with ${libdir} and ${base_libdir} being the same
${libdir} and ${base_libdir} may be the same. If they are don't try and
move files onto themselves.

(From OE-Core rev: bf136334aecc156c73eed76562819351de368eec)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:24 +00:00
Mike Crowe
f2b55ac391 libusb-compat: Cope with ${libdir} and ${base_libdir} being the same
${libdir} and ${base_libdir} may be the same. If they are don't try and
move files onto themselves.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:23 +00:00
Mike Crowe
83dcff4042 libusb1: Cope with ${libdir} and ${base_libdir} being the same
${libdir} and ${base_libdir} may be the same. If they are don't try and
move files onto themselves.

(From OE-Core rev: 2ada7f7a0fa8a76a9ef7b45b0e0ced78757d9021)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:23 +00:00
Peter Tworek
e33f828d88 webkit-gtk: Make webgl support configurable via DISTRO_FEATURES.
* Add missing dependency on virtual/libgl.
* Make webgl configurable via DISTRO_FEATURES="opengl".
* Run tested on netbook pro.

(From OE-Core rev: 9500ef3f5fae07c1592e8208bb306c1148e49418)

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:23 +00:00
Peter Tworek
cc036d4c4e webkit-gtk: Fix error.html resource path.
(From OE-Core rev: cb0e0e3de421e2dd8335765adb3c0e442177bb9a)

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:23 +00:00
Saul Wold
c54070c0b1 openssl-0.9.8: Remove in favor or 1.0.0
Now that Openssl 1.0.0 has been out for a while, there is no need to
keep multiple versions.

(From OE-Core rev: 6017251a1de93ff3d509a040a220e30d0ee9cd5e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:22 +00:00
Saul Wold
4825e2af65 gnupg-1.4.7: Update Patch Info
(From OE-Core rev: 50641a59bf10485f62d6d3669a2c1ded95cc48ed)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:22 +00:00
Peter Tworek
0e80bb7a26 busybox: Add flock utility to default configuration.
Flock is required by by pm-utils package to function properly
(/usr/lib/pm-utils/functions). It's shipped in both busybox and
util-linux. Both versions work fine with pm-utils. Enabling it
in busybox seems like simpliest solution for the problem.

(From OE-Core rev: a8ba002b5eb3c2e57550483d7b3ea99f0cc8a9cb)

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:22 +00:00
Darren Hart
67cfa74744 bootimg: Use the same OS files for each boot method
Fixes [YOCTO #1951]

The do_bootimg code can generate hybrid efi+pcbios images (syslinux and
grub-efi) to boot on platforms with both EFI and legacy BIOS options. The
current implementation copies the kernel, initrd, and rootfs twice,
unnecessarily bloating the image size. This is an especially egregious bug
on -sato images.

Update the classes to use a common install of the kernel, initrd, and rootfs to
the root of the boot media. Grub-efi, syslinux, and isolinux can all reference
this location explicitly with a leading slash.

Tested with an EFI+PCBIOS image in both EFI and PCBIOS boot modes on two
platforms. No ISO image testing was performed.

(From OE-Core rev: 5209016cf4c4c8f649e37dc8857b3fbcfe8dd8c8)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:22 +00:00
Andreas Oberritter
50a097be16 tune-mips32.inc: Add mips32-nf and mips32el-nf
tune-mips32.inc only lists mips32 CPUs with hardware FPU.
Extend it to list CPUs without hardware FPU, too.

(From OE-Core rev: 26630a9f37b04e215eff9b8e63414b6b2066d6fa)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:21 +00:00
Steve Sakoman
cb89d43473 libzypp: add missing runtime dependences on gzip and gnupg
gzip is required to uncompress repository files
gnupg is required for the support of signed repositories.

(From OE-Core rev: 18d9fcfc4bc4b01f73e89f3b988c9d3d543c7705)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 17:23:34 +00:00
Steve Sakoman
8fcfbaeb48 gnupg: add 2.0.18 (initial recipe)
GnuPG 2.0 is the new modularized version of GnuPG supporting OpenPGP and S/MIME

(From OE-Core rev: d99215fb1928e9996bb358b9f95d379d93b45377)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 17:23:33 +00:00
Steve Sakoman
6034d1c512 libksba: add 1.2.0 (initial recipe)
Libksba provides an easy API to create and parse X.509 and CMS related objects
and is required for gnupg

(From OE-Core rev: fdee3a3e00d9677a71f3a4f4f4c4cbc4af3ab028)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 17:23:33 +00:00
Steve Sakoman
3301dc44b2 shadow-securetty: allow root logins on usb serial gadget device
Existing tty list does not include ttyGS0, add it

(From OE-Core rev: 6ba9dc6460eb615e002e90ead0f4d5bc31856f22)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 17:22:12 +00:00
Bruce Ashfield
3b1ad76c87 classes/patch: optionally return non-patch sources
commit:

  patch.bbclass: abstract out logic that determines patches to apply

gives the ability for other clases to emit series files for use outside
of a build system, or even within the build system. There are sometimes
elements on the SRC_URI that while not directly applicable to patching,
can be related to patching the package. For example, the yocto kernel
class would like to know about these other source items on the SRC_URI
to locate out of tree kernel features.

This change keeps the default behaviour of returning patches, but adds the
ability to request that non-patch results be returned.  Additional filtering
within the non-patch category, is left up to the caller of the routine.

(From OE-Core rev: 41e92923a0b2fe047ecaa9f9ffb564d6069f784f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 17:22:12 +00:00
Ken Werner
4be9d82596 Add EXTERNAL_TOOLCHAIN to CMAKE_FIND_ROOT_PATH
This allows cmake to find the binaries of an external toolchain.

(From OE-Core rev: 7b355ad09a622cfe57c66674ed1affd61c4d872e)

Signed-off-by: Ken Werner <ken.werner@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 16:33:21 +00:00
Christopher Larson
a29939639b external-csl-toolchain: extract version info from the toolchain
(From OE-Core rev: ba59a35cd2b7a0cb5903146d991f5d7f535f4f19)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 16:17:16 +00:00
Christopher Larson
79e48d853b external-csl-toolchain: leverage eglibc's packaging for more granular output
(From OE-Core rev: 414a81a6f3e7caee4107889230a5e648f2791f75)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 16:17:16 +00:00
Christopher Larson
cbe0a0dd8a external-csl-toolchain: support ia32
Unfortunately, the CSL ia32 toolchain has non-prefixed binaries in its bindir
(e.g. gcc, ld). To avoid this messing up our build, we avoid adding this
bindir to our PATH, and instead add symlinks to the prefixed binaries to our
staging toolchain bindir.

(From OE-Core rev: c924d878b55cce7a0e98dc60acf706b5a1b4f404)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 16:17:16 +00:00
Christopher Larson
c0d7e9b062 external-csl-toolchain: support mips/ppc/arm
- Rather than adjusting TARGET_VENDOR, which results in our TARGET_SYS
  matching the external toolchain, override TARGET_PREFIX to match external,
  and leave TARGET_SYS alone
- Grab the optimized files out of the toolchain if available
- Create a symlink in sysroot to ensure the sysroot layout matches toolchain
  expectations (optimized files in a subdir)

(From OE-Core rev: a37298eb3421a44e88ec5a66b2fc5305ab18f453)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 16:17:16 +00:00
Christopher Larson
b942a8ee6a eglibc-package.inc: don't include debug files in -pic
(From OE-Core rev: 64eccd7aacbb7e31478482e0deec1a6a3a94c9ea)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 16:17:16 +00:00
Christopher Larson
34ba3b689e binutils: fixes for build with an external csl toolchain
(From OE-Core rev: 050eb9c82d8a2d04f2578c04a826b7762d737446)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 16:17:15 +00:00
Xiaofeng Yan
6cafc0011e LSB_Setup.sh: Add locale resources and startup script avahi-daemon
The purpose of adding locale resources is to resolve bug 1954 because missing locale resources
cause many failures.

The purpose of adding startup script avahi-daemon is to resolve bug 1907. The detailed description
is as follows:
No daemon progress "avahi-daemon" when system starting up.
Function "gethostbyaddr" will search file "/var/run/avahi-daemon/socket" but there is no
this file which is created by avahi-daemon.

[YOCTO #1907 #1954]

(From OE-Core rev: ce410852b7623379ad6961529e28f643e209749e)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:38 +00:00
Xiaofeng Yan
bb5704a4ee init-functions: Add two functions
Add log_begin_msg() and log_end_msg () in init-functions because some startup scripts need them.
if there are not two functions, then error information will arise on screen.
for example,
$ /etc/init.d/avahi-daemon start
/etc/init.d/avahi-daemon: line 161: log_begin_msg: command not found
/etc/init.d/avahi-daemon: line 163: log_end_msg: command not found

[YOCTO #1907]

(From OE-Core rev: 05682408ef7fca6029e48a18b2f660eeec65a4ec)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:38 +00:00
Nitin A Kamble
14e6b02ceb strace: add x32 support
This commits adds a patch to enable x32 support in the strace recipe.

(From OE-Core rev: 2042d52ff5425e864740b330adc27c2632cc5dc7)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:38 +00:00
Nitin A Kamble
e1be40cdd2 byacc: upgrade from 20111219 to 20120115
update md5sum for license as the copyright years are updated in the file

(From OE-Core rev: f763948c36ac078fe7412e647c7fc7936987eb43)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:38 +00:00
Nitin A Kamble
e87bbf1250 distro_tracking: update for current upgrades
(From OE-Core rev: 9542ddad873a12fa2c36f4781c42b07418ae30df)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:37 +00:00
Nitin A Kamble
85beca9f88 python-dbus: upgrade from 0.84.0 to 1.0.0
(From OE-Core rev: 1bf4df7aa343d74e7bcb136840d87924f30c3019)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:37 +00:00
Nitin A Kamble
f0262b7ab2 quilt: upgrade from 0.50 to 0.51
(From OE-Core rev: 956bb43cabac5c2245c4588464e8ee3e69e6d433)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:37 +00:00
Nitin A Kamble
a03c350074 gdb: upgrade from 7.3.1 to 7.4
(From OE-Core rev: c24bd38fdde69e30981efc1c0e81f8aa65555130)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:37 +00:00
Nitin A Kamble
f5d505e0cd gmp: upgrade from 5.0.2 to 5.0.3
rebased configure.patch & amd64.patchto the newer code.
Removed sh4-asmfix.patch as it is not needed with the newer code.

(From OE-Core rev: 7c33a18ed5cdca6765d04ad9e4387001f72993a4)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:36 +00:00
Saul Wold
0637f1b409 distro_track: Track Updates
openssl: Update to 1.0.0g
openssl: Update to 0.9.8t (gplv2)
gnutls: Update to 2.12.16
rxvt-unicode: Update to 9.15
gnupg: Add gplv2 version 1.4.7
file: Update to version 5.10
libidn: Update to 1.24
libdrm: Update to 2.4.30
xinit: Update to 1.3.2
xf86-input-keyboard: Update to 1.6.1
xf87-input-evdev: 2.6.0

Manual Checks:
util-linux - NO Update reason

(From OE-Core rev: cc3a6f625278d8ec9a61be1170823c3ec4302e61)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:36 +00:00
Saul Wold
6c988aa5f3 xf86-input-keyboard: Update to 1.6.1
(From OE-Core rev: 5960e647d18284fd42b4547dfeff3b1970b1d819)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:36 +00:00
Saul Wold
e7973af409 xinit: Update to 1.3.2
(From OE-Core rev: 1b3db3597c2b644e61394014886082eb212eef1a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:35 +00:00
Saul Wold
735371dcd2 libdrm: Update to 2.4.30
(From OE-Core rev: 4f9e5767b239335c47dbd57da6a21ce1f2bf686d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:35 +00:00
Saul Wold
6e28930bdd libidn: Update to 1.24
(From OE-Core rev: ef2dcae84fe3a91f781ce906ea283d9f8d698af8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:35 +00:00
Saul Wold
30049f0e7b file: Update to version 5.10
(From OE-Core rev: 260dd6a85d0f3fe64f7c4df5c4b99bb48b4e36ca)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:35 +00:00
Saul Wold
b1d4d3599f gnupg: Add gplv2 version 1.4.7
(From OE-Core rev: daff80c595616de10f32e74e2881e851707c7ff9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:34 +00:00
Saul Wold
954a0bf236 rxvt-unicode: Update to 9.15
(From OE-Core rev: 75789868df9cfc5cb74edfc3fe7d773cfa272ce6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:34 +00:00
Saul Wold
cba606f260 gnutls: Update to 2.12.16
(From OE-Core rev: 3439512952a64dc9537aa9842c64489219a76ee5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:34 +00:00
Saul Wold
d54c972888 openssl: Update to 0.9.8t (gplv2)
(From OE-Core rev: d58903b22aa879484a5eaa01efad5c031ea485fa)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:33 +00:00
Saul Wold
e2d9ed9539 openssl: Update to 1.0.0g
(From OE-Core rev: 263c39e624d6c8681e716d26718ce7502de8ae6d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:33 +00:00
Saul Wold
7b36125097 self-hosted-image: add package management for correct installation
(From OE-Core rev: 6ac8940f9d328afccd0176ae7c33053c3e565aca)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:32 +00:00
Saul Wold
31f34914db task-self-hosted: add python-pkgutil since it's required
(From OE-Core rev: fb5064de4d5d83b2f8b4d0aabea419f0681537f0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:32 +00:00
Saul Wold
45228d39f3 task-self-hosted: add disk partitioning tools
(From OE-Core rev: 956d582f95f98690add05dc3f34fd520dedd8df0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 15:56:32 +00:00
Richard Purdie
f7a1bd43e8 linux-yocto_3.2: Fix missing quote that was triggering parsing errors
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 11:26:30 +00:00
Tom Zanussi
a402d0e921 meta-yocto/local.conf.sample.extended: add LICENSE_FLAGS_WHITELIST section
Add a new section for LICENSE_FLAGS_WHITELIST, containing a list of
the current packages with LICENSE_FLAGS.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 22:03:54 +00:00
Andreas Müller
15f09b1cfe atk: add native / disable introspection / merge atk.inc->recipe / change license
Native support currently is appended in meta-oe. Native build failed with:

| /usr/share/gir-1.0/GLib-2.0.gir:9:1: error: Unsupported version '1.1'
| /usr/share/gir-1.0/GLib-2.0.gir:9:39: error: Unsupported version '1.1'
| error parsing file Atk-1.0.gir: Failed to parse included gir GLib-2.0
| make[3]: *** [Atk-1.0.typelib] Error 1

build tested in meta-oe / angstrom environment

(From OE-Core rev: a69108ea388fce9034ecc8670f1149fabae55e1b)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 18:37:36 +00:00
Peter Tworek
cd5225adfd gconf.bbclass: Add proper RDEPENDS to packages with gconf postinststep.
Right now gconf bbclass adds both postinst and prerm steps, but it does
not ensure that packages involved have gconf in RDEPENDS. This can lead
to a situation where postinst/prerm steps fail because gconftool-2 is
not installed.

(From OE-Core rev: 31997ae9188302f276241266590a1ae0f4316c3f)

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 18:28:27 +00:00
Joshua Lock
7bc766b9f8 distro_tracking_fields: take sysklogd off Saul's plate
(From OE-Core rev: 969661790df0e6f18617b8e867011dcc9504eb36)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 18:28:27 +00:00
Joshua Lock
5c3323b7e7 sysklogd: various fixes so it starts/stops cleanly
This patch fixes several issues with the sysklogd recipe:
o Errors at start due to non-existent /var/log/news/ - every other log
  file is created in /var/log, not a sub-directory. Do the same for news
  logs.
o klogd would not be stopped due to pidfile recycling, give klogd its own
  pidfile
o preinstalls failed at rootfs creation time by trying to access the host
  root filesystem rather than a path relative to $D. Update the preinst to
  test for $D and do the right thing.

(From OE-Core rev: 111d1b8bb2b89e06091335fff6a917bbd9a1f66e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 18:28:27 +00:00
Joshua Lock
f408dd164e pciutils: fix configure script for dash
configure.patch was missing a closing quote in a sed expression which
causes script execution to error on less forgiving shells such as dash.

(From OE-Core rev: ad72484a2783afa948966263629006558fbde476)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 18:28:26 +00:00
Otavio Salvador
ac62f06e09 udev: improve udev-cache robustness
* allow udev-cache to be disabled at runtime (using
   /etc/default/udev-cache);

 * make cache invalidated if kernel, bootparams or device list
   changes;

(From OE-Core rev: 22b72b23653736436f10d394de36201c32630d5d)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 16:55:32 +00:00
Christopher Larson
7923ba87a2 external-csl-toolchain: avoid the hardcoded version/prefix
(From OE-Core rev: 4346516a6a719355d2793af289f93e14d3dedd0c)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 16:55:31 +00:00
Christopher Larson
ae21dc189f external-csl-toolchain: fixes for metadata changes
These allow the recipe to build again:

- add compilerlibs, g++, libgcc to the provides
- add linux-libc-headers-dev to the packages
- in libc-package, only sed the ldd.bash.in file if it exists, as the external
  toolchain is using that class as well
- shift the inherit location of the libc classes, as they were overriding the
  recipe's do_install
- use ?= for EXTERNAL_TOOLCHAIN, so the user can set it

(From OE-Core rev: 8fb1c84f4cadf8d7a061fd6d90d270c19b474bfe)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 16:55:31 +00:00
Christopher Larson
aa2c4e3879 libc-package: fix typo in LOCALETREESRC default value
(From OE-Core rev: 73ff2f404392a6942ec89af15ec7f52fe2e629a6)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 16:55:31 +00:00
Christopher Larson
6028cd196e external-csl-toolchain: fix critical PATH manipulation bug
(From OE-Core rev: 9ccf5400d4d22f6fb90f5d61ad89dd0ac6273e43)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 16:55:30 +00:00
Shane Wang
a95445cf7b bitbake: Add description into the cache and clean up cache duplication
With the addition of new cache domains, the summary, license and section
information is no longer requred in the core cache since its only used by
the hob UI. This patch removes the duplicated entries.

It also adds the DESCRIPTION field to the cache for the benefit of hob2.

(Bitbake rev: 33ffb2e99825cb643b148b3462c2d4cf33ff5f58)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-02 16:55:28 +00:00
Koen Kooi
8d4d9a15c4 package bbclass: allow per package PRIVATE_LIBS
If a recipe packages multiple versions of shlib (e.g. powervr drivers) we only want the shlib code to pickup $PN, not $PN-foo subpackages.
This keeps backward compatibility with the global PRIVATE_LIBS usage if no per package PRIVATE_LIBS are set for a given package. In other words: this doesn't break the firefox recipe.

(From OE-Core rev: ce46dbddef40ae3eef7238ac07438b15bd09e156)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:15:15 +00:00
Jessica Zhang
8ac227e4ac Fix the issue that adt-installer tar ball is not regenerated if sstate is on, and other minor bug fixes
(From OE-Core rev: 61da952fdc2996c27c56234c36116a69a23a378d)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:15:15 +00:00
Scott Garman
58026ecc28 e2fsprogs: remove unneeded patch and re-enable PARALLEL_MAKE
Koen Kooi suggested that the quotefix patch was not needed,
and the build of the recipe should now be multithread-safe.
My testing has confirmed this.

(From OE-Core rev: 731700ec390d680ee4d277312755bea0ab4aeeec)

Signed-off-by: Scott Garman <sgarman@zenlinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:15:15 +00:00
Richard Purdie
76640582e8 pkgconfig: Ensure pkgconfig RDEPENDS are tracked
Currently, pkgconfig dependencies get added to -dev packages which install
pc files however nothing in the system makes bitbake aware of these
dependencies so images can fail with pkgconfig being missing.

This change explictly adds in the pkgconfig RDEPENDS to the -dev packages
and hence makes bitbake aware of the dependency.

(From OE-Core rev: 23e773eb8b70a5e36270b2e6415512b7dc4f1e05)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:15:14 +00:00
Saul Wold
ef328622c2 opkg-utils: convert to git repo at git.yoctoproject.org
The svn.openmoko.org site seems to have become unstable, make a copy
and convert to git at git.yoctoproject.org to preserve history

[YOCTO #1867]

(From OE-Core rev: b44717c29c4f50917570039adf896680d24bb216)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:15:14 +00:00
Darren Hart
2175842116 bootimg: Do not force FAT32 on all images, it violates the FAT specification
Fixes [YOCTO #1940]

do_bootimg was performing the FAT overhead calculations assuming FAT32 and then
forcing the use of FAT32 with "-F 32" to mkdosfs. The FAT specification is clear
on cluster count being the determining factor for FAT size (even if the fs
string is set to FAT32, go figure). Syslinux follows this spec, and rightly so,
resulting in a failure on core-image-minimal:

	syslinux: zero FAT sectors (FAT12/16)

Drop the "-F 32" from mkdosfs to allow it to select the appropriate FAT size
based on cluster count. Leave the FAT overhead calculation in FAT32. This will
result in a little extra padding for really small images, but not enough extra
to justify recalculating for FAT12 and FAT16.

Tested with a core-image-minimal build for atom-pc. do_bootimg completed
successfully, and the resulting image was FAT16.

(From OE-Core rev: 634137704dd1a205e377a1131ef708f1c981f6b2)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:15:14 +00:00
Bruce Ashfield
89b71a5062 meta-yocto/poky.conf: set qemu* preferred linux-yocto version to 3.2
With introduction of the 3.2 kernel repository, we can make the qemu
targets prefer this variant. Built and boot testing has been completed
on sato/minimal targets for all emulated targets.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-02-01 15:11:12 +00:00
Bruce Ashfield
6719d3e9e7 linux-yocto/meta-yocto: create linux-yocto 3.2 bbappend
Now that the 3.2 kernel has been introduced, we need a 3.2 bbappend for
the yocto hardware reference boards.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-02-01 15:10:56 +00:00
Bruce Ashfield
1655fd11d3 linux-yocto/meta-yocto: update to v3.0.18 + features
Updateing the meta-yocto SRCREVs to the new 3.0.18 kernel.

The -stable team released v3.0.18, so it becomes the new base for the
linux-yocto_3.0 recipe.

Along with the 3.0.18 update this kernel refresh brings in the following
changes:

      59314a3 meta/beagleboard: Using CONFIG_PANEL_GENERIC_DPI=y
      b168325 crownbay: use emgd-1.10
      281b80f kver: bumping to v3.0.18
      0d5d0dd common-pc*: add SMP and virtio

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-02-01 15:10:51 +00:00
Richard Purdie
64662290d3 fetch2/git: Add workaround for clone using alternates problem
To quote my report of this to the git mailing list:
"""

I have a problem with git clone commands using alternates failing by
mixing up different repositories. I have a situation where I could end
up with both:

/srv/mirrors/repo
/srv/mirrors/repo.git

as bare clones.

I then try cloning "repo" with alternates with the command:

$ git clone -s -n /srv/mirrors/repo /tmp/foo
Cloning into /tmp/foo...
done.

$ cat /tmp/foo/.git/objects/info/alternates
/srv/mirrors/repo.git/objects

Note how I'm now referencing repo.git, not repo. This doesn't work as
expected giving some very bizarre results when actually using the
repository.

I appreciate this is a rather bizarre corner case but its one that is
breaking the build system I work with. Ideally people would use a
consistent URL for the same repository but we have an example where they
haven't and this really shouldn't break like this.

Looking at the code, the cause seems to be

clone.c:get_repo_path():
        static char *suffix[] = { "/.git", ".git", "" };

since its looking in order for:
 repo/.git (fails)
 repo.git (suceeds, incorrect)
 repo (never looked at)

I'm not sure what would break if that order were to change, swapping the
last two options.

I can "force" the issue by running:

git clone -s -n /srv/mirrors/repo/ /tmp/foo

but this results in the slightly odd looking:

$ cat /tmp/foo/.git/objects/info/alternates

/srv/mirrors/repo//objects

which does at least work.
"""

This patch adds the trailing slash to ensure the correct repository is
referenced at the expense of some ugliness in the alternates file.

(Bitbake rev: d978e7b35550e3785c7c567ffe4c40a3c3947450)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:08:43 +00:00
Christopher Larson
38daf8b7eb cooker: add missing shutdowns to the exception handling
(Bitbake rev: c9f58ef6b897d3fa5b0d23734b5f2cb3dabb057a)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:08:42 +00:00
Lianhao Lu
555262744d prserv: Do not ping PRService if not required
[YOCTO #1942]
Ping the PRService only if PRSERV_HOST and PRSERV_PORT are set.

(Bitbake rev: 20f24de0bdafac21f5d8a58701f977efa7041288)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:08:42 +00:00
Paul Eggleton
90e99a5cae bitbake-layers: list overlayed classes in show-overlayed
Classes (.bbclass files) can be overlayed in a layer although they are
currently located by BitBake in a different way (via BBPATH instead of
using layer priority) and thus it is useful to be able to see when this
is in effect and which layer's class is actually being used.

(Bitbake rev: f6493e4bad005a82580380d800ebf4c438292f5b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:08:42 +00:00
Paul Eggleton
86a5fcd2c6 bitbake-layers: add show-recipes subcommand
Add a show-recipes subcommand which lists all available recipes, with
the layer they are provided by. You can optionally filter the output by
recipe name (PN).

(This is a generalised version of the show-overlayed subcommand.)

(Bitbake rev: 05e86ba966f5a26721891c82b21afa48768a67cc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:08:42 +00:00
Paul Eggleton
526264e7d7 bitbake-layers: improve show-overlayed output
Make the following improvements to the show-overlayed subcommand:

* Show recipes that are overlayed when the version is higher or lower,
  not just when it is the same. This gives a much better picture of the
  influence each layer is having over the metadata used for building.
  This can be disabled with the -s option if you just want to see
  recipes with the same version as before.
* Default to showing name (PN), layer and version rather than the full
  path and filename. The old style formatting can be used by specifying
  the -f option.
* Mark skipped recipes as such in the output, and print them in the
  correct sorted place in the list rather than at the end
* Prefix/suffix title line with === so it can be filtered out easily in
  shell scripts if desired

(Bitbake rev: 43b473275d3cb2e60a14e4a52cdc4654b3f4e5e7)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:08:41 +00:00
Paul Eggleton
3d2f6d5610 bitbake-layers: use directory name as layer name
It turns out that using the collection name as specified within
layer.conf (i.e. what gets added to BBFILE_COLLECTIONS) as a name to
refer to the layer is not particularly useful, since layer creators
aren't necessarily setting these to a meaningful value - e.g. OE-Core
uses "normal", meta-oe uses "openembedded-layer", etc. In any case,
BitBake uses the directory name in its list of configured layers in the
system information presented upon starting a build, so let's just do the
same here and avoid confusion.

Also rename the get_append_layer function to get_file_layer since it is
in no way specific to bbappends.

(Bitbake rev: 35d2c1c618826e961dbf4b9889b829f469346d74)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:08:41 +00:00
Paul Eggleton
cf425a13a2 bitbake-layers: use dashes in subcommands
Rather than the slightly awkward underscores, use dashes in subcommands
e.g. show-layers instead of show_layers. (The old underscored forms
continue to be accepted however.)

(Bitbake rev: 6d311ddc1be04ae5bd0a1ebee94b44968e8a3f27)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:08:41 +00:00
Martin Jansa
936aca72c9 rootfs_ipk: remove runtime_script_required usage
* it was introduced in 87780fc09b066525e47d0f50ee5497db54d304cd
* then partially removed in 2feba313c991170747381c7cf821a45c2cd04632
* so remove this use too as runtime_script_required is not initialized anymore and results in
  run.do_rootfs.6328: line 235: [: -eq: unary operator expected

(From OE-Core rev: 6d3eac57bdba8e2582c210a2f82a3a4546f68581)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:44 +00:00
Saul Wold
22181a759d gcc-runtime: fix override from poky-lsb to linuxstdbase
(From OE-Core rev: 1f5de4b36ad5853e489e47078c830f12a1c71ce9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:44 +00:00
Saul Wold
0de413782e default-providers: add kbd as PREFERRED_PROVIDER for console-tools
kbd is used a primary provider for console-tools

(From OE-Core rev: 9a88125c546e6bcbec683eb736e232236c38a4f9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:44 +00:00
Khem Raj
dc153672aa gdb-common: Drop elfutils from DEPENDS
(From OE-Core rev: 8330205eeb605354c139605618255940e3b312d4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:43 +00:00
Bruce Ashfield
a092311949 linux-yocto: update to v3.0.18 + features
The -stable team released v3.0.18, so it becomes the new base for the
linux-yocto_3.0 recipe.

Along with the 3.0.18 update this kernel refresh brings in the following
changes:

  59314a3 meta/beagleboard: Using CONFIG_PANEL_GENERIC_DPI=y
  b168325 crownbay: use emgd-1.10
  281b80f kver: bumping to v3.0.18
  0d5d0dd common-pc*: add SMP and virtio

(From OE-Core rev: b58d330a88a64ac8ff82362cc90cc817f38b82cd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:43 +00:00
Bruce Ashfield
e670fdc7ae linux-yocto: add kernel 3.2.2 support
Adding initial support for the linux 3.2 kernel.

Although the branching and naming has changed slightly, the same BSPs and
features exist in this tree as have existed in previous linux-yocto versions.

Notable features of this update are:

  - streamlined branch naming
  - configuration and functionality split in the standard kernel
  - creation of the 'tiny' kernel type branch
  - audited kernel configurations with optional features documented
    in the meta branch
  - feature and BSP refreshes
  - 3.2-rt support refresh
  - qemu ppc graphics support

Build and boot testing has been performed on all emulated targets
(sato and core).

(From OE-Core rev: 72264df07d7e57ba8232aae90b76ab220fdb2d22)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:43 +00:00
Bruce Ashfield
278e53ca6b kern-tools: import config audit and branch manipulation updates
Updating the kern-tools SRCREV to import the following changes:

 a7a9930 kgit-meta/scc: allow multi-line defines
 e3442c6 kern-tools: add required and optional kernel configuration processing
 b56b67b configme: extract redefinition and mismatch information
 6118eaf kern-tools: remove branchname assumptions

These are required to support the kernel configuration policy changes
implemented in the yocto 3.2 kernel repository.

(From OE-Core rev: 5a3759f4b23361dd2c1968ce51e5c3695a661972)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:43 +00:00
Andrea Adami
0d1dee2a56 tzdata_2011n: provide pkg_postinst and timezone defaults
* Introduce DEFAULT_TIMEZONE variable ('Universal', present in base package)
* and add /etc/timezone during do_install.
* While there, fix hardcoded references to $exec_prefix (/usr).
* Add the pkg_postinst script (adapted from Gentoo).
* Create /etc/localtime during postinst.
* Bump PR

(From OE-Core rev: 5304ce429f2c05857f04fbe3b47a067983ca96be)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:43 +00:00
Koen Kooi
ae3184c96e classes: replace 'Poky' with 'OE-core'
(From OE-Core rev: 1fdcd32520a05465b0d54c062f28bac9cdf74a20)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:42 +00:00
Koen Kooi
2805ff120e alsa-utils: make alsa-utils-alsactl recommend alsa-states
This will drag in the asound.state from the BSP that alsactl uses.

(From OE-Core rev: 6a1c75971d35b6a8272741a4f3e25ef46f7ce305)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:42 +00:00
Koen Kooi
a26a2cba60 alsa-state: fix RDEPENDS assignment
(From OE-Core rev: 358ad279d525ca3c806cbb6ceadb2d6170468d80)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:42 +00:00
Eric Bénard
37d93b9818 qt4-tools-nativesdk-4.8.0: fix build
the build is actually failing because host g++ and ld are used to
compile and link

(From OE-Core rev: 4ccae37db1aa77a1d15098c3720ea6e2d383fbdc)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:42 +00:00
Saul Wold
9123e9eb9b genext2fs: fix inode computation
This patch fixes a problem with the computation of inodes
based on the bytes_per_inode options, for a larger FS (> 2G)
the inode count would go negative and a smaller default
count would be used, this would cause the FS to run out of
inodes.

(From OE-Core rev: df5e886be059da35fb69710c79227cc768f1c58e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:41 +00:00
Andrea Adami
84e24f0f00 image_types.bbclass: refactor cpio images generation.
* Add common check for the presence of an /init
* symlink, being 'touch' would fail with it
* and 'touch -h' is not yet generally supported
* (depends on distro on build host).

(From OE-Core rev: ab282056148f3152f96b6990e09270ae5405da9d)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-01 15:07:41 +00:00
Richard Purdie
636d7e308f useradd.bbclass: Fix missing quote
(From OE-Core rev: d7b13cd42ab8d5f44f97e119b73ec2e363677d26)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 23:57:46 +00:00
Richard Purdie
b719d7e10b useradd: Ensure dependencies are only added for target recipes, not native or nativesdk
(From OE-Core rev: 63d006b2d3fc2223c74f81b91f70f5c841108c80)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 16:59:56 +00:00
Shane Wang
df823d5958 distro_tracking_fields: fix the typos in the field of maintainer.
(From OE-Core rev: fba0459da7f274ae284d36b7fdbf2f9d10a52610)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 09:52:08 +00:00
Koen Kooi
973f93c031 libtool 2.4.2: fix missing quote in FILES_libtldtl
The missing quote prohibits OE from packaging it correctly, leading to:

|  * satisfy_dependencies_for: Cannot satisfy the following dependencies for task-gnome:
|  *    libltdl7 (>= 2.4.2) *   libltdl7 (>= 2.4.2) *   libltdl7 (>= 2.4.2) *   libltdl7 (>= 2.4.2) *   libltdl7 (>= 2.4.2) *   libltdl7 (>= 2.4.2) *   libltdl7 (>= 2.4.2) *

for incremental builds and binary feeds.

(From OE-Core rev: ed6968b731e8ebc161fa59e18a9284bddf86c61b)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 09:47:52 +00:00
Richard Purdie
75fcfde061 useradd.bbclass: Add explict setscene dependencies to ensure correct ordering of setscene tasks
(From OE-Core rev: ffc7bbcf0011de3f1f6e8d95f1de0b8f7164fa51)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 09:42:48 +00:00
Richard Purdie
3b47c5310a useradd.bbclass: Ensure pseudo can load in the pseudo unloaded case
In the do_populate_sysroot_setscene case, pseudo has been unloaded and we need
to reload it. This code change ensures all the pseudo options are specified
so pseudo loads correctly.

It also improves some of the comments so all the different contexts are listed.

(From OE-Core rev: 76345cd61c9523ce6755ef8e923dec37800b7a98)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 09:40:07 +00:00
Richard Purdie
0a3a15c8dd useradd.bbclass: Execute user addition code before do_package_setscene, not after do_populate_sysroot_setscene
The user addition needs to happen before the do_package files are extracted
by do_package_setscene since those are the ones we need to preserve the file
ownership information for. This patch ensures this happens.

(From OE-Core rev: 34282c1b996ef008384af456735692d66ddabc13)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 09:40:07 +00:00
Richard Purdie
9a58e312ef sstate.bbclass: Add support for sstate preinst functions
(From OE-Core rev: f2b0a71b3100a0d2ceb80300d7f3823a31eb907a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 09:40:07 +00:00
Richard Purdie
de7a6ab1ba runqueue.py: Add inter setscene task dependency handling
This is being added to resolve setscene race issues where we do have
particular dependencies required between setscene tasks. This allows
specific dependencies to be specified. This allows us to fix the races
in sstate with the useradd class in OE-Core.

Any tasks being depended upon have their reverse dependencies cleared to
ensure we don't have circular references.

(Bitbake rev: e1b157d26374a70e6274edcb4c0b9f3bc48f765c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 09:40:06 +00:00
Richard Purdie
9aeb38a5b8 runqueue.py: Fix missing setscene dependencies
When constructing the setscene inter-dependencies, we need to account for all task,
not just the last one found. This patch corrects this oversight and ensures all
dependencies are added, not just the first one found.

(Bitbake rev: b9b5b5129d066e1ff7d3effda116afc3c6657beb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 09:40:05 +00:00
Richard Purdie
2a361cdb39 data/runqueue.py: Fix commented out test code after variable name changes
(Bitbake rev: 175c5c8a5e51365aa127562e8598e84f5cd36495)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-27 09:40:05 +00:00
Richard Purdie
238a47d800 shadow-sysroot: Simplfy login.defs installation
Currently if shadow-sysroot is installed from a sstate package,
shadow_sysroot_sstate_postinst is looking in ${D} for login.defs which
isn't a valid for an install from sstate.

The easiest and most correct way to fix this is to override the standard
sysroot_stage_all function to install the files correctly and then
sstate installs work as expected. This simplifies the code as an added
bonus.

(From OE-Core rev: 6437e7315a0f2e077f9d69e4b65b48280ea8edbc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-26 20:53:16 +00:00
Saul Wold
f54a443aa7 libgcc: Add INSANE_SKIP of staticdev for libgcc-dev and libgcov-dev
Skip the staticdev QA test since the static archives belong
with the -dev.

(From OE-Core rev: 3de810a7f745b253d4b63eea353a31514d64a2e3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-26 20:48:02 +00:00
Saul Wold
7aa33dba3b insane.bbclass: Add test for static .a libraries in non-staticdev packages
This check verifies that non staticdev and non pic packages do not
have static libraries in them. There are a few exceptions for the
libgcc-dev and libgcov-dev packages which are whitelisted, also the
*_nonshared.a need to be part of their respective -dev packages.

This is currently a warning to work out any other issues in the upper
layers but will be moved to ERROR at somepoint in the future.

[YOCTO #663]

(From OE-Core rev: 4f31eb53fb0b1bfdf8be05356e57df607a6e82a9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-26 20:48:01 +00:00
Marc Ferland
cd7da08486 pm-utils: Add grep to RDEPENDS to avoid command failures.
Second version of the patch that adds grep to RDEPENDS.

Fixes [YOCTO #1887]

(From OE-Core rev: 6d4ff87b935d61aae63260262c0f48fe7e9d2a48)

Signed-off-by: Marc Ferland <ferlandm@sonatest.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-26 20:48:01 +00:00
Joshua Lock
494a500032 linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE
As binutils is required by perf to build and is GPLv3 licensed adding
GPLv3 to INCOMPATIBLE_LICENSE will cause linux-yocto to be skipped.

Long term we should look at moving perf to a separate recipe but as a
short term solution this patch will ensure that when GPLv3 is in
INCOMPATIBLE_LICENSE perf is not built and it's dependencies are not
added to build.

Fixes [YOCTO #1879]

(From OE-Core rev: ce61f9031b54067bffa304dab90c31278631dcdf)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-26 20:48:01 +00:00
Khem Raj
3a9e5682a9 uclibc-git: Update to latest RC
Document the patches

(From OE-Core rev: 746e8ffa66850bf9050cd6baf94eb76c492eb535)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:34:09 +00:00
Khem Raj
e60acb7e0b eglibc-2.15: Add upstream status for x86_fenv.patch
(From OE-Core rev: 64a8f93cb6a7cd86f966b8f53227246deebce3a0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:34:09 +00:00
Khem Raj
5ff048d979 uclibc: Dont package all .a in uclibc-dev
only *_nonshared.a are to be packaged in uclibc-dev
rest can go into uclibc-staticdev

(From OE-Core rev: aa799ba49833bdf6acbcd4b34f0605050c938175)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:34:09 +00:00
Khem Raj
609f637ff0 util-linux: Change SRC_URI to a fetchable location
(From OE-Core rev: 140ca6f3e690f34940fd60809f2d03fabb27105d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:34:09 +00:00
Khem Raj
d8aada2b9a ltp: Update recipe and fix building on uclibc
(From OE-Core rev: 4e8644584aa8826e9cbf9ff0dc23b8c395978013)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:34:09 +00:00
Joshua Lock
8549ebb873 distro-tracking-fields: update entries for clutter-gst-1.8
(From OE-Core rev: 5801f480b74465696389783dc651ec48ff42e715)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:34:08 +00:00
Joshua Lock
6882a60b18 clutter-gst: update to 1.4.6
(From OE-Core rev: a440654076008a107fff2245eff7791a4abf5abf)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:34:08 +00:00
Joshua Lock
0d7dfedca4 cogl: update upstream status for build_for_armv4t.patch
This has patch has been merged into upstreams git repository and will be
available in the next stable release.

(From OE-Core rev: 77f5e99a821ad30b859a402bdc55c495741b24cc)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:34:08 +00:00
Richard Purdie
0287f645f1 gcc-cross: Don't reference machine specific variables
gcc-cross is installed into a package architecture specific directory
and is not meant to be machine specific. This patch replaces MACHINE_ARCH
with PACKAGE_ARCH to ensure this is really the case.

This was found by examining sstate checksums.

(From OE-Core rev: b3ca57418f47b16ed0a63d3291bf7d31e3ca5a45)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:30:57 +00:00
Darren Hart
8f55130e6f bootimg: Fix a math thinko in the block count calculation
Fixes [YOCTO #1852] ... again.

The conversion from sectors to blocks was multiplying by 2 instead
of dividing by 2. Blocks are 1024 bytes, sectors are 512 bytes. The
result was images being much larger than intended.

Reported-by: Tom Zanussi <tom.zanussi@intel.com>
(From OE-Core rev: b35384fa3ca96b31c63d764322215abced2066e4)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:30:56 +00:00
Richard Purdie
0bf6f8035c lib/oe/sstatesig.py: Exclude common machine specific dependencies from task signatures
Where we have machine specific recipes with well defined behaviour, it makes
no sense to rebuild recipes with these as dependencies whenever the machine
changes. This patch lists those well behaved recipes and excludes them from
the task signatures so we can change MACHINE without invalidating existing
PACKAGE_ARCH binaries.

(From OE-Core rev: 07e34778fc74126af1380bf249fd34a5e3df12c2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:30:56 +00:00
Richard Purdie
7c8899662b shadow: Split securetty into a separate recipe
The securetty file is machine specific whilst the rest of the shadow recipe
is not. Unfortunately making the recipce machine specific is both inefficient
and also causes dependency problems since parts of the system such as the useradd
code depend upon it and this introduces a machine specific element to sstate
checksums which should not be machine specific.

To resolve this, this patch separates out the file into a separate recipe
meaning the machine specific components are isolated.

(From OE-Core rev: 318133b5202632c6957c2aade22b1ef7af929f23)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-25 14:30:56 +00:00
Richard Purdie
6b2cb82802 gcc-common.inc: Fix comment
(From OE-Core rev: a4a98b6d6273d4e716afbff0880d0ac2ff7be0a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 14:38:39 +00:00
Richard Purdie
ef3c1dd356 gcc-common.inc: Ensure WORKDIR doesn't adversly affect sstate checksums
Changes in WORKDIR were changing the do_patch stamps between gcc-crosssdk
and gcc-cross. This excludes the variable since in this case, we don't
need want those changes to affect the signatures.

(From OE-Core rev: 0de85d2ca3bc9674323302a35995dfddb6044a71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 12:19:01 +00:00
Nitin A Kamble
f13ee1e877 guile: fix a quote in description
(From OE-Core rev: 29118b57c7804a237e0c8fef41fcf032476bfb10)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:26 +00:00
Nitin A Kamble
5c6aa87a91 ltp: disable elf binary stripping
Otherwise the ltp tests ldd01 & nm01 fail due to missing stripped
information.

This Fixes these bugs:
[YOCTO #1922]
[YOCTO #1923]

(From OE-Core rev: 075266fa8bf12719c58a21c75a35fede5608dcdf)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:26 +00:00
Shane Wang
19561311a3 distro_tracking.inc: update the info for recipes upgraded recently
This patch is to update the information for the recipes upgraded recently, including strace, pciutils, ed, ofono, iproute2, bluez4, bluez-hcidump, kexec-tools, tremor, iptables, polkit, libxcb, xcb-proto, pixman and util-macros.

And add the new recipe for mobile-broadband-provider-info, which is depended on by ofono v1.3.

(From OE-Core rev: 10b255bd881e6f63c7eb7140aa798fcb2093db89)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:25 +00:00
Shane Wang
803850a0ee libsoup: update its info in distro_tracking.inc
(From OE-Core rev: 01ed085b6b2be063ee9249f3ad3f3c03bd19490b)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:25 +00:00
Shane Wang
87b3c3f813 strace: upgrade to 4.6
(From OE-Core rev: 2b81cf3d76241572c299a0a58a3d0ca022bef9a0)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:25 +00:00
Shane Wang
27aec8bef6 pciutils: upgrade to 3.1.9
(From OE-Core rev: 745bdcd3421747b050493079101f6f5ba7830daf)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:25 +00:00
Shane Wang
be76d89496 ed: upgrade to 1.6
This patch is to upgrade ed to 1.6, and the change of license checksum is because

the diff between two ed.h files:

3c3,4
<     Copyright (C) 1993, 1994, 2006, 2007, 2008, 2009, 2010

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:24 +00:00
Shane Wang
07b940b752 ofono: upgrade to 1.3
This patch is to upgrade ofono to 1.3 and the v1.3 ofono depends on mobile-broadband-provider-info.

(From OE-Core rev: d691b150d1222a23422658d6dc4b72a3307bc77f)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:24 +00:00
Shane Wang
d6dcd8de12 mobile-broadband-provider-info: bring a new recipe into poky
This patch is to bring a new recipe mobile-broadband-provider-info into poky because the latest version ofono v1.3 depends on it.

And the patch is imported from the OpenEmbedded server (http://git.openembedded.org/openembedded/tree/recipes/mobile-broadband-provider-info) as of commit ids

commit 9d612c4bb9bef813bdef9e198efc5949d51905eb
commit 84bf98dc6876ef6be8a4ee3744924e922253b53e
commit 30a913149de95ecafe4ef87bd50cfdbd6737fe1e
commit 7d2be53866d317bb032c63548f504f63107b4c2c

And upgrade to the latest.

(From OE-Core rev: 851299c8dd2bf8012078a2c78f79dc1b9fdc3323)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:24 +00:00
Shane Wang
d6a55ca79c iproute2: upgrade to 3.2.0
This patch is to upgrade iproute2 to tag 3.2.0.
And the tag is not fully testd by the upstream and has build error.
We use the next commit of tag 3.2.0 which fixs the error.

(From OE-Core rev: f2a7b225b5a243e0a364be678a71bdc3b0fa99e0)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:24 +00:00
Shane Wang
e96ec29709 bluez4: upgrade to 4.98
(From OE-Core rev: 8d3188a4a69214f23d8b7f8d972bdd35f574196b)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:23 +00:00
Shane Wang
a3c6899639 bluez-hcidump: upgrade to 2.2
(From OE-Core rev: cfa2e9ef3f52f8956d05c2b12ca9984fc08ef238)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:23 +00:00
Shane Wang
1483a6c5d7 kexec-tools: upgrade to 2.0.3
This patch is to upgrade kexec-tools to 2.0.3.
And since fix_for_compiling_with_gcc-4.6.0.patch is there in 2.0.3, it is removed.

(From OE-Core rev: aea75907ff0ad11b7a17910f74491278e55bbc10)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:23 +00:00
Shane Wang
e36a3c16d5 tremor: upgrade to 18163 (20120122)
(From OE-Core rev: 67ae9bbbab31b69f37e3ee0c1c969e43da034699)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:23 +00:00
Shane Wang
d70f34fddd iptables: upgrade to 1.4.12.2
This patch is to upgrade iptables to 1.4.12.2, and introduce a patch not to check unknown symbols.
Otherwise, when it is compiled, it will report "libxtables.so.7" from LD_PRELOAD cannot be preloaded.

(From OE-Core rev: 27ed7024cf2ee9c9f84246fd931bc390cb638851)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:22 +00:00
Shane Wang
71dbcbcdcb polkit: upgrade to 0.104
Upgrade polkit to 0.104.
And fix the typo for "endline" and the checksum.

(From OE-Core rev: a04c89e4e2a5f98716001ba9e5e25b21323f4606)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:22 +00:00
Shane Wang
35200aa6b9 libxcb: upgrade to 1.8
(From OE-Core rev: d10c9e9a5f83bdd744a8e5ac6bed504404c92ecf)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:22 +00:00
Shane Wang
ab315a3b68 xcb-proto: upgrade to 1.7
Upgrade xcb-proto from 1.6 to 1.7
Since xcb-proto-libdir.patch is there, the file is removed.

(From OE-Core rev: 15780c7d7bb5d242aa688c1c1d9842a1004222d9)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:22 +00:00
Shane Wang
12e10a653a pixman: upgrade to 0.24.2
(From OE-Core rev: 897828ae798ac84d1a0a1a929ddb62807f5fb3f4)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:21 +00:00
Shane Wang
80b9d5125d util-macros: upgrade to 1.16.1
(From OE-Core rev: cae171c3017af47896df4752992fefe2161211d4)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:21 +00:00
Saul Wold
eccece9553 gcc: move shared .a to their own package
Keep the *_nonshared.a in the libgcc-dev package as
required for linking, moved the other *.a libraries
into their respective packages (libstdc++ and libssp).

(From OE-Core rev: c2838d949ffd15282c72551b40c5fd81d0db1fa0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:21 +00:00
Saul Wold
307fcba065 libgcc: Seperate out libgcov.a from libgcc-dev
libgcov.a is moved to it's own libgcov-dev package, instead
of being part of libgcc-dev.

(From OE-Core rev: a82a3f8ec55e68a003420549392d638e565562fc)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:21 +00:00
Saul Wold
b227700cac binutils: refactor packages for staticdev
(From OE-Core rev: 42b2996a58635483aa111ba4c61f71740d8294f5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:20 +00:00
Saul Wold
7843f8ec97 eglibc: refactor packages for staticdev
(From OE-Core rev: bdf64c5e7ca2268b095405208407f95e1ba41488)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:20 +00:00
Saul Wold
70b6b6bdf4 opkg: refactor packages for staticdev
(From OE-Core rev: 01bc511d772a47e34b2071393651a915c8ddb1b0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:20 +00:00
Saul Wold
930424bf2f opkg: move common code & metadata into opkg.inc to reduce code duplication
(From OE-Core rev: da70cc9f33845d62943afc78168e56931d0a9b15)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:20 +00:00
Saul Wold
c6c3f87450 tcp-wrappers: refactor packages for staticdev
(From OE-Core rev: 391bc0715ee7fb3391f0719b2515fcf0bee9c4ad)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:20 +00:00
Saul Wold
a64c2a90ad syslinux: refactor packages for staticdev
(From OE-Core rev: 256b610b0ba679a14d0348db95ef8bce21ddc8a0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:20 +00:00
Saul Wold
662666046c libtool: refactor packages for staticdev
(From OE-Core rev: 63bfddf162cea836748e56da1488de56758d0418)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:19 +00:00
Saul Wold
9ed7ac6ffa gstreamer: refactor packages for staticdev
(From OE-Core rev: 66c348403d2289ad9a4d95ee3f3aaf8088593e82)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:19 +00:00
Saul Wold
14953b7c51 tiff: refactor packages for staticdev
(From OE-Core rev: 93135c19b9574d952aaf8a4b97425640b847847a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:19 +00:00
Saul Wold
50a073fe04 mpeg2dec: refactor packages for staticdev
(From OE-Core rev: 6d59ffeb45062b46fbfecf898f76183d73798331)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:19 +00:00
Saul Wold
ed08326255 apr-util: refactor packages for staticdev
(From OE-Core rev: 40aeac840516f33f57134ac25fb046f6d2e43534)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:18 +00:00
Saul Wold
a15f44464e sqlite3: refactor packages for staticdev
(From OE-Core rev: 6c642cf6b8aadfa3d1e9299c135f9cfc6abdd162)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:18 +00:00
Saul Wold
8d54a0de69 libxft: refactor packages for staticdev
(From OE-Core rev: 165bac5be2555727ae475a4fbcc02c53712578da)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:18 +00:00
Saul Wold
f514242c8d sysfsutils: refactor packages for staticdev
(From OE-Core rev: 216333723b126a7e727b01e7074900e5bb339440)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:18 +00:00
Saul Wold
3507c03f16 libsoup: refactor packages for staticdev
(From OE-Core rev: 5a44b3aa50bb4bff652af5e6835a6707bba1104a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:18 +00:00
Saul Wold
3346afefa3 augeas: refactor packages for staticdev
(From OE-Core rev: 4c1a1eb9a646dfebeb031a29baba1055065a0148)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:17 +00:00
Saul Wold
d74c85201e avahi-ui: refactor packages for staticdev
(From OE-Core rev: abdbf82de718468da3963cae2b9717b72480d66a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:17 +00:00
Saul Wold
bb52d385c6 apmd: refactor packages for staticdev
(From OE-Core rev: 0f32aea7b133743020f5f91ff7d2d595ad1c5f86)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:17 +00:00
Saul Wold
ca848609cb Fix Upstream-Status entries
(From OE-Core rev: 0cd9314ef95168ba5452a01ed8d923585c8d54ae)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:16 +00:00
Tom Zanussi
79af7541e2 documentation-audit.sh: remove COMMERCIAL_LICENSE warning
COMMERCIAL_LICENSE no longer exists; the equivalent functionality is
now has been replaced by LICENSE_FLAGS_WHITELIST, so replace the
COMMERCIAL_LICENSE warning with a similarly equivalent warning.

(From OE-Core rev: 64e1db588bcb7b66b08097c0ea443bd4406422d3)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:16 +00:00
Tom Zanussi
7301b4c187 default-distrovars.inc: remove COMMERCIAL_LICENSE et al
The global COMMERCIAL_LICENSE mechanism has been obsoleted by
per-recipe LICENSE_FLAGS, so remove the related variables.

(From OE-Core rev: a66fdbda548fab367cada035c49a32d9bf8ea528)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:16 +00:00
Tom Zanussi
2896b4a1c4 base.bbclass: replace COMMERCIAL_LICENSE code with LICENSE_FLAGS code
The COMMERCIAL_LICENSE mechanism has been superseded by LICENSE_FLAGS
so remove the code that implements COMMERCIAL_LICENSE and replace it
with the corresponding LICENSE_FLAGS version.

(From OE-Core rev: 3735716996ec11691054d7f03db873afde89b143)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:15 +00:00
Tom Zanussi
7b81ef8d95 Add LICENSE_FLAGS to packages mentioned in COMMERCIAL_LICENSE
Per-recipe LICENSE_FLAGS replace the global COMMERCIAL_LICENSE list;
add LICENSE_FLAGS varables to each the recipes mentioned in that list:

     - lame
     - gst-fluendo-mp3
     - gst-openmax
     - gst-plugins-ugly
     - libmad
     - libomxil
     - mpeg2dec
     - qmmp

(From OE-Core rev: 43410523a07d9eb52a7d57ae3dc1cc320cbbc6f9)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:15 +00:00
Tom Zanussi
b68ea54360 license.bbclass: add support for LICENSE_FLAGS
LICENSE_FLAGS are a per-recipe replacement for the COMMERCIAL_LICENSE
mechanism.

In the COMMERCIAL_LICENSE mechanism, any package name mentioned in the
global COMMERCIAL_LICENSE list is 'blacklisted' from being included in
an image.  To allow the blacklisted package into the image, the
corresponding packages need to be removed from the COMMERCIAL_LICENSE
list.  This mechanism relies on a global list defined in
default-distrovars.inc.

The LICENSE_FLAGS mechanism essentially implements the same thing but
turns the global blacklist into a per-recipe whitelist.  Any recipe
can optionally define one or more 'license flags'; if defined, each of
the license flags defined for a recipe must have matching entries in a
global LICENSE_FLAGS_WHITELIST variable.

The definition of 'matching' is simple, but there are a couple things
users need to know in order to correctly and effectively use it.
Before we test a flag against the whitelist, we append _${PN} to it,
thus automatically making each LICENSE_FLAG recipe-specific.  We then
try to match that string against the whitelist.  So if the user
specifies LICENSE_FLAGS = 'commercial' for recipe 'foo', the string
'commercial_foo' should be specified in the whitelist in order for it
to match.

However, the user can also broaden the match by putting any
'_'-separated beginning subset of a LICENSE_FLAG in the whitelist,
which will also match e.g. simply specifying 'commercial' in the
whitelist would match any expanded LICENSE_FLAG starting with
'commercial' such as 'commercial_foo' and 'commercial_bar' which are
the strings that would have been automatically generated if those
recipes had simply specified LICENSE_FLAGS = 'commercial'

This allows for a range of specificity for the items in the whitelist,
from more general to perfectly specific.  So users have the choice of
exhaustively enumerating each license flag in the whitelist to allow
only those specific recipes into the image, or of using a more general
string to pick up anything matching just the first component(s).

Note that this scheme works even if the flag already has _pn appended
- the extra _pn is redundant, but doesn't affect the outcome e.g. a
license flag of 'commercial_1.2_foo' would turn into
'commercial_1.2_foo_foo' and would match both the general 'commercial'
and the specific 'commercial_1.2_foo' as expected (it would also match
commercial_1.2_foo_foo' and 'commercial_1.2', which don't make much
sense as far as something a user would think of specifying in the
whitelist).  For a versioned string, the user could instead specify
'commercial_foo_1.2', which would turn into 'commercial_foo_1.2_foo',
but which would as expected allow the user to pick up this package
along with anything else 'commercial' by specifying 'commercial' in
the whitelist, or anything with a 'commercial_foo' license regardless
of version by using 'commercial_foo' in the whitelist, or
'commercial_foo_1.1' to be completely specific about package and
version.

The current behavior of COMMERCIAL_LICENSE is replicated as mentioned
above by having the current set of COMMERCIAL_LICENSE flags
implemented using LICENSE_FLAGS = "commercial".

That being the case, the current COMMERCIAL_LICENSE can equivalently
be specified in the new scheme by putting the below in local.conf:

 # This is a list of packages that require a commercial license to ship
 # product. If shipped as part of an image these packages may have
 # implications so they are disabled by default.  To enable them,
 # un-comment the below as appropriate.
 #LICENSE_FLAGS_WHITELIST = "commercial_gst-fluendo-mp3 \
 #                           commercial_gst-openmax \
 #                           commercial_gst-plugins-ugly \
 #                           commercial_lame \
 #                           commercial_libmad \
 #                           commercial_libomxil \
 #                           commercial_mpeg2dec \
 #                           commercial_qmmp"

The above allows all of the current COMMERCIAL_LICENSE packages in -
to disallow a particular package from appearing in the image, simply
remove it from the whitelist.  To allow them all in, you could also
specify LICENSE_FLAGS_WHITELIST = "commercial".

(From OE-Core rev: a2760661b8c7a4a1b6f2e556853b3a9ae38cbcb5)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:15 +00:00
Shane Wang
127d1fd1c2 core-image-foo: add description to each image bb file
Add DESCRIPTION to each image bb file according to poky reference manual for Hob2 use later.

(From OE-Core rev: 05a7c022e613f35de8ce47bb667140a7ce47fcea)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:54:15 +00:00
Martin Jansa
6b2b5d2acd initscripts: remove space from shebang, just cosmetics
* at least in initscripts it's consistent now

(From OE-Core rev: 20d5effcf192d469883b5ac899cbd2340b71bd2c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:05:30 +00:00
Martin Jansa
c6a2c300d1 initscripts: add shebang where it was missing completely
(From OE-Core rev: d58fc7a3ccede8706bf6a6aa7f7301f716128db8)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:05:29 +00:00
Saul Wold
d4a942fb51 qemuimage-testlib: rename qemuppc image
A recent set of changes changed the kernel name from bzImage to vmlinux,
this test needs to change also.

(From OE-Core rev: f11f03b27bd0bf41bcb45d0589d9982d006474d2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 11:00:35 +00:00
Bruce Ashfield
21b3f5ddb1 linux-yocto/qemuppc: fix console and ethernet
Two issues are fixed with this commit, the ability to use the keyboard
on a graphical qemu boot and enabling ethernet by default on a 3.0
kernel.

The keyboard is fixed via the same method as the other simulations with
the addition of console=tty on the qemu command line.

Ethernet is fixed by adding a dependency of PCNET32 to the qemuppc
configuration, which allows us to build ethernet directly into the image.

(From OE-Core rev: 29c71eeb98aa8ce0fb0e0a30483499525bf6305d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 10:20:10 +00:00
Richard Purdie
c47def3b04 gcc_4.6.bb: Drop duplicated SRC_URI component
This was duplicated from the main SRC_URI and was causing incorrect
task signatures. This simply removes the duplication.

(From OE-Core rev: cc8d02c582a72d07fd08c59d14ee5720e01a5cd9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24 10:20:09 +00:00
Richard Purdie
4ad01bdf3f gcc-package-cross.inc: Mark do_package* tasks as noexec
These tasks don't do anything, this just avoids the overhead of forking
to exec them.

(From OE-Core rev: 6708b3e908ae383922703390ac2d39f40348e1b3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-23 09:01:39 +00:00
Richard Purdie
a7b32bd9ef bitbake.conf: Switch to the OEBasic signature generator
This signature generator will allow easier customisation of which task
dependencies get included in the signatures using the code in
lib/oe/sstatesig.py. Compared the the regexp, this function is much
easier to understand and customise.

(From OE-Core rev: 2654adc15e59e72e80cf78dc576fdc5472edac20)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-23 09:01:39 +00:00
Richard Purdie
85cf3ed593 lib/oe: Add sstatesig, OE specific signature generator classes
This patch adds SignatureGenerator classes specific to OE. For now,
these emulate the previous behaviour with the exception that
dependencies on quilt-native are now ignored for checksum purposes.

The intent is to allow easier experimentation and customisation of
this code in future as a result of these changes.

Note that these changes require pending bitbake patches.

(From OE-Core rev: cb73cf4299a192e6065d567fae700987c3f937aa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-23 09:01:39 +00:00
Richard Purdie
b454cb7366 sanity.conf: Incrase bitbake minimum version requirement to 1.15.1
(From OE-Core rev: 383b1ef37c1c6f6b1be043ac61e338d75488c9a3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-23 09:01:38 +00:00
Richard Purdie
280e5fd212 gcc: Ensure that the shared source directory shared the same sstate hashes
The fetch/unpack/patch/headerfix tasks are shared and hence their sstate hashes
should also match. Sadly this is not the case since:

a) gcc-runtime applies an additional patch
b) The do_headerfix task was missing from libgcc
c) The do_headerfix task is a shell task and hence depends
   on all exported variables which can vary between cross and target
   recipes.

To fix this, the patch moves the patch to the common code, adds
the headerfix task to a common include file and disabled shell
dependencies on the do_headerfix task since its clear in this case
we don't need thsoe dependencies since we just call sed.

With this patch applied, all these recipes now share common sstate checksums.

(From OE-Core rev: 2c4569801a710f34a695b8d2a0ee7fc127fb34e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-23 09:01:38 +00:00
Richard Purdie
76c16c4fa8 Bump the version to 1.15.1
(Bitbake rev: 65c2eb1c095fe7ba3259060aefd4ba0e20cae319)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-23 09:01:36 +00:00
Scott Garman
3fe81df640 distro_tracking: update libpng, libgdbus, opensp, nfs-utils manual check dates
(From OE-Core rev: ac162df288f6d8f68c1764fad0ab2d33b9cee281)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:47:51 +00:00
Martin Jansa
3c5f108001 prserv: fix import of sqlite3
* this is used in all other bitbake parts where sqlite3 is used, don't
  know why it wasn't used here, but it fails e.g. on Gentoo
  Traceback (most recent call last):
    File "bin/bitbake", line 39, in <module>
      from bb import cooker
    File "lib/bb/cooker.py", line 39, in <module>
      import prserv.serv
    File "lib/prserv/serv.py", line 4, in <module>
      import xmlrpclib,sqlite3
  ImportError: No module named sqlite3

(Bitbake rev: 9a57ec705cf5c932d8c2a35852db7a4627c57937)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:47:49 +00:00
Richard Purdie
7a8bae92ed siggen.py: Abstract the runtime task dependency handling code in the generators
This means that custom signature handlers can override specific parts
of the code without having to reimplement whole functions allowing them
more flexibility.

(Bitbake rev: 164195c068a656733cfe7aa07369c5ed6ea62ca5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:47:40 +00:00
Richard Purdie
c4a8fab1a4 cooker.py: Allow siggen classes to be added by the metadata
By calling init_parser which sets up the siggen code after the ConfigParsed
event is fired, we can allow the metadata to add siggen classes which
was always what the code intended.

(Bitbake rev: 69fd5ad4a8402fab5eb8348260966b337c5648ff)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:47:40 +00:00
Paul Eggleton
8878ee89ba bitbake/fetch2: allow resuming interrupted fetch
A lot of our checks in the fetcher code assume that if the downloaded
file exists, the download finished successfully; this meant that if
BitBake was interrupted in the middle of a fetch then it would not
resume the fetch the next time, but instead attempt to use the
half-fetched file and usually fail as a result.

Since we're already writing a ".done" stamp file when a fetch completes,
just check for its existence and assume the download didn't complete
successfully if it isn't present.

(Bitbake rev: 721e986624529aedef96dd06c9fe6243f2897b10)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:47:39 +00:00
Paul Eggleton
42645b0965 bitbake/runqueue: always log tasks summary
It's unclear from the history but at some point we stopped logging the
"Tasks Summary" NOTE when tasks failed. Reinstate this for failure, and
also make the count of attempted tasks include the failed task.

(Bitbake rev: e44d5be98fc5d2589cd929ce143638395936b936)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:47:39 +00:00
Richard Purdie
f3e51862f1 siggen: Ensure correct runtask dependency output is shown for diffsigs
The actual task names are discounted for comparison of dependent tasks, only
the actual hashes are used. This updates the comparison code to account for
this change, attempting heuristic matching for more user friendly output but
falling back to showing the changed hashes directly. This avoids some confusing
output to users where it looked like tasks had changed when they had not and
actually had the same hash but a different taskname.

(Bitbake rev: 7da7dff83ed765c9cde1d7f91ee1b65e49520481)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:47:39 +00:00
Darren Hart
11cce80137 usermanual: Correct "inherit" search to bbclass from oeclass
Bitbake looks for bbclass now, not oeclass. Update the docs accordingly.

(Bitbake rev: 8b713708541f85a4252c0f7b683aff4407c7d3e0)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:47:38 +00:00
Christopher Larson
0779a90e2a cooker: use futures rather than a multiprocessing pool
This avoids some silent parser hangs we were seeing which were
near impossible to debug as no user feedback was given.

[RP: Tweak commit message]
(Bitbake rev: d104f29871c04a5a36600a35b2568b49e5b21ca0)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:47:38 +00:00
Christopher Larson
299fa3489b Add dependency on the backported python 3.2 concurrent.futures
(Bitbake rev: 774f59f06e65a35df597aa77c0fa06ab66c46906)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:47:32 +00:00
Zumeng Chen
7a8e1ef418 rspro-conf: remove usbgadget from routerstationpro
Since the target doesn't have the related requirement
to use USB slave hardware supporting usb gadget, so
remove it from MACHINE_FEATURES.

Signed-off-by: Zumeng.chen@windriver.com>
Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-20 16:31:34 +00:00
Paul Eggleton
967de59f35 buildhistory_analysis: include related fields in output
Sometimes, when a value changes in the buildhistory it is useful to
know when a related (but not necessarily itself monitored) value
changes as it can help explain the change. For example, when the list
of installed packages for an image changes it could be caused by a
change to one of the image-related variables.

Related field changes are recorded as sub-items of each change.
Currently the only way to visualise these is via the buildhistory-diff
tool, so an example would be:

Changes to images/qemux86/eglibc/core-image-minimal (installed-package-names.txt):
  locale-base-de-de was added
  procps was added
  * IMAGE_LINGUAS: added "de-de"
  * IMAGE_INSTALL: added "procps"

Here we see that two additional packages have been added to the image,
and looking at the related changes to the two variables IMAGE_INSTALL
and IMAGE_LINGUAS we have the explanation as to why.

(From OE-Core rev: 2c5b90c6d1b1091779602ebe03e84674eb63ea83)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 14:59:23 +00:00
Paul Eggleton
11e5d7bc81 classes/patch: avoid backtrace when patch does not apply
We don't need to see a Python stack backtrace when a patch does not
apply, just the error output from patch, so trap these kinds of errors
and ensure that we display the message and fail the task and nothing
else.

Fixes [YOCTO #1143]

(From OE-Core rev: ce6c80a1e68c2af0b4b5fa27582ad9c9f119e5c1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 14:34:34 +00:00
Martin Jansa
adb3ed29db task-base: rename VIRTUAL-RUNTIME-alsa-state to use underscore
* in http://lists.linuxtogo.org/pipermail/openembedded-core/2012-January/016226.html
  we talked about
  VIRTUAL-RUNTIME_alsa-state, but
  VIRTUAL-RUNTIME-alsa-state was used instead, which is inconsistent with other VIRTUAL-RUNTIME vars

(From OE-Core rev: d5b892467023d77d219ae05170c875f7b423aa78)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 14:34:34 +00:00
Paul Eggleton
dac8259131 hdparm: remove PRIORITY
PRIORITY is no longer set in recipes in OE-Core, so remove it. (Since
"optional" is the default value from bitbake.conf, no PR bump is
necessary.)

(From OE-Core rev: da5d3438fc9161e94fba24e1e8fd50afcae3b7aa)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 14:34:33 +00:00
Paul Eggleton
5cf28333a7 buildhistory_analysis: improve field handling robustness
Avoid errors when comparing changes for KEY = value files (package info
files and image-info.txt):

* Handle keys appearing and disappearing - this will help to handle PE
  in package info files (which is only written when it is not blank) and
  when we add additional fields in future.
* Handle when old value is 0 for numeric field (avoid division by zero)
* Report when numeric field was empty or missing rather than 0 (but
  still treat it as 0 for comparison purposes)

(From OE-Core rev: 255d4bbf4d1e430d45f5fafb7d1c77d9ea67e174)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 14:34:33 +00:00
Paul Eggleton
c1cebf6a2b buildhistory_analysis: correctly handle whitespace when splitting lists
Don't specify any argument to the split() function when handling changes
to list type variables (e.g. PACKAGES) so that the values are split by
any whitespace and only split once for a block of multiple whitespace
characters.

(From OE-Core rev: 15ad5d2c0e92fefdbb7c0cf064134b1cabfd84ac)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 14:34:33 +00:00
Paul Eggleton
2f4f8ef0fc buildhistory: record additional image info
Record some additional information about images - the uncompressed size
of the final image as well as the values of various variables that may
have influenced its contents. This is recorded in a machine-readable
"image-info.txt" file similar in structure to the package history files.

Also add some code to analyse changes to these values. (Most of the
variable values aren't monitored directly but will be used as contextual
information when they change at the same time as the content of the
image changing.)

(From OE-Core rev: 459ed6759a307b389f6ec1874136ec9aa0749120)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 14:34:32 +00:00
Nitin A Kamble
ffa93f0e25 grub-efi-native: fix errors with automake 1.11.2
This commit replaces earlier patch
(grub-1.99_fix_for_automake_1.11.2.patch) which did not work on all distros.

Fixes these errors observed with automake 1.11.2
The useof pkglibhas become more strict compared to the earlier release
of
automake resulting in these failures.
Fixed the files related to automake to avoid the issue.

| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| grub-core/Makefile.am:5:   `conf/Makefile.common' included from here
| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| Makefile.am:6:   `conf/Makefile.common' included from here
| autoreconf: automake failed with exit status: 1
| ERROR: autoreconf execution failed.

| conf/Makefile.common:150: `pkglibdir' is not a legitimate directory
for `SCRIPTS'
| grub-core/Makefile.am:5:   `conf/Makefile.common' included from here
| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| grub-core/Makefile.am:5:   `conf/Makefile.common' included from here
| conf/Makefile.common:150: `pkglibdir' is not a legitimate directory
for `SCRIPTS'
| Makefile.am:6:   `conf/Makefile.common' included from here
| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| Makefile.am:6:   `conf/Makefile.common' included from here
| autoreconf: automake failed with exit status: 1

(From OE-Core rev: ecc383f72791c3c4a3e7ccc646469706b88e68fb)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:13 +00:00
Nitin A Kamble
6ddf0b2b97 autogen-native: new recipe for grub-efi-native
grub-efi-native build is failing due to missing autogen command.
Hence created this recipe.

The newer versions of autogen 5.13 & 5.14 both are dumping core while
building from source, so going back to the working 5.12 version.

Also noticed that no distro vendor has picked up 5.13 or 5.14 versions
of autogen yet.

(From OE-Core rev: 218dbe61917fbedbce45d55de63cce123773f721)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:13 +00:00
Nitin A Kamble
34f4ab18bd guile: new recipe for autogen
guile recipe is needed by autogen.

Imported & updated  the guile-cross-config generation & guile-2.0.pc
manipulation code from the meta-oe guile recipe.

(From OE-Core rev: 7726884826332387180cd24ebe565cd13a193e13)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:12 +00:00
Nitin A Kamble
225a24a390 libunistring: new recipe for autogen
libunistring recipe is needed by guile.
And guile is needed by autogen.

(From OE-Core rev: b9006a6fe807f6717fd6ee7237b23987184d2316)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:12 +00:00
Nitin A Kamble
4cf1776ebc bdwgc: new recipe for autogen
This recipe is needed by guile.
And guile is needed for autogen.

As per Beth's recommondation changed the license specification of the
recipe as

LICENSE = "MIT & FSF-Unlimited & GPL-2.0"

(From OE-Core rev: 2c2080b6aabce57d98caecc396decf9f0a68b07f)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:12 +00:00
Saul Wold
d8063119fc enchant: refactor packages for staticdev
(From OE-Core rev: 87c47a6696add8dc532e83471b74211a1f53f317)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:11 +00:00
Saul Wold
b44c25b72b boost: refactor packages for staticdev
(From OE-Core rev: 0f4f139dd1a6e2c58f26a109b0a94ce01aca272b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:11 +00:00
Saul Wold
38b034168f js: refactor packages for staticdev
(From OE-Core rev: 7aa32f7b841f7fcd77cb0197891bd43ef5b8562a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:11 +00:00
Saul Wold
cb06a5aa2b db: refactor packages for staticdev
(From OE-Core rev: ceeb10689f80cc86796d1ab32142aa1c4802eb84)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:11 +00:00
Saul Wold
b5dee63c2e attr/acl: refactor packages for staticdev
(From OE-Core rev: 7c124d7c359729d074a5a55bd3bf7415a0aacd51)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:10 +00:00
Saul Wold
cdd2f4e474 liba52: refactor packages for staticdev
(From OE-Core rev: 4390e0c6e6c9390f75410daaa4497826b7638ee5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:10 +00:00
Saul Wold
40fcaac48e gst-openmax: refactor packages for staticdev
(From OE-Core rev: 6e1daa495a8ff16114d26e554d5e4a7e82c6dea6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 13:26:10 +00:00
Khem Raj
522c6b376d gnutls: Fix configure issue wrt to rm
Add -f option so if the files dont exist then we can
still continue. Fixes errors like

| + do_configure
| + for dir in . lib libextra
| + rm ./aclocal.m4 ./m4/libtool.m4 './m4/lt*.m4'
| rm: cannot remove `./m4/libtool.m4': No such file or directory
| rm: cannot remove `./m4/lt*.m4': No such file or directory

(From OE-Core rev: 8904e075d4953413edf13c43ee3a10493a6c63bb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:13 +00:00
Nitin A Kamble
5664e3c14f distro-tracking: add data for newer recipes
(From OE-Core rev: 0a7171176c6a39dae08d683961bc53dfb7f206e9)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:13 +00:00
Joshua Lock
2280404731 distro-tracking-fields: claim responsibility for udev, dpkg, apt, v86d
Nominate myself to be on the hook for updates to the udev, dpkg, apt and v86d
recipes.

Add a copy of the clutter-1.8 metadata without the namespace to keep the
tools happy when they find the clutter_git recipe.

(From OE-Core rev: a87ba1d30890a9042c4c88039d3e9dbbdfb8f10a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:13 +00:00
Andrea Adami
4f108e93b7 xinput: add utility for configuring and testing XInput devices.
* from meta-openembedded with minor editings
* (fields reordering like other recipes in xorg-app)

(From OE-Core rev: 618da7f65d3f9e3a1a5ee0b35371ae036a219a9a)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:12 +00:00
Khem Raj
c2a74cc148 e2fsprogs_1.42.bb: Fix build fallout for uclibc
e2fsprogs 1.42 onwards uses fallocate() which uclibc
does not implement(yet). In most of places its use
is controlled and it only used when configure detects
fallocate being present but in this one case it missed
to check for fallocate being available so here we
add the check

(From OE-Core rev: 1625faad281eeef3931573908c557362236dcd47)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:12 +00:00
Lianhao Lu
89705eadb4 adt-installer: install autoconf(/automake)-nativesdk
[YOCTO #1909]
Install autoconf-nativesdk and automake-nativesdk to host.

(From OE-Core rev: 0b3842f5c3c1587d25e70bc8223e2b144b9043cb)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:12 +00:00
Khem Raj
ea8e63df24 uclibc: Upgrade to latest master
Document the patches

(From OE-Core rev: fdcae83ad715af92a4d25f4ef5b30c49ce6ceb69)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:11 +00:00
Bruce Ashfield
13a62254e8 linux-yocto: restore WORKDIR as a patch source directory
In the switch to using src_patches and using patches in their
source directory, the scanning of WORKDIR migrated items like
config fragments was dropped. Adding WORKDIR back as a patch
directory restores the old functionality.

(From OE-Core rev: fd46d2ec75a53a02464ab2f0bc69eb1971432c9a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:11 +00:00
Nitin A Kamble
80038a0352 site/ix86-common: fix an error
Fixed this line
ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_int=1}

as this line
ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_char=1}

This issue was causing guile recipe to compile-fail for x86 target.

(From OE-Core rev: d71df3cc2ff2504d61078c578c0e73bbf53b6651)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:11 +00:00
Saul Wold
05f421f200 pkgconfig: Move pkg.m4 from -dev to package
If pkgconfig is installed you're doing development work and the -dev package
makes little sense in the pkgconfig case. Keeping the .m4 file associated with
the main package therefore makes more sense than having the user install both.

[YOCTO #1908]

(From OE-Core rev: 80fdf2cf2b048d7c2e8dff9c47490f47fc62e820)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:11 +00:00
Khem Raj
b19b27676e gnutls: Fix compilation on uclibc
Examples do not compile correctly on latest uclibc

(From OE-Core rev: c0cd44bb5588e96b00631de1f1f8a8143b338c02)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:10 +00:00
Andrei Gherzan
6455292b96 libsoup: Update package from v2.2.100 to v2.2.105
I included a patch as well to solve a compile error. In this package, a dfprinf function
is declared. It will fail as eglibc provides it's function as well. So i renamed libsoup's
dprintf function into dprinfsoup.

(From OE-Core rev: 6b3364c4c96429c6cb2a492102362b005fdd3a81)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:10 +00:00
Andrei Gherzan
8a7a7fef73 chkconfig: Update package from v1.3.55 to v1.3.57
(From OE-Core rev: 28191449636ef2554e82459038a2d67915e9a022)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:10 +00:00
Joshua Lock
3ba7426bbf busybox: enable dropping of duplicates in syslog, off by default
Busybox syslog includes functionality to drop duplicated syslog entries,
enable this feature in the defconfig yet disable it by default.

Expose configuration of the feature through the syslog-startup.conf file
and the syslog init script.

(From OE-Core rev: 0afa9a63a83ee128dac522af70e1f823b7d6a6df)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:09 +00:00
Joshua Lock
35d1c6821d busybox: change syslog default to log to a file
This changes the default in syslog-startup.conf to log messages
to a file (/var/log/messages) because:

a) we already mount /var/log as a volatile mount by default
b) users are accustomed to looking at /var/log/messages as
most distributions don't ship with logread

(From OE-Core rev: bbf44dddcc473ca085fa5b2dda5f89c22ec31cc0)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:09 +00:00
Joshua Lock
42f0d50fa3 busybox: enable log level configuration in syslog-startup.conf and script
It's possible to configure busybox syslog to only log messages above a
certain level, expose this functionality through the syslog-startup.conf
and syslog init script.

Valid values are 1-8 inclusive.

(From OE-Core rev: 921dfd1a2bc6ad2867da13d2b669288f9788a088)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:09 +00:00
Joshua Lock
030bdde04a busybox: remove incorrect comments from syslog-startup.conf
Setting rotation size and generations is supported with busybox syslogd

(From OE-Core rev: 5b2dcbde7290616104afe5f20c67f87dbc734939)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:09 +00:00
Joshua Lock
cbc784f4eb busybox: drop MARKINT option from init script and syslog-startup.conf
This option has been disabled in busybox since 2007 as it was deemed too
buggy. See:

http://git.busybox.net/busybox/commit/?id=4998c818919477d90674a3f220e7407c26da17f9

(From OE-Core rev: 0e85cd35a71fe14adc3da9b756b919836b687a12)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:08 +00:00
Saul Wold
703e1f06fd pango.inc: fix /etc/pango -> /${sysconfdir}/pango/*
(From OE-Core rev: ea660263d20066f35a47e60a9d48832ff3959ac3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:08 +00:00
Andrei Gherzan
4884ccd236 busybox: defconfig modified in order to activate CONFIG_EXPR_MATH_SUPPORT_64
Enable 64-bit math support in the expr applet. This will make
the applet slightly larger, but will allow computation with very
large numbers.

[YOCTO #1767]

(From OE-Core rev: 5ab12509051b732944a5027750505fa860133f1b)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:08 +00:00
Saul Wold
f127738aad m4: A better refactoring
(From OE-Core rev: a07e6449a19deec698f6682c97f8f5c8d3b51486)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 11:34:07 +00:00
Lianhao Lu
1fedd166b7 bitbake/persist_data: Reconnect when DB is locked
[YOCTO #1761]
Reconnect to the backend Sqlite DB in 'database is locked' exception so
the timeout can be leveraged in each time retry.

(Bitbake rev: b310382764367b573c84f33d847c6eb821266f9e)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-19 00:15:38 +00:00
Mark Hatle
5724ee9c3a package_rpm.bbclass: Add support for filenames with spaces
Files with spaces must be fully quoted in an RPM spec file.  It was
easier to quote all file paths, then to do it selectively.

(From OE-Core rev: a0f5dd25a37fe3b8664c2133e80b6214559f93f6)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 16:20:54 +00:00
Joshua Lock
39a991880a beagleboard-audio: drop in favour of alsa-state
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-01-17 15:53:48 +00:00
Joshua Lock
9ea681fffb alsa-state: add beagleboard specific asound.state
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-01-17 15:53:44 +00:00
Andrei Gherzan
e2a3695ad4 busybox/uglibc: remove obsolete check for "kernel24"
Busybox checks if MACHINE_FEATURES contains "kernel24". If so, CONFIG_FEATURE_2_4_MODULES will be on "y".
kernel24 is no longer present in any machine configuration. The same situation is in uglibc with a
different CONFIG mapping.

[YOCTO #1901]

(From OE-Core rev: 7257ded5355ffdc0fc169e7f34daeedb0b3dcd78)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 15:15:53 +00:00
Martin Jansa
8773ebef26 gnutls.inc: set libz prefix
* without this patch host's zlib is used, similar to issue with
  libreadline it's important if host's zlib is compatible with MACHINE
  and in this case zlib was in DEPENDS so header was always available in
  sysroot
  lib/config.log:
  configure:18288: checking whether to include zlib compression support
  configure:18291: result: yes
  configure:18786: checking for libz
  configure:18808: x86_64-oe-linux-gcc    -m64 --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64 -o conftest -O2 -pipe -g -feliminate-unused-debug-types -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c /usr/lib/libz.so  >&5
  configure:18808: $? = 0
  configure:18818: result: yes
  configure:18825: checking how to link with libz
  configure:18827: result: /usr/lib/libz.so

(From OE-Core rev: 6d21c87ca37a11b34551d79758da65ed417c70a0)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 15:10:16 +00:00
Martin Jansa
8ca0061744 gnutls: add readline to DEPENDS and add --with-libreadline-prefix
* without this patch it looks for readline in host's /usr/lib
  a) and fails if readline wasn't built before gnutls, because -I is set
     and cannot find header file, this case is better
     configure:33131: checking for readline
     configure:33156: x86_64-oe-linux-gcc    -m64 --sysroot=/OE/oe-core/tmp-eglibc/sysroots/qemux86-64 -std=gnu99 -o conftest -O2 -pipe -g -feliminate-unused-debug-types -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c  /usr/lib/libreadline.so >&5
     conftest.c:240:31: fatal error: readline/readline.h: No such file or directory

  b) and finds usable version there if readline was built and MACHINE is compatible with host
     (like qemux86-64 on amd64 host) and then it's passing -L/usr/lib (without sysroot prefix)
     to every build using libgnutls.la
     configure:33131: checking for readline
     configure:33156: x86_64-oe-linux-gcc    -m64 --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64 -std=gnu99 -o conftest -O2 -pipe -g -feliminate-unused-debug-types -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c  /usr/lib/libreadline.so >&5
     configure:33156: $? = 0
     configure:33173: result: yes
     configure:33185: checking how to link with libreadline
     configure:33187: result: /usr/lib/libreadline.so
     configure:33199: checking readline/readline.h usability
     configure:33199: x86_64-oe-linux-gcc    -m64 --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64 -std=gnu99 -c -O2 -pipe -g -feliminate-unused-debug-types -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include conftest.c >&5
     configure:33199: $? = 0
     configure:33199: result: yes
     configure:33199: checking readline/readline.h presence
     configure:33199: x86_64-oe-linux-gcc -E --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64    -m64 -I/OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/include conftest.c
     configure:33199: $? = 0
     configure:33199: result: yes
     configure:33199: checking for readline/readline.h
     configure:33199: result: yes

(From OE-Core rev: 044f99155bf8775481b70cbe02745c6d9ae1d6a9)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 15:10:15 +00:00
Koen Kooi
925433d6e6 pango: create /etc/pango in module postinsts if it's missing
(From OE-Core rev: 1b24f76bae9612bc69fb0afeaccb06c5e5746ce6)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 15:10:15 +00:00
Koen Kooi
1ca0401f33 Revert "pango.inc: add directory "/etc/pango""
This reverts commit 65186bd86170d8c375931a18487c2fdf3bd1b3b0.

(From OE-Core rev: 25c2d1a825a5d028b99f956be2918ceed4a93ac3)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 15:10:15 +00:00
Saul Wold
8b11a2f3f0 openssl-1.0.0: Update to 1.0.0e and fix QA Warning
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4108

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4576

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4577

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4619

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-0027

[YOCTO #1905]

(From OE-Core rev: 294e808d12131412bf1edb6f4babc9e57c8141e0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:58:41 +00:00
Saul Wold
ac27587f93 openssl-0.9.8: Update to 0.9.8s
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4108

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4109

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4576

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4577

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4619

[YOCTO #1904]

(From OE-Core rev: 980ba5e77438c3a22c295f56ffb71f1d290db50a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:58:41 +00:00
Saul Wold
7edf3dc059 valgrind: Update for eglibc 2.15
(From OE-Core rev: 8953e4a93ce6ad0257a094fdc6f3cd88ac5e89b9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:58:40 +00:00
Aneesh Bansal
93d70e4b86 valgrind: Add mfatbu/mfatbl instructions support for pcc
This adds a patch submitted to upstream to add support for these missing
ppc instructions.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:57:47 +00:00
Zumeng Chen
e1d3a32bb1 babeltrace: Integrated from version 0.8
It provides trace read and write libraries, as well as a trace converter.

(From OE-Core rev: d14441874163bd579d9901f9bc07852882502100)

Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:27 +00:00
Zumeng Chen
95386cfb96 lttng-modules: Update to 2.0
This patch intended to integrate the lttng-modules 2.0 package
containing the kernel tracer modules.
LTTng-modules 2.0 is currently in pre-release (-pre11), so we
have to update it when official released.

lttng-2.0 supports lttng-modules extra builds, which don't need
any patches on Linux kernel vs the previous version of lttng.
As described in README of lttng-modules-2.0, so far, it has been
tested in the latest kernel on x86 32/64-bit, and powerpc 32-bit,
, build tested on ARM. So does yocto kernel, the related tests
on qemux86 and qemuppc has been validated and a build test on
qemuarm passed too with this patcheset.

(From OE-Core rev: b054921f7dd59519a896a4e1a5f40965d4abd87e)

Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:26 +00:00
Zumeng Chen
6d769b286e lttng-tools: Update to 2.0-pre16
This patch intended to integrate the Linux trace toolkit, which
is a suite of tools designed to extract program execution details
from the Linux operating system and interpret them.

lttng-tools 2.0 is currently in pre-release(-pre16), so we have to
update it when official released.

(From OE-Core rev: 4733cd6501e5d39b4229c3da79529d6a3ae844f6)

Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:26 +00:00
Zumeng Chen
6f3d52ec11 lttng-ust: Update to 2.0
This patch intended to integrate the LTTng UST 2.0 package, which
contains the userspace tracer library to trace userspace codes.

(From OE-Core rev: 4ed09cb80196c7a3f691c8b9304df7c1fe4a8be5)

Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:26 +00:00
Saul Wold
a9095e5cb2 m4: refactor .bb and .inc files
The orignal had common code in the m4_1.4.16.bb file that was
in the m4.inc file. m4-native was then including the m4.bb file
and picking up the BBCLASSEXTEND, which causes the fetch to fail.

(From OE-Core rev: 4677da625f8ceb02c96f365bb948b8901bd694a4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:26 +00:00
Paul Eggleton
f290935151 classes/packagehistory: remove now obsolete class
packagehistory.bbclass has been superseded by buildhistory.bbclass,
which gives more detailed output (including information on produced
images) as well as other enhanced functionality.

(From OE-Core rev: d07bd704e2c0624deba10f33ccc946bd1338855c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:26 +00:00
Paul Eggleton
ee7fb2b86d classes/package: remove out-of-date notice referring to the OE bugtracker
OpenEmbedded doesn't officially use a bug tracker anymore, and a message
asking the user to fix the metadata could be applied to almost any error
that occurs, so just remove the whole message.

(From OE-Core rev: ee486e30432ffd3ef97ba16511a9a1a38bad3826)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:25 +00:00
Paul Eggleton
9d6bf93e9d conf/bitbake.conf: allow wget to output error messages
Use the -nv instead of -q command line option for wget so that if
fetching from a URL that the wget fetcher handles (e.g. http) fails, we
get a possibly useful error message (but it still remains relatively
quiet when the fetch succeeds.)

(From OE-Core rev: 81dcfc5e7a93d74caafde1dff923bfe6c008d9ea)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:25 +00:00
Paul Eggleton
edef415be6 classes/base: note variable name in COMPATIBLE_* skip messages
When raising SkipPackage for COMPATIBLE_MACHINE and COMPATIBLE_HOST
exceptions, include the name of the variable as a hint to the user.

(From OE-Core rev: c9f6fd20cf65799714b45a7bdfc3dd022b3d79cd)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:25 +00:00
Mark Hatle
3287e4be35 prelink: Update to latest version
The latest version of prelink corrects a problem when attempting
to prelink MIPS architectures.

    2012-01-04 Mark Hatle <mark.hatle@windriver.com>
      * exec.c: Check that a section is larger then 0 bytes when
        determining the section to segment mapping. This matches
        the behavior of elfutils - readelf. Otherwise an empty
        PROGBITS section at the end of a segment will cause a
        failure.

[YOCTO #1463]

(From OE-Core rev: 09a70c55e590d169b8a3b4b89853c96b7b977fc0)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:25 +00:00
Joshua Lock
b6b909abd8 task-base: add VIRTUAL-RUNTIME_alsa-state to task-base-alsa
Define this to be the alsa-state package by default. This enables automatic
configuration setting and restoration on systems with alsa.

(From OE-Core rev: a70cc15b4b053ff01229010e55b37ed4487b8f3a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:25 +00:00
Joshua Lock
432c6cff0f alsa-state: move state files to localstatedir
alsactl creates the state files in /var/lib/alsa by default so switch
alsa-state to use files in that location.

Further, update the alsa-state init script to have the location of the
state files sed'ed into the script at do_install time (so as to remove
hard coding of directory paths).

(From OE-Core rev: 896924c72e7b37c18819229e8160c34cdf4465c8)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:24 +00:00
Joshua Lock
c86797abdf alsa-state: add alsa-state from oe classic
alsa-state adds an init script and configuration files to enable a
consistent and centralised mechanism for setting and restoring alsa
configuration.

(From OE-Core rev: 8bc43c40cf72d5543924229146fa4106ad87b147)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:24 +00:00
Joshua Lock
79b6192d21 task-base: move default definition of VIRTUAL-RUNTIME_apm
This belongs in default-providers.conf

(From OE-Core rev: afff4e6130e835048d81f65f703e118d5944629a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:24 +00:00
Scott Garman
f07793dd77 distro_tracking: recipe upgrades and manual check info
Updated info for the following recipes:

e2fsprogs
expat
chrpath
libevent
libpam

(From OE-Core rev: 3f6c29bc32722d4cef3a89aed749e2fbce44a080)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:24 +00:00
Scott Garman
464a2d66a4 e2fsprogs: upgrade to 1.42
Refactored quotefix.patch to apply cleanly.

(From OE-Core rev: 1749f35bc92acd971eda245b93781305f79c2bef)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:23 +00:00
Scott Garman
6ce82eac3b libpam: upgrade to 1.1.5
Updated HOMEPAGE, BUGTRACKER, and SRC_URI fields to reflect new
project hosting.

Cleaned up some of the metadata ordering.

(From OE-Core rev: 1fcd483e5ee5223f37c5edce26327f79b76bd01d)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:23 +00:00
Enrico Scholz
35759f977e bitbake.conf: search /lib for -native builds
Changes to BUILD_LDFLAGS are required due to the recent movement of some
libraries from ${libdir} to ${base_libdir}.  ${base_libdir} must be now
in the linker search path to avoid build problems of -native packages.

(From OE-Core rev: 46bf69dcfa99a3a8677b241bb32bed2f30255ece)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:23 +00:00
Colin Walters
73a7876b27 libtool: Put all libltdl headers in the correct libltdl-dev package
/usr/include/ltdl.h was in libtldl-dev, but not the headers it depends
on.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:22 +00:00
Nitin A Kamble
023fe87943 grub-efi-native: fix errors with automake 1.11.2
Fixes these errors observed with automake 1.11.2
The useof pkglibhas become more strict compared to the earlier release
of
automake resulting in these failures.
Fixed the files related to automake to avoid the issue.

| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| grub-core/Makefile.am:5:   `conf/Makefile.common' included from here
| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| Makefile.am:6:   `conf/Makefile.common' included from here
| autoreconf: automake failed with exit status: 1
| ERROR: autoreconf execution failed.

| conf/Makefile.common:150: `pkglibdir' is not a legitimate directory
for `SCRIPTS'
| grub-core/Makefile.am:5:   `conf/Makefile.common' included from here
| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| grub-core/Makefile.am:5:   `conf/Makefile.common' included from here
| conf/Makefile.common:150: `pkglibdir' is not a legitimate directory
for `SCRIPTS'
| Makefile.am:6:   `conf/Makefile.common' included from here
| conf/Makefile.common:140: `pkglibdir' is not a legitimate directory
for `DATA'
| Makefile.am:6:   `conf/Makefile.common' included from here
| autoreconf: automake failed with exit status: 1

(From OE-Core rev: e9c5c354086546efe4114c6225d05116fb18b9fe)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:22 +00:00
Enrico Scholz
866ed43c12 package.bbclass: quote pathname given to objdump
Packaging will fail with executable files containing spaces in their
names. Patch quotes the parameter passed to 'objdump'.

(From OE-Core rev: 7f7db286ca0b70bd5cce643c3b84f77ad45cc786)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:22 +00:00
Matthew McClintock
f20d49315d image_types_uboot.bbclass: Add uncompressed ext2 image option
(From OE-Core rev: 1a8e02fee858fa9569f2e980ebff0698e4a53d36)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:21 +00:00
Matthew McClintock
2eb5811da7 image_types.bbclass: Fix generating uncompressed ext2 images
(From OE-Core rev: d0687295456bcf240be657e6b5b508f718ca9ebd)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:21 +00:00
Martin Jansa
e0ae57d9f4 dbus-1.4.16: use INC_PR from dbus.inc to fix PR bump after dbus-launch-helper permission change
(From OE-Core rev: ef8171ecad2197d8b123712be36f6e03e8926e13)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:21 +00:00
Zhai Edwin
e7a31cf67d runqemu: Fix the wrong path of libGL.so in 64b Ubuntu 11.10
From 11.10, libGL.so is installed @ /usr/lib/x86_64-linux-gnu/ in 64b Ubuntu.

[YOCTO #1885] got fixed

(From OE-Core rev: d32c15b9b09e49cb79028f59b493d478f00d4019)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:21 +00:00
Xiaofeng Yan
a521f9d679 distro_tracking_fields.inc: Modify the status of eds-tools and mingetty
Update the status of eds-tools and mingetty.
mingetty has still not been updated since 2008.

(From OE-Core rev: f8d984e485a5bb12f4df8e28e7e0fb0da2a7098e)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>

[Fixed Date format]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:20 +00:00
Martin Jansa
5fabe90808 xorg-*: disable xmlto where it was failing
* meta-oe now provides xmlto-native
  http://git.openembedded.org/meta-openembedded/commit/?id=ab8f876ca8fa223c183e3db2029cce88f3435a27
  but not the stylesheets for buildhosts without them it's unusable and fails, because xorg macros
  autodetecting xmlto available, see:
  http://lists.linuxtogo.org/pipermail/openembedded-devel/2011-December/037066.html
  after adding xmlto-native and stylesheets-native to DEPENDS we can enable it again

(From OE-Core rev: 58f18f04d7783cc75127f7f1c0921051431dcd8c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:20 +00:00
Denis 'GNUtoo' Carikli
1db019ac7c alsa-utils: depend on libsamplerate0
We need to depend on libsamplerate0 because it's detected automatically
  and if we configure without it we get that issue at runtime trying
  to run the alsaloop program:
    No libsamplerate support.

(From OE-Core rev: 545a7407361a7e144a0f868e1a095bf7b10fffd8)

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:20 +00:00
Darren Hart
1cabda965d bootimg: Account for FAT filesystem overhead in image size
Fixes [YOCTO #1852]

The bootimg class wasn't accounting for non-trivial amount of space
required by the directory entries and FATs for the FAT filesystem.

This patch attempts to make an accurate prediction of FAT overhead and
adjusts the image size accordingly. It assumes no more than 16 directory
entries per directory (which fit in a single sector). It also assumes
8.3 filenames. With the ceiling functions rounding up to full sectors
and tracks, these assumptions seem reasonable.

In order to ensure the calculations are accurate, this patch forces the
FAT size to 32, rather than allowing mkdosfs to automatically select 12,
16, or 32 depending on the image being built.

Tested by setting BOOTIMG_EXTRA_SPACE=0 and building core-image-minimal
and core-image-sato for fri2-noemgd from meta-intel.

(From OE-Core rev: 68aa18609c10a3ae2f738930c933fa2a95ce8959)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:20 +00:00
Christopher Larson
19247e44a3 oe.license: avoid the need to catch SyntaxError
(From OE-Core rev: cace9ddc0edd654877d968643960fa4343472b58)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:19 +00:00
Christopher Larson
7ce97336aa oe.license: add is_included convenience function
Given a license string and whitelist and blacklist, determine if the
license string matches the whitelist and does not match the blacklist.

When encountering an OR, it prefers the side with the highest weight (more
included licenses). It then checks the inclusion of the flattened list of
licenses from there.

Returns a tuple holding the boolean state and a list of the applicable
licenses which were excluded (or None, if the state is True)

Examples:

    is_included, excluded = oe.license.is_included(licensestr, ['GPL*', 'LGPL*'])
    is_included, excluded = oe.license.is_included(licensestr, blacklist=['Proprietary', 'CLOSED'])

(From OE-Core rev: 7903433898b4683a1c09cc9a6a379421bc9bbd58)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:19 +00:00
Christopher Larson
49a0821376 copyleft_compliance: add debug message with the reason for exclusion
(From OE-Core rev: 02101bbe08a5cd6e5eecb21f2095c15ebfe9287f)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:19 +00:00
Christopher Larson
6d73a199e4 copyleft_compliance: add control of recipe types to include
In this context, recipe "type" refers to whether it is 'target', 'native',
'cross', etc. COPYLEFT_RECIPE_TYPES is a space separated list of types to
include. It defaults to 'target'.

(From OE-Core rev: 045e8a409ffe23d4f562b2982bfeee6e45f3c0d9)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:19 +00:00
Bruce Ashfield
7561d5b204 linux-yocto: consolidated fix SRCREV updates
Updating the SRCREVs to include the following fixes from Khem Raj and
Zumeng Chen.

 6f5b118 compiler.h: Undef before redefining __attribute_const__
 fe80c1e oprofile, arm/sh: Fix oprofile_arch_exit() linkage issue

(From OE-Core rev: 02e22816d68dc2bac7fed6952e52ea8a3d9532d2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:18 +00:00
Liming Wang
bec7def38d tslib: enable big endian support for qemuppc
This enables wacom tablet/touchscreen support on qemuppc.

(From OE-Core rev: 127b15cb0e9644fb732b707b9d4ddaf00d24973e)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:18 +00:00
Liming Wang
57e78fa12d qemuppc: add machconfig
(From OE-Core rev: de8fa377f0bbc9aa3911fc6b4be554f8584fb43f)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:18 +00:00
Liming Wang
b98851cc6f qemuppc: add pointercal file
This file is for tslib.

(From OE-Core rev: 80fcbee25036d2051538e26cd8b3d2989b0d276d)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:17 +00:00
Liming Wang
523f6b69c6 qemuppc: replace emulation of qemuppc from prep to mac99
With this new emulation, existing qemuppc functionality is maintained
and other functionality such as framebuffer + sato and NFS boot are
added.

(From OE-Core rev: 52ea026df141ea23bbab38ad3a9733c15097eaa4)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:17 +00:00
Shane Wang
573daf6734 hdparm: upgrade to 9.37
The patch was imported from the OpenEmbedded server (http://git.openembedded.org/openembedded/tree/recipes/hdparm) as of commit id 4d2cb79dcecd056742f411a328f9f1f1113bf689.

And changes include:
       - upgrade to the latest version 9.37 from 9.35.
       - added license checksum.
       - the license for wiper which is in hdparm is GPLv2.

(From OE-Core rev: e46995adec82623342234e4a51bd8c12e6d62c3e)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:17 +00:00
Shane Wang
7a20966e05 stat: add recipe stat with version 3.3
stat is brought into Yocto because the latest version hdparm 9.37 depends on it, and add license checksum.

The recipe was imported from the OpenEmbedded server
(http://git.openembedded.org/openembedded/tree/recipes/stat) as of commit ids
709c4d66e0b107ca606941b988bad717c0b45d9b,
44985d56bc556786812a0a02d6219afd31a7381d,
b3246d96069fd11caee42ec6ebcbf6dca2d62449.

(From OE-Core rev: 99fdc0626d2e0f5a4a8fbaf0b1de86437966260f)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:16 +00:00
Zhai Edwin
fb878477cb distro-tracking: Update info for webkit-gtk, web-webkit
(From OE-Core rev: 3add06d4407b0a30ff8a8202aa028ab0cbfd28d6)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:16 +00:00
Nitin A Kamble
d0cc840977 distro_tracking: update manual_check_date fields
(From OE-Core rev: bf039fdb6036a5cae11ad58edb2fd9e4f60632da)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:16 +00:00
Nitin A Kamble
f93408805a btrfs-tools: upgrade to newer git commit
(From OE-Core rev: 32068d9e3157748f3894b3368c0a050af5e12d47)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:16 +00:00
Nitin A Kamble
ccd2a31003 libpcre: upgrade from 8.20 to 8.21
(From OE-Core rev: efd200bc0db4d290445f742798e20914e4db347a)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:15 +00:00
Nitin A Kamble
8f44e9030b insane.bbclass: fix elf.arch not matching error for x32 kernel
For x32 the user space is 32bit and the kernel is 64bit.
So the elf.arch for vmlinuz is x86_64 and not x86. This commit
fixes this QA error thrown for x32 kernel.

| ERROR: QA Issue: Architecture did not match (62 to 3) on
/work/qemux86_64-poky-linux-gnux32/linux-korg-3.1+git1+e2bf8464ddbf5da24d3d320cded5691828a91a0b-r1/packages-split/kernel-vmlinux/boot/vmlinux-3.1.0-yocto-standard-01628-ge2bf846
(From OE-Core rev: 74686edafa241839d3880e06740ee7450ff94fd8)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:15 +00:00
Nitin A Kamble
dd04a42df4 diffstat: upgrade from 1.54 to 1.55
(From OE-Core rev: f29dd1173c261c46b0c3d0d30f94a45c011a72de)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:15 +00:00
Nitin A Kamble
3754d75e49 locale: fix package's "provides" tag
Fixes this bug: [YOCTO #1874]

Fixes an issue where a locale package depends on one package while it
also provides the same, as seen bellow.

Package: locale-base-de-de
Version: 2.12-r19
Depends: eglibc-binary-localedata-de-de
Provides: virtual-locale-de-de, virtual-locale-de,
eglibc-binary-localedata-de-de

Actually the eglibc-binary-localedata-de-de is ia separate package,
 and it should not be part of provides of the locale-base-de-de.

(From OE-Core rev: 49c5ff7197b44c7d29d31506c2425b86bc2c1ff6)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:14 +00:00
Christopher Larson
4807e0b3ae ncurses-native: install to libdir, not base_libdir
For target, both base_libdir and libdir in sysroot can be used, as we pass
--sysroot to the toolchain. For native, we don't do this, and we also only add
-L<sysroot>/${libdir}, not -L<sysroot>/${base_libdir}, resulting in other
native recipes (like readline-native) failing to find the ncurses libraries.

readline-native only built successfully on hosts where it could fall back to
their ncurses/termcap rather than the one in the sysroot.

(From OE-Core rev: dd05e06b89906002f68d616a6326c962e725bc54)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:14 +00:00
James Limbouris
b5ad3773af ghostscript: build cups filters
Cups filters are no longer built by default. Since ghostscript already depends
on cups, build the filters and package them as ghostscript-cups.

Ghostscript uses the cups-config script from the oe sysroots to determine some
of the target install paths, as well as to determine the linker path. The config
script gives out paths pointing to the sysroot, so some of the paths needed to
be adjusted in the Makefile.

(From OE-Core rev: 8c457ea44dc75a01826b070c8b41d1ca5e712171)

Signed-off-by: James Limbouris <james@digitalmatter.com.au>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:13 +00:00
Andrei Gherzan
254b9de1af wpa-supplicant: Compile without CONFIG_GNUTLS_EXTRA (PR BUMP)
CONFIG_GNUTLS_EXTRA is needed as support for TLS/IA which was designed to be used
in the EAP-TTLSv1. As we don't see any requirement for that protocol today we decided
to remove it from wpa-supplicant .config file.
This change includes PR bump.

[YOCTO #1845]

(From OE-Core rev: 959449005c02d5e2554bb03bfa8e21874012d2e5)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:13 +00:00
Richard Purdie
7c8ebf6f0d pango: Use gnomebase class, not gnome
There was a circular dependency introduced by the recent gconf changes
to depend on gtk+. The issue is that gtk+ depends on pango and pango
depends on gconf.

This patch changes to use the gnonebase class since pango has no need
of gconf/mime/gtk-icon-cache and hence removes the circular dependency.

(From OE-Core rev: 91e17c0c0ac2330f826b95e762542cd0d0c82385)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-16 18:01:43 +00:00
Koen Kooi
b02e7d45e0 gconf: enable gtk+ 2.0 support to build gconf-sanity-check-2
This is needed for e.g. gnome-session:

gnome-session[424]: WARNING: Failed to run gconf-sanity-check-2: Failed to execute child process "/usr/libexec/gconf-sanity-check-2" (No such file or directory)

(From OE-Core rev: ecf15d60dd0c255c80de223dad08234e915916a2)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-16 14:11:25 +00:00
Jean-François Dagenais
f17c9d3b38 buildstats: tolerate absence of /proc/diskstats
In OpenVZ containers (and probably lx containers as well),
the diskstats entry is not even present. Use the "NoLogicalDrive"
introduced by Elizabeth Flanagan in such case.

This allows the bitbaking to occure within such containers.

(From OE-Core rev: 16e09b850dcb44cb1afe411439e40a4bae7e8002)

Signed-off-by: Jean-François Dagenais <jeff.dagenais@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-16 12:24:57 +00:00
Steve Sakoman
18fe75dd84 dhcp: package /var/lib/dhcp with dhcp-client rather than dhcp-server
Otherwise dhclient encounters errors of this type:

dhclient: can't create /var/lib/dhcp/dhclient-c0c60402-0bc5-4bd7-bc3b-49a27fa37d72-eth1.lease: No such file or directory

(From OE-Core rev: aad04928116feea421fba84c4780b93191be6169)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-16 12:24:56 +00:00
Koen Kooi
16d911d191 cairo 1.10.2: enable tee backend
This is needed for firefox:

| checking CAIRO_LIBS... -lcairo -lpixman-1 -lfreetype -lfontconfig
| checking for cairo-tee >= 1.10... Package cairo-tee was not found in the pkg-config search path. Perhaps you should add the directory containing `cairo-tee.pc' to the PKG_CONFIG_PATH environment variable No package 'cairo-tee' found
| configure: error: Library requirements (cairo-tee >= 1.10) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.

(From OE-Core rev: 935ae84757ca623f93b1465088e27107bc226dee)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-16 12:24:56 +00:00
Xiaofeng Yan
094118031c pango.inc: add directory "/etc/pango"
Command "pango-querymodules > /etc/pango/pango.modules" can't work when \
starting up yocto because of no directory "/etc/pango". It will cause \
messy code when gtk-demo running.

[YOCTO #1900]

[RP: PR bump]
(From OE-Core rev: 65186bd86170d8c375931a18487c2fdf3bd1b3b0)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-16 12:24:56 +00:00
Xiaofeng Yan
e2948feae8 cairo.inc: Change configuration of directfb to gtk-directfb
"direcdtfb" is a wrong configuration in PACKAGECONFIG. It should be "gtk-directfb".
PACKAGECONFIG can't select directfb as backend rightly, or else.

[YOCTO #1900]

(From OE-Core rev: 458ffd3f47b99ee89e6cb8015d68f9820f86e3e7)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-16 12:24:55 +00:00
Xiaofeng Yan
beb601f79f gtk.inc: Change configuration of directfb to gtk-directfb
"direcdtfb" is a wrong configuration in PACKAGECONFIG. It should be "gtk-directfb".
PACKAGECONFIG can't select directfb as backend rightly, or else.

[YOCTO #1900]

(From OE-Core rev: 785412c0dfb8df055e3f5fa865474ee1cf0ce10f)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-16 12:24:55 +00:00
Paul Eggleton
684c6ef2d0 bitbake/knotty: print task failure summary
Remove the error logged within cooker summarising the list of failed
tasks, and instead print this in the UI (knotty) where it belongs. This
also adds the actual name of the task that failed as well as the
corresponding recipe file that was being shown previously.

In addition, reformat the summary messages more tidily - no extra breaks
between lines and use correct English singular/plurals, with some
allowance for future translation.

(Bitbake rev: cdf69913f99d28bc7f51067a60257701f952c6cb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-15 10:06:23 +00:00
Paul Eggleton
9fd17bbe1c bitbake/cooker: avoid printing stack trace for -b match error
Improves error output for matching problems when the -b / --buildfile
command line option is used.

Rename MultipleMatches exception to NoSpecificMatch (as it is also
raised when there are no matching recipes) and make it inherit from
BBHandledException so that it doesn't print a stack trace (we always log
an ERROR prior to raising it.)

In addition, improve the formatting of the error message - only call the
log function once rather than once for every match, and use a more
appropriate message if there are no matches.

Fixes [YOCTO #1141]

(Bitbake rev: 803550a5098ec878164245e71344c3d687310b72)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-15 10:06:22 +00:00
Paul Eggleton
5f5ae14ee3 bitbake/fetch2: reduce output for fetch failures
Make the warning for the initial fetch failure a single line - we don't
need the full command and output here yet, but write it into the log in
full as a debug message. However, if fetching from mirrors fails as well
then print out the full details for the first error that occurred as an
ERROR rather than a WARNING.

Since this is logged as an ERROR, combined with an earlier patch it
suppresses the full log which does make the output much more readable
for any fetch error.

Fixes [YOCTO #1832].

(Bitbake rev: 6bbdc7d259c0cc041b62dbdb26cfc3ec6edcb6f3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-15 10:06:22 +00:00
Paul Eggleton
eb6291b36f bitbake/knotty: avoid printing full task log when error already printed
If a task has logged an ERROR then don't print the contents of the
task's log file in knotty (the default terminal UI).

As a side-effect we now also respect BBINCLUDELOGS in knotty; if it is
false we never print the log (but the pointer to the log file is always
printed).

(Bitbake rev: b9746b7e4d7aa5c34eba15a61427bfc6949af123)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-15 10:06:22 +00:00
Paul Eggleton
ecdfc1ebbe bitbake/fetch2: correctly decode exit signal/status
The termination signal and exit code of the fetch process were not being
decoded correctly, resulting in bitbake reporting that the process
terminated with a signal of the exit code (if it was under 255). There
are functions in the Python os module to do this decoding correctly (for
Unix at least), so let's use them.

(Bitbake rev: 50aea9a76e40cf71cc3f1462c88298e4846a031c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-15 10:06:21 +00:00
Paul Eggleton
4e8085ccfa bitbake/runqueue: avoid "failed" in task summary if nothing did
Seeing the word "failed" alone without reading the whole context has
occasionally triggered an automatic assumption on the part of some users
(myself included) that something has gone wrong, even when this message
is telling you that "0 [tasks] failed". To avoid this let's just say
"all succeeded" in this case instead.

As a bonus this means you can now search the output for "fail" and not
find anything if all went well.

(Bitbake rev: b6f067af12d4661758a78788f1db472684b9aba8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-15 10:06:21 +00:00
Paul Eggleton
dcf6b641fe bitbake/fetch2: improve error formatting for fetcher errors
* The "name" argument to FuncFailed is rarely used as a name in actual
  usage within bitbake, so don't treat it as one in the output.
* Don't print URL for FetchError if it was not specified (i.e. don't
  output "Fetcher failure for URL 'None'")
* Don't include URL in "unable to fetch from any source" message since
  we supply it to FetchError and it will be printed anyway.
* Don't include URL in "checksum failed" message for the same reason

(Bitbake rev: 86811bd85e2e453ee92a05fe60160d9b49ac69e8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-15 10:06:21 +00:00
Paul Eggleton
98a610b3db bitbake/knotty: don't count errors as warnings in summary
The count of warnings being shown in the summary at the end was also
including the number of errors.

(Bitbake rev: d242d6ca81dd83b2b13a3ac77ac4cd829a69cf83)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-15 10:06:20 +00:00
Richard Purdie
8a98af2bb5 patch.bbclass: Ensure the DATE and SRCDATE variable exclusions apply to the correct function
People have noticed that sstate is now getting invalidated very readily. The
issue is that the code using these variables was factored into a new function
but the variable exclusion was not. This patch moves the variable exclusion
to the correct place allowing the sstate checksums to work correctly.

(From OE-Core rev: bd047935305c872b565f30b46c94b7077e5fb3a2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-13 16:56:36 +00:00
Richard Purdie
0f4d99d207 multilib.conf: Clean up file and add missing entries for various dependencies
This patch adds in various missing dependencies to ensure the set
of recipes listed for multilib support can be cleanly built.

(From OE-Core rev: 1d2697e6f00cc3771f39f5a7d4384a22d9696b16)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 23:53:32 +00:00
Richard Purdie
f1a0005d57 binutils-cross-canadian: Clear BBCLASSEXTEND as a native version of this recipe makes no sense
(From OE-Core rev: 5980cd6af7b5260558cb234288a426c091b5de2a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 23:53:32 +00:00
Richard Purdie
305d60fccd python-native: RPROVIDE python-core-native since pycurl-native depends on it
(From OE-Core rev: 893405d46c28d75372dcf4b2d91c617b81bdc92e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 23:53:32 +00:00
Richard Purdie
9cc67a0af6 libxft: Drop BBCLASSEXTEND nativesdk since dependencies freetype and fontconfig aren't class extended
(From OE-Core rev: 27e8a432889b3a78f6bbadf8b14ad1ce4d11907c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 23:53:31 +00:00
Richard Purdie
f43afc3e15 lzo: Add BBCLASSEXTEND nativesdk so lzop nativesdk works (it depends on this)
(From OE-Core rev: 6dd84aa0bb766190e82d401511808715625e4310)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 23:53:31 +00:00
Saul Wold
83b91fcd3d rpm: Fix magic file name magic -> magic.mgc
(From OE-Core rev: aee38df69073fe5b3c1e8ee180912d1f0360f651)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 23:53:30 +00:00
Lianhao Lu
18c88fcec8 package.bbclass: per recipe PRSERV_HOST support
[YOCTO #1126]
Added per recipe PRSERV_HOST PRSERV_PORT support.

(From OE-Core rev: d5b8caac0e7fc4b05c76b4d3da0508e2a53f28cd)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 10:37:43 +00:00
Lianhao Lu
a05e3a57c6 meta/PRService: Added export/import fuctions.
[YOCTO #1556]
- Modified meta/class/package.bbclass and prserv.bbclass according to
the change in PR service by adding PACKAGE_ARCH into the query tuple.

- Added prexport.bbclass, primport.bbclass to export/import AUTOPR
  values from/to PRService.

- Move PR service related common code to lib/oe/prservice.py.

- Supported reading the AUTOPR values from the exported .inc file
instead of reading it from remote PR service.

- Created a new script bitbake-prserv-tool to export/import the AUTOPR
values from/to the PR service.

Typical usage scenario of the export/import is:
1. bitbake-prserv-tool export <file> to export the AUTOPR values from
the current PR service into an exported .inc file.

2. Others may use that exported .inc file(to be included in the
local.conf) to lockdown and reproduce the same AUTOPR when generating
package feeds.

3. Others may "bitbake-prserv-tool import <file>" to import the AUTOPR
values into their own PR service and the AUTOPR values will be
incremented from there.

(From OE-Core rev: 9979107d8eaf503efd921564385859b1e83dbb3c)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 10:37:43 +00:00
Robert Yang
6bde156c5c Incremental rpm image generation(Add config sample)
Add the config sample for incremental image generation to
meta-yocto/conf/local.conf.sample.extended

[YOCTO #1651]

(From OE-Core rev: 0df0399677a6677fc810e32e9275ee9e79021e9a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 10:37:33 +00:00
Robert Yang
9d1823b2a0 Incremental rpm image generation
Incremental rpm image generation, the rootfs would be totally removed and
re-created in the second generation by default, but with
INC_RPM_IMAGE_GEN = "1", the rpm based rootfs would be kept, and will do
update(remove/add some pkgs) on it.

NOTE: This is not suggested when you want to create a productive rootfs

For example:
  1) Add the follow config option to a conf file:
     INC_RPM_IMAGE_GEN = "1"

  2) bitbake core-image-sato
     modify a package
     bitbake core-image-sato

The rootfs would not be totally removed and re-created in the second
generation, it would be simply updated based on the "package".

Implatation:
1) Figure out the pkg which need to be removed or re-installed, then use
'rpm -e to remove the old one. Use the rpm's BUILDTIME to determine
which pkg has been rebuilt.

2) Figure out the pkg which is newly added, and use 'rpm -U' to install
it.

This only for the rpm based rootfs, the deb and ipk based rootfs would
be done later.

[YOCTO #1651]

(From OE-Core rev: 575ba3c9e153a1d8ac228a99a03ca2df5fbca151)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 10:36:22 +00:00
Lianhao Lu
489cde8eb0 bitbake: Automatically start local PR service.
[YOCTO #1126]
A local PR service will be started and stopped automatically along
with the bitbake invocation/ternimation.

This local PR service will be started only and if only when the
PRSERV_HOST is set to 'localhost' and PRSERV_PORT is set to '0'.

When started, the sqlite3 database is stored at
"${PERSISTEN_DIR}/prserv.sqlite3" or "${CACHE}/prserv.sqlite3".

(Bitbake rev: 9d8f45407c67ed0d3c4f820cf646de3c385067c7)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 10:36:20 +00:00
Lianhao Lu
30a9bc6c92 bitbake/PRservice: Added no_hist mode and export/import.
[YOCTO #1556]
1. Added the package_arch into the index to the DB table. Because the
change in PACKAGE_ARCH will results in different checksum, and it is
better to have seperate PR value domains for differnt PACKAGE_ARCH of
the same pakcage.

2. Changed the PR service to operate in no history mode. In this mode,
the for a given query tuple (version, pkgarch, checksum), the returned
value will be the largest among all the values of the same (version,
pkgarch). This means the PR value returned can NOT be decremented.

3. Added export function. For each (version, pkgarch) tuple, only the
record with the maximum value will be exported.

4. Added import function. The record will only be imported if the
imported value is larger than the value stored in the DB with the same
(version, pkgarch, checksum) tuple.

(Bitbake rev: 379567ee879dcdc09a51f7f1212bde1076147a6f)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 10:36:20 +00:00
Richard Purdie
4a8a3c503f Revert "site/common-uclibc: Cache gl_cv_func_wcwidth_works"
This reverts commit a471d342424502de48f28c4f8297d490f2cd1443.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 18:33:25 +00:00
Dongxiao Xu
d8b4992890 distro_tracking: update manual check info
updated kexec-tools manual check information

(From OE-Core rev: 4ab5ee52e4c47e8d913f2d5f86beac49e01d6a7b)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:40:44 +00:00
Andrei Gherzan
4005c3ff5e license.bbclass base.bbclass: support for 'or' operand in LICENSE and for SPDX license names
A new function was defined in license.bbclass in order to correctly exclude packages where OE-Style licence naming
is used. In this way licenses as GPL-3, GPLv3, GPLv3.0 etc will be excluded from a non-GPLv3 build. This function
takes into consideration if 'or' operand is used.
The function defined in license.bbclass is called in base.bbclass where packages are excluded based on
INCOMPATIBLE_LICENSE variable.

[YOCTO #1884]
[YOCTO #1844]

(From OE-Core rev: 28456593be0b7e15bb51595d547d7e5347cce24b)

Signed-off-by: Andrei Gherzan <andrei at gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:40:44 +00:00
Richard Purdie
a5463088fe bitbake: Add BBHandledException exception class
We have a problem knowing when to show the user debug information and
when not to since the code has already shown the user suitable information
about why a failure is occurring.

This patch adds a bb.BBHandledException exception class which can be used
to identify those exceptions which don't need further explanation to
the user.

This patch uses this class for the bb.providers exceptions and ensures the
command handling code correctly filters the exceptions meaning that

"bitbake invalid"

now shows an simple error message and not a python traceback.

[YOCTO #1141 partial]

(Bitbake rev: eac9249b40ae1e3aa21e016010c862664e59a8d4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:40:43 +00:00
Richard Purdie
e4a365098a bitbake/knotty: Show summary of warning/error messages shown
Show a summary count of warning/errors messages shown to the user during the
build and make it clear when an error exit code is being set.

[YOCTO #1540]

(Bitbake rev: 9943bad611a974e4d37a00c7a4de1752250370c5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:40:42 +00:00
Paul Eggleton
b838b8987c bitbake-layers: close files in apply_append()
It's recommended practice to close files when finished with them and the
code in this function was not doing this.

(Bitbake rev: 470a160813ce6cf04f83258d46ded5c2ab8bc520)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:40:42 +00:00
Paul Eggleton
2a121d5c4d bitbake-layers: flatten: warn the user if output structure is incorrect
If you flatten layers that have different directory structures you may
not end up with a usable layer in the output directory - some files
won't be picked up by BitBake.

To try to avoid this problem, once flattening has completed, get the
BBFILES entries that correspond to the layer from which the output
layer's conf/layer.conf came from, and check through all of the
.bb/.bbappend files in the output directory to see if any will not be
referred to by BBFILES in the output layer. If any are found, show a
warning to the user.

(Bitbake rev: 8e4dc97614f2022855143b49d18795ca0352b237)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:40:42 +00:00
Paul Eggleton
4137b51f63 bitbake-layers: flatten: allow specifying layers to flatten
You can now optionally specify two or more layers to flatten into the
output, rather than flattening all of the layers in the current
configuration (but this is still the default behaviour if no layers are
specified). Note that this means the output layer may still contain
bbappends where the corresponding recipes are not present in the list of
layers to flatten. There is also a caveat when a layer not being
flattened would be "inbetween" the flattened layers (see the command
help for details.)

Implements feature request in [YOCTO #1564].

(Bitbake rev: 379b12107ec921b4458eda320078374a509164c1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:40:42 +00:00
Dexuan Cui
89f2d11561 distro_tracking_fields.inc: upgrade tcf-agent
Upgraded the field RECIPE_MANUAL_CHECK_DATE.
Also changed the MAINTAINER to Lianhao who volunteered to take the recipe.

(From OE-Core rev: 82329c13f891939c68ec26a60a9c0a25929cd584)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:47 +00:00
Saul Wold
3214f66754 distro_tracking: Update Manual Checks
(From OE-Core rev: 46955329638856a14200ee7ba10d40aad7c39899)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:47 +00:00
Andrea Adami
2bcdcce1d3 task-core-tools: adapt to kexec-tools package split
* The recipe packages now kexec and kdump separately.
* For standard purposes only kexec is needed.
* Bump PR.

(From OE-Core rev: fcd67dc6348df5a3435d4ae276d824e8e072b68d)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:47 +00:00
Andrea Adami
0c91196fcb kexec-tools: split packaging of kexec and kdump
* from meta-oe (originally from org.openembedded.dev)
* There are no reasons to install kdump when only kexec is needed.
*
* In oe-core/meta there are no references to kexec-tools so
* the recipes inn external layers rdepending on kexec-tools should be
* fixed and rdepend on kexec and/or kdump.
*
* Bump PR.

(From OE-Core rev: 1f40a5486f703684c5d1d7360ef3cbdf75577495)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:47 +00:00
Colin Walters
3996288e52 util-linux: .pc files should go in the -dev packages for subpackages
The .pc files were ending up in util-linux-dev, not the correct
subpackage like libuuid1-dev.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:46 +00:00
Khem Raj
de58f3cec9 util-linux: Enable fallocate and use CACHED_CONFIGUREVARS
fallocate is implemented in eglibc 2.11 and all eglibc
we use are greater than 2.11 so drop disabling it.

Use CACHED_CONFIGUREVARS to specify scanf_cv_type_modifier=as

(From OE-Core rev: 469eb3e1680443aa486d3a3c68e665e3388cc892)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:46 +00:00
Khem Raj
d11425db32 findutils: Use CACHED_CONFIGUREVARS to specify cached configure vars
Since this feature is depending on wchar support we only
cache is when we have libc-posix-clang-wchar enabled

(From OE-Core rev: 783999bbe239b3a66cf87f7018a3087187c9bc11)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:46 +00:00
Khem Raj
469b134948 uclibc: Configure UCLIBC_HAS_WCHAR based on libc-posix-clang-wchar distro feature
(From OE-Core rev: 80e6f9201ffa3b8f52f6d452c8657ec6fda4749c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:45 +00:00
Khem Raj
c9f68fc709 autotools.bbclass: Introduce CACHED_CONFIGUREVARS
This variable is for holding the cached configure variables
to be specified in recipes. e.g.

CACHED_CONFIGUREVARS += "ac_cv_foo=yes ac_cv_bar=no"

This will make sure that the variables are not detected
by configure. This is useful in cross builds where
some features can not be detected correctly by configure
and having it as a variables gives us capability to
override it

(From OE-Core rev: e48fd42e047f46399828a074c5125a0ce9c3f56f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:45 +00:00
Matthew McClintock
ac7a6e7baf libxml2: add shared library version info to libxml shared libraries
This fixes an issue with RPM where it checks version imformation for
binaries linked against libxml and fails because it's missing info

| error: Failed dependencies:
|              libxml2.so.2(LIBXML2_2.6.0) is needed by fmc-0.9.7+2-r2.1.ppce500mc
|              libxml2.so.2(LIBXML2_2.4.30) is needed by fmc-0.9.7+2-r2.1.ppce500mc
| ERROR: Function 'do_rootfs' failed (see

Note: fmc is just an example recipe/name

(From OE-Core rev: d1f1fec5c6fe980aaf2c1f1dc2a0e737f4adf2dd)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:45 +00:00
Khem Raj
4b6df4f266 eglibc: Upgrade recipes 2.14 -> 2.15
Add patch to provide __finite_sqrt functions for ppc

(From OE-Core rev: 289d09176f8b6f66f6a7807b57f10e86939942f5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:45 +00:00
Steve Sakoman
f164a95b43 update-modules: don't run modutils.sh if systemd is installed
systemd has its own mechanism for loading kernel modules at startup

(From OE-Core rev: 553deffc8040afabd56b1c1d87a8a8d24bbae5d0)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:44 +00:00
Steve Sakoman
118a0afe1a gtk-icon-cache.bbclass: add -f option to gtk-update-icon-cache in postinst
The gtk-update-icon-cache utility does not create a cache file if
one does not already exist.  Since some packages (notably gnome-icon-theme)
do not ship a cache file by default, the results of the utility are
not saved.  Adding the force option writes out the cache even if there
wasn't a default cache in the package.

(From OE-Core rev: b3bb99c6faaf5c1613246309fd05cd95c39c77f4)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:44 +00:00
Steve Sakoman
2a9e6f32c5 dbus: change permissions of dbus-daemon-launch-helper to 4755
With current permissions of 4754 on systemd systems various services will fail to
activate with "helpful" error messages of the type:

2000-01-01T00:00:25+00:00 omap3-multi dbus[178]: [system] Activated service
'org.freedesktop.nm_dispatcher' failed: Failed to execute program
/usr/libexec/dbus-daemon-launch-helper: Success

(From OE-Core rev: 7b1e227bf28c9d4f3bb16af4d9ac21265e88a3f1)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:44 +00:00
Steve Sakoman
d10d1e12c0 Remove last remnants of kernel26 MACHINE_FEATURES
There is no reason to continue to carry this feature

(From OE-Core rev: f1193e077d187b9ce18ae0686b1a1f0f9832036d)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:43 +00:00
Andreas Müller
efc06844df libusb-compat: keep *.la in base_libdir
build-tested from scratch in angstrom environment.

(From OE-Core rev: 4fa337fe932230b43d7006cdd8b44dfa05501bbe)

Signed-off-by: Andreas Müller <schnitzeltony@gmx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:43 +00:00
Andreas Müller
42d1090cb2 libusb1: keep *.la in base_libdir
This fixes the following error found during build from scratch for
meta-oe / obexd:

| arm-angstrom-linux-gnueabi-libtool: link: cannot find the library
| `/home/Superandy/tmp/oe-core-eglibc/sysroots/overo/lib/libusb-1.0.la' or
| unhandled argument `=/lib/libusb-1.0.la'

build-tested from scratch in angstrom environment.

(From OE-Core rev: ea81932400c85976ebb47b930b64990660b210f7)

Signed-off-by: Andreas Müller <schnitzeltony@gmx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:43 +00:00
Khem Raj
f558210c8f libiconv_1.14.bb: Fix build failure
Currently libiconv is failing after upgrade to 1.14
this patch fixes the problem. It uses relocatable
gnulib module which should be added.

Delete unpackaged files.

(From OE-Core rev: fcb8d6fd9c1d6ee28bb8ab79d7829f719d989bae)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:43 +00:00
Khem Raj
6f99591a6f site/common-uclibc: Cache gl_cv_func_wcwidth_works
Its not computed properly during configure and
we configure uclibc with widechar support anyway
so its fine to cache it. It fixes the errors like

| In file included from ./stdio.h:31:0,
|                  from fpurge.h:20,
|                  from fpurge.c:20:
| /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-uclibc/sysroots/qemux86/usr/include/stdio.h:662:40: error: expected declaration specifiers or '...' before '(' token
| make[4]: *** [fpurge.o] Error 1

(From OE-Core rev: a471d342424502de48f28c4f8297d490f2cd1443)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:42 +00:00
Jessica Zhang
783c6ef46c add sysroot support for meta-ide-support which is the toolchain within build env case
(From OE-Core rev: 3b2bbbf965f31088bcb796e8a55966a2fc180349)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:42 +00:00
Nitin A Kamble
f1e58216fa libxxf86dga: fix compilation with x32 toolchain
Fix type conversion for x32. For x32 the off_t is 64bit and pointers are
32bit.
so the conversion of pointer to off_t was resulting into this error:

| XF86DGA2.c:931:24: error: cast from pointer to integer of different
size [-Werror=pointer-to-int-cast]
| cc1: some warnings being treated as errors
|
| make[2]: *** [XF86DGA2.lo] Error 1

Fixed it by typecasting pointer into unsigned long 1st and then again
typecasting unsigned long to off_t.

(From OE-Core rev: 644aaa87a0e161f8a37267f13d4a18f6dfcd9a4f)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-10 17:28:41 +00:00
Dongxiao Xu
468998cddb command.py: add parseConfigurationFiles API
The parseConfigurationFiles API calls the related function in
cooker.py to parse config files.

(Bitbake rev: 96c307b9874131ad8c7d9caea6f6dfbd09aab9d4)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 16:01:44 +00:00
Dongxiao Xu
ce9e6bad8f bitbake: add a new option "--server-only"
Create a new option "--server-only" for bitbake command, which allows
bitbake runs as a server, and let frontend connect the server itself.

"--server-only" should work with "-t xmlrpc", or bitbake will exit.

bitbake --server-only -t xmlrpc will print out the server address and
port information.

(Bitbake rev: 2677254cf9792cee083605267570d93b425cc2db)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 15:55:57 +00:00
Dongxiao Xu
eb2a8fe6c0 cooker: remove command import in cooker.py
There is no direct use of command in cooker.py, and it is using
bb.command instead. Remove command in the import list.

This fixes a problem of embedded import between command.py and
cooker.py.

(Bitbake rev: c353316b2efcc7a893d6b4aa9a9647d51a6f69e3)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 15:55:57 +00:00
Dongxiao Xu
4c30a7e9a3 cooker: remove command import in cooker.py
There is no direct use of command in cooker.py, and it is using
bb.command instead. Remove command in the import list.

This fixes a problem of embedded import between command.py and
cooker.py.

(Bitbake rev: 92fec2788e33d301cc63848901bc6adc764a2ecf)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 15:55:56 +00:00
Dongxiao Xu
e69e5a7e0b xmlrpc: Change BitbakeServerInfo init function
Pass host and port to BitbakeServerInfo class instead of the "server"
instance. With this change, GUI can connect with server individually
by host address and port.

(Bitbake rev: 5124351d6c287185723c98e6e4400c5402a5c8a8)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 15:55:56 +00:00
Dongxiao Xu
cf13bfe661 command.py: add initCooker API
initCooker is to set the cooker to the initial state with nothing
parsed.

(Bitbake rev: 8ee9c6cc47938604268242d90bd3007218f9a36e)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 15:55:56 +00:00
Dongxiao Xu
7d7d3a0009 cooker: user bb.configuration.data to inject events
For buildTargets function, we use bb.configuration.data as parameter
to inject events, since in hob environment, some variables are
modified dynamically and bb.configuration.event_data may out of date.

(Bitbake rev: 487a124942fd5cd9de71413b79a4049a6d26f1e8)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 15:55:56 +00:00
Dongxiao Xu
1c08843998 command.py: Modify needcache value for certain functions
for findConfigFiels() and findFilesMatchingInDir() functions, they
don't need to parse all the bb files, thus setting the needcache
value to be False.

(Bitbake rev: 3ef73dee8b08ccfd15a4901cce315a99b22e71d7)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 15:55:55 +00:00
Gary Thomas
2b8bd22c7c base-files: filesystems: fix mount order
This changes the order that file system [types] are tried
when using 'mount' in busybox when the file system type is
not explictly specified.  The pervious ordering is
incorrect in that less capable file system types are tried
first, e.g. ext2 before ext3, which will cause an ext3 file
system to be mounted as ext2, disabling some of the ext3
features such as journaling.

The change also moves infrequently used file system types to
the end as checking for them is just a waste of effort in
most cases.  The list now also includes ext4.

[RP: Add PR bump, unbreak patch application]
(From OE-Core rev: fff18970706913e7fd7f4a119d798dddb44b388a)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 14:41:47 +00:00
Scott Rifenbark
5599d3ae5c documentation/yocto-project-qs/yocto-project-qs.xml: removed disable dash text
Richard made a concerted effort to enable Dash usage in Poky and the sanity
check to detect it is no longer present. We should update the documentation to
reflect this development.

Specifically the section in the quickstart:
"If your distribution is Ubuntu, you need to be running the bash shell. You can
be sure you are running this shell by entering the following command and
selecting "No" at the prompt:

     $ sudo dpkg-reconfigure dash
"

Is no longer required.

I have removed it.

Fixes [YOCTO #1820]

Reported-by: Joshua Lock <josh@linux.intel.com>
(From yocto-docs rev: 189a80571bb7a1afd53171d93273e7cc26460d63)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:13:13 +00:00
Scott Rifenbark
1930230122 documentation/yocto-project-qs/yocto-project-qs.xml: Added libxml-parser-perl pkg
A missing dependency surfaced during a build by community member Marc
Ferland on a Ubuntu system.  The "shared-mime-info" package would not
build.  Fix was to add the "libxml-parser-perl" package.  So I added this
package as a requirement for the Ubuntu systems.

Reported-by: Marc Ferland
(From yocto-docs rev: 3922f2eb24f8f2089c6fdb48a88530af2b26f159)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:13:12 +00:00
Scott Rifenbark
03df4ce093 documentation/poky-ref-manual/ref-variables.xml: image size glossary
I added three new glossary entries for how the build process
figures out the image size.  Entries are for IMAGE_ROOTFS_SIZE,
IMAGE_OVERHEAD_FACTOR, and IMAGE_ROOTFS_EXTRA_SPACE.
I still need to create a usage section for this topic.
Likely this will be in the development manual in a new chapter
I am thinking about.

Fixes [YOCTO #1110] partially.

(From yocto-docs rev: ec6b9d77d10a95f0a2d460dca3cf8eab5dfbf0c0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:13:12 +00:00
Scott Rifenbark
01d5729e13 documentation/poky-ref-manual: Enabling recipes with commercial license requirements
I created a new section in the "Technical Details" chapter of
the YP Reference Manual to deal with licensing.  I migrated the
existing section on tracking licenses from the "Extending YP"
chapter into this section.  The new section now includes that info
as well as the new information here.

Fixes [YOCTO #576]

(From yocto-docs rev: b0d04bf99838d64e71ccd43d587d6641aaa26038)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:13:12 +00:00
Scott Rifenbark
40f44ec529 documentation/kernel-manual/kernel-how-to.xml: general edits
Some general edits up to section 3.4.

(From yocto-docs rev: 5bcd22b6372017c4f78b18035193879890ed8244)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:13:12 +00:00
Scott Rifenbark
fbfb9b7fd8 documentation/kernel-manual/kernel-concepts.xml: General edits.
Cleaned up some areas.  Fixed use of "uprev" term for consistency.

(From yocto-docs rev: 2d0c4d3c28a218f6302aee8ff2841420fbde410d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:13:11 +00:00
Scott Rifenbark
ab808a9d75 documentation/kernel-manual/kernel-doc-intro.xml: General clean-up
(From yocto-docs rev: bab78b907279fcd9fd5c65a53c31ee1e51cd6576)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:13:11 +00:00
Zhenhua Luo
279ad0f379 valgrind: add powerpc to the compatible host and add ${TCLIBC}-dbg in RRECOMMENDS-powerpc
1. add powerpc/powerpc64 into the compatible host list
    2. valgrind requires the non-stripped libraries of ${TCLIBC}, so add
       ${TCLIBC}-dbg into RRECOMMENDS for powerpc

(From OE-Core rev: 752e31fb437ec56785402148cae4efb63b8d93c7)

Signed-off-by: Zhenhua Luo <b19537@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:13:09 +00:00
Dongxiao Xu
9ce6464467 bblayers.conf.sample: Use ?= to set BBLAYERS
Hob may dynamically sets BBLAYERS to bitbake server, thus we need a
flexible way to load BBLAYERS value.

(From OE-Core rev: 458d0f8b39e7d9dce544f53c65e2a6ffae21ad24)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:13:02 +00:00
Dongxiao Xu
5a03cf2ba2 image.bbclass: Use ?= to set LINGUAS_INSTALL
Hob may dynamically sets BBLAYERS to bitbake server, thus we need a
flexible way to load LINGUAS_INSTALL value.

(From OE-Core rev: c5c3689b7102cc0c281de736c215d66dd4f1e874)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:36 +00:00
Andrea Adami
72fc52b61d x11-common: remove extraneous BSP customizations
(From OE-Core rev: caf0bdaa8f137ac7a775aff3d41ec1bfb2907afa)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:35 +00:00
Andrea Adami
dfa70347ce xorg-driver: add xf86-video-fbdev from meta-openembedded
(From OE-Core rev: 4997e01cb051cc05348468707898798f9228613a)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:35 +00:00
Nitin A Kamble
011a4954d7 systemtap: remove not needed fix for automake 1.11.2
The pkglibexec_SCRIPTS pair is valid. the 1.11.2 introduced an bug
to make it invalid. Now the automake 1.11.2 recipe is fixed, so
no need for this fix for systemtap recipe.

(From OE-Core rev: 0d0a9c71499c6b973fe08b02838b99e47785a07e)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:35 +00:00
Nitin A Kamble
801bd4bc8c mc: remove not needed fix for automake 1.11.2
The pkglibexec_SCRIPTS pair is valid. the 1.11.2 introduced an bug
to make it invalid. Now the automake 1.11.2 recipe is fixed, so
no need for this fix for mc recipe.

(From OE-Core rev: 33fa7ebd1024bff84c195285270fc8db48c90b83)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:35 +00:00
Nitin A Kamble
39d5655be0 automake-1.11.2: backport pkglibexec_SCRIPTS fix
automake-1.11.2 made variable libexec_SCRIPTS valid while
pkglibexec_SCRIPTS invalid. Both should be either allowed
or not allowed. This issue is fixed in the automake
developement branch, and now backported into our automake
1.11.2 recipe.

(From OE-Core rev: 4482675d3e3df3bcbedcf74eeeaec8bbc2af225a)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:34 +00:00
Nitin A Kamble
3bdcad7f32 vte: update patch header
No functional change here. Just updating the headers of the patch.

(From OE-Core rev: e937bec2c9cf632a4833de416e839ee16ba18932)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:34 +00:00
Nitin A Kamble
f3a21d5297 libevent: fix compilation for x32
Pull a patch from gentoo to avoid sysctl syscall which is not
defined for x32.

(From OE-Core rev: 1d0006ad137e63214e365fbccd45a610cf9661ce)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:34 +00:00
Nitin A Kamble
f2fb10ecf2 python-pycairo: fix for x32
Add the libdir to configure so that path like /usr/libx32 can work.

Also passing parallel make flags to the building process.

(From OE-Core rev: 2f134791ca5db0281af0a71fcab0e832894d412c)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:34 +00:00
Otavio Salvador
8178e63649 udev: ensure /dev/pts and /dev/shm does exists
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:33 +00:00
Otavio Salvador
f51ecaf349 initscripts: avoid mounting /sys if it is already mounted
(From OE-Core rev: fdb3d74458cd36a0fe53ee097394acc37d658ce9)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:33 +00:00
Otavio Salvador
ec28705396 qt4-x11-free.inc: use QT_BASE_NAME from qt4x11.bbclass
(From OE-Core rev: 73fc8f706b08ec74087754eacd2257856fe829d1)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:33 +00:00
Otavio Salvador
83634c3f80 qt4-embedded.inc: use QT_BASE_NAME from qt4e.bbclass
(From OE-Core rev: be58cb5b41f0e6c08e9a5f576802c5a5efe7edf6)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:33 +00:00
Otavio Salvador
e30de2941d qt4x11.bbclass: add QT_BASE_NAME for use in recipes
(From OE-Core rev: 4cda1fcae29dfbe494033bac1256f6bc5cd298e0)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:32 +00:00
Otavio Salvador
6756bc0cce qt4e.bbclass: add QT_BASE_NAME for use in recipes
(From OE-Core rev: 45ee6b25c6e15f562207e97690f8cae7123102f8)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:32 +00:00
Otavio Salvador
e2ccea0653 qt4-graphics-system: add
Allow setting default runtime graphics system engine for Qt4
applications per machine.

Depending on the GPU and Xorg driver, this can boost and impact
significantly the drawing performance. The default setting is to
'raster' as this offer best performance for most machines GPUs.

(From OE-Core rev: ddd3f453e93e460d8db0fcdd04fb4633fe2ebceb)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:32 +00:00
Bruce Ashfield
6fc0bfdb0f linux-yocto: use src_patches for out of tree kernel feature support
To support larger out of tree kernel features and enhanced patching schemes,
this changeset modifies the linux-yocto patching routines to call the
recently factored out 'src_patches' routine. Using the returned list of local
URIs for all valid patches, the logic can then determine whether or not
patches can be used in place, or need to be migrated and have re-usable
kernel features created. The results are then fed to the existing
infrastructure to be applied and commited to the tree.

(From OE-Core rev: dca97bbdbfc88c91287e74eb6a3974277f1028b7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:32 +00:00
Bruce Ashfield
a27ebcab80 linux-yocto: bump kernel version to v3.0.14
Updating the 3.0 kernel recipe to contain v3.0.14 -stable.

(From OE-Core rev: 2f2c73ead531343c5b17e598637ddabd75d53a69)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:32 +00:00
Bruce Ashfield
b3cc230429 kern-tools: import flexible branching support
The commit:

   kern-tools: update SRCREV to pickup git operation fixes

Brought in the ability to trap failed git operations on the working tree,
but what it missed were some branching changes that allow arbitrary
branch points and the ability to create a branch multiple times (if a feature
is included multiple times). The graphics driver branches used by some
BSPs need this part of the change to properly handle graphics driver
branches.

Updating the SRCREV to pickup the associated kern-tools changes for this
support.

(From OE-Core rev: 229036a961bae61847a05546a92dfc93a88c6f67)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:31 +00:00
Paul Eggleton
9beabe35f8 classes/buildhistory: remove redundant package history checking stub
The code that would have gone here has been superseded by the
buildhistory analysis functionality implemented in
meta/lib/oe/buildhistory_analysis.py and scripts/buildhistory-diff, so
remove it.

(From OE-Core rev: 5c8d583a12c507788c746637d5b4ddea62b0a629)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:31 +00:00
Paul Eggleton
6542028f3f classes/buildhistory: make the package version backwards error non-fatal
Just make it a bb.error when a package version goes backwards, it
doesn't make sense to fail the build immediately; the error(s) will
still be reflected in bitbake's exit code.

(From OE-Core rev: d3e70e0ed1ece5c8eb7f9c1c8140d3bd7b4333cf)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:31 +00:00
Paul Eggleton
c8d4807bd7 classes/buildhistory: add hostname to commit message
If we're building on multiple hosts then it's useful to have the
hostname in the commit message.

(From OE-Core rev: abf3e7f7f56cc8bcdf104d8e27e7e366b0619ed6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:31 +00:00
Paul Eggleton
fcc5f6883c buildhistory: add script to check for significant changes
Adds a buildhistory-diff script which can be used to analyse changes in
the buildhistory git repository (as produced by buildhistory.bbclass),
and report significant ones that may need manual checking to ensure they
aren't regressions (e.g. package size changed by more than a certain
percentage, files added/removed/changed in the image, etc.)

The implementation is actually split into a small script and a Python
module, in order to make the logic re-usable in a future web-based
interface.

Implements the first part of [YOCTO #1566].

(From OE-Core rev: 5e5cbb9bd8cdce402b979680288ac8c51799a24d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:30 +00:00
Saul Wold
f22c292261 gnutls: remove gettext patch for non-GPLv3
GPLv2 version of gnutls does not need the gettext 0.18 patch
since it still uses the over version of gettext that is also
GPLv2.

(From OE-Core rev: 70dc38b1e127524f50f661c5dd4b3225ddb0b36b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:30 +00:00
Saul Wold
815c7e8e83 util-linux: Update patch for non-GPLv3
Rebase the disable-lscpu patch for the updated source base,
we only need to modify Makefile.am, since automake will regenerate
the Makefile.in.

(From OE-Core rev: a299d91ba422ed2ee34c1c54cdfaff4c88c60754)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:30 +00:00
Darren Hart
1d2451a8c7 distro: Update poky-tiny distro definition
Rather than conditionally drop eglibc-utils based on wchar support, set
USE_NLS="no" in the distro config to avoid pulling in gettext.

Also addresses some confusion over the "All rights reserved." statement by
explicitly referencing the MIT license.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 11:32:17 +00:00
Nitin A Kamble
7402c8a175 autoconf: fix nativesdk rdepends
Fixes this build error:

| error: Failed dependencies:
| 	m4 is needed by autoconf-nativesdk-2.68-r4.x86_64
| 	gnu-config is needed by autoconf-nativesdk-2.68-r4.x86_64
NOTE: package meta-toolchain-1.0-r6: task do_populate_sdk: Failed
ERROR: Task 8 (.../meta/recipes-core/meta/meta-toolchain.bb,
do_populate_sdk) failed with exit code '1'

(From OE-Core rev: df8d88e864fb6bdecf5c82b25c0252c3d54157ad)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 09:22:37 +00:00
Richard Purdie
5797feac5f image-mklibs/package_ipk: Remove bashisms
We now support using dash but these bashisms triggered build failures for me
when using it. This replaces the code with something which works on dash.

(From OE-Core rev: 4a85312568a6bb052cc511c15b4ae842ff7f8e59)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 22:26:25 +00:00
Darren Hart
a10af679ec distro: Add poky-tiny distro definition
Poky-tiny is intended for building very small OS images. The distro
definition sets the providers for the kernel and the runtime services.
It also reduces the eglibc component list and other DISTRO_FEATURE
elements.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 22:22:38 +00:00
Zhai Edwin
c226ccb906 matchbox-wm: Remove x-session-manager handling
Windows manager should be independent on session manager, especially when we
have multiple session manager like mini-x and matchbox session.

This commit remove session-manager stuff in matchbox-wm, as matchbox-session
already has duplicated code. Also adjust alternative priority for mini-X to
make it higher priority over matchbox-session.

(From OE-Core rev: c3400040fdce8c049b51a8acb06eb2e92f9426d1)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 22:19:22 +00:00
Scott Garman
198f2ac06e libusb-compat: move libraries to base_libdir
udev links to libusb-compat, and so this library needs to be in
base_libdir (/lib) instead of libdir (/usr/lib).

(From OE-Core rev: ed937940f54d1a376b518fc276da78811c4ac50b)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 22:19:21 +00:00
Scott Garman
05409821ea insane.bbclass: use bb.process.Popen instead of subprocess.check_output
subprocess.check_output was only introduced in Python v2.7, so we
cannot use it. This refactors the QA test to use bb.process.Popen
instead.

This fixes the error:

AttributeError: 'module' object has no attribute 'check_output'

It no longer checks the return status of prelink-rtld, as that
case was simply adding noise. This QA test is intended to only
warn about specific paths that binaries could be linking to, not
handle the case where there is a missing library.

(From OE-Core rev: 0443487fe0bc628db9b03306bdc9dcdb39a121dc)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 22:17:33 +00:00
Richard Purdie
7f837eb05f bitbake/runqueue: Improve the setscene logging
When debugging setscene problems it was found that some extra debug messages were useful.
This patch adds them.

(Bitbake rev: cff2c258b77fde01d530a5923e553e6111b15eb5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 13:04:19 +00:00
Richard Purdie
8e43f9a751 multilib: Abstract class extension code into classextend.py
(From OE-Core rev: 563828bad19a242bba9ce3db461bb5807037dfdf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 12:36:29 +00:00
Richard Purdie
0fa52f7078 native.bbclass: Fix variable remapping coverage
When looking for RDEPENDS to process, bitbake iterates through PACKAGES
*and* PN. Since native.bbclass sets PACKAGES to be empty, its pointless
remapping the list of PACKAGES since this does nothing. There is a problem
since *_${PN} are used by bitbake but not remapped by the native.bbclass
class extension code.

This changes the code to remap _${PN} in both expanded and unexpanded
forms. As a result of this, various surprising dependencies are uncovered
and the patch rectifies those. These are real bugs since they're injecting
unneeded (unremapped) dependencies into the dependency chain.

(From OE-Core rev: 0f485bfd6fc82a109b9da629e464fca1e90faec3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 12:36:28 +00:00
Xiaofeng Yan
5aabdbaff7 core-image-gtk-directfb: add a bb file to build an image for gtk over directfb
This file can make an image to run gtk over directfb.

[YOCTO #1674]

(From OE-Core rev: 0c97fd9d721cea9786e89a557418649ef4576cfd)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:49 +00:00
Derek Buitenhuis
2f60d9a9f9 binutils-cross-canadian: Allow ld-is-gold
In order to actually generate a toolchain (with
bitbake meta-toolchain) that supports gold, binutils-
cross-canadian also needs to be built this way.

(From OE-Core rev: 0eb3a0f3ee857a17d80598ea2f0b1f3d14ac6d30)

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:48 +00:00
Saul Wold
7b15d99e6c Patch Upstream-Status Update
(From OE-Core rev: f58bb1692c5700091f960e0fb90e5c39ebf5ab96)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:48 +00:00
Otavio Salvador
fc53fa79a8 udev: remove commented code from init script (no code changes)
(From OE-Core rev: 54daad852fc3bf6fc03c3ef96046e77d3ca047f4)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:48 +00:00
Otavio Salvador
27b45f6252 udev: split utilities onto udev-utils
(From OE-Core rev: 350b0921f66eb283637354f5f13a05d4aace41e2)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:48 +00:00
Otavio Salvador
53efd43855 udev: use 'echo' instead of 'echo -n' in init script
Avoid using two stage progress output to avoid text garbage during
parallel boot.

(From OE-Core rev: 7b3912883acaf4539d5d9cb974330778b6c85340)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:48 +00:00
Gary Thomas
352b9120a6 xserver-kdrive: work around issues with -Werror=address
A number of calls to REGION_INIT() use a static box which is flagged
as an error with -Werror=address.  This patch works around the problem,
but should not be considered a final solution.

Upstream-Status: Inappropriate

(From OE-Core rev: 605f6b89b9948351601af1ef37510f7dee77895b)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:47 +00:00
Christopher Larson
28b6f1f36e opkg-utils: use /usr/bin/env python
(From OE-Core rev: 118cb063b08fc1aeb99c248fde6ef2069496c347)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:47 +00:00
Phil Blundell
6126f96a1d python-native: correct prefix handling for oe-core sysroot layout
Don't try to guess a path based on ${HOST_SYS} since this is not where the
files in the sysroot are likely to be.  Instead, just use the "plat_specific"
approach of taking STAGING_INCDIR and knocking off the trailing "/include" for
all cases.  This is still evidently suboptimal but does at least seem to give
the correct results.

(From OE-Core rev: 3b01b884dac0b31af8f5f2ebd60e5939e0111873)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:47 +00:00
Scott Garman
29feb44e05 insane.bbclass: add QA tests for unsafe references to exec_prefix
Files under exec_prefix (commonly /usr) may not be available during
system recovery. exec_prefix may also be kept on a separate partition
that is mounted late in the boot process.

This QA test throws an warning if a binary in base_[bindir|sbindir|libdir]
is dynamically linked to a file under exec_prefix. The intention is to
turn this into an error in the near future.

It also checks executable non-binaries (e.g, shell scripts) in the above
base directories with a simple grep test to look for references to
exec_prefix. This test only produces a warning, since false positives
are likely.

This fixes [YOCTO #1008]

(From OE-Core rev: 3e9c368a8045044736fc7e348404060498c7491b)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:46 +00:00
Scott Garman
d34292c0c2 libusb1: move libraries to base_libdir
udev links to libusb1, and so these libraries need to be in
base_libdir (/lib) instead of libdir (/usr/lib).

(From OE-Core rev: 4ec9c25b9390bbfc1ddb0d46296f9251e5fd1498)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:46 +00:00
Scott Garman
67b66d5a29 e2fsprogs: move libraries to base_libdir
The e2fsprogs utilities are installed into base_sbindir (/sbin)
and should not link to libraries under exec_prefix (/usr). So move
these libraries from libdir (/usr/lib) to base_libdir (/lib).

(From OE-Core rev: 90a1590f324a05f6b35b62856335aca7ba1f66c0)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:46 +00:00
Scott Garman
f5023f53ea util-linux: move libraries to base_libdir
Various util-linux programs in base_sbindir (/sbin) linked to libraries
located under exec_prefix (/usr). Since this is not safe, move these
libraries from libdir (/usr/lib) to base_libdir (/lib).

(From OE-Core rev: 91c0f9e35da826055cda6662732c069dc7c31f96)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:46 +00:00
Scott Garman
d1536ee2b5 libcap: move library to base_libdir
ls from coreutils links to libcap, so move the libcap library
from libdir (/usr/lib) to base_libdir (/lib).

(From OE-Core rev: 3a52df9c057b25c25fc2013ac6c5bf602cc8b4a7)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:46 +00:00
Scott Garman
f8f5c05406 ncurses: move libraries to base_libdir
Various utilities (including bash and the util-linux programs) located
in base_bindir (/bin) or base_sbindir (/sbin) dynamically link against
many of the ncurses libraries. So move these libraries from libdir
(/usr/lib) to base_libdir (/lib).

(From OE-Core rev: 796c3d038fb7892a5e5206fb10217623de18853f)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:45 +00:00
Saul Wold
db0f4a97df glib-2.0: ensure dtrace is diabled for all distro options and fix packaging
The linuxstdbase configuration flags also need to disable dtrace as per the
sandard package configuration options.

(From OE-Core rev: 6f4268682c33df7537a32f6e52d3698ebfa14e4e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:45 +00:00
Saul Wold
8b26d1187c libxp: fix cast error
(From OE-Core rev: 6de454e0a66e832571b23406fdc4b9c4e65073d0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:45 +00:00
Saul Wold
4de7aafbed image_types: Fix rootfs size calcuation
The ROOTFS_SIZE calculation was not correctly taking into account
the IMAGE_ROOTFS_EXTRA_SPACE variable, it would only be applied if
the size as determined by the ((du * overhead) + extra space) was
greater than the IMAGE_ROOTFS_SIZE, so if the du * overhead was smaller

(From OE-Core rev: 73db21a65fbdaf0886a01bcd98ee66e73a7465b8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:45 +00:00
Paul Eggleton
c5996fd172 qt4: add Upstream-Status to recently added qt-4.8.0 patch
Add Upstream-Status to qmake_cxx_eval.patch.

(From OE-Core rev: f4bed494ab3b3047aad45ff31efcfd59b90e3822)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:44 +00:00
Paul Eggleton
a6e61c02a7 conf/local.conf.sample: fix typos/grammar/formatting
(From OE-Core rev: 6f81b3695f6f1e19906e6173c6c7e3ee4f86a11b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:34 +00:00
Paul Eggleton
22106230a8 README: add short description of OE-Core
(From OE-Core rev: 5ebaabe8ed518b92515ab74963a4849410be44aa)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:24:01 +00:00
Paul Eggleton
464f8478ba classes/update-alternatives: fix typos and grammar
(From OE-Core rev: b63fd2c71b9d5d3bcaa98fe08b2e65db8c2bf6d1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 11:23:11 +00:00
Richard Purdie
021848be9e valgrind: Fix for automake update
(From OE-Core rev: f309769d10cb3d8b72b8c7c4f7f418dcb8422c61)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 16:04:08 +00:00
Juraj Hercek
51d64452f6 fetch2/git: change colon to dot in ud.host
Local cloning of git repositories from DL_DIR into WORKDIR fails when
using ssh URL with port specification e.g.
"ssh://user@host:port/path/to/repo.git". Git fetcher clones such remote
repository into "${DL_DIR}/git2/host:port.path.to.repo.git". However,
when clonging from ${DL_DIR}/git2/host:port.path.to.repo.git into
${WORKDIR}, git fetcher fails with "ssh: Could not resolve hostname
${DLDIR}/git2/host: Name or service not known".

A solution is to replace ":" by "." in host component, similarly as it
is done when replacing "/" with "." in path component, so that local
clone directory in DL_DIR looks like this: "host.port.path.to.repo.git".

(Bitbake rev: 1f2867b79f1cd2bfbdc849ba5677a39db6fa3396)

Signed-off-by: Juraj Hercek <juraj.hercek@jhksoftware.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 16:04:07 +00:00
Paul Eggleton
f540034864 bitbake-layers: fix Python error during parse
If "bitbake-layers show_layers" was run when the cache was dirty forcing
a parse, it failed with the following error:

ERROR: Failure expanding variable SRCPV, expression was
${@bb.fetch2.get_srcrev(d)} which triggered exception AttributeError:
'module' object has no attribute 'fetch2'

A simple import of bb.fetch2 in bitbake-layers fixes this.

Fixes [YOCTO #1855].

(Bitbake rev: a228f0a32c2c14d62effbbba5f4fada4cd3817f6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 14:14:39 +00:00
Phil Blundell
e47a5daa4f bitbake.conf: remove some redundant/unnecessary variable exports
Specifically...

SLOT: apparently redundant, deleted.
STAGING_IDLDIR: likewise
QMAKE_MKSPEC_PATH: no longer exported, moved to qmake_base.bbclass
STAGING_SIPDIR: no longer exported, moved to sip.bbclass

(From OE-Core rev: 3dcbc8a700a3e7474026e858b1d20e9ff89a5eb1)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 14:14:10 +00:00
Richard Purdie
c4de612298 populate_sdk_ipk.bbclass: Ensure the correct environment is setup for postinstalls
Without this, various postinstalls get run with incorrect environments
leading to various failures when building the toolchains.

This adds some duplication and some variables we'd be better off
removing. It does unbreak the SDK ipk code for now though. This needs
revisiting.

(From OE-Core rev: c5e6a533eab2f5af4a52d22f8efe5b49b77cd26c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 14:14:10 +00:00
Richard Purdie
3f4f440882 poky-tiny: remove poky-tiny, it was added to the wrong accidentally
(From OE-Core rev: 65db8166215d213098ab7332eb51b559b7e63328)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 14:14:09 +00:00
Paul Eggleton
c26554a2e3 distro-tracking-fields: update qt recipe info
* Update for Qt 4.8.0
* qt4-tools-native was replaced with qt4-native some time ago

(From OE-Core rev: 28a43969d0ebe2a249df4da09173d5e054418737)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 12:08:31 +00:00
Paul Eggleton
670706d1d3 qt4: add version 4.8.0
Version 4.8.0 makes a few minor changes in the internal build system -
the following issues had to be worked around:

* The -qt-gif configure option has been removed. This is actually the
  default and has been for some time, so remove it from qt4.inc.
* The mkspecs have been refactored requiring us to copy our g++.conf
  file over the top of g++-unix.conf instead. Some modifications to this
  file were also necessary to remove some settings that are now in other
  conf files (and we don't modify those values in any case).
* The LD environment variable needs to be unset during configure, or
  else the configure script overrides our value of QMAKE_LINK which
  selects ${CXX} as our linker.
* QMAKE_CXX contains a reference to OE_QMAKE_CXX which the configure
  script does not expect and cannot expand and this results in webkit
  being disabled, so add a workaround for this.

(From OE-Core rev: 6b2a5d15ad20573502142b635e6cab9bcfb3b40a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 12:08:31 +00:00
Paul Eggleton
99a6e1a3a4 qt4: fix incorrect architecture for qt4 tools
Don't install the native staging versions of the qt4 tools in the bin
directory; we have been doing this for a very long time but it is no
longer necessary since we specify them via the QMAKE_UIC, QMAKE_MOC etc.
variables. Doing so was sometimes resulting in those executables being
the ones that end up being packaged (probably only sometimes due to
different date/time values on the staging files and the interaction
with make).

Fixes [YOCTO #1856].

(From OE-Core rev: dc154d698b3b455a35b65935f7f04a3b4f72f8b6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 12:08:31 +00:00
Joshua Lock
120ea473c4 busybox: rename syslog.conf to syslog-startup.conf
Busybox 1.19 introduced basic support for an rsyslog inspired syslog.conf
whereas we've been shipping syslog.conf as a file to be sourced by the
syslog init script in order to configure which options busybox's syslog is
started with.

Busybox 1.19 in syslog mode chokes on our syslog.conf and doesn't start.

This patch renames the syslog.conf we ship to syslog-startup.conf in order
to prevent busybox trying to parse the file as an rsyslog style syslog.conf

Fixes [YOCTO #1848]

(From OE-Core rev: b406998019b577eac7f758298cc2695372e03d15)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 12:02:44 +00:00
Nitin A Kamble
93855361b7 vte: upgrade from 0.24.3 to 0.28.2
Added a patch to add introspection.m4 to avoid the following
configure error:

| src/Makefile.am:168: HAVE_INTROSPECTION does not appear in
AM_CONDITIONAL
| autoreconf: automake failed with exit status: 1
| ERROR: autoreconf execution failed.
NOTE: package vte-0.28.2-r0: task do_configure: Failed

This upgrade avoids configure issues with automake version 1.11.2
seen on the earlier version of vte:

| src/Makefile.am:155: `pkglibdir' is not a legitimate directory for
`PROGRAMS'
| src/Makefile.am:156: `pkglibdir' is not a legitimate directory for
`SCRIPTS'
| src/Makefile.am:178: variable `interpret_SOURCES' is defined but no
program or
| src/Makefile.am:178: library has `interpret' as canonical name
(possible typo)
| src/Makefile.am:229: variable `slowcat_SOURCES' is defined but no
program or
| src/Makefile.am:229: library has `slowcat' as canonical name (possible
typo)
| src/Makefile.am:203: variable `interpret_LDADD' is defined but no
program or
| src/Makefile.am:203: library has `interpret' as canonical name
(possible typo)
| autoreconf: automake failed with exit status: 1
| ERROR: autoreconf execution failed.
NOTE: package vte-0.24.3-r0: task do_configure: Failed

Did not upgrade to the latest version 0.31.0.
0.28.2 is the last version supporting gtk+ 2. Next versions have
dropped support for gtk+ 2, and they require gtk+ 3. It would be
more appropriate to move to next version after gtk+ 3 recipe is
available.

(From OE-Core rev: e5def5f36619c8f78fbb82f106f1ab7aab607532)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 11:56:42 +00:00
Nitin A Kamble
f212c81c7a prelink: also look at nonstandard lib paths
Prelinking for x32 image showed that it was ignoring libraries
located at locations like /usr/libx32. Like that mips n32 has
library locations set as lib32
  This commit modifies prelink.conf to look at libraries also
located at libx32 & lib32 locations.
  Thanks to Mark Hatle for suggesting the fix.

(From OE-Core rev: c02b9de25b405c81da0f7bebd07423e8cee14eb7)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 11:56:42 +00:00
Dexuan Cui
381a4a2984 mc: fix configure with automake 1.11.2
As Nitin said, "automake version 1.11.2 has made use of dir variables
more strict, the pkglibexec var can not have SCRIPTS suffix. Using pkgdata
instead."

Fixes this error:
| contrib/Makefile.am:10: `pkglibexecdir' is not a legitimate directory for `SCRIPTS'
| autoreconf: automake failed with exit status: 1
NOTE: package mc-4.8.1-r0: task do_configure: Failed

(From OE-Core rev: 6a6b78180d2d7f8dbab02e96927de5a049c9a3ed)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 11:56:42 +00:00
Joshua Lock
00f0d4ad64 cogl: ensure we can build on armv4
Without this patch cogl will not build for armv4 as it uses an
unsupported instruction. This changeset adds a patch from Wolfgang
Denk to add an extra guard around armv5 or above code.

(From OE-Core rev: e19586765af518892ed55d9bfd45d0857566ae98)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 11:56:42 +00:00
Joshua Lock
87babb7894 linux-tools: add binutils to perf DEPENDS
We have witnessed non-deterministic failures of perf for some platforms
whilst looking for bfd.h, a header provided by binutils.

(From OE-Core rev: ab56f27d96cbd2c79ca16d12333687ca9720934c)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 11:56:41 +00:00
Darren Hart
0ff1d667dc distro: Add poky-tiny distro definition
Poky-tiny is intended for building very small OS images. The distro
definition sets the providers for the kernel and the runtime services.
It also reduces the eglibc component list and other DISTRO_FEATURE
elements.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 21:33:15 +00:00
Darren Hart
fdbb0d96c9 distro: Add POKY_DEFAULT_EXTRA_R* variables
Allow the reuse of poky.conf by distro definitions wanting to remove
content by introducting POKY_DEFAULT_EXTRA_R*. These are appended
to the corresponding DISTRO_EXTRA_R* variables and can be overriden
by distro configs that "require poky.conf".

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 21:32:48 +00:00
Bruce Ashfield
1fcf1fae71 linux-yocto-rt/meta-yocto: add routerstationpro support
Fixes [YOCTO #1390]

Updated the meta-yocto support for the routerstationpro on the
preempt-rt kernel support.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 21:30:58 +00:00
Bruce Ashfield
9e99322527 linux-yocto/meta-yocto: routerstationpro/beagleboard: add 3.0.x support
Updating the routerstationpro and beagleboard compatibility and SRCREV
to pickup v3.0.12 support.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 21:30:49 +00:00
Saul Wold
f3a1a8897c pseudo: ensure libs are included in package
[YOCTO #1868]

(From OE-Core rev: de679a3036ebef1c7d7b8ee23f05590c95e498d9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:41 +00:00
Saul Wold
17b399ad5a glib-2.0: disable dtrace due to host contamination
(From OE-Core rev: d5eccd558f1f0ab2993c6c9eacc6f31bee1ee50b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:41 +00:00
Saul Wold
78a3b1e5eb gnutls: more gettext version fixes
Address [YOCTO #1849]

(From OE-Core rev: 206ebe842ba12db271133a80a3d095c0d659eb45)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:41 +00:00
Nitin A Kamble
8eb45acf30 btrfs-tools:Fix multithreaded building
Fixes bug: [YOCTO #1524]

Fixes this error with make -j:
btrfsctl.c
| i586-poky-linux-gcc  -m32   -march=i586
--sysroot=/intel/poky/builds/world/tmp/sysroots/qemux86
-Wp,-MMD,./.btrfsctl.o.d,-MT,btrfsctl.o -Wall -D_FILE_OFFSET_BITS=64
-D_FORTIFY_SOURCE=2 -O2 -pipe -g -feliminate-unused-debug-types -c
btrfsctl.c
| btrfsctl.c:37:21: fatal error: version.h: No such file or directory
| compilation terminated.
| btrfslabel.c:40:21: fatal error: version.h: No such file or directory
| compilation terminated.

(From OE-Core rev: 3ebc06c2f011da95fd6bed74c9e27b2148011ee7)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:40 +00:00
Nitin A Kamble
761acbb4fa automake: upgrade from 1.11.1 to 1.11.2
(From OE-Core rev: 2dffe02af05413d8438ddc28d542dc5d85ac105f)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:40 +00:00
Nitin A Kamble
99e4a9ad79 quilt upgreade from 0.48 to 0.50
gnu_patch_test_fix.patch : this patch removed as it is already
upstream now.

Renamed quilt.inc to quilt-0.50.inc and moved the dupicate information
from native & target recipe files into the quilt-0.50.inc file.

Clean up the unpackaged files warning

These warnings are avoided:
WARNING: For recipe quilt, the following files/directories were
installed but not shipped in any package:
WARNING:   /usr/bin/quiltrc
WARNING:   /usr/share/emacs
WARNING:   /usr/share/emacs/site-lisp
WARNING:   /usr/share/emacs/site-lisp/quilt.el

The /usr/bin/quiltrc is purposely not packaged, as it is needed
for native recipe only.

(From OE-Core rev: ffb10e51dae3e360822f26d1425c3327213a7e81)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:40 +00:00
Nitin A Kamble
d3609d0b64 btrfs-tools: add attr as dependency to fix compilation
Fixes this compilation error:
| mkfs.c:39:24: fatal error: attr/xattr.h: No such file or directory
| compilation terminated.
| make: *** [mkfs.o] Error 1

(From OE-Core rev: 275d61ce0f6e1f0613eb31beb6878c97306666f5)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:40 +00:00
Saul Wold
d05dd5275a texinfo: fix gettext patch
(From OE-Core rev: 0a294c4aad43ecf04a40100e58050c7668f1a424)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:39 +00:00
Saul Wold
39237473e4 puzzles: fixed SRC_URI Checksums
(From OE-Core rev: 898f7e73839ec737fed0f4e802ed0de629dae626)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:39 +00:00
Christopher Larson
3b798c8a71 elfutils: fix for dso link change in recent ld
This patch makes the link to the dependencies of libdw explicit, as recent ld
no longer implicitly links them. See
http://lists.fedoraproject.org/pipermail/devel/2010-March/133601.html as
a similar example of the error message you can encounter without this patch,
and https://fedoraproject.org/wiki/UnderstandingDSOLinkChange and
https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking for more
details.

(From OE-Core rev: 5d776e20b99db7eae307ca794ad58ac402c9eadf)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:39 +00:00
Tom Zanussi
fa03a6d17d rpm2cpio.sh: make compression tests case-insensitive
In the rpm2cpio.sh script, the output of $COMPRESSION is tested for
certain lowercase strings such as 'xz' in order to determine the
decompression to use.  The problem is that the output strings tested
are from the output of 'file', which uses different cases in different
versions e.g. file-5.09 prints:

tmp/sysroots/x86_64-linux/usr/bin$ ./file xxx.tar.xz: XZ compressed data

while file-5.03 prints:

tmp/sysroots/x86_64-linux/usr/bin$ ./file xxx.tar.xz: xz compressed data

In the former, the XZ string causes xz compressed payloads to
incorrectly fall through to the catch-all lzma case.

(From OE-Core rev: fe48e55988a2208bb7a3a2cc2bc641c41dbd1cb0)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:39 +00:00
Zhai Edwin
9c6601a45e libassuan: Upgrade to 2.0.3
(From OE-Core rev: f3c4532a24f0871f57768aa18808c5b8069de4f7)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:38 +00:00
Zhai Edwin
cfa0eb3d0c apr-util: Upgrade to 1.4.1
(From OE-Core rev: f9ff5ecf55859984d3dbe66378eb7ee54ad28546)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:38 +00:00
Zhai Edwin
e3928c590c lighttpd: Upgrade to 1.4.30
(From OE-Core rev: 26d2c86babf13d594d7e735c7bf15196d33605de)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:38 +00:00
Dexuan Cui
8a21b1de58 distro_tracking_fields.inc: update the info
They are
mdadm
liburcu
lttng-ust
lttng-control
inputproto
libpciaccess
util-macros
libxi
libx11
libx11-trim
libx11-diet
xkeyboard-config

(From OE-Core rev: 7bb91507b9dee54c08cc757da81b2c48f3368656)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:38 +00:00
Dexuan Cui
1e62bfc577 util-macros: upgrade from 1.15.0 to the latest 1.16.0
(From OE-Core rev: 060cd2876de85ac7acc1e05df4b4b0fd9c1edc86)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:37 +00:00
Dexuan Cui
2ed0506499 libpciaccess: upgrade from 0.12.1 to 0.12.902
According to http://cgit.freedesktop.org/xorg/lib/libpciaccess/log/, 0.12.902
does fix some bugs, so let's upgrade to it.

Moreover, I pulled a patch from upstream git repo.

I also updated the COPYING's chksum since there is a minor change to the
Copyright header.

(From OE-Core rev: 72c6f939c9130328045bda1c8896e078b75f07f0)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:37 +00:00
Dexuan Cui
9272288100 lttng-ust: upgrade from 0.15 to the latest 0.16
(From OE-Core rev: 7823f5b15797faadd9b1527a08ebbd29d11f5a41)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:37 +00:00
Dexuan Cui
de364b1cbc liburcu: upgrade from 0.6.4 to the latest 0.6.7
(From OE-Core rev: ec8d63af030b02c755af13910d17a8650a948b1d)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:37 +00:00
Dexuan Cui
9b329192eb mdadm: upgrade to the latest version 3.2.3
deleted 1 patch since it's in new version now.

made LICENSE field more accurate.
updated chksum of COPYING: only working change; no actual license change.

(From OE-Core rev: f01f6764a744fcb6c5c342ab06a52f97fe362f1a)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:37 +00:00
Paul Eggleton
a57cda0f80 buildhistory: improve git commit robustness
* Check if BUILDHISTORY_DIR exists before doing anything with it, in
  case no tasks that would have created it have executed
* Ensure the git repo in BUILDHISTORY_DIR is initialised with "git init"
  before attempting to do anything with it
* Check if any files have been added or changed before adding and
  committing, to avoid an error from "git commit"

(From OE-Core rev: 8eff4fea13317a741114f2a2e8e228d0155ba64c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:36 +00:00
Shane Wang
f724b7bc2e distro_tracking_fields: update the info for this round of package upgrade
The update includes:
- update the info for linux-firware, quota, watchdog, hdparm, libomxil, oprofileui, puzzles, and matchbox-wm-2
- add one more recipe info for stat, which is depended by hdparm
- correct the wrong info for connman-gnome, which is updated by last manual check in error.

(From OE-Core rev: 22213b226d7f9b7732163d6586d938416c7ec8c3)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:36 +00:00
Shane Wang
d33139b602 puzzles: upgrade to r9375.
(From OE-Core rev: ffe017d4d0a21606ee4146b0ef9f616a49ce1927)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:36 +00:00
Shane Wang
26096cfc05 watchdog: upgrade to 5.11
(From OE-Core rev: effed56330a54f2f20704184484193cd1125f377)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:36 +00:00
Shane Wang
8cc94caa61 quota: upgrade to 4.00
The license change in rquota_server.c is the following two lines have been removed:
11a12,13
>  * Version: $Id: rquota_server.c,v 1.22 2010/01/05 16:04:57 jkar8572 Exp $
>  *

(From OE-Core rev: 377a577d81d190f159306493ac89a98edb26946f)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:35 +00:00
Shane Wang
c67877cff0 matchbox-wm-2: ugrade to 01fa5465743c9ee43d040350f4405d35293e4869
(From OE-Core rev: 4dc250cce1592f73d5a23bae4ed32ed47cbefee6)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:35 +00:00
Shane Wang
c59b9d7e07 linux-firmware: upgrade to 15888a2eab052ac3d3f49334e4f6f05f347a516e
(From OE-Core rev: afa62887862272fe1e901e129ca40fd047cea1f5)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:35 +00:00
Shane Wang
76d37ba071 libomxil: upgrade to 0.9.3
This patch is to upgrade libomxil from 0.3.3 to 0.9.3.
The following is the licence change:

2c2
<   @file src/omxcore.h

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:35 +00:00
Shane Wang
5e669dd07c oprofileui: upgrade to 82ecf8c6b53b84f80682a8312f9defa83a95f2a3
This patch removed two patches because those are there in the upstream.

(From OE-Core rev: 787ed39a2b1a598482dfc3354c4698e3a586a096)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:35 +00:00
Shane Wang
7463ae48fa distro_tracking_fields: update the info for recipe upgrade.
(From OE-Core rev: bcd30a617d138068f419a4695c21eed1d8a92037)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:34 +00:00
Koen Kooi
91d9b9c593 procps: raise update-alternatives priority
This fixes a problem with the uptime utility:

root@beagleboneA3-0088:/var/lib/cloud9# busybox uptime
 16:00:17 up 2 days,  6:46,  load average: 0.14, 0.04, 0.05
root@beagleboneA3-0088:/var/lib/cloud9# uptime.procps
 16:00:22 up 2 days,  6:46,  1 user,  load average: 0.14, 0.05, 0.06
root@beagleboneA3-0088:/var/lib/cloud9# uptime.coreutils
 16:00pm  up 4382 days 15:58,  1 user,  load average: 0.13, 0.05, 0.05
root@beagleboneA3-0088:/var/lib/cloud9# ls /usr/bin/uptime -la
lrwxrwxrwx 1 root root 16 Dec 26 08:56 /usr/bin/uptime -> uptime.coreutils

(From OE-Core rev: f1b2d49d0cc6f1b75f0870941d8c7ce742378d4d)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:34 +00:00
Nitin A Kamble
ecad149634 systemtap: fix configure with automake 1.11.2
automake version 1.11.2 has made use of dir variables more strict.
The pkglibexec var can not have SCRIPTS suffix. Using pkgdata
instead.

Fixes this error:
| Makefile.am:25: `pkglibexecdir' is not a legitimate directory for
`SCRIPTS'
| autoreconf: automake failed with exit status: 1
| ERROR: autoreconf execution failed.
NOTE: package
systemtap-1.6+git1+820f2d22fc47fad6e09ba886efb9b91e1247cb39-r0: task
do_configure: Failed

(From OE-Core rev: c0db889441f16232c59c85a8a858bb833bb34b52)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:34 +00:00
Nitin A Kamble
1926297f67 avahi-ui: fix build with automake-1.11.2
With automake 1.11.2 /usr/lib/<pkgname> files are moved to
/usr/share/<pkgname>
Fix the rmdir in do_install which expect /usr/lib/avahi to exist.

(From OE-Core rev: d902580c21b8b80f3fb9d88faf46eae4d7b9c276)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:34 +00:00
Nitin A Kamble
f99917dd72 gcc: mark upstream status for all patches
Some patches were missing Upstream-Status informantion,
this commit adds that in those patches.

(From OE-Core rev: 01c3669856538eb34d329780e03df2dc7fb985f2)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:33 +00:00
Nitin A Kamble
ca1311b4b1 perl: mark upstream status for all patches
All the patches imported from debian source packages are marked
accordingly.

(From OE-Core rev: 071d2142a134d1c5d39b6fedbf0e68651245581d)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:33 +00:00
Nitin A Kamble
8939bdd1e4 misc patches: fix patch headers
These patches were marked by "UpstreamStatus:" line, fix it to use
"Upstream-Status:" instead.

(From OE-Core rev: b33b373c9a33fe0ff51104c96d1e5b105efc63ed)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:33 +00:00
Nitin A Kamble
5b5914f143 avahi: fix configure with automake 1.11.2
automake version 1.11.2 has made use of dir variables more strict.
use of pkglibdir with DATA var results in automake errors.
  This commits uses pkgdatadir var instead of pkglibdir to avoid
the strict check errors.

Fixes this error:
service-type-database/Makefile.am:21: `pkglibdir' is not a legitimate
directory for `DATA'
autoreconf: automake failed with exit status: 1
ERROR: autoreconf execution failed.

(From OE-Core rev: ea7e61c14f7fcf917ea1cf4811e5cceb5003a030)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:33 +00:00
Nitin A Kamble
5365bd6c0f jpeg: fix configure with automake 1.11.2
The support for automatic de-ANSI-fication has been deprecated in
automake 1.11.2, and will be removed altogether in automake 1.12

This avoids this error:
| configure.ac:24: automatic de-ANSI-fication support is deprecated
| autoreconf: automake failed with exit status: 1
| ERROR: autoreconf execution failed.
NOTE: package jpeg-native-8c-r2: task do_configure: Failed

(From OE-Core rev: 893ce9db79a5c4cca8a6b6ed6a9cec81777aba2f)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:32 +00:00
Nitin A Kamble
b33475730b autotools.bbclass: fix cp error for empty dir
the .../usr/share/aclocal is empty for build from scratch. so avoid cp
error if the directory is empty.

Fixes this error, which is thrown before pseudo is built:

| cp: cannot stat
`/builddisk/build/build0/tmp/sysroots/x86_64-linux/usr/share/aclocal/*':
No such file or directory
NOTE: package libtool-native-2.4.2-r0.0: task do_configure: Failed

(From OE-Core rev: f4ffe39450c3da33b24766a5f83ad06cc8ff950c)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:32 +00:00
Nitin A Kamble
07d83910c2 rpm: fix build with automake-1.11.2
automake version 1.11.2 has made use of dir variables more strict.
the use of pkglibdir with SCRIPTS & DATA vars results in automake
errors.
  This commits uses pkgdatadir & pkgbindir vars instead of pkglibdir
to avoid the strict check errors.
  This change also works with automake-1.11.1

(From OE-Core rev: ca76443522a6bb38d239b9aa0c7932cd44446ff8)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:32 +00:00
Nitin A Kamble
35c2d56218 byacc: upgrade from 20110908 to 20111219
(From OE-Core rev: 2f4e68708d3d9603f292bd14dcacf93aa8bada4f)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:32 +00:00
Saul Wold
701f4daa09 distro_tracking: Updated for Upgrades and Manual Check Dates
(From OE-Core rev: 124a01b0f7216e26c7690f36446ebb4c2ffad0b0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:31 +00:00
Saul Wold
af162280e4 boost: Update to 1.48 and Clean ups
There were 2 "BJAM_OPTS =" in the .bb and .inc, the .inc was being
overwritten and the ICU dependency was not removed correctly.

Do some clean-up including moving install_append into do_install
directly.

Finally the BJAM_EXTRAS += "threading=multi" was not setting set
correctly, set it on the BUILD spec line

(From OE-Core rev: c521aa1ad6aaae373ee4495e28e971a90adc5563)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:31 +00:00
Saul Wold
ece80fe035 Add Upstream-Status to patches
(From OE-Core rev: 169e55d802883df763dbff4a4737e05e96358fa3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:31 +00:00
Saul Wold
70c18f205d rxvt-unicode: Update to 9.14
COPYING file has been reformatted whites space changes

(From OE-Core rev: 9aca7e651ce829e8a730dd187f54a5bba4253d06)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:31 +00:00
Saul Wold
0203b2b3af util-linux: Update to 2.20.1
Add patch remove setting CC, LD and LDFLAGS on commandline
since they are passed correctly via configure. Those setting
also caused the configure information about -std=gnu99 from
being passed correctly.

Removed patch that was fixed upstream
Added scanf configuration, since this is a cross-compile target check

libuuid removed an API that e2fsprogs uuidd used (uuid__generate_*),
thus we disable it in this patch and will now provide uuidd from
util-linux.

See http://sourceforge.net/projects/e2fsprogs/forums/forum/7053/topic/4639484

(From OE-Core rev: fdaf4e791fcacb48ea430ec768ad9a6919c65ce0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:30 +00:00
Saul Wold
60a8f94c00 python: add md5module support
The internal md5 module is needed for using "waf" to install
other python packages such as pycairo.

(From OE-Core rev: 61620bd56d0696a03ffc94fbbfa2d0e25be950a5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:30 +00:00
Saul Wold
aff9305b36 dropbear: fix CRYPTLIB patch
(From OE-Core rev: 6ec513e7e6e6959a5eb19f0b06b9e7207fb15ada)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:30 +00:00
Saul Wold
abd108a45f libiconv: Update to 1.14
(From OE-Core rev: 624d90a2d8f8f96ef2d88910f3d49530fd4c9e17)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:30 +00:00
Saul Wold
8f6c10ee99 resolvconf: Update to 1.63
(From OE-Core rev: a32e4a3748ac352210cfea50bd7a8fc80da597d7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:29 +00:00
Andrei Gherzan
199a9094c9 wpa-supplicant - pulls GPLv3 license rpm in a non-GPLv3 build (libgnutls-extra)
Two different defconfigs are chosen, one for "with GPLv3 build" and one for "without".
In this way, libgnutls-extra is not pulled in a non-GPLv3 build.

[YOCTO #1845]

(From OE-Core rev: 8b79aa89470204383b81127cdb3e0670718c30fb)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:29 +00:00
Zhai Edwin
2d8a747801 gnome-keyring: fix gsettings_data_convert seg fault
gsttings_data_convert cause seg fault as gnome-keyring's schema is not
installed properly. As a fix, running glib-compile-schemas from glib-utils to
made "gschemas.compiled".

[YOCTO #1779] got fixed.

(From OE-Core rev: 0343ccd64ae03245ae8ab36e7f2da95d4ee28c18)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:29 +00:00
Christopher Larson
a770fe0d07 glib-2.0: we need zlib
(From OE-Core rev: f33761284ddf8880bc6e69a78c62d06a286d487a)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:29 +00:00
Darren Hart
db36190b7b image_types: Ensure /init exists for cpio rootfs archives
In order for the kernel to accept an initramfs as a rootfs,
it must have /init - even if it is an empty file. Touch /init
to ensure it exists for cpio and cpio.gz image types.

When used with initrd and rootfs=/dev/ram0, this allows the
cpio and cpio.gz images to be used as the rootfs.

(From OE-Core rev: 849b9aadae41d9b6777787213556bc538858b49a)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:29 +00:00
Darren Hart
b2266ed267 task-core-boot: Allow DISTRO to disable keymaps via VIRTUAL-RUNTIME_keymaps
keymaps pulls in gettext, which can't build without wide character support.

Rather than have to add a -tiny variant of every MACHINE to drop "keyboard" from
the MACHINE_FEATURES, just enable the DISTRO to define what gets added to
RDEPENDS_task-core-boot when MACHINE_FEATURES includes keyboard via the
VIRTUAL-RUNTIME_keymaps variable. By default, keep "keymaps".

(From OE-Core rev: 1db9313121cbc2db00843a4afcf5c26b5cb966ac)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:28 +00:00
Darren Hart
95ba9b7d30 linux-yocto-tiny: New kernel recipe for tiny distros
linux-yocto-tiny drops the linux-tools and sets the KMACHINE
branch to standard/tiny.

(From OE-Core rev: 8a76f80cabb8df5959707ee708f2c00b28a784e7)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:28 +00:00
Otavio Salvador
b5d6121bbb udev: skip mounting /dev on tmpfs if it is on devtmpfs
(From OE-Core rev: 08b2bb292ec9da38e399fe4fe00da5cc0ee0ea4c)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:28 +00:00
Otavio Salvador
d97d07c5ef udev: use tabs for init script (no code changes)
(From OE-Core rev: d6b7ff13a64c6ff2aa8d1ee089733c9aada539a9)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:28 +00:00
Otavio Salvador
e412dbf6cd udev: reorganize files of 164 version
We merged both files and udev-164 directory onto a single directory
and renamed udev-new.inc onto udev.inc as we have a single version of
udev now.

(From OE-Core rev: abde2a045a39a70a6247a7ae591a131120ab8ed3)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:27 +00:00
Otavio Salvador
005b67f282 udev-extraconf: move mount.blacklist to udev-extraconf dir
(From OE-Core rev: bb7644b1e59fcffd0944b4f408dd90cfae7aa7a0)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:27 +00:00
Otavio Salvador
f4e60ec827 udev: drop 145 version
The 164 version has been the default version for some time and as we
don't have any clear reasoning to keep 145 around, we're removing it
now.

Some files were also removed as 164 recipe provides specific versions
of it and thus those were going to be unused.

(From OE-Core rev: 7376f027c39716561b513a70f6e7f86fb14df178)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:27 +00:00
Shane Wang
a99a63959b distro_tracking_fields: update the info for recipe upgrade.
(From OE-Core rev: 5b1b289bf7503f476990840bc790e32afb6bccdb)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:27 +00:00
Mei Lei
86e3dff276 rpm: Fix rpm database files capacity issue.
Tune the __db* size in DB_CONFIG.
This will reduce the __db* size from 62MB to 26MB in qemu.

[YOCTO #1769]

(From OE-Core rev: 32d308bb38612cef2a98a4c40f058b4db50787aa)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:26 +00:00
Paul Eggleton
38c2f66ea7 classes/image: implement generic locale package installation
Let each package-specific rootfs implementation provide basic functions
to query the existence of a package and install a list of packages and
then have a generic install function so this logic is in one place.

Note: unlike previous versions of this code in OE-Core this uses the
IMAGE_LINGUAS variable and not IMAGE_LOCALES - note that IMAGE_LINGUAS
was what was used in OE-Classic and it is already used in OE-Core in
order to install locale-base-*. This will mean that if IMAGE_LINGUAS is
left at the default you will now get more packages installed. If you
don't want these language support packages then you should set
IMAGE_LINGUAS explicitly.

This restores locale installation to the same state as OE-Classic, only
we now support all the packaging backends.

(From OE-Core rev: c0fc36f8629a6abb9a7b542df8a2857526547a31)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:26 +00:00
Frans Meulenbroeks
8a77467fe8 u-boot: improved DESCRIPTION, fixed HOMEPAGE
HOMEPAGE pointed to an sf.net page that said that the
page did not exist any more and after that it redirected
to the denx.de page; updated HOMEPAGE to point to that page
Also improved the description to use the official capitalisation

(From OE-Core rev: e0ebe12541a6628b7629a9be5918d0e7ea92aa33)

Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:26 +00:00
Christopher Larson
5b337aecde patch.bbclass: abstract out logic that determines patches to apply
This is needed by the copyleft_compliance class, so it can emit series files
for the patches, which greatly increases their usefulness to a user trying to
reconstruct the sources outside of OE.

(From OE-Core rev: 290c7239c21e477bb78b88d92a5b8a7de9142310)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:25 +00:00
Scott Garman
bd36ddf66d libevent: upgrade to 2.0.16
Updated HOMEPAGE and SRC_URI to reflect project's new home.

From the whatsnew-2.0.txt document:

COMPATIBILITY:

  Nearly all existing code that worked with Libevent 1.4 should still
  work correctly with Libevent 2.0.

So this upgrade is expected to be safe.

(From OE-Core rev: 03d572f3e1ec25502429b46e2b441a73ccd20061)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:25 +00:00
Scott Garman
e0ce1d7a94 chrpath: upgrade to 0.14
SRC_URI changed because Debian has not started packaging v0.14 yet.
So now we're using the true upstream for sources.

Confirmed license file is still GPLv2, checksum changed due to
updated FSF postal address in COPYING.

Added HOMEPAGE and BUGTRACKER fields.

(From OE-Core rev: 8c370eaf4e3dbe2e33c499991d367606b68c7ee9)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:25 +00:00
Shane Wang
08beac8ba5 distro_tracking_fields: update the info for recipe upgrade.
(From OE-Core rev: 8d3d8d743b74e55a2cc29b6b0f2d5b670e8a0a01)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:25 +00:00
Shane Wang
af8002b82b libsamplerate0: upgrade to 0.1.8
This patch is to upgrade libsamplerate0 to 0.1.8 and remove the patch for 0.1.7.
In the new code, the fix is there in M4/endian.m4 (which is part of acinclude.m4 in 0.1.7)
The license is changed from "Copyright (C) 2002-2008 Erik de Castro Lopo <erikd@mega-nerd.com>" to "Copyright (C) 2002-2011 Erik de Castro Lopo <erikd@mega-nerd.com>".

(From OE-Core rev: 86ead283629303c835316974d5682e0f29bb9655)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:24 +00:00
Shane Wang
d590255cac libical: upgrade to 0.48
(From OE-Core rev: 781ddecedf39b9e90d60e39c148aac7d185c14a0)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:24 +00:00
Shane Wang
1fe4b74b41 glib-2.0: upgrade to 2.30.2
(From OE-Core rev: 0f325c0933f2bea40cf4aeb594b5a3745b262adc)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:24 +00:00
Shane Wang
fd361439ef minicom: upgrade to 2.5
(From OE-Core rev: 0585b1c042403e42474e05c634074b63efbcc772)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:24 +00:00
Shane Wang
31cb9dbf55 freetype: upgrade to 2.4.8
(From OE-Core rev: 172a9562aa1df224cf8e60f7d73c4840db96edb5)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:23 +00:00
Shane Wang
2d45549a3b distro_tracking_fields: update the info for recipe upgrading
(From OE-Core rev: 9a2c4d9c4efef92818f4e4be8c020805ff1bbdc7)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:23 +00:00
Shane Wang
1d5f9896d1 libpcap: upgrade to 1.2.0
This patch is to upgrade libpcap to 1.2.0.
The values of the macro definitions are duplicated with the new code, so change them into other values.

(From OE-Core rev: 2a76f0731f5e2ad4b941197bdf59c66d52ec9131)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:23 +00:00
Shane Wang
940c1ad058 ofono: upgrade to 1.0
This patch is to upgrade ofono to 1.0.
The license is changed from "Copyright (C) 2008-2010 Intel Corporation. All rights reserved." into "Copyright (C) 2008-2011 Intel Corporation. All rights reserved."

(From OE-Core rev: 0695487407d25a8d9d25894b20ca1b19a7f55643)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:22 +00:00
Shane Wang
d4182a2949 telepathy-glib: upgrade to 0.17.4
(From OE-Core rev: 0b206b4458aa04562d52e8cd089e06fc65e999b3)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:22 +00:00
Shane Wang
2ae7ca4efb valgrind: upgrade to 3.7.0
This patch is to upgrade valgrind to 3.7.0.
The licenses are changed from "Copyright (C) 2000-2010 Julian Seward. All rights reserved." to "Copyright (C) 2000-2011 Julian Seward. All rights reserved."

(From OE-Core rev: 7f58d1e670470e76077102629efabe91e5c2b9bf)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:22 +00:00
Shane Wang
121972e9bf mtd-utils: upgrade to 1.4.9
(From OE-Core rev: 33e0cdbfe8ef9e8901badbd8bce1fcdab5f8b841)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:22 +00:00
Shane Wang
9fd65874fe gst-ffmpeg: upgrade to 0.10.13
This patch is to upgrade gst-ffmpeg to 0.10.13.
Some license files are changed because the folder "ffmpeg" disappears, and those license files under "libav" are the same. LICENSE is different because the word "ffmpeg" is changed into "libav" under the libav folder.

Again, gst-ffmpeg tar ball contains library libav itself. So the configure needs to disable yasm for x86.

(From OE-Core rev: 5c86f5506a060e2005fcdad0b46ca650598a94af)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:21 +00:00
Shane Wang
c57aec1647 gst-fluendo-mpegdemux: upgrade to 0.10.69
(From OE-Core rev: c532a8cf75e8a078c7e0bdf365f90deeb795d6ab)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:21 +00:00
Shane Wang
47cd257599 gst-fluendo-mp3: upgrade to 0.10.16
(From OE-Core rev: 9f0211958e9789ffbb1b1fe6f801626f62f448ff)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:21 +00:00
Shane Wang
632cfd0173 gst-plugins-bad: upgrade to 0.10.22
This patch is to upgrade gst-plugins-bad to 0.10.22.
One of the license files is removed because the file doesn't exist any more.

(From OE-Core rev: 7cfab069b0d5f87057c7a25f6d936471eecc6c19)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:21 +00:00
Shane Wang
81a427d508 gst-plugins-ugly: upgrade to 0.10.18
(From OE-Core rev: 3cc45809292a1123f7cc67f96e180f146b3ed1c7)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:20 +00:00
Shane Wang
ce7059238b polkit: upgrade to 0.103
This is the patch to upgrade polkit to 0.103.
The license is changed because the HTML content is generated by GTK-Doc V1.18 (XML node) rather than GTK-Doc V1.17 (XML node), which causes the change of the tag.

(From OE-Core rev: 114c0b6c423863b4ec27b5acbad3930ef1774306)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:20 +00:00
Shane Wang
6e3028cdec distro_tracking_fields: take the ownership of Mei Lei's
(From OE-Core rev: 3570d0b47e7a7ea05964c21da05faf1f09b66e81)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:20 +00:00
Shane Wang
cee63499e4 distro_tracking_fields: update the info for the manual check list (2011/12/24)
update the information for the manual check list after checking the upstream on Dec 24, 2011.

(From OE-Core rev: d8c6e881f4feefdf6e173de63d82afbb77830ed4)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:20 +00:00
Christopher Larson
00cfb14825 buildhistory: avoid quoting issues with the layer list for build-id
--4ef4ab1d_66334873_12d0c
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

The layer list is multiline, and includes quotes, so including it within
quotes is problematic, particularly if the revision includes characters which
are not valid outside of a quoted string in shell. To reproduce this failure:
do a build with an scm layer not on a branch.

(From OE-Core rev: f74c500a0d3979dea7393524e71ca7ec03bb5fde)

Signed-off-by: Christopher Larson <chris_larson@mentor.com (mailto:chris_larson@mentor.com)>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:20 +00:00
Mark Hatle
7e66c3c4c2 base.bbclass: Allow buildstats to be optionally supplied
Buildstats should be allowed to be optionally enabled.  It's
recommended that it be enabled via the USER_CLASSES setting.

Alternatively it could be enabled via the INHERIT_DISTRO or
similar mechanism.

(From OE-Core rev: 09b1dc8bd886c8cd2a5d4085d8bb4b73ece1f5b0)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:13:49 +00:00
Zhai Edwin
68ea0d51e2 self-hosted-image: Add builder user and mini X
(From OE-Core rev: 0ae387e529cd875c9070f7316ae05c6943533008)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:39 +00:00
Zhai Edwin
4203c7bd25 Add "builder" user for specific purpose.
"builder" can start some auto stuff by mini X session.

(From OE-Core rev: fdb12302674101feb85f4e83936652474ffd231d)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:38 +00:00
Zhai Edwin
192fbe7e6f Add mini X core tasks
(From OE-Core rev: fb0cd3470e562f121803b722b16fd10620b79ff5)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:38 +00:00
Zhai Edwin
4d13ca960a mini-x-session: Add this recipe as the session file for mini X
mini-x-session runs session files on behalf of file owner, so that no rootless X
required.

(From OE-Core rev: 43c2d366622ea52cba8a5b727d723c8ec30bd44b)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:38 +00:00
Bruce Ashfield
dc27861b1d linux-yocto: use PATH to locate kconf_check
The changes made to prefer in-tree kernel tools forced the location
of kconf_check prematurely. For maximum flexibility, locating it
on the PATH is ideal, since the transition to in-tree tools will be
completely transparent.

(From OE-Core rev: 68684b4903261cc5d3f48355f7cc6671484bb546)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:38 +00:00
Bruce Ashfield
6ede5cf045 kern-tools: update SRCREV to pickup git operation fixes
Updating the kern-tools SRCREV to pickup the following commit:

[
    kgit-meta: add error checking and autoconfiguration to git commands

    When git commands are embedded into feature descriptions, they can
    fail for a variety of reasons. The current meta series processing does
    not trap errors, and will continue to process potentially failing
    commands. All git commands are now checked for their return code, and
    in case of error, the error code is passed up via early exit.

    A second common git issue is on a new machine that has not been
    configured with a username/email for commits. This is now detected
    by checking for a global user.name. If one is not found, a local
    user name of "Auto Configured" and email of "auto.configured" is
    created to allow git operations to succeed.
]

Fixes [YOCTO #1838]

(From OE-Core rev: 015cb39ccf490de07bfd007fafc6d75c6c152add)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:37 +00:00
Bruce Ashfield
01a169bfb8 linux-yocto: update hardware reference boards to 3.0.12
Updating the meta SRCREV to pickup 3.0.12 support for the remaining
non-x86 boards (routerstation and pandaboard).

(From OE-Core rev: 0d91d4dc6618b453ebcd0c357fd15ce4e28f1341)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:37 +00:00
Bruce Ashfield
2af383ca32 linux-yocto: add cedartrail BSP support
Updating the meta branch to contain the board config and description
for the cedartrail.

(From OE-Core rev: ce52a61b0279669b0e312ab2f4a72329ad711a36)

Signed-off-by: Rahul Saxena <rahul.saxena@.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:37 +00:00
Paul Eggleton
77d845c50b classes/rootfs_rpm: handle recommends in query functions
Implement list_package_recommends() for rpm, and filter out the
"suggests" (RPM's equivalent of recommends) in list_package_depends().

Respectively, these changes fix buildhistory handling of recommends for
RPM (so that they are included in the image graphs) and also prevents
failures during do_rootfs with buildhistory enabled if a recommend is
unsatisfied.

(From OE-Core rev: b6787f5d6e181d8c39cce7b050e261d1a1d1b075)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:36 +00:00
Koen Kooi
663c893b08 webkit-gtk svn: update to r101488
tested on beagleboard/angstrom with midori and epiphany browsers

(From OE-Core rev: c8c9a17ae2603ccb34641d4188850a18e6ce6096)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:36 +00:00
Scott Garman
551ffe9ed7 prelink: update to latest git version
New version includes:

2011-12-08 Mark Hatle <mark.hatle@windriver.com>
    * rtld/rtld.c: Fix an issue where missing objects would trigger
      an assert in dl-version.c
    * rtld/rtld.h: Add _dl_new_object prototype
    * rtld/rtld.c: Add support for $ORIGIN, $PLATFORM and $LIB.
      Note: $PLATFORM = ""

These fixes are needed to prevent prelink-rtld from crashing when
running the new unsafe-references-in-binaries QA test.

(From OE-Core rev: 1a80d91b163869c9cb1d12d502aa8bc25e8782fa)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:36 +00:00
Saul Wold
f5aa3bbda6 coreutils: ensure --color works so DEPEND on libcap
[YOCTO #1860]

(From OE-Core rev: 8f348ccad083d6c02c200652ff6295e701e88f0d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:47 +00:00
Richard Purdie
188606bbf7 which: Disable iberty since its not listed in DEPENDS
(From OE-Core rev: 4d6420d0aa1d6e8aecc8ec0526144f9c4396a822)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:46 +00:00
Andrea Adami
f9b683cb14 kernel.bbclass: fix pkg_postinst and pkg_postrm
* Symptom: kernel symlink in /boot is not created.
* Rename in order to create the expected files:
* /var/lib/opkg/info/kernel-3.1.4.postinst
* /var/lib/opkg/info/kernel-3.1.4.postrm

(From OE-Core rev: e9cc42bd7c866380d956233bdf8e719b25fdf0a7)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:46 +00:00
Mark Hatle
9a3a4cf849 which: Add missing SRC checksums
(From OE-Core rev: 0e6cd25a0003f23e582cb817b7d772e2b602cdb7)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:46 +00:00
Mark Hatle
5645aeb697 gperf: Add missing SRC checksum
(From OE-Core rev: 10c08ea3d0aa52ffa951b17a11c4073c7331ee86)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:45 +00:00
Mark Hatle
f9557f3bf7 udev: Remove linux-libc-headers dependency
The linux-libc-headers dependency is not needed, as it is
automatically inherited from the libc and other dependencies.

(From OE-Core rev: 1e4ae48779ae80986ada338e6cb0d382d479e30e)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:45 +00:00
Mark Hatle
4cbbf2737d rpm_5.4.0: Fix configuration issue with native/nativesdk
RPM's configuration assumes if the prefix isn't /usr or /usr/local
that you really want the DB in $prefix/var -- we want it in
$localstatedir.

(From OE-Core rev: 528a2ec8ab53d652d74c51334a40905f009dfd91)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:45 +00:00
Mark Hatle
71ed507f88 package_rpm.bbclass: Add RPMSPEC_PREAMBLE
Add a way to add arbitrary text to the top of a spec file.  This
can be useful for adding specific tags to the produced binaries for
tracking purposes.

(From OE-Core rev: c01a92408d267bcc5365bf8495035f6021a49ced)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:45 +00:00
Mark Hatle
77edb006bb package.bbclass: Adjust RPM call to use dynamic location for magic files
The magic file could be installed somewhere else if the system native prefix
settings are changed.  Adjust the packaging files to compensate for this.

(From OE-Core rev: 93c0e9915b5c9bf8b0877c76f89de721adfbfd66)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:44 +00:00
Ken Werner
79bb1cc311 Change -mno-thumb to -marm
Recent versions of the GCC reject the -mno-thumb option. In order to prevent
the compiler from generating code for the Thumb instruction set the -marm
switch should be used instead. For details see GNU bug #47930.

(From OE-Core rev: 72dc73f5a647ccd38145fd888c109a144f202963)

Signed-off-by: Ken Werner <ken.werner@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:44 +00:00
Paul Eggleton
1090bc49da qemu: explicitly disable kvm support for native without kvm header
Addendum to previous fix - instead of just not specifying --enable-kvm,
explicitly specify --disable-kvm when building native version and
kvm header is unavailable. Fixes reported do_configure failure on
earlier CentOS 5.x versions (e.g. 5.4).

(From OE-Core rev: a922112e197925db47cf02682c08f3af2bc760b4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:43 +00:00
Richard Purdie
d350b3168b opkg: Fix installation order in feeds with mutiple providers of packages
If two packages were available of differing priority, this would confuse
opkg and it was ignoring the dependency in the new dependency ordering
code. This changes it not to ignore these cases by setting the badly
named 'quiet' parameter accordingly.

(From OE-Core rev: c38693f78c968ab5f4bb557c20d1c8c55393ed6b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 22:38:18 +00:00
Koen Kooi
0db3aad52f connman-gnome: update SRC_URI to new repo
13:33 < koen> holtmann: any plans to repopulate the connman-gnome git repo on kernel.org?
17:25 < holtmann> koen: We moved that to https://github.com/connectivity/connman-gnome
17:26 < holtmann> Just have not gotten around to delete the other one.

(From OE-Core rev: e07704e6d077eeb31b59c93de7743bda32fa3243)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 16:55:53 +00:00
Mei Lei
197fe3d329 distro_tracking_fields: Update curl info and fix other recipes' typo issues
(From OE-Core rev: a0d1309e196a04917f815bf2447d728b019d3902)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:16:29 +00:00
Mei Lei
531843bd31 curl: Upgrade from 7.22.0 to 7.23.1
(From OE-Core rev: cf4b60ef5665809e8b64d5f02082e119966aa3b9)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:16:13 +00:00
Saul Wold
985a5e72ba bash: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: c1a9304eb8e40c6b34b190d82dad1d6d3499713a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:47 +00:00
Saul Wold
b917222da5 zypper: add patch from libxml2
Due to Augaes adding the libxml2 requirement.

(From OE-Core rev: ec7c0fcda076c9ca3ed99d7885cfbac7a91e276b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:47 +00:00
Ilya Yanok
05eabde3e4 arch-powerpc: set PACKAGE_EXTRA_ARCHS
Set PACKAGE_EXTRA_ARCHS for the generic tunes ("powerpc" and
"powerpc-nf") thus allowing to use them instead of tuning to the
specific CPU.

(From OE-Core rev: 5eafbe2d8684ee1c45477bfd69b579af47adccd9)

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:46 +00:00
Nitin A Kamble
e9799410b3 image-types: add btrfs as a supported fstype
(From OE-Core rev: 1e270a1854214dff1bde29753a357b9df9e66ad6)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:46 +00:00
Nitin A Kamble
ad73b121e5 binutils: fix building on distros with matching binutils version
x86_64 opensuse 11.4 has bintuils version 2.21, and when
binutils_2.21 recipe is built for x86_64 target then, the invocation
of distro gcc fails with errors like this:

/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/as:
symbol lookup error: /usr/lib64/gcc/x86_64-suse-linux/4.5/..
make[2]: *** [sysinfo.o] Error 1

The issue rootcaused as incompatible LD_LIBRARY_PATH while running
the distro gcc.

As per Martin Jansa gentoo also sees similar issue with binutils 2.22
recipe.

This commit fixes the issue by clearing the LD_LIBRARY_PATH for
distro gcc (CC_FOR_BUILD)

This Fixes bug: [YOCTO #1833]

(From OE-Core rev: be769d948a9c26d55d98fbf38fc0b109edb40c3f)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:46 +00:00
H.J. Lu
b429ba90e1 gmp: Don't check "$CC $CFLAGS" for x32 in gmp configure
There is no need to check "$CC $CFLAGS" for x32 in gmp configure.  The
way GMP works is that it makes all the ABIs available for the user to
pick from based on the target, but the final ABI is selected based on
the $ABI variable or if compiler passes the ABI test.  The test for
x32 ABI is

any_x32_testlist="sizeof-long-4"

GMP will select x32 ABI only if long is 4byte, which will only be set
to 4 by -mx32 passed in "$CC $CFLAGS".

(From OE-Core rev: 20ffaee6103a972aaaf64a02dcab2bf342e9f4d4)

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:45 +00:00
Dexuan Cui
bb6f2fbe7b wget: fix a host intrusion issue introduced by adding --with-ssl=openssl.
On my x86-64 Ubuntu 11.04, with MACHINE=qemux86, "bitbake wget" fails. The
config.log shows:

configure:30072: i586-poky-linux-gcc  -m32   -march=i586
 --sysroot=/distro/dcui/1212/p1/build/tmp/sysroots/qemux86 -o conftest -O2
 -pipe -g -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu
 -Wl,--as-needed conftest.c -ldl -lz  /usr/lib/libssl.so /usr/lib/libcrypto.so
 -lz >&5
/usr/lib/libssl.so: could not read symbols: File in wrong format

The patch fixes the issue by specifying libssl-prefix.

(From OE-Core rev: 5f9851f609f503aec098778ef59c27e5f5dd9579)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:45 +00:00
Dexuan Cui
7bde933974 socat: add the latest stable version 1.7.2.0
socat is useful for the self-hosted-image work.

The original recipe is from OE:
http://git.openembedded.org/openembedded/tree/recipes/socat/
and I upgraded it to 1.7.2.0.

Thank Koen Kooi <koen@dominion.thruhere.net> for suggesting
how to assign the LICENSE field with a proper value.

(From OE-Core rev: b1771ff0ad39250678bd53b0ae7543c9365572f5)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:45 +00:00
Paul Eggleton
13d2dc2c91 libsync: move to git.yoctoproject.org
* Repositories on svn.o-hand.com have been converted to Git and are now
  hosted on git.yoctoproject.org.
* Set LICENSE to LGPLv2 as there is an LGPLv2 COPYING file but no notice
  with "or later" in the source code

(From OE-Core rev: 9917aca0a559453dee6fd7c544e3cf54333215cb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:44 +00:00
Saul Wold
3c247d491b distro_tracking: Mark Upgrade Info
Updated the following:
 - libdrm
 - texi2html
 - mc
 - libidn
 - augeas
 - python-pycairo

(From OE-Core rev: 2cd2cbc5af1d9ce2dd93c5b4151877d54a93b4d2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:44 +00:00
Saul Wold
cd4beea40c libdrm: Upgrade to 2.4.29
(From OE-Core rev: f4eb12559a199b1be90789dfda8404c608041848)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:44 +00:00
Saul Wold
4890cf6ca0 texi2html: Upgrade to 5.0
Add patch to update GETTEXT_MACRO_VERSION to 0.18

(From OE-Core rev: 9d634d7fa355918d42f5279bc2a62c183027f5fd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:43 +00:00
Saul Wold
15fcdd1d48 mc: Add version 4.8.1 now GPLv3
(From OE-Core rev: 3282c5844ddce4bd7c79f3ff38a2d52cd9327a61)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:43 +00:00
Saul Wold
d120aa594c libidn: Upgrade to 1.23
(From OE-Core rev: 37a5aea77feb1cb7fc49da533d895ac6f686ebaf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:43 +00:00
Saul Wold
56906d0c8e augeas: Upgrade to 0.10.0
(From OE-Core rev: 1a8bf09a07372c3518b692cbaa7c59ff5ec94719)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:42 +00:00
Saul Wold
99e14dc6aa python-pycairo: Upgrade to 1.10.0
tweak the pycairo.pc correctly.

(From OE-Core rev: 7197efde264bee4d8deb37b9fd08cc9cc83d1ac4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:42 +00:00
Saul Wold
1ca8bb24ea distro tracking: update man-pages, gts-plugin-bluetooth, usbutils,
and libcap

(From OE-Core rev: 83c2a7660c0ae9c5e37ecdda73be5a5c32535ec9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-22 13:13:42 +00:00
Richard Purdie
dee0fc1462 multilib.conf: Enable shadow-sysroot and libffi
Enable these two core dependencies for multilib builds, fixing
multilib build failures that were occurring. I've checked and the
recipes are multilib capable.

[YOCTO #1835]

(From OE-Core rev: db446421933d640528328e46a29f828a36d6649b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:24:44 +00:00
Joshua Lock
212bd37609 gypsy: fix LICENSE field
Gypsy binaries are Gplv2.0 and the libraries LGPLv2.1

(From OE-Core rev: 6ca1a7f7fc95d964832d80e69c2cc62fbe06a69e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:31 +00:00
Joshua Lock
7b023bac25 udev: tidy the LICENSE fields
(From OE-Core rev: 30a07409ce5bf9576a195b908fa3b43c80873635)

Signed-off-by: Joshua Lock <josh@linux.intel.com>

fix udev
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:30 +00:00
Joshua Lock
a23e9ee6e8 apt: clarify LICENSE as GPLv2.0
(From OE-Core rev: 9b8c8ac43fbf9dc73f55306ec103208328a1766c)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:30 +00:00
Paul Eggleton
bbe17101bb eds-dbus: replace o-hand example contact
Replace the OpenedHand example contact with something a bit more
up-to-date. Also add SRC_URI checksums to 2.20.0 recipe.

(From OE-Core rev: 5a65e13e99cc8d5e20e32f49338712daa2de3da2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:30 +00:00
Paul Eggleton
633d7a7f89 mtools: fix SRC_URI for GPLv2 version
* folks.o-hand.com no longer exists, use the yoctoproject.org mirror
  instead (folks.o-hand.com was only being used because the upstream
  site removed this version in any case.)
* Update HOMEPAGE
* Fix spacing

(From OE-Core rev: 915462bee73a22dc416b478fd7981c58dca9cf02)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:30 +00:00
Paul Eggleton
4260f0389a libxsettings-client: fix SRC_URI
projects.o-hand.com downloads have moved to downloads.yoctoproject.org

(From OE-Core rev: 7799fb896e6a8eed27496a49b676056bb63c5ca3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:30 +00:00
Paul Eggleton
db1746bbd5 libmatchbox: fix SRC_URI
projects.o-hand.com downloads have moved to downloads.yoctoproject.org

(From OE-Core rev: de8d8c97885de7ae25206ede6a4d8a016e0a6938)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:30 +00:00
Paul Eggleton
2f4311370b matchbox-themes-extra: fix SRC_URI
* projects.o-hand.com downloads have moved to downloads.yoctoproject.org
* Add missing SRC_URI checksums

(From OE-Core rev: 3b4912014fdc4c62ecef74ac870196e33f044c68)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:30 +00:00
Paul Eggleton
813cc8e165 matchbox-desktop: fix SRC_URI
* projects.o-hand.com downloads have moved to downloads.yoctoproject.org
* Add missing SRC_URI checksums

(From OE-Core rev: 9564f9e9000d5d652b5520fcb11f2d4687256771)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:29 +00:00
Paul Eggleton
4536aef46b xrestop: fix SRC_URI and LICENSE
* projects.o-hand.com downloads have moved to downloads.yoctoproject.org
* LICENSE syntax was invalid (should use & instead of + to signify mixed
  license). I have set it to GPLv2+ since there is only one source file
  and that's the license it states. (Note - even if it was a mix of
  GPLv2+ and GPLv2 code the result would be GPLv2 only.)

(From OE-Core rev: 9734aaecf6bc347fac59b307df63597e501b4d72)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:29 +00:00
Beth Flanagan
bd66d229c9 less: Correcting generic license
I've asked and received permission from Mark Nudelman, the author
of less, to utilize a generic BSD 2 clause license for less, instead
of creating a common "less" license file.

(From OE-Core rev: 37c8c2c5f6937520eaf9f5d981f9315e36eba4bb)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:29 +00:00
Jiajun Xu
7a708b1775 task-core-tools: add ltp to testapps list
(From OE-Core rev: 0a6b9dda8647dbd9e10402882294ea5702dd7b8d)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:29 +00:00
Jiajun Xu
1a260d0d3a distro_tracking_fields: add information for ltp
Add information for recipe ltp, which is ported from OE.

(From OE-Core rev: 9b76ad20d97953b87abc52e267f4847932526b33)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:29 +00:00
Jiajun Xu
2d1a411dc4 ltp: Add recipe from OE
Port ltp recipe from OE and upgraged to latest version(20110915).
Install ltp into ${D}/opt/ltp and POSIX test suite is also copied
into ${D}/opt/ltp/testcases.

TODO: Some cases are removed since they depend on command 'expect'.
It is not in Poky or OE and we will add it for enhancement next.

(From OE-Core rev: 73faa95042bbecfe7b3ba3b43364d9471f9c3a6e)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:29 +00:00
Beth Flanagan
2ee3156284 license: Fix manifest conditional
The manifest conditionals COPY_LIC_MANIFEST and COPY_LIC_DIRS
were returning true due to missing quotes in the bash test. This
made images larger than expected.

(From OE-Core rev: dc751b9c637db0d442ef553f0b0568cb493f3cd3)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:29 +00:00
Darren Hart
e559160b88 ncurses: Allow override of ENABLE_WIDEC
Set ENABLE_WIDEC with ?= instead of = to allow for the external override
by distro definitions.

(From OE-Core rev: 516480b1518093b17c2211be0966b7b31aeb2721)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:28 +00:00
Joshua Lock
b608f9eb64 matchbox-session-sato: clarify LICENSE in GPLv2.0
(From OE-Core rev: d06a8b345e129f20d2997531c63c422c0a6a2fb7)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:28 +00:00
Joshua Lock
908986e013 matchbox-desktop: clarify LICENSE is GPLv2.0+
(From OE-Core rev: fe4ac4c2ae87ad8e11814870cf3ab707eeb46ae6)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:28 +00:00
Joshua Lock
3980c48b7f pango: clarify LICENSE is LGPLv2.0+
(From OE-Core rev: c801891878afcb75091315f4455db35009eaa246)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:28 +00:00
Joshua Lock
c6ecaf5eb7 matchbox-wm: clarify LICENSE as GPLv2.0
(From OE-Core rev: 29ba6386f26991ae0f8ee02242ea5db8257f5971)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:28 +00:00
Joshua Lock
58cfa4f224 cogl: clarify LICENSE as LGPLv2.1 and fix metadata
Fix the HOMEPAGE and DESCRIPTION which were using the same values as Clutter.

(From OE-Core rev: 67c91c83774d485b54357b81eb105ab291d4e383)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:28 +00:00
Joshua Lock
5b2452c612 clutter: clarify LICENSE as LGPLv2.1
(From OE-Core rev: f38f199f33a10fcc1bebd83b862c0936ca33535e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:27 +00:00
Joshua Lock
bdf7a0f75a dpkg: clarify LICENSE as GPLv2.0
(From OE-Core rev: 50fd9125f24eb4f1464771fd15134d5321f91b9b)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:16:27 +00:00
Joshua Lock
4648aadfe1 ui/crumbs/hobprefs: trigger a reparse after changing IMAGE_FSTYPES
As reported on the mailing list[1] when changing IMAGE_FSTYPES through the
hob preferences a reparse is required before the changes will be picked up
by the system. This patch sets the reload_required property of the class to
true when the image types have been modified to ensure the reparse is
triggered.

1. https://lists.yoctoproject.org/pipermail/yocto/2011-December/006002.html

(Bitbake rev: 6c0babf08909307ab69a66ed06e77e8818b2a8c5)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-20 13:15:54 +00:00
Joshua Lock
25e449a710 ui/crumbs/runningbuild: handle InvalidTask events
The knotty UI just ignores these and so should RunningBuild, if these events
aren't handled the UI appears to hang.

Fixes [YOCTO #1665]

(Bitbake rev: 540ba78075bd525776aa23bf38bee66350c66534)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-20 13:15:54 +00:00
Khem Raj
94c916d7f0 vim/syntax: Recognize ?? operator
(Bitbake rev: 5337ed86820ab0a2cbb3fd82eb11edb807c47f54)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-20 13:15:54 +00:00
Koen Kooi
32acddafc9 libsdl 1.2.14: fix packaging
For some reason the -config script was shipped in ${PN} leading to shlibs renaming issues:

What we want, and how meta-oe used to do it:
	libsdl-1.2-0_1.2.14-r0.0_armv7a.ipk

Current OE-core status:
	libsdl_1.2.14-r2_armv7a.ipk

With this commit we get both proper shlib renaming and the -dev package now has all the dev files

(From OE-Core rev: ae4118a1f78f113c3d687c3aa6a86007cf977cae)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 12:17:58 +00:00
Khem Raj
45987c5135 eglibc: Fixes for running regression tests
Override cxx-sysincludes along with CC and CXX
since it contains path pointing to tcbootstrap
sysroot which does not have c++ headers and libraries

Drop shorten-build-commands patch since it
did not override the include flags for c++ headers
when tests written in c++ are executed the @includes file
does not get updated to add c++ header paths
This patch only reduced the build output anyway

Add a patch to point eglibc to look into c++
headers the way OE installs them its not standard
install e.g. usr/include/c++/GCC_VER but instead
usr/include/c++. This lets g++ find the headers
in right place when compiling c++ testcases

(From OE-Core rev: dc1fbfb2cd3c0d35f212523189ea7b1621906201)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:18 +00:00
Khem Raj
af9c75c8f5 gcc-4.6: Let G++ relocate gxx-include-dir when using --sysroot option
Currently we have a problem in our cross compiler since we use
/usr/include/c++ to be default gxx-include-dir and then expect
the patch we did to do the relocation w.r.t. sysroot however it
does not quite work so and we end up gxx-include-dirs not respecting
sysroot. A small test case would be

tst-unique4.cc

and it would fails like

tst-unique4.cc:1:18: fatal error: cstdio: No such file or directory
compilation terminated.

weather we use --sysroot or not it does not matter

arm-oe-linux-gnueabi-g++ -S tst-unique4.cc
--sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm

failed in same way.

so we redo the GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch based on upstream
submitted patch which tries to relocate the gxx-include-dir and to
achieve the relocation it has to be specified w.r.t to --with-sysroot
directory. e.g.

--with-sysroot=${SYSROOT}
--with-gxx-include-dir=${SYSROOT}/usr/include/c++

if we configure gcc like above then it becomes relocatable when
we run the compiler and specify --sysroot=<blah> then g++ will search
for gxx-headers under <blah>/usr/include/c++

if sysroot is not defined then it will use the default sysroot
and gxx-include-dir will be w.r.t. default sysroot.

Tested on qemuarm

/arm-oe-linux-gnueabi-g++ -S tst-unique4.cc
--sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm
-v
...
 /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++
 /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++/arm-oe-linux-gnueabi
 /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++/backward
...

and if I now change --sysroot to something else

/arm-oe-linux-gnueabi-g++ -S tst-unique4.cc
--sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4
-v
...

ignoring nonexistent directory
"/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++"
ignoring nonexistent directory
"/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++/arm-oe-linux-gnueabi"
ignoring nonexistent directory
"/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++/backward"
...

See now its looking for them in 'qemuarm4' sysroot

(From OE-Core rev: 28b772e42a20faebe1b4f415d28b42b7e0a424fb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:18 +00:00
Khem Raj
2480cc6a16 gcc-cross: Add cross testing driver for running regression testsuites
This script will be generated into the build directory of gcc-cross
It should be testing gcc and g++. libstdc++ tests are not run since
we build them as part of gcc-runtime but we can test them here by
building them with 'make all' and then running the tests

The script expects passwordless ssh access to target and is used
in form

./arm-oe-linux-gnueabi-testgcc kraj@192.168.7.2

inside the builddir of gcc-cross

(From OE-Core rev: 130b534fdb0b292158981a12d7d5f01c1a14cb2a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:17 +00:00
Khem Raj
6082313b55 eglibc-testing: Clean the test before running them
We make sure that we use final cross gcc to run the tests
since they require proper functioning libstdc++ and libssp
which are not staged in tcbootstrap sysroot

We cleanup the tests before we run them so they all
get run in case any of them were built and/or run during compilation

Make the script executable

Add more documentation to diagnose setup problems

(From OE-Core rev: 9a74c25c37a3cca6e0bab4fe01aa3dd3e8d2d4dc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:17 +00:00
Otavio Salvador
aa373931fa connman: disable 'alg-test' building
'alg-test' requires 'linux/if_alg.h' header enforcing a dependency on
linux-libc-headers 2.6.39 or newer.

(From OE-Core rev: 507bd087375d2c0ac84e0c51196e2fe718aed339)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:17 +00:00
Dmitry Eremin-Solenikov
ba8f367610 icecc.bbclass: also use icecc for kernel modules compilation
(From OE-Core rev: 7da58c6fdaa8feef5ee5637dfb74912e7e4f5394)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:17 +00:00
Dmitry Eremin-Solenikov
7c86057fa4 libatomics-ops: move docs to correct directory
(From OE-Core rev: 8023128a2af8e21ed94af90605a3b326cc801eed)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:17 +00:00
Scott Garman
6ea9711c49 Add missing SUMMARY fields to various recipes
This adds the SUMMARY field to the following recipes which were
missing it:

* dosfstools
* grep
* icu
* libevent
* libnfsidmap
* qemu-helper-nativesdk

(From OE-Core rev: e8c194a627e091ef9da3b7fa83ea3897bd283d9e)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:16 +00:00
Scott Garman
553302b3c0 mktemp: mark patch as upstreamed
Patch sumitted and accepted upstream, updating Upstream-Status.

(From OE-Core rev: f647d2cc1ee6cf84f4b9153bbe8a0c030668b1d0)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:16 +00:00
Richard Purdie
1395111739 opkg: Drop the offlineroot_varname patch
This break things for on target opkg usage since $D must remain
unset there.

(From OE-Core rev: 746ae269a475857ae57095b1fd164fe195b3d051)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:16 +00:00
Richard Purdie
f4c80d646f opkg: Add logic to detect and creak circular dependencies
This addresses some of the concerns about the previous opkg changes
allowing it to break out of circular dependency loops with just a notice
in the logs rather than effectively going OOM.

(From OE-Core rev: 5a2b67b8faad3dd5417ba89d8e82ca564753ccc9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-19 09:29:16 +00:00
Scott Rifenbark
b281fd127b documentation/poky-ref-manual/technical-details.xml: edits per Richard Purdie
Richard reviewed the new sections and had a couple comments.  There
was one technical error and he also wanted YP worked out when it was
being used in the context of the code that was doing the work here.
So I replaced with more generic terms or specifically called out
BitBake as the responsible software.

(From yocto-docs rev: 40343bf30b8492757f81bc0274d46931318f7120)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:41 +00:00
Scott Rifenbark
c7d2787588 documentation/poky-ref-manual/ref-bitbake.xml: Updated BitBake Running a Task
I added more information about how BitBake actually runs a task.
The information has to do with how tightly BB controls the execution
environment of the build tasks to prevent contamination from the
build machine from leaking into the task execution environment.
This tight control actually causes some unexpected behavior during
builds.  For example, when a user exports and BB_ENV_EXTRAWHITE
an environment item such as CCACHE_DIR, the effects of the environment
item never make it to the BB task execution environment.  They only
make it to the data store.  The user actually has to take some extra
steps to export that environment item into the task execution environment.
The added information I put into the "Running a Task" section describes
these extra steps.

Fixes [YOCTO #689]
Reported-by: Wolfgang Denk <wd@denx.de>
(From yocto-docs rev: 182aa61693c2c7de8331569c30cbb8f41dad2315)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:41 +00:00
Scott Rifenbark
64d5176865 documenation/poky-ref-manual/technical-details.xml: Shared State
I updated the tips and tricks section to include two sub-sections.
The first if the debugging stuff from Richard's email.  The
second section is how to invalidate a section of the sstate
cache on a per-class basis.

Fixes [YOCTO #1500]

(From yocto-docs rev: 7493f5e7ec641e7cd79f8e3e6c045cadf7a6999c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:40 +00:00
Scott Rifenbark
2ce852ad7b documentation/poky-ref-manual/technical-details.xml: more on YOCTO #1500
More work on this bug for sstate.  This commit represents the third
pass through the new chapter four (Technical Details) that is
dedicated to YP components and sstate at the moment.  The material
is unreviewed by Richard as of yet.

(From yocto-docs rev: 3c0e5bac288c05ea3fd93b1d1d5866895c5c2d1e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:40 +00:00
Scott Rifenbark
4378fd205c documenation/poky-ref-manual/technical-details.xml: Some general edits.
(From yocto-docs rev: b806511994d0673475939db2690a3aeec7389609)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:40 +00:00
Scott Rifenbark
93a78f4b42 documentation/poky-ref-manual/extendpoky.xml: Fixed typo
Changed "versions" to "Versions" in the title.

(From yocto-docs rev: 9bcec4f41df6e89b35be8e073fb970af2e2e53a1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:40 +00:00
Scott Rifenbark
5e1255f809 documentation/poky-ref-manual/extendpoky.xml: intro changed and order changed
Beefed up the introductory paragraph and I re-ordered the "Making and
Maintaining Changes" section towards the end of the chapter.

(From yocto-docs rev: b166fbfdccc971f077f9d0e598604f761a820b4f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:39 +00:00
Scott Rifenbark
9f31ba93dd documentation/poky-ref-manual/usingpoky.xml: updated intro paragraph
Beefed up the introductory paragraph a bit.

(From yocto-docs rev: be1716f393b5f8dd963275f49951ac7553eb3381)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:39 +00:00
Scott Rifenbark
7098ae12df documentation/poky-ref-manual/introduction.xml: Added reference
Added a reference to the YP development manual in the introductory
paragraph.

(From yocto-docs rev: 84761f2a705cd0c3bf730b9f13fd21ca318c0494)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:39 +00:00
Scott Rifenbark
31ddf65775 documentation/poky-ref-manual/introduction.xml: added new chapter
The list that describes the organization of the book needed the
"Technical Details" chapter added.

(From yocto-docs rev: f94d4b2626c1a2e2bf3f6d033222ab1b35c3efde)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:39 +00:00
Scott Rifenbark
a191e6e048 documentation/poky-ref-manual: New chapter introduced
Long-term strategy for the YP Reference Manual is that it contains
reference material and not "how-to-information".  A step in this
direction is to isolate any discussions on components and other
areas of YP that need talked about.  So to start with, I have created
a new chapter for now named "Technical Details" that so far has
a discussion of some components and shared state.  This is a
step in the direction of making this manual a reference manual and
not a "how to" manual.

Changes included removing redundant material from the 'usingpoky.xml'
chapter and also adding the new chapter 'technical-details' into the
'poky-ref-manual.xml' file used for the make.

(From yocto-docs rev: 567823392d903016d314ae9fcc1b4d7abf59d9ae)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:38 +00:00
Scott Rifenbark
9a99147c91 documentation/poky-ref-manual/usingpoky.xml: Removed comments
Removed some comments that were buried in the file that were
notes for working on the sstate section.

(From yocto-docs rev: 697b621db627c680318060091cf57cd5fc74148d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:38 +00:00
Scott Rifenbark
d122e37be3 documentation/poky-ref-manual/usingpoky.xml: partial for YOCTO #1500
First draft of a re-write to the "Running a Build" section to try
and satisfy YOCTO #1500.  I segmented the section into three areas
rather than a single area.  This allowed me to create a sub-section
for the sstate stuff where it could be addressed on its own.  I sent
the draft out to Richard and Mark H. and got feedback from RP that
is going to cause further changes.  Thus, I am committing this partial
change.

(From yocto-docs rev: 4a99bcbda85ede0bd9490002c08461cc834b7518)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:08 +00:00
Scott Rifenbark
4ae4f1d553 documenation/poky-ref-manual/ref-variables.xml: added LICENSE_DIR
A new glossary description for LICENSE_DIR.  This variable extends
the COMMON_LICENSE_DIR that YP uses to find license text during
the build.

Reported-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
(From yocto-docs rev: b96736e88e1432e9c8b3b2eb5385e1193d66f3f6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:08 +00:00
Scott Rifenbark
162359688e documentation/poky-ref-manual/ref-classes.xml: insane.bbclass updated
Added explanation about this class being configurable for
generating warnings or errors through use of the WARN_QA and
ERROR_QA variables.  Also provided a list of tests that can
be tested for.

Fixes [YOCTO #1773]

Reported-by: Mark Hatle <mark.hatle@windriver.com>
(From yocto-docs rev: a114ec3fd4f21ebf4dfd1d5c960d606e0db193f2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:58:07 +00:00
Elizabeth Flanagan
ee2af267b7 license.bbclass: remove bashism
Removing a bashism that was dumping errors into rootfs log.

(From OE-Core rev: 3e05acab1c119a3b2a4703ea8729cc768935d36e)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:50:46 +00:00
Dmitry Eremin-Solenikov
cdba3979b9 readline: drop empty dir to shut up QA warning
(From OE-Core rev: 70643614cccaa3038c4487ef23a5495aa23346b3)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:19:28 +00:00
Dmitry Eremin-Solenikov
db38fb3762 libgcc: reintroduce debug package, containing symbols
(From OE-Core rev: 1c97310f76999dc68de0958485d3edb75398854d)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:19:28 +00:00
Dmitry Eremin-Solenikov
b46e118431 bitbake.conf, core-image-minimal-initramfs: add INITRAMFS_FSTYPES
Initramfs images don't benefit from usual IMAGE_FSTYPES overrides. The
only sane values for them are "cpio.XXX". If IMAGE_FSTYPES is set to
include 'live', building core-image-minimal-initramfs can result in
build error, if the image is built before the kernel. To stop initramfs
images from responding on IMAGE_FSTYPES settings, but still allow
users/developers to override defaults (e.g. to generate "cpio.lzma"
initramfs), introduce INITRAMFS_FSTYPES variable, by default set to
"cpio.gz".

(From OE-Core rev: 17f7f3a43e863d9e2a16dd02face5137a4f4b225)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:19:27 +00:00
Bernhard Guillon
45d3f0c801 update-rc.d.bbclass: override UPDATERCD for nativesdk
Override UPDATERCD for nativesdk.
Without, update-rc.d is installed to /usr/sbin/update-rc.d
with meta-toolchain if nativesdk recipe inherits update-rc.d. An
example recipe for this is dbus.

(From OE-Core rev: bf10cc692491acd615b503779c44e6d7ab3ffe68)

Signed-off-by: Bernhard Guillon <Bernhard.Guillon@hale.at>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:12:46 +00:00
Saul Wold
08b7b9368c ed: Fix EXTRA_OECONF to ensure right compiler is found
(From OE-Core rev: b23ab297906d7241d737f7c5e81c674deca45e32)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:05:37 +00:00
Zhai Edwin
776918063d libical: Fix deadlock in pthread
libical introduce pthread support after 0.47, but lead deadlock with missing
some unlock code. This makes dates start hang.

Add new patch to properly release mutex.

[YOCTO #1825] got fixed.

(From OE-Core rev: 584abc5f3d6cbaf8f8bf09123e8abc421f0699a8)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:05:37 +00:00
Zhai Edwin
ccc84d94b8 xserver-nodm-init: Fix xuser creation
Rootless X start fail as xuser has no home and shell. This patch fix it.

(From OE-Core rev: 012b6054cd5757edd6b1eb31789718bb97c26193)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:05:37 +00:00
Richard Purdie
1855e94280 opkg: Update svn 625 -> 633 and fix preinst issues
There is a major issue with opkg images at the moment as preinst
functions are not being executed before their dependencies are installed
and this is leading to corruption of images containing avahi/dbus in
particular.

There are various changes in upstream opkg in the last 8 revisions which
make changes in this area but sadly these aren't enough to get things
working for us. I've updated to the latest svn revision with this patch
since it makes sense to pull in those changes first and then supplement
them with the attached patches.

There is a full description of the patches in the patch headers but in
summary they:

a) Ensure preinst functions execute with their dependencies installed.
   This is a pretty invasive change as it changes the package install
   ordering in general.
b) Ensure opkg sets $D, not $PKG_ROOT which we don't use
c) Change opkg to allow execution of postinstall functions which fail
   resulting in execution on the target device as rootfs_ipk.bbclass
   currently does manually.

The remaining changes interface this with the rest of the OE build
infrastructure, adding in the option to tell opkg to run the preinst and
postinst functions, ensure the correct environment is present for the
postinst scripts and removing the now unneeded rootfs_ipk class code
which opkg now does itself.

[YOCTO #1711]

(From OE-Core rev: 2feba313c991170747381c7cf821a45c2cd04632)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:05:37 +00:00
Richard Purdie
c7335bd21b nativesdk.bbclass: Remove historical FILES artifact
Adding everything in ${prefix} to FILES and FILES-dbg is a historical artifact
left over from when this was sdk.bbclass back in 2009.

The BBCLASSEXTEND changes, multilib changes and cleanups to this file
over the intervening time mean this is simply no long needed.

Its also outright dangerous since it can link the packages together
in circular ways which don't make sense. The simplest thing to is
to drop this since it no longer does anything useful.

(From OE-Core rev: 9f1d23a5dd6c60ffe360d8b339768c7e4fb98323)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:05:36 +00:00
Darren Hart
4d1c00fb0a bootimg: Use mcopy to construct the hddimg
The initial directory support (-d) added to mkdosfs has proven to be incomplete
and non-compliant with FAT. Rather than continue to maintain this feature and
work around the various issues, we can use mcopy to construct the image.

bootimg.bbclass already depends on mtools-native (although it may not have
needed to previously). No new dependencies are introduced. The image created
passes dosfsck cleanly. Remove the call to dosfsck.

mcopy reported an error with the image we were creating:
Total number of sectors (107574) not a multiple of sectors per track (32)!

Add some logic to ensure the total sector count is an integral number of sectors
per track, including forcing the logical sector size to 512 in the mkdosfs
command.

The du -bks arguments are contradictory, -b is equivalent to "--apparent-size
--block-size=1" and -k is --block-size=1K. If reordered, -kbs will report the
disk usage in bytes insteadk of 1k blocks. Eliminate the ambiguity by using:
du --apparent-size -ks

(From OE-Core rev: 92d2ea1a306354c6565a1b05b51b5719e481840f)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Nitin A. Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:05:36 +00:00
Darren Hart
c1f3f3f7a7 bootimg: Use dosfsck to clean up the generated live image
The generated filesystem has some errors that dosfsck is able to repair:

dosfsck 2.11, 12 Mar 2005, FAT32, LFN
Checking file /ldlinux.sys (LDLINUX.SYS)
Checking file /initrd (INITRD)
Checking file /syslinux.cfg (SYSLINUX.CFG)
Checking file /EFI (EFI)
Checking file /vmlinuz (VMLINUZ)
Checking file /rootfs.img (ROOTFS.IMG)
/vmlinuz
  File size is 4144896 bytes, cluster chain length is > 4145152 bytes.
  Truncating file to 4144896 bytes.
Checking file /EFI/.. (..)
Checking file /EFI/BOOT (BOOT)
Checking file /EFI/. (.)
/EFI/..
  Start (16022) does not point to .. (0)
/EFI/.
  Start (0) does not point to parent (16022)
Checking file /EFI/BOOT/.. (..)
Checking file /EFI/BOOT/. (.)
Checking file /EFI/BOOT/initrd (INITRD)
Checking file /EFI/BOOT/grub.cfg (GRUB.CFG)
Checking file /EFI/BOOT/bootia32.efi (BOOTIA32.EFI)
Checking file /EFI/BOOT/vmlinuz (VMLINUZ)
Checking file /EFI/BOOT/rootfs.img (ROOTFS.IMG)
/EFI/BOOT/..
  Start (16021) does not point to .. (16022)
/EFI/BOOT/.
  Start (0) does not point to parent (16021)
/EFI/BOOT/vmlinuz
  File size is 4144896 bytes, cluster chain length is > 4145152 bytes.
  Truncating file to 4144896 bytes.
Performing changes.
/build/poky/fri2/tmp/deploy/images/core-image-minimal-fri2-noemgd-20111216000605.hddimg:
12 files, 26635/26828 clusters

Add a dosfsck command following the mkdosfs command to correct these.

(From OE-Core rev: 5d2554ec5f1d3b15e02b1d76cc9bd2d4861969f8)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:05:36 +00:00
Darren Hart
02e01e614b grub-efi: specify prefix so it can find grub.cfg
Specify /EFI/BOOT as the grub prefix so the grub efi payload can find
the grub.cfg in the same directory. Ultimately, it might make more sense
to install the grub tools and the grub-core modules to sysroot and make the
grub-efi bbclass generate the image in the required format as part of the
bootimg generation. However, bootimg is currently the only user, so make the
correction here to resolve the immediate issue.

(From OE-Core rev: bc046c58c8f3c462972e9004dda2612b58376492)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:05:35 +00:00
Darren Hart
9619f26c92 grub-efi: Add efi_gop module to payload for physical console support
Without the efi_gop module, the GRUB menu would work, but the Linux
kernel messages would not be displayed to the physical console. Adding
efi_gop causes grub to pass the proper information in the boot parameters
pointer such that the Linux kernel can detect and use the EFI framebuffer.

(From OE-Core rev: 2c2770f89b3331f635647ba1ef87d8f63cfcdfe2)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:05:35 +00:00
Darren Hart
4ea37a8f6b grub-efi: Use /EFI/BOOT now that mkdosfs -d works with directories
[Yocto 1783] prevented us from using a proper /EFI/BOOT path in the live
images due to a bug in the -d patch for mkdosfs in dosfstools. With this
now fixed, we can place the efi payload where it belongs per spec and
the images will autoboot to the grub menu on EFI platforms.

(From OE-Core rev: badf0504f5ed4c5e48607922ac15c56463ad09ef)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-16 16:05:35 +00:00
Saul Wold
6036845d1c Patch Upstream Status Updates
(From OE-Core rev: 0eb139619301d0efee330932eba3617dcb39284e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:26 +00:00
Saul Wold
984eb9e5a7 perl: add .pl, pm, pod, sh files to SSTATE_SCANE_FILES
This fixes problems where hardcoded paths in the file were incorrect
during sstate reusage of the task output.

(From OE-Core rev: 1e4466fc1ce32e5903ce0ed3f0ac80e3e93e1e24)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:25 +00:00
Saul Wold
228c43cecd libtool-cross: Add libtool & libtoolize to SSTATE_SCAN_FILES
This fixes problems where hardcoded paths in the file were incorrect
during sstate reusage of the task output.

(From OE-Core rev: 69dfde005c7018b99a0397f4233841d76e383b4c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:25 +00:00
Saul Wold
54a0c2e303 gmp: Add gmp.h to SSTATE_SCAN_FILES
This fixes problems where hardcoded paths in the file were incorrect
during sstate reusage of the task output.

(From OE-Core rev: ec5319fc48f9fa10d23dc98e40e7bad2a56777fc)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:25 +00:00
Saul Wold
487adcd06d icu: Add Makefile.inc to SSTATE_SCAN_FILES
This fixes problems where hardcoded paths in the file were incorrect
during sstate reusage of the task output.

(From OE-Core rev: 7f81d62efd08cf38f92319d0dca48dc9fea1d430)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:24 +00:00
Richard Purdie
6b2027da12 sstate: Add SSTATE_SCAN_FILES
We process all files in the native/cross cases for finding and
fixing relocation issues. In the target case we've only processed
.la and binconfig files. Since there are other files which are
in need of this processing, this change allows recipes to specify
files that may be outside the normal set. This means hardcoded
paths that need to be fixmepathed to work correctly are handled
and addresses some sstate relocation bugs that have been seen.

Based on a patch from Saul Wold <sgw@linux.intel.com>

(From OE-Core rev: 6ffdcd9120b572fa41659029c3bda7bf00ebcb77)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:24 +00:00
Saul Wold
da23623fb0 qt-mobility: Fix QA error for debug files
RP: Add PR bump
(From OE-Core rev: 54b91b6b1ac67ce2259fa82c0e0f7d26577ba935)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:24 +00:00
Nitin A Kamble
8413a9b4e8 dosfstools: fix populated image creation with dirs
This fixes bug: [YOCTO #1783]

Fix populated image creation. Earlier subdirectories support
was broken, and files can only be placed in the root directory.
Now directory hirarchy is supported in the image. Also support
for long names is extended to directory names.

There are some outstanding issues as documented in the patch
header, these issues can be worked around by running
dosfsck tool after populated image creation. The dosfsck tool
is also part of this package.

(From OE-Core rev: 2de8f008b304017de7ca116aa79ef778ab40362d)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:24 +00:00
Khem Raj
7e0c29c70d cross-recipes: Disable nls in gettext bbclass
Right now for cross recipes e.g. gcc-cross and binutils-cross
we specify --disable-nls .... --enable-nls on configure cmdline
the --enable-nls coming from gettext bbclass.

So we disable nls for all cross inheriting recipes in gettext
bbclass and then we remove the extra --disable-nls in gcc-cross
and binutils-cross

This patch needs testing. Please help

(From OE-Core rev: d66b379f809b9c75981848fcc71ed5de13382bf7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:23 +00:00
Lauri Hintsala
91367de755 initscripts: fix timestamp checking at bootmisc.sh
Timestamp checking has been broken by the commit
2078af333d. Currently the RTC time
is always overwritten with the time from /etc/timestmap. Fix timestamp
checking and clean the code.

(From OE-Core rev: cc8695f22bc70ef958f81d0d3da73dece5f4700a)

Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:23 +00:00
Joshua Lock
fe2d3c0916 distro_tracking_fields: update cogl and clutter
(From OE-Core rev: 89a839225ccc5c3d831ef5f6e7b4857df8f165cf)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:23 +00:00
Joshua Lock
d29ea11597 clutter_git: update to 1.8.2 tag
Eventual plan is to start building bleeding git again, so we'd like to keep
the recipe around and relatively up to date.

(From OE-Core rev: 12b03b946ba5b08f93b780b6b3f7115fcf76fdcb)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:23 +00:00
Joshua Lock
b1ce9372af cogl: update git recipe to 1.8.2
Eventual plan is to start building bleeding git again, so we'd like to keep
the recipe around and relatively up to date.

(From OE-Core rev: 849b90f7cf1472948dcc7f613d25f4b1b0be49ad)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:22 +00:00
Joshua Lock
827dfe8f4b clutter: upgrade to 1.8.2
(From OE-Core rev: b9d36990ebe00afcae5bba19252462bf1b4403f3)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:22 +00:00
Joshua Lock
1409daf084 cogl: upgrade to latest stable cogl 1.8.2
(From OE-Core rev: 596d3d1267813e01f87a85c23f1e4a0b7130418b)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:22 +00:00
Paul Eggleton
10a00416a8 scripts/bitbake: add a version >= 2.6 check
Unfortunately we now have code in BitBake which is parsed before the
current version check and is incompatible with Python < 2.6. Rather than
fixing this and being eternally vigilant for >= 2.6 feature usage, just
add a version check to the wrapper script.

(From OE-Core rev: 9b8a48efa3b80fea34efa51de44d10ff2b1e3193)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:22 +00:00
Paul Eggleton
44d8f38a5e scripts/runqemu: show an error if /dev/net/tun is unusable
If /dev/net/tun is either not present or is not writable by the
user, then show an appropriate error message. (QEMU needs access to this
device in order to enable networking; it may be missing if it is not
enabled or loaded into the kernel, and some distributions such as CentOS
5.x set restrictive permissions upon it.)

(From OE-Core rev: a00b94900d437828f25debce1c30ffcc0bbf29e9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:21 +00:00
Paul Eggleton
bc13ebece2 qemu: for native, do not fail if kvm is unavailable
When building qemu-native, if the linux kvm header is unavailable (as
it is on CentOS 5.x 32-bit) then do not pass the --enable-kvm switch to
the configure script, thus avoiding failed do_configure.

(From OE-Core rev: 8c21c71f005b601f58925e9912f2cf44127e291d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 14:36:21 +00:00
Otavio Salvador
b5c91531c8 icecc-create-env-native_0.1.bb: drop 'PRIORITY = "optional"' as it is the default
(From OE-Core rev: 49e629e78ba914c3372a9969ad84eff20ef8f009)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 13:08:15 +00:00
Otavio Salvador
9cd65cca83 grub_1.99.bb: drop 'PRIORITY = "optional"' as it is the default
(From OE-Core rev: 4279fdea7297223a488e93c702d83cf2e99f52f3)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 13:08:15 +00:00
Otavio Salvador
cb39cfa8a5 grub-efi-native_1.99.bb: drop 'PRIORITY = "optional"' as it is the default
(From OE-Core rev: 85add8f186ce939642b99b4a547cdfa8cda3464e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-15 13:08:14 +00:00
Richard Purdie
9d136b2db8 gdk-pixbuf: Ensure the binaries can be relocated
There are paths hardcoded into the binaries provided by this recipe. This
patch adds the neccessary environment options to ensure they can be relocated
successfully avoding build failures.

(From OE-Core rev: b9dfccc018f32a47fc045f35d5f53d7269d791ed)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 18:00:25 +00:00
Martin Jansa
bf2ab7ed63 python: bump PR due to arm OVERRIDES change
(From OE-Core rev: 86a815fe1b2e447e264cb40f6f65e3343d6b6188)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 15:05:52 +00:00
Martin Jansa
4707daf4e4 xf86-video-omapfb: bump PR due to arm OVERRIDES change
(From OE-Core rev: d421f5e6d32f747596fd31cb6e90f87eee806e5c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 15:05:51 +00:00
Martin Jansa
2c0c9777e4 qt4: use armv6 override instead of armv6-vfp
(From OE-Core rev: e093d550fa86d2c2d46b0df760d8a967b3366389)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 15:05:51 +00:00
Xiaofeng Yan
e0a12db65c directfb-examples: add package directfb-examples to OE-core
Add this package for checking whether directfb run rightly or not.
It also is an useful tool to test directfb.

[YOCTO #1674]

(From OE-Core rev: 5d5c8c581346dc0297be2bb1531f7569154b309a)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 15:04:27 +00:00
Richard Purdie
995a09e7bf dosfstools: Add patch to disable fat32 autoselection and behave as 2.10
It appears msdos image population and fat32 images are incompatible.
This reverts to the 2.10 behaviour of defaulting to fat16 instead of
using fat32 for large images, allowing image generation to work
correctly. This is a workaround and a proper fix is really needed.

(From OE-Core rev: c2de8d41236cf1293db9e6c69d69e8d14f55ffd1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 14:06:40 +00:00
Philip Balister
bade85eb0d boost : Do not use icu when building boost.
Without this, boost needs to build icu to create images using
boost regex. RP inidicated he would rather disable icu, than add an
extra dependency to the recipe.

(From OE-Core rev: f60417055f869acb871be1f01c6900fdf685d71a)

Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:13 +00:00
Frans Meulenbroeks
3994ad0c34 u-boot: renamed dir from uboot to the more appropriate u-boot
recipe dirs normally have the name of the (main) package and the official name is u-boot

(From OE-Core rev: e9899d52ade2181bd97dcf79bec64650e8b0f718)

Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:12 +00:00
Philip Balister
23f1ede0a1 qt4.inc : Add uic, moc, rcc, and lrelease to tools package.
These binaries are needed in the target tools package so we can build
qt apps on the target. You also need to install qmake from meta-oe.

Tested by building gnuradio on the USRP e100 with qt support.

(This effectively reverses OE-core rev
69eeb3d2276e5b10d084b47d308ecfc8daf8b467, however test builds for
qemux86 and qemumips produced no packaging warnings such as those
described in that commit, and the architecture of the executables is
correct.)

(From OE-Core rev: c96db08915a554fb5e4bb2c360b919c8392b32c6)

Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:12 +00:00
Richard Purdie
cf00885669 kernel.bbclass: Allow do_compile_kernelmodules to use PARALLEL_MAKE
Without this we don't take advantage of any configured multiple CPU
cores which seems a shame.

(From OE-Core rev: 10b354c6ce7bac3b4cce5e6a649d4fd3ceca235b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:11 +00:00
Martin Jansa
ebe66be93a conf/machine/include/arm add extra MACHINEOVERRIDES like x86 does
* motivated by this NAK
  http://patchwork.openembedded.org/patch/15777/
  and today's discussion on #yocto I hope it's worth it to send this RFC

(From OE-Core rev: e3e1fef27345e2ea923b76b1e6bcb9cd5572cec6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:11 +00:00
Otavio Salvador
406593fdf1 connman: improve packaging
The scripts being included on connman-scripts was the test utility and
thus we are moving them with the rest of test utilities in
'connman-tests'. A runtime dependency on python-dbus were missing as
well as those scripts uses it.

As no dhclient, resolvconf and udhcpc plugins are being generated the
respective dependency map entries were also removed.

(From OE-Core rev: 6f9594cddefe74ce7381e4fa2a68cb8a542d6d2e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:11 +00:00
Xiaofeng Yan
d6860b2127 task-core-gtk-directfb.bb: Add task list to run gtk over directfb
Add task-core-gtk-directfb.bb to OE core for running gtk over directfb.

[YOCTO #1674]

(From OE-Core rev: ad2737079a78e1bfa0edce5bd8f4daf61ee791e4)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:11 +00:00
Xiaofeng Yan
c9b1fed763 gtk: add demos to the configuation of gtk+
Add demos for checking whether gtk+ run over directfb successfully or not.

[YOCTO #1674]

(From OE-Core rev: 05af060591f3aec72c0d39a133d44db09fd8450a)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:10 +00:00
Xiaofeng Yan
4bf7368971 gtk.inc: add feature based on directfb
gtk run over x11 at current OE-core. If gtk want to run over directfb, then \
the configuration related to x11 should be disabled and directfb should be enabled.

[YOCTO #1674]

(From OE-Core rev: c95e859672599e43e156ac12dc1d919e0dd34510)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:10 +00:00
Xiaofeng Yan
627b230f56 pango: Disable x11 when pango doesn't run over x11
pango run over x11 at current OE-core. If pango want to run over non-x11, then \
the configuration related to x11 should be disabled.

[YOCTO #1674]

(From OE-Core rev: e20bb10573dd67fd60b5b7f944eb0cbec2332a04)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:10 +00:00
Xiaofeng Yan
f1a487873c cairo: add directfb DISTRO_FEATURE
cairo run over x11 at current OE-core. If cairo want to run over directfb, then \
the configuration related to x11 should be disabled and directfb should be enabled.

[YOCTO #1674]

(From OE-Core rev: dd5b44034014ba1962cfca1bf7430f8c8dc5243c)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:09 +00:00
Saul Wold
6471e4ce67 ed: remove unsupported option
(From OE-Core rev: 65fa6a9039043a59a236d28aacce3c424a734158)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:09 +00:00
Saul Wold
779d07db63 bash: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: ae8c1f2aacd0ed2625757f57b575962db1386e4c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:09 +00:00
Saul Wold
63eebab5e8 gmp: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: 9597a66e797852a44bbcf29e722eb410fd3fd386)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:09 +00:00
Saul Wold
df35bf3b32 sed: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: e60ccfc4e30787f00b76124491cc53fe8494af47)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:08 +00:00
Saul Wold
0a2ff4d2f6 gzip: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: b8b8b0383e806cc1d3a6f8114338112310f940f2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:08 +00:00
Saul Wold
ced61e8607 gawk: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: ede29b86b14ccea9d265a0cc84057ca3062dc9f7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:08 +00:00
Saul Wold
8bab93a4fa findutils: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: 70d190b0d09a691bbc2191c93c9de75bb0437017)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:07 +00:00
Saul Wold
4ae7e63c14 ed: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: c30c89c8dc449cf7642565f2e35c7b1a922fcc33)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:07 +00:00
Saul Wold
13594d601b readline: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: 652afb4125597c6dbafb33c54e3300cd88461576)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:07 +00:00
Saul Wold
5ac76dcf4e coreutils: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: 16c526219b4d2852eec534f251f1a69e8a79c4a2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-13 12:28:07 +00:00
Khem Raj
ab31da7067 eglibc: Generate cross testing script during install
EGLIBC has long had cross testing capability, so use
that there are few steps needed on setting up the target
as well as the build host. This patch tries to generate
a script with all the needed environment on build host system

To use this script one needs to setup the target as described
in the testing intructions of eglibc and then this script
can directly interface to the target and run the tests from
eglibc's build directory. To run this script

bash <script> username@testing_hostname/ip

The output can be dumped into a log file for later viewing
and checked for "Error " to see the failed tests

Removes INC_PR its not used anywhere

(From OE-Core rev: 9244a3b0565fd52d7973fda42a4f706b16240316)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:21 +00:00
Khem Raj
976443267b task-core-nfs: Add nfs-utils-client to RDEPENDS
include nfs client in tast-core-nfs as well
this is handy when we need it on target e.g.
testing eglibc needs it and we can just do
EXTRA_IMAGE_FEATURES += "nfs-server"

(From OE-Core rev: c09c6e61991b30c99d68fa6c2e5639d490a65e89)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:21 +00:00
Khem Raj
023368f400 qemu-0.15.1: Bump recipes from 0.15.0 to 0.15.1
No other changes (except checksum updates) then git mv were needed

(From OE-Core rev: 48b56cf4912d2ec324d18391865940b675a72c1e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:20 +00:00
Elizabeth Flanagan
bd75266ab3 license: PR bump failure
This addtask for do_populate_lic should be reverted back
to before do_package as before do_compile causes failures
when recipes are updated.

[YOCTO #1819]

(From OE-Core rev: 513c620815fcf8e7bcc9ac38a916850ad6173a16)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:20 +00:00
Otavio Salvador
e38c283c01 scripts/send-pull-request: fix typo
s/No cover letter will be send./No cover letter will be sent./

(From OE-Core rev: a82e5abf399f3ced7dcb4d5c543fdea084ef6c63)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:20 +00:00
Nitin A Kamble
5cb246dbf1 x86 tune: fix TUNE_PKGARCH definition for proper PACKAGE_ARCH
rpmbuild can not handle the PACKAGE_ARCH of these kinds:
	x86_64-x32, core2-64, core2-64-x32

With these kinds of PACKAGE_ARCH the --target parameter of rpmbuild
becomes like: core2-64-x32-poky-linux-gnux32 ; And rpmbuild extracts
%_target (arch) wrongly as core2 generating these kinds of rpms with
incorrect filenames: zip-3.0-r0.core2.rpm

So this commit fixes the issue by making PACKAGE_ARCH like this:
	x86_64_x32, core2_64, core2_64_x32
Now --target parameter of rpmbuild becomes like:
core2_64_x32-poky-linux-gnux32 ; And rpmbuild extracts %_target (arch)
correctly as core2_64_x32 generating these kinds of rpms with correct
filenames: zip-3.0-r0.core2_64_x32.rpm

(From OE-Core rev: 1a599cc822ad517f9ba70ceb0e39c5572d37a5a6)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:19 +00:00
H.J. Lu
6e8e25f082 openssl-1.0.0e: Update x32 Configure
Make linux-x32 as close to linux-x86_64 as possible:

1. Add -mx32 -DMD32_REG_T=int.
2. Changed to -O3.
3. Remove -pipe -g -feliminate-unused-debug-types.
4. Remove -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS.
5. Add :::x32 for multilib.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-Off-By: H.J. Lu <hjl.tools@gmail.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:19 +00:00
Nitin A Kamble
5af89cd6c8 libacpi: Use the cross strip instead of host strip
to avoid this build error on x32:

| strip: Unable to recognise the format of the input file `test-libacpi'
| make: *** [test-libacpi] Error 1
| ERROR: oe_runmake failed

(From OE-Core rev: 4d7882a57210c88dd9e2b8619b2bd0fa4bdbf9f8)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:19 +00:00
H.J. Lu
d22f85117c siteinfo: create a new siteinfo for x32-linux
X32 has different sizes for many types:

1. off_t and ino_t are 8 byte, instead of 4 byte.
2. pthread_mutex_t is 32byte, instead of 24 byte.

(From OE-Core rev: 061d8015d6f15825bf9c4245671313bec35cefbf)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:19 +00:00
Nitin A Kamble
800f7e4352 pax: fix compilation with x32 toolchain
off_t is 8byte for x32.  We need to check both _FILE_OFFSET_BITS and
size of off_t to see if file offset is 64bit.  This patch adds
AC_CHECK_SIZEOF(off_t) and checks SIZEOF_OFF_T == 8.

(From OE-Core rev: 4c2ec631bf2b9581233a470c415f4d5cfe59a2a4)

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:18 +00:00
H.J. Lu
3424702c09 mesa: Properly create share library for x32
Also pass -mx32 parameter to gcc to create create share library
for x32.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-Off-By: H.J. Lu <hjl.tools@gmail.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:18 +00:00
Nitin A Kamble
b9e3ddc42a findutils: Fix compilation for x32 toolchain
Work around gnulib time_t assumption in findutils for x32

time_t is 64bit and long int is 32bit on x32.  But gnulib used in
findutils assumes time_t values fit into long int.  Such assumption is
invalid for x32 and should be removed.

This patch is a workaround to compile gnulib for x32.

(From OE-Core rev: 8a80a3510c65419a6fcd9e38ad3ef4234778b921)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-Off-By: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:18 +00:00
Nitin A Kamble
2e82fe131c libacpi: Fix libdir for x32
libacpi doesn't use base_libdir for install.  This patch adds
base_libdir support so that x32 libraries are installed properly.

(From OE-Core rev: 98a363ef0202511cf32f8408011c4ad178173af7)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:18 +00:00
Nitin A Kamble
8ae6359650 pulseaudio: fix compilation with x32 toolchain
This commit makes assembly syntax compatible with x32 toolchain
to avoid these x32 gcc errors:
| pulsecore/svolume_mmx.c: Assembler messages:
| pulsecore/svolume_mmx.c:107: Error: `(%esi,%rdi,4)' is not a valid
base/index expression
| pulsecore/svolume_mmx.c:135: Error: `(%esi,%rdi,4)' is not a valid
base/index expression
| pulsecore/svolume_mmx.c:161: Error: `(%esi,%rdi,4)' is not a valid
base/index expression
| pulsecore/svolume_mmx.c:162: Error: `8(%esi,%rdi,4)' is not a valid
base/index expression
| pulsecore/svolume_mmx.c:180: Error: `(%esi,%rdi,4)' is not a valid
base/index expression
| pulsecore/svolume_mmx.c:210: Error: `(%esi,%rdi,4)' is not a valid
base/index expression
| pulsecore/svolume_mmx.c:244: Error: `(%esi,%rdi,4)' is not a valid
base/index expression
| pulsecore/svolume_mmx.c:245: Error: `8(%esi,%rdi,4)' is not a valid
base/index expression
| make[3]: *** [libpulsecore_1.1_la-svolume_mmx.lo] Error 1

Orignally these assembly lines are written for x86_64 ABI, now they are
also compatible with
X32 ABI.

(From OE-Core rev: ccf01c858218ae67d609ced3a05d9a93a6ffc5d4)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:17 +00:00
Nitin A Kamble
cd044f6adb mdadm: Make custom CC definition conditional
By hardcoding CC's definition in the Makefile, all the gcc parameters
set by tune settings are lost. Causing compile failure with x32 toolchain

As the bitbake defined CC is good, there is no need to redfine CC in the
make file, hence making the CC definition in the Makefile conditional.

This fixes bug: [YOCTO #1414]

(From OE-Core rev: c877ec8ff1dfbf0123f94711f44cea043815a9c1)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:17 +00:00
Nitin A Kamble
3c96a53863 gst-fluendo.inc: remove unneccessary hack
This fixes bug: [YOCTO #1403]

the custom definition of CC was causing build isuses with x32 toolchain.
And also I found out that the hack is not neccessary anymore. the
affected gst-fluendo-mpegdemux recipe builds fine without the CC hack.

(From OE-Core rev: 81cbedaaddd589e03fe2f6cb789907b1e555a9d6)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:17 +00:00
Otavio Salvador
0c45ecb60c dosfstools: update native to 2.11
This unify recipes for target and native builds and also drops the the
already merged patches.

(From OE-Core rev: 3a401ddce55e185c8ccfdc43c1440fd77daff9ae)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:16 +00:00
Christopher Larson
896f2abab6 lzop-1.03: add recipe
This is needed by some kernels when CONFIG_KERNEL_LZO=y (specifically, given
the current defconfig, this affects linux-omap4 2.6 in the meta-ti layer).

(From OE-Core rev: 9b3991cf6a8bb751e45c1abfc48d65d952c048b8)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:16 +00:00
Saul Wold
7ec44994e9 task-self-hosted: Move tools to host-tools task
Moved kernel modules for iptable and tun, along with
dhcp-client iptables, mc, screen to host-tools as they
are not sdk.

(From OE-Core rev: 24498e983ab8455ef0dda67efa8c16c1197f3597)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:16 +00:00
Saul Wold
afbde63674 task-self-hosted: Add host-tools task
Added tools to create and manage ext* partitions
e2fs*, parted

(From OE-Core rev: 4723c5d93de0a1d9e2b7b592f4784211984cadc1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:16 +00:00
Saul Wold
623d65b0fd task-self-hosted: Added perl-pod (slight reorder)
(From OE-Core rev: cee52dbf46578ff087a8a0786f8daba22414bfc9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:15 +00:00
Saul Wold
3d3c165974 task-self-hosted: Reorder by Alpha
No additions/subtractions

(From OE-Core rev: f66ae52a6f7b723738fade94bab3424862e71443)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:15 +00:00
Saul Wold
4f0092f7e4 texinfo: fix compile failure due target makedoc binary being used
Need to have the texinfo-native build and install a host sysroot makedoc
binary and then patch the target build to use this binary. This requires
that we don't ASSUME_PROVIDED texinfo-native any longer since we need to
install this makedoc tool which is not part of the normal distrubtion.

[YOCTO #1664]

(From OE-Core rev: 9fa98de54a73465f06484ba863eccf1e07cc1e2a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:15 +00:00
Saul Wold
ba006ea934 bitbake.conf: remove texinfo-native from ASSUME_PROVIDED
We need to build texinfo-native to get and install the makedoc tool

[YOCTO #1664]

(From OE-Core rev: 8899f4840787ef043d952f8ea2ce5d78e5cc41ab)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:15 +00:00
Saul Wold
1d2908d910 ncurses: libcurses.so should link to libncurses.so
The current libcurses (backward compat) links to libncurses.so.5.9,
this causes a problem since this library also needs libtinfo, the
libncurses.so, uses a "ld script" to include both, libcurses.so
should point to libncurses.so (the script) not the library.

(From OE-Core rev: 6e3a0c0eb6938f3f04fb42784fe1744f30762d3b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 21:50:14 +00:00
Richard Purdie
bbc8afb2e2 connman: Default to enabling ethernet interfaces
This fixes various qemu image failures where connman has changed its
default and would deconfigure network interfaces causing qemu images
and runtime image testing to fail.

(From OE-Core rev: c9a420be15d54a8494cb45d6c932b86895e94e13)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 16:51:28 +00:00
Richard Purdie
faac9eda28 scripts/runqemu-ifup: Ensure netmask is set correctly
Without this the command will add a route for the subnet 192.168.7.0 which
means multiple qemu instances can't operate correctly since all but the last
one will be masked out.

(From OE-Core rev: 9e00d6b343120496ec0dd72240c7b04e0a8b7eaa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-12 13:37:28 +00:00
Elizabeth Flanagan
924b1e47ab license/copyleft: exception for ast parse
As the standard for LICENSE format is not well defined, we
may well run into issues where LICENSE cannot be parsed via
ast. In cases like this, we need to warn and continue.

(From OE-Core rev: 07f94fa1d661d38b775ce2d99b84e5610c369392)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-10 00:18:15 +00:00
Elizabeth Flanagan
45f6a21065 license.bbclass: remove deb exclusion
This commit requires 4a13766c7b223d as it removes the exclusion
of deb package types from license manifest creation.

(From OE-Core rev: 5328587ecaa14a54ad7bced6f7ead218471dbf86)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-10 00:18:15 +00:00
Elizabeth Flanagan
50195e4af1 license.bbclass: remove bashism.
bashism in create_license_manifest removed.

(From OE-Core rev: 035a569d5241be9a217dbdbd6650ee04c4c4d67f)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-10 00:18:14 +00:00
Paul Eggleton
43c99c9d50 classes/rootfs_deb: implement query functions for buildhistory
Implement the functions required for buildhistory to be able to query
installed packages, get dependencies etc. for deb-based images.

(From OE-Core rev: 58fbb430040c9cce9f2c5f1515a4453dd49032cc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-10 00:18:14 +00:00
Otavio Salvador
488e8ba019 connman: avoid checking for linux/if_alg.h header
Disable building of 'alg-test' and checking for if_alg.h header.

(From OE-Core rev: db692fd5706eab9bfd94c115591d1411cf8e196e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-10 00:04:03 +00:00
Otavio Salvador
af7fbd6083 connman: disable ntp support
OE-Core does not provide ntpd at this moment and as there's no known
user of this plugin at this moment we are disabling it.

[YOCTO #1817]

(From OE-Core rev: c67d7c9215bd8af2b5dcc4a72b6edf00157724d5)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-09 19:18:24 +00:00
Bruce Ashfield
446d944a8b linux-yocto: update rt branches to 3.0.12 + rt30
Updating the SRCREVs to v3.0.12 and the rt30 patch.

(From OE-Core rev: cb42d82afc4b8fda723c4ef2db91880b69f09ae6)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-09 19:18:24 +00:00
Bruce Ashfield
241ceba8c4 linux-yocto: update META SRCREV for EFI changes
Adding EFI configuration from the following meta branch commit:

    Add EFI scc and cfg files

    Basic EFI support only requires CONFIG_EFI=y, this is sufficient for
    some boards, and desirable for small configs. This is done with efi.scc.

    Additional support for CONFIG_EFI_VARS, CONFIG_EFI_PARTITION, and CONFIG_FB_EFI
    is provided via efi-ext.scc (extended) as this pulls in the block layer,
    framebuffer support, and virtual terminals.

    I'd like EFI_VARS to be part of the base config, but I have received
    reports of it failing in some situations. Keeping it separate ensures
    basic boot can work with the fragments as defined.

(From OE-Core rev: d590f6d12ba7d650ba1a0dd9d5211fb3b2c50fb1)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-09 19:18:24 +00:00
Bruce Ashfield
8819b15655 linux-yocto: v3.0.12 + EFI fixes
Updating SRCREVs to pickup the v3.0.12 -stable updates and to get
three EFI fixes from Darren Hart:

 x86, efi: Convert efi_phys_get_time() args to physical addresses
 x86, efi: Make efi_call_phys_prelog() CONFIG_RELOCATABLE-aware
 x86/rtc: Don't recursively acquire rtc_lock

(From OE-Core rev: f87f62f1e7de88b482a9d1877deae42939aedbe0)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-09 19:18:24 +00:00
Otavio Salvador
1288313411 connman: update to 0.78
Updates the package to 0.78 bringing changes done on meta-oe and extra
cleanups as:

* xtables_version.patch: removed as it has been merged upstream

* use sed to fix dbus access policy

* remove build depends on dhclient as connman has an internal client
  now

* make wifi and bluetooth building optional

* add ppp in depends that is used by some plugins

* add ntp in depends and enable ntp plugin

* package tools

* enable fake plugin

This uses PR as "r1" since it was previously available on meta-oe.

(From OE-Core rev: 4215b2fb04b3ed61e8e1cf0847639cf6fe31d337)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-09 17:46:34 +00:00
Otavio Salvador
9ebdfb081f connman: move files from connman-0.75 to connman dir
This is being done in preparation to get newer version of connman into
OE-Core.

(From OE-Core rev: 154b76a5103a09ab3acd26c428c9ebb21f99fe8f)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-09 17:46:34 +00:00
Otavio Salvador
77ed8813ff connman: drop git version
This was clearly unused as dbusperms.patch cannot be fetched by this
recipe and noone noticed the build failures caused by it.

(From OE-Core rev: 1383b18041f2fb988651f7b53ed126e01f5e2797)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-09 17:46:34 +00:00
Otavio Salvador
8277ee93e1 scripts/send-pull-request: allow sending of patches without a cover letter
(From OE-Core rev: 326ef69d1296cd35a86d1eaee0741e6fc956af52)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-09 17:46:33 +00:00
Xiaofeng Yan
ca5ad873db gtk.inc: ship gtk-demo to independent package
gtk-demo can test gtk over directfb

[YOCTO #1674]

(From OE-Core rev: 4a13766c7b223d82e8cf682db999a135d2b8412c)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 22:15:44 +00:00
Xiaofeng Yan
12aba2fc89 gconf: Disable dbus-x11 when x11 isn't in DISTRO_FEATURES
If x11 isn't in DISTRO_FEATURES, then an error information "no providers ..." will \
arise. I modified this bb file to disable "dbus-x11" when no x11 in DISTRO_FEATURES.

[YOCTO #1674]

(From OE-Core rev: da2f6a60fe6b06ebffe92c3d99564711071981c9)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 22:15:44 +00:00
Xiaofeng Yan
8de191d64a qemu-config: Disable dbus-x11 when no x11 in DISTRO_FEATURES
dbus-x11 could be not needed by an image without x11.
So I modified this bb file to enable dbus-x11 when x11 is in DISTRO_FEATURES and disable \
dbus-x11 without x11 feature.

[YOCTO #1674]

(From OE-Core rev: f78cb9fbc90f6e40cd20c59ba544389662d87659)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 22:15:43 +00:00
Elizabeth Flanagan
30301333f8 package.bbclass: Adding license collection
emite_package_data needs to have LICENSE, as pkgdata is as an
audit of licenses collected during do_populate_license.

(From OE-Core rev: 60f0b866b4b7c4aa337a2ff764455741a73665da)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:32 +00:00
Elizabeth Flanagan
5eeea9e170 OECore license fixes: meta/*
This is a quick audit of only the most obviously wrong licenses
found within OECore. These fixes fall into four areas:

- LICENSE field had incorrect format so that the parser choked
- LICENSE field has a license with no version
- LICENSE field was actually incorrect
- LICENSE field has an imaginary license that didn't exist

This fixes most of the LICENSE warnings thrown, along with my prior
commit adding additional licenses to common-licenses and additional
SPDXLICENSEMAP entries.

HOWEVER..... there is much to be done on the license front.
For a list of recipes with licenses that need obvious fixing see:

https://wiki.yoctoproject.org/wiki/License_Audit

That said, I would suggest another license audit as I've found
enough inconsistencies. A good suggestion is when in doubt, look at
how openSuse or Gentoo or Debian license the package.

(From OE-Core rev: 3083dd70b3a9fa01fcc3cf00373b05502505996e)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:32 +00:00
Elizabeth Flanagan
cb91ef9310 license: manifest and license path
This is a fairly large commit, so I want to step through some of
what this accomplishes:

1. Additional licenses

I've added/modified/corrected some of the common licenses
within OE-core in prep. for a major license audit. Most of these
are in SPDX format. A few, there is no OSI equivalent.

2. Additional SPDX mappings

I've added some additional SPDX mappings to account for removing
some duplicate licenses. (ie GPL-2 and GPL-2.0 were the same)
I've also remapped a few things to more accurately reflect what
they should be pointing at.

Note: Artistic/LGPL/GPL/MPL. Quite a few LICENSE fields list these
licenses. They make no sense and need auditing. In a future commit
I have some fixes to particularly egregious LICENSE fields, but
a full audit should be done. I've listed to obvious candidates at:

https://wiki.yoctoproject.org/wiki/License_Audit

3. License manifest

We now have a license manifest generation that occurs in rootfs for
everything BUT .deb. This requires the changes Paul Eggleton has
done to rootfs_* particularly the list_installed_packages function.
The manifest is accurate during a parallel bitbake now (Weee!) and
is prime for my planned SPDX format manifest during the next period.

4. License manifest on image.

We also want the ability to add licenses to the image. This
functionality is also in base-files and will be stripped out in my
next commit. The manifest is not added by default and is a two var
setting in license.conf:

If I want *just* the manifest on the image (small) then I set:
COPY_LIC_MANIFEST = "1"

This copies the manifest to:

/usr/share/common-licenses/license.manifest

If I want the actual PKG license text on the image (much larger)
I need to set both both COPY_LIC_MANIFEST and COPY_LIC_DIRS in
license.conf. This will create:

/usr/share/common-licenses/(package name)/(licenses in LIC_SRC_URI)

Word of warning. This can be larger than wanted depending on image
and is probably ripe for linking licenses, but I ran out of time this
week to get that done.

5. Custom License search path.

We now have the ability to add licenses to the build without touching
common-licenses. This is set via license.conf:

LICENSE_PATH += "/path/to/custom/licenses"

You want to make sure the license is unique. license.bbclass picks the
first license it finds.

(From OE-Core rev: 558b5043e1d5a36caff137093fd04abcf025af1c)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:30 +00:00
Richard Purdie
c41b31e451 gettext-minimal-native: Fix License
Only .m4 macros are included in this recipe so the correct license is FSF-Unlimited
as specified in those marcros, not the main gettext license. This patch corrects
that mistake.

(From OE-Core rev: 25dc5af38230fdf5891597c07c4f96c633001006)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:30 +00:00
Christopher Larson
d334527c1f Add copyleft compliance class
Deploys sources for recipes for compliance with copyleft-style licenses
Defaults to using symlinks, as it's a quick operation, and one can easily
follow the links when making use of the files (e.g. tar with the -h arg).

By default, includes all GPL and LGPL, and excludes CLOSED and Proprietary.

(From OE-Core rev: f0c36abba71c261f33c9906f122dd6cd9ed19221)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:30 +00:00
Christopher Larson
9fb67f895c oe.license: add license flattening code
This flattens a license tree by selecting one side of each OR operation
(chosen via the user supplied function).

(From OE-Core rev: 6984961314c8ba2aceab9acabb658f96ed249fef)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:29 +00:00
Christopher Larson
a57de1ac9d license: split license parsing into oe.license
In addition to moving this functionality to oe.license, makes the string
preparation more picky before passing it off to the ast compilation. This
ensures that LICENSE entries like 'GPL/BSD' are seen as invalid (due to the
presence of the unsupported '/').

(From OE-Core rev: 20d4068045c76e9dc2aff0c152dd02d6a109c9dd)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:29 +00:00
Christopher Larson
91378835c6 oe.test_types: move into an oe.tests package
(From OE-Core rev: 36cc35b4cbb91049a63daa7c915f538047db0f76)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:29 +00:00
Martin Jansa
31ac06a3a0 sysstat: don't run populate-volatile.sh update in do_rootfs, first boot or without populate-volatile.sh
(From OE-Core rev: 6bf82c26f95359c08611bc9a44accf1593b2a850)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:29 +00:00
Saul Wold
567ed2892b wget: enable https and openssl
(From OE-Core rev: 852c4b8dcc99aa93e45680c0e42917d7dd202d55)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:29 +00:00
Saul Wold
b41724dad6 self-hosted-image: remove extra space since we use additional disk instead
(From OE-Core rev: 9c82bad3c341d1ef54537f0c023998747c125381)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:28 +00:00
Saul Wold
b0de4b0415 initrdscripts: add sleep to avoid kernel messages before install message
As suggested by Darren Hart

[YOCTO #725]

(From OE-Core rev: ed76654c613d38095f085640acb6591b9739a60e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:28 +00:00
Saul Wold
bd21ef9416 grub: Create /etc/grub.d
(From OE-Core rev: 5f1b7ef11cf08e9a21040f16c908ada22230837b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:28 +00:00
Otavio Salvador
ed2ac23c5b initramfs-framework: provides a modular initramfs
Provides the API and modules for a modular initramfs. The currently
included modules are:

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

 * initramfs-module-udev: enables udev usage

 * initramfs-module-mdev: enables mdev usage

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

(From OE-Core rev: 7b69ad2167a1f0e57db82817b98a0cbcb70a0dd3)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:28 +00:00
Paul Eggleton
1e459c83e5 qt4: various tidy-ups
* -reduce-relocations is already specified in qt4.inc, no need to add it
  in qt-${PV}.inc
* Add QT_GLFLAGS to QT_CONFIG_FLAGS in qt4.inc rather than spreading it
  through other inc files.
* Add "-xmlpatterns -no-rpath -qt3support -silent" to QT_CONFIG_FLAGS in
  qt4.inc rather than qt-${PV}.inc; these have been supported since at
  least 4.5.2 and therefore shouldn't be version-specific.
* Move "-no-fast -silent -no-rpath" to EXTRA_OECONF in qt4-native.inc
  rather than the versioned recipes for the same reason
* Remove redundant setting of LICENSE in qt4-embedded.inc

(From OE-Core rev: c9f714062c1100cedbcb2c16d16656e3f5442133)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:28 +00:00
Paul Eggleton
2e50e9b8e6 qt4: fix debug symbol stripping
Adds a patch imported from Debian to not strip the executables as part
of the Qt build process. This fixes the warnings shown at packaging
stage as well as the content of the debug symbol packages.

(From OE-Core rev: c2f6dc09a7663f69308558553be9420df3a81b6b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:28 +00:00
Richard Purdie
2e02727860 bitbake.conf/image.bbclass: Ensure images use the correct passwd/group files
We need pseudo to use the rootfs passwd/group files belonging to the
rootfs when building images. This patch ensures that we use the rootfs
files instead of those in the sysroot which can lead to incorrect file
ownership issues.

(From OE-Core rev: c4da803ef78322b758380eb0af0dcb73cae6553c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:27 +00:00
Mei Lei
cb5a16f064 distro_tracking_fields.inc: Update dropbear,iproute2,net-tools tracking information.
(From OE-Core rev: 743472ea6871a1cf0ac0f024e0b645b2594ac01c)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:27 +00:00
Mei Lei
006e5925f2 dropbear: Upgrade from 0.53.1 to 2011.54
This new version added ALLOW_BLANK_PASSWORD option. So change the allow-nopw.patch content to enable this function.

(From OE-Core rev: e876096fcbb42039d568a7acbc506e4099e9a443)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:27 +00:00
Richard Purdie
87377c2b57 dpkg: Fix preinst execution
Add a patch to fix exeuction of pre/post install scripts. See the patch
header for more details.

(From OE-Core rev: dc433b556f5b44a6d818a81df6be484ad59daebd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:27 +00:00
Andrea Adami
f6d6498269 image_types.bbclass: disable cleanmarkers for jffs2 images
* Add '-n' to suppress cleanmarker nodes since jffs2
* is usually used for NAND flash and the cleanmarkers are created in
* the OOB area by flash_eraseall -j
*
* From man pages: -n, --no-cleanmarkers
* Do not write cleanmarker nodes to the beginning of each erase block.
* This option can be useful for creating JFFS2 images for use on NAND flash,
* and for creating images which are to be used on a variety of hardware with differing eraseblock sizes.

(From OE-Core rev: 70a276509f0f006fcc269296afc3dcc88d2825e1)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:26 +00:00
Andrea Adami
5e6261decb image_types.bbclass: implement jffs2 summary images (sum.jffs2)
* Building the jffs2 filesystem to include summary information speeds up
* the mount process considerably at the cost of increased size.
* The rate of speedup is generally higher on NAND chips and on the chips
* where the erase block size is large.

(From OE-Core rev: 2cb6a0d7aaa1ba712a899ee77a4c720da4e50214)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:26 +00:00
Eric Bénard
64ee1e6e71 rootfs_ipk: implement FEED_DEPLOYDIR_BASE_URI support
this feature was present in OE-classic, is documented in OE-core
but its implementation is actually missing.
The present implementation is directly copied from OE-classic
and tested on an arm926 machine.

(From OE-Core rev: 63b619fd7a3d0ca55a965f0a5b99f6e9c8584ea4)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:26 +00:00
Martin Jansa
272f410224 matchbox-session-sato: respect VIRTUAL-RUNTIME_initscripts settings
(From OE-Core rev: 493746f1d7f1410284880203c1ac462d61ab5299)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:26 +00:00
Klaus Kurzmann
a8dd9bc19d subversion: update 1.7.0 to 1.7.2 and force libtool recreation
* subversion-1.7.* had libtool-2.4, oe-core now has 2.4.2 and it was
  failing:
  x86_64-linux-libtool: Version mismatch error.  This is libtool 2.4.2, but the
  x86_64-linux-libtool: definition of this LT_INIT comes from libtool 2.4.
  x86_64-linux-libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2
  x86_64-linux-libtool: and run autoconf again.

(From OE-Core rev: aa9d0de4225fe482ddbf1486f8018bc87419e228)

Signed-off-by: Klaus Kurzmann <mok@fluxnetz.de>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:11 +00:00
Richard Purdie
f17e0ae38b conf/machine: Don't poke around providers which aren't machine specific/safe
Machines shouldn't be poking around PREFERRED_PROVIDERS which aren't
machine specific or at least machine safe. Kernels are machine specific
and the xserver is selectable. libx11 and mesa are now really a distro choice
and machine configurations shouldn't be poking around them as it just leads
to corruption, conflicts and confusion.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 22:47:09 +00:00
Richard Purdie
edc546797d conf/machine: Don't poke around providers which aren't machine specific/safe
Machines shouldn't be poking around PREFERRED_PROVIDERS which aren't
machine specific or at least machine safe. Kernels are machine specific
and the xserver is selectable. libx11 and mesa are now really a distro choice
and machine configurations shouldn't be poking around them as it just leads
to corruption, conflicts and confusion.

(From OE-Core rev: 97a57aca12437c24b628071bb189c9f3b94e27ca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 22:47:03 +00:00
Matthew McClintock
e6bbe41347 populate_sdk.bbclass: remap packages when generating sdk tarball
This fixes the issue below:

| Generating solve db for /local/home/mattsm/git/poky/build_p4080ds_release/tmp/deploy/rpm/all...
|    total:               1      0.000000 MB      0.093784 secs
|    fingerprint:         9      0.000012 MB      0.000252 secs
|    install:             3      0.000000 MB      0.039092 secs
|    dbadd:               3      0.000000 MB      0.034837 secs
|    dbget:              12      0.000000 MB      0.000062 secs
|    dbput:               3      0.009532 MB      0.002731 secs
|    readhdr:            31      0.019160 MB      0.000084 secs
|    hdrload:            15      0.027924 MB      0.000116 secs
|    hdrget:            494      0.000000 MB      0.000691 secs
| Processing task-core-standalone-sdk-target...
| Processing glib-2.0...
| Unable to find package glib-2.0 (glib-2.0)!
| ERROR: Function 'do_populate_sdk' failed (see /local/home/mattsm/git/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/fsl-toolchain-1.0-r6/temp/log.do_populate_sdk.16975 for further information)

If you have:

TOOLCHAIN_TARGET_TASK += "glib-2.0"

The package name was not getting remapped correctly for the do_populate_sdk
case.

(From OE-Core rev: 0b803ac3627c238aa7d19a23b7621f55779f2557)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 22:47:02 +00:00
Saul Wold
e679c35a4f wget: Fix wget alternative path to be /usr/bin not /bin
(From OE-Core rev: 4339459bd38c75250610c4cdb767504e808c5bf0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 16:34:56 +00:00
Saul Wold
a9c1fca706 distro_tracking: fix manual entries
(From OE-Core rev: a1784e814a412f209fe36626affdb82e2dfbeffe)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 16:34:56 +00:00
Koen Kooi
040bac56ec buildhistory bbclass: avoid absolute paths for files-in-image.txt to avoid diff churn when relocating TMPDIR
(From OE-Core rev: fb642d21111691b9302e16e984aff9d8fb18c431)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 16:34:55 +00:00
Khem Raj
a5f9706bd5 eglibc: Update 2.14 recipes to latest SVN tip
Adjust patches to apply on new sourcebase

(From OE-Core rev: 66af81c8b8a1d5279430ef2ce62d36641002c000)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 14:38:43 +00:00
Khem Raj
bf6be18e9f gcc: Backport patch from trunk to fix ICE seen on armv7 with mesa-xlib
This patch is a backport of http://patchwork.ozlabs.org/patch/110517/

(From OE-Core rev: 048c31c4e19d1bb060c79011cb25dfeff51c3ef1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 14:38:43 +00:00
Khem Raj
c7a91dac2c tcmode-default: Remove pinning u-boot-mkimage-native to non-existing version
2009.08 does not exist anywhere and ppc builds complain about
it.

(From OE-Core rev: 24442c5e03ed7aa12003a8310845c95bbd8ba224)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 14:38:43 +00:00
Khem Raj
3859b14f18 gnutls: Fix fix-gettext-version.patch
This patch did not cover all places to remove references
to gettext 0.17 therefore updated it.

(From OE-Core rev: 03a8493e9dc4f6ff3416d1abf33ed623352d70d2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 14:38:43 +00:00
Mei Lei
359770fc4c distrodata.bbclass:Fix some recipes upstream version check issue.
Some recipes,like rt-tests,clutter-box2d,iproute2,didn't declare upstream protocal, but in distrodata.bbclass, we use rsync as the default protocal,
this will lead an error when checking upstream version.
Change default protocal from rsync to git in distrodata.bbclass.

(From OE-Core rev: 7f38cbef365c05d75563760f15b10284147c2de3)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 14:38:42 +00:00
Joshua Lock
f199156fe9 default-distrovars: missing checksums should raise an error
Set BB_STRICT_CHECKSUM in default-distrovars so that an error is raised
if no checksum is set.

(From OE-Core rev: a228103f0f36f244d29ed0ee6c470b008b3c8099)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 14:24:40 +00:00
Koen Kooi
f9c9a62395 omap3-sgx-modules: drop from oe-core, it lives in the meta-ti BSP nowadays
OE-core only support qemu based machines, so BSP type recipe should be moved to their respective BSPs

omap3-sgx-modules can be found in the meta-ti BSP: http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-texasinstruments/

(From OE-Core rev: 148feaa1e534ac164b0831e8c21108bae88cab30)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 14:24:40 +00:00
Joshua Lock
70b3434ca9 clutter-gst: upgrade to 1.4.4
(From OE-Core rev: 718b411900d58cd229a500015c63a8d31cf4f5af)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 14:24:39 +00:00
Joshua Lock
b83698e34b puzzles: set SRC_URI checksums
In order to set missing checksums as an error we need to ensure
all appropriate recipes have a checksum value set.

(From OE-Core rev: b43202601707237a2d262e6dd23e9edcf0aaebf6)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-06 14:24:39 +00:00
Richard Purdie
4bdc8b6e37 libsdl: Disable pulseaudio explicitly
Its not listed in DEPENDS so should never have been built. We could
configure this as a configuration option and I'll take a patch for
that but I like deterministic builds so force it off for now.

(From OE-Core rev: 0a7a8597be05c8def8af58eecab49d963dc9d757)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 23:03:43 +00:00
Nitin A Kamble
e3a384578f libatomics-ops: patch source code for x32
This Fixes bug: [YOCTO #1418]

Remove the `q' suffix on x86-64 atomic instructions.

We don't need the `q' suffix on x86_64 atomic instructions for AO_t,
which is defined as "unsigned long".  "unsigned long" is 32bit for x32
and 64bit for x86-64. The register operand in x86-64 atomic instructions
is sufficient to properly determine the register size.

(From OE-Core rev: daaaeb1bd1467a2bed75722ce3ff35be970402e0)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:08 +00:00
Nitin A Kamble
f5c071d93c libaio: patch source code for x32
This Fixes bug: [YOCTO #1417]

Properly load arguments 5 an 6 for x86-64 syscall
Use asm ("r10") and asm ("r8") to load arguments 5 an 6 for x86-64
syscall so that it works with both x32 and x86-64.

(From OE-Core rev: 207e86ba12c15937845ace66206566cd11dac994)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-Off-By: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:07 +00:00
Nitin A Kamble
a3cd4f5ee4 xproto: fix compilation with x32 toolchain
Don't always define LONG64 for AMD64

X32 defines __amd64__/amd64 with 32bit long.  We should simply check
__LP64__ before defining LONG64 without checking __amd64__/amd64.

This fixes compilation with x32 toolchain.

Signed-Off-By: H.J. Lu <hjl.tools@gmail.com>
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/1

(From OE-Core rev: 3678341326ca1011c3b61d29cb21ed67cda04b88)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:07 +00:00
Nitin A Kamble
f3c0a02b92 liboil: patch source code for x32
Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.

This Fixes bug: [YOCTO #1412]

(From OE-Core rev: f43d633540b41c94eacfbc3c5c450ddd192b2164)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:07 +00:00
Nitin A Kamble
b60d604f23 libxt: fix compilatoin with x32 toolchain
This fixes compilation with x32 toolchain.

(From OE-Core rev: 22f487a089be2e1689e7137e4438f7b66c67984e)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:07 +00:00
Nitin A Kamble
89664754fb glib-2.0: fix compilatoin with x32 toolchain
Pass along CC & CFLAGS vars so that the tune parameters set get used.
This fixes compilation with x32 toolchain.

(From OE-Core rev: 512a28b014786a5585d27dbfc785efd620c1d7d6)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:07 +00:00
Nitin A Kamble
a41df69a11 mesa-dri, mesa-xlib: fix compilation with x32 toolchain
Add support for building with x32 toolchain.

Simplified the use of SRC_URI & S vars across multiple files.

(From OE-Core rev: 145de26a7415357a08bcdbc0307b5a60e2ad1420)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:07 +00:00
Nitin A Kamble
13d011204a gmp: fix the recipe for x32 target
Add support for building with x32 toolchain.

(From OE-Core rev: 971c2042351c039b1d51f67e8e78749d0374d729)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:06 +00:00
Nitin A Kamble
51bfed2e26 openssl-1.0.0e: fix to wotk with x32 toolchain
Add BN_ADDR for address type instead of using BN_ULONG or unsigned long:
   1. For W64, address type is unsigned long long, not unsigned long.
   2. For x32, address type is unsigned long , not BN_ULONG.

Added a new targetlinux-x32 in the config file

The do_install() code to move lib/* to lib64 is not needed now with the
enhanced multilib support.

Make the x86-64 assembly syntax compatible with x32 compiler.

(From OE-Core rev: 340c14ac49afa1559c12f8848bef9b6ecf24ef35)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:06 +00:00
Paul Eggleton
4eaa9ffa3f classes/buildhistory: do not save old packagehistory files by default
Disable storing package history as version named files unless
BUILDHISTORY_KEEP_VERSIONS is set to 1; otherwise the adds of these
files that duplicate what is already in git anyway is just noise in the
git log.

(From OE-Core rev: fd2581770b8e4c42aa88f244daca58e27e11dff9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:06 +00:00
Richard Purdie
4c9906c839 libx11-trim: Fix keysymdir configure option mismatch
With the recent set of version increments, the option being passed to
configure no longer matched the patch set. This corrects libx11-trim
so everything is using a consistent option.

(From OE-Core rev: d512a41ed8843a66ed9c5c5978c5f33248083464)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 22:47:06 +00:00
Richard Purdie
e5b9ac3b71 mesa-xlib: Bump PR to resolve various package upgarde conflicts
(From OE-Core rev: b0cf83def3c621221a225787759ff8ca5a501a29)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 16:46:18 +00:00
Paul Eggleton
ef1834ea4c classes/buildhistory: merge in package history functionality
Include package history collection from packagehistory.bbclass (thus
superseding it). The only change is to store package history under
BUILDHISTORY_DIR/packages and rename one of the functions.

(From OE-Core rev: c3266d138dc1cf18c0535bde5a9f48b1d3117bad)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 16:23:53 +00:00
Paul Eggleton
6ba6f4a6f7 classes/buildhistory: add new output history collection class
Create a new build output history reporting class, using testlab.bbclass
from meta-oe as a base. This records information from images produced by
the build process in text files structured suitably for tracking within
a git repository, thus enabling monitoring of changes over time.

Build history collection can be enabled simply by adding the following
to your local.conf:

INHERIT += "buildhistory"

The output after a build can then be found in BUILDHISTORY_DIR (defaults to
TMPDIR/buildhistory). If you set up this directory as a git repository and
set BUILDHISTORY_COMMIT to "1" in local.conf, the build history data will
be committed on every build.

(From OE-Core rev: 14acb530a27a3b088d0bfd56db291f4e72ace8ab)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 16:23:53 +00:00
Paul Eggleton
45c4f0a587 classes/packagehistory: fix and extend
* Replace use of BASEPKG_TARGET_SYS which is no longer available
* Replace use of bb.data.getVar(...,d) with d.getVar(...)
* Change the file structure - use single files within PN/package subdirs
  rather than having a subdir level for each part of the version. There
  is a set of files for each recipe and for each package in directories
  underneath.
* Record more information - PACKAGES, DEPENDS, RDEPENDS, RRECOMMENDS,
  FILES, and the total size and a complete list of the packaged files.
* Record the values in simple text format. The "latest" file, rather
  than a symlink has been changed to a copy of the latest file so that
  if it is tracked in a VCS repository (e.g. git) you can compare it
  easily to the previous version.

Implements [YOCTO #1565].

(From OE-Core rev: 09f79dd245ab82bf105b6efeb1dfbf2d180d9fc8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 16:23:53 +00:00
Matthew McClintock
4d6f8d4b74 siggen.py: If both sigs have a variable in it's whitelist then don't say it's changed
Some BB_HASHBASE_WHITELIST variables are in the lists of variable
dependencies for signatures. Ignore those differences in lists
since this difference does not matter

(Bitbake rev: 71b53a3f0766ca464560a1f6a449f9424fbdf7ae)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 16:23:52 +00:00
Martin Jansa
f6da26f982 bitbake.conf: add default PRINC 0 to be able to increment it
(From OE-Core rev: 656793c706d84460f397b10ceb23ebb721ed3960)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 16:16:12 +00:00
Matthew McClintock
2dfe169121 openjade-native_1.3.2.bb: remove CONFIGUREOPTS as vardep for do_configure
This variable was being expanded immediately and pulling in
paths to the variable dependecies which causes it's sstate-cache
to never be reused

(From OE-Core rev: ddb8d3de34f809b9c72eb3a2223a74f75eff7911)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 16:16:12 +00:00
Robert Yang
2639c37b25 Remove the async_cmds and sync_cmds from command.py
In bitbake/lib/bb/command.py::Command::__init__, we have the following
lines:

for attr in CommandsSync.__dict__:
    command = attr[:].lower()
    method = getattr(CommandsSync, attr)
    sync_cmds[command] = (method)

for attr in CommandsAsync.__dict__:
    command = attr[:].lower()
    method = getattr(CommandsAsync, attr)
    async_cmds[command] = (method)

The sync_cmds and async_cmds are defined as global dictionaries, but it
seems that we've never used them (I did a "grep -r async_cmds bitbake/",
, there is no result except the ones that I have removed), and I can't
find the history of it from "git log -p", I guess that they have been
replaced by the self.cmds_sync and self.cmds_async.

[YOCTO #1791]

(Bitbake rev: 24e99460800856035bb54a84c7aa33b3517436e9)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 16:16:10 +00:00
Joshua Lock
897d1cd951 fetch2: fix Exception parameters when BB_STRICT_CHECKSUM enabled
BB_STRICT_CHECKSUM caused a backtrace as the FetchError parameters are
incorrectly specified such that FetchError is being passed 8 params
when it's expecting 3. This fixes the parameters so we're passing a
formatted string and the url.

(Bitbake rev: b8b2f4287c9125542b18a294c0a94ed89a7e73a8)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 16:16:10 +00:00
Robert Yang
dccb9b9fe8 Remove the duplicated assignments of self.configuration.cmd
The assignments of self.configuration.cmd in BBCooker seems duplicated,
have the followings in both BBCooker::__init__ and
BBCooker::loadConfigurationData:

if not self.configuration.cmd:
    self.configuration.cmd = self.configuration.data.getVar("BB_DEFAULT_TASK", True) or "build"

The __init__ invokes the loadConfigurationData, and it would make sure
that self.configuration.cmd has been assigned a proper value, so we can
remove the one in __init__.

[YOCTO #1791]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-05 16:15:46 +00:00
Richard Purdie
9be6d59b78 dpkg-native: Fix perl path
The path to the native perl was incorrect leading to rootfs failures. This
patch corrects that problem.

(From OE-Core rev: 044324465bd54d53ae768f3c1e7468ae0e0c6200)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:31:08 +00:00
Darren Hart
6a18c3b566 bootimage: Use ${S} explicitly for generated config files
The syslinux and grub-efi classes were generating config files in the current
working directory. This caused a failure due to a race in the creation of the
directories leading to cwd changing and the build failing to find the config
files. While this has been addressed in bitbake, it is better to use an
explicit path.

While ${WORKDIR} may seem a more appropriate place, the recipe
already uses ${S} for the "hdd" and "cd" construction, so we use ${S}
here to keep things consolidated and consistent and address the issue
with minimal change.

(From OE-Core rev: 2c4b1675eb3c8c599e3b7f33e459aa608c2b93f2)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:28:43 +00:00
Dexuan Cui
d428862860 distro_tracking_fields.inc: update the info
They are
pixman
libxrandr
lzo
libxfont
libxcursor
xcb-util
inputproto
liberation-fonts

(From OE-Core rev: d4aef096fb4067d3572ce26a7e25e9b2fb485066)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:28:43 +00:00
Dexuan Cui
94d49c2c99 lzo: remove the uncessary autoconf.patch
Now we already have autoconf-2.68 that is newer than 2.67 that is required
by lzo. So the patch is not needed any longer.

Thanks Khem Raj for pointing this out!

(From OE-Core rev: 703518b501e9b82ee340696bfcce5685c9609ffb)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:28:42 +00:00
Dexuan Cui
7b31027b08 libxfont: remove the unused no-scalable-crash.patch
(From OE-Core rev: 395dcd212909f69a099c52ff8536a750da71ef2b)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:28:42 +00:00
Zhai Edwin
e5b5c3ab13 distro-tracking: Update info after last upgrade
(From OE-Core rev: 4f2e715dc72d947abba70bbc0923460f5d733ecd)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:28:42 +00:00
Zhai Edwin
7bdb97b0f6 x11vnc: Upgrade to 0.9.13
(From OE-Core rev: 69658a1ab2d13ca2d89cca255a634e980127d7ac)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:28:42 +00:00
Zhai Edwin
dc31d3763c pcmanfm: Upgrade to 0.9.10
(From OE-Core rev: 8eb51099cbd4c7f8a8e3787eafdc963d7feffb36)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:28:41 +00:00
Zhai Edwin
8ba7f1372c libfm: Upgrade to 0.1.17
(From OE-Core rev: 26b20e8047be3b0e20891de2ba11d04a20e4730e)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:28:41 +00:00
Saul Wold
c16cd56f17 linux-yocto_2.6.34: remove bbappend
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:24:05 +00:00
Saul Wold
b5734ca527 kernel-yocto: fix extra CR in do_kernel_checkout
(From OE-Core rev: 405ac5f5e8604dec087c7d87056c8c7f85739a41)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:20:27 +00:00
Bruce Ashfield
8885163a35 kern-tools: use Makefile provided install rules
Previously the install of the kern-tools was manual and fully controlled by
whatever build system was integrating/using the utilities. To make this more
generic a Makefile is now provided to take care of installing and removing to
DESTDIR.

Updating the kern-tools recipe to take advantage of this new facility.

(From OE-Core rev: 8af13cc0038111cbb13d9718256d491d326ed5e8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:20:27 +00:00
Bruce Ashfield
19b4f42db4 kern-tools: add pre_config and merge_config.sh to the list of tools
As a transition step to moving kern_tools into the kernel tree
itself this change adopts merge_config.sh as a common base for
merging configuration fragments. So we add merge_config.sh and
pre_config to the list of kern_tools.

(From OE-Core rev: 78efb73e0bca09c09574ce23622859db412a26c8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:20:27 +00:00
Bruce Ashfield
1752107cb1 linux-yocto: prefer in-tree tools to external ones
(From OE-Core rev: ae7b3c518020715dde8b9eabdf30c71430e31712)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:19:58 +00:00
Bruce Ashfield
bb93ece01d linux-yocto: v3.0.10 + rt27
Updating linux-yocto to a 3.0.10 base, and refreshing the rt kernel
branches to contain the latest 3.0-rt27 changes.

(From OE-Core rev: bdeedc55ad2cf3c26828bc51d8ad06b64469a500)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:19:57 +00:00
Bruce Ashfield
a6bd162bd4 linux-yocto: v3.0.9 + enhancements
Updating the branch SRCREVs to pickup:

 - The kernel.org -stable update to v3.0.9 is available and merged into
   all BSP / kernel branches.
 - Darren Hart's cleanups to the mount root patch.

(From OE-Core rev: 039cccc0f50827413ebb68fcf0514f242f4d77aa)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:19:57 +00:00
Bruce Ashfield
70e26e6995 linux-yocto: remove 2.6.34 recipes
To limit the number of active recipes in master to 3 (v2.6.37, v3.0 and
-dev), the 2.6.34 recipe can now be removed. It is available in the
previous release branches and will continue to work, but won't be
updated as part of ongoing dev efforts.

(From OE-Core rev: bd5f38b0bb063b2fb2e46abc5d7ffaed4b6b502c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:19:57 +00:00
Bruce Ashfield
44cf077ac1 kernel-yocto: support allnoconfig base configuration
When creating a minimal config or creating a hard baseline for
incremental changes, it is often desired to disable all kernel
options and then begin building and enabling only what is required.

To support this workflow, a new variable KCONFIG_MODE is introduced
to contain a hint to the kernel configuration about how the kernel
config should be produced. This variable is passed directly to lkc
when it is invoked during configuration, so the contents of the
variable must be a valid option for the kernel config build.

Additionally, when a defconfig is detected, allnoconfig is enabled
as the default operation, unless otherwise specified by KCONFIG_MODE.

(From OE-Core rev: 644f2e525b910b9ff8d9aaa33f11eba3fefa7c85)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:19:56 +00:00
Richard Purdie
77b0a2dd67 mesa-demos: Bump PR after other mesa changes
(From OE-Core rev: bdcbccb9865e31c68cadbdd276f0f42ea6b2c0c1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:14:02 +00:00
Saul Wold
bb054d5f27 distro tracking updates
(From OE-Core rev: a7ecbe362e8881743a7b04ed1266c638daf54491)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:14:02 +00:00
Saul Wold
0b90bb047f ubootchart: update to svn R12
(From OE-Core rev: 4eb6325be86e3b698bebc38effa565fcc3108ee4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:14:02 +00:00
Saul Wold
26ce75d707 less: Update to 444
(From OE-Core rev: ee1242197c1458e690ffb4c70e28bf8a0339eb0f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:14:02 +00:00
Saul Wold
931295c184 sqlite3: Update to 3.7.9
(From OE-Core rev: e43b4fbcd28e05b3f9f4c72658f2e69701c2e0f7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:14:01 +00:00
Saul Wold
be94a2f928 sysstat: Update to 10.0.3
(From OE-Core rev: 8fc40b6f2d3ac0e5c4983ce3f1b412d636f2b257)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:14:01 +00:00
Saul Wold
1131efec32 psmisc: Update to 22.14
* Create psmisc-extras for unpackaged binaries
 * rebase patch
 * set LICENSE to GPLv2

(From OE-Core rev: db339e1955ea95f9a3dd3c65677bad6b6e7fa0ea)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:14:01 +00:00
Saul Wold
338f90982e resolvconf: Update to 1.62
* remove unneeded directory that does not get packaged

(From OE-Core rev: 5780057f7328b77732471ba80f59e87977e94e72)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:14:00 +00:00
Anders Darander
f142522cf7 busybox: update to 1.19.3
The updates to patch busybox-udhcpc-no_deconfig.patch is not fully verified.

Adds one upstream patch to 1.19.3.

(From OE-Core rev: e1504767c39c7ec4e280293d99530aa50bddcd20)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:14:00 +00:00
Stefan Schmidt
5ff296eb33 logrotate: Add dependency on popt lib.
Without this logrotate may fail like this:
 compilation terminated.
| config.c:9:18: fatal error: popt.h: No such file or directory

(From OE-Core rev: 67c0878c31b564a53b176b135b1a58155a2b5f4e)

Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-02 15:14:00 +00:00
Richard Purdie
9d6790c440 cooker.py: Allow the -e option to work with virtual classes and -b
Using bitbake -e -b virtual:xxxx:/path/to/the.bb would result in
zero matches since the virtual:xxxx piece wasn't being processed.

This adds in the necessary functionality to handle it correctly.

[YOCTO #1793]

(Bitbake rev: bd5a727c8447bcb747c1d2463b7de2ab6d21a7de)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 23:14:05 +00:00
Richard Purdie
b187b2775c Revert "classes/buildhistory: add new output history collection class"
This reverts commit 508ff624fea705eb93cf2cc1e0c9c42cb817acf8. RP
accidentally pulled the wrong commit in, it was supposed to be a
*package*history bbclass change.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 23:02:12 +00:00
Nitin A Kamble
d8bee043cb libtool: Upgrade from 2.4 -> 2.4.2
Rebased patches to the newer source code and deleted resolve-sysroot.patch
since its already applied upstream

merged libtool-2.4.2.inc & libtool.inc files

replaced PR with ${INC_PR}.0

(From OE-Core rev: aa0cb889a4ef883235dc3f3e1d76ee4a556ae03a)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 20:40:23 +00:00
Nitin A Kamble
177b2e337a binutils: fix for .debug files QA warnings
THis commit fixes these QA warnings for binutils recipe
WARNING: For recipe binutils, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/arm-oe-linux-gnueabi/bin/.debug
WARNING:   /usr/arm-oe-linux-gnueabi/bin/.debug/strip
WARNING:   /usr/arm-oe-linux-gnueabi/bin/.debug/objcopy
WARNING:   /usr/arm-oe-linux-gnueabi/bin/.debug/objdump
WARNING:   /usr/arm-oe-linux-gnueabi/bin/.debug/ld
WARNING:   /usr/arm-oe-linux-gnueabi/bin/.debug/nm
WARNING:   /usr/arm-oe-linux-gnueabi/bin/.debug/as
WARNING:   /usr/arm-oe-linux-gnueabi/bin/.debug/ranlib
WARNING:   /usr/arm-oe-linux-gnueabi/bin/.debug/ld.bfd
WARNING:   /usr/arm-oe-linux-gnueabi/bin/.debug/ar

(From OE-Core rev: 1615287660e9d0cce89c7d6d5ad177769856b3cc)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 20:40:23 +00:00
Nitin A Kamble
ceaff6ed8f gmp: also generate the libgmpcxx library & package it properly
configure runs few checks to make sure c++ compiler and runtime are working
as expected with the --enable-cxx=detect option. And it enables building
of libgmpxx library.

Same as earlier the libgmp.so.10.x file is packaged in the libgmp10 package,
and a new package named libgmpxx4 is added for libgmpxx.so.4.x file.

(From OE-Core rev: ac59ea9d55c2fae870fb60dbba920fefe1f3487f)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 20:40:23 +00:00
Koen Kooi
c0e5906ea0 metacity: bump PR for xcb-util change
(From OE-Core rev: b3e0c3a531b813d235c62109a7583e4995a859e4)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 17:04:25 +00:00
Koen Kooi
208f8f9e93 zlib 1.2.5: install pkgconfig file, needed for e.g. modern webkit
Upstream has grown cmake support which would allow us to dump the OE autotools hack, but the cmakefile doesn't install the .pc file either and breaks with zlib-native

(From OE-Core rev: e1312eef88cb0f3f1557d431f0b31520b2a9968e)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 16:54:08 +00:00
Paul Eggleton
1dcb2d8eeb classes/buildhistory: add new output history collection class
Create a new build output history reporting class, using testlab.bbclass
from meta-oe and packagehistory.bbclass as a base. This records information
from packages and images output from the build process in text files
structured suitably for tracking within a git repository, thus enabling
monitoring of changes over time.

Build history collection can be enabled simply by adding the following
to your local.conf:

INHERIT += "buildhistory"

The output after a build can then be found in BUILDHISTORY_DIR (defaults to
TMPDIR/buildhistory). If you set up this directory as a git repository and
set BUILDHISTORY_COMMIT to "1" in local.conf, the build history data will
be committed on every build.

(From OE-Core rev: 508ff624fea705eb93cf2cc1e0c9c42cb817acf8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 16:54:07 +00:00
Paul Eggleton
8e2c578767 classes/base: split out metadata revision code to separate function
Split out a new function get_layers_branch_rev() which returns a list
of the metadata layers and their revisions. This enables reuse in other
places, such as buildhistory.bbclass.

(From OE-Core rev: c1bca5d95051362320008f16d8f5acd87faa34ac)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 16:54:07 +00:00
Darren Hart
64f3e247df trace-cmd: Add blktrace_api compatibility for TC_BARRIER
Newer kernels replace TC_BARRIER with TC_FLUSH. Ensure trace-cmd
can build regardless of the linux-kernel-headers version.

This is intended as a stop-gap to get the builds working again. A
proper fix will need to be discussed with the trace-cmd community.

RP: Tweaked the SRC_URI to remove unnecessary path and added PR bump
(From OE-Core rev: 869372e7e11b9ba38fcfb721c460404c6f31db95)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 16:54:07 +00:00
Richard Purdie
a2070fb645 puzzles: Ensure to link against libm for math functions
Without this we can see failures like:

| make: *** [samegame] Error 1
| /media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.3/ld: inertia.o: undefined reference to symbol 'sqrt@@GLIBC_2.0'
| /media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.3/ld: note: 'sqrt@@GLIBC_2.0' is defined in DSO /media/build1/poky/build/tmp/sysroots/qemux86/lib/libm.so.6 so try adding it to the linker command line
| /media/build1/poky/build/tmp/sysroots/qemux86/lib/libm.so.6: could not read symbols: Invalid operation
| collect2: ld returned 1 exit status
| make: *** [inertia] Error 1

(From OE-Core rev: 2ebfb9d9ed7554180c3c077b14291a1853f8e2ef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 16:54:07 +00:00
Khem Raj
bf45449f1a classes, conf: Exclude native and nativesdk recipes from libc specific override
Based on suggestions from RP

libc-uclibc and libc-glibc overrides are for denoting
system C library in use on the target and not for the
host therefore we make sure that the override only takes
effect for target recipes only.

(From OE-Core rev: 6e2b53f47da0e97271fb51b281d24da1e1d549cc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 16:54:07 +00:00
Richard Purdie
f9e56d0ba4 libc-package.bbclass: Fix typo in setVar usage
(From OE-Core rev: 30584cbcdc4b709c52325a321c1175bfaf63a167)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:51:07 +00:00
Richard Purdie
520f7b5b09 gnu-config: Only apply path transformations in the non-native/non-nativesdk case
The BUILD_ARCH != TARGET_ARCH check isn't a safe one to detect native builds
and doesn't cover the nativesdk case. This converts the recipe to use PN
instead which is more accurate and ensures the correct entries making it
into the correct packages.

(From OE-Core rev: 4a601314604e8428d9dace95c32a71a57eacaaf5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:46:00 +00:00
Richard Purdie
7cffb5b8a8 gnome-desktop: Bump PR after xcb-util changes
(From OE-Core rev: 19266bcaae3ee4588e2da1e76a1066f2a150f371)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:33:03 +00:00
Joshua Lock
012b4af733 distro_tracking_fields: update gthumb and claim some recipes
Update tracking info for gthumb and add untracked recipes mx,
json-glib and xdg-utils - I'm volunteering to maintain these.

(From OE-Core rev: 46a56c306fb6645fd5d6d344d4d64d6b0539bc21)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:25:33 +00:00
Joshua Lock
73c0fc027d gthumb: update to 2.12.4
(From OE-Core rev: 047f14fafc270b28c7f8e11d764c7ac40130cbe3)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:25:33 +00:00
Dongxiao Xu
413619bf64 distro_trakcing_fields: update for glib, telepathy-idle, etc
- glib-2.0
 - telepathy-glib
 - telepathy-idle
 - telepathy-mission-control

(From OE-Core rev: 89081ef37ba4dc7b305e03095c7c4e6701463812)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:20:02 +00:00
Dongxiao Xu
481f6a03c0 telepathy-mission-control: upgrade to version 5.10.1
(From OE-Core rev: e95df0377fba09d5234c4e59b9db9937a6353b51)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:20:02 +00:00
Dongxiao Xu
600afa214d glib-2.0: upgrade to version 2.30.1
(From OE-Core rev: b717abfaae0eaea65f8c7466ad987175a2456289)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:20:02 +00:00
Dongxiao Xu
ea4123d2f4 telepathy-glib: upgrade to version 0.17.0
(From OE-Core rev: 97042eb0994354fe7424992afc7cdfa4f5daf5cf)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:20:02 +00:00
Dongxiao Xu
c37f6517c6 telepathy-idle: upgrade to version 0.1.11
(From OE-Core rev: 8766d0c340e0a06710578915da3f71bf5023858b)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:20:01 +00:00
Martin Jansa
1f8405e536 coreutils: fix u-a for base64, mktemp and df
* busybox installs mktemp and df to base_bindir not bindir
  SHR root@gjama ~ $ ll /bin/df /bin/mktemp /bin/base64
  lrwxrwxrwx 1 root root 7 Nov 10 15:44 /bin/df -> busybox
  lrwxrwxrwx 1 root root 7 Nov 10 15:44 /bin/mktemp -> busybox
  lrwxrwxrwx 1 root root 7 Nov 28 15:48 /bin/base64 -> busybox

* so u-a for coreutils fails:
  update-alternatives: Error: cannot register alternative base64 to /usr/bin/base64 since it is already registered to /bin/base64
  update-alternatives: Error: cannot register alternative mktemp to /usr/bin/mktemp since it is already registered to /bin/mktemp
  update-alternatives: Error: cannot register alternative df to /usr/bin/df since it is already registered to /bin/df

(From OE-Core rev: 7f71e866ecdbe0491c26b4eb5b83d8d2573f8eda)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:20:01 +00:00
Martin Jansa
d10d614d01 shadow: use u-a for /usr/bin/groups
* otherwise coreutils upgrade fails with
  update-alternatives: Error: not linking //usr/bin/groups to groups.coreutils since //usr/bin/groups exists and is not a link

(From OE-Core rev: 3080f523dfe2da165dcb976676ac1dcfc77b0abc)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:20:01 +00:00
Martin Jansa
1c62040f89 gconf: add polkit to DEPENDS only for target recipe and disable default-service for native
* gnome-common-native is needed because gnomebase.bbclass does only
  DEPENDS += "gnome-common"

(From OE-Core rev: 91b94f93edbff234b70723419bf4caf13a71777b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:20:01 +00:00
Richard Purdie
aab6939cb1 build.py: Be determistic about a function's cwd
There is a subtle but nasty problem that a function's cwd can vary
depending on whether ${B} (often ${S}) exists before the funciton is
called or not. Most functions in the system can cope with this but
its bad practise and I've just witnessed build failures resulting
from this during image generation from bootimg.bbclass. I also
suspect this could explain some odd fetcher behaviour witnessed in
the past.

This change ensures we always call funcitons with a specific build
directory making things deterministic.

(Bitbake rev: ef0888f83fa4408eb768257d7e03700202faad18)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 12:06:27 +00:00
Koen Kooi
4c763002dd pulseaudio 1.1: add filter-apply and filter-heuristics to pulseaudio-server RDEPENDS, it won't start without
(From OE-Core rev: 6ef79ede361c42e11e78d4afcff11295a3144055)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:53:36 +00:00
Koen Kooi
5615998223 pulseaudio 1.1: convert to useradd.bbclass
The only thing that got lost in the conversion is the "Pulse Audio daemon" description:

root@beagleboard:~# grep pulse /etc/passwd /etc/group
/etc/passwd:pulse:x:999:1000::/var/run/pulse:/bin/false
/etc/group:audio:x:29:pulse
/etc/group:pulse:x:1000:pulse

(From OE-Core rev: 2e5c7566a4b76bf3e783844cc69fd1313c6d97a4)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:53:36 +00:00
Darren Hart
80986e1182 trace-cmd: Update to 1.2 (includes kernelshark)
Update the trace-cmd and kernelshark recipes to version 1.2. Rename the recipes
to the more descriptive trace-cmd_1.2.bb and kernelshark_1.2.bb respectively.

Update addldflags.patch for 1.2 and current Upstream-Status (Accepted).

Add make-docs-optional.patch to avoid building the new doc target which
requires asciidocs. We should add asciidocs and properly package the
docs, but for now it's more important to get the sources current.

(From OE-Core rev: 73ac48377491561151658617d8cc45936242eb0c)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:10 +00:00
Dexuan Cui
fa25490782 make: expand MAKEFLAGS before we re-exec after rebuilding makefiles.
This patch was got from the upstream cvs repo of make to fix the bug of
make-3.82: http://savannah.gnu.org/bugs/?30723

RP: Tweaked patch status to Backport
(From OE-Core rev: c2094366ea0771c520d52f0b73b8df1bd74e7941)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:10 +00:00
Dexuan Cui
55c40d4c84 task-self-hosted: install sudo, tun.ko, iptables, libgl and libgl-dev into the target
sudo, kernel-module-tun and iptables are needed by runqemu.
strace has appeared in RDEPENDS_task-self-hosted-debug, so let's remove it
from RDEPENDS_task-self-hosted-extended.
install libglu and libgl-dev rather than mesa-dri and mesa-dri-dev due to the
recent commit "mesa: package gl/egl/osmesa to separate packages".

(From OE-Core rev: f782789dd70af8046abb9fd1e05f153e0a9d458c)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:10 +00:00
Martin Jansa
9c13c3fd1d matchbox-panel-2: add unpackaged .la files to PN-dev to fix QA warning
(From OE-Core rev: 341daa416c65ea6a1a6c00fec9b50efed07fc24b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:09 +00:00
Martin Jansa
e387facf0f matchbox-panel-2: bump PR, because of xcb-util was renamed to libxcb-util0
(From OE-Core rev: 45daabb090b58605d5b96d101078bac75972c183)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:09 +00:00
Martin Jansa
dc7d44220b startup-notification: bump PR, because of xcb-util was renamed to libxcb-util0
(From OE-Core rev: 532e290c78f947ad6354a1635555e1814b955fc3)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:09 +00:00
Martin Jansa
53a59dc19d apr-util: bump PR for gdbm SOVERSION change
(From OE-Core rev: 19008204cd6a5bbc20491b1c897d6cf4f7407506)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:08 +00:00
Martin Jansa
cafe634233 gst-plugins-good: bump PR for gdbm SOVERSION change
(From OE-Core rev: 2c7006d4b8018f169cc60b428eb83c2f8004ec06)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:08 +00:00
Saul Wold
cd7d0581a0 libffi: Update to 3.0.10
* Update License Checksum due to Date change
 * Added --disable-builddir because of configure using
   $0 with full path and a ../$0

(From OE-Core rev: 6cd8a159c9a7db88e6574f6262178617f7c472ee)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:08 +00:00
Saul Wold
d60d726359 gnutls: Update to 2.12.14
* Add patch for fixing gettext version from 0.17 -> 0.18

(From OE-Core rev: 1c7fbbf6cbdcf804c232c750f10b0a967204e54a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:08 +00:00
Saul Wold
a7ca3b4275 xserver-xorg*: Update to 1.11.2
(From OE-Core rev: e2a427ef463b2892c17d0007619eb6b08a050414)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-01 10:50:08 +00:00
Martin Jansa
d7cd934376 squashfs-tools: fix PR, those should start with 'r'
(From OE-Core rev: f4efaa0f472b4bf0ba0a0297cc9ecc8b5a671f72)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 23:37:44 +00:00
Julian Pidancet
a4b7188efd Fix multiarch DISTRO_FEATURE
Make get_gcc_multiarch_setting more elegant. Use a dictionnary
to store the config options and replace bb.data.getVar with d.getVar.
Remove i686 from the architecture list because it doesn't seem
to be a valid TARGET_ARCH any more in OE.
Configure gdb (gdb and gdb-cross) with --enable-64-bit-bfd if
multiarch DISTRO_FEATURE is present

(From OE-Core rev: 0b42b2fc118bef8ce0d1473b146673182f5d1f78)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 23:36:08 +00:00
Richard Purdie
f340e3937f consolekit: Fix ${localstatedir} race
The change adding ${localstatedir}/log to the package caused failures
on meta-toolchain-gmae builds since ${localstatedir} might be a
symlink and it can be installation order dependent.

By adding in the RDEPENDS, we defer to base-files to ensure
the layout is correct and that packages install correctly.

(From OE-Core rev: 8ed16b26dfefac4b42766b9f7090bb3b76110fe3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 23:00:25 +00:00
Darren Hart
73861c8053 grub: Use COMPATIBLE_HOST
Drop the anonymous python block in favor of the much simpler
COMPATIBLE_HOST mechanism.

(From OE-Core rev: 36654d6d393cb8c8a545835184a96be4ae0c885d)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:22:06 +00:00
Darren Hart
0d6c01ceb4 grub: Drop "apply=yes" from patch
The "apply=yes" doesn't appear to be necessary, drop it in favor of
a simpler SRC_URI specification.

(From OE-Core rev: 978fb865897a178c3ba6b6cf3672da53c25b5171)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:22:06 +00:00
Darren Hart
4592af4c89 autotools.bbclass: Report the missing configure path
If the configure script isn't found, report the explicit path tried.
This can help debug subtle errors where the ${S} sourcedir may not
be exactly what is expected.

(From OE-Core rev: 8cdee4c9b8ffcba69134258eff72eede61acd12f)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:22:05 +00:00
Darren Hart
37f98f590d meta-environment: Fix a typo in do_populate_sysroot[noexec]
I noticed with while grepping for usage of noexec. Replace
do_populage_sysroot with do_populate_sysroot.

(From OE-Core rev: 278febfc6d8f35f00f770db519e5a5d4040ae39c)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:22:05 +00:00
Dexuan Cui
5de3e3d175 xcb-util: upgrade from 0.3.6 to 0.3.8
updated LIC_FILES_CHKSUM since the code was re-organized, but the license
remains the same.

(From OE-Core rev: 6171e0f9c67a7085c62658eedf318107f3eee878)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:11 +00:00
Dexuan Cui
01e1f34dba libxcursor: upgrade from 1.1.11 to 1.1.12
(From OE-Core rev: e1bbc6a8c7981b76d1be9bac7ad970cdc81a258b)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:11 +00:00
Dexuan Cui
54eb22ae13 libxfont: upgrade from 1.4.3 to 1.4.4
updated LIC_FILES_CHKSUM:
only Copyright holder change in COPYING -- no actual license change.

(From OE-Core rev: c1ede6725dccb0f9a95313b70bbe4b941edffdd9)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:11 +00:00
Dexuan Cui
352d8e8b76 lzo: upgrade from 2.05 to the latest version 2.06
(From OE-Core rev: ca76d82c080439434ebfa9c79a449148a2467157)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:11 +00:00
Dexuan Cui
1c9ff48811 libxrandr: upgrade from 1.3.1 to the latest version 1.3.2
(From OE-Core rev: 99830ed5145608cf1b725b91ef578d083570edd6)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:10 +00:00
Dexuan Cui
3123025888 pixman: upgrade from 0.22.0 to the latest stable 0.24.0
(From OE-Core rev: 20cef37479c2f46396dff4910e64f7e145d40ef0)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:10 +00:00
Zhai Edwin
e4ba78ff1c eee-acpi-scritps: Upgrade to 1.1.12 via git tag
(From OE-Core rev: ba6441316651ba1739f7e827b46653f78c099721)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:10 +00:00
Zhai Edwin
961ee2fc8d x11perf: Upgrade to 1.5.4
(From OE-Core rev: 4a80d46baee6d845c7d6afea1ef9a4240bcbe15a)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:10 +00:00
Zhai Edwin
78fa8144ae libcroco: Upgrade to 0.6.3
(From OE-Core rev: e30ccae2c24847f25e380b2820e3c4d74b5eeff3)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:09 +00:00
Zhai Edwin
2cae1973ba libsoup-2.4: Upgrade to 2.36.1
(From OE-Core rev: 60cdf4638e41958aede8290bef20a9c3e925aeb1)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:09 +00:00
Zhai Edwin
67d7e8da98 polkit-gnome: Upgrade to 0.102
(From OE-Core rev: 40c5111554bb685f9240174ad9067c4749088649)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:09 +00:00
Zhai Edwin
a76c9cade3 xz: Upgrade to 5.0.3
(From OE-Core rev: 470bf7ca5a0ce1c2667cef8708eb86e4ee74db01)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:09 +00:00
Zhai Edwin
26b667cfcb gtk+: Upgrade to 2.24.8
(From OE-Core rev: c9dab6fda614051d9ed869a1ec42f4212726b313)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:08 +00:00
Darren Hart
77d5a0c4c4 bootimg: Allow for EFI-only boot images
Condition building PCBIOS legacy images on MACHINE_FEATURES containing "pcbios"
or not containing "efi". This ensures existing BSPs will continue to get the
old PCBIOS legacy-only images. New BSPs can add "efi", "pcbios", or both. The
images created likewise support one or the other or both.

EFI-only ISO images are untested.

(From OE-Core rev: be3fc8c07e84c654f55c5d09934dfbdc7ff7e2b6)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:08 +00:00
Darren Hart
eb4aa3483b bootimg: Add grub-efi support
Create a new grub-efi.bbclass and integrate it into bootimg alongside the
syslinux support. This new class uses the output from the grub-efi-native
recipe. Thanks goes to Josef Ahmad <josef.ahmad@intel.com> for the original
build_grub_cfg() routine.

The EFI features are only added to the image if MACHINE_FEATURES contains
"efi". The resulting images are therefor either legacy boot only (like they
were originally) or legacy boot and EFI boot.

A new "dummy.bbclass" was added to allow for the conditional include
of grub-efi. This makes it so if efi support is not to be built in, we
don't spend time building grub-efi-native just because the include adds
the dependency.

There is a bug in the mkdosfs tool from the dosfstools package which causes
it to crash when the directory passed with the -d parameter contains
sub-directories. An /EFI/BOOT directory is required for a proper EFI
installation. Until it is fixed, we install to the top level directory
for the hddimg.

(From OE-Core rev: be95f54495bf9e03062f86b929c66cab6e385a03)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Josef Ahmad <josef.ahmad@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:08 +00:00
Darren Hart
bcbd57aae5 bootimg: Pull syslinux specific bits into syslinux.bbclass
Working towards a more generic bootimg.bbclass, pull out all
syslinux specific bits and let syslinux.bbclass manage them
directly. This introduces no functional changes to the images
constructed and the behavior remains unchanged.

(From OE-Core rev: 1915293688d348a765aa0bcdf01168c9fecd9842)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:08 +00:00
Darren Hart
4cdd02fe10 bootimg: Refactor build_hddimg and build_iso routines
Separate the construction of the ISO image from that of the hddimg.
This is part of the groundwork for creating a much more flexible
live image builder.

(From OE-Core rev: 2da25c7c6649757350782a939bcc7553c5c86570)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:07 +00:00
Darren Hart
fcde2d65a7 grub-efi-native: New recipe to build GRUB EFI images
Add a recipe to build the GRUB efi images. This recipe is written as
a native recipe as the resulting GRUB utils are required to assemble
the final image. Rather than build a native and a target recipe (and
increase build times), this recipe builds the utils for the host and
passes an appropriate --target argument to the GRUB configure script
to build the modules for the target arch. The only output of this
recipe is an EFI image in the deploy directory.

Care is taken to ensure changing targets will force a rebuild of this
native recipe by including the target arch in the PN.

(From OE-Core rev: f9518a368f041ceccb4a36061d91ae64cd4dabd4)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:18:07 +00:00
Richard Purdie
1098d8d35c mailx: Add missing openssl DEPENDS and bump PR after openssl 1.0
(From OE-Core rev: 50f1bfb818f141eecd36517d3a760b22af8c1d84)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:02:30 +00:00
Koen Kooi
38be5d36d3 perl: bump PR for gdbm SOVERSION change
(From OE-Core rev: 5ba2df7ceac938e0b36256acdd8c2ec1e754f8b1)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:02:30 +00:00
Koen Kooi
b480b6d119 pulseaudio: bump PR for gdbm SOVERSION change
(From OE-Core rev: f334a041e7318cac2bb43643e154cafa9faeb374)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:02:30 +00:00
Koen Kooi
9eecd86ce2 gdbm 1.10: use lib_package.bbclass to match packaging with 1.8.x
SOVERSION changed from 3 to 4, so PR bump for dependant recipes (perl, pulseaudio) are needed as well)

(From OE-Core rev: 779a0156b903d45a91f0b233176f570bd5bf72c8)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 22:02:29 +00:00
Xiaofeng Yan
e233887294 libx11-trim: Change checksum
Correct checksum because checksum error for libx11-trim arise when compiling.

(From OE-Core rev: 24cef800d61a1ed0bd5d4f67ed86e05e9e239400)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 17:51:07 +00:00
Joshua Lock
f92b2db3e1 distro-tracking-fields: update entries for clutter recipes
Tidy up entries for clutter related recipes
* Update to 1.8 namespace
* Move to same section of file for easier maintenance as a unit
* Update for recent recipe upgrades
* Assign myself as maintainer

(From OE-Core rev: 7507ee036e79f9b817c68003f8acaee8af9ed15b)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:55 +00:00
Joshua Lock
da1c3e3f95 clutter-box2d: drop unbuildable clutter-box2d-1.6_0.10.0
It's very old at this point and doesn't build with recent clutter

(From OE-Core rev: 04d2bb8e83aaac856f03f3fc9772285bd82182e4)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:54 +00:00
Joshua Lock
b231f14792 clutter-box2d: fix LICENSE field - LGPL-2.1
clutter-box2d has had the same COPYING file since 2008-04-03, therefore
update the license field in the inc file to reflect its contents.

(From OE-Core rev: 755726a7441794b8b5ac9de05744f85adf02f596)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:54 +00:00
Joshua Lock
e15ee3de9b clutter-box2d: Update git recipe
Several changes and fixes exist unreleased in git with version 0.12.1,
update to build the latest available.

(From OE-Core rev: 07799e71135a059cdbf1b8720a8094e2e22ac1b6)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:54 +00:00
Joshua Lock
50e32043a1 clutter: move STDDEPENDS to inc
We only build clutter-1.8 now so move the additional STDDEPENDS from the
recipe to the inc file. This has the added benefit of fixing
clutter_git.

This patch also fixes the LIC_FILES_CHKSUM for clutter_git

(From OE-Core rev: f49f3cbdbf06f9c4b2fcbbbdc892d8de7997c527)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:54 +00:00
Joshua Lock
8e4e51825f cogl: add missing depends on libxcomposite
Cogl checks for libxcomposite at configure time.

(From OE-Core rev: 4607b8bdf1565d404c32c45a634d37e1ae2ee4aa)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:53 +00:00
Joshua Lock
1b4d7fcdb3 clutter-*-1.6: drop clutter 1.6 recipes
Clutter 1.8 is API and ABI compatible with Clutter 1.6 according to the
release notes so there's no need to keep these recipes around.

www.clutter-project.org/blogs/archive/2011-09/clutter-1.8.0-stable-release

(From OE-Core rev: cd2f5a74c6021652866edf3e4060b95c0dd81376)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:53 +00:00
Joshua Lock
4f88296244 mutter: switch to clutter-1.8 to satisfy dependency
It's API and ABI compatible with 1.6 so just update the DEPENDS entry.

(From OE-Core rev: 0edeb76af401b23b57a895b472ff2995b2f842b5)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:53 +00:00
Joshua Lock
1f70775506 task-core-clutter: use clutter-1.8
(From OE-Core rev: 0603b80bcf5df260765be3da4731554c9dd87250)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:53 +00:00
Joshua Lock
812530c580 clutter: PROVIDES clutter-1.6
Since the two are API/ABI compatible and this may make things easier for
external layers using clutter.

(From OE-Core rev: ec89071836f3844c41a34061af4baf706036e371)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:52 +00:00
Joshua Lock
b8d6f3632c multilib.conf: remove clutter-1.6 and add clutter-1.8
clutter-1.8 is the future here.

(From OE-Core rev: f8616319f0ffba6e0400234af69df17dc036edee)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:52 +00:00
Joshua Lock
086fad7388 clutter: drop unneeded bbappends
The --with-flavour-glx option is the default in clutter.inc now

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-11-30 15:45:55 +00:00
Martin Jansa
4314df7762 gst-plugins-ugly: bump PR to rebuild after libid3tag fix
(From OE-Core rev: bd5d7cd903f762b8d7260365018839969fa0ebf1)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:31 +00:00
Martin Jansa
c6f80a64e4 libid3tag: add gperf to DEPENDS
* see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=270449

(From OE-Core rev: 9a2f49c97116dfd718a6a055b296fc68ad668d5f)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:31 +00:00
Martin Jansa
87a33b4730 libical: drop older version 0.46
(From OE-Core rev: 8b2817878e35825103b2bf5dc22c10e09c9a9100)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:31 +00:00
Denis 'GNUtoo' Carikli
b926e58e56 libical: add version 0.47
(From OE-Core rev: 0afcd070348f68516d4404e2b6e5fbf8cc6bc428)

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:30 +00:00
Martin Jansa
bfa270b94f ppp-dialin: use useradd.bbclass instead of hardcoded adduser/deluser calls
(From OE-Core rev: 942739b6a1e786a06b6aa67f6be8158232a9f98a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:30 +00:00
Martin Jansa
9f5bc21775 cronie: use useradd.bbclass instead of hardcoded groupadd calls
(From OE-Core rev: 42dde10337d464948ede8f7e7eec543f2396793e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:30 +00:00
Martin Jansa
3a70e773de mingetty: use u-a to provide /sbin/getty (also provided by util-linux-agetty and tinylogin)
(From OE-Core rev: ad0d9fb794497fc747a1ad4c82cae44a47143932)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:30 +00:00
Martin Jansa
8a58832280 util-linux: use u-a to provide /sbin/getty from util-linux-agetty
* inittab and systemd-serialgetty expects /sbin/getty not agetty

(From OE-Core rev: 9e5c69860e6b687b93e653510ceba8e1f9c6d0f5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:29 +00:00
Martin Jansa
c91fdcf3a0 tinylogin: use u-a for getty so we can provide /sbin/getty from util-linux-agetty too
(From OE-Core rev: f218573248168268c143bac7f6304cc76d8d709a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:29 +00:00
Koen Kooi
4217c91aba pulseaudio 1.1: replace hardcoded /etc with ${sysconfdir}
(From OE-Core rev: 82414933a98b30f48507858e7fc22b349a4f8dab)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:29 +00:00
Koen Kooi
9922ac7b80 pulseaudio 1.1: only run volatiles script when populate-volatile.sh exists
Volatiles are handled differently in a systemd world make the postinst fail:

//var/lib/opkg/info/pulseaudio-server.postinst: line 10: /etc/init.d/populate-volatile.sh: No such file or directory
Collected errors:
 * pkg_run_script: package "pulseaudio-server" postinst script returned status 127.
 * opkg_configure: pulseaudio-server.postinst returned 127.

(From OE-Core rev: d911635bdcb84bb162b49bca32c7c7867e56a023)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:29 +00:00
Joshua Lock
dd860e9a7a clutter-1.8: package examples
(From OE-Core rev: 19cc725f32b3793a785fe06d27c64bc3e5f608b5)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:38:28 +00:00
Matthew McClintock
3fa155912a image_types.bbclass: add xz-native to deps for lzma ext2.lzma images
(From OE-Core rev: 0d637e33985437fbc826fdf13460ede5050db255)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:09 +00:00
Koen Kooi
15dd02aefe consolekit: package /var/log/Consolekit
This fixes startup issues like this:

2011-11-30T09:02:10+01:00 beaglebone ck-log-system-start[91]: ** (process:91): WARNING **: Couldn't create log file /var/log/ConsoleKit/history (No such file or directory)

(From OE-Core rev: 5608a748af2c754f60137ab7c3010ccce6bf9e40)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:09 +00:00
Wenzong Fan
1f2b546f3d task-sdk-host-nativesdk: add autotools nativesdk to meta-toolchain
Add automake-nativesdk and autoconf-nativesdk to meta-toolchain for
fixing the configure issue:
    WARNING: unrecognized options: --with-libtool-sysroot

This will allow user to run 'autoreconf' under their projects and
process the libtool m4 macros correctly.

[YOCTO #1603]

(From OE-Core rev: d1aabea25aa7ac46a7693acb52ccfe465c63f9bf)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:08 +00:00
Wenzong Fan
3648d30568 autoconf: Extend to provide nativesdk recipe
As the same reason with automake, extend autoconf to provide
nativesdk recipe too.

This patch was only used for autoconf that running on target:
    * path_prog_fixes.patch: replace '@PERL@' with '@bindir@/env perl'

It's unavailable for autoconf-native and autoconf-nativesdk, so
exclude it for those two recipes.

(From OE-Core rev: a16cf1b67f6559b182e6bb31abc1371162b04428)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:08 +00:00
Wenzong Fan
d8dddfad68 automake: Extend to provide nativesdk recipe
We will provide autotools nativesdk in meta-tookchain for reconfigure
any autotools supported projects, as a part of the plan we should extend
their recipes first.

(From OE-Core rev: 2074285e84267f9f929ed6424f35cc4b2a00c335)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:08 +00:00
Wenzong Fan
a042f7aa7f m4: Extend to provide nativesdk recipe
We need to provide autoconf-natviesdk in meta-toolchain, the
m4-nativesdk is required by it.

Both extend the m4 recipes for GPLv2 and GPLv3.

(From OE-Core rev: 3e0a0db3559ee9b15a99a95dd3b0c343dca4b2ec)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:07 +00:00
Wenzong Fan
d977988d52 gnu-config: Extend to provide nativesdk recipe
We need to provide autoconf-natviesdk in meta-toolchain, the
gnu-config-nativesdk is required by it.

(From OE-Core rev: 5e134b60773fa948c586dae777a6e75dce29d27d)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:07 +00:00
Mei Lei
d759c8b4d5 iproute2: Upgrade from 3.0.0 to 3.1.0
(From OE-Core rev: b6daf20b1c9e50d8eba2809081ce20517b7a9773)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:07 +00:00
Saul Wold
771210446d Distro Tracking: Update Ownership and Update Dates
(From OE-Core rev: 75bf2857e0bcd250bf90f8d88c5fcb28604dca3c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:07 +00:00
Saul Wold
ebb15d2280 PR Bump for OpenSSL 1.0
(From OE-Core rev: 59923e66e85471acdb70d72082a8906c69b17720)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:06 +00:00
Saul Wold
c2265d0cd5 openssl: Add openssl 1.0
* Thanks to meta-oe for this contribution
 * Add Patch Upstream-Status info
 * Merged the meta-oe version of openssl-1.0.inc with openssl.inc
 * Fix make install parallel issue with PARALLEL_MAKEINST = ""

(From OE-Core rev: ee3ed78af2303ad41993ed34fa7825a74de288c7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:06 +00:00
Saul Wold
f73462cdb7 openssl-0.9.8: move parallel-make fix to 0.9.8
(From OE-Core rev: d25289f2df980550c7379581712c442d372d93c8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:06 +00:00
Saul Wold
264dacf41b ocf-linux: Add ocf-linux to support openssl 1.0
(From OE-Core rev: b4fc41a85d088c60c6f687f2354fe9ca27b46e8e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:06 +00:00
Saul Wold
77a02aed45 libtasn1: Update to 2.11
(From OE-Core rev: ba6a06c864571cd6ee6b68bfda51dfdda70cbc7d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:05 +00:00
Saul Wold
85e29a75cb gdbm: Update to 1.10
* This version is now GPLv3, so keep older version
* The patches are not needed for this version

(From OE-Core rev: 8ea0605cbf22c5af83cdae33df92159c0cc4cc06)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:05 +00:00
Saul Wold
58f7d5e292 lame: Update to 3.99.3
(From OE-Core rev: fad2e3d41a0f381810717395f3be2643ac9ec9e1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:05 +00:00
Saul Wold
7c5d4ded24 xf86-video-intel: Update to 2.17.0
* Remove patch for issue fixed upstream

(From OE-Core rev: 356645a0891624a037c004e35569dc8bea4db334)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:05 +00:00
Saul Wold
c6f6b93228 xf86-input-synaptics: Update to 1.5.0
(From OE-Core rev: c62e100efd2f02ed2cd34cdd53f4c9e7162bc4fc)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:04 +00:00
Saul Wold
2571caf465 xf86-input-mouse: Update to 1.7.1
(From OE-Core rev: d52b7ca7c363b1a5e9b7e177d11a4620a7a51440)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:04 +00:00
Saul Wold
bc4cfbe37d xwininfo: Update to 1.1.2
(From OE-Core rev: e86094eb904995d258bf25f1e54670ef7bdd497f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:04 +00:00
Saul Wold
4e353033af xset: Update to 1.2.2
(From OE-Core rev: 51ea458d2be3a0ea51cb5a5d9b2ee1d8f81e6eb4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:04 +00:00
Saul Wold
00ae5d640e xrandr: Update to 1.3.5
(From OE-Core rev: f7b5c538c964fbfab491fdd977d1397f8a4e567e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:03 +00:00
Saul Wold
3d656f04ad xprop: Update to 1.2.1
(From OE-Core rev: 0649eb65a857444bffe8c74302dfe50e39911e37)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:03 +00:00
Saul Wold
51a68d5304 xkbcomp: Update to 1.2.3
(From OE-Core rev: 7a7119edcd85837571af6fca07fc52a3fd8a83ea)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:03 +00:00
Saul Wold
fbb2d249f7 xinit: Update to 1.3.1
(From OE-Core rev: 234071f22c2183ea28cda55bac8f68cb47e8f0e1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:03 +00:00
Saul Wold
7fe0d3583f xdpyinfo: Update to 1.3.0
* Rebase patch to update code

(From OE-Core rev: 30582835b44a474416dcc8b887bfc2bc32e0e3f8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:02 +00:00
Saul Wold
e9b8a4ce79 mkfontscale: Update to 1.0.9
(From OE-Core rev: e3a8ef74b4ebb8ec131d18960552b52865626d1e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:02 +00:00
Saul Wold
8e79f8393c libdrm: Update to 2.4.27
(From OE-Core rev: 11aa231f1b8bfb012905d7afcd97c684239c1ecb)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:02 +00:00
Saul Wold
c2c5f09be6 json-glib: Update to 0.14.2
(From OE-Core rev: 7a8588c26ac9ec93d05c8a2102dd000015b3d29a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:02 +00:00
Saul Wold
e5d2c209c3 wget: Update to 1.13.4
* remove gnutls.bzr patch as it was in upstream

(From OE-Core rev: 32dc588820006a6c5f86c4b4da8dab09c8b49f73)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:15:01 +00:00
Richard Purdie
cf02474bda qt-mobility: Add missing patch
(From OE-Core rev: 177df2c51927f44e3536856f4604364b38695bc2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 14:36:18 +00:00
Martin Jansa
9c8d335a1e libsdl: enable alsa based on PACKAGECONFIG and respect DISTRO_FEATURES
(From OE-Core rev: 6b1afd1d21a565b8cbb8e5c0579a1ba9299591f1)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 13:51:01 +00:00
Anatolij Gustschin
240d256d46 qt4: qt-mobility: fix QML video player crash
Fix QML video player crash which happens when attempting
to play OGG video files.

(From OE-Core rev: aadca104f18eb1df7495ec24649042276be01985)

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 13:46:28 +00:00
Eric Bénard
4f408de16b qt4: fix sed to have correct *.pc files
it seems sed doesn't handle \? properly if the string in not between
quotes.

without this patch, we get something like (for example for QtDBusE.pc :
Libs: -L${libdir} -lQtDBusE
Libs.private: -L/home/ebenard/WORK/setup-scripts/build/tmp-angstrom_2010_x-eglibc/sysroots/board/
usr/lib -L/usr/lib  -L/home/ebenard/WORK/setup-scripts/build/tmp-angstrom_2010_x-eglibc/sysroots/board
/usr/lib -lQtXmlE -L/usr/lib -lQtCoreE -lpthread
Cflags: -DQT_SHARED -I/usr/include/qtopia -I${includedir}

with the patch we get what is expected :
Libs: -L${libdir} -lQtDBusE
Libs.private:     -lQtXmlE  -lQtCoreE -lpthread
Cflags: -DQT_SHARED -I/usr/include/qtopia -I${includedir}

(From OE-Core rev: 2e635b4fe6be9d5bfcdd837a523833b7eb0819a0)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 13:46:28 +00:00
Martin Jansa
e82ae04361 libsdl: replace tabs with spaces
(From OE-Core rev: 6912bd212cf91ead4c5f8c4e4bb86ceb15e414e1)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 13:46:28 +00:00
Martin Jansa
faf8832607 libsdl: enable cdrom, alsa and tslib, disable rpath and add few fixes from meta-oe
* virtual/libsdl is used in sdl.bbclass but nothing was providing it
* rpath disabled because otherwise libtool and ld try to link against
  ${libdir}/libdl.so.2 on the host
  (see OE-classic commit af1a2e0e7626e372f22afbcabf08d9ae6b0d7b01)

(From OE-Core rev: e00897b93f09f86445af38858d4f61866cd1ce70)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 13:46:28 +00:00
Martin Jansa
ee58c9e709 libsdl: rename files dir to libsdl-1.2.14 for faster lookup
(From OE-Core rev: 7bbf48e86b468d31480738e09215b785d6a529a4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 13:46:28 +00:00
Martin Jansa
93ca5851a0 libsdl: drop unused files
(From OE-Core rev: 7783516fe7cb55a267110dc98a7595f34949390b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 13:46:27 +00:00
Richard Purdie
972b40b32d eglibc-initial: Ensure symlinks point to the correct location when built from sstate cache
If the sstate files are installed into a sysroot from the sstate cache,
the directory to the main sysroot can change and the symlinks aren't
adjusted to account for this. This is a problem specific to the toolchain
bootstrap process. This patch adds up a function to recreate the
symlinks, hence ensuring they always point at the correct location.

(From OE-Core rev: ad0baa7d2f33a865011e0c6afe29f22aa1beea32)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 12:36:50 +00:00
Martin Jansa
ec58c93b56 mesa-common: allow empty PN
(From OE-Core rev: 1052e24d72e6a77af3f3073a34dfc5a522d49616)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 12:36:50 +00:00
Richard Purdie
31b57cbc6d base-passwd: Fix race
The do_package task this recipe injects depends on the output of
do_populate_sysroot to be present. This introduces the correct
dependency so that the package task works correctly.

(From OE-Core rev: 938d12d9c63fdac97b86a7b9f33cfa05c262e874)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:09 +00:00
Nitin A Kamble
0092c62b91 distro-tracking: update information for binutils & libtool
(From OE-Core rev: 2a7ad4f0a37d17a70ff41b46265f8cb58d55afd9)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:09 +00:00
Nitin A Kamble
94cc386236 binutils: upgrade from 2.21.1a to 2.22
And rebase the patches to the newer source code

This patch is upstream hence deleting it from the recipe.
	binutils/110-arm-eabi-conf.patch

(From OE-Core rev: 715bcfe3701e5ee3e12ee4af9c868a9bbf441525)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:09 +00:00
Wenzong Fan
c62bb97c72 distro_tracking: update tracking fields for gettext and eds-tools
Add maintainer and update manual_check_date, status fields.

(From OE-Core rev: cf696de709f60d7438a92e5c491e27759a50d5f0)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:08 +00:00
Saul Wold
1b868bbd0b Self Hosted Image: Added Task and Images
This is the first pass of creating a self hosted image, this task
and image can pass bitbake's sanity check (if modified to remove the
cvs check) and can build psuedo, albit very slowly on qemu.

(From OE-Core rev: d29b2ddb532a59143fe160251e57c9216a3c720d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:08 +00:00
Saul Wold
ad1f3d96cf intltool: remove XML::Parser check
Add Patch to disable the XML::Parser check in the target
intltool.m4, this check will find the host (not native)
XML::Parser if it's installed possibly causing Host
contamination, but will also fail configuration if XML::Parser
is not installed on the host.

Since we know that XML::Parser is installed on the image, we don't
really need this check, so comment it out.

From RP in mail thread:
> If the recipe needs perl for
> some other reason than intltool, it needs perlnative but it if only
> needs perl for intltool, we shouldn't need the dependency. The .m4 macro
> checks are well intended but don't fit the way we use perl. I really
> don't want to end up in a position where intltool automatically means we
> have to add perlnative as a dependency and we've previously seen many
> problems related to that.

(From OE-Core rev: 264fb6c5a4875cd8969a24a9f0301ed916ab827b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:08 +00:00
Saul Wold
c06eecfc84 tzdata/tzcode: Update tzdata to 2011n
(From OE-Core rev: 8b7643c5c06c1b1531e55a49cd69502b146a92bd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:08 +00:00
Martin Jansa
6034b5f55c mesa: package gl/egl/osmesa to separate packages
(From OE-Core rev: 1b0811e1547c7b7e81372248e233867a7df2e2e4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:07 +00:00
Xiaofeng Yan
1bab50724d distro_tracking_fields: update the status
directfb to 1.4.15
xorg-xserver-lite to 1.11.1
libx11-diet to 1.4.4

(From OE-Core rev: 21a4c838c24bad9d53a46cf835dfedba6a44d07f)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:07 +00:00
Saul Wold
bc802a7823 distro_tracking: Update manual check dates (readline, gcrypt)
(From OE-Core rev: 39ea81166cdcd7cf5f44398815ac1c35eedbd3b8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:07 +00:00
Saul Wold
3d7d510701 runqemu: look for *-image* to be more flexible for image names
We can't just look for *image* since it will catch up bzimage

(From OE-Core rev: c2f88c658b73da67d93312591b3e67b42f629fe3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:07 +00:00
Otavio Salvador
20291f3d08 xserver-xorg: only use --disable-dga in xserver-xorg-lite
Xorg VESA driver calls DGAInit enforcing this symbol to be available
to the driver to work so we revert back to only disable DGA for lite
flavor of Xorg.

(From OE-Core rev: f5546a175384de338edc23a248b19a23fb7d7017)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:06 +00:00
Xiaofeng Yan
a791139329 libx11-trim: update to 1.4.4
Some description :
1 Remove --with-xcb because xcb is necessary item in the new version.
2 keysymdef_include.patch uses in keeping native directory of X11 as the default configuration. \
  or else host directory "/usr/include/X11" is selected when running  ./configure.
3 makekeys_crosscompile.patch avoid host contamination.
4 x11_disable_makekeys.patch uses in compiling makekey.c needed by makekeys-makekeys.o

(From OE-Core rev: 6903f53e8e1f48849c9ed1aff837bba6feb1ccbe)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:06 +00:00
Matthew McClintock
98e3709836 rpm_5.4.0.bb: Build rpm without xz
This fixes the following issue:

Log data follows:
| NOTE: Creating RPM package for perf-dbg
| NOTE: Creating RPM package for perf
| NOTE: Creating EMPTY RPM Package for kernel
| NOTE: Creating EMPTY RPM Package for kernel-3.0.9-00348-gec4b357
| NOTE: Creating RPM package for kernel-image-3.0.9-00348-gec4b357
| NOTE: Creating RPM package for kernel-dev
| NOTE: Creating RPM package for kernel-vmlinux
| NOTE: Not creating empty RPM package for kernel-misc
| NOTE: Creating RPM package for kernel-devicetree
| NOTE: Creating RPM package for kernel-module-libcrc32c
| NOTE: Creating RPM package for kernel-module-crc-itu-t
| NOTE: Creating RPM package for kernel-module-sctp
| NOTE: Creating RPM package for kernel-module-pcbc
| NOTE: Creating RPM package for kernel-module-crc32c
| NOTE: Creating RPM package for kernel-module-binfmt-misc
| NOTE: Creating RPM package for kernel-module-nfsd
| NOTE: Creating RPM package for kernel-module-exportfs
| NOTE: Creating RPM package for kernel-module-msdos
| NOTE: Creating RPM package for kernel-module-nls-utf8
| NOTE: Creating RPM package for kernel-module-udf
| NOTE: Creating RPM package for kernel-module-isofs
| NOTE: Creating RPM package for kernel-module-usbhid
| NOTE: Creating RPM package for kernel-module-scsi-wait-scan
| NOTE: Creating EMPTY RPM Package for kernel-modules
| /local/home/mattsm/git/fsl-local-sdk/build_p4080ds_release/tmp/sysroots/x86_64-linux/usr/bin/rpmbuild.real: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory
| ERROR: Function 'BUILDSPEC' failed (see /local/home/mattsm/git/fsl-local-sdk/build_p4080ds_release/tmp/work/p4080ds-fsl-linux/linux-qoriq-sdk-3.0.6-r2/temp/log.do_package_write_rpm.18943 for further information)

(From OE-Core rev: 1f55b31bdc8cf1da04ef29f4e44c1be6c0286ee2)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:06 +00:00
Julian Pidancet
7edf5cff9c Introduce multiarch DISTRO_FEATURE
This patch introduces a distro feature which enables gcc to produce
both 32bit and 64bit code, and enables binutils to operate on both
32bit and 64bit binaries. It differs from multilib toolchains in
that it does not require to compile a version of the libc for each
architecture variant. However, the code produced for the secondary
architecture will not be linkable against the libc.

v2: - Renamed the feature name from "biarch" to "multiarch". The GCC
installation manual claims that the mips-linux can be made a tri-arch
compiler (http://gcc.gnu.org/install/configure.html)
    - For x86_64, the compiler is made bi-arch by default, so nothing
has to be done in particular.
    - I analyzed the gcc/config.gcc from GCC sources and added in this
patch all the architectures that could be made biarch with the version
of gcc currently used in OE, which are powerpc, and sparc, in addition
to x86. mips and s390 will probably be supported in future versions of
gcc. For x86 and sparc, only the --enable-targets=all option is valid
to make this work (this option doesn't have any other side effects than
making the compiler bi-arch). For powerpc, I used the
--enable-targets=powerpc64 option (although 'all' also works).

Note: - Untested on powerpc and sparc. But I believe it works the same
as with x86.
      - gcc in meta-toolchain is also made multiarch.

(From OE-Core rev: 99e295ef30ba02db3966c66619807c037ef5089f)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:06 +00:00
Koen Kooi
f4791847cd opkg-utils: handle 6 digit UID fields properly
(From OE-Core rev: 529d45a3daaeb60ecee8b15778c3b70d7992cd1f)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:05 +00:00
Khem Raj
31e998266f python-native: Fix gcc compiler detecting logic
We have a patch unixccompiler.patch where we try to throw away
everything except first element of CC string but this does not
work if gcc is prepended with something e.g. CC="ccache gcc"
then the logic fails and it ends up in some modules failing on
you silently (_sqlite3) in my case.
The fix here is to drop basename so we keep the whole
string as it is and then the detection function searches
for gcc string in the whole CC. This works in both cases
one the original intent of the patch and the second described
above. One place where it will fail is if someone has non-gcc
compiler installed in some subdir which has gcc in it e.g.
/usr/gcc/fakecc but for OE this should never happen. Ideally
the the detection logic should have tried to execute gcc
and then parsed --version output or something.

(From OE-Core rev: 9b13b9024d24953dedb35f62d3d8b06a29036992)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:05 +00:00
Khem Raj
fbdbe8d1ec toolchain-scripts.bbclass: Make it work when TCLIBC=uclibc
This class currently only works with eglibc. Since
it adds dependencies explicitly on eglibc when using
uclibc this creates problems. So we make sure that
it checks for TCLIBC to determine system C library
in use

(From OE-Core rev: 2278f891a9bd204d82abbd6998cf0921908f1d14)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:05 +00:00
Khem Raj
d7153d60bb default-distrovars: Define SDK_VERSION and DISTRO_VERSION
runqemu scripts check for them and when using just oe-core
these are not defined anywhere

(From OE-Core rev: 1ec729dfe8e6df9a8d65d939b8a0f2b322196acf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:05 +00:00
Koen Kooi
5369fb3422 pulseaudio: update to 1.1, delete 0.9.x
(From OE-Core rev: d48a99dc8d92e65dc7618d61187138830d85a850)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:04 +00:00
Koen Kooi
100b340896 libjson: add 0.9
(From OE-Core rev: 039e8d1f3235acae4162afad84fee6b8b3aba24e)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29 11:22:04 +00:00
Richard Purdie
4cd9671078 bitbake: Update users of getVar/setVar to use the data store functions directly
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-27 10:35:30 +00:00
Richard Purdie
0a434ac101 getVar/setVar cleanups
Complete the bb.data.getVar/setVar replacements with accesses
directly to the data store object.

(From OE-Core rev: 2864ff6a4b3c3f9b3bbb6d2597243cc5d3715939)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-27 10:25:34 +00:00
Richard Purdie
71fded5145 ghostscript: Ensure we run reautoconf
Avoding the autoreconf with a hardcoded do_configure is bad practise
since it can hide various errors. This patch ensures we do use the
standard do_configure.

(From OE-Core rev: 54c4b4fd10c104641bb7ae087b2230aa6c6085f8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-27 10:25:34 +00:00
Richard Purdie
c56232f983 ghostscript-native: Ensure the sys/time/h fix is applied for native builds
On my system, the sys/time.h header is in a subdir off /usr/include
which causes a build failure. Apply the target CFLAGS fix to native
builds as well to address this.

(From OE-Core rev: 67176378266767cd0cca4f8ecafa865907ca4bdd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-27 10:25:34 +00:00
Richard Purdie
b06b1b0811 ghostscript: Really fix parallel make race
There continue to be parallel make race issues showing up on the autobuilder.
This patch removes some potential sources of these. The rm is unrequired
since we're using cp -f. The || true ensures that if we did race against
someone it becomes harmless.

[YOCTO #1202]

(From OE-Core rev: 32840cd95fcde92433fbb0271b82d0f4048a823a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-27 10:25:33 +00:00
Scott Rifenbark
d7db3680ba documentation/adt-manual/adt-prepare.xml: Fixed bad URL for edison tarball
The URL for the edision tarball was old and had been locked down in
the manual too early.  It changed and now this fixes it.

(From yocto-docs rev: c1668e41babd7ef592dc26271943c99bacc3f181)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:19 +00:00
Scott Rifenbark
31c4229d3c documentation/dev-manual/dev-manual-newbie.xml: Updates to Bugzilla use
I updated the Bug Tracking section to include rudimentary use of
Bugzilla for entering a new bug.

Fixes [YOCTO #237]

(From yocto-docs rev: 8f2702444812c9dc25195340acebbaae15cd59d7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:19 +00:00
Scott Rifenbark
ac174aaeba documentation/poky-ref-manual/ref-variables.xml: EXTRA_IMAGEDEPENDS added.
New glossary entry added.

Reported-by: Darren Hart.
(From yocto-docs rev: 03845586f7331630bd1d9b5eebb9df9eccbd05a0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:19 +00:00
Scott Rifenbark
affc8b985a documentation: BB_NUMBER_THREADS and PARALLEL_MAKE suggestions
Text that suggests setting the BB_NUMBER_THREADS and
PARALLEL_MAKE variables to speed build time has been updated to
suggest a setting of twice the number of host cores supported.

The 2x number came to light through a discussion on the project
mailing list initiated by Robert P. J. Day.

Reported-by: Robert P. J. Day
(From yocto-docs rev: 1846b41a595b7bd905ca828eaa04112d1533d7a1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:19 +00:00
Scott Rifenbark
4cb3862f6a documentation/adt-manual/adt-prepare.xml: Updated link to machines
I replaced the link with the URL that uses 'downloads.yoctoproject.org....'

(From yocto-docs rev: fef7ca4f2a549fabc1932a40a46cf0c6c834074f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:18 +00:00
Scott Rifenbark
e3dd0bac98 documenation/adt-manual/adt-prepare.xml: Fixed toolchain tarball name
the name was off.  It was 'yocto-eglibc-x86_64-i586-toolchain-1.1.tar.bz2'.
Really, the name is
'poky-eglibc-x86_64-i586-toolchain-gmae-1.1.tar.bz2'.

(From yocto-docs rev: 3d051f3e814f27f661ce153b66735f75a4152d04)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:18 +00:00
Scott Rifenbark
ba0599032b documentation/adt-manual/adt-prepare.xml: Updated link to toolchain and info
I updated the link to be 'download.yoctoproject.org/releases/yocto/yocto-1.1'
I also fixed the text that indicated 'i586' as a directory for the
32-bit machines.  The real directory name is 'i686'.

(From yocto-docs rev: fc08acdce64bac7c2b3d4689e16cf06e70f6cbe5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:18 +00:00
Scott Rifenbark
68f1fa0d30 documentation: Added footnote element to the stylesheets
During development, a footnote was added to the Development
manual.  In order to get the footnote to display correctly, I
had to introduce a footnote element in the style sheet. This
commit propogates the style to the other manual CSS sheets.

(From yocto-docs rev: 0439b46620125f2cb26dff4e8c79fc479205133a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:17 +00:00
Scott Rifenbark
9ef02065bd documentation/yocto-project-qs/yocto-project-qs.xml: fixed broken link
"www" was messing up the link.  Removed it.

Reported-by: William Mills
(From yocto-docs rev: ae7074325c78385684c51c06e8a27686e6fa1d05)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:17 +00:00
Scott Rifenbark
39899b2212 documentation/dev-manual: Edits from Tom Zanussi.
Tom Zanussi provided a review up through part of the "model"
chapter.  I have implemented his comments mosty verbatim.

Reported-by: Tom Zanussi
(From yocto-docs rev: 693d4fadd4b34ffef9953fb1850d381ff7c028a3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:17 +00:00
Scott Rifenbark
684c35b7aa documentation: Changed all manual links to point to "latest"
There are many references to YP documentation throughout the
YP manual set.  They used to have hard-coded links to the
current release (e.g. yoctoproject.org/docs/1.1 for Edison).
This created a situation where if you went to a document on
the website and clicked on a external reference to another
manual, you would redirect to the current manual on the website.
Really, you would want to go to the latest manual, which is
one that is under development.  Changing the links to
"yoctoproject.org/docs/latest" makes the tip of master, which
is used for devloping the next release, always have references
to the manuals being developed and not back to the stable
released set of manuals.

This "latest" and "current" scheme for the links is not perfect.
What has to happen when the latest set of the manuals freezes
and becomes the next stable release, all the links in the docs
will need to be changed from "latest" in the URL to the new
release number.  So for example, all the "latest" occurences
would need to be changed to "1.2".  Then for the next cycle
as development begins again, the links need to be infused with
"latest" again.

(From yocto-docs rev: a234aef34303b07671da956de0e94b352797143e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:17 +00:00
Scott Rifenbark
8632404294 documentation/yocto-project-qs/yocto-project-qs.xml: Updated packages section
Split the instructions for getting the packages needed for Yocto
into sections that specifically support Ubuntu, Fedora, and openSUSE.
Also, added a couple packages to openSUSE.  I did not implement a
suggested change to include a note indicating future support of
the dash shell since it probably is not good policy to document plans
as they change.

Reported-by: Darren Hart
(From yocto-docs rev: 3dbbb22ccdda1a7e809e61e19f5d04ab26e3499c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:16 +00:00
Robert P. J. Day
c8fd49ab90 documentation/poky-ref-manual: Minor wording fixes
Robert identified several wording issues.  Fixes applied.

(From yocto-docs rev: 9c1ed58a1ecdd620246970419ed58b53f95cf2ec)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:16 +00:00
Scott Rifenbark
90aff1ce68 documentation/poky-ref-manual/introduction.xml: Fixed broken link
Robert identified this broken link to the stable Yocto Releases.

As Reported by: Robert P. J. Day
(From yocto-docs rev: e42a501df2ca44030f99f017b8c532b03db62f55)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:16 +00:00
Robert P. J. Day
8c230114dd documentation: Standardized on spelling of BitBake
Robert found five instances where I missed the correct usage of
"BitBake."

(From yocto-docs rev: 0819076e8677accd157497ed4fa33ebab2528044)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:24:15 +00:00
Richard Purdie
c80e8dd3a5 ofono: Fix missing python dependency and package tests separately
We need to ensure there is a python dependency for the ofono python
test scripts. To do this without introducing the dependency
unnecessarily for the core ofono functionality, this patch splits
the tests into a separate package too.

[YOCTO #1705]

(From OE-Core rev: f699cb48c7f379f97623f1f244b0b6c5875d7497)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 11:40:00 +00:00
Richard Purdie
4bf73cbbe2 bitbake/siggen.py: Don't backtrace if the taskhash data isn't present
This allows the code to safely fall back to dumping the basehash data
if the taskhash data isn't present for some reason. We could effecitvely
obsolete the runtime option and use this approach instead exclusively.

(Bitbake rev: 5ace320ccc01f4e326f90b7ba060dcbff3380dca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 11:25:59 +00:00
Robert Yang
37c4f373e4 bitbake: Update and fix bitbake-runtask
Since bitbake switched back to the fork instead of the exec model,
it no longer used bitbake-runtask and the code has suffered some bitrot.
bitbake-runtask is a useful tool for excuting the task without
the scheduler of bitbake, so that the external tool can invoke it
easily. It also provides a useful example of how to invoke exec_task()
with low overhead without a lot of the bitbake threading/UI overhead.

Significant changes:

* This patch changes the argument order so that the commonly used
  and mandatory arguments come first.

* The taskhash file and dryrun options are now optional

* It now uses the bitbake logging mechanisms to provide processed
  logging output to the console.

* The process handling to do with stdout/stderr redirection
  are removed since they're no longer required.

[YOCTO #1229]

RP: Logging updates to the patch based on Roberts original patch
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 11:25:53 +00:00
Matthew McClintock
4ce5d30de7 Nothing uses USERNAME, remove it - can cause sstate-cache conflicts
USER is the correct variable to use, also this can affect sstate
cache as well.

(From OE-Core rev: 0f446c29f10fd83228619e05ddec29fdc29188b3)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 00:30:31 +00:00
Matthew McClintock
340657142e Nothing uses USERNAME, remove it - can cause sstate-cache conflicts
USER is the correct variable to use, also this can affect sstate
cache as well.

(Bitbake rev: d7f9edda65dae2e046871afa275c5a51dff48fc4)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 00:30:30 +00:00
Dexuan Cui
1cfd618493 gcc-package-target.inc: add the symbol link /lib/cpp
When I was trying self-hosted-image, eglibc's do_install failed in the target:
ERROR: cannot stat bootparam_prot.h:
the cause is: rpcgen doesn't work properly: rpcgen can't exec /lib/cpp since
it doesn't exist.

According to http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/lib.html:
"if a C preprocessor is installed, /lib/cpp must be a reference to it, for
historical reasons. The usual placement of this binary is /usr/bin/cpp".

Typical distros, like Ubuntu, openSuSE, Fedora and RHEL, all comply with
the rule.

Actually in meta/recipes-devtools/gcc/gcc-package-target.inc, we do try to
package ${base_libdir}/cpp:
 FILES_cpp = "\
  ${bindir}/${TARGET_PREFIX}cpp \
  ${base_libdir}/cpp \
  ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1"
But unluckily we didn't create a symbol link in do_install.
This patch adds the symbol link.

(From OE-Core rev: 58fb9fbce2af05a469691390e75aebb2de16ca96)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 23:33:35 +00:00
Nitin A Kamble
c27a005ea9 site/x86_64-linux: add cvs config variables
configure of cvs packages was failing on the meta-toolchain for a x86_64 target.

Configure error reported:
checking whether printf supports %p... configure: error: cannot run test program while cross compiling

This fixes [YOCTO #1781]

(From OE-Core rev: 061818adbea1af9e98fe0fdf81b21f1e7f210c00)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:32:24 +00:00
Richard Purdie
6543f1371b bitbake.conf: We only care about the absolute value of baselib
The value of baselib can be constructed in several different ways
and from a sstate perspective we don't care how it was made up,
we only care what the final value is. This uses the new functionality
in bitbake to ensure we only include the value of baselib and not
any intermediate dependencies.

[YOCTO #1583]

(From OE-Core rev: c38567894ebc31ac977f2bc89a076d0380bddcf8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:18:22 +00:00
Richard Purdie
29a04dc676 avahi-ui: Fix packaging and conflict with the avahi recipe
We need to remove the files from avahi-ui which conflict with the avahi recipe.
If we don't do this they trigger packaging warnings and can also overwrite
files in the sysroot unexpectedly causing build failures (if X depends on
avahi, it expects avahi's files to stay there, not disappear as avahi-ui
build/stages).

This patch cleans up the packaging although I wish there were an alterantive
to the do_install which makes my eyes bleed.

[YOCTO #1770]
[YOCTO #1722]

(From OE-Core rev: 95b383781f875a0f10e5c1de039289bb89e421dd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:04 +00:00
Matthew McClintock
1ec0cc3edb eglibc.inc: Remove EGLIBPARALLELISM from deps for EXTRA_OEMAKE
Without this simply changing the number of threads via
PARALLEL_MAKE can invalidate sstate-cache

(From OE-Core rev: 45140c860272fa4b610805d4dacadcf9201c3e35)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:04 +00:00
Matthew McClintock
6c7108fc91 patch.bbclass: Add PATCHRESOLVE to excluded vars for generating sstate-cache
The method of resolving the patch should not effect the sstate-cache
signature.

(From OE-Core rev: b64cbe0b511de8d8943ce34cbb4901239d9f0cb0)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:04 +00:00
Xiaofeng Yan
a87ec92d98 gtk+: Have gtk+ pick up ${NM} from the environment
when gtk+ configures, it should pick up ${NM} from the environment \
if it is defined, instead of just looking for "nm".

(From OE-Core rev: 7cb5063d8bc59534dc64b19164cb9bdf0c04c68b)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:03 +00:00
Xiaofeng Yan
e04de73421 tslib: Set open mode for ts_calibate.c
Get patch from: http://permalink.gmane.org/gmane.comp.lib.uclibc.buildroot/27614

There is a potentially "unsafe" use of open(). Ubuntu 8.10+, for instance,
by default enables the compiler flag -D_FORTIFY_SOURCE=2 \
which throws an error of ts_calibrate.c. To fix this, \
set a mode in the open() call, patch patched ts_calibrate.c \
to set 0644 (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) and it compiles fine

(From OE-Core rev: 61928384b91f7328aaa72c6d1299d8598c24574d)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:03 +00:00
Mei Lei
32ee632295 rpm: Flush old logs by change the DB_CONFIG
Fixes [YOCTO #1174]

Rpm logs will grow indefinitely, so change the config to flush those old logs.

(From OE-Core rev: e2c4dff079722f256ddcab9630b5b3f8f6421cc9)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:03 +00:00
Kang Kai
d24f8aaf62 eglibc_2.13: update SRCREV
Update eglibc 2.13 SRCREV to 15508, just to sync with upstream
Remove glibc_bug_fix_12454.patch, because it is already merged.

(From OE-Core rev: e364b04a34d7c2a95145799773821e82b8677e78)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:03 +00:00
Scott Garman
49c7815b6d base-passwd: add Upstream-Status to patches, remove unused patch
mysql.patch is not used by the recipe anymore, so delete it.

(From OE-Core rev: a60449f6110bc86dd0d976413c169bafc0ebcada)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:02 +00:00
Scott Garman
69791909d1 dosfstools: add Upstream-Status to patches
(From OE-Core rev: 735a3e5d3399e29e4d6fa82dabbdd1687eaa29e9)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:02 +00:00
Richard Purdie
5f8b0ef64e bitbake.conf: Set BB_CONSOLELOG so we log console messages by default
The console log is often helpful for debugging issues. Difficult to
reproduce bugs would benefit from a log being generated by default as it
may be difficult to come by after the fact.

Log to ${TMPDIR}/cooker.log.${DATETIME} by default.

[YOCTO #1771]

(From OE-Core rev: 4b916ce59bf88ca92b034b2acaddee6130155e46)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:02 +00:00
Richard Purdie
c3d9b5bf2b base.bbclass: Use bb.plain to print the build header
If we just use print, the bitbake logging functions don't see the message
and it can get lost if bitbake is for example logging messages to disk.

(From OE-Core rev: 73a3d0d337e26c2be89c215efb8a2c3dd5d5994d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:12:02 +00:00
Richard Purdie
b62a7559a3 data/siggen: Add vardepvalue mechanism to allow the variable dependency code to be forced to specific values
We have a problem if we want to inject specific information into the variable
dependency code. There are cases for example where we want a dependency
on the value of X but it doesn't matter how X was constructed or what
dependencies it might have had, we only care about the absolute value.
With the current code, its near enough impossible to do this.

This patch adds such a mechanism so the user can trigger this with code like:

baselib[vardepvalue] = "${baselib}"

It also refactors some of the code so we do variable lookups once
instead of doing this in two different functions.

[YOCTO #1583]

(Bitbake rev: 6c879b44ccf42dc73fe4467076e114700d7ba81b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:11:45 +00:00
Richard Purdie
437928dfa4 fetch2: Improve uri_replace to handle paths with no trailing '/'
Currently if you specify a mirror like:

file://.* http://linux.freescale.net/yocto/sstate-cache

it won't work as you expect whilst:

file://.* http://linux.freescale.net/yocto/sstate-cache/

will since it has the trailing slash.

This patch handles both cases correctly. It also adds some debug to
the uri_replace function since its near impossible to debug it without
some kind of output.

[YOCTO #1578]

(Bitbake rev: a0246bf09c93bb657eaf6ba61d090b247ed33640)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:11:45 +00:00
Richard Purdie
2d8e5349a3 knotty: Add support for logging the console to logfile
The BB_CONSOLELOG variable is used to specify the console log file
to use. This means people can look up things that happened during a
build by may have scrolled off the screen.

[YOCTO #1771]

(Bitbake rev: a34ff490a46577a64345365fa1ac39c48d0861cd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:11:44 +00:00
Richard Purdie
ddd3f56ded runqueue.py: Fix debug message to reference the correct task
(Bitbake rev: 035c673c463ca450245acf824e7b7e8f889bdc89)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:11:44 +00:00
Richard Purdie
8b0a893e75 fetch2/local: Don't default to files in DL_DIR for file:// urls
Defaulting to any file in DL_DIR as the first match for a file:// url
doesn't make much sense and can lead to unexpected results.

This patch changes the logic so this is the last fallback location
instead. Whether it should be using DL_DIR at all for this is a
good question but something for another patch.

[YOCTO #1710]

(Bitbake rev: 5597a68fac0954c682b67471722c2643e2415f99)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 22:11:44 +00:00
Richard Purdie
61c51bfce9 libtool: Avoid relinking when cross compiling, its pointless
There is no point in having "executable" binaries in the .libs
directory linked with different rpaths to the target which
could concivably be run on the build system when cross compiling.

This patch removes the extra rpaths ($compile_rpath) so that the
output from the "link" stage can be used on the target. We can then
avoid having to "relink" during the install stage.

This saves some build time (do_install is over 2 minutes faster for
pulseaudio).

This patch also removes an annoying "seems to be moved" warning
which is totally bogus in the sysroot case.

(From OE-Core rev: 0a1dedeb8eea4e230b47d1516b3e6e90495fe49d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-24 08:30:59 +00:00
Richard Purdie
dc2d701207 apt: Fix locale header and hardcoded libname issues
apt wasn't building on modern libc/compiler combinations due to missing
header includes.

The libcpp version was also being hardcoded, this patch generates it
dynamically to work on different host systems which no longer have
this.

(From OE-Core rev: ca8237ee51053d70b5e7579c224a824db2be76b2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 23:41:09 +00:00
Xiaofeng Yan
bb9dc861b7 directfb: change check sum
Change check sum of directfb. The previous checksum was incorrect when it
was added due to a corrupted download on the submitter's system.

(From OE-Core rev: 7056ea9b1eb5ff358c1f8d2b949597e4e98f3a2b)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 23:41:09 +00:00
Matthew McClintock
2485a81f48 siggen.py: sort task hash depedencies with basepath
Without this patch the tash hash dependencies can be in a order
that is dependent upon directory/filesystem layout. With this
change the data is sorted the same regardless.

Without this the dependent hashes could be in different orders
on different systems and consequently final md5 hash would differ
as well even though nothing else changed.

(Bitbake rev: 9a2029899c946ce9aa8adbc85f2cfe7a85b92182)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 23:40:07 +00:00
Matthew McClintock
a89443e1e0 bitbake: print out symmetric difference when comparing sigs
This is useful for really longs lists to pinpoint what has
actually changed

(Bitbake rev: f1eb6d3dcc10c42bb09383a87bde3afa69bc6ed9)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 23:40:06 +00:00
Richard Purdie
319ea222ee runqueue.py: Ensure we fully process the covered list
The existing looping code can mask an existing "found = True"
by forcing it to False each time. This can lead to dependency
lists not being fully searched and results in dependency errors.

An exmaple of this was the autobuilder building linux-yocto from
sstate but then rebuilding some of the recipe's tasks for no
apparent reason. Separating the logic into two variables solves this
problem since any "found = True" value is now always preserved.

(Bitbake rev: 61017fc5d30b7a13308d038872ec92efc1a84cef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 23:40:06 +00:00
Saul Wold
aa9b10d1b0 distro_tracking_fields: Update after Manual Check
Checked upstream for updates of the following packages:
 - libiconv
 - libxml2
 - sysstat
 - tcp_wrapper
 - texinfo

(From OE-Core rev: b7ffe94a17df389644bc216c56f4b339fcb06362)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 17:26:39 +00:00
Shane Wang
1eeb899fe6 distro_tracking: update manual checks for recipes
Updating manual checks for jpeg, tinylogin, eggdbus, setserial, acpid, menu-cache, x11vnc, etc.

(From OE-Core rev: 958a1f0c26f8aae469312b86173fc5eb7efa748c)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 17:26:38 +00:00
Shane Wang
ae0a6851d4 distro_tracking: update manual checks for recipes
Updating manual checks for minicom, libtirpc, opkg, which, quota, rpcbind, strace, wireless-tool, irda-utils, libical, flac, libomxil, libsamplerate0, etc.

(From OE-Core rev: 31acd770ae53f69e4a4b7e2e1b4bb2fdddbbeda4)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 17:26:38 +00:00
Shane Wang
b8697fcb1c distro_tracking: update manual checks for recipes
Updating manual checks for hdparm, screen, watchdog, freetype, oprofile, and tcf-agent.

(From OE-Core rev: 1279288a43d4fd4aa4355ca2519baa3f2a78cf67)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 17:26:38 +00:00
Nitin A Kamble
e1d2a6c2ff at: update the upstream-status of patches
(From OE-Core rev: 218cf3a690d4322a5417ff81081c2c0c387d2f7f)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 17:26:38 +00:00
Scott Garman
7af9b74bf8 distro_tracking: update manual checks for various recipes
Updating manual check dates for the following recipes: tar, libpng,
expat, dosfstools, e2fsprogs

(From OE-Core rev: 30620ff51a8b5a8da6dbcefcf7b9023f82e693e3)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 17:26:38 +00:00
Saul Wold
0ff799c497 distro_tracking: Refect Recipe Updates & Status
* libnl    - NO_UPDATE_REASON due to incompatibility
 * zlib     - has wrong version in update list (121)
 * libtasn1 - Update to 2.10
 * pkgconfig - NO_UPDATE_REASON due to removal of glib-conf
 * file     - update to 5.09
 * dchp     - New version is 4.2.3, not updated yet.
 * tiff     - NO_UPDATE_REASON wait until 4.0.0
 * gobject-interopsectio - NO_UPDATE_REASON can not cross-build
 * gnu-config  - Udpate to git HEAD - requires ASSUME_PROVIDED += "git-native"

(From OE-Core rev: b49b04dc6417cc8a079ba8284d193fb78f054713)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 17:26:37 +00:00
Richard Purdie
358ac45945 gconf: Add note to header about patch filed upstream
(From OE-Core rev: 44dd1f0bd24d2e588a0aeb91370d082713db4ccb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 15:46:27 +00:00
Richard Purdie
46033c3cd4 gconf: Ensure the correct backend directory is used
Without these changes, gconf will use the hardcoded backend directory meaning
we can see errors when building if the binary was relocated.

(From OE-Core rev: aaa2a70f7f1b8a299f31626d61d7ea27f29fb9e2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 15:10:48 +00:00
Richard Purdie
54217ee467 runqueue.py: Ensure setscene tasks don't break dependency order
If A depends upon B which depends upon C and the setscene for B
succeeds but C is going to get rebuilt, we should wait for C to
try and build A but currently we don't.

This is due to the timing of when we run the task_skip() as this
triggers other tasks to become buildable. This patch moves the timing
of that call to a more appropriate place allowing dependencies to
behave as expected.

(Bitbake rev: b7114d8e5d9b0720339bd5d24d243c0f2a7c1f3b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 12:45:30 +00:00
Richard Purdie
89a5b47376 gconf: Ensure that GCONF_SCHEMA_INSTALL_SOURCE uses correct paths
The gconf .m4 files use the path encoded into the gconf-native tools
by default to populate this variable. This doesn't work if we're
relocating the gconf-native binaries. By setting this variable we
ensure that the m4 files always pick up the correct path.

This fixes errors seen on the yocto autobuilder.

(From OE-Core rev: 5680bf11f2e5877782d0101d5b8a5ed24d1ddbce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 12:43:43 +00:00
Richard Purdie
7e17205d09 matchbox-stroke: Update to latest git revision to add missing Xrender dependency
Without this, linking can fail due to missing libraries since the
code depends on Xrender. The fix was already upstream, we just need
to use a revision that includes it.

(From OE-Core rev: b8328a132efd515515bb2c200271a8960f0d783b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-23 12:43:42 +00:00
Zhai Edwin
40fe6457d5 matchbox-wm: Fix variable type in _NET_WORKAREA setting
According to XChangeProperty doc, array of "long" should be used when format is
32. Wrong _NET_WORKAREA parameter caused blank screen in matchbox-desktop on 64
bit platform.

[YOCTO #1689] got fixed.

(From OE-Core rev: 381c7857a5b303bf9eadd7fffc39d17a2b8e31f2)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-22 15:13:26 +00:00
Richard Purdie
47004dfbaa staging: Remove debug accidently left in
(From OE-Core rev: 5d757b8bee10a79843e6ab726784393cbef67f73)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-22 15:00:56 +00:00
Richard Purdie
3ab018c625 staging.bbclass: Add BB_SETSCENE_VERIFY_FUNCTION function
Since we clean out do_populate_sysroot if do_configure runs, don't
allow do_populate_sysroot_setscene functions if we're going to
run do_configure.

(From OE-Core rev: 5f1dc1991f97037692193572298eb7f7a5640760)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-22 13:07:11 +00:00
Richard Purdie
7a2458f451 package.bbclass: Ensure paths to rpmmarcos and rpmpopt are set
If rpm-native was built in an alternative location, it may not relocate correctly
unless the rpmpopt and macros paths are explicitly specified.

This fixes errors seen on the Yocto autobuilder where pkgconfig
"provides" entries could disappear leading to image dependency failures.

(From OE-Core rev: fb01bd81197057e62106aac966f9ebc4c5054f97)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-22 13:07:11 +00:00
Richard Purdie
d43175e747 bitbake/runqueue.py: Add BB_SETSCENE_VERIFY_FUNCTION hook
The OE metadata has cases where it needs to prevent some setscene
functions from running. An example of this is where we know a task
is going to run do_configure (which would clean out do_populate_sysroot)
and hence we don't want do_populate_sysroot_setscene to run.

This change adds in a hook so that the metadata can allow any
such policy decision to filter back up to bitbake.

It removes the existing code which attempted to do this in a generic
way but failed.

(Bitbake rev: 2f6d987d9957a5d713ce119c24c2e87540611f53)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-22 13:07:07 +00:00
Richard Purdie
17a92c4c98 netbase: update 4.46 -> 4.47
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 18:49:40 +00:00
Khem Raj
7022a8f804 gcc-4.6: Fix gcc ICE on qt4-x11-free/armv7-a
Backport fix for PR 47551 fixes the ICE seen on armv7-a/qt4-x11-free
Bump up SRCREV past gcc 4.6.2 release

(From OE-Core rev: dd2fdf9f5a3923c37e4ea2e46e347bb0657c2f5b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:55:12 +00:00
Richard Purdie
9320b76a97 bitbake/runqueue.py: Sort the list of skipped tasks as it makes searching the list easier when debugging
(From Poky rev: 5de8a495fba657e1febc616bbc737a8136cc88f9)

(Bitbake rev: 110f6cccbcc5907e15262c05d5c47da101e1a47d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:55:11 +00:00
Richard Purdie
14fbf3eab4 bitbake/runqueue.py: Fix incorrect task number reference in debug message
(From Poky rev: 45887bbd5479041be05b914668f14de6ec9b9831)

(Bitbake rev: dc4439ca8c7db7ceee78bd0552f65ceddcff17a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:55:11 +00:00
Koen Kooi
e1c0d9b12c dbus: update to 1.4.16
(From OE-Core rev: f0e17d436b865edeb3dd113ac617433639982ded)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:48:53 +00:00
Andreas Müller
e2d78c63b1 mime.bbclass: Add --disable-update-mimedb to EXTRA_OECONF
* ensure update-mime-database is not called during build time
* this patch was included in meta-oe [1] about the same time when mime.bbclass
  was migrated from meta-oe -> oe-core so it seems it got lost.
* tests: build from scratch / run on overo / additional check: no unpacked
  files for gnome-control-center

[1] http://cgit.openembedded.org/meta-openembedded/commit/meta-oe/classes?id=6b765989a42ab314d1611f4dec78b07b562a9e7d

(From OE-Core rev: 0429558d538eddd4689efe67ee778d30147d959d)

Signed-off-by: Andreas Müller <schnitzeltony@gmx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:48:53 +00:00
Khem Raj
a403e9b56b pulseaudio-0.9.23: Fix build on uclibc
Import patch from oe.dev rev 7c33f2e906a20e139d53b4f2d8fbc2773a4725b3
to fix bluez build when using uclibc

cgit link here

http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=7c33f2e906a20e139d53b4f2d8fbc2773a4725b3

(From OE-Core rev: 05f50a9a69cca1f18bcd57a6deebe91be842289f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:48:53 +00:00
Khem Raj
4c289c2051 netbase: Update recipe 4.46 -> 4.47
moreover 4.46 tar is not available on debian pools

(From OE-Core rev: e1abae623a6b3afcb29f325220cc79453efb4e77)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:48:52 +00:00
Khem Raj
a75f6f765b gettext_0.18.1.1: Fix QA Issue
For uclibc builds we get the following QA error

ERROR: QA Issue: non -dev/-dbg/-nativesdk package contains symlink .so:
gettext-runtime path
'/work/armv5te-oe-linux-uclibceabi/gettext-0.18.1.1-r4/packages-split/gettext-runtime/usr/lib/libintl.so'

(From OE-Core rev: 402c23e9823d186112e8509d3eecb0d64bfa7ec7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:48:52 +00:00
Henning Heinold
fc744a789d package.bbclass: fix path for relative links on elf files, when moved to debugdir
* relative links for elf files like ../foo.so ends up in the
  debugdir with ../.debug/foo.so, this causes infinite fileaccessloops
  fix it by adding an extra "../" to the link path

(From OE-Core rev: 27cf695f1cf259f8c79214e95a0c4bc2c0779b81)

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:48:52 +00:00
Richard Purdie
85162b7463 sstate.bbclass: Ensure we expand stamp-extra-info
Without this change we can end up looking for <stamp>.${MACHINE}
instead of the expected expanded value.

(From OE-Core rev: 9f743b5033177216fe0e1d3e43ba831f356df08e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:48:52 +00:00
Richard Purdie
5c64734012 libtool-cross: Unbreak and actually use more of it
We should be using libtool-cross for cross compiling but
were not. This patch sets datadir so libtoolize ends up
containing correct paths. It then installs libtoolize.

The path ltmain.sh was installed to was incorrect and this is fixed.

We also now install all the libtool m4 macros and config files.

(From OE-Core rev: d52bdbee35bb6edc55eed613f869e46d0c0a2f31)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:48:51 +00:00
Richard Purdie
0b640a419c useradd: Ensure -native recipes don't depend on target recipes
Without this change, dbus-native can end up depending upon base-passwd
for example. This change mirrors the existing nativesdk code.

Based on a patch from Henning Heinold <heinold@inf.fu-berlin.de>
but with some additions from me.

(From OE-Core rev: eba81d1c606ec29ffb793c1cb3cfed9562d552bc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:48:51 +00:00
Kang Kai
6aa658495b mesa: fix calling host's commands
mesa use its script file bin/mklib to generate libraries, and call the
host's commands "ar/ranlib/gcc/g++". Fix it to call the cross-compile
tools properly.

(From OE-Core rev: 0a815e889d056f44af1ada623b4b2edcb699693a)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 14:37:15 +00:00
Koen Kooi
983ce7f1b4 shared-mime-info: fix ordering of PACKAGES
(From OE-Core rev: 79ee0f8c849cd5de16b6ae1b3dd6c43bbad472b2)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 14:27:08 +00:00
Damien Lespiau
e1d4f7b871 bootimg: Create a valid boot sector for the iso image
It's possible to create an "hybrid" iso image that you can both burn
to a CD-Rom and dd to a USB key. isohybrid will create a valid boot
sector for the USB key case.

[YOCTO #1763]

(From OE-Core rev: 321a7dc9d934f31aae27828ff8c56d6c69ecc665)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 14:24:52 +00:00
Henning Heinold
81b6e546bb glib-2.0: fix qsort_t testing for uclibc
* instead of disabling the configure test and set it always true
  use the site files to set it true for glibc/eglibc and false
  for uclibc
* remove the patch
' tested only for uclibc
* bump PR

(From OE-Core rev: 812342e44e9e361a0fa93cfcfe65cf4dd6f2fb57)

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 14:22:41 +00:00
Richard Purdie
9d4f955874 parse_py: Use absolute paths for FILE
Its possible for relative paths to creep into FILE. These confuse the
build system no end as its not clear where they might be releative to.

This patch ensures we always use resolved absolute paths for FILE
so that things behave in a deterministic way.

(Bitbake rev: 658d7daa70e46c2b20973b90ee53f0bbadc8bf5d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 14:22:40 +00:00
Jiajun Xu
693ddddd86 sanitytest: remove rpm/zypper tests if PACKAGE_CLASSES does not set package_rpm
If PACKAGE_CLASSES does not set package_rpm as the first item, the root filesystem
will not be generated based on rpm. We need remove rpm/zypper tests against
non-rpm filesystem.

[YOCTO #1757]

(From OE-Core rev: 43adb8dcf4461b68a7ce0ba9d8acdb2012a70416)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:15 +00:00
Jiajun Xu
c87a539aec sanitytest: use different option for command ps from busybox and procps
Current sanitytest use option -e for ps command, which only works for ps
from procps. It fails if ps is provided by busybox. Add check to use different
option for command from busybox and procps.

[YOCTO #1756]

(From OE-Core rev: dd856f5609c13fc740b53016de033a8a9cbe6b51)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:15 +00:00
Richard Purdie
c2ce6387bd package_rpm: Set _tmppath to avoid races over tmp files
Occasionally we keep seeing "unable to open temp file" messages during
do_package_write_rpm tasks. This appears to happen when multiple
processes are writing rpm files and is likely due to using the
shared system temp directory. This patch changes the tmp path
to the package work directory meaning conflicts should become
a non-issue.

(From OE-Core rev: b2ef543284c8c8d0d3badb2e1bcadad1106982d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:14 +00:00
Chris Larson
49513a67ea bitbake.conf: add a couple explicit vardeps
(From OE-Core rev: 5b9877aa55e28ba06410592350e7e5106ebdf6cb)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:14 +00:00
Nitin A Kamble
78c61eda76 btrfs-tools: update to the latest git commit
Remove all the upstreamed and not needed patches.

(From OE-Core rev: 2f7b3710d2879ae55ec7e5d0b11958a29cfe96e5)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:14 +00:00
Nitin A Kamble
e5b6464d53 update distro tracking recipe information
(From OE-Core rev: 2b12fa6fbf38cc5b44f6c050db01bf5ba12260d3)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:13 +00:00
Nitin A Kamble
79ec782aae insane.bbclass: avoid errors for x32 kernel
x32 abi of x86_64 has 32bit userspace and the kernel is 64bit.

The qa checking code was reporting this as errors for x32 kernel
files and modules.

This commit extends the condition in the checking code to avoid
throwing the bitsize not matched error for x32 kernel files.

(From OE-Core rev: c9963542b17537f18548616c9ad4f1d92f42bffb)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:13 +00:00
Nitin A Kamble
13518fdb4f python-gst: upgrade from 0.10.21 to 0.10.22
(From OE-Core rev: f555f1a5a25e13bbc6f9906f14f20d76998d9fd5)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:12 +00:00
Nitin A Kamble
c42c487d1b tcl: upgrade from 8.5.10 to 8.5.11
(From OE-Core rev: 9dd7382502b68da7353539b23e76980f7beb7ddc)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:12 +00:00
Nitin A Kamble
e1f046c7ff mpfr: upgrade from 3.0.1 to 3.1.0
(From OE-Core rev: 734379a7207e72e55fc409968cfc1c70c26b581e)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:11 +00:00
Nitin A Kamble
f2ecc19087 libpcre: upgrade from 8.12 to 8.20
The license file has updated the copyright years, hence new checksum for license file.

(From OE-Core rev: aba671f805010313d8b7c02b560da2646de1164b)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:11 +00:00
Jan Luebbe
28b0c29594 libpcap: use binconfig class to deploy pcap-config
This fixes building of tcpdump on hosts where libpcap-dev is installed.
Also introduce INC_PR.

(From OE-Core rev: 942cdda2194078755a11efef3ba3f502f72e4f5e)

Signed-off-by: Jan Luebbe <jluebbe@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:11 +00:00
Richard Purdie
3148a6192e siggen.py: Include list of variables in hashes
Ensure that the list of dependencies is included in the hash
as well as their contents

Prior to this, adding or removing dependencies with values
of "None" would not change the hash, despite diffsigs reporting
this difference.

(Bitbake rev: 727ca945177ce9bd44515cf611e3e95a09466d98)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:09 +00:00
Richard Purdie
cb66ebaa8b siggen.py: Fix diffsigs output for filename comparisions
When comparing sig files, if the recipe locations had changed, the
dependent tasks list would show as changed even if the actual hash
had not changed. This updates the code to only compare the base part
of the pathnames.

It also tweaks some of the output to add newlines to aid comparing
two lists of variables as it makes the location of the difference
clearer.

(Bitbake rev: 165a22ddcc647b945707fb5c483146bb336d5f66)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18 10:47:09 +00:00
Richard Purdie
f2d077255d package.bbclass: Ensure we tell rpmdeps where to find its magic file
Without this, if rpmddeps came from a sstate package which was relocated
it might not find its magic file and if that happens, requires/provides
in packages could get corrupted. This leads to failures at rootfs time
during builds with messages like:

libdbus-1.so.3 is needed by libdbus-glib-1-2-0.92-r1.armv5te

since the provides would be missing in the dbus package.

(From OE-Core rev: abe2a948905a997314c61a8fcd35e2b42a3f4408)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-17 12:31:01 +00:00
Richard Purdie
5e109fc37e update-alternatives: Various fixes
dpkg-native's update-alternatives is broken for offline work so
don't install it.

Also list update-alternatives in the multiprovider whitelist to
avoid unwanted multiple provider warnings when multiple package
backends are enabled.

(From OE-Core rev: 300336fc4a310ed16a14ad041744708d54aae189)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 22:06:58 +00:00
Richard Purdie
217a90f2ab sanity.bbclass: No need to check for cvs any more
(From OE-Core rev: dbe154965aa19ba30504895f0abc0575dd67d890)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:46 +00:00
Saul Wold
4fa4a4ba03 bitbake.conf: Update ASSUME_PROVIDED
* Remove an obsolete comment about mercurial
* Remove cvs-native since we have removed cvs SRC_URIs

(From OE-Core rev: 99eb346bcee0d58ba40b4c3d8fcdabe3faf3e8f4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:46 +00:00
Dmitry Eremin-Solenikov
d4a31b7ce9 gobject-introspection: update frome meta-oe
OE-Core uses very old version of gobject-introspection. The recipe says
0.10.8, but in reality it's GOBJECT_INTROSPECTION_0_6_3-41-gefa7266.
That version e.g. doesn't compile with python 2.7 (default in some
versions), etc.

(From OE-Core rev: 04e4b3757b7ee6ed0a11e9feaee7c971a46f88ee)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:46 +00:00
Dmitry Eremin-Solenikov
0f9c30468a screenshot: rename to sato-screenshot
To remove a name conflict with e17's screenshot tool (and possibly other
screenshot tools, as screenshot is a generic term), rename screenshot
to sato-screenshot.

(From OE-Core rev: 5423d2fabade45974f20948a6d90a663eead209a)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:46 +00:00
Michael Brown
36747532e7 gcc-4.6: fix toolchain build for SH4
(From OE-Core rev: da7bf75bcdd5759a0f551dcb7a0326aa2f40921c)

Signed-off-by: Michael Brown <Michael_E_Brown@dell.com>

Port patch from base openembedded. Since 4.6 already has fixes for config.gcc,
the fix only requires a one line change to gcc-cross4.inc.

The patch was imported from the OpenEmbedded git server
(git://git.openembedded.org/openembedded) as of commit id
3aa8afe97e9cf1340feb9c4442a6ed88b7e32c96.

gcc-4.5: Fix toolchain builds for SH4/SH3

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:45 +00:00
Saul Wold
65333d263e boost: Update to 1.47.0 & Cleanup
Removed boost-jam-native since it was an older version
no incompatible with boost 1.47.
Modified boost to use BBCLASSEXTEND native for the bjam
native binary.
Removed older unused patches.

(From OE-Core rev: 67df7590d0a6600cb9768b3df2b56983a5fe234f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:45 +00:00
Saul Wold
7fb5294369 gnu-config: Create 2011111 release
Use a yoctoproject.org based tarball since gnu-config is required very
early on in the native build process, we do not want to rely on git, which
can cause a circular dependency issue.

(From OE-Core rev: 63fbf7dffb07c9adc3e4fbb504dcb81ea335e859)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:45 +00:00
Saul Wold
fc30aeb5b7 gnu-config: update to git HEAD
Licence has update timestamp and Copyright year.
This change needs a coresponding change to ASSUME_PROVIDED
to add git-native

(From OE-Core rev: b6c2631209181f43bbe54bb41b0a668f5b9e1383)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:45 +00:00
Saul Wold
9a566d76f5 file: update to 5.09
(From OE-Core rev: 57f4a5ca47e8e343ae30a07b922be0c177280b2f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:44 +00:00
Saul Wold
7e2682d5b1 libgpg-error: add BBCLASSEXTEND native for libgcrypts and gnutls-native
(From OE-Core rev: 3094a844f1ceb77153ac1a733623e6aca770b64b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:44 +00:00
Saul Wold
434d53b60a libgcrypt: add BBCLASSEXTEND native for gnutls-native
(From OE-Core rev: 796b06e7bd4c336a5d256d54d1d16a1a9058144c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:44 +00:00
Xiaofeng Yan
bff4b2f341 directfb: update to 1.4.15
The newest version for directfb is 1.5.3 but it's instruction set base on armv6.
The current qemuarm don't have some instructions for armv6 because some codes of \
the new version of directfb more than 1.5 are realized with assemble language,for example the lock. \
I update this recipe to 1.4.15 for directfb running more platform.

(From OE-Core rev: 33f2a741f19358bc8791ab3bf42a8f81f528c327)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:44 +00:00
Xiaofeng Yan
be24bd3ca2 libx11-diet: update to 1.4.4
I remove patch "nodolt.patch" because it is no use in the new version \
and change patch "include_fix.patch" to "keysymdef_include.patch" from libx11-1.4.4.

(From OE-Core rev: dbb86f8445512f95d9dc3cbbdf935901fe2e04b9)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:43 +00:00
Martin Jansa
bc9c52cf39 apr-util: extend sed call to fix libtool patch for case without SHELL in LIBTOOL variable
(From OE-Core rev: 94b7566ac9d07ad3e1b55f12988f53812d3651cd)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:32:43 +00:00
Richard Purdie
d6663c342e libconvert-asn1-perl/libtimedate-perl: Convert to use allarch
Both these recipes generate architecture independent packages.
They can safely use the allarch class to ensure they really
are indepentent from the target compiler and so forth and
hence ensure sstate packages with good dependencies.

[YOCTO #1075]

(From OE-Core rev: 2856d3f6aca0c20acd40f7f8970ec8590e4889a8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:19:13 +00:00
Martin Jansa
88f4568fc5 base.bbclass: add subversion-native to DEPENDS if there is svn:// in SRC_URI
* in some cases this could cause circual dependency (ie if we decide to
  apr_svn.bb or something like that before subversion-native in dependency
  tree), Saul said he had such case, but I wasn't able to reproduce it
  here (here it builds subversion-native-1.7.0 fine).

(From OE-Core rev: 820bb7f4a0ced61ae62886bc7c5168151db919ea)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:19:13 +00:00
Richard Purdie
8daf454676 bitbake.conf: Correct svn-native -> subversion-native so we use consistent names
(From OE-Core rev: df980525792ab14fdca96cc00ab90433aa2d8198)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:19:12 +00:00
Martin Jansa
1a16348cad alsa-lib: add nativesdk BBCLASSEXTEND
* needed for libsdl-nativesdk when DISTRO_FEATURES have alsa

(From OE-Core rev: da8425174529f10e16cde21fbea7f804284c38ae)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:19:12 +00:00
Phil Blundell
3cbd20dbf8 libnss-mdns: avoid race condition in postinst
Writing to "/tmp/nsswitch.conf" leads to a race condition if two
copies of the postinst are running simultaneously.  Fix this by
modifying /etc/nsswitch.conf in place using sed -i.  Also make the
same change to the prerm for consistency although the race will not
occur here in practice.

(From OE-Core rev: 689884653938b98899fb3ba791221fdbe2f40e7f)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-16 17:19:12 +00:00
Connor Abbott
fa81f8dfb7 mime.bbclass: fix typo
Before this patch, nautilus would fail with:
ERROR: Error executing a python function in /home/connor/angstrom/sources/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb:
NameError: global name 'dgetVar' is not defined
(From OE-Core rev: e7090743df6b38e9ce73743b5bbdd8ab6e9cada4)

Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:30 +00:00
Martin Jansa
9b6a548f5a alsa-lib: use PKGSUFFIX for every package to resolve multiple runtime providers from target and nativesdk
(From OE-Core rev: 60738953f6fee24de447cd0f9cf81cce6f8966a5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:30 +00:00
Martin Jansa
4ec1632de7 webkit-gtk: force arm mode to work around binutils segfault
* this is just work around, would be better to fix in toolchain

(From OE-Core rev: 2df59dad90f31aa48113ad8afe1af084b71a6a2c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:29 +00:00
Martin Jansa
97ca723e20 aspell: force ARM mode
* this is just work around for ICE, better fix would be to fix gcc
| ./common/fstream.hpp:23:9: note: the mangling of 'va_list' has changed in GCC 4.4
| modules/speller/default/typo_editdist.cpp: In function 'short int aspeller::typo_edit_distance(acommon::ParmString, acommon::ParmString, const aspeller::TypoEditDistanceInfo&)':
| modules/speller/default/typo_editdist.cpp:77:3: internal compiler error: in gen_thumb_movhi_clobber, at config/arm/arm.md:5937
| Please submit a full bug report,
| with preprocessed source if appropriate.
| See <http://gcc.gnu.org/bugs.html> for instructions.
| make[1]: *** [modules/speller/default/typo_editdist.lo] Error 1
| make[1]: *** Waiting for unfinished jobs....
| make[1]: Leaving directory `/OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/aspell-0.60.6.1-r0/aspell-0.60.6.1'

(From OE-Core rev: eff532ea13a270c0e4ffaf4ab059403d612a3197)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:29 +00:00
Martin Jansa
3356d639a3 pulseaudio-0.9.23: force ARM mode
* this is just work around, should be tested again after upgrade to
  pulseaudio-1.1
* otherwise build for armv4t (om-gta02) fails with this:
| /bin/sh ../arm-oe-linux-gnueabi-libtool  --tag=CC   --mode=compile
arm-oe-linux-gnueabi-gcc  -march=armv4t -mthumb -mthumb-interwork
-mtune=arm920t --sysroot=/OE/shr-core/tmp/sysroots/om-gta02 -std=gnu99
-DHAVE_CONFIG_H -I. -I..    -I../src -I../src -I../src/modules
-I../src/modules -I../src/modules/rtp -I../src/modules/rtp
-I../src/modules/gconf -I../src/modules/gconf -I../src/modules/bluetooth
-I../src/modules/bluetooth -I../src/modules/oss -I../src/modules/oss
-I../src/modules/alsa -I../src/modules/alsa -I../src/modules/raop
-I../src/modules/raop -I../src/modules/x11 -I../src/modules/x11
-I../src/modules/jack -I../src/modules/jack -I../src/modules/echo-cancel
-I../src/modules/echo-cancel -pthread -D_POSIX_PTHREAD_SEMANTICS
-DPA_BUILDDIR=\"/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23/src\"
-DPA_DLSEARCHPATH=\"/usr/lib/pulse-0.9.23/modules\"
-DPA_DEFAULT_CONFIG_DIR=\"/etc/pulse\"
-DPA_BINARY=\"/usr/bin/pulseaudio\"
-DPA_SYSTEM_RUNTIME_PATH=\"/var/run/pulse\"
-DPA_SYSTEM_CONFIG_PATH=\"/var/lib/pulse\"
-DPA_SYSTEM_STATE_PATH=\"/var/lib/pulse\" -DAO_REQUIRE_CAS
-DPULSE_LOCALEDIR=\"/usr/share/locale\"
-DPA_MACHINE_ID=\"/var/lib/dbus/machine-id\"
-DPA_ALSA_PATHS_DIR=\"/usr/share/pulseaudio/alsa-mixer/paths\"
-DPA_ALSA_PROFILE_SETS_DIR=\"/usr/share/pulseaudio/alsa-mixer/profile-sets\"
-O2 -pipe -g -feliminate-unused-debug-types -Wall -W -Wextra -pipe
-Wno-long-long -Winline -Wvla -Wno-overlength-strings
-Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op
-Wsign-compare -Wformat-security -Wmissing-include-dirs
-Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wstrict-prototypes -Wredundant-decls -Wmissing-declarations
-Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align
-Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math
-Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option -c -o
libbluetooth_sbc_la-sbc.lo `test -f 'modules/bluetooth/sbc.c' || echo
'./'`modules/bluetooth/sbc.ci

| arm-oe-linux-gnueabi-libtool: compile:  arm-oe-linux-gnueabi-gcc
-march=armv4t -mthumb -mthumb-interwork -mtune=arm920t
--sysroot=/OE/shr-core/tmp/sysroots/om-gta02 -std=gnu99 -DHAVE_CONFIG_H
-I. -I.. -I../src -I../src -I../src/modules -I../src/modules
-I../src/modules/rtp -I../src/modules/rtp -I../src/modules/gconf
-I../src/modules/gconf -I../src/modules/bluetooth
-I../src/modules/bluetooth -I../src/modules/oss -I../src/modules/oss
-I../src/modules/alsa -I../src/modules/alsa -I../src/modules/raop
-I../src/modules/raop -I../src/modules/x11 -I../src/modules/x11
-I../src/modules/jack -I../src/modules/jack -I../src/modules/echo-cancel
-I../src/modules/echo-cancel -pthread -D_POSIX_PTHREAD_SEMANTICS
-DPA_BUILDDIR=\"/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23/src\"
-DPA_DLSEARCHPATH=\"/usr/lib/pulse-0.9.23/modules\"
-DPA_DEFAULT_CONFIG_DIR=\"/etc/pulse\"
-DPA_BINARY=\"/usr/bin/pulseaudio\"
-DPA_SYSTEM_RUNTIME_PATH=\"/var/run/pulse\"
-DPA_SYSTEM_CONFIG_PATH=\"/var/lib/pulse\"
-DPA_SYSTEM_STATE_PATH=\"/var/lib/pulse\" -DAO_REQUIRE_CAS
-DPULSE_LOCALEDIR=\"/usr/share/locale\"
-DPA_MACHINE_ID=\"/var/lib/dbus/machine-id\"
-DPA_ALSA_PATHS_DIR=\"/usr/share/pulseaudio/alsa-mixer/paths\"
-DPA_ALSA_PROFILE_SETS_DIR=\"/usr/share/pulseaudio/alsa-mixer/profile-sets\"
-O2 -pipe -g -feliminate-unused-debug-types -Wall -W -Wextra -pipe
-Wno-long-long -Winline -Wvla -Wno-overlength-strings
-Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op
-Wsign-compare -Wformat-security -Wmissing-include-dirs
-Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wstrict-prototypes -Wredundant-decls -Wmissing-declarations
-Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align
-Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math
-Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option -c

modules/bluetooth/sbc.c  -fPIC -DPIC -o .libs/libbluetooth_sbc_la-sbc.oi
| modules/bluetooth/sbc.c: In function 'sbc_synthesize_four':
| modules/bluetooth/sbc.c:553:18: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c: In function 'sbc_synthesize_eight':
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| {standard input}: Assembler messages:
| {standard input}:6997: Error: selected processor does not support Thumb mode `mla r3,r0,ip,r3'
| {standard input}:7012: Error: selected processor does not support Thumb mode `mla r3,r1,ip,r3'
| {standard input}:7026: Error: selected processor does not support Thumb mode `mla r3,ip,r0,r3'
| {standard input}:7215: Error: selected processor does not support Thumb mode `mla r3,r7,r0,r3'
| {standard input}:7230: Error: selected processor does not support Thumb mode `mla r3,r7,r0,r3'
| {standard input}:7241: Error: selected processor does not support Thumb mode `mla r3,r0,r7,r3'
| {standard input}:7256: Error: selected processor does not support Thumb mode `mla r3,r0,r7,r3'
| {standard input}:7267: Error: selected processor does not support Thumb mode `mla r3,r7,r0,r3'
| {standard input}:7287: Error: selected processor does not support Thumb mode `mla r3,r7,r6,r3'
| {standard input}:7301: Error: selected processor does not support Thumb mode `mla r3,r6,r5,r3'
| {standard input}:7319: Error: selected processor does not support Thumb mode `mla r3,r0,r5,r3'
| {standard input}:7327: Error: selected processor does not support Thumb mode `mla r3,r1,r0,r3'
| {standard input}:7594: Error: selected processor does not support Thumb mode `mla r3,r5,r6,r3'
| {standard input}:7604: Error: selected processor does not support Thumb mode `mla r3,r5,r6,r3'
| {standard input}:7614: Error: selected processor does not support Thumb mode `mla r3,r5,r6,r3'
| {standard input}:7624: Error: selected processor does not support Thumb mode `mla r3,r5,r6,r3'
| {standard input}:7634: Error: selected processor does not support Thumb mode `mla r3,r5,r6,r3'
| {standard input}:7647: Error: selected processor does not support Thumb mode `mla r3,r2,r5,r3'
| {standard input}:7657: Error: selected processor does not support Thumb mode `mla r3,r2,r5,r3'
| {standard input}:7815: Error: selected processor does not support Thumb mode `mla r3,r9,r7,r3'
| {standard input}:7837: Error: selected processor does not support Thumb mode `mla r3,r9,r0,r3'
| {standard input}:7853: Error: selected processor does not support Thumb mode `mla r3,r9,r0,r3'
| {standard input}:7875: Error: selected processor does not support Thumb mode `mla r3,r9,r7,r3'
| {standard input}:7891: Error: selected processor does not support Thumb mode `mla r3,r9,r7,r3'
| {standard input}:7908: Error: selected processor does not support Thumb mode `mla r3,r0,r6,r3'
| {standard input}:7931: Error: selected processor does not support Thumb mode `mla r3,r6,r5,r3'
| {standard input}:7952: Error: selected processor does not support Thumb mode `mla r3,r0,r5,r3'
| {standard input}:7960: Error: selected processor does not support Thumb mode `mla r3,r2,r0,r3'
| make[4]: *** [libbluetooth_sbc_la-sbc.lo] Error 1
| make[4]: Leaving directory `/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23/src'
| make[3]: *** [all-recursive] Error 1
| make[3]: Leaving directory `/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23/src'
| make[2]: *** [all] Error 2
| make[2]: Leaving directory `/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23/src'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23'
| make: *** [all] Error 2
| + die 'oe_runmake failed'
| + bbfatal 'oe_runmake failed'
| + echo 'ERROR: oe_runmake failed'
| ERROR: oe_runmake failed
| + exit 1
| ERROR: Function 'do_compile' failed (see /OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/temp/log.do_compile.3404 for further information)

(From OE-Core rev: 31a20d50124344dc708ade282677b2c7dda171b0)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:29 +00:00
Martin Jansa
f33c31a30b libatomics-ops: force ARM mode
* otherwise ie spitz (armv5te) build fails with:
| make[3]: Entering directory `/OE/shr-core/tmp/work/armv5te-oe-linux-gnueabi/libatomics-ops-1.2-r5/libatomic_ops-1.2/src'
| arm-oe-linux-gnueabi-gcc  -march=armv5te  -mthumb -mthumb-interwork  -mtune=xscale --sysroot=/OE/shr-core/tmp/sysroots/spitz -DHAVE_CONFIG_H -I.    -fPIC -O
2 -pipe -g -feliminate-unused-debug-types -DNDEBUG -c atomic_ops.c
| arm-oe-linux-gnueabi-gcc  -march=armv5te  -mthumb -mthumb-interwork  -mtune=xscale --sysroot=/OE/shr-core/tmp/sysroots/spitz -DHAVE_CONFIG_H -I.    -fPIC -O
2 -pipe -g -feliminate-unused-debug-types -DNDEBUG -c atomic_ops_stack.c
| arm-oe-linux-gnueabi-gcc  -march=armv5te  -mthumb -mthumb-interwork  -mtune=xscale --sysroot=/OE/shr-core/tmp/sysroots/spitz -DHAVE_CONFIG_H -I.    -fPIC -O
2 -pipe -g -feliminate-unused-debug-types -DNDEBUG -c atomic_ops_malloc.c
| atomic_ops_malloc.c: In function 'msb':
| atomic_ops_malloc.c:223:2: warning: right shift count >= width of type [enabled by default]
| rm -f libatomic_ops_gpl.a
| ar cru libatomic_ops_gpl.a atomic_ops_stack.o atomic_ops_malloc.o
| arm-oe-linux-gnueabi-ranlib libatomic_ops_gpl.a
| {standard input}: Assembler messages:
| {standard input}:286: Error: selected processor does not support Thumb mode `swp r1,r2,[r3]'
| {standard input}:329: Error: selected processor does not support Thumb mode `swp r0,r1,[r3]'

* this is just work around, proper fix proposed by Henning Heinold
  hm we should think of reworking this recipe now. Because since gcc 4.5
  pulseaudio for arm can use the gcc internal atomicstuff and in oe-core
  and meta-oe we have 4.5 or 4.6 only. The lib is
  only needed for mips and it is still the old release, on cvs
  is a much better version, which supports thumb too, if
  remember correctly.

(From OE-Core rev: 2d34fc0ce21fe06ff97208c8ffb65a718b444de9)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:29 +00:00
Martin Jansa
4cedec6e16 time: use u-a for time, conflicts with busybox
* it was reported here:
  http://lists.linuxtogo.org/pipermail/openembedded-core/2011-September/009409.html

(From OE-Core rev: 4ed8241b58ad3180311fc20cb6ef26acf44058b4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:28 +00:00
Martin Jansa
f7388d20c2 time: drop default S and 2 useless comments
(From OE-Core rev: 36fdc67154bdeb15094df23fc7553a163a45b592)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:28 +00:00
Martin Jansa
ab2e1c1c3d time: rename files dir to time-1.7 for faster lookup
(From OE-Core rev: 1f90289b0fb3852a5a28f688b587f6d77d589ab7)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:28 +00:00
Martin Jansa
dc80635ae3 kbd: use u-a for chvt, deallocvt, fgconssole, openvt, conflicts with busybox
(From OE-Core rev: c7d8bae47ea80f02af18e67b33e5ac6d1508432a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:27 +00:00
Martin Jansa
d34eed95ff util-linux: bump PR after u-a changes
* it's in separate commit because original PR change was eaten by later commit
  util-linux: split mcookie into a package

(From OE-Core rev: 550ac4be8e3ea694d500337c48bbc7bf1c9b041e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:27 +00:00
Martin Jansa
bca2c0b614 util-linux: add missing u-a calls for setsid chrt
* someone added them to usrbinprogs_a, but without u-a calls added
* similar problem is with chfn chsh newgrp, but those are not built in
  current version

(From OE-Core rev: 14bc68b03e65a9236a1c0d16403371d4ef742588)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:27 +00:00
Martin Jansa
fa814476fb util-linux: use u-a for flock and blockdev, conflicts with busybox
* nobody replied on
  http://lists.linuxtogo.org/pipermail/openembedded-core/2011-September/009409.html
* be aware that all those renames to foo.${PN} are also applied for
  native variants so now we have utils like
  tmp-eglibc/sysroots/x86_64-linux/usr/bin/flock.util-linux-native
  which are not used ie in
  package_ipk.bbclass: package_update_index_ipk
  because it calls just flock
  so if that's problem then we should apply those renames only for
  target version (and live with possible overwrites in -native sysroot)
  or teach u-a postinst/prerm to happen also for sysroot population

(From OE-Core rev: ecebc85df3714f49a6f196655b83a3fde65167ec)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:27 +00:00
Martin Jansa
d489592092 subversion: add 1.7.0 with native support and negative D_P for now
* intentionaly with negative D_P, bitbake fetcher should be improved to
  detect old checkout with newer subversion available or vice versa and
  do svn upgrade automaticaly or show better error, but subversion as
  client for target or -native for distributions which explicitly say
  they want 1.7 (with PREFERRED_VERSION) can be available already from
  oe-core.
* be aware that checkouts from 1.7.0 are not compatible with older
  subversion clients (ie when builder populating distro PREMIRROR is
  using 1.7.0 all builders need to have also 1.7.0)
* and also 1.7.0 client needs to call svn upgrade in checkout first in
  order to use it (so if PREMIRROR has tarball from 1.6.x it won't work
  on client using 1.7.0 unless fetcher2 is improved to detect this and
  call svn upgrade)
* tested on SHR distribution
  http://wiki.shr-project.org/trac/wiki/Building%20SHR#subversion1.7inshr-chroot
* only missing part is to add subversion-native dependency, so that
  native subversion is built, before building ie elementary (because EFL
  are using svnversion from configure.ac to detect source revision and
  .svn dir needs to be from compatible version).
* read http://subversion.apache.org/docs/release-notes/1.7.html

(From OE-Core rev: d092efd48d831c762747d2f6e1c6018402c3ee0f)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:26 +00:00
Simon Busch
b53805792c qt4-x11-free: bring back pkg-config fixups
* With b40b9c024be5e1ec81a31961158b3e6b529acfe0 some pkg-config fixups where removed from
  qt4.inc which breaks the pkg-config files for qt4-embedded. Without that the pkg-config
  files for qt4-x11-free are broken. So this patch puts the fixes into the qt4-x11-free.inc
  file to be used by qt4-x11-free and not qt4-embedded.

* Resending because nobody replied on
  http://www.mail-archive.com/openembedded-core@lists.openembedded.org/msg10609.html

(From OE-Core rev: 9086c7e2e106fb5188963a5dac4e1f1ff9d759d4)

Signed-off-by: Simon Busch <morphis@gravedo.de>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:26 +00:00
Otavio Salvador
022c358403 dhcp: generate initial leases files for server
If not using the init script it fails as the leases are created by it.
When used with systemd, this fails without the leases thus this allows
it to work out of box.

(From OE-Core rev: 8ae8b41f9d448a35441fa92f657e5b9edbcf68b5)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>

Added commit meesage from Otavio's email

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:26 +00:00
Richard Purdie
6c508124a1 dpkg/update-alternatives: Fix dpkg version of update-alternatives to be usable
The version of dpkg the updates-alternatives-dpkg recipe pointed
at no longer used a perl script but a compiled binary. This meant
the "all" architecture field was invalid, as as the sed operation
during do_patch. All things considered the separate recipe was
pretty pointless.

This patch moves update-alternatives back to being built as part
of the dpkg recipe. It also moves various functionalty to the .inc
file which it belongs and fixes building and packaging of the dpkg
perl modules.

(From OE-Core rev: fad496c759066d53bebf9b8cebc63e6478c91d19)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:26 +00:00
Richard Purdie
d3c950e622 base-passwd: Move update-passwd into a separate package
update-passwd is the only user of the passwd/group.master files
and was never used by OE since it wasn't run.

This patch packages this separately and adds an appropriate postinst
to make the package useful so people can include it as they wish.

(From OE-Core rev: 77ab0f09546c5f6217a8e2f1bc30cf3d4306e3fa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:25 +00:00
Richard Purdie
d0151bcd7b base-passwd: Fix the broken preinst/postinstall
The preinst accesses file which may not yet have been unpacked.
The postinst is too late for the creation of these files
for at least the opkg backend.

This patch therefore encodes the file contents into the preinst,
resolving the various issues once and for all.

(From OE-Core rev: fc708d88f97e40a5bf929e4e02ed805fb3684ffe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:25 +00:00
Jan Luebbe
a4ff4e95c4 syslinux: fix the SRC_URI by using the 4.xx directory
This path should be valid for a longer time, as only the current
release stays in main directory.

(From OE-Core rev: 4013de36a60b8f69f04e58cf5751efaf0d26d5ea)

Signed-off-by: Jan Luebbe <jluebbe@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:25 +00:00
Paul Eggleton
97a40ff05e lib/bb/runqueue: avoid marking runtime dependencies as covered
The code which populates setscene_covered list was adding a task to the
covered list if all of the tasks that depend upon it were also covered;
however, this means that tasks that would have installed "runtime"
dependencies were being marked as covered also, e.g. gmp-native and
mpfr-native are needed by gcc-cross at runtime since they are shared
libraries that gcc links to, but their do_populate_sysroot tasks were
being marked as covered, resulting in failures later on if gcc-cross was
available from sstate but mpfr-native and gmp-native weren't.

Since we currently have no real way to handle runtime dependencies for
native packages, add a workaround which avoids marking tasks as covered
if one or more of their revdeps are from a different recipe.

Fixes [YOCTO #1536].

(Bitbake rev: e492eb4dc9016cd0bed194377c6f2b85cf0ad113)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-15 12:05:24 +00:00
Richard Purdie
d8193f19fe opkg: Ensure we use the uname/gname fields when extracting tarballs
When extracting packages onto the target system in particular, we
really want to ensure the name fields in the tarball are used over
and above the numerical uid/gid values. This patch adds this
functionality to opkg and ensures package upgrades work correctly
permission wise.

(From OE-Core rev: f2316ff39670ed99382411e15ac035550360fbdd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-14 11:15:45 +00:00
Richard Purdie
8135963ff2 rootfs_ipk.bbclass: Ensure bad recommendations persist in the status file
Currently bad recommendations are added to the status file with status
"ok". After a single opkg command, whilst it will ignore the recommendation,
the status changes to "installed" even if the recommended package was not
installed. Whilst this is likely a glitch in opkg's logic, the correct
way to persist the information in the status file is to set the status
to "hold" as deinstall packages with that status remain. With this change
the bad recommendations persist accross multiple opkg runs and the system
behaves as expected.

[YOCTO #1758]

(From OE-Core rev: 215ff6b2e9676c8c7dd8acfd696151bcd0f1490f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-14 11:15:45 +00:00
Otavio Salvador
acbf65b9a6 xinit: rdepends on util-linux-mcookie to avoid brining whole util-linux
(From OE-Core rev: a8ed4fcd79f6283c1d45f347dce894d784183900)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-11 11:01:08 +00:00
Otavio Salvador
9ef8cb7821 util-linux: split mcookie into a package
(From OE-Core rev: 3e5b9ddaf3f9492e34967146c42369bcd76ddf03)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-11 11:01:08 +00:00
Mark Hatle
6d0ad5c31b sudo: Avoid post install scripts
The post install script was removed, and the install_append updated
to ensure the permissions are set correctly.

(From OE-Core rev: 463e44ae159da2e03369f9ac14843b479de2e43d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-11 11:01:08 +00:00
Mark Hatle
af2a885c9e shadow: Generate the shadow files at rootfs construction
With the recent changes to the shadow-native package support "--root",
we can now convert the passwd/group files to their shadow forms while
doing the rootfs install, instead of waiting to run on the target.

(From OE-Core rev: 662431ace246e9bb35ad8d0ddd0510193f93517d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-11 11:01:07 +00:00
Mark Hatle
8c6239181c wpa-supplicant: Avoid blocking the post install script at cross rootfs time.
We only want to reload dbus, if we're install on the target -- not on the host.

(From OE-Core rev: 1ce23fe7d7c33c196af3ba25b4e97496718328d1)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-11 11:01:07 +00:00
Mark Hatle
71fd6c85c6 rootfs_rpm.bbclass: Turn off script debugging
Disable script debugging, as the log files become huge and take a
long time to process during the log check step.  This results in a
performance improvement.

(From OE-Core rev: a7e70227bac72c4f7d3419f94f6915da4c7e3f43)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-11 11:01:07 +00:00
Mark Hatle
ef1d61d711 rootfs_rpm.bbclass: Enable pre and post install scripts
[YOCTO #1755]

We change the want the RPM rootfs install works to install pre and post install
scripts.  The new method uses a script helper that is invoked by RPM outside
of the normal chroot.

The wrapper is dynamically generated prior to the install starting.  It will
check the return code of the script.  If the script fails, it will store a copy
to be executed on the first system boot.  This is similar to the previous
mechanism.

In addition, a line of debug was added to the scripts as written by package_rpm
to list which package and which script for later debugging, if necessary.

(From OE-Core rev: 3e7120d6a9fd5e46214673d0a6e1085a7314ff42)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-11 11:01:07 +00:00
Dmitry Cherukhin
298278257b qt-mobility: qa_configure stage failed
The catalogue /usr/lib removed from Makefiles used for building configure tests.

(From OE-Core rev: 815560c0ee5a1a984b7d0fc8417c46606854e7fe)

Signed-off-by: Dmitry Cherukhin <dima_ch@emcraft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-11 11:01:06 +00:00
Paul Eggleton
78d1b44586 README.hardware: declare support for BeagleBoard xM rev B
The BeagleBoard xM revision B has been tested (by me, if nobody else.)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-11-10 18:07:52 +00:00
Paul Eggleton
3b65c3e0e1 README.hardware: update atom-pc instructions
The -live and -directdisk images have been superseded in the Yocto
Project 1.1 release, so update the instructions for atom-pc relating to
this change. Also fix a couple of other minor atom-pc related
capitalisation.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-11-10 18:07:52 +00:00
Richard Purdie
0b0674ebcd populate_*.bbclass: Correct INSTALL variable name after recent multilib changes
(From OE-Core rev: 379c77d1516fe8fdbd1cd7063f709b5266872b03)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 18:05:57 +00:00
Richard Purdie
5bcb0963dc populate_*.bbclass: Drop pointless fakeroot attribute (fakeroot is at the task level)
(From OE-Core rev: 2cac20439d4eb0b3a21ce37e2fa670941e6356c4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 18:05:57 +00:00
Richard Purdie
ffa51f0b92 bitbake.conf: Unload pseudo when its not required for a given task
This yields a small performance boost due to the lack of the
preload overhead on each task execution.

(From OE-Core rev: 4c4498c38232a832bdbfadf54d2e1bf4bc34b171)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:59 +00:00
Paul Menzel
4a8678a503 xinit: Fix startx looking for mcookie in sysroot
`startx` run on a system based on the demo systemd image [1] and `opkg`-installed packages fails with the following error.

	/usr/bin/startx: line 139: /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x68_64-linux/usr/bin/mcookie: No such file or directory

Applying commit 443bcc07 [1] from OE-classic

        Author: Tom Rini <tom_rini@mentor.com>
        Date:   Thu Apr 7 10:36:43 2011 -0700

            xinit: Fix mcookie / util-linux-ng dependency

            xinit just needs to know the runtime path of mcookie so we need to
            RDEPEND on util-linux-ng and pass the runtime path in via EXTRA_OECONF

            (From OE-Core rev: 1053a6a8e15851ef139d8aa4683849fc2fc277e1)

Signed-off-by: Tom Rini <tom_rini@mentor.com>

fixes this issue. Commit 7f6cec6f [2]

        Author: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
        Date:   Sun Feb 21 18:11:30 2010 +0100

            xinit: add dependency on util-linux-ng

        […]

tried to address the same problem but apparently did not help, because Tom still had problems.

[1] http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-systemd-image-eglibc-ipk-v2011.11-core-beagleboard.rootfs.tar.bz2
[2] http://git.openembedded.org/openembedded/commit/443bcc0785bc004e471b3750a34d12d2fd2e5dad
[3] http://git.openembedded.org/openembedded/commit/7f6cec6f0adb6203a6dbaf8a43c67c2c4f8bf84e

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:59 +00:00
Bruce Ashfield
adf45e7450 linux-yocto: config cleanups + romely rt support
Updating the meta branch SRCREV to pickup a series of BSP
cleanups and add -rt support to the romely.

  ae3e64c meta/romley: Add rt support Add rt support to the meta branch for romley.
  6c78969 meta/fishriver: enable hpet
  bc4452a meta/jasperforest: use power/intel feature
  6e9634e meta/fri2: use power/intel feature
  ec949f5 meta/fishriver: use power/intel feature

(From OE-Core rev: d74dec5af2223ab97aea6feee978f4e27adcdf96)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Kishore Bodke <kishore.k.bodke@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:59 +00:00
Martin Jansa
31c7b6f1e8 task-core-x11: use VIRTUAL-RUNTIME variables for xserver_common and graphical_init_manager
(From OE-Core rev: 9e7c7e39a32b29386bee64b75cec949d30e3d2e7)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:59 +00:00
Martin Jansa
61127dd923 keymaps: depend on kbd instead of console-tools
* nowadays kbd seems more active

(From OE-Core rev: 3348e9b02b922b89ecbece7922d1c6b583e1fb1d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:58 +00:00
Martin Jansa
06765229cc task-core-boot, keymaps: add another VIRTUAL-RUNTIME to allow distributions to use different set of initscripts or no initscripts at all
(From OE-Core rev: 739692ac066319d830d0eb7d27ef1075f259efe4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:58 +00:00
Martin Jansa
e6c97842bf kbd: add RREPLACES/RCONFLICTS/RPROVIDES for upgradeable path from console-tools
(From OE-Core rev: 9065a75d4a29b2528b5558d91bcd500ca51baa84)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:58 +00:00
Martin Jansa
18e61c6b32 kbd: import from meta-oe
* replaces console-tools used in keymaps

(From OE-Core rev: 53ba913e7df79da8735baef54891ebe47bbb159d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:58 +00:00
Saul Wold
8b1159ef6d lame: update to 3.99.1
Updated lame.h checksum due to change of LGPL Lessor -> Library

(From OE-Core rev: 1d8e077dc1e5166c9c6251c6a596a24785921a21)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:57 +00:00
Tom Zanussi
3e21bb436c python: bump PR
Commit 23d2eaf9 ('skip setup.py 'import check' when cross-compiling')
neglected bumping the PR, this adds it.

(From OE-Core rev: 87f42a7f899ecaba8ca8d11c09752b6019feb9d5)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:57 +00:00
Darren Hart
90c789e576 ncurses: refactor configure to avoid configuring widec when disabled
The ENABLE_WIDEC variable can be used to disable ncurses wide character support
when your C library doesn't support it. Currently, the do_configure step
configures for both narrow and wide characters regardless and only checks
ENABLE_WIDEC during compilation. This leads to QA failures with host
contamination during configure if the C library doesn't support wide characters.

Refactor do_configure with a new ncurses_configure helper function and only
configure for wide character support if ENABLE_WIDEC is true.

Ensure that configure errors are propogated back through to do_configure.

Tested with ENABLE_WIDEC as true and false via an ncurses bbappend on i586,
including basic error injection.

V2: INC_PR bump

(From OE-Core rev: 8b995deb046469c1c713fa053510d2fe94454133)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:57 +00:00
Saul Wold
c7dc1283f4 libtasn1: update to 2.10
COPYING.LIB has white space formating changing
README has Copyright update to year range

(From OE-Core rev: b50bf2fe6d3364e2ceb652623c9c25057d8b1001)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:57 +00:00
Martin Jansa
cb8607b4fa libxml2: use Copyright in LIC_FILES_CHKSUM instead of COPYING
* COPYING is replaced by symlink to Copyright during do_configure
  (see configure.in), then we end with link to nonexistent file
* same issue as libxslt had http://patchwork.openembedded.org/patch/14195/

(From OE-Core rev: a9f495f8d001e25596189eaea0e1f96165ae9327)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 12:08:56 +00:00
Richard Purdie
c8dee9b92d Convert to use direct access to the data store (instead of bb.data.*Var*())
This is the result of running the following over the metadata:

sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`

(From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:19 +00:00
Richard Purdie
5d3860f4a8 Allow use of dash as /bin/sh
We've had the check for dash as /bin/sh for a long time. Dash has been
around long enough now that most major issues have been identified and
fixed from  build perspective.

This patch fixes a bashism in the openjade-native recipe. It also
adjusts libtool so that the header at the script is used and not the
value of $SHELL. This is because many Makefiles change $SHELL so dash
can get used to execute what is otherwise configured as a bash shell
script. Since we don't need to execute scripts this way on any system I'm
aware of us building upon, the simplest fix is just to remove $SHELL.

With these two changes the dash check can be removed and we can allow
builds with dash as /bin/sh

(From OE-Core rev: 07ded02ffd37b4fe60a6210dbf56490ea306f0b6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

[Note: I know I need to add the description of the libtool change above
into the prefix.patch]
2011-11-10 11:51:18 +00:00
Richard Purdie
d9740cdcd7 qemu: Ensure an internal qemugl script uses bash as it has bashisms
(From OE-Core rev: 6e26eaf03f2f524b78c194377ea0589e6913445d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:18 +00:00
Richard Purdie
c96e4990fe classes: Remove various bashisms
(From OE-Core rev: a057adfbb72454e28294f00075a69e0e7c699bec)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:18 +00:00
Richard Purdie
a3b987a2f7 scripts/qemuimage-testlib: Output a slightly better error if expect is missing
(From OE-Core rev: bfbbb420c0a6b315f73d3d5e463a518098ca6ef0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:17 +00:00
Saul Wold
b6bc04dfeb udev-extraconf: blacklist /dev/md
Do not mount /dev/md by default via udev, this resolved a problem
with the sanity test failing due to seeing the error while attempting
to mount /dev/md0

(From OE-Core rev: 07a2825c6f4ad3e5e3970cd1a89233bd795c68cf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:17 +00:00
Saul Wold
f48be2c6fa Distro_tracking: Update Manual Check Date
Checked the following Upstreams:
apt
libaio
sysstat
unzip
zip
linexif
boost
libcheck
ncurses
sysfsutils
util-linux - Offline
lsb
eds-tools
libmad
lame
glew
squashfs-tools

(From OE-Core rev: 8665e4a47e944b53043a003eda12a447daee51c5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:17 +00:00
Paul Menzel
4dbe3ac24b libarchive: Remove obsolete comment and empty line at the end
This is a fix up for

        commit fb19df5b21e551c5dfdfa340438952560c5fa528
        Author: Xiaofeng Yan <xiaofeng.yan@windriver.com>
        Date:   Mon Nov 7 20:03:53 2011 +0800

            libarchive: update to 2.8.5

            Remove patch "0003-Patch-from-upstream-rev-2516.patch" because it has been merged
            to source codes.

            (From OE-Core rev: 1df17fb4c22e00e6a180777dd23efb6d5cb1590a)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>

removing a now obsolete comment because the undistributable content was removed [1] from upstream’s tarball.

Also remove an empty line at the end introduced in the above commit.

[1] http://code.google.com/p/libarchive/issues/detail?id=162

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:16 +00:00
Matthew McClintock
7dec9be56b Introduce new SERIAL_CONSOLES to add multiple consoles for your MACHINE
Just define additional serial consoles like so:

SERIAL_CONSOLES="115200;ttyS0 115200;ttyS1 ... 115200;ttySN"

Also be sure to remove SERIAL_CONSOLE (lacking the S) from your
machine as they can conflict.

(From OE-Core rev: a61b5e980d45df4dc2c83dd13996b0563fddf803)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:16 +00:00
Richard Purdie
2203a31dcb data_smart: Add appendVar/prependVar functions
This patch adds appendVar and prependVar functions to the data store
meaning python code would no longer have to do the getVar, append and
the setVar dance that much of the current python code does.

It also adds corresponding variants for flags.

Currently there is no spacing added by these functions. That could be
added as a parameter if desired.

If these functions turn out to be hotspots in the code, there are tricks
that could potentially be used to increase the speed of these specific
operations within the datastore.

(Bitbake rev: 4a4046268f84b85559eea2c4b6a6004ad8cccb77)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:11 +00:00
Richard Purdie
12c6bcbf49 Add FAKEROOTNOENV variable
Add a FAKEROOTNOENV which does the opposite of the FAKEROOTENV variable
and is data loaded into the environment for tasks without the fakeroot
flag.

The intent here is to provide a way to control the environment when we
aren't needing fakeroot context which allows us to unload the preload
from memory entirely and gain a valuable speedup.

I'm not 100% happy with needing this at the bitbake level, particularly
with the cache hit but it does give a valuable speedup.

(Bitbake rev: 05c29ab0b2ad3c521414cabb6a92bca15c6e919c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:11 +00:00
Richard Purdie
eda0ed9015 cooker.py: Ensure only one copy of bitbake executes at once
The bitbake codebase makes assumptions that only one copy is active
against a given build directory at a given time. This patch adds a
lockfile in TOPDIR to ensure that is the case.

Note that no unlock is needed, that is automatically dropped when
execution terminates.

(Bitbake rev: 6004cbf36c980c2574c1c9153df81a7c55317e17)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:44:58 +00:00
Richard Purdie
d07473d2c2 utils.py: Fix lockfile retry handling
The lockfile retry parameter is expected to return immediately after
attempting to take the lock. There was a bug in the logic which this
patch fixed to ensure it does that.

(Bitbake rev: f421ef819f00ac659504d9af41bcc8323422ff8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:44:29 +00:00
Christopher Larson
ab3488264b codeparser: silence non-literal warnings for vardeps
If the vardeps flag is not None, we now silence the warnings about
non-literal usage for that variable.

(Bitbake rev: e724b9f417d1baf898f5afc6376c73c1a2ad8db9)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:44:29 +00:00
Christopher Larson
7e436a9845 codeparser: drop expand tracking
There are two usual cases involving bb.data.expand:

- Calling it with a string literal -- "bb.data.expand('${FOO}/${BAZ}/bleh', d)".
- Calling it on getVar results (legacy) -- "bb.data.expand(bb.data.getVar('FOO', d), d)"

Nothing in any of the usual layers uses it in any other way, and I'm
having trouble coming up with any real use cases beyond this. The first
of the above cases is already tracked, via the expandWithRefs called
on the python code string. The second didn't emit a warning anyway,
since the getVar was already handled.

Given this, I see no reason for us to maintain explicit expansion
tracking. Further, we weren't using its results anyway (the var_expands
member).

(Bitbake rev: 405dfe69e6a608826e599ebf2f83ef8cf5083b96)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:44:29 +00:00
Christopher Larson
ae96ac1189 codeparser: accept a name for better messages
- If a name is passed to the parser, prepend the messages with "while
  parsing <name>:". This gives a bit more context.
- Tweak the warning messages slightly (they had to be altered anyway to
  inject the variable being parsed).

Before:
  DEBUG: Warning: in call to 'bb.data.getVar': argument ''%s' % var' is \
         not a literal

After:
  DEBUG: while parsing emit_pkgdata, in call of bb.data.getVar, argument \
         ''%s' % var' is not a string literal

(Bitbake rev: 1060193ae4d54e667735dbff5d1d2be49a3f95c9)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:44:29 +00:00
Christopher Larson
48d7f5251b codeparser: simplify how we compare the called node names
With the previous method, using the compare_name methods, we split the
requested match name by '.', reversed it, then compared them piecemeal
during the node traversal. The new method walks the nodes and hands back
the name of what's being called, and then we check that. This also
consolidates the two different implementations of traversal of the
attribute/name nodes (one in compare_name, one for the execs).

(Bitbake rev: 84e535b5165c7e936c5b1486bdf4626ed3649f5f)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:44:28 +00:00
Christopher Larson
002451b3a2 codeparser: merge the nested python parsing classes
The split is even less necessary now that we use ast.walk rather than an
actual NodeVisitor subclass.

(Bitbake rev: d6c44fac184abae8395bfa7078f06675218aa534)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:44:28 +00:00
Xiaofeng Yan
9e06f31a30 local.conf.sample.extended: Fix bug 1674
[YOCTO #1674]
local.conf.sample.extended: An image based on gtk+-directfb don't need x11 for DEFAULT_FEATURES

Remove "x11" from DEFAULT_FEATURES and add "directfb" to it because someone could don't need x11 in their project, perhaps
gtk over directfb will meet his reqirement.

(From OE-Core rev: 5def790bdecd2726692b40a57bc12c8bdfea9179)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:44:14 +00:00
Richard Purdie
605d011641 useradd: Add missing DEPEND on shadow
Without this rootfs generation fails as an RDEPENDS is added
but the package might not have bneen built.

(From OE-Core rev: bfe70c6446e6686f826f01040ba74c7d7d28bf42)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:13 +00:00
Scott Garman
d847aba4e6 avahi: remove USERADDPN
USERADDPN is no longer used; remove it.

(From OE-Core rev: ed7e7a8e4d00cd45c74dc233c8b574d3978755d8)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:12 +00:00
Scott Garman
bef492a2d7 useradd-example.bb: update example documentation comments
Clarify that only packages listed in USERADD_PACKAGES will
include the user/group creation code.

(From OE-Core rev: 70aaac37968bf2b35d6a536c3f3f69fe3620255c)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:12 +00:00
Scott Garman
3b93447e35 useradd.bbclass: do not modify -nativesdk packages
Exclude the addition of user/group code and RDEPENDS changes for
-nativesdk packages.

(From OE-Core rev: 2f057dd905ccb497890ce73ac4e4c256edcf0351)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:12 +00:00
Scott Garman
67a2c35530 useradd.bbclass: only modify packages in USERADD_PACKAGES
Previously we injected the user/group preinstall script into all
output packages. This fixes that so that only packages listed in
USERADD_PACKAGES get modified.

It also removes the USERADDPN variable, which is no longer needed.

(From OE-Core rev: 2f73466eb5018040a123ccb0e2af8c519525f958)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:12 +00:00
Richard Purdie
4fc4be6438 gconf: Drop polkit dependency
(From OE-Core rev: 11506f702a83a77d06d259ce05c89808d53a9661)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:11 +00:00
Joshua Lock
d4d29f7e58 gconf: add upstream GNOME gconf 3.2.3 and drop gconf-dbus
The D-Bus backend has been integrated into upstream GConf so we can
switch to upstream and drop gconf-dbus.

I've gone for a release in the 3.2 series as we disable Gtk+, and
therefore are not impacted by the gtk+3 changes, and the D-Bus backend
was unstable before this release.

(From OE-Core rev: f952b1bc8a4f307e2e2f3941f50becd72d88421d)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:11 +00:00
Richard Purdie
1ab3d1b548 mime.bbclass: No need to import os.path, it then breaks the os module
(From OE-Core rev: b4457a9605988feecadfd49df22ef57245c4cd86)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:11 +00:00
Joshua Lock
f699875828 classes/[gnome|gnomebase|mime]: enhance gnome related classes
This patch pulls in the gnome related classes from oe-core which
adds extra packaging rules and functionality whilst modularising things
so that one can get a subset of gnome functionality without adding a lot
of extra dependencies.

These aren't an exact copy of the classes from meta-openembedded, notable
differences are:
* gnome.bbclass - I dropped the BBCLASSEXTEND
* mime.bbclass:
  - updated coding style
  - use which to find update-mime-database program rather than hard coded
  - fix typo in populate_packges_append such that it's actually called

CC: Koen Kooi <koen@dominion.thruhere.net>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 6ead00eba265211eae5a2423c155403c8c6d54d0)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:11 +00:00
Joshua Lock
cb1bc7668e shared-mime-info: package runtime data separately
The freedesktop.org.xml is required when updating the mime database but
otherwise not much use. Therefore package it separately, rather than
removing it completely, so that it can be used as required for on-device
updates without adding almost 2MB to every image which hase shared-mime-info.

(From OE-Core rev: 07ee2d7e6b2f571fe405464838e376cf03e5e8e6)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:10 +00:00
Paul Eggleton
b81caca231 busybox: add grep to temporary links during uninstall
In the busybox package prerm we set up some temporary links and modify
PATH so that certain utilities are provided for the purpose of running
update-alternatives; if grep is not among these then you get errors when
removing busybox, so add a temporary link for grep as well.

(From OE-Core rev: 013eca09c863862cc6b7ee3bc22923bf8fb42956)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:10 +00:00
Paul Eggleton
7b645cac3f classes/package_rpm: disable uninstall scripts for upgrades
Our current assumption (based on the behaviour of opkg) when writing
recipes is that prerm and postrm do not get called during an upgrade.
When using rpm however, these are mapped to the rpm "preun" and "postun"
events which occur after postinst for upgrades, and when these contain
removal type operations (such as update-alternatives --remove) this
causes problems.

This patch wraps each preun and postun script for rpm in a check that
determines whether or not the script is being called during an upgrade,
and skips the entire script if it is, which mimics the behaviour of opkg
under the same conditions.

Fixes [YOCTO #1760]

(From OE-Core rev: 1d3f37dc9a43ba6d6beb7b4530c077f239032b99)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:10 +00:00
Tom Zanussi
23d2eaf9d2 python: skip setup.py 'import check' when cross-compiling
build_extension() in setup.py, as part of the build process, does an
'import check' on the built extension.  The import check in turn
dlopen()'s the shared library associated with the extension, which
isn't something that makes sense if that library was cross-compiled
for a different architecture.

This was noticed with an x86_64 target that was compiled with avx
support, because it caused 'illegal instruction' exceptions:

| /bin/sh: line 1: 14575 Illegal instruction ... -E ./setup.py -q build

For other target architectures, it doesn't necessarily cause illegal
instruction exceptions, but still fails.  For example, on arm, the
failure pathway causes this warning:

*** WARNING: renaming "cmath" since importing it failed: .../cmath.so:
    wrong ELF class: ELFCLASS32

This patch to setup.py and the associated recipe changes allow the
whole 'import check' logic to be skipped when cross-compiling.

(From OE-Core rev: 25fae81538a92e15eab3fc169ebce44505f67839)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:48:30 +00:00
Tom Zanussi
a021dae5b7 libzypp: fix mishandling of hyphenated arches
Several hyphen-to-underscore translations were missing, causing
compiler errors trying to build arches with hyphens in their names.
This adds the missing translations.

(From OE-Core rev: 5be9785f344ec4d7580f7ec68e29dba9fceb0a0a)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:48:30 +00:00
Tom Zanussi
590acd8923 gmp_5.0.2: Set CC_FOR_BUILD to BUILD_CC
CC_FOR_BUILD was compiling the test programs using the target's
compile options and executing those on the host, causing errors such
as:

/bin/sh: line 1: 15032 Illegal instruction     ./gen-bases table 64 0 > mpn/mp_bases.c
/bin/sh: line 1: 15033 Illegal instruction     ./gen-bases header 64 0 > mp_bases.h

Export CC_FOR_BUILD using BUILD_CC to fix the problem.

(From OE-Core rev: 68cca5ca15cbdd53748ec130fb6f20cbb3fb5072)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:48:30 +00:00
Scott Rifenbark
c37b78d94d documentation/adt-manual/adt-prepare.xml: Fixed broken link
Michael Tomer from Koko Fitclub reported that the link to the
ADT Installer tarball was broken.  Fixed the link.

As Reported by: Michael Tomer <michael.tomer@kokofitclub.com>
(From yocto-docs rev: 891fc3123f73a7b856207e0cdef32821f0cd90a3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:48:25 +00:00
Matthew McClintock
4115f94f22 Add new IMAGE_CLASSES variable for classes for image generation
Allows us to import classes only for images and not to the global
namespace

(From OE-Core rev: 49dcb301ab39327554d86d23cf6f8d435d7a7351)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:48:18 +00:00
Xiaofeng Yan
261d611cbe distro_tracking_fields.inc: Modify the status of qmmp
update qmmp to 0.5.2

(From OE-Core rev: 1f8b688bf8bddaacf90cc034e65bc95cf4310bcb)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:44:38 +00:00
Xiaofeng Yan
5a9e41d855 qmmp: update to 0.5.2
qmmp: remove old recipe and add new recipe

Use do_split_package for each grouping and name them correctly besides updating package.
The format to name plugins of qmmp:
qmmp-plugin-<group>-<library>   with the Description: Qmmp<Group>  plugin for %s"

(From OE-Core rev: fff02c7c2c1c6ab0ceb1f888134d381d8b612884)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>

Fix dESCRIPTION -> DESCRIPTION

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:44:38 +00:00
Xiaofeng Yan
55646b1bec distro_tracking_fields.inc: update to libarchive to 2.8.5
Change the status of libarchive.

(From OE-Core rev: 3326df3ba8bcf848322c2a7b3782aa204825200e)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:44:38 +00:00
Xiaofeng Yan
7e75df111c libarchive: update to 2.8.5
Remove patch "0003-Patch-from-upstream-rev-2516.patch" because it has been merged
to source codes.

(From OE-Core rev: fb19df5b21e551c5dfdfa340438952560c5fa528)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:44:38 +00:00
Otavio Salvador
6dfac91c86 dhcp: move server configuration to dhcp-server-config
(From OE-Core rev: ca183f84c2f3e132059e2f63d7ed8ca27987a99e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:44:37 +00:00
Otavio Salvador
27d84fad19 dhcp: rename dhcp4.inc to dhcp.inc
(From OE-Core rev: af51496a9a35ecee0487d554f0493c662c335228)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:44:37 +00:00
Otavio Salvador
09fd35f1ea dhcp: drop unused dhcp3.inc file
(From OE-Core rev: 625ca73a16f6ef1da7a5c42450af715e41172e52)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:44:37 +00:00
Otavio Salvador
3e9cb80371 files/device_table-minimal.txt: add /dev/kmsg
(From OE-Core rev: 1a340471694204937981513dee4cc24bc2dc6f7e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:44:37 +00:00
Otavio Salvador
07222a1142 libcap: fix sstate for native package
The 'lib' option needs to be given on target and native builds
otherwise it installs the binaries at ${libdir}64 when host is 64bit.

(From OE-Core rev: f768ef66c107410d4e81a69543d41910bbc6a26e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:44:36 +00:00
Mark Hatle
e1e8910b9f pseudo: Uprev pseudo to version 1.2
This adds a new feature, PSEUDO_UNLOAD, which can be used to eliminate
overhead of LD_PRELOAD when no longer necessary.

Also the, clone(2), support on Linux has been updated to resolve some
potential defects in the previous implementation.

(From OE-Core rev: 77fe9dd8fa0393132ac6aba00d5659c6781fbbde)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:44:36 +00:00
Joshua Lock
3f854ed618 clutter-1.8: this should be a bbappend
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 19:50:16 +00:00
Joshua Lock
e5226b1e44 clutter-1.8: add bbappend for new clutter-1.8 recipe
We've a new Clutter version in meta so need to add our
atom-pc bbappend modifications.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 17:53:18 +00:00
Joshua Lock
e1ca9aad81 clutter-gst: fix patch filename
Munged the patch filename somehow. Apologies for the noise.

(From OE-Core rev: 157db263b50fabf4afcbea3c2a5364c0752ae0e2)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 17:33:24 +00:00
Scott Rifenbark
a756565d42 documentation/dev-manual/style.css: Fixed HTML output
I increased the font size and darkened the type up for footnote
text.

(From yocto-docs rev: d43e99137c350d68484df6c0a361804d8ccd2877)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:33 +00:00
Scott Rifenbark
ca38e7ad79 documentation/dev-manual: Fixed PDF Note line breaks
Several notes were not producing a line-break betweent he end
of the note and the start of the next paragraph.  Most work, but
for some reason these did not.  It is a mystery to me.

(From yocto-docs rev: 2c87e0cb781b6d94297dc558504f869bd54a6ad0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:33 +00:00
Scott Rifenbark
ddb9351bf0 documentation/dev-manual/style.css: added .footnote element
For HTML formatting I added a new element to format the footnote
to pt-8 font.

(From yocto-docs rev: e0dd425a60ca6e1b75406c7711295e732cacebb9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:32 +00:00
Scott Rifenbark
468c879a9c documentation/dev-manual/dev-manual-bsp-appendix.xml: Added footnote
Per Tom Zanussi's suggestion, we added a footnote to the paragraph
instructing the user on build problems for the example.  I don't
have clean fonts in the HTML version of the output.  I am still working
on figuring that out.

Reported by: Tom Zanussi
(From yocto-docs rev: 30fe7bd239292ed92f76fbc2f1fad62469f7fe9b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:32 +00:00
Scott Rifenbark
e8f5b17e86 documentation/dev-manual/dev-manual-bsp-appendix.xml: Tom Zanussi edits.
Some wording changes to keep things accurate.  Also inserted some
"&nbsp" characters in some headings to force an extra space between
normal font and courier font words.  It appears the PDF version of
the generated manual shoves these words together with no intervening
space.  Looks like hell.

Reported by: Tom Zanussi
(From yocto-docs rev: 5dcb9ae99f1752599fd56a276ccafd79a52334f8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:32 +00:00
Scott Rifenbark
02e5570bc1 documentation/bsp-guide/bsp.xml: fix link - found by Robert P. J. Day
As Reported by:  Robert P. J. Day.

Broken link to the YP website's Download page.  Fixed.

(From yocto-docs rev: cffba12b611a350652cb7ae0c49c6a6c809593df)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:32 +00:00
Scott Rifenbark
e7b5027f54 documentation/dev-manual/dev-manual-bsp-appendix.xml: Robert P. J. Day edits
As Reported by:  Robert P. J. Day.

Two corrections identified by Robert.  One is a wrong reference to the
tarball needed for the example.  The other is a more complete description
of what the appendix is trying to accomplish.

(From yocto-docs rev: 387c6cbd84bafd7f15c064a8e801d0750b0b4007)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:31 +00:00
Scott Rifenbark
ff644c92a5 documentation/dev-manual/dev-manual-bsp-appendix.xml: Added text to find t-ball
As Reported by Robert P. J. Day.

Robert indicated that it was a bit of a search to find the tarball
for the example.  Tom suggested that we have some text that helps
to locate the Crown Bay no-emgd tarball for edison.  I added some
clarifying text to help.

(From yocto-docs rev: d21120bbae81f58a9816cf56c61181d287afd295)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:31 +00:00
Tom Zanussi
6ff754f479 documentation/dev-manual/dev-manual-bsp-appendix.xml: BSP example scrub
As Reported by Robert P. J. Day.

Robert was working through this BSP example in the development manual
and ran into some problems and some confusion in areas.  This launched
a long "help-desk" session with Tom Zanussi.  In addressing Robert's
issues, Tom decided to make a run through of the example as it was
written.  For the most part the example was sound but needed some
technical tweaks as well as some expansion of the text to make things
clearer.  Tom submitted the patch that addressed these concerns.

Scott Rifenbark reviewed the patch and further modified some of the
writing to make it consistent with the existing writing in the manual.

(From yocto-docs rev: deda08b372c02889398d24ae7159f8b2fbe3c8cf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:31 +00:00
Robert P. J. Day
e64946e8c7 documentation/dev-manual/dev-manual-bsp-appendix.xml: Robert P. J. Day edits.
Two typos fixed.

(From yocto-docs rev: 6d99eb7f728b812be37a3865cbebd3c4cb4b67be)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:31 +00:00
Robert P. J. Day
a8a25047c7 documentation/dev-manual/dev-manual-model.xml: Robert P. J. Day Edits
Two small corrections for better wording.  A mis-spelling also
fixed.

(From yocto-docs rev: 915ec9f9adbde86008ffb086ac81a435d5910733)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:30 +00:00
Robert P. J. Day
bf1e5c6413 documentation/dev-manual/dev-manual-newbie.xml: Robert P. J. Edits
Robert suggested some minor wording changes that are good.

(From yocto-docs rev: 50822bc3722e2f3b0a73ed837842ddc5c7595c7b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:30 +00:00
Robert P. J. Day
296fd7a7de documentation/dev-manual/dev-manual-newbie.xml: Robert P. J. Edits
Robert ear-marked some links to point to downloads.yoctoproject.org.
He also made several wording changes that resulted in better language
and in a couple of cases fixed incorrect subject/verb usage.

(From yocto-docs rev: 9106619c4264c2669be041c1e6d6124e022ab2d1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:30 +00:00
Robert P. J. Day
54956b8d50 documentation/dev-manual/dev-manual-start.xml: Robert P. J. Edits
Robert isolated a few technical errors and made some other wording
suggestions.  I took the technical corrections and modified one
of his suggested wording changes.

(From yocto-docs rev: 3c6bbae05cdf2265e04d967050354ce75d62b4e2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:30 +00:00
Robert P. J. Day
9f103615fb Documentation/dev-manual/dev-manual-intro.xml: Edits to Intro section.
Open-source changed to open source (no hypen).  Broken URL fixed for the
1.1 release notes.

(From yocto-docs rev: d34df01aef674448d4cc06cfe4ff63cab764fe64)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:26:29 +00:00
Eric Bénard
d5175bb3ed useradd.bbclass: handle nativesdk case
* without this patch, building dbus-nativesdk leads to a missing
dependency on 'base-passwd-nativesdk'
This was added by commit 46e6c3fa8034b12d178d605f3f5d7efe69671a13
* this patch handle the nativesdk case in the class useradd
* close bug 1702 http://bugzilla.pokylinux.org/show_bug.cgi?id=1702
* v2 from Scott Garman with Richard Purdie's tricks

(From OE-Core rev: 140a3507fb5c14cd9bcebe4304f491aa1c5c47a2)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 16:22:48 +00:00
Dongxiao Xu
1ef442561d multilib: Drop MULTILIB_IMAGE_INSTALL
There should just be a single IMAGE_INSTALL variable. If the package
backends need this split into different multilib components they should
be responsible for doing this, not the user.

This commit removes the MULTILIB_IMAGE_INSTALL variable.

[YOCTO #1564]

(From OE-Core rev: 7736862a74c92fe1afe42e170822be13117575c2)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:55 +00:00
Joshua Lock
f9735f3bac contacts: fix packaging of icons
(From OE-Core rev: 1f4028337d5e288e239f44ef34e1d707b785273e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:55 +00:00
Joshua Lock
55a738ea0c pulseaudio: make X11 dependencies optional and add gtk+
Use the x11 distro feature to determine whether --with-x should be
passed. Further, if we're using X11 add gtk+ to DEPENDS (it's required
to build).

(From OE-Core rev: a37ed5b42717463cf1a836fd011132b16938765f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:55 +00:00
Joshua Lock
a1c15cb364 connman: split scripts into separate package
The connman scripts are useless without a Python interpreter so split
them into a separate package and add Python to its RDEPENDS.

(From OE-Core rev: 281510acd0ee3221dd804d7d9de567be2be675f4)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:55 +00:00
Joshua Lock
8b77079321 gypsy: fix packaging
(From OE-Core rev: 3c272ce9df811281029d028e96ab6bc644645592)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:54 +00:00
Joshua Lock
7a5f2fc84e libcanberra: add libvorbis to DEPENDS
(From OE-Core rev: 531151fdeba3779ba6f0976fc08aa8da483600f7)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:54 +00:00
Joshua Lock
d06c35d341 mx: add mx toolkit 1.3.2
A widget toolkit built on Clutter

(From OE-Core rev: 67b2060714c70cf39224e5fbe83ca36263595c54)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:54 +00:00
Joshua Lock
febb65c9af clutter-gtk-1.8: add clutter-gtk 0.11.4
(From OE-Core rev: e5568f9a569e6ff1cf45553edb18923a4f7843e9)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:54 +00:00
Joshua Lock
65ce67a64e clutter-gst-1.8: add 1.4.2 for use with clutter 1.8
(From OE-Core rev: acca04830aad1368f0a5cc2f48302cf272731174)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:54 +00:00
Joshua Lock
22fcc7c2b0 clutter-1.8: add 1.8.0
(From OE-Core rev: d59578fd9e2c45bdc2f030d68c84d05c5ad5be6b)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:53 +00:00
Joshua Lock
7ac57baf15 cogl: add cogl 1.8.0 recipe
Cogl has been split into a separate recipe as of the clutter-1.8 series

(From OE-Core rev: 3bddb7cd3400857ac724e91cb5b663bcf386ab37)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:53 +00:00
Eric Bénard
a9091c9466 dbus: fix install for virtclass-nativesdk
* 46e6c3fa8034b12d178d605f3f5d7efe69671a13 changed do_install
which now fails for nativesdk (chown messagebus leads to no
such user)
* tested by building meta-toolchain-qte and running the generated
sdk

(From OE-Core rev: 5818a885df489f4bc9579d17c6b0efa7777f5ccc)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:13:24 +00:00
Scott Garman
27d70f9655 useradd.bbclass: fix how RDEPENDS is setup
Fix bug where only packages named PN included base-passwd in
RDEPENDS.

This fixes [YOCTO #1727]

(From OE-Core rev: 2c55d51afd71d708a54afc8377e10c4f80f810e3)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:13:24 +00:00
Koen Kooi
28940eb97d lighttpd 1.4.29: rename index.html to avoid clashes with DL_DIR
As Martin Jansa pointed out before, bitbake will silently peek in DL_DIR before FILESPATH and use files from there if found.

The failure mode for lighttpd involves a 404 redirect placing index.html into DL_DIR, which will end up in the lighttpd packages. In my specific case iproute2 hit the linuxfoundation 404 redirect so lighttpd.ipk now serves the linuxfoundation frontpage :)

(From OE-Core rev: 0809f98e995d3a2ce24ad25bade3dcd5154061fd)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:42 +00:00
Paul Eggleton
24fb621732 qemugl: switch to new git repo
The qemugl git repository is now on yoctoproject.org.

(From OE-Core rev: da1759308bd2d8ca3bf4dc077c164aadb5ce3916)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:42 +00:00
Paul Eggleton
b4f471ce09 core-image-minimal-initramfs: force IMAGE_FSTYPES
If the user has set their own value for IMAGE_FSTYPES, they may have
disabled the cpio.gz image type, preventing the initramfs from being
produced in the format that image-live.bbclass expects; so force
IMAGE_FSTYPES to cpio.gz within the initramfs image recipe.

(From OE-Core rev: 571919f49cbe6f8f5b21de844b00761314e697fd)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>

Prepend cpio.gz instead

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:42 +00:00
Paul Eggleton
b96390473d allarch.bbclass: disable shlib and debug symbol processing
all-arch packages should not contain any binaries that need processing,
so disable the shared library dependency processing and debug symbol
splitting/stripping to save some time during packaging.

(From OE-Core rev: 9534b3efe94fb9a9cd927f29c375bbdb74b84035)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:41 +00:00
Saul Wold
c4b3a97c1e fotowall: disable videocapture since we do not have a webcam
(From OE-Core rev: 837a0cf30491fefb051c036f0cdc0ac661615a9b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:41 +00:00
Bruce Ashfield
2f8d7a30e0 linux-yocto_3.0: update base to v3.0.8 + meta config changes
The board branches are updated to have v3.0.8 as their base kernel
revision, and the version in the recipe is updated to match.

This commit also updates the meta branch to pick up the following
4 commits:

  4095bb5 meta/common-pc-64: remove igb
  17565fa meta/crownbay: use power/intel feature
  8948937 meta/sugarbay: use power/intel feature
  fcbc8a9 meta: add power feature

(From OE-Core rev: c237410bbc177495dab2b12b3a7aa4a75fb61efa)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:41 +00:00
Martin Jansa
021b9daf6a libnl-2.0: add PE/PR bump for upgradable patch for meta-openembedded users
(From OE-Core rev: 2260b18590416940eec26aaf3d68e510ceff8d31)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:41 +00:00
Martin Jansa
5de5534486 libnl-2.0: split to more packages, as meta-openembedded does
(From OE-Core rev: 8720e063c7b43c278b3bb406b45390ed03f8ac96)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:40 +00:00
Martin Jansa
754e262e47 libnl-2.0: add patch from meta-openembedded to fix pkg-config file
(From OE-Core rev: 72227178bc74d6e2e24f8df6176c3d45b640e860)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:40 +00:00
Martin Jansa
6a390d540b libnl-2.0: move fix-pktloc_syntax_h-race.patch to libnl-2.0 subdirectory and merge with fix-makefile.patch
(From OE-Core rev: a4882cd6f98c5b3df80ba96536d94d9f556f77a2)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:40 +00:00
Koen Kooi
163f7bda55 iproute2: update to 3.0.0 to fix build with updated iptables
(From OE-Core rev: addcb5106ca0b1849299d6ad4e734135da29b0ab)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:40 +00:00
Koen Kooi
4a279e2410 connman 0.75: bump PR for iptables library change
connmand[180]: /usr/sbin/connmand: error while loading shared libraries: libxtables.so.5: cannot open shared object file: No such file or directory

$ dpkg-deb -c ipk/armv7a/iptables_1.4.12.1-r0_armv7a.ipk  | grep libxtables
-rwxr-xr-x root/root     35252 2011-11-01 20:16 ./usr/lib/libxtables.so.7.0.0
lrwxrwxrwx root/root         0 2011-11-01 20:16 ./usr/lib/libxtables.so.7 -> libxtables.so.7.0.0

(From OE-Core rev: 6c7b71d9a3e855760acacef6949665a305bac2c0)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:39 +00:00
Martin Jansa
8138eafa31 python: improve packaging
* move 2to3 to separate package and include lib2to3 (was in python-misc)
* fix pattern for python-unittest (was in python-misc because it's in subdirectory now)
* add pydoc_data to python-pydoc (was in python-misc)
* add more stuff to smtpd, audio, codecs, ctypes, html, io, json, mime,
  pickle, stringold, xmlrpc
* move all FILES_ details from python recipe to manifest generator so it's in one place
* added manual line break in FILES_${PN}-core, because git send-email
  doesn't like too long lines
  $ git send-email -1 dfaae65839f0ab23e5b2ae2a68df0f370bca84d2
  fatal: /tmp/k8zbDajUNP/0001-python-improve-packaging.patch: 64: patch contains a line longer than 998 characters

(From OE-Core rev: f17f6b28ed2f62250f8690617e9126a43c3a8020)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:39 +00:00
Scott Garman
8b63b92781 distro_tracking_fields: updates for sudo, mtools, grep, and openssh
(From OE-Core rev: 696c26c3244cb11b1afe1870e54c838ea7815272)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:39 +00:00
Koen Kooi
03748f351c image_types bbclass: use 4k bytes per inode so we don't run out of space immediately
genext2fs only creates the minimum number of inodes, after this patch it will scale with the rootfs size

(From OE-Core rev: c31cb0bdc5a61d2d9f21a2cea34c3d8ac3b47cb9)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:39 +00:00
Martin Jansa
fc50781c34 libcense.bbclass: fix OpenSSL mapping
[YOCTO #1712]

(From OE-Core rev: 56799ebcb5c55a7fc75458fc2be2e69a67e8fd21)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

Fixed YOCTO bug format and location

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:38 +00:00
Dmitry Cherukhin
d70ba51ad9 tslib: fix the bug with loading libts-1.0.so
Touchpad did not work in the qtdemoE if the library libts-1.0.so was not loaded
manually using the LD_PRELOAD variable. This problem was fixed in the tslib mainline
https://github.com/kergoth/tslib after the 1.0 release. We just import the patch.

(From OE-Core rev: 0ba6d91dc527908740890c896b834e7216b0d2fb)

Signed-off-by: Dmitry Cherukhin <dima_ch@emcraft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:38 +00:00
Kumar Gala
49f9ca5d4c udev-164: Update init script to do an explicit add action
With udev 152 or greater the default action for 'udevadm trigger' was
modified to be 'change' instead of 'add.

To ensure initial coldplug events at boot are seen be scripts the are
expecting them as 'add' events we invoke udevadm with an explicit
'--action=add'.

(From OE-Core rev: eacafd21999ab37b60af29dc3e626c441716ef66)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:38 +00:00
Elizabeth Flanagan
8f78cf2030 buildstats: Fix for buildstats on tmpfs
tmpfs/encryptfs/(and most likely, but not confirmed)ramfs TMPDIRs
cause diskstats to choke. No device entry ends up in /proc/diskstats
for these fs types, which ends up causing the failure.

The short term solution is to exclude these fs types from diskstat
collection. Longer term we will want to see if we can collect
meaningful diskio for each of these, and other, use cases, but for
this cleans up Bug 1700.

[YOCTO #1700]

(From OE-Core rev: 2b14046c12855b6f484ba5bd6bc0a8022de6873e)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>

Corrected YOCTO bug location and format

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:37 +00:00
Saul Wold
953b45841f dtc: Add patch to correctly install shared libraries and links
(From OE-Core rev: 4c4143e0f0382118448c7c2a452dafac0db5130f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:37 +00:00
Matthew McClintock
35574646e7 dtc: update to latest git version
Also remove patches that are no longer needed, as well as use the
installation that is provided by the Makefile. Put all the extra
stuff in a new dtc-misc package

(From OE-Core rev: 43213fd610da7b550e6d738e224b49004776f799)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:37 +00:00
Saul Wold
f7196be455 cogl: COPYING file Updated FSF Address
(From OE-Core rev: f3a7b6aaa9be4763d13214c3264b86a1c7bf5e9f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:37 +00:00
Paul Eggleton
ba5537d768 scripts/combo-layer: skip empty commits
If a commit is empty (for example, commits brought over from svn where
only properties were changed) then attempting to apply it with "git am"
will result in the error "Patch format detection failed", so skip it
instead.

(From OE-Core rev: 5754bc7bcc2f57b6b56e67e2900eeaab5bc184d8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:37 +00:00
Paul Eggleton
c04305e695 scripts/combo-layer: improve some messages
Fix some grammar.

(From OE-Core rev: cc34f1bf136409d2e31c443dd5334c3a35d208af)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:36 +00:00
Paul Eggleton
f82983034e scripts/combo-layer: auto-commit updated config file
If the config file is tracked within the combo-layer repository and it
is updated at the end of the "update" operation (because last_revision
has been changed), then automatically commit the file. This ensures that
multiple people can perform updates on different machines without the
last revision information going missing.

(If the file is outside the repository or is masked via .gitignore, this
will do nothing.)

(From OE-Core rev: 14f89acb43b0d9bec09b94668fbb056c7b5b1456)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:36 +00:00
Paul Eggleton
948d28e801 scripts/combo-layer: fix dirty repo check
Fix the dirty repository check to detect any changes, including
untracked files and uncommitted changes in the index.

(From OE-Core rev: f03fa8bbafa82ce6b09c08bf86011b6c51eb3531)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:36 +00:00
Paul Eggleton
25fc202e21 scripts/combo-layer: make component repo branch configurable
Add an optional per-component branch setting to allow specifying the
branch instead of always using master.

(From OE-Core rev: 8e2b8b05607103acd539808c5ab0cc80c0d481fc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:36 +00:00
Paul Eggleton
cb21ff1807 scripts/combo-layer: tidy up config example
Move all example configuration to the example config file, tidy up a few
long lines and fix some grammar.

(From OE-Core rev: ec099a32243ebc7eecd86e4bf40ed38da4af3fe5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:35 +00:00
Paul Eggleton
fd471a1337 scripts/combo-layer: make init set up initial component data
The "init" subcommand will now copy the current state of each component
repository into the combo layer repository, set last_revision for each
component, and then use "git add" to set up the initial commit (but will
not actually make the initial commit - that is left up to the user).
Also take the opportunity to bump the version number.

(From OE-Core rev: d4d491aa118b6cbe895167c62a46d883abc7b4ab)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:35 +00:00
Paul Eggleton
2293acaa7f scripts/combo-layer: ignore merge commits
The combo-layer tool had trouble handling merge commits as they were
included in the revision list but not the patches; these are now
excluded from the revision list. Note however that this will not handle
merge commits that resolved a conflict; since "git format-patch" cannot
construct a linear change history over such merges there is nothing we
can currently do with these.

(From OE-Core rev: b6b6b215675631d0e505ffc8b4890f85fb3169f9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-07 14:05:35 +00:00
Richard Purdie
426ad82106 bitbake.conf: Drop remaining TERMCMD pieces and document OE_TERMINAL usage instead
(From OE-Core rev: ddb825c87dd3e59d50841a993080a00d1459b1e7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

[Yes, this one is against meta-yocto, I'll fix it to apply the same
change to OE-Core's local.conf.sample in the final version]
2011-11-04 17:05:53 +00:00
Richard Purdie
9d1f10ed01 patch: Convert to use oe_terminal
Unfortunately we can't access oe_terminal directly from patch.py
so we have to pass in the correct terminal function pointer.

[YOCTO #1587]

(From OE-Core rev: 9e0a21dda24f285a1c4878488e887485a749f3f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-04 17:05:32 +00:00
Richard Purdie
3b856e1cdf bash: Ensure we fully reautoconf the recipes so site data is used
This ensures bug 487 (missing job control functionality) really gets fixed.

[YOCTO #487]

(From OE-Core rev: 08b78066bd5a9ff2819a42eb4263ee0a78cddb97)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-04 17:05:31 +00:00
Koen Kooi
e48e2f2335 rt-tests: update to 0.83
Fetch from github, kernel.org uri is gone

(From OE-Core rev: e3c003282afb93ec52882496400b042620ab00ef)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-04 15:43:29 +00:00
Koen Kooi
de0d9ae939 rootfs_ipk bbclass: special-case base-passwd preinst to run first
Preinst are run alphabetically which breaks when e.g. avahi-daemon needs /etc/passwd present.

(From OE-Core rev: d6793165feb26c51b5f19ad1e6d1a4099878e879)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-04 15:43:29 +00:00
Richard Purdie
01f59c4169 Increment version post release
(Bitbake rev: 9c097704b4309dbe67fc360c8377edbedc354d00)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-04 15:43:27 +00:00
Richard Purdie
52253285fe Release 1.14.0
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-04 15:43:26 +00:00
Christopher Larson
925184a2a7 codeparser: make var_expands actually hold useful information
Previously, it was calling var_expands.update() rather than add(), with
a string argument, resulting in adding each character of that string to
the var_expands set, rather than the string itself.

(Bitbake rev: 8e4e75383e43d6da2c16ec5286186a0d0569b0f8)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-04 15:43:26 +00:00
Koen Kooi
53b3b40b1f avahi: fix useradd race condition
Avahi doesn't work at boot because of:

+ sh /OE/../rootfs/var/lib/opkg/info/avahi-daemon.preinst
Running useradd commands...
grep: /OE/../rootfs/etc/passwd: No such file or directory

That is due to:

Package: avahi-daemon
Version: 0.6.30-r9.0
 [..]
Depends: libavahi-core7 (>= 0.6.30), libdaemon0 (>= 0.14), libcap2 (>= 2.22), libavahi-common3 (>= 0.6.30), libdbus-1-3 (>= 1.4.12), sysvinit-pidof, libc6 (>= 2.12), libexpat1 (>= 2.0.1)

After this patch:

 Package: avahi-daemon
 Version: 0.6.30-r10.0
 [..]
 Depends: libavahi-core7 (>= 0.6.30), libdaemon0 (>= 0.14), libcap2 (>= 2.22), libavahi-common3 (>= 0.6.30), libdbus-1-3 (>= 1.4.12), sysvinit-pidof, libc6 (>= 2.12), shadow, libexpat1 (>= 2.0.1), base-passwd

This also changes ${PN}-daemon to avahi-daemon to be consistent with the PACKAGES/FILES lines below

(From OE-Core rev: f01fbc17b5d9bf9a227d64fe858014376cd19432)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-03 14:48:50 +00:00
Joshua Lock
649ca88b2c machine/atom-pc: enable sound
Add alsa to the MACHINE_FEATURES - looks like this was an oversight.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-03 14:43:06 +00:00
Simon Busch
9b76e6a2cf meta: glib-2.0: don't apply qsort_r test removable patch for native version
On some buildhosts with an older version of native glib-2.0 installed (in this case
2.16.6) the qsort_r test removable patch leads to a compilation error:

| ./.libs/libglib-2.0.so: undefined reference to `qsort_r'
| collect2: ld returned 1 exit status

This patch fixes this so the patch gets only applied for the native version of this
recipe.

(From OE-Core rev: 37579d7d74d127c90c1e078d05c5bf4ba0b3f755)

Signed-off-by: Simon Busch <morphis@gravedo.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-02 09:08:28 +00:00
Richard Purdie
b090fde5c1 gettext: Switch to disabling nls and reducing -native build dependencies to a set of pre built m4 macros
When analysing our build performance, its apparent that binutils-cross
takes an age to get built. This is due to its dependencies on
flex-native and bison-native which in turn depend on gettext-native.

gettext-native is problematic as it has a significant dependency chain
of its own and takes an age to build. What is worse is that we never
care about the native language support in -native and -cross packages
since we always force the C locale.

This patch therefore disables nls for all -native packages (its already
disabled for -cross) and adds a new gettext-minimal-native package which
contains the m4 macros to keep autoconf/automake happy.

This means we gain a significant build time speedup by the removal of
gettext-native from most dependency chains (only being part of gettext
for the target now).

For now the LICENCE field says GPLv3, the macros are actually under a
FSF MIT like licence so we need to update this part of the patch in due
course.

(From OE-Core rev: 01b2a16beb4a924077b74943ad4d6e7976563ff1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-02 08:58:03 +00:00
Martin Jansa
9497b27110 lame: add SRC_URI checksums
(From OE-Core rev: a46c6c6e8926e202aacf85a6b00dfd4e9c128792)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-02 08:58:02 +00:00
Martin Jansa
5537ea2d5e libxslt: use Copyright in LIC_FILES_CHKSUM instead of COPYING
* COPYING is replaced by symlink to Copyright during do_configure
  (see configure.in), then we end with link to nonexistent file like this:

OE om-gta02@shr ~/shr-core $ ll tmp/deploy/licenses/libxslt/
total 40
drwxr-xr-x   2 bitbake bitbake  4096 Nov  2 00:27 ./
drwxr-xr-x 818 bitbake bitbake 32768 Nov  2 00:27 ../
lrwxrwxrwx   1 bitbake bitbake     9 Nov  2 00:27 COPYING ->  Copyright
lrwxrwxrwx   1 bitbake bitbake    52 Nov  2 00:27 generic_MIT ->  /OE/shr-core/tmp/deploy/licenses/common-licenses/MIT

(From OE-Core rev: c67130e40018742463e1bd4914eb7c280425f4e8)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-02 08:58:02 +00:00
Wenzong Fan
3736ab69e8 distro_tracking_fields: Update the Month to 'MMM'
Use format 'MMM' instead of spell out a Month.

(From OE-Core rev: 619408fc045e9403cd131ee823f7ac4b1230b96d)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-02 08:58:02 +00:00
Saul Wold
013198b725 dbus: ensure that the useradd shell is set to /bin/false
(From OE-Core rev: 899efe6bf17a31d842ff2f65704d4858892496d4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-02 08:58:02 +00:00
Saul Wold
1e9c1d570e connman: Use useradd to add the xuser for DBus
Connmand needs to start as the xuser as defined in the dbus
configuration and needs to share this with rootless X. Since
it's possible for connmand to run on a sytem without rootless
X we still need to create the user here.

Useradd will fail gracefully if the user already exists.

Fixes: [YOCTO #1699]

(From OE-Core rev: 8139ac9284031e00d6b268210b04b57670d9268a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-02 08:58:02 +00:00
Saul Wold
e8e37cff2a xserver-nodm-init: Use useradd to add the xuser for rootless X
This also address an issue with dbus and connman, since connmand
needs to start as the xuser in the rootless X situation.

Fixes: [YOCTO #1699]

(From OE-Core rev: 6823a32035de5d0bcd82a3b41a6ad536aaddbc58)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-02 08:58:01 +00:00
Saul Wold
d9fc7ba254 avahi: use useradd to create avahi user for avahi-daemon
DBus was failing to start correct since the avahi user was
not setup.

Keep the dbus reload since this could still be installed
as a package an would require a dbus restart.

Fixes: [YOCTO #1699]

(From OE-Core rev: f0bfecc8a0af1c4c76a37a9c88f334ab6ae7e7ef)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-02 08:58:01 +00:00
Robert P. J. Day
4a951e0433 Fix HOMEPAGE values in libzypp and sat-solver .bb files
Fix obvious typoes in .bb files for libzypp and sat-solver packages,
and update the HOMEPAGE for sat-solver to refer to the sat-solver home
page itself, rather than the libzypp home page.

(From OE-Core rev: d0a2c87d068f2d769d47c8455bb1434b90a7a844)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 18:28:19 +00:00
Richard Purdie
023fd24369 util-macros: Drop unneeded dependencies
(From OE-Core rev: 206b15a18185e1a834bc9f79bc6493c618effc65)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 18:28:19 +00:00
Scott Rifenbark
8c11cbc2fe documentation/yocto-project-qs/yocto-project-qs.xml: Robert P. J. Day Review
As Reported By:  Robert P. J. Day.

Community member Robert P. J. Day scrubbed the Quick Start manual for Release
1.1.  He found several areas that were incorrect.  Many items were documented
pre-release and changed during the actual realeas.  Naming conventions for
images and such had to be changed.  Robert also found and suggested several
wording changes that resulted in clearer text.

I was not able to patch all the changes using the 'patch' command.  I need to
work out some process issues still in order to apply patches directly to the
yocto-docs repository.  Meanwhile, I hand-inserted the changes.  Also, some
text changes were modified slightly by me to conform to the books style, etc.

Kudos to Robert for such a detailed look at the YP Quick Start.

(From yocto-docs rev: 6bc2e9c289a802f511441ca5b31ca6163e4fdfac)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:44:01 +00:00
Bruce Ashfield
1d63630d89 linux-libc-headers: remove older recipes
The default libc-headers is v3.1 and building against the new
headers but booting an older kernel has been shown to work.
Older 2.6 based header builds can easily be reproduced, but
having all the old recipe iterations available is not required.

(From OE-Core rev: e3f5d612791329cc7df100e5cf745b2b47ce7259)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:58 +00:00
Bruce Ashfield
eedae071c7 linux-libc-headers: provide 3.0.x and 3.1 headers
Provide both a 3.0.x and a 3.1 set of headers to the toolchain.
Compatibility is maintained with older 2.6 headers by creating a
new variable that changes the SRC_URI based on the major version
number of the kernel.

Built and booted with 2.6.37.2, 3.0.8 and 3.1 linux-libc-headers.

(From OE-Core rev: 13c233ce4551542481d7a6390ff2119671137b95)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:58 +00:00
Holger Hans Peter Freyther
e422bb1bc5 udev: Split out consolekit and udev-acl
This can safe another megabyte on the tar.bz2 of the minimal
image. udev-acl is linking to glibc which will pull in libglib,
libgio, libgthread, libgmodule, libgobject.

2.0M 2011-07-02 01:57 after.tar.bz2
3.0M 2011-07-02 01:52 before.tar.bz2

(From OE-Core rev: 0c905ba71a8bf0fcd96ccaaa27faca00830ba8bb)

Signed-off-by: Holger Hans Peter Freyther <zecke@selfish.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:58 +00:00
Holger Hans Peter Freyther
418ee5afa4 udev: Fix the packaging of libgudev
Make the libgudev so go to the libgudev package, this is already
fixed in meta-oe.

(From OE-Core rev: 43ac43d7c7245e9aa2bfc8572c2620074d1e2a25)

Signed-off-by: Holger Hans Peter Freyther <holger@moiji-mobile.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:58 +00:00
Bruce Ashfield
4950afe575 linux-libc-headers: factor common code into linux-libc-headers.inc
Each time a new linux-libc-headers is created the same code is
cloned. Placing the common functionality in the .inc file simplies
each recipe and make maintenance easier.

(From OE-Core rev: ccf3bf70a1a83ac55e47acfa4759838f7f4834ae)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:57 +00:00
Richard Purdie
18ab6c98e4 dbus: Ensure localstatedir is added to the package
(From OE-Core rev: dc0d004fd23f686591281eb1d700327ea15d1c54)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:57 +00:00
Richard Purdie
0182b2bca3 package.bbclass: Fix various problems
Before this change:

a) Ownership and permissions of files copied from packages to
   package-split could get lost during the copy process. This change
   ensures they are preserved.
b) Ownership and permissions of directories could also get lost.
   Most of the complexity in this patch is addressing this problem
   ensuring newly created directories match the source ones being
   copied.
c) There was no warning about directories being created but not
   shipped by any package.

This patch fixes all of the above issues.

(From OE-Core rev: 6021e309e69d823e1467648aee12a32182945569)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:57 +00:00
Richard Purdie
ec20f0ed5d dbus: Use $D not ${D} in the postinstall
We need to do this as we don't want bitbake to expand the variable
but use the shell variable instead.

(From OE-Core rev: 509a8a9ea428debf3ff2115fcff0aa89d0239ced)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:57 +00:00
Richard Purdie
3001a4659d package_ipk: There is no longer any need to force owners/groups to root
Since the packaging process is run under pseudo, the default user
is now root so there is no longer any need to hardcode this. Also
take this opportunity to move the variable to package_ipk.bbclass
since this is the only user of it.

(From OE-Core rev: ea11f71432e2741d5f8c7cecec41c6155db34393)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:56 +00:00
Richard Purdie
91bc6fa5e2 gnome-doc-utils: Add missing glib-2.0 dependency
(From OE-Core rev: c367a2d2f4b817211b6bd200e49b49355cd67fe2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:56 +00:00
Richard Purdie
e15a2d1400 coreutils: Add missing PR bump
(From OE-Core rev: eff22e23b4c7d88254a6ac420bf0860f1fe2cd3e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 15:46:32 +00:00
Joshua Lock
0f24f2dd70 lib/oe/terminal: add support for XFCE's terminal emulator
That's Terminal on Fedora and xfce4-terminal on Ubuntu/Debian... This
could get interesting!

(From OE-Core rev: 162b70a36388ac44fc1b39e172cd53579707bff3)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 14:51:37 +00:00
Scott Garman
c3c7ff70ab distro_tracking_fields.inc: standardize date format
Convert date formats to strftime format %b %d, %Y (e.g, Jan 01, 1970)

Note: dates posted as MM/YYYY (without day info) were converted to
become the first of the month.

(From OE-Core rev: 343eec2dde0f3374adc656d64bfab3d3015c5c3c)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 14:51:37 +00:00
Dongxiao Xu
2ddf05fe88 connman: add xtables_version to fix xtables API change
After upgrade iptables to a newer version, some of its API are changed.
Therefore we add related fixes to the current connman.

Currently we don't upgrade connman since kernel.org still doesn't work
and we could not fetch the newer sources.

(From OE-Core rev: 36ae6edda4d4169c88eb3d34a090f9cd82534630)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 14:51:36 +00:00
Dongxiao Xu
0a4d877b8b iptables: upgrade to version 1.4.12.1
Change do_configure_prepend() since some m4 file is needed when
doing configuration.

Define correct FILE for iptables and iptables-dbg packages.

License checksum changed (not essential part), and the license is
still GPLv2.

(From OE-Core rev: de034bf830bec1b64260ac8516dd584163716ef4)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 14:51:36 +00:00
Martin Jansa
c8440ddb53 bitbake.conf: drop STAGING_PYDIR
* seems unused in oe-core

(From OE-Core rev: dcc56ff33c679e0c3cbbc7a92dd4da7166cb7d0d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 14:51:36 +00:00
Dongxiao Xu
6ec0ce7cc2 netbase.bbappend: Change to version 4.46 due to the upgrade
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 09:28:55 +00:00
Dongxiao Xu
fea04bdddc distro_tracking: polkit, libsndfile, etc
polkit
libsndfile1
neon
netbase
libogg
telepathy-idle
telepathy-glib
telepathy-mission-control
iptables

(From OE-Core rev: 4ce1f57e723cb6ccfd67ed1570228602547bd112)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 23:03:51 +00:00
Dongxiao Xu
86c36289f6 telepathy-mission-control: Upgrade to version 5.9.3
(From OE-Core rev: 136a27578e3d00a26e1f5b4b58be6dbce1577055)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 23:03:51 +00:00
Dongxiao Xu
9ed40d13db telepathy-glib: upgrade to version 0.16.0
(From OE-Core rev: 904221f1a150196c1ce684e853d0b93811f50917)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 23:03:51 +00:00
Dongxiao Xu
2fe5e65e5d telepathy-idle: upgrade to version 0.1.10
(From OE-Core rev: dbed23e45b1b025d883e4ff87c7b9ba7d88c7584)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 23:03:50 +00:00
Dongxiao Xu
11e0cde67d libogg: upgrade to version 1.3.0
(From OE-Core rev: 66451123faa23dea876ce165bd446daab33aafde)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 23:03:50 +00:00
Dongxiao Xu
e64074e057 netbase: upgrade to version 4.46
(From OE-Core rev: 2ad87adf2cb4a93eeedfd77b486212e1364bc511)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 23:03:50 +00:00
Dongxiao Xu
19128b4b62 neon: upgrade to version 0.29.6
(From OE-Core rev: 96316199940d44bf3a0a05ae96bdb3a595744fa6)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 23:03:50 +00:00
Dongxiao Xu
0cff1018b1 libsndfile1: upgrade to version 1.0.25
(From OE-Core rev: 44da39789bcf0554a82586ebc611b49a4665333d)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 23:03:50 +00:00
Dongxiao Xu
bbbe1c179b polkit: upgrade to latest 0.102
(From OE-Core rev: d7b8875fb23e2bc5db6f5068bc5583cf68f35769)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 23:03:50 +00:00
Scott Rifenbark
f490be1341 documentation/yocto-project-qs/yocto-project-qs.xml: fix tarball URL
Community member Robert P.J. Day pointed out that the URL used to
reference the Edison tarball in the manual was incorrect.  It was
pointing to the old Poky area and not the Yocto-1.1 area.  I have
updated the example 'wget' command with the correct URL.

(From yocto-docs rev: ba9deb4717b72b4d75c18870106607b1770ac45b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:37:09 +00:00
Scott Rifenbark
4e04f6129a documentation/yocto-project-qs/yocto-project-qs.xml: dyslexic statement fixed.
I somehow had that having a host with multiple cores and threads could
be used to increase the build time.  It obviously should have been
"decrease".  Kudos to Bill Fishburn for finding this goof.

(From yocto-docs rev: 2cd0ac980f9191edd3d4874508fd8fc9f0531622)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:37:08 +00:00
Scott Rifenbark
57e780f915 documentation/dev-manual: Bruce Ashfield's dev-manual comments added.
I was not able to get to Bruce's comments he submitted to me for the
"Model" chapter of the development manual.  His comments consisted of
various tweaks to terminology I used and the inclusion of some additional
technical information.  This commit addresses all his comments for
the review.

(From yocto-docs rev: 206a22e1ccf077360974f18295b6df455cd50545)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:37:08 +00:00
Scott Rifenbark
24fd69a90e documentation/poky-ref-manual/extendpoky.xml: punctuation fixed.
(From yocto-docs rev: d419a193032f0aa7fec74389ba224ff4f59be342)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:37:08 +00:00
Scott Rifenbark
6943f792e7 documentation/poky-ref-manual/resources.xml: Fixed YP term usage.
(From yocto-docs rev: e486c90e6f3ad6b19b99b09b19fc16093dcf0af4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:37:08 +00:00
Richard Purdie
3735f031c5 wget: Remove pointless code
(From OE-Core rev: 20d870867e69300844dc6523db6cc344325b54ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:34:28 +00:00
Scott Garman
82573491b6 documentation-audit.sh: script for auditing documentation build status
This script is used to enumerate which recipes are building
documentation. It does this by checking that a -doc package
gets generated and contains files.

The script works by building each recipe using the output from
bitbake -s.

It will generate several report files, listing which recipes
include documentation, which are missing documentation, and
which did not successfully build at all.

(From OE-Core rev: d5e5023c67dacf78cd3b6e3593777b30e5a8f05d)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:26 +00:00
Wenzong Fan
20f0794136 distro_tracking_fields: update packages tracking fields
Update packages tracking fields including ccache, chkconfig.

(From OE-Core rev: fee0ed81a63269b724fcc9e842aa349bbad38d7f)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:26 +00:00
Paul Eggleton
2690ab375a e2fsprogs: move mke2fs.conf to e2fsprogs-mke2fs package
mke2fs.conf, which contains defaults for filesystem formatting options,
ought to be shipped along with mke2fs itself.

(From OE-Core rev: 8153b037411905e141350cc28f4351e21219a536)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:25 +00:00
Paul Eggleton
a2eace2366 util-linux: split out mkfs into its own package
For those external tools such as Webmin that call mkfs to do formatting
operations, it is useful to have it in its own package to avoid dragging
in the rest of util-linux.

(From OE-Core rev: cceee30de96b2389209fc2c9c474ebbd863ff64a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>

[Merged with head]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:25 +00:00
Paul Eggleton
2113fdf82b dbus: remove unused initscript
We already install an appropriate init script to /etc/init.d, we do not
need an additional one in /etc/init.d/rc.d as well.

(From OE-Core rev: 48dfa47b0e65ad1207c6ae81ba495ef2e39134aa)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:25 +00:00
Saul Wold
584a12697b abiword: convert to svn
(From OE-Core rev: 42310761735062a3d0c6f68471790177459205a1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:24 +00:00
Saul Wold
ca000ba880 libproxy: fix QA Packaging issues
(From OE-Core rev: d756b85565820f0caef17af4c4aee2bf29ea6794)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:24 +00:00
Saul Wold
9bf2eed164 libatomics-ops: fix QA Packaging issues
(From OE-Core rev: dfddbffc48e86cb0a6d07da6727782e3b17535e1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:24 +00:00
Saul Wold
80d0610f68 mdadm: fix QA Packaging issues
(From OE-Core rev: b3840f88f004c9ef371a075f1800052c66c91759)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:23 +00:00
Saul Wold
8993a66eaa man: fix QA Packaging issues
(From OE-Core rev: 2f597288c141c910b945e63e8b31436984ad536b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:23 +00:00
Saul Wold
4a5e1041a5 at: fix QA Packaging issues
(From OE-Core rev: f3487717ae3b7f9256a3e3cc78be331e424ec457)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:23 +00:00
Saul Wold
bc5f42ad43 dbus-glib: fix QA Packaging issues
(From OE-Core rev: 1f55db4936b43e2fd3e50f99815b547e3c5e8010)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:23 +00:00
Saul Wold
165f0f6ce9 wget: Add recipe from OE
Needed to support building oe-core with oe-core

(From OE-Core rev: 017595a81acff23290894cf3e3e60f7fc88510f9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:22 +00:00
Matthew McClintock
43d86cd9af Add new strace-graph package to avoid making perl a dependecy for all of strace
(From OE-Core rev: 289bae7d3722dd00385d198797e5a5c2ae0a9fab)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:22 +00:00
Martin Jansa
93d7624cdf python-dir: change PYTHON_BASEVERSION to 2.7
* it's also defined here conf/distro/include/default-versions.inc, so maybe it could be dropped
* and similar variable is
  recipes-devtools/python/python.inc:PYTHON_MAJMIN = "2.7"

(From OE-Core rev: 4bde680a97e954bb53df63090dcc2a0a9d488292)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:22 +00:00
Martin Jansa
bc5dcd3364 recipes: bump PR after python upgrade
(From OE-Core rev: 669b20b5af9c663f8f8bc4017511d60638f86088)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:21 +00:00
Martin Jansa
6e1632946c python-2.7.2: fix build issues when additional modules are linked against host or native libpython instead of target
* -L. is needed to find right libpython
* -L${STAGING_LIBDIR} is needed ie for python-zlib to find right zlib

(From OE-Core rev: dac48ff1192cd6e4d39aa6e1696e91336d371d97)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:21 +00:00
Nitin A Kamble
b1dd5dd273 update python 2.7 manifest
script: add needed files into the python-core package

regenerate python-2.7-manifest.inc file with newer script

(From OE-Core rev: 12fe0f0b503f76995a975b1e87d5d652d7f6a24b)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:21 +00:00
Martin Jansa
53faafc5a4 python: update generate-manifest for 2.7 version and regenerate it
* it needs to be regenerated to actually package something

(From OE-Core rev: 0a4ac566987950815fc1ae8a0ec0496bd42a46ed)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:20 +00:00
Nitin A Kamble
01103b2f29 python, python-native: upgrade from 2.6.6 to 2.7.2
Rebased these patches to the newer code
	modified:   python-native/nohostlibs.patch
	modified:   python/01-use-proper-tools-for-cross-build.patch
	modified:   python/06-avoid_usr_lib_termcap_path_in_linking.patch
	modified:   python/06-ctypes-libffi-fix-configure.patch
	modified:   python/multilib.patch

Deleted these patches are the are now upstream
	deleted:    python/02-remove-test-for-cross.patch
	deleted:    python/security_issue_2254_fix.patch

Added this patch to python-native
	new file:   python-native/multilib.patch

Updated site config file for python
	modified:   ../../site/common-linux : add ac_cv_have_long_long_format for python
	avoid this error in python:
	Include/pyport.h:243:13: error: #error "This platform's pyconfig.h needs to define PY_FORMAT_LONG_LONG"

Updated default python version
	modified:   ../../conf/distro/include/default-versions.inc

(From OE-Core rev: b284e9a512860b8a8380be80f96cebce6b92ff80)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:20 +00:00
Joshua Lock
0d18f03b22 clutter-gtk: add LIC_FILES_CHKSUM to include file
(From OE-Core rev: ff13e06892f102d915855cde50896349b07b3717)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:19 +00:00
Joshua Lock
a47caad18c libcanberra: add new package for unpackaged files
Create an extra package, libcanberra-gnome, for gdm and
gnome-settings-daemon files installed by libcanberra.

(From OE-Core rev: ec46e591636cf1d27587038989c6b917d19be130)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:19 +00:00
Joshua Lock
cbc31bac2e libxslt: Fix packaging of xsltConf.sh
xsltConf.sh is installed to libdir not bindir, fix pacakging.

(From OE-Core rev: 27b438df0b937180263346cbf68f1641abcdb068)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:03:18 +00:00
Matthew McClintock
2691727152 Add readline as dependecy for gdb-cross-canadian
Got errors that we were unable to find -lreadline, this fixed the
issue

(From OE-Core rev: ddc9a58b8553599d2328ac1c4449b41681ae45d1)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-27 08:45:48 +01:00
Julian Pidancet
96415387fa Give coreutils a chance to build the df utility
The coreutils configure script is unable determine how to get free
space from the Operating System when cross-compiling.
This changes caches the result of the "statfs2_bsize" test for the
coreutils configure script.
Both glibc and uclibc defines statfs as a two-argument function
and uses a struct statfs containing a f_bsize field. That's why
the fu_cv_sys_stat_statfs2_bsize variable has to be defined for
both libcs.

(From OE-Core rev: fa1eb21933a880aa20e4ca87574753b1ec272c3b)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-27 08:45:47 +01:00
Scott Garman
8eb1010611 openssh: upgrade to 5.9p1
(From OE-Core rev: 47c7f5a6f022dca10ae63851c7d9c14ee06f0c0b)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-27 08:29:51 +01:00
Scott Garman
c9ec9d441c mtools: upgrade to 4.0.17
(From OE-Core rev: cec39345f6f5582dbc86a861882507eabe2b0979)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-27 08:29:51 +01:00
Scott Garman
f0ff43baea grep: upgrade to 2.9
(From OE-Core rev: c11e8c6976903582b37b49ec27327f25e4218e34)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-27 08:29:50 +01:00
Scott Garman
51df60eb39 sudo: upgrade to 1.8.3
(From OE-Core rev: 6d300745bb70dfab367b1d472d49b719b91ab9a1)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-27 08:29:50 +01:00
Matthew McClintock
c5efbb58a2 Add new util-linux-chkdupexe package to avoid making perl a dependecy for all of util-linux
(From OE-Core rev: 57def2a05f4cff77f014c6dfb93c2dcc1b9db61b)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-27 08:29:50 +01:00
Martin Jansa
fc94f925e8 libxml-parser-perl, libxml-simple-perl, expat, sgmlspl-native, git: bump PR to rebuild after perl upgrade
* this isn't probably complete list.. just what failed here

(From OE-Core rev: f586aaa8d00361a9597a546d665077c75cf4d520)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-25 08:36:16 +01:00
Joshua Lock
53ee27a1c5 doc: update manual for checksum changes
Document the ability to use SRC_URI parameters for checksums

(Bitbake rev: 0a6443f9e1d07865c9fd1dfc0b4622eb1c4c3f3a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:35:43 +01:00
Joshua Lock
cd1b27291d fetch2: enable checksum definition as SRC_URI parameter
URI parameters should be able to be defined as a parameter of the SRC_URI,
this patch enables thus for checksums.

An example;

SRC_URI = "http://pkgconfig.freedesktop.org/releases/pkg-config-${PV}.tar.gz;md5sum=a3270bab3f4b69b7dc6dbdacbcae9745;sha256sum=3ba691ee2431f32ccb8efa131e59bf23e37f122dc66791309023ca6dcefcd10e"

Addresses the remainder of [YOCTO #1399]

(Bitbake rev: 5f8f923b76722c9b6c7ffbe19e94df50f900155f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:35:42 +01:00
Joshua Lock
64a54dbd73 fetch2: improve usability of checksums
This patch improves the usability of checksums by only requiring one checksum
be defined.

Further, checksum verification will provide as much information as possible
at, rather than a bit at a time. No longer will you need to run fetch, see an
md5sum mismatch, fix it, run fetch, seen an sha256sum mismatch, fix it and
fetch again. If neither checksum is defined we now report both missing sums
at once - rather than one after the other.
Finally, if both sums are incorrect, we'll report both incorrect sums at the
same time.

Fixes part of [YOCTO #1399]

(Bitbake rev: 30ca41e596955fcbbe1ae6f4436ecf14cef96f8d)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:35:42 +01:00
Joshua Lock
e9f66d981a hob: fix backtrace when dismissing open dialog
Clearly a logic/indentation error - we should only try and load the recipe
should the file-chooser return OK.

Fixes [YOCTO #1668]

(Bitbake rev: db59297aa1861614ffaea4295b9b054baa8a12b9)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:35:42 +01:00
Joshua Lock
bbb45b656c gst-plugins-good: correctly handle gconf schema
Add the shipped gconf schema to the gconfelements package and inherit the gconf
class so that schema processing is handled via post* scripts.

(From OE-Core rev: 4c5064b3dc22eba610231819347bc029e1cf5af4)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:19 +01:00
Khem Raj
ea8d1bc533 pulseaudio: inherit perlnative
manpage generatition uses xmltoman utility
which inturn uses xml-parser. So we add
libxml-parser-perl-native to DEPENDS and also
inherit perlnative so it does not use the one
from build host

(From OE-Core rev: 51f6a683ec1d740adf09d808671c7098dc3f83e2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:19 +01:00
Saul Wold
b56be05134 oprofile: Update to 0.9.7 and convert cvs->git
(From OE-Core rev: 493e9aa7ba87b2d863ba91f8c5e01e2f92190fb1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:18 +01:00
Saul Wold
85b54b3662 texi2html: Added recipe from OE
Needed to build oe-core with oe-core

(From OE-Core rev: 05f5ecb8a153fa846cedabc71a8601065d6fe63d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:18 +01:00
Martin Jansa
d1e278e080 default-providers: switch virtual/libgl from mesa-xlib to mesa-dri
* to match default virtual/xserver

(From OE-Core rev: 55904c8a4f84e6ef9c51735e3a0139c45c1dc8d1)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:18 +01:00
Khem Raj
eee0b5aadb coreutils: Upgrade recipe 8.12 -> 8.14
Change in site files is needed since in cross
build envrionment the test to check for
gl_cv_func_fstatat_zero_flag is a runtime test

(From OE-Core rev: 906c46d17146bc91e79999d861274e802e9fc745)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:18 +01:00
Khem Raj
74d1c5e4ad gcc-4.6: Backport fix for PR32219
This fix is needed for gold to work. Otherwise
connman fails to build since it used hidden weak
symbols.

See

http://gcc.gnu.org/bugzilla/PR32219
http://www.cygwin.com/ml/binutils/2008-02/msg00239.html

The fix proposed to gcc had reviews which were not addressed hence the
patch is not yet
applied to gcc upstream.

connman can also have workaround by changing the visibility of these
symbols to be default
 __attribute__ ((weak, visibility("hidden")))

to

 __attribute__ ((weak, visibility("default")))

in include/plugin.h

(From OE-Core rev: 3cb2b003db7371b3a47d02c08352a262e1e419b4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:17 +01:00
Khem Raj
8e14ceee59 xserver-xorg: Add mesa-dri to depends instead of virtual/libgl
Fixes the compile problems e.g.

| checking for GL... yes
| checking for DRIPROTO... yes
| checking for DRI... no
| configure: error: Package requirements (glproto >= 1.4.14 dri >=
7.8.0) were not met:
|
| No package 'dri' found
|
| Consider adjusting the PKG_CONFIG_PATH environment variable if you
| installed software in a non-standard prefix.

(From OE-Core rev: 966f28c29a149dca3035e2c37ccf54ed82713bdf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:17 +01:00
Martin Jansa
777049ac3f subversion-1.6.15: add native support too
(From OE-Core rev: ca3de69db0410b56936f73b9811aea2f1a9d6cd8)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:17 +01:00
Martin Jansa
66a7de0a12 apr-util: add native support
* needed for native subversion
* do_configure_append_virtclass-native is needed, because apr_builddir points to
  /OE/shr-core/tmp/sysroots/x86_64-linux/usr/share/build-1
  and we're not installing libtool from apr there

(From OE-Core rev: 1cd0967672b1a82acb30baaf23eb1cbd2b2e4c67)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:16 +01:00
Martin Jansa
7f30c4a0b8 neon: add native support
* needed for native subversion

(From OE-Core rev: 82b08e04a3f8970e054921075d378e6ba401f63d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:16 +01:00
Martin Jansa
d6ba085416 apr: add native support
* needed for native subversion

(From OE-Core rev: dfecc863861fb98997f958b6530cef304100406f)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:16 +01:00
Cliff Brake
4349f29cac squashfs-tools: add recipe
added xz compression option, general cleanup

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:16 +01:00
Otavio Salvador
dbf48baf90 dbus: use useradd class to allow use in read-only filesystems
Move creation of required user/groups to useradd class thus allowing
use with read-only filesystems and booting the initial boot.

(From OE-Core rev: 46e6c3fa8034b12d178d605f3f5d7efe69671a13)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:15 +01:00
Otavio Salvador
b0dae14eee base-passwd: move initial criation of group and passwd to preinst
To allow use and manipulation of users and groups at rootfs building
time, the '/etc/passwd' and '/etc/group' needs to be available as soon
as possible.

(From OE-Core rev: 0395eba96d6f37f323f5b76564809a44d7ceb103)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:15 +01:00
Otavio Salvador
5ea680a7f4 useradd.bbclass: check if a group already exists manually
The use of groupadd -f makes much more difficult to figure when a
group is not add. This was the case of the class not working for our
usage and this being caused by the lack of '/etc/group' file but
unnoticed as groupadd wasn't failing according.

(From OE-Core rev: 82933a1ff921fd0836f03e6f379fd8536cdc0a30)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:15 +01:00
Otavio Salvador
29886aa676 bootimg.bbclass: add support to disable HDD image building
If an image sets NOHDD = "1" the HDD image won't be build.

(From OE-Core rev: 23c5a83e877efe6d86618898dd181bb75f44aa71)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:14 +01:00
Nitin A Kamble
5f8f114e4c perl: upgrade from 5.12.3 to 5.14.2
parallel build fix patches are not needed as they are upstream now.
Got a new set of debian patch set for 5.14.2

perl-rpdepends: fix the autogenerated rdepends mistakes
   take out some mdoules which are not going to be built.

[Saul Wold: Remove debug]
(From OE-Core rev: 8dc5f118832a4aca906239ffed82f72497c37f8e)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:14 +01:00
Khem Raj
53f7342562 gcc-configure-sdk: Point sysroot to correct location
(From OE-Core rev: c9883733fed9267b1a936c08500a4caf8dc52d3d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:13 +01:00
Khem Raj
013452f81a binutils-cross-canadian: Point sysroot to correct location
(From OE-Core rev: b8dad4ab77f5516bc6929e2ed094fdc62a5a52db)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:13 +01:00
Khem Raj
5ea080821f tcmode-default.inc: Add TRANSLATED_TARGET_ARCH suffix to binutils-cross-canadian
PN for binutils-cross-canadian is
binutils-cross-canadian-${TRANSLATED_TARGET_ARCH}
so thats what we should use for PREFERRED_VERSION

(From OE-Core rev: d101a7d695a426f47b1ad9f8c4761e26b11e2b64)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:13 +01:00
Nitin A Kamble
5479d4bbaa tcl: upgrade from 8.5.9 to 8.5.10
(From OE-Core rev: 9b4ba9b9b0260bab94f662da1b76ddc5e45bb7a8)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-24 17:27:12 +01:00
Joshua Lock
72a1e63b67 distro-tracking-fields: update fields for tzdata and gst-plugins-good
These recipes were each updated and so should their tracking data be.

(From OE-Core rev: 99da9a4e65f9dffb04efc3ad60125194c476d6b3)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:42 +01:00
Joshua Lock
5b3b115629 tzcode-native: update SRC_URI to new IANA location
The TZ database has moved, it's now hosted by IANA.

(From OE-Core rev: 6ab99189cd30c89e23bb00a77489eb36331f8c6a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:42 +01:00
Joshua Lock
f0f69ab543 tzdata: updated SRC_URI and update to 2011k
tzdata is now hosted by IANA at http://www.iana.org/time-zones

(From OE-Core rev: c4b45581be510015e4def579d80e03fdf1c3ded0)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:42 +01:00
Joshua Lock
943ccd31f0 gst-plugins-good: update to 0.10.30
(From OE-Core rev: 8e1b9010147e44238a21f765c30ce4b244dfb9fd)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:41 +01:00
Anders Darander
55092666ba module.bbclass: add lock to prevent error bulding ext modules
When external modules are built, files in $STAGING_KERNEL_DIR/scripts/basic will/can get
rebuilt.
This raises a potential race condition. Prevent this by adding a lock around the
do_make_scripts() function. Further, make sure that the kernel has been installed
to the sysroot, prior to executing this new task.

(From OE-Core rev: 8681b82e8b466929205edde7ba479f3ac1a6143e)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:41 +01:00
Wenzong Fan
43f4f31ef0 chkconfig: Update to 1.3.55
Update chkconfig to 1.3.55 from 1.3.52.

(From OE-Core rev: a1d89422cc956e9bf08c1eac6a781ea1170e3860)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:41 +01:00
Wenzong Fan
e5f5a5d86a ccache: update to 3.1.6
Update ccache to 3.1.6 from 3.1.5.

(From OE-Core rev: e3d3c30f7ce7461290923a2b490e690ff5d166bc)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:41 +01:00
Kang Kai
5f0a801560 distro_tracking_fields: update packages tracking fields
Update packages tracking fields including ghostscript, libsdl,
libxml-sax-perl and liburi-perl.

(From OE-Core rev: aac358b9132f47e66b87898894745721b0abdcfc)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:40 +01:00
Kang Kai
b4ac21c58a libsdl: update to 1.2.14
Update libsdl to 1.2.14
* update configure_tweak.patch
* update bb file, including add configure option --disable-video-ps3,
  drop acinclude.m4 and kernel-asm-page.patch and remove old libtool macros

(From OE-Core rev: 4466055d83384fd12565e1de4e968330bff42ca2)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:40 +01:00
Kang Kai
0c864219a5 liburi-perl: update to 1.59
Update liburi-perl to 1.59

(From OE-Core rev: b3cbb5a8e8aeeb3a55649dba1aca73595305309e)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:40 +01:00
Kang Kai
2fb62c74fa libxml-sax-perl: update to 0.99
Update libxml-sax-perl to 0.99

(From OE-Core rev: e480beff01924f76422a4fd216b5a7fadb345ae0)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:39 +01:00
Kang Kai
8f02435796 ghostscript: update to 9.04
Remove the old version and update ghostscript to 9.04.

* update ghostscript-9.02-prevent_recompiling.patch
* because soobj is not used any more, remove soobj related work
* gs provides a configure option --with-install-cups to install cups related
  files but disabled by default, so need update post install scripts

(From OE-Core rev: a1728fef998d43dc952e42d4c787304086578608)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:39 +01:00
Nitin A Kamble
2f21384d09 distro-tracking: update data for some toolchain recipes
(From OE-Core rev: 0b67136965e5a9ffb8bbf30e75de321a04c3bac0)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:39 +01:00
Nitin A Kamble
a10af58099 libxml-parser-perl: upgrade from 2.40 to 2.41
(From OE-Core rev: 8b96b339b1e3e2b4f58f79bc6fc0c87a18a6c7d3)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:38 +01:00
Nitin A Kamble
4fe4ef58b8 python-dbus: upgrade from 0.83.2 to 0.84.0
(From OE-Core rev: 95e9eb0d5a9c44c52d550b0796eef08f54925205)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:38 +01:00
Nitin A Kamble
24f565276b python-scons: upgrade from 2.0.1 to 2.1.0
the LICENSE.txt has added 2011 year to the copyright line he nce the MD5 sum is different.

(From OE-Core rev: bd34ca3f4912cf957fb3b46c31c757d284dfc4c7)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:38 +01:00
Nitin A Kamble
acf71bb712 x86 tune files: set baselib for x32 tune as libx32
This ensures that on a multilib system the two executable formats
don't conflict.

(From OE-Core rev: 7b3cf9556085429faf8155a6eea412a0b8cc2c52)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:37 +01:00
Darren Hart
c37b2094cb insane.bbclass: print full path on invalid LICENSE_FILES_CHKSUM
Currently only the basename is printed when os.path.isfile() returns a failure
for the license file. If the file is present, but in the wrong directory, this
can be non-obvious to debug. Use the full path instead.

Make a minor grammatical correction in the error message while we're at it.

(From OE-Core rev: 80bd0c774fb691977b20e2d775212d849a33bf2b)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:37 +01:00
Saul Wold
8cf683bf76 ghostscript: renamed x86_64 to x86-64 for patch to work
(From OE-Core rev: 3585b21f39489fa8eccc08df3adfbd81e7df4d48)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:37 +01:00
Otavio Salvador
6c0bf212b5 src_distribute.bbclass, src_distribute_local.bbclass: mostly rewritten
The code used to reference unavailable variables and mistakenly define
the tasks so fully demonstrating this have not been in use for a
while.

During the code rewrite, it was extended to copy also the patches into
the source distribution directory but using the PF as prefix to avoid
name colision among other recipes.

As 'distsrcall' task was not properly defined and noone noticed it,
until now, it got renamed to 'distribute_sources_all' as it is a
better and more meanful name for the task.

(From OE-Core rev: 6b6e0667871fb5f43b68440954c3ad629dfc92e7)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:36 +01:00
Saul Wold
f9257c3990 ghostscript: Disable parallel make due to install issues
ghostscript uses a script called instcopy to install files first
to temp dir and then rm's and copies dirs|files to the final destination.
When parallel make happens multiple threads of this runs and tries to
remove existing directories with contents, not a good thing, therefore
disable parallel make for install.

(From OE-Core rev: 9ef39459383f38cd45203e1f9be046d6100268b8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:36 +01:00
Khem Raj
180caee1e2 gcc-4.6: Backport PR46934 fix
We have been hitting this issue on ARM/thumb and
have a workaround in place to compile samba
http://git.openembedded.org/openembedded/commit/recipes/samba/samba_3.2.15.bb?id=4ba7aa07c0dcd28f94515ff9927e2a04403fcf15
This backport should fix the gcc bug

(From OE-Core rev: 75f7269a7a1da2494768d4be63c44b12c5cfeeeb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:36 +01:00
Khem Raj
6a85e28e95 gcc-4.6: Upgrade SRCREV to latest FSF 4.6 branch
(From OE-Core rev: b1af6951e14d645fe861f289011c91ab6f1b6865)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:35 +01:00
Khem Raj
92711d0c87 bluez4: Add glib-2.0 to DEPENDS
Fixes

| attrib/utils.c:25:18: fatal error: glib.h: No such file or directory
| compilation terminated.
| make[1]: *** [attrib/utils.o] Error 1
| make[1]: *** Waiting for unfinished jobs....
| attrib/interactive.c:27:18: fatal error: glib.h: No such file or
directory
| compilation terminated.
| make[1]: *** [attrib/interactive.o] Error 1
| make: *** [all] Error 2

(From OE-Core rev: 3ada29c7622f898002e156e23c60115c046c118b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:35 +01:00
Lauri Hintsala
bce6dde682 poky: fix broken ubifs link in deploy folder
Fix broken rootfs image link when ubifs is used.

Function runimagecmd is using image name "${IMAGE_NAME}.rootfs.${type}".
Let's use the same name in IMAGE_CMD_ubifs.

(From OE-Core rev: 766f6165471691f651584ebda004e1abb4ea9eb6)

Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-20 17:13:34 +01:00
Martin Jansa
b4757833c3 fontconfig: fix fix-pkgconfig.patch
* missing $ is causing problems ie when building webkit-efl
* see http://lists.linuxtogo.org/pipermail/openembedded-core/2011-June/003798.html
  for details

(From OE-Core rev: e31dd9b65f3b03f79cabab25eca157532de3bd9c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-18 18:18:36 +01:00
Paul Eggleton
deb22138de gst-plugins-good: add pulseaudio to DEPENDS
This explicitly enables the pulseaudio plugin rather than it being built
if pulseaudio happens to have been built first.

(From OE-Core rev: b869f4ab157f120282f518df7e0c6fddace9821c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-18 18:18:36 +01:00
Paul Eggleton
5a3f9b5411 gst-plugins-base: update to 0.10.35
(From OE-Core rev: 8ae69e5d027b1db0ab5d35a8cab747985b960b66)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-18 18:18:35 +01:00
Koen Kooi
3c517bfe6c bind 9.8.1: fix build after recent update
| checking linking as -lgssapi -lkrb5 -ldes -lcrypt -lasn1 -lroken -lcom_err... no
| checking linking as -lgssapi -lkrb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err... no
| checking linking as -lgss -lkrb5... no
| configure: error: could not determine proper GSSAPI linkage
| + bbfatal 'oe_runconf failed'
| + echo 'ERROR: oe_runconf failed'

(From OE-Core rev: e25fad9b8eef59bf7ca11ae141739d0bc2235655)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 16:58:14 +01:00
Xiaofeng Yan
13cfd5a7c9 lsb: Change link of ${baselib} to lib64 for 64bits system
Correct two faults:

1 Binaries of lsb test suite need ld-linux.so* in /lib64.
for example:
Target$ ./lsbcmdchk
-sh: ./lsbcmdchk: No such file or directory
Target$ strings lsbcmdchk | grep "ld-"
/lib64/ld-lsb-x86-64.so.3

"lsbcmdchk" from lsb test suite is a binary program.
A new modification to lsb_1.4.bb caused that binaries from lsb test suite can't run
because binaries of lsb test suite need ld-linux.so* in /lib64.
But the link is changed due to adding multilib. I changed this link again.

2 correct mandir
Waring will appear when running task task do_populate_sysroot

NOTE: package lsb-1.4-r2: task do_populate_sysroot: Succeeded
WARNING: For recipe lsb, the following files were installed but not shipped in any package:
WARNING:   /{datadir}/man/man1/lsb_release.1.gz

I changed mandir=${D}/man to mandir=${D}/${datadir}/man

(From OE-Core rev: f2dada2079b5f98e13d4888609368ba111967a60)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:45 +01:00
Saul Wold
601077f7bd screen: Add patch to fix parallel make install
(From OE-Core rev: 96a46957ea37f090c934c6ad446076111661a7c2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:45 +01:00
Saul Wold
1c892e84bb mktemp: Add patch to fix parallel make install
(From OE-Core rev: 28c7541582936c84b4c6f9de9a345d1463236167)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:44 +01:00
Saul Wold
576c8d181b sysprof: remove duplicated patch
Apparently this pactch was duplicated by backported
patch, and needed to be applied more broaded than to
just ppc.

(From OE-Core rev: 182e4768b651e58de5b42f9fb55ae9816b57233b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:44 +01:00
Saul Wold
4e8bc57480 Distro Tracking: Fix dates
(From OE-Core rev: 406e3367a13b19f1a368d4101c9eaca2c97e1647)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:43 +01:00
Saul Wold
a21cc570b0 libomxil: Fix QA Package Errors
(From OE-Core rev: ef786ef9abcd919c651c14004a1cb0a0dcad1bff)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:43 +01:00
Saul Wold
9da3cd473f glib-2.0: Add nativesdk depends for libffi
(From OE-Core rev: 8c78d1b3eec8089d67da03591e03a4583497580d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:43 +01:00
Paul Eggleton
997fdc68cc bluez4: disable hidd, pand & dund
These daemons have been deprecated for some time, as their functionality
is now provided within the main bluetoothd daemon.

(From OE-Core rev: 166cfbd1d30806c4bd4e47ea4ef641ee9eb03bc0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:42 +01:00
Paul Eggleton
07e9877856 pulseaudio: make bluetooth support conditional upon DISTRO_FEATURES
If "bluetooth" is in DISTRO_FEATURES then enable bluetooth and depend on
bluez4, otherwise disable it.

(From OE-Core rev: f53d70bdeed989e031e06b8851a9706ff7ab9855)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:42 +01:00
Philip Balister
a3a5e4cae0 cmake : Disable building ccmake.
ccmake fails to build due to an as-needed type error with -ltinfo. Disable
it for now since the build fails and cmake is what we need for target
sdk.

(From OE-Core rev: 2adc9a3f1f1db284f7d91193ad77b3524e0e0d2c)

Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:42 +01:00
Dmitry Cherukhin
1b49585ff1 qt4: Added support for QtMobility 1.2
The QtMobility is a Qt add-on which allows to include standard mobile
functionality to Qt applications. For details, see
    http://qt.nokia.com/products/qt-addons/mobility/
The patch is intended to add support for the QtMobility 1.2 package to OE.

Added two recipes:
1) qt-mobility-x11 builds the QtMobility 1.2 package
   on the basis of Qt/X11 using the qt4-x11-free package;
2) qt-mobility-embedded builds the QtMobility 1.2 package
   on the basis of Qt/Embedded using the qt4-embedded package.

(From OE-Core rev: 5395ab6dc7cf3f1e1fd082b28cef50001d235750)

Signed-off-by: Dmitry Cherukhin <dima_ch@emcraft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:41 +01:00
Dmitry Eremin-Solenikov
f60b6507e0 default-provider: also define a default provider for gconf-native
(From OE-Core rev: 1fdd82124834245f58680a44bdaacd1a264230b0)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:41 +01:00
Saul Wold
35b821b663 resolvconf: Update to 1.61
(From OE-Core rev: b354fc269858e0fde93c88d801e66b2817b2bb08)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:40 +01:00
Saul Wold
add6e674ab bind: update to 9.8.1
The COPYRIGHT File was updates for both Year and showing the complete
list of contributors, this change effectively adds BSD equivlant to
the licensing terms.

(From OE-Core rev: a770a56aba6419372654ea6f1413672a0aa19cc0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:40 +01:00
Martin Jansa
468e21662d mesa-dri: use DRIDRIVERS_append_arch to promote right usage for BSP layer maintainers
(From OE-Core rev: 333859f0c068b9d03337a0397c7effd17cbd898a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:40 +01:00
Martin Jansa
9448de61c0 xserver-xorg: remove glx-use-tls again
* khem confirmed that uclibc does support it now

(From OE-Core rev: 629bea96ae07d9f3129a5da488682851a4e09d52)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-17 14:10:39 +01:00
Richard Purdie
2fd6598a2c mesa-dri: Enable swrast only by default and intel drivers only on IA platform
(From OE-Core rev: d1b12b92439805ec9ca5d031d34d264acd0cab3b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-15 00:41:23 +01:00
Richard Purdie
6879750ad5 arch-ia32: Add a generic x86 override (instead of i{3|4|5|6}86 and so on)
(From OE-Core rev: bd7663f5fa07394e5157f74e9958ebd88b7355b6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-15 00:41:23 +01:00
Richard Purdie
9c3d2b287a bitbake.conf: Use TRANSLATED_TARGET_ARCH in OVERRIDES since any variable with _ in it isuseless there (e.g. x86_64)
(From OE-Core rev: b99b92d9136b7872ba0c021e1a6ef070b2ee9b78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-15 00:41:22 +01:00
Richard Purdie
0d69a17959 meta-yocto: Sync with mesa/xserver changes and fix machines
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 23:25:41 +01:00
Richard Purdie
66bef6b137 bitbake.conf Exclude MACHINE from MACHINEOVERRIDE variable dependencies
(From OE-Core rev: 362512b83775ad7020e5870a594f0e7ca9ef83ba)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 14:36:58 +01:00
Samuel Stirtzel
ff1781576b data.py: fixed message domain errors
The dynamic message domain was introduced by Richard Purdie with the following patch:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a6c48298b17e6a5844b3638b422fe226e3b67b89

(From OE-Core rev: 55a8382e460430dc5ff10755d235d637531d2ae7)

Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 14:36:58 +01:00
Samuel Stirtzel
fb8483e216 patch.py: fixed message domain errors
The dynamic message domain was introduced by Richard Purdie with the following patch:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a6c48298b17e6a5844b3638b422fe226e3b67b89

(From OE-Core rev: 2383e06c8ed7c15aa148b9dbe40445e7095b6f57)

Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 14:36:58 +01:00
Martin Jansa
10c191bd65 nfs-utils: separate nfs-utils-client and nfs-utils-stats
* move python runtime dependency only to nfs-utils-stats

(From OE-Core rev: fc774c29fe1036f9c0d4b4e13f1137ae0575d118)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 14:36:58 +01:00
Otavio Salvador
44b3dc359f distro_tracking_fields.inc: update qt4 related entries
(From OE-Core rev: a89710d79e81d4d0c509a7de796a2ee119e0962c)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 14:36:57 +01:00
Otavio Salvador
416aa7ac11 qt4: use 4.7.4 as default preference
(From OE-Core rev: 5d781a3ae57e5e8c9b463f1c70e2e41f43853250)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 14:36:57 +01:00
Richard Purdie
44385cb37d clutter: Update bbappend after oe-core upgrade
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 14:36:47 +01:00
Saul Wold
c471b1c905 qemu.inc: qemu-native also needs glib-2.0 native
(From OE-Core rev: 5cef819b71733b15066a0624c3d6404e9093890f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:19 +01:00
Wenzong Fan
c973a6e4c5 qt4-x11-free: Fix broken regexes in qt4-x11-free's recipe.
[YOCTO #1671]

qt4-x11-free's recipe includes a sed script to sanitize it's .prl files,
which are used by qmake to generate a list of libs and includes in the
Makefiles it generates. It however, fails to take into account the possibility
of trailing slashes, and thus leaves them in, and breaks gcc's syntax.
Update these regexes to account for them.

(From OE-Core rev: 8d580ed449c09a64483519d66e14a2e3b071806a)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:19 +01:00
Klaus Kurzmann
88f81c7ffe eglibc-2.14: add patch to fix libdl crash
* Without this patch programs using alsa-lib crash (alsamixer for example).
* This patch is taken verbatim from ArchLinux.

(From OE-Core rev: 2d2ac8bbbbb98080ad339113c3f27f9573374be2)

Signed-off-by: Klaus Kurzmann <mok@fluxnetz.de>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:19 +01:00
Zhai Edwin
f617af4ea3 pcmanfm: Upgrade to 0.9.9
Update owl-window-menu.patch.

(From OE-Core rev: 83ea07f8fb635a01dfe976ba0e518df282eef30d)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:19 +01:00
Zhai Edwin
e227eb8abe libfm: Upgrade to 0.1.16
Remove obsolete use_deprecate_func.patch, and add configure_fix.patch to update
configure.ac

(From OE-Core rev: 971f593cd2454449f0997c948396107ebf85da41)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:18 +01:00
Bruce Ashfield
839f699e66 linux-yocto: config cleanup and streamlining
This incorporates the following meta branch commits:

  353d43d fri2: cleanup bsp config
  2a605e2 sugarbay: cleanup bsp config
  47b76ed fishriver: cleanup bsp config
  ad6edab jasperforest: cleanup bsp config
  07f7e89 emenlow: cleanup bsp config
  d32a651 crownbay: cleanup bsp config
  ad2d621 meta: add vesafb feature
  913facf features/drm-psb: add related config options

(From OE-Core rev: e08e44da5be348a1ec065ed29a07dbc31ae1035d)

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>
2011-10-14 13:18:18 +01:00
Saul Wold
f30c3da2c2 bash: update to 4.2
(From OE-Core rev: cd3d74f88b950050ee1e7738287b8752e8c7b711)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:18 +01:00
Saul Wold
3a1d27cd7b rsync: Update to 3.0.9
(From OE-Core rev: 2b131dbfaef433e879a0a97521059e26a72bce34)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:18 +01:00
Saul Wold
6591efad6d rxvt-unicode: Update to 9.12
(From OE-Core rev: e08f329c1208d776b0f0459440ad30730ab44b8a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:17 +01:00
Saul Wold
02ea19bfa0 libgcrypt: Update to 1.5.0
(From OE-Core rev: 53a631c0b5fcd9c70c727e2773aa6d90eeaf7acf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:17 +01:00
Saul Wold
9ecb4ec70a augeas: Update to 0.9.0
(From OE-Core rev: ec3b80dd226961559509ad7f3a6810e82186d95d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:17 +01:00
Saul Wold
4467ef6398 libtiff: Update to 3.9.5
(From OE-Core rev: 7a6218b05eb4ec23e6378a1738ac2f6809fe5c08)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:17 +01:00
Saul Wold
3697fdf77a libaio: Update to 0.3.109
(From OE-Core rev: 3804ea3b6993184060236cfbb0d05c43b7cff017)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:17 +01:00
Saul Wold
87eabec9c9 v86d: update to 0.1.10
(From OE-Core rev: 933eb8224c6152fb574f97ddc36511026d512d75)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:16 +01:00
Otavio Salvador
e4953031de initramfs-live-boot: make it more generic and easy to use
The script was making some assumptions that enforced many requirement
in the machine kernel configuration and usage, besides it were too
while booting.

Changes included:

 * fix indentation;
 * rdepends on udev;
 * allow use of isofs as module;
 * remove rootdelay param parsing as it was unused;
 * don't verbosely kill udevd and mknod;
 * mount devtmpfs into rootfs, if available, before swithing root;

(From OE-Core rev: 3fc8cec53038f41d31344040c56d62aac90ba7e0)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:15 +01:00
Otavio Salvador
cd898bfd96 image-live.bbclass: allow override of initrd image
(From OE-Core rev: 989238c366499aa3420c5594a7e256e50c78cc4b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:15 +01:00
Tom Rini
a8e69714ae libnl2: Fix a race on route/pktloc_syntax.h
At issue is that route/pktloc.c (not generated) depends on
route/pktloc_syntax.h (generated).

(From OE-Core rev: 7bec22c70598a5180f754bbbe2dfdd3db2843a64)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:15 +01:00
Xiaofeng Yan
3124512e5e distro_tracking_fields.inc: Add maintainer for some packages without maintainer
Add the name of maintainer for the following packages:
	bind
        libx11-diet
        qmmp
        libarchive
        xserver-kdrive
        xserver-xf86-lite
        directfb

(From OE-Core rev: 26135858692b591f82deaaa2c22d27ab02750c53)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:14 +01:00
Noor Ahsan
2a810f51fa bluez4: Add ending quote of FILES_${PN}-dbg
* .debug directory was being moved in bluez4 package. Although we have asked to move it in bluez4-dbg package but as FILES_${PN}-dbg was not having ending quote, .debug folder was not being moved to correct directory in packages-split.

(From OE-Core rev: 183d7b8337e30185f9928f127671a12c36bbda7d)

Signed-off-by: Noor Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:14 +01:00
Khem Raj
22d8978422 qemu.inc: Add glib-2.0-nativesdk to qemu-nativesdk DEPENDS
QEMU starting version 0.15 needs glibc-2.0

(From OE-Core rev: 65f7ff79c5e1e98403a5968c5dbee405c316d55c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:14 +01:00
Khem Raj
f7cd81390e glib-2.0: Extend to provide nativesdk recipe
qemu-nativesdk 0.15 needs it

(From OE-Core rev: 0039d76b55a4878a67e42c1234441a0fcabf3224)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:14 +01:00
Khem Raj
677d033224 qemu-0.15: Add recipe and forward port patches from 0.14
(From OE-Core rev: fc63229d9cd2e5061cab0686aba4d18bc3fb4e4f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:13 +01:00
Christopher Larson
412a2dc2f9 autotools: fix multi-word arguments for EXTRA_OECONF
This is needed to better support things like the following (with a
multi-word BUILD_CC):

    EXTRA_OECONF += '"ac_cv_prog_CC_FOR_BUILD=${BUILD_CC}"'

(From OE-Core rev: 38a394e7ffedccfabda085c97add8944718943c2)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:13 +01:00
Christopher Larson
4eae8b311e autoconf: no need to hardcode the full path to m4
This way autom4te uses m4 as it finds it in the PATH, rather than
hardcoding any particular path.

(From OE-Core rev: fd6c84249b7bbb5f51d829cf96cae52fe88f456c)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:13 +01:00
Khem Raj
8f2f209b08 farsight2, ldconfig-native, gnutls: There is no GPLv2.1, correct the fields
The licenses were either LGPLv2.1 or GPLv2
make the changes appropriately

(From OE-Core rev: ffb48c7b9dfbcf56c61d10f2663df245bc396496)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:12 +01:00
Saul Wold
4fad3275bf distro_tracking_fields: Updates
(From OE-Core rev: 53abb798786287ab4c98f1b77e265440017a7d41)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:12 +01:00
Saul Wold
1578058221 shadow-native: Bump PR for patch update
(From OE-Core rev: 2ab1a60c44898198bf3049dc1f987dc5e597552f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:12 +01:00
Martin Jansa
d141da28fb mesa-git: fix LIC_FILES_CHKSUM
* only wording was changed a bit and GLUT is not named explicitly
  $ diff docs/license.html 7.11/Mesa-7.11/docs/license.html
  41,44c41,44
  < and licenses apply to different components.  For example, some demo programs
  < are copyrighted by SGI, some of the Mesa device drivers are copyrighted by
  < their authors.  See below for a list of Mesa's main components and the license
  < for each.
  ---
  > and licenses apply to different components.  For example, GLUT is copyrighted
  > by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
  > device drivers are copyrighted by their authors.  See below for a list of
  > Mesa's main components and the license for each.

(From OE-Core rev: f2e7a102e39411edfa74f39c3d8d67212a50c290)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:12 +01:00
Martin Jansa
303df74a95 mesa-git: upgrade from 7.7+git to 7.11+git
* progs package is also gone like in 7.11 (moved to separate recipe)
* uclibc.patch was updated a bit to apply again

(From OE-Core rev: 3b37ed1ff769bac53777c037b624338691861aac)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:11 +01:00
Martin Jansa
d7761be8ab mesa-git: lower D_P a bit more then all mesa-dri
* it needs to be done in .bb because mesa-dri.inc is included after
  mesa-git.inc
* lower it for mesa-xlib to same value

(From OE-Core rev: bbe27f82bbf58b8cfd142e11e90f58c04ff3168a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:11 +01:00
Martin Jansa
c76eb50f75 mesa-git: move shared parts from mesa-dri_git to mesa-git.inc and add mesa-xlib_git
(From OE-Core rev: 3772045d457cb049c34fe3b046cc3a3bb9694c1c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:11 +01:00
Martin Jansa
81931261a9 mesa-dri: LEAD_SONAME shouldn't be needed now, when we're packaging each lib in separate package
(From OE-Core rev: 403a1b0c4bb83165b4c18db42d648e44107ea2ee)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:11 +01:00
Martin Jansa
8a46f88e3f mesa-dri: move shared options to mesa-dri.inc
(From OE-Core rev: 184957c784d6dc93ab1b2f0c1ebc1cd0c807fde4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:10 +01:00
Martin Jansa
f7a51d75e3 mesa-xlib: move shared options to .inc
(From OE-Core rev: b09f77414ebc34dd708b9e7d3c873200af3479e4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:10 +01:00
Martin Jansa
73e6612573 mesa: move shared PROTO_DEPS, LIB_DEPS and DEPENDS to common .inc
(From OE-Core rev: e7b825ab541e97c6c34ec829c26e9e706c7143ec)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:10 +01:00
Martin Jansa
33e00404c1 mesa-7.11: move shared DEPENDS, SRC_URI, checksums and do_configure_prepend to shared .inc file
(From OE-Core rev: 6f48f557c0234faf02bc3da2807c450e47afb594)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:10 +01:00
Martin Jansa
5b7f5b5264 mesa-common: MesaDemos is now separate recipes, bump PE, introduce INC_PR
(From OE-Core rev: cf41f89707521b3bff31944621f6202ec0f0b5df)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:09 +01:00
Martin Jansa
183484c4d0 mesa-common: add common LIC_FILES_CHKSUM for newer mesa versions
(From OE-Core rev: 442f400a3188e1d8ad60c6c36d2c0e2a78404128)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:09 +01:00
Martin Jansa
77fa7e113b mesa: move common patches which could be used in both mesa-dri and mesa-xlib from mesa-dri to mesa
(From OE-Core rev: 76f4be998f6608799b66821a334f1ca7ddc2aba2)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:09 +01:00
Martin Jansa
462f77aa3a mesa-dri-glsl-native: fix LICENSE
(From OE-Core rev: bf9a7f66cb6f7fbdea1afe61ed6c9ef7dd349b4b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:09 +01:00
Martin Jansa
f7b4881b91 xorg-driver-common: bump PE for upgrade path for meta-oe users
* mostly because of xf86-video-omapfb
  Not downgrading package xf86-video-omapfb on root from
  1:0.1.1+r16+gitr28c006c94e57ea71df11ec4fff79d7ffcfc4860f-r16 to
  1:0.1.1+gitr1+28c006c94e57ea71df11ec4fff79d7ffcfc4860f-r17.5.

(From OE-Core rev: 3c5c8e4509b64e80bdd9e925e5c5211fc7b42be8)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:09 +01:00
Martin Jansa
bbd2fc32ed xserver-xorg: move PE to xserver-xorg-common and bump it
* to provide upgrade path for meta-oe users, where it had PE = 2 already

(From OE-Core rev: c38cb00a359a0015bc485edf9632efe295c58533)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:08 +01:00
Martin Jansa
ab4584ab79 xserver-xorg: drop xorg-minimal-fonts from RDEPENDS
* as discussed here http://lists.linuxtogo.org/pipermail/openembedded-core/2011-October/010899.html

(From OE-Core rev: 7ec7ab4894b12ec1fe33082f0c1adbc098ac898d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:08 +01:00
Martin Jansa
1eebf67cbf gtk+: upgrade to 2.24.6
* older version doesn't build with glib-2.30.0

(From OE-Core rev: 782ba4d473ee39545a9b464b96564e52de35142e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:08 +01:00
Martin Jansa
da0798420e glib: upgrade to 2.30.0
(From OE-Core rev: 74f43e3b269c01dba7cd5215a8e825229bd5ecff)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:07 +01:00
Richard Purdie
263852e5a2 cogl: Add git recipe (required by clutter)
(From OE-Core rev: 00545a358fb1fd29a9dd7a77ee54eaf303f41493)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:07 +01:00
Richard Purdie
8dc24dad31 clutter-1.6: update to 1.6.18
(From OE-Core rev: c23c4cd439bd43f4d2d57d11d530589c07bfcb11)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:07 +01:00
Richard Purdie
74422239ed clutter: Update git recipe to more recent version
(From OE-Core rev: c5b29de1ea31dc581f460dbac66d17f784d17396)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:07 +01:00
Richard Purdie
c0e04c44eb gamin: Fix glib 2.30 deprecation issues
(From OE-Core rev: a7f5554f92523ab51a774b70e9e6bd5d8fa36b00)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:07 +01:00
Richard Purdie
2912f89b25 pango: Update to work with glib-2.0
(From OE-Core rev: e1d888cd20aafafdab60ec2a857f4ee19d1f9342)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:06 +01:00
Richard Purdie
5072340621 libunique: Update to work with glib-2.0
(From OE-Core rev: bcc9ad43c6aa7f8cd91031850fc72d121b64cb9e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:06 +01:00
Richard Purdie
bef801045c eds: Update to work with glib-2.0
(From OE-Core rev: d8419d30add74c73cfb038c7e611187a651c24e6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:06 +01:00
Richard Purdie
a74c33d157 Import python-setuptools from meta-oe (for glib-2.0)
(From OE-Core rev: d93ffea3164952954557a5a3dc90cebbd46272b2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:06 +01:00
Richard Purdie
abeb5d580a atk: Upgrade 1.32.0 -> 2.2.0
(From OE-Core rev: f44125973d087f41033f4973e7f9857136ed7e12)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:05 +01:00
Richard Purdie
394dfe4a7b flac: Add missing gettext dependency (requires iconv)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:05 +01:00
Richard Purdie
5405efae32 autotools: Enhance gettext handling to better work with SCM versions of code
If we pull SCM based code using gettext, Makefile.in.in in the
po directory can be missing. We therefore need to add this if
its not already present. We could use gettextize if it wasn't
so broken (for example requiring user input on stdin and installing
way more files that we ever care about such as the m4 files).

We also have a problem if a recipe sets a different AUX dir, for
now fix this by allowing recipes to specify when this is being done
using the AUTOTOOLS_AUXDIR variable. Ultimately we could likely
figure this out automatically.

(From OE-Core rev: acaefad1aa4b45813a004e0cd1d85bc013e435f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:05 +01:00
Martin Jansa
667f4ebc6f xf86-video-intel_2.16.0: fix buildfix.patch to apply
(From OE-Core rev: 4d5c0f9838a3e96d1cfb4ca2fb27161d6cf0de8f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 13:18:05 +01:00
Scott Rifenbark
094661ed8d documentation/adt-manual/adt-eclipse.xml: Added missing section for plug-in
Discovered a missing section for installation of the Eclipse Yocto Plug-in.
This information is critical to the release.  Jessica discovered the problem.
New section added that describes how to install the plug-in as a standard
"New Software" installation from within the Eclipse IDE.

(From yocto-docs rev: d4976ec56d39813a72519387897023f65a5884f6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 00:31:12 +01:00
Scott Rifenbark
82f6242ea6 documentation/adt-manual/adt-eclipse.xml: fixed indigo typos
(From yocto-docs rev: cd2fe81bf9fe9fe4cc463861b62278654e7fff78)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 00:31:12 +01:00
Scott Rifenbark
2923cc23d1 documentation: Cleaned out bad links and replaced with good
The re-structuring of the web server that holds the documents created
some bad links.  I thought I had gotten them all but apparently not.
this is a drawback of not being able to test things until after stuff
is done.  In any case, I grepped through everything and this takes
care of it.

(From yocto-docs rev: cdbc3b3b7f6d6ff01024b977f966459cf414ad5c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 00:31:11 +01:00
Scott Rifenbark
1d06f45acb documentation/dev-manual: Fixed five broken links and removed note
The restructuring of the web site where we store manuals broke some
links that were cut-and-pasted in from older work.  These slipped by
me so not changing them would direct the user to a 1.0 version of
the externally referenced manual rather than the 1.1 version.

I also got rid of a visible "WRITER'S NOTE" in the document that
was left behind.

(From yocto-docs rev: 1508826312a2fe35e5d693821a4c7737baafcb2e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 00:31:11 +01:00
Richard Purdie
b92b776d56 meta-yocto: Catch up with xserver and mesa upgrades/rename
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-12 23:05:12 +01:00
Richard Purdie
c53616df8e xf86-video-intel: Update 2.15.0 -> 2.16.0
Include a build fix which means otherwise this wouldn't build

(From OE-Core rev: 5ad1ca59dea6d5045f252ed7b786ad193faced64)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-12 23:05:04 +01:00
Richard Purdie
7a97bf7976 mesa: Update 7.8.2 -> 7.11
Pieces of this taken from patches from Martin Jansa <martin.jansa@gmail.com>
and likely from meta-oe.

It includes just enough changes to get the newer version to build.

(From OE-Core rev: b2252d16b46bc18ff0aa06efaf58dd337682f587)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-12 23:05:04 +01:00
Richard Purdie
2cf9fb4df4 hal/hal-info: This is unsed in OE-Core and deprecated, drop
(From OE-Core rev: 72c010af2c0fe967a5cacc7fbdba75c3ea3e5c3a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-12 14:12:10 +01:00
Richard Purdie
b04b8a4e4d qt4: Drop old version 4.7.3
(From OE-Core rev: 4e95c177c4d0ee593945fd020f8d0c22810d8956)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-12 14:12:10 +01:00
Richard Purdie
77bbc22db4 gnome-vfs: This is now unused in OE-Core and deprecated, drop
(From OE-Core rev: 69eb093f526d052f60afd156e9adca4a954be222)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-12 14:12:10 +01:00
Richard Purdie
d2b4818c5c gcc: Drop old version 4.5.1
(From OE-Core rev: 59443380286010eda07f1434e918a3af8c8a31a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-12 14:12:09 +01:00
Richard Purdie
9167557fb9 eglibc: Drop 2.12
(From OE-Core rev: 854dc1c3c503e59cdd603d3319d143e18ce77840)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-12 14:12:09 +01:00
Richard Purdie
7dfb9ce398 shared-mime-info: Fix a parallel make race
(From OE-Core rev: 486b17af3e4cced76e9852e7634f75ea87433db2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:38 +01:00
Koen Kooi
8262a89410 alsa-utils 0.10.24.2: fix systemd units when there's no asound.state
(From OE-Core rev: 467f54ccf2409700600811b844d470bfb0720c01)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:38 +01:00
Koen Kooi
aaf52a5c6a linux-firmware: update, merge in OE classic updates, fix packaging
Update: move to latest SRCREV, use non-kernel.org URI
Merge: wl12xx symlink + packaging, install all firmwares
Fix: * all entries in PACKAGES are in PROVIDES already
     * A package always RPROVIDES itself
     * A file can only get packaged *once* so only one rtlwifi package will get the license

(From OE-Core rev: 8c7adb66d297ccf9f2f15eb311e5de7d5b07c6df)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:38 +01:00
Martin Jansa
d824f46959 python-argparse: import from meta-oe, needed for newer glib
(From OE-Core rev: 1cb6d4cc7a129c221f2d5a2d6383af4b26668676)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:38 +01:00
Koen Kooi
51592e464d git: update to 1.7.7
(From OE-Core rev: a81979b24fa3de6aff4ae0b9ea3d2eebb3eec3ce)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:37 +01:00
Martin Jansa
df2a7dbeed libx11-diet: move old patches used only by libx11-diet-1.3 to separate directory
(From OE-Core rev: 3859ae3fb0164c88223f072578a5295070bdce2a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:37 +01:00
Martin Jansa
2ee903a738 libx11-trim: move files for libx11-trim from libx11-1.3.4 to libx11-trim-1.3.4
* because there isn't libx11-1.3.4 recipe anymore
* remove older versions from libx11-trim directory
* notice that DESCRIPTION says xcb is disabled and EXTRA_OECONF has
  --with-xcb

(From OE-Core rev: ccebeb736c785cc6ade075798a1d5c27f106d780)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:37 +01:00
Martin Jansa
dc64df6c17 libx11: drop old 1.2.2 git version
(From OE-Core rev: 10c87f3f695215000c218b0dd0a3652ee97738e7)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:37 +01:00
Martin Jansa
ef1fce9278 libx11: remove older 1.3.4
* libx11-1.3.4 directory is kept for libx11-trim_1.3.4.bb

(From OE-Core rev: 4478f86d9dbb04e57c07030a1a509f2073547021)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:36 +01:00
Martin Jansa
d2aea41ec2 libx11: add new version 1.4.4
(From OE-Core rev: c3ae134362382fd0db6ee34613b0c258076ef9b6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:36 +01:00
Martin Jansa
af0a957760 libx11: package xcb, merge few changes from meta-oe
* move --with-keysymdef/--with-keysymdefdir setting to recipes (newer
  versions are using keysymdefdir instead keysymdef
* fix MIN_REHASH in makekeys by sed call

(From OE-Core rev: 70abb59e71a2aed5ef7faf5ba9b56f695d562382)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:36 +01:00
Martin Jansa
b093169e52 xorg-driver-common.inc: bump INC_PR to rebuild drivers agains new xserver-xorg ABI
(From OE-Core rev: 60cfd59aab1362f02c5fb9124cd5554e96fb756d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:36 +01:00
Martin Jansa
e382e64235 xorg-driver-common.inc: use virtual/xserver instead of older virtual/xserver-xf86
(From OE-Core rev: edff47b8e0b969733e5efed06d43187335831065)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:35 +01:00
Martin Jansa
e65e8ff4be xserver-kdrive: drop unused files (same files are in xserver-kdrive-1.7.99.2 directory
(From OE-Core rev: c7b77b3a1f34f3d2536251c0ad9e43031473e57e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:35 +01:00
Martin Jansa
4c80e07e6c xserver-xorg: move patches to xserver-xf86-dri-lite-1.11.1 and use same directory from xserver-xf86-lite recipe
* FILESEXTRAPATHS needs to be in xserver-xf86-lite_1.11.1
  because in .inc we don't have ${PV} expanded yet
* crosscompile.patch macro_tweak.patch were identical
* fix_open_max_preprocessor_error.patch has only different header
  # $ diff xserver-xorg/fix_open_max_preprocessor_error.patch xserver-xorg-dri/fix_open_max_preprocessor_error.patch
  1c1
  < Upstream-Status: Pending
  ---
  > Upstream-Status: Inappropriate [embedded specific]

(From OE-Core rev: aaa137f54c246b61a94b62a731de67f09e688a2a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:35 +01:00
Martin Jansa
4981c2a793 xserver-xorg: drop unused files
(From OE-Core rev: 9ccc192d00931288c88503536ba41252fb94e880)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:35 +01:00
Martin Jansa
927c92288d xserver-xorg: remove COMPATIBLE_HOST
* ie om-gta02 has mesa-dri module too
  so this should be limited in mesa-dri only

(From OE-Core rev: 64d27e31f474ea9656af0f9fa19c819730ace2d9)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:34 +01:00
Martin Jansa
89cc588e31 xserver-xorg: remove old 1.10.1 version
(From OE-Core rev: fe8f323618f059a77db9fc6dfaebf339bd735e89)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:34 +01:00
Martin Jansa
7b826a9281 xserver-xorg: add new version 1.11.1
* move shared definitions to .inc file

(From OE-Core rev: d7f57fe6bea26632e5989f9d7328eab7766c1260)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:34 +01:00
Martin Jansa
4d0fbb1ff0 xserver-xorg: move shared EXTRA_OECONF entries to shared .inc
* after this xserver-xorg-lite.inc is disabling only dri/glx
  and xserver-xorg.inc is forcing dri/dri2 enabled
  the rest is defined in xserver-xorg-common.inc

(From OE-Core rev: eb381e05ff24ee2fed0b4e9675bd01dce662da07)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:34 +01:00
Martin Jansa
8c4b9ae0bd xserver-xorg: replace hardcoded --enable-glx-tls with glx-use-tls.inc, which doesn't enable it for uClibc
(From OE-Core rev: 9e5c8cb78fcc5d26e1b91172aa6e98890d9ea75c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:33 +01:00
Martin Jansa
3476f1548e xserver-xorg: remove FILES_${PN} += "${bindir}/Xorg ", now we have whole ${bindir} in FILES_ defined in shared .inc
(From OE-Core rev: 623f4feb86c2587c9a5bdac833671a91fbfbbf72)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:33 +01:00
Martin Jansa
73cfa3e166 xserver-xorg-common: move RDEPENDS_${PN} += xorg-minimal-fonts to shared .inc
(From OE-Core rev: 7c380db374381ae71cf6b1398a77654b3eebf512)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:33 +01:00
Martin Jansa
7350b5bad7 xserver-xorg-common: lower xserver-xf86-config and xkeyboard-config dependency to RRECOMMENDS and add few more recipes to RRECOMMENDS
* when someone is using hal or udev explicitly, then he doesn't need xserver-xf86-config
* add xkeyboard-config to RDEPENDS_${PN}-xvfb

(From OE-Core rev: aa0ee22d8504560e5aa0a5ddf67082b0744cd180)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:33 +01:00
Martin Jansa
fbf9e2fd49 xserver-xorg-common: move shared PROTO_DEPS and LIB_DEPS from xserver-xorg.inc and xserver-xorg-lite.inc to xserver-xorg-common.inc
* xserver-xorg.inc is appending extra xf86driproto dri2proto to PROTO_DEPS and virtual/libgl to LIB_DEPS
* both lite and dri variants now depend on font-util (from DEPENDS in xserver-xorg-common.inc)

(From OE-Core rev: f7fb209cd447418e72c421ab473c35430ee46893)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:32 +01:00
Martin Jansa
9e34241ec1 xserver-xorg-common: improve packaging
* add ${bindir} and protocol.txt to ${PN}
* SecurityPolicy is now in ${PN}-security-policy
* package .la files to ${PN}-dev
* README.compiled is lately in ${localstatedir}/lib/xkb so add it too to ${PN}-doc

(From OE-Core rev: 4499728e5ec94783ab44d302a871d44ae0a2e2d3)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:32 +01:00
Martin Jansa
73b9f8f78c xserver-xorg-common: Split out some bigger modules and extensions from the main package
(From OE-Core rev: 8197c20e63acd5e7a5521d5e2ee391e03b4d50d3)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:32 +01:00
Martin Jansa
4fa7554c07 xserver-xorg-common: move SRC_URI closer together
(From OE-Core rev: b1025d11659af648c5414af165ed9623dd13f419)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:32 +01:00
Martin Jansa
b0ea4f0104 xserver-xorg-common: fix LIC_FILES_CHKSUM
* old value was actually from xserver-kdrive, use the same as
  xserver-xorg-1.10.1 and newer has
  ./xserver-kdrive.inc:LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
  ./xserver-xorg-lite_1.10.1.bb:LIC_FILES_CHKSUM = "file://COPYING;md5=74df27b6254cc88d2799b5f4f5949c00"

(From OE-Core rev: 5c32d388d788e0d35a384e84765c2b66ccd593e4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:31 +01:00
Martin Jansa
a87ee718f9 glx-use-tls.inc: add include file to enable glx-tls only when TARGET_OS isn't uclibc
* will be used in mesa-common.inc and xserver-xorg.inc
* based on mesa-tls.inc (glx-use-tls.bbclass) from
  http://git.openembedded.org/cgit.cgi/openembedded/commit/packages/mesa/mesa-tls.inc?id=b527d8f723c98c77f2f5c5358062e5348493d767

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:31 +01:00
Martin Jansa
a4cbf47114 xserver-xorg: remove old git recipe
(From OE-Core rev: f1fb94ee3a91091d678752e9e7c4db0787ea32ff)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:31 +01:00
Martin Jansa
c09f0eb561 xserver-xf86(-dri)-lite: rename to xserver-xorg and xserver-xorg-lite
* xserver-xorg is closer to upstream naming and
  that's how it's named in OE-classic and meta-oe? It would make meta-oe
  transition easier and better to do it now then convert meta-oe to
  xserver-xf86 and then rename it back later.

(From OE-Core rev: 0b31c7200a368533df970f0efeb81e2e20c73593)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:31 +01:00
Koen Kooi
3590061599 util-linux 2.19.1: split blkid out into its own subpackage
Recent udev versions require blkid from u-l, not from e2fsprogs. In general all the non fsck related binaries from e2fsprogs are deprecated.

(From OE-Core rev: eb048308ae80d779e904951b032dba5b780898e5)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:30 +01:00
Martin Jansa
c419e8a435 atk: add missing SOB line to remove.G_CONST_RETURN.patch
(From OE-Core rev: 9b51f23480b4663ffc82b17ef22ca28c76c22990)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:06 +01:00
Robert Yang
be9ee810bd Fix typos in local.conf.sample and local.conf.sample.extended
Fixes bug [YOCTO #1667]

Fix typos in local.conf.sample and local.conf.sample.extended:

differernt -> different
chages -> changes
complation -> compilation
egde -> edge
"an an" -> "as an"
images's -> image's

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 14:11:30 +01:00
Matthew McClintock
0c05d53fbe Fix sysprof for powerpc64
__ppc64__ is not defined on powerpc64, rather __powerpc64__ is, this
uses a patch that is already upstream to fix builds for powerpc64

(From OE-Core rev: 4732222c46652951e66aae377631f4a361179d8f)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:10 +01:00
Matthew McClintock
6d218635e9 Fix mdadm for powerpc64
This takes an upstream fix for compiling on powerpc64

(From OE-Core rev: 1325f506972555d4c218c15090bfa3f63fb13473)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:10 +01:00
Khem Raj
3a1fa7dd59 shared-mime-info: Upgrade recipes from 0.90 -> 0.91
The parallel build problems are solved upstream therefore removed

License file has been corrected to use 'GNU Lesser GPL' instead of
'GNU library GPL' and some indentation changes

The license is LGPLv2+ therefore mark it so

(From OE-Core rev: 30e8ceb8d78d9dd0a381dd4e47da2ec6c449beaf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:10 +01:00
Martin Jansa
4050aa4252 gdk-pixbuf: upgrade to 2.24.6
* older version doesn't build with glib-2.30.0

(From OE-Core rev: 169a524d86ee0647b9ecf8b9a70c750df6582a1a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:09 +01:00
Martin Jansa
d760fcc565 zlib: fix inverted LFS logic
(From OE-Core rev: 6dd3f5c2f300c9cb5b6dbe2afe67323fc6f44c3e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:09 +01:00
Martin Jansa
d90119a25e gstreamer: upgrade to 0.10.35
(From OE-Core rev: 4b469908a15dc3730e75740c106f3ae89ba51b99)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:09 +01:00
Martin Jansa
2542b2f28f libglade: add gdk-pixbuf dependency
(From OE-Core rev: eb709fceacab3ec33f38694d6238b96cb0474848)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:08 +01:00
Julian Pidancet
3010bc0106 Use useradd and update-rc.d classes in the OpenSSH recipe
The current sshd postinst and postrm scripts in the OpenSSH make the
package dependant of the adduser/addgroup scripts which may not be
available on all systems.

This patch replaces the sshd postinst and postrm scripts with proper
usage of the useradd and update-rc.d classes.

This patch had been modified from the previous proposed version to
use useradd long options for more clarity.

(From OE-Core rev: 6b7f399d595ef58e759dab211f4ece155119a680)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:08 +01:00
Julian Pidancet
73abadd43e Fix the --root option in shadow-native programs
The add_root_cmd_options.patch that we apply to shadow-native allow the
various programs from the shadow utility package to chroot() so they can
be used to modify etc/passwd and etc/group if they are located in a
sysroot.

Some of the shadow programs (gpasswd, useradd and usermod) need to parse
the command line in two passes. But we can't use getopt_long() twice
because getopt_long() reorders the command line arguments, and
consequently corrupts the option parsing during the second pass.

This patch fixes this issue by replacing the first pass by a very simple
manual walk of the command line to handle the --root argument.

This change is a patch of another patch, I apologize if it is
difficult to read. But IMHO it wouldn't make sense to put the patch for
this issue in another separated file.

The --root options in groupadd and useradd are needed to make the
useradd class work, and this issue was preventing to use useradd and
groupadd long options while using the class.

(From OE-Core rev: 6e9e19b18597103d8fe09f258cfd9904bb5f1c27)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:08 +01:00
Jason Wessel
ae6133572f Allow user mode NFS server to run without rpcbind / portmap
and nfsroot mount without the need to talk to an RPC info
server as long as the port numbers for mountd and nfsd
are known in advance.

This patch updates the qemu startup scripts and the
user mode NFS server to have the ability to start
without the need to use rpcbind or portmap services.

(From OE-Core rev: 3b1346c607c41a2d592c48594457c32153cb2314)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:08 +01:00
Richard Purdie
639f138c3d font-alias: Convert to use allarch including a patch to disable compiler checks
(From OE-Core rev: b0c111fd15be671be77ce886e28c05835f159ce6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:07 +01:00
Richard Purdie
80c844f3c6 hicolor-icon-theme: Convert to allarch
(From OE-Core rev: 52b39699a3ec5f4e95262cf8d1be1342e03d5769)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:07 +01:00
Richard Purdie
add6cf80b9 gcc/binutils: Disable NLS/gettext dependencies
We force the C locale when running builds for determinstic error messages. We
therefore have no need to NLS support in binutils cross or gcc cross.

We also don't need the standard base/autotools dependencies for our
toolchain components since we don't autoreconf these.

This patch turns off nls and cleans up some of the dependencies resulting
in a slightly less convoluted set of build dependencies.

(From OE-Core rev: 54a3e2ee37003fc56af0339f857b0b6442790c26)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:07 +01:00
Richard Purdie
8ea4349988 libc-package.bbclass: Use a makefile for locale gernation to increase parallelization
We can generate the locales in parallel. The easiest way to do this is
generate a Makefile and then run this with our usual parallel make
options.

[YOCTO #1554]

(From OE-Core rev: 6ce8d028f2a542eceb270aeb511929953a859d39)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:07 +01:00
Richard Purdie
24c803c913 connman: Drop hal dependency and udev configure option, neither is used
(From OE-Core rev: d5be373b9d967a58d33e71e440daaaca6444987a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:06 +01:00
Richard Purdie
6c30df19e5 task-core-basic: Drop hal dependency, its deprecated
(From OE-Core rev: 8a6ec042d73c82b657ee5e7b785e5eba3958788e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:06 +01:00
Richard Purdie
de75097d98 qt-demo-init/linux-firmware/adt-installer: Convert to Use allarch class file
(From OE-Core rev: 75d5e1abb9b1ef9e21be3ec270a7ed43d157d734)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 09:59:09 +01:00
Richard Purdie
dcf0c83cbb gnutls: Disable p11-kit dependency explicitly to resolve build failures
(From OE-Core rev: 808b3123e359f1aebabb8af44694275e4075e031)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 09:59:09 +01:00
Joshua Lock
0d8c8cf462 mutter: update to 2.29.1 and fix SRC_URI
mutter has been hosted by the gnome community for some time now, update the
recipe to use the new SRC_URI and a more recernt version - this is the last
version to support Gtk+ 2.

(From OE-Core rev: 0d7d464bc66318684f85d9b725a0a5ab62a09224)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:50 +01:00
Richard Purdie
c6776763b3 pkgconfig: Fix logic that was accidently leaving legacy pkg-config functionality enabled
(From OE-Core rev: aa816b0aaf39dc6f822114df0bd6d4dd62fce0b8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:50 +01:00
Koen Kooi
318da9f6a4 util-linux: split fsck* into its own subpackage
This will allow systemd to run /sbin/fsck without dragging in all of util-linux

(From OE-Core rev: 4c95779fe1297b06adc705de30dca4e3570084ae)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:49 +01:00
Saul Wold
880a506117 acl/attr: don't make symlink if base_libdir = libdir
(From OE-Core rev: 46cd3527217821a7e9a8223dc45a43294b6c5e8d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:49 +01:00
Saul Wold
bde7d30173 distro_tracking: Updates
(From OE-Core rev: faaf7cc699e77454fc1e41e380655b99c05a19a0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:49 +01:00
Saul Wold
10b4cce4b4 lsof: Update to 4.84
(From OE-Core rev: ef691e90b98d5044f96d1aca7aa0ee5faa725b0f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:49 +01:00
Saul Wold
de511dff17 tzdata: Update to 2011k
(From OE-Core rev: 6b77b75ec8552c5e7aa90f81e7b272f24df31058)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:48 +01:00
Saul Wold
fba22e80f0 gnutls: Update to 2.12.11
(From OE-Core rev: c30c193d79437261ea4e2184f200c33cfd554e9e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:48 +01:00
Saul Wold
d98b5e1265 puzzles: Update to latest version
(From OE-Core rev: 447ea27c510df73e94351fac9adf4f37d6cd44b9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:48 +01:00
Saul Wold
c05b45b54f boost-jam-native: Add SRC_URI Checksum
(From OE-Core rev: e4a1bfbac41e2fbedecc406f0e8c8b20cd22994d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:48 +01:00
Saul Wold
0dff4c2d3c gail: Add SRC_URI Checksum
(From OE-Core rev: d60acd1d3abca20edb9e542de59630ff49100b0c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:47 +01:00
Saul Wold
66ddacdf84 gconf-dbus: Add SRC_URI Checksum
(From OE-Core rev: f29f81827d7fa923f57766bc75796e836d6b1dcd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:47 +01:00
Saul Wold
0ee62a2eb6 liburi-perl: Add SRC_URI Checksum
(From OE-Core rev: 90319541385b9e84b373d2fbbc886ac6474fd4ac)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:47 +01:00
Saul Wold
d1d5e66b0f libxml-perl: Add SRC_URI Checksum
(From OE-Core rev: 49879562d9985da9f7caa2acdd5646eb0363d504)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:46 +01:00
Saul Wold
1b5a546b49 icon-naming-utils: Add SRC_URI Checksum
(From OE-Core rev: c41ab98430739a50cfb72d6bdd25a7935c92b1e7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:46 +01:00
Saul Wold
97bbce289a mutter: Add SRC_URI Checksum
(From OE-Core rev: b051eca254e8e097f58590a33e027403df3db647)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:46 +01:00
Saul Wold
7f469f06f8 xserver-kdrive: Add SRC_URI Checksum
(From OE-Core rev: 46aa62e7f27c3419cfbf20eab4c6d3bb7d7ecd7a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:45 +01:00
Saul Wold
d3798b658a clutter-gst-1.6: Add SRC_URI Checksum
(From OE-Core rev: 61490712e37a1d3300eb0da9424ff94e270edb02)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:45 +01:00
Saul Wold
85ff328d22 eds-tools: Convert from BZR to GIT Repo
(From OE-Core rev: b83e4e1aeed115a2b495e54b0122ccf76b4d2eed)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:45 +01:00
Saul Wold
2c89e283e5 libx11-diet: Add SRC_URI Checksum
(From OE-Core rev: 0ab7f6d84d036e5721f7c7585f13c00df16075bf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:45 +01:00
Saul Wold
541c7c8626 guilt-native: Add SRC_URI Checksums
(From OE-Core rev: 77528ac80ab8f41075150f3dded147b0feece67a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:44 +01:00
Saul Wold
eed0114234 libx11-trim: Add SRC_URI Checksum
(From OE-Core rev: be8843ebfcc84a27111c1d020917e72233176651)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:44 +01:00
Saul Wold
9c92435c10 dosfstools: Add SRC_URI Checksum
(From OE-Core rev: a19bfc10e60ddc7e9317654ca7565d39acbc3987)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:44 +01:00
Saul Wold
f6488ecc8d grub: Add SRC_URI Checksum
(From OE-Core rev: 81dd5411a51959c95a9939f626ea605b3818be70)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:43 +01:00
Richard Purdie
173c35a452 xserver-xf86: Use PACKAGECONFIG for udev/hal choice and default to udev
(From OE-Core rev: 55fe7a29e059a3e09e04896b18bb751da3cd8530)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:43 +01:00
Richard Purdie
d7babed94f native.bbclass: Ensure native recipes have a deterministic baselib value
Changes to baselib by specific machine configuration were resulting
in sstate cache invalidation, particularly in multilib configurations.

This patch ensures this doesn't happen and native sstate cache files
are reusable.

(From OE-Core rev: d0915fb0a2cc80ad45b3fd526d3b29a91d99572c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:43 +01:00
Richard Purdie
439792ea5f sstate.bbclass: Ensure machine specific stamps are only wiped for the current task
sstate was being a little too ethusiastic about removing stamp files and
was removing stamp files for other machines when it shouldn't have been.

This patch teaches sstate about machine specific stamp extensions and
allows it to only remove the current task's stampfiles.

Based on a patch from Phil Blundell <philb@gnu.org> with some tweaks
from me.

(From OE-Core rev: 5e9488495401399d39fcb5012b86c313b6caca73)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:43 +01:00
Richard Purdie
6706c7bdd2 image.bbclass: No need to run most tasks except do_rootfs
Running fetch/unpack/patch/compile/install etc. is pointless
since the only image task that does anything is the rootfs task.

Hence mark the useless tasks as noexec so we don't bother running them.

(From OE-Core rev: b3d1c440feb7fd7b3e3374ca528195ab9bd3a7ce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:42 +01:00
Richard Purdie
70acc4f45f base.bbclass: Implement PACKAGECONFIG
These enabled options to be specified in the form:

PACKAGECONFIG ?? = "<default options>"
PACKAGECONFIG[foo] = "--enable-foo,--disable-foo,foo_depends,foo_runtime_depends"

So that DEPENDS, RDEPENDS_${PN} and EXTRA_OECONF can be automatically
built from specific options. Those options can easily be customised
by the distro config or the user.

Based on some ideas from Chris Elston <celston@katalix.com> but with
an improved easier to use one line interface.

(From OE-Core rev: 7a58911f6951abd56db9ebb37f8d6284d91fa514)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:42 +01:00
Richard Purdie
ac8e55935f base.bbclass: Minor cleanup
(From OE-Core rev: 373db49de0e30239fc8c7c3ce74d635fd7d6cd70)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:35:42 +01:00
Richard Purdie
d918698d60 meta-yocto/qt4: Update bbappend to new version
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 11:07:12 +01:00
Richard Purdie
195cde3bb8 local.conf.sample: Disable interactive patch resolution for now since doesn't work well
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 00:00:51 +01:00
Scott Rifenbark
fe76b87e8a documentation/dev-manual/dev-manual-kernel-appendix.xml: config example
I had to add some changes to the way we invoke qemu to show multiple
processor support.  I needed the qemuparam "-smp 2".  There are
other minor edits as well.

(From yocto-docs rev: 508863634ce537b0936f8e44f87b90bef678c122)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 18:46:55 +01:00
Scott Rifenbark
8d088b972d documentation/yocto-project-qs/yocto-project-qs.xml: release name and misc.
I somehow had either dreamed the word "einstein" into the release
for 1.1 and had it in there as part of the tarball name, etc.
I have replaced this obviously with "edison."

Other edits involved making the references to outside documents
more consistent.

(From yocto-docs rev: 2407b7dd89712c489d515e97d44e3c7dc0b64d20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 18:46:55 +01:00
Scott Rifenbark
05f67cebfa documentation/dev-manual/figures/kernel-example-repos.png: updated figure
Changed the pathnames for kernel 3.0 from 2.37

(From yocto-docs rev: 220ce5fbb3663940b5940445190d30d98f58a438)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 18:46:55 +01:00
Scott Rifenbark
a3e4b6ac24 documentation/dev-manual/dev-manual-kernel-appendix.xml: edits to the example
Some minor edits for the kernel example.

(From yocto-docs rev: 01e9f01662efad746fbfc34820b6efeb34affecd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 18:41:47 +01:00
Scott Rifenbark
f54a78c891 documentation: Fixed links for yocto-1.1
After greping through the documentation directory, I addressed
all the <ulink> statements that used to have yocto-1.0 in the URL.
They are now yocto-1.1.

(From yocto-docs rev: 97d160263c5905fdeaf4ec285bc5359918790581)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 18:41:47 +01:00
Richard Purdie
2f4eecc60e webkit-gtk: Enable dependency tracking since the webkit makefiles have bugs
(From OE-Core rev: cc626b9e1671670a931ea3e528ea4b0f7b2e923b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 16:59:40 +01:00
Richard Purdie
5ea73bde5e autotools.bbclass: Allow dependency tracking option to be easily overridden
(From OE-Core rev: c353a60bd8a6151a3538f0900aff0b5856aa0684)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 16:59:40 +01:00
Kumar Gala
0a5ae8c64f scripts/oe-buildenv-internal: Add SOCKS5_{USER, PASSWD} to BB_ENV_EXTRAWHITE
If a SOCKS5 gateway is needed for a proxy access like git it might also
require authentication to the proxy via a password and username.  Adding
SOCKS5_USER & SOCKS5_PASSWD to BB_ENV_EXTRAWHITE allow for automation
of the authentication request to occur when something like a git fetch
is going through the proxy.

This patch requires the bitbake patch to add extra exportvars so
these variables get passed from Env -> bitbake -> fetcher

(From OE-Core rev: 9206ea0f7cd39d2ba6ff4b41cbeb17409d3ae5f1)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 16:59:40 +01:00
Matthew McClintock
191e61a39c fetch2: Export additional variables to the fetchers
git could need these environment variables when working behind
a proxy

(Bitbake rev: dca46cc2e1c75b6add2c4801e2994a4812745f5b)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 16:59:34 +01:00
Richard Purdie
68d27961d1 gdb-cross-canadian: Fix source directory S
(From OE-Core rev: 42f510b2eec3fadbeb0ce2793de8f29e7cba1ad7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-05 11:09:35 +01:00
Richard Purdie
6d75e6f8c6 mtools: Disable parallel make install, its broken
(From OE-Core rev: 6f64114f5825bf6f6ab8eaaf4bed24586e05ee57)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-05 11:09:35 +01:00
Tom Zanussi
53a9ffc11a kexec-tools: fix architecture mismatch QA error
Building sato-sdk for an x86_64 target throws this QA error:

| ERROR: QA Issue: Architecture did not match (62 to 3) on /work/x86_64-poky-li\
nux/kexec-tools-2.0.2-r1/packages-split/kexec-tools/usr/lib/kexec-tools/kexec_t\
est

kexec_test uses 32-bit code for testing - add an INSANE_SKIP exception for it.

(From OE-Core rev: 0dbf91969bb16f4761f58426ff5b458139c4e235)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-05 11:09:34 +01:00
Scott Rifenbark
68b9f1677c documentation/dev-manual/figures/wip.png: new figure added.
(From yocto-docs rev: f373d2b9f3530e31dc84b9333cfef93cdfd2c5e2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:12:07 +01:00
Scott Rifenbark
109150de4d documentation/dev-manual/dev-manual-start.xml: console updates and tar update
I re-ran the exmaples to set up various Git repos and updated the output.

Also fixed a bad tarball name from edison-1.1 to edison-6.0

(From yocto-docs rev: 6538d588fa35986ff301a22d327af73c337ec43c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:12:07 +01:00
Scott Rifenbark
b9a732d4c7 documentation/dev-manual/dev-manual-kernel-appendix.xml: general updates
I made a pass through the book to clean up all areas in preparation to
running the examples again.  Most changes were punctuation, manual
section reference formats, and wordings.

(From yocto-docs rev: 0d054f79c82ddc204938dea187312d1a80d0a2e1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:12:07 +01:00
Scott Rifenbark
bbd9bbe5fe documenation/Makefile: Added a "WIP" figure dev manual for future work.
(From yocto-docs rev: 90964c51b1cd848a7bb0ddce5dcfd0a0f8c86223)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:12:06 +01:00
Scott Rifenbark
42f6bc47c7 documentation/dev-manual/dev-manual-bsp-appendix.xml: changes to references
More changes to the internal section references.  Using <link> rather than
<xref> to get rid of the section number in the reference.

(From yocto-docs rev: 4351fd4898c517e25235611893b1cd059cbcc2f8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:12:06 +01:00
Scott Rifenbark
addab8aa4c documenation/dev-manual/dev-manual-bsp-appendix.xml: fixed reference form
I am using a certain form to reference other sections in the current
or other manual.  I updated the references to follow this form.

(From yocto-docs rev: 2ba41ac2f355dbe66af19e356f9246b7485585b5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:12:06 +01:00
Scott Rifenbark
71cfe031c3 documentation/dev-manual/dev-manual-bsp-appendix.xml: fixed typo.
(From yocto-docs rev: a66bb0402dd3f1499278277486e482b573a97777)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:12:06 +01:00
Khem Raj
e07033ae82 runqemu-export-rootfs: Add HOW-TO for ubuntu 11.10 for rpcbind problem
The existing instruction to tackle
RPC: Authentication error; why = Client credential too weak
Are not applicable to ubuntu 11.10 especially

Therefore add the magic needed for ubuntu 11.10

(From OE-Core rev: faae191e8c1920745e0ea9abf7b8b26eb4561096)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:11:11 +01:00
Otavio Salvador
b6b2ca051b bootimg.bbclass: fix comment typo
(From OE-Core rev: 780685bbaf6d6f74aed77c412686592d6b9cf8e5)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:11:11 +01:00
Otavio Salvador
9d1502bccd image-live.bbclass: allow images to override ROOTFS and INITRD
(From OE-Core rev: e8011abfab79220102e4843d8a91655162140090)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:11:11 +01:00
Otavio Salvador
2884c48743 image.bbclass: improve comments regarding exported functions
(From OE-Core rev: 2097874dab4d6b77d7ece026808283381c2cbe1a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:11:11 +01:00
Bruce Ashfield
341eab52e7 linux-yocto: update live boot configuration
Updating the meta SRCREV to import a series of changes to synchronize
live booting between multiple targets:

  d05450e meta/fri2: enable booting from iso
  3da7d2a meta/fishriver: enable booting from iso
  52e1c49 meta/emenlow: enable booting from iso
  87918ae meta/crownbay: enable booting from iso

(From OE-Core rev: 7100c50c8697a3eec446b9189bf49ecbea9b7264)

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>
2011-10-04 22:29:24 +01:00
James Limbouris
9a7aee0754 qt4-embedded: move qt4-embedded-conf from RDEPENDS to RRECOMMENDS
qt4-embedded-conf contains an environment setup script for profile.d.
It has been packaged seperately to allow for its exclusion, but this is
only practical if it is added to RRECOMMENDS, rather than RDEPENDS.

(From OE-Core rev: e0c2a62fcadc5095729229e83975f35fe0c3fa8f)

Signed-off-by: James Limbouris <james@digitalmatter.com.au>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 22:29:23 +01:00
Dmitry Eremin-Solenikov
bad9759cf7 qt4: packaging fixup
Improve packaging:
* Add phrasebook packages to DYNAMIC_PACKAGES
* Correct phrasebook packages generation
* Include more files into -dbg packages
* Package fontdir and fonts README.

(From OE-Core rev: 4e3c29dd90f583cafe7a7fc863efb3720096d67b)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 22:29:23 +01:00
Otavio Salvador
13e659facb qt4: Fix translation support
The translation support was disable in build. The
fix-translation.patch was imported from OpenEmbedded to fix a linking
issue in phonon translation support.

[Dmitry Eremin-Solenikov: ported to apply to qt 4.7.4 build, bumped PR]

(From OE-Core rev: 4fc51a28bd171ea93fecee6326c69c6494023f76)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 22:29:23 +01:00
Elizabeth Flanagan
c88b991526 poky.conf: Increment DISTRO_VERSION
With 1.1 release coming, it's time to increment the DISTRO_VERSION
and poky version.

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 18:33:54 +01:00
Scott Rifenbark
1c1b6059f6 documentation/adt-manual: changes for Jessica's review.
I made several changes based on feedback from Jessica Zhang.

1. Removed "SDKVERSION" as a way of identifying the directory in
   which a toolchain tarball is installed.  I replaced with "1.1"

2. Cleaned up the bitbake command verbage to consistently use
   'bitbake' command.

3. Cleaned up an erroneous reference to the toolchain environment
   setup scripts.  I was referring the user to the oe-init-build-env
   area.

4. Changed wording to indicate that the toolchain tarball is generated
   after running bitbake rather than installing the toolchain.

5. Replaced the gmae tarball file used in an example to be the
   regular taball.

(From yocto-docs rev: f7c3e4f4a666121a29825099d451eab1accb0616)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:45 +01:00
Scott Rifenbark
611d92f106 documentation/dev-manual/dev-manual-start.xml: Updates for 1.1 repos names
I changed the bernard examples used when creating Git repos to reflect
the edison release.

(From yocto-docs rev: d345cb08905e7f5e21b1649af5e876317cc68931)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:45 +01:00
Scott Rifenbark
8c10e06931 documentation/dev-manual/dev-manual-bsp-appendix.xml: scrubbed example
I changed several small things in the example as I worked through it
once again.  The commit IDs changed for using the atom-pc kernel.
Also the command to build the sato image can no longer use 'live'.

(From yocto-docs rev: faff1e7f21b5059dfe708c6a3d83116c7349fe55)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:44 +01:00
Scott Rifenbark
031930d4bf documentation/adt-manual/adt-eclipse.xml: edits to zip section
No need to use the long command to restart Eclipse.  It will have
been restarted as part of the procedure.  I updated the last paragraph
to simply point the user off to the next section.

(From yocto-docs rev: bca280e74f81a0401c520c8a59e9e07e16f28b8b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:44 +01:00
Scott Rifenbark
1a0e71f0c7 documentation/adt-manual/adt-eclipse.xml: updates to zip method of plugin install.
These changes are for installing the YP Eclipse plug-in using a built out
ZIP file.

(From yocto-docs rev: ea50f63d448b4ff6026a9334440058511782461d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:44 +01:00
Scott Rifenbark
47b82c7db8 documentation/poky-ref-manual/extendpoky.xml: multilib edits
Feedback from Richard Purdie inserted.  I made an edit pass for
style to Richard's re-write.

(From yocto-docs rev: e5bb08e966614c610e6357642b3b2d1522332f7f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:44 +01:00
Scott Rifenbark
00f99ccfe8 documentation/adt-manual/adt-eclipse.xml: edits to the config steps
I made some slight edits to configuring the Eclipse IDE and the
procedure to install the plug-in from the zip file.  This is not
complete yet.

(From yocto-docs rev: 96de3d21946d64e6b877f067912da8677c3d373a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:43 +01:00
Scott Rifenbark
e0172675a0 documentation/kernel-manual/kernel-how-to.xml: Updated build strategy
This section used the term "tree construction" somewhat out of context.
The section really focuses on what the build process and the user does
prior to compilation.  I changed wording to indicate the tree is
validated to be sure that the SRC_URI point to the right stuff and
that the BSP build branch exists.

(From yocto-docs rev: e6332d5045b21354b53bbbe1203f9d52d4d97964)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:43 +01:00
Scott Rifenbark
f527e3ce70 documentation/adt-manual/adt-prepare.xml: updates to getting images.
Made a few corrections to the section describing how to build
the tcf-agent into non-sdk images.

(From yocto-docs rev: e78dc3b3d3dd443506e78651cf9673358577c21d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:43 +01:00
Scott Rifenbark
1b1f8e5260 documentation/adt-manual/adt-prepare.xml: Updated for building tcf-agent
The YP only ships one pre-built image that has the tcf-agent built
into it - core-image-sato-sdk.  There are a couple methods that exist
to create images that do not normally have this agent so that they
will have it.  I updated the "Getting the Images" section to
contain those steps.  Lianhao and Jessica Zhang were the technical
resources for these changes.  These changes are the first draft.

(From yocto-docs rev: 85432e4892c3fe924bf90961f89e8edfd9693e84)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:43 +01:00
Scott Rifenbark
8d689e378a documentation/poky-ref-manual/extendpoky.xml: Multilib section added
I created a section on how to prepare for and use the multilib
feature.  The information is leveraged off the "Multilib" wiki page
at http://wiki.yoctoproject.org/wiki/Multilib.  This is the first
draft of the changes.  I expect corrections.

(From yocto-docs rev: 8cf41c90f772018f4f144d63df911912cc298d70)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:42 +01:00
Scott Rifenbark
7621dc158a documentation/adt-manual/adt-prepare.xml: changed link
Updated a link that was an autobuilder link to be
http://www.yoctoproject.org/downloads/yocto-1.1/machines.

(From yocto-docs rev: 91a4056a285b53f8c73494e8af88d9a98d6d61e0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:42 +01:00
Scott Rifenbark
14be63e635 documentation: Updated title pages.
Updated the title pages for the ADT, BSP, Dev, and Ref manuals to
contain the Oct 6 release date for the books.  Also, changed the
author field for the BSP guide to include Tom Zanussi as well
as Richard Purdie.

(From yocto-docs rev: 301da0a5b305e4b332397bb67f6a6a77751991d2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:42 +01:00
Scott Rifenbark
11f9e74190 documentation/poky-ref-manual/ref-variables.xml: updated KERNEL_FEATURES
(From yocto-docs rev: 37a9cea71139ceda1d2a7da639f5555414ef497b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:42 +01:00
Scott Rifenbark
11815ab092 documentation/kernel-manual: Added some references to other areas of YP docs.
(From yocto-docs rev: 20754cb376e65b7262b754afad839e0c2b82d7f7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:41 +01:00
Scott Rifenbark
d546b8f793 documentation/kernel-manual: Scrub for 1.1
I went through and made sure examples are relevant, wording is correct,
large blocks of unused text was removed, and some references included
to other YP documents.

(From yocto-docs rev: 2231082530dd9cecc234f5f024c4e246afb2968d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:41 +01:00
Scott Rifenbark
c47f8ed57d documentation/poky-ref-manual/ref-variables.xml: updates to KERNEL_FEATURES.
(From yocto-docs rev: ec1e2d71c576fe1c12031371de89a71770cebb1d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:41 +01:00
Scott Rifenbark
c89ebd806c documentation/poky-ref-manual/ref-variables.xml: Added KERNEL_FEATURES
Added this variable description in the glossary.

(From yocto-docs rev: 12a9e5b4dfc399ff2037355aa1062f907a62e76d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:41 +01:00
Scott Rifenbark
c0334472e2 documentation/poky-ref-manual/faq.xml: Removed wording that focues on GNOME
Per Paul Eggleton he suggested that the wording we had about YP focusing
on the GNOME Mobile environment was misleading now.  It was in there in the
original version of the FAQ but with time has become outdated.  I simply
removed the "GNOME" part and left the part that mentions about YP
being a stable
environment and well-suited for the embedded mobile environment.

(From yocto-docs rev: cc7103eda3fd77d89cecfffa23f0f798aa512132)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:40 +01:00
Scott Rifenbark
43eeb4f870 documentation/bsp-guide/bsp.xml: Added recipes-core section
In the example I use for the BSP structure I use the Crown Bay
BSP.  I neglected to include any explanation of the recipes-core
directory.  I have added some description around this area.

(From yocto-docs rev: ba56c86e5a4aa3fbf23b12d26ffe35a3b6193a78)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:40 +01:00
Scott Rifenbark
4a0e09a531 documentation/yocto-project-qs/yocto-project-qs.xml: Supported Distros updated
I updated the section on the supported distribution section by including
a link to the wiki page that shows what distros we have tested and
their status.

(From yocto-docs rev: e66a18a13dc02af6a0846dd1ecf14aeafcbe5d61)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:40 +01:00
Scott Rifenbark
8aa79d7a13 documentation/adt-manual/adt-eclipse.xml: Added zip method for plug-in install
I added a new subsection to the section that talks about how to install
the YP eclipse plug-in.  According the Jessica, we should document
this method for installing the plug-in.

(From yocto-docs rev: dea5b1dacc16c08d61356e95bece2aec581dd16d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:40 +01:00
Scott Rifenbark
1bc65c7320 documentation/poky-ref-manual/ref-variables.xml: Variables updated
This is the second pass for re-documenting RDEPENDS, RRECOMMENDS,
MACHINE_ESSENTIALS_EXTRA_RDEPENDS, MACHINE_ESSENTIALS_EXTRA_RRECOMMENDS,
MACHINE_EXTRA_RDEPENDS, and MACHINE_EXTRA_RRECOMMENDS.  These
variables are in dire need of better explanations and examples.

(From yocto-docs rev: cc60bd4c50c7b19209dae06307aec26e962cf476)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:39 +01:00
Scott Rifenbark
0fb1d6e620 documentation/poky-ref-manual: Updates to several variables.
I did complete rewrites of RDEPENDS, RRECOMMENDS,
MACHINE_ESSENTIAL_EXTRA_RDEPENDS, MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS,
MACHINE_EXTRA_RDEPENDS, and MACHINE_EXTRA_RRECOMMENDS.  These are
sent out for review but these changes represent the first attempt
to clear up confusion on how the six variables are used and relate
to each other.

(From yocto-docs rev: 1d93707fb9383d51322e96eb521e96fcac8bcc47)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:39 +01:00
Scott Rifenbark
5e06b9a4ed documentation/poky-ref-manual/ref-variables.xml: update RDEPENDS and RRECOMMENDS
Provided better descriptions of these variables and some examples on
how to use them.

(From yocto-docs rev: 3a5cce8c9ba02f90b3554a6f800f69c2e8e77911)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:39 +01:00
Scott Rifenbark
435e0ac611 documentation/poky-ref-manual/ref-variables.xml: update PREFERRED_VERSION
Added a more robust description and provided a couple of usage
examples.

(From yocto-docs rev: b8b842b57cc003f1351a551041fe4b3de2fcbfd6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:39 +01:00
Scott Rifenbark
12b10aafa8 documentation/poky-ref-manual/ref-variables.xml: update PREFERRED_PROVIDER
I added sterner wording on usage and provided an example.

(From yocto-docs rev: 32e07fafadb602b93c9f7b8a78e5baf4c7e1ab5e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:39 +01:00
Scott Rifenbark
f0ea446127 documentation/poky-ref-manual/ref-variables.xml: update TCLIBC and POKYLIBC
Changed the description of POKYLIBC to note the variable is not supported
and provided a link to TCLIBC.  I added the entry for TCLIBC, which
was missing.

(From yocto-docs rev: d76a1ddb79577a3e121df3d590fb601b5e5fbb98)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:38 +01:00
Scott Rifenbark
225a20b39d documentation/poky-ref-manual/ref-variables.xml: updates TCMODE and POKYMODE
Noted that POKYMODE is no longer supported and provided link to TCMODE.
Added richer description to TCMODE.

(From yocto-docs rev: a7a326c2c8f4c5f29f3a9723a6895a7113a78357)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:38 +01:00
Scott Rifenbark
78ddcae27f documentation/poky-ref-manual/ref-variables.xml: edits to FILESYSTEM_PERMS_TABLES.
Some minor re-wordings to give some context on how to use these special
files and the variable to point to them.

(From yocto-docs rev: 4482b42f4a224bada7a0fa5fe4821a753ba55d80)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:38 +01:00
Scott Rifenbark
3790c5580a documentation/dev-manual/dev-manual-newbie.xml: added information for licenses
I added the directory where the list of know licenses are in the YP
files structure (meta/files/common-licenses).

(From yocto-docs rev: 6a8db1a5ac653dbc8730e61293221c0b0890888d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:38 +01:00
Scott Rifenbark
bc9951a147 documentation/poky-ref-manual/ref-variables.xml: updated RDEPENDS
Per Paul Eggleton's suggestion I updated the description of this
variable.  Some minor wording changes as well as covering two
automatic handling features.

(From yocto-docs rev: 15be3502ca20f657051e02d698b459328328fb14)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:37 +01:00
Scott Rifenbark
9d66278f9c documentation: scrubbed out 'glibc' and replaced with 'eglibc'
Several manuals and areas were still referring to 'glibc' as the
GNU version of the Unix statndrd C library.  We do not support this
any longer and now use 'eglibc' to build with.  Notable changes were
in the required packages area of the QS manual.  I also added a
bit in the reference guide saying how this release does not use
'glibc' to build with but rather 'eglibc'.

(From yocto-docs rev: c2c58914996d747c510706d78ecfd8f41c5e694d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:37 +01:00
Scott Rifenbark
87566447aa documentation/poky-ref-manual/extendpoky.xml: New section on static library
I added a new section to the "Adding a Package" section.  This section
describes how to define the *.a files for when you create a library
that has static linking.  Response to a comment from Paul Eggleton.

(From yocto-docs rev: 64499006ecd1e6b7573f1955a2f6e2f1a9564ce8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:37 +01:00
Scott Rifenbark
fe209e4fa4 documentation/poky-ref-manual/ref-variables.xml: added FILESYSTEM_PERMS_TABLES
New glossary variable entry added.

(From yocto-docs rev: f9a214fa7714b9ca4741ac0c56d40e2d8a390292)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:37 +01:00
Richard Purdie
70e154b7f6 populate_sdk_rpm: Add missing /bin/sh from rpm ignore list for the SDK
The target SDK packages don't need to fulfil a shell dependency
so add /bin/sh to the list of packages we don't need to resolve.

(From OE-Core rev: da761df049249e1ca99eb569642246e51e5bae91)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:27 +01:00
Martin Jansa
954d2c26ee libproxy: upgrade to 0.4.7
(From OE-Core rev: 4049c8c1334a8ca9a233185b87af1dde60a8fe32)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:27 +01:00
Martin Jansa
bc164dd230 json-glib: upgrade to 0.14.0
* 0.12.4 fails to build with glib-2.30.0

(From OE-Core rev: 8ee37c96fc09a8a2ab52164cf80e81388d4fd07f)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:27 +01:00
Martin Jansa
e005072744 hal-info: drop PACKAGE_ARCH all
RP: It would be better if we could find a way to patch out the compiler
checks in this package...
JaMa: drop PACKAGE_ARCH for now (nobody likes hal nowadays)

(From OE-Core rev: 870191c1c46e36f92c5d90a3eb049154b0597133)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:26 +01:00
Richard Purdie
9bf0d8898b Improve handling of 'all' architecture recipes and their interaction with sstate
* Jansa: rebased on current master, added nocompiler patch also to
  font-alias, dropped allarch from linux-firmware, gnome-icon-theme, hal-info as
  those are checking compiler (ie in intltool check) and better to build
  them as default arch instead of rebuilding after every machine
  change.
* this is also part of [BUGID# 1075]

(From OE-Core rev: 85d8362e0c443f11fe8d3fd0fba55d1bd4983613)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:26 +01:00
Eric Bénard
bcc8425b92 qt4: Update to latest version 4.7.4
- 4.7.4 was release on the 1st of september, the changelog is available
here : http://qt.gitorious.org/+qt-developers/qt/releases/blobs/v4.7.4/dist/changes-4.7.4
and mostly contains bug fix.

- this patch include the fix for QTBUG-20925 which was a regression
against 4.7.3 : https://bugreports.qt.nokia.com/browse/QTBUG-20925
852abfca6f
thanks to Paul Eggleton to point us to this bug.

(From OE-Core rev: 68189d7c372a861767b5db90376d61e165f9771b)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:26 +01:00
Otavio Salvador
2d053989a7 qt4: Fix translation support
The translation support was disable in build. The
fix-translation.patch was imported from OpenEmbedded to fix a linking
issue in phonon translation support.

(From OE-Core rev: 8d5a5d78f9e83c64ebddcecd7c4fd89cc1264163)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:26 +01:00
Denis Carikli
3af27a3686 qt4.inc: package qtdemo's docs in a separate package
The documentation was 285M and doesn't fit on the NAND of many machines,
but in another had part of the documentation is needed for the
QT demos, so we split the documentation: so qt demo only RRECOMMAND
the documentation that it really needs.

Thanks to Eric Bénard for explaining me how to split it.

(From OE-Core rev: 97446651cd5128ca7a549df677c920e2463c46f9)

Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:25 +01:00
Denis Carikli
14f65e46a4 qt4(embedded and x11): Disable neon for armv6-vfp
Without the -no-neon flag, neon is "autodetected"
by looking if the compiler is capable of compiling
a neon test, and succeed, and neon is then enabled
during the compilation.

(From OE-Core rev: 026b59180fe3fbeb43cfd143f053ef33f482ef0c)

Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:25 +01:00
Denis Carikli
4c938669e6 qt4.inc: Remove the optional documentation package from the demo's RRECOMMENDS
The documentation is 285M and doesn't fit on the NAND of many machines.

(From OE-Core rev: 64d6a6ceceb1f1a599b8140f30071f8bc8e60393)

Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:25 +01:00
Eric Bénard
8575c864d4 qt4: fix generated sdk
- qt4-tools-nativesdk : actually the qmake binary which gets installed
comes from the native recipe. This patch fix this problem by launching
configure twice : once to compile qmake using the right toolchain for
nativesdk, and a second time using the native qmake to compile all the
other tools for the nativesdk. Then we install the right qmake.

- mkspec : the link actually created in qt4-tools-nativesdk's
do_install point to nowhere so remove it and generate the link in
meta-toolchain-qte as it's the only place where we have all the variable
to create it.

- toolchain_create_sdk_env_script_append : we need to add OE_QMAKE_CFLAGS,
OE_QMAKE_CXXFLAGS and OE_QMAKE_LDFLAGS else the sdk won't find these
variables that are inserted by qmake in the Makefiles.

- with this patch, oe-core generates a working meta-toolchain-qte which
can compile a small example and is properly recognized by qtcreator (this
brings oe-core's meta-toolchain-qte to oe-dev's functional state).

(From OE-Core rev: 5f6fb92b939147d2d6aa7790a378d4b7cce3ada5)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:25 +01:00
Eric Bénard
0ee37ea71a qt4e-demo-image: Improve image contents
Use ${POKY_BASE_INSTALL} in order to have the base files and
tools in the image.

(From OE-Core rev: c2f4bae0a100f3752153ecb93adb9ede4f55322a)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:24 +01:00
Richard Purdie
fbf50a71e8 package_rpm: Ensure multilib code is only called in the multilib case
This fixes some error messages in the do_rootfs logs of non-multilib
builds.

(From OE-Core rev: 439867efcc9a7df6062fdb8dae85004b1e9ed08c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:24 +01:00
Matthew McClintock
2708ce6c82 Fix lttng-ust for powerpc64
(From OE-Core rev: a75683a815343a481b3612c35e1ab79071343187)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:24 +01:00
Matthew McClintock
9493ccf065 Update gitignore to ignore all meta-* directories
meta-XYZ directories have been manually added in the past, instead
always ignore them unless they are explicitly added

(From OE-Core rev: 3c6e85c653ce176fd2cb5a570e63c8e5da5a4e48)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:24 +01:00
Martin Jansa
55dcda0656 rgb: import from meta-oe layer
(From OE-Core rev: 805219204f81b80c6614aa23645e6960d33a25cc)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:23 +01:00
Richard Purdie
c1a74b0cac xserver/mesa: Bump PR after libdrm packaging changes
(From OE-Core rev: f61a7339bdff5d2fde9b6d477f1cdbe5b84b92e3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:23 +01:00
Martin Jansa
1c2753f917 libdrm: improve packaging
(From OE-Core rev: 9a36f54bfc32a86cb6ee540353a00141aeef2c5d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:23 +01:00
Martin Jansa
66978869af xf86-video-omapfb: bump SRCREV and add patch from meta-oe
(From OE-Core rev: 37312b2367cd1db3b6682261fa370ff95ec07eef)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:23 +01:00
Martin Jansa
7047b873e4 xorg-driver: rename .inc files and merge some changes from meta-oe
* use INC_PR
* use BPN directly instead of XORG_PN

(From OE-Core rev: 7920cc4b43f139d023b52a71c2407f5295347618)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:22 +01:00
Martin Jansa
b887e7fd3f xorg-app-common: merge some changes from meta-oe
* use BPN directly instead of XORG_PN
* fix depends
* fix packaging
* add INC_PR (used by recipes in meta-oe now, but should be used here
  too)

(From OE-Core rev: fbf6dcefb719f992c8b7900aea9c719ce143d0b1)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:22 +01:00
Martin Jansa
c079b76ec8 libxft, libxrender, renderproto: add native BBCLASSEXTEND
(From OE-Core rev: 6b3a4846cf3e5b21d392c1f5e9aa05b4da10c2e9)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:22 +01:00
Nitin A Kamble
b6b02406bb gdb: upgrade from 7.3a to 7.3.1
(From OE-Core rev: 9002f664383d71682767546524e1299137b6fe4f)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:22 +01:00
Nitin A Kamble
a0cff4eda5 byacc: upgrade from 20101229 to 20110908
(From OE-Core rev: f199a6cc0ce3118c85f4c214e1594688c3949e12)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:21 +01:00
Zhai Edwin
4c7c6ce8f6 oprofileui: Update SRCREV to reflect recent accpeted patches by upstream
(From OE-Core rev: b74c44cc8a8cf9bc2e53ff5ae89865bb8b3d5602)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:21 +01:00
Martin Jansa
98d050dcb2 atk: add patch to replace G_CONST_RETURN with const
* otherwise build fails when glib is 2.30.0 or newer (and G_DISABLE_DEPRECATED is enabled - like in atk)

(From OE-Core rev: e78446155df29daf85d1df70d5047d28a361a187)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:21 +01:00
Mei Lei
b35a8ae022 distro_tracking_fields.inc: Update upgrade information
Update dropbear,diffutils,curl upgrade tracking information.

(From OE-Core rev: 16d17099405846154bc0faf74da6b69ad4ca68d5)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:21 +01:00
Mei Lei
ff7f503620 dropbear: Upgrade from 0.52 to 0.53.1
(From OE-Core rev: f1710d09e447b0f71a55b4ef24673c6388a045ad)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:20 +01:00
Mei Lei
dcd82f7ed4 diffutils: Upgrade from 3.0 to 3.2.
(From OE-Core rev: c5b2a97a98c905579f9fa0e611484bfbdf716c86)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:20 +01:00
Mei Lei
fa2a37d49f curl: Upgrade from 7.21.7 to 7.22.0
[RP: md5sum checksum fix]
(From OE-Core rev: 3d06166ca2bad8477c06d70e2335edcacc4e4241)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:20 +01:00
Richard Purdie
fea174903b bitbake.conf: Start using parallel make for do_install
Most piece of software now support parallel make install. Enable
this by default using the value of PARALLEL_MAKE. In a similar way
to PARALLEL_MAKE we can disable this for broken recipes with:

PARALLEL_MAKEINST = ""

(From OE-Core rev: fae7d7d43b7b2a58f5964e642c022d380e3ec39f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:20 +01:00
Richard Purdie
cb97f7a40d base.bbclass: Drop unneeded dependency
patch depends on unpack
configure depends on patch

We simply don't need a configure dependency on unpack. This simplifies
the dependencies of every recipe slightly and should make bitbake
slightly faster at resovling dependency graphs.

It also makes the .dot dependency graphs slightly more readable by
removing noise.

(From OE-Core rev: c54c1280fc0d06a53e23339c3913ec88eead13d9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:19 +01:00
Richard Purdie
9c8b066c48 autotools: Disable dependency tracking
There is no point in us spending time generating a ton of dependency
information in source directories when we don't actually use it
for our one off builds. We might as well disable the option and
take the speed up.

(From OE-Core rev: 970e0ae610804638d00b0a6b85c6e2e895778e8e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:19 +01:00
Richard Purdie
2f8d643c76 Remove help2man dependency
The help2man script is pretty useless to us. It requires to run the target
binary to extract help information which is not possible for any of our
cross compiled target binaries.

We're not interested in man pages for -cross/-native tools.

It therefore makes no sense to have this as a core build dependency.

This patch removes the dependeny and replaces it with a script
returning false. This will trigger autotool's missing utility
to use the copy of the man page included with the sources which
is what would already happen when we tried to run cross compiled
binaries anyway.

(From OE-Core rev: 288343e30604b944dc18fd82172febd314d9c520)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:19 +01:00
Matthew McClintock
ec8dd98eb4 Fix flac build on e500mc cores
This core does not have altivec, so we disable it in the build,
also reestablish the config option to enable/disable building
with altivec

If SPE is not detected we always build with altivec which is wrong. This
will check to make sure altivec is enabled and pass build options
through accordingly

(From OE-Core rev: 96241de59fdf548ae0f80cc9e4668f9ba11924ef)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:19 +01:00
Matthew McClintock
dd71f67db1 fetch2/git: Make git fetch run with -f so rebased branches don't fail
git fetches can fail (or at least return failed) when trying to
fetch and prune rebased branches. This patch simply adds a -f
to the git fetch command so these failure are ignore

Generally, if some SHA was rebased away it's not coming back so
there is no point in not doing this force

(Bitbake rev: a7b75e4db52445b30ec0fc0053dcf454f5f7d2db)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:46:15 +01:00
Paul Eggleton
b0403ff4cb beagleboard-audio: fix RDEPENDS on alsa-utils-amixer
Use RDEPENDS_${PN} instead of RDEPENDS.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-30 17:33:39 +01:00
Saul Wold
9d1db6cc92 python: fix sqlite RPATH issue
(From OE-Core rev: 9f9612d15acc6ee3b71f52bdb3f1ec4cb56b1a17)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:57:30 +01:00
Matthew McClintock
0b080c166d Add proper deps for nfs-utils, util-linux, and strace
These packages need these deps for the RPM generation stage:

 error: Failed dependencies:
| 	/usr/bin/python is needed by nfs-utils-1.2.3-r2.ppce5500
| 	/usr/bin/perl is needed by util-linux-2.19.1-r4.ppce5500
| 	/usr/bin/perl is needed by strace-4.5.20-r2.ppce5500

(From OE-Core rev: 9c9ea24b115a9bb87df1323b5f185ce426262aec)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:54:39 +01:00
Matthew McClintock
bd3ac21f14 Fix sysklogd build on e500v2 cores
(From OE-Core rev: 5035097bb369dc1740b817734b92bcfa40d95d22)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:54:39 +01:00
Matthew McClintock
8418fe82f1 Add udev patch to compile against newer kernels
This patch is needed to compile against newer kernels which have
changed their API

(From OE-Core rev: 60b04097c7aeca2c4d529b2f23343a507fa68ea6)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:54:39 +01:00
Matthew McClintock
742df8f30b Fix HAL on newer kernels without header file
(From OE-Core rev: 3d421ecaef966b47bec49aa2feb3ccc9833d041f)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:54:38 +01:00
Matthew McClintock
73120fba5f Fix ghostscript on powerpc64
This adds pregenerated files for powerpc64

(From OE-Core rev: 30b91a530e7dbabc4cef24525691aa2c34ecf47b)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:54:38 +01:00
Matthew McClintock
8836afca8a Add support for generating ext2.lzma{, .u-boot} images
Machines can now add ext2.lzma and ext2.lzma.u-boot images as a
generated image type.

(From OE-Core rev: 927b2ce72c026e5e41bdd5690c48ebbc8b19e45e)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:54:38 +01:00
Matthew McClintock
8240072c70 Add support for generating ext2.bz2{, .u-boot} images
Machines can now add ext2.bz2 and ext2.bz2.u-boot images as a
generated image type. This also adds an extra parameter to
oe_mkimage which is the image compression type for mkimage

(From OE-Core rev: 4502a83ce67ac778112c25a1f4fa097c47e895b1)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:54:38 +01:00
Matthew McClintock
1e5ee838ab Add autoconf cache for screen on powerpc64
Screen can not run tests for the target and depends on the aotuconf
cache for information about the target system

(From OE-Core rev: 946cd8df49a8873ff93ef5ec1e3cc745a21e2a8f)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:46:48 +01:00
Matthew McClintock
06942738c9 Fixup kexec-tools compatible host for powerpc
kexec does infact work and build on powerpc, enable the compatible
host for these machines

(From OE-Core rev: 1ccc1ec56bc50cee121c03ae8bb8ccacd32b8560)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:46:47 +01:00
Saul Wold
f4fcccd91d sysstat: update to 10.0.2
(From OE-Core rev: db5fb5b8a8cb8cfbed8590192b7178189608b488)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:46:47 +01:00
Saul Wold
54e6a441ba glew: update to 1.7.0
(From OE-Core rev: 8ea44ac0678b2a44e22dec5a4c2eea96df638cdc)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:46:47 +01:00
Richard Purdie
b5bdb6a5dc insane: Promote most warnings into QA errors by default
We agreed a while back that we'd start ERRORing on QA issues, not just
WARNING about them. This patch changes the default QA levels to error
on everything except ldflag and useless rpath issues.

It also stops giving out QA warnings about desktop files since it
adds noise to the build and until someone plans to seriously tackle
that problem, its pointless.

We can promote the ldflag and rpath warnings too, when the issues in
OE-Core are resolved (they're mostly there now, just a few more to go).

(From OE-Core rev: f9305dac1926207c0ed580168708a18ce2581891)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-29 16:46:47 +01:00
Richard Purdie
72928abdfc util-linux: Ensure perl scripts reference the correct perl
Without this change the perl path from the build system is used.

(From OE-Core rev: 18ad3a84dacc0d6c107b56874bb23d2a3c0a429f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:51:52 +01:00
Richard Purdie
0d3a864b12 mc: Ensure perl scripts reference the correct perl
Without this change the perl path from the build system is used.

(From OE-Core rev: feff6030091d519a0738e2a5db47654dcd13ef13)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:51:51 +01:00
Richard Purdie
f30344dd3c openssl: Ensure perl scripts reference the correct perl
Without this change the perl path from the build system is used.

(From OE-Core rev: 1ed8fb66c51ce584c13e592176a69a61bae01f2e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:51:51 +01:00
Khem Raj
11d435684b gcc-4.6: Update to tip of FSF gcc-4_6-branch
(From OE-Core rev: ed7deecb9503420fbf8071445e077c32beda8dc4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:44:51 +01:00
Dongxiao Xu
f40b763c69 multilib: add MLPREFIX to deploy folder
Add MLPREFIX to multilib deploy forlder to avoid the confliction between
multilib and normal package deploy directory.

(From OE-Core rev: 18b8d1f7769b63725c3b6883298a841806cd06ab)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:45 +01:00
Dongxiao Xu
0f7bf53faa tune-i586: fix hardcoded TUNE_PKGARCH
Use TUNE_FEATURES to determine the setting to TUNE_PKGARCH, which fixes
the wrong setting of PACKAGE_ARCH in multilib case.

(From OE-Core rev: 0762e1ff5e29487f5b25a069e31257275415a3e6)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:45 +01:00
Andrew Gabbasov
ccf807a013 apmd: use ${HOST_SYS}-libtool
libtool-cross uses ${HOST_SYS}- prefix while building and installing.
In some cases that may be different from ${TARGET_PREFIX}, that is currently
used in apmd recipe. It's better to have them consistent.

(From OE-Core rev: 5f1fac618fa099f6fc78cbc98f18d1c0ab792abf)

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:44 +01:00
Andrew Gabbasov
7425beb89a apr: use ${HOST_SYS}-libtool
libtool-cross uses ${HOST_SYS}- prefix while building and installing.
In some cases that may be different from ${TARGET_PREFIX}, that is currently
used in apr recipe. It's better to have them consistent.

(From OE-Core rev: 61cedb87446a27ddaaa880a5f3296399def441df)

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:44 +01:00
Andrew Gabbasov
2c4f2588e9 libpam: add flex-native to DEPENDS
flex-native is required for building libpam. Although this dependency
is now fulfilled indirectly through bison recipe, having an explicit one
would be preferable.

(From OE-Core rev: 14018608277fe62e2a662711ff6177c93e9bc153)

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:44 +01:00
Andrew Gabbasov
2d59e4d36e cmake.bbclass: adding extendable extra variable to root path
Introducing a hook variable for various .conf files to add
extra path elements to cmake. For example, it can be used
in external toolchain conf file to add ${TOOLCHAIN_PATH}
to cmake root path search.

(From OE-Core rev: 23be60dad6a705f151520e3eda2da5e02230f5fd)

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:44 +01:00
Paul Eggleton
504ebf0d70 scripts/oe-setup-rpmrepo: use setup_tmpdir from runqemu
Update the internal copy of setup_tmpdir in the oe-setup-rpmrepo script
to be the same as the one in the runqemu script.

(From OE-Core rev: 4a23c4dd5ab31d9642e5e49569d5c7ab77e97adf)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:44 +01:00
Paul Eggleton
7d1e1018f4 scripts: use OE_TMPDIR instead of TMPDIR external variable
On OpenSUSE within an X session, TMPDIR is set to the system temporary
directory (/tmp) which is incorrect for these scripts. Thus, change
runqemu and oe-setup-rpmrepo to use OE_TMPDIR from the external
environment rather than TMPDIR.

Fixes [YOCTO #1530]

(From OE-Core rev: 4e24c10952c7a52af7f2447595fd484692d35534)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:43 +01:00
Henning Heinold
47b1ea7b6f tune-cortexa9.inc: add tunefile for cortexa9 socs
(From OE-Core rev: 05a46d74ca1a1d9256d454d6ba022a76f287e21c)

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:43 +01:00
Richard Purdie
a3bc5614d6 bitbake.conf: Fix reversed linker hash style logic
The logic in the linker hash patch was reversed, only setting the
linker style in the non-gnu cases.

(From OE-Core rev: 5839702da70cec32f01e58280629f6bcf74d0034)

Signed-off-by: Richard Purdie <richard.purdie@linux-foundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:33:58 +01:00
Jessica Zhang
997d9f44eb Fixed a typo for setting up OECORE_ACLOCAL_OPTS for adt-installer case
(From OE-Core rev: 8ecfa53a3f2e604dd1a0b91c9dd39a488861ab51)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:27:35 +01:00
Dmitry Eremin-Solenikov
f977512857 kernel.bbclass: remove unshipped files in do_install
Drop two unsed files (modules.order and modules.builtin) in do_install
to stop the "unshipped files" warning.

(From OE-Core rev: 73a1101044465d74bb5bb1a449f757d5c50ff67e)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 17:35:46 +01:00
Dmitry Eremin-Solenikov
9bef7e5d60 kernel.bbclass: handle .cis firmware
.cis firmware files are used by kernel to patch incorrect CIS fir PCMCIA
cards. Create respective packages.

(From OE-Core rev: 843093658c528d7e5297dd5fb7c90e1a64540ba5)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 17:35:46 +01:00
Dmitry Eremin-Solenikov
b9c9225635 kernel.bbclass: blacklist 'perf-dbg' as well for the modules metapackage
(From OE-Core rev: 98c38d942376c0cf0b90f6fa077c22544039bf02)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 17:35:46 +01:00
Zhai Edwin
45f64a9bfd tables: remove it as obsolete recipe
tables depends on obsolete gnome-vfs, and is not maintained in clutter git repo

(From OE-Core rev: e0908b7b080c0d861a1b3ccb2185b9281b10fa1a)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:54 +01:00
Zhai Edwin
0155f45676 libgsf: remove dependence on gnome-vfs
(From OE-Core rev: ae5f454d5975466d75fac29efc5a44773d56f660)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:54 +01:00
Zhai Edwin
10275458a6 oprofileui: remove dependence on gnome-vfs
(From OE-Core rev: 3175191a5d489234f3d1019595b5813dcf5b30a2)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:54 +01:00
Dongxiao Xu
0b4ef8aaf8 libc-package.bbclass: add MLPREFIX when set values to PACKAGES
There are some places that PACKAGES are dynamically set. To support
multilib, we need to add MLPREFIX before the package name in those
settings.

(From OE-Core rev: 693a4c31c9c071e5af21570107698ec79f709246)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:54 +01:00
Dongxiao Xu
fae0e6c29d package_rpm: combine normal and multilib solution manifest together
When RPM does the real install, if the first manifest file is empty, the
installation will stop without handling the second manifest file.

Merge the two manifest files together to fix this issue.

(From OE-Core rev: e0ffab2321b22b40333a0e857d42c16ae599cc0c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:53 +01:00
Dongxiao Xu
6f6863a258 multilib: remove the multilib handling to allarch
currently we have allarch type of recipes, which may still have
architecture dependency, like x11-common. So we need to drop the
handling to allarch in multilib case.

Also remove the PV postfix in python-pygobject DEPENDS, since multilib
code will treat a native package multilib capable.

[YOCTO #1497]
[YOCTO #1498]

(From OE-Core rev: 64c0279e6b0d2325a326058476228360898550f3)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:53 +01:00
Dongxiao Xu
9184d807f7 multilib.bbclass: map RDEPENDS and LINGUAS_INSTALL for image recipes
RDEPENDS of image type recipe needs to be mapped to make sure that the
packages included in the image should be multilib version.

Also add LINGUAS_INSTALL into MULTILIB_PACKAGE_INSTALL list.

[YOCTO #1496]
[YOCTO #1527]

(From OE-Core rev: 93984bb1c9440294a694986831d7a4114c55a282)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:53 +01:00
Saul Wold
ae29e8d325 distro_tracking: Update Manual Upgrade Checks
(From OE-Core rev: c91fb898039ac5ee0101fd652704d32ea9a5e75d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:53 +01:00
Joshua Lock
ea8a9978ec ghostscript: disable check for time.h
ghostscript has it's own hacky check for time.h which hard-codes paths, this
means in the native case it fails on systems such as Ubuntu 11.10 where the
location of time.h has changed. Further it means the target build has had a
host-intrusion issue.

This patch disables the check for time.h, future releases of ghostscript
use standard autotools checks for time.h's location.

(From OE-Core rev: 737daaf83b3c2b4382dc518fda8c2d38085bb1bb)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:52 +01:00
Saul Wold
2a8a052c77 rpm: fix QA Warning on installed but not shipped staticdev filesw
(From OE-Core rev: 62ce8f96626e061e03ca49896716bbb133721ee0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:52 +01:00
Saul Wold
887993a7b2 zypper & sat-solver: needs RDEPENDS on rpm-lib
(From OE-Core rev: 8fd05f0515c2bc8dc87cad9008f808639561f4a5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:52 +01:00
Saul Wold
a5cf5ebd4a rpm: ensure that magic file is relocatable
rpm-native was reading from /usr/share/misc/magic which is wrong
it needs to be set to read from the sysroot.  This also adds wrappers
to the rpm-build tools to ensure they know were to find the macros that
point to the right directories.

Fixes [YOCTO #1532]

(From OE-Core rev: e94d1e7ac1b7952690c37554e618f84b84e561a0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:52 +01:00
Khem Raj
3ae6040295 eglibc: Add recipes for 2.14
Backport Fedora patch to enable sunrpc as it was in 2.13
Fix cross-localedef-native to be able to build from eglibc 2.14 branch

Tested builds/boot of angstrom/console-image on qemu for arm,mips,ppc,i386,x86_64

(From OE-Core rev: bee3699510a31158f9e2095fe8b6e4cb75ed3651)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:51 +01:00
Khem Raj
46ad3b0e2c gcc-4.6: Use --with-linker-hash-style configure option
Depending upon what hash style is in use this uses
the right flag for setting the hash style type. This
fixes the QA errors about missing GNU hash style reported
in gcc-runtime build particularly libgcc

(From OE-Core rev: f8edd9b872bcf14da037bd0b501ccc8c6fcc79bf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:51 +01:00
Khem Raj
81d9b54d7e conf,recipes: Add new variable LINKER_HASH_STYLE
LINKER_HASH_STYLE in OE is set to either 'sysv' or 'gnu'
depending upon processor architecture e.g. mips does not support
gnu hash style so is uses sysv

besides 'sysv' and 'gnu' third option is to set it to 'both' we do
not do that by default but user can still set it

(From OE-Core rev: 17322dba8434e592d3922496f89f8d1d5598247e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:51 +01:00
Simon Busch
19a7e6c63b qt4-embedded: move qte.sh profile script into own package
We don't want to pull the whole qt suite in our images when only installing a tiny setup
which needs the profile script for several configuration issues. This moves the qte.sh
profile script into a qt4-embedded-conf package which is automatically installed when an
image depends on qt4-embedded.

(From OE-Core rev: bed68b561056e0f454c0bf527997f82b63122773)

Signed-off-by: Simon Busch <morphis@gravedo.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:51 +01:00
Simon Busch
a459ac7160 meta: qt4: fix postprocessing of pkg-config files
When building qt4-embedded the generated and cleaned pkg-config files for qt are wrong.
The Cflags variable contains something like ${includedir}/qtopia/QtCore where
${includedir} is already /usr/include/qtopia/QtCore.

This patch reverts the fix up of the Cflags variable implemented in do_install.

(From OE-Core rev: b40b9c024be5e1ec81a31961158b3e6b529acfe0)

Signed-off-by: Simon Busch <morphis@gravedo.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:50 +01:00
Richard Purdie
6527c17d56 pseudo: Fix QA warnings
This fixes two QA warnings:

a) Debug files being contained in the main package (by adding
   an appropriate FILES expression)
b) Stop hardcoding the RPATH in the nativesdk case since our
   path is on the loaders default search path

(From OE-Core rev: 1577975202437f8f89ef24a5e4d3f6c6c8a88c5c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:50 +01:00
Richard Purdie
323e2919eb sqlite3: Fix nativesdk packaging/QA warnings
When building sqlite3-nativesdk, there was a warning about debug files in the
main package. This was due to the order of items in PACKAGES with -dbg after
the main package which breaks an assumption native.bbclass makes. Changing
the order fixes the packaging problem with no change to the normal target
packaging.

(From OE-Core rev: 4f5fdc4dc14d287d301069024ddec9cb65d68f7f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:50 +01:00
Richard Purdie
193f5ea973 grub: Fix insane/QA architecture warning
There is QA warning about this package for an architecture mismatch but
this is inappropriate in this case since the bootloader needs 32 and 64
bit code. We therefore flag the QA check to be skipped.

(From OE-Core rev: 43723e19eb5a6119c7546dc812428e792999a928)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:50 +01:00
Richard Purdie
2829e21efc gcc: Fix two QA issues
a) There is a QA warning from a .so being present in a main package.
   In the case of the plugin library for gcc, this is allowed.
b) Remove the unwanted libiberty.a file with the strange path. We
   don't need/want this and this removes an unpackaged file warning.

(From OE-Core rev: ca36a3edf9cede9fa0d73ba1a9538ab467cb5e3c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:49 +01:00
Bruce Ashfield
4833772c5f linux-yocto/meta: eg20t and live boot config changes
Merging the following configuration changes:

 67a46a6 meta/common-pc-64: enable live booting for common-pc-64
 1010905 meta/common-pc: enable live booting for common-pc
 b3c5fa7 meta/atom-pc: enable live booting for atom-pc
 41c090e meta: update boot live config and move it to cfg/
 d51b0e7 eg20t: update config options

The first 4 make the live-boot configuration shared and then reuse
them for the boards that currently are live bootable. The eg20t
is a cleanup of obselete kernel options and is part of the cleanup
of options for the 3.0 kernel.

[YOCTO: #940]
[YOCTO: #686]

(From OE-Core rev: da496bb570d05d0906a7310697bdd636c254540c)

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>
2011-09-28 14:58:49 +01:00
Koen Kooi
324cb49e19 avahi: fix avahi-systemd dependencies
During the avahi-ui split the RDEPENDS line got dropped leading to: http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/testlab/commit/?h=yocto&id=ae0db0eb51bde42f09b9513842c3b745c37c60d5

(From OE-Core rev: b447c07168405b748d4db0641468590c10a7ad52)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:49 +01:00
Tom Zanussi
7f05f9b1c6 blktrace: update to version 1.0.3
This also removes dso_linking_change_build_fix.patch since the same
change has been made upstream.

Also removes unused SRC_URI checksums.

(From OE-Core rev: 776942858cad072facc9b5fea618ee88ff56a3a8)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:49 +01:00
Tom Zanussi
f44f9f6e16 sysprof: update to version 1.1.8
Also removes unused SCR_URI checksums.

(From OE-Core rev: 78d4a8d095faa3915e0a53ee2fb4afe6429928c2)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:49 +01:00
Dmitry Eremin-Solenikov
f8dbe510fc libffi: really populate -dev package
As per gcc PR 11147, libffi installs headers into a target dependent
place (/usr/lib/....). Include a rule to include those files into
libffi-dev package.

Reference: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11147

(From OE-Core rev: 684a4b517d13884c315688967fadd5e6a4845b71)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:48 +01:00
Dmitry Eremin-Solenikov
413e1a8177 gconf-dbus: packaging fixup
Behave more like plain gconf: include a dtd and .la files into -dev
package.

(From OE-Core rev: 9e962c1b4c8e5a3352f5e2b7dc162aeac1335b3a)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:48 +01:00
lumag
fd3a960ec1 gcc: include libgcov.a into libgcc-dev package
First, this lib is usefull for coverage analysis-enabled building.
Second, this fixes the warning about unpackaged files in libgcc recipe.

(From OE-Core rev: 2a807a98d8be3f486e703321773db32657c71d9e)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:48 +01:00
Dmitry Eremin-Solenikov
9948a81b39 gcc: fix possible problems with nscd compilation during eglibc-nativesdk build
Long time ago a066e7ca90a28d5681c5fa895a29e999ed7c88b was committed to
address possible problems with compilation of nscd during
eglibc-nativesdk build. Problems were related to the way gcc searches
for headers to check if it should enable it's own stack smash protection
bits or it can relay on eglibc for it.

However after 934d38530c9a67562e53d4034aee5531f0f26750 things got
broken, as for gcc-crosssdk-intermediate packages:
1) EXTRA_OECONF is ignored
2) headers are installed in a different location than expected by that
patch.

This results in eglibc-nativesdk build broken on some systems (e.g. mine
Debian x86_64 squeeze). Fix that by providing with-headers options to
crosssdk-intermediate gcc configuration.

(From OE-Core rev: 63494d638b7a9b88a5b7d7a02d2afcb3aa0fa064)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:48 +01:00
Dmitry Eremin-Solenikov
62ea046099 icecc-create-env-native: provide the script right in the tree
There is no point in downloading a tarball with no clear upstream (other than
icecc itself) and then patching it. Rather put new script in the source tree.

(From OE-Core rev: 409fa8ca4d37ad407faaa2a8935e9d2bb89776c9)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:47 +01:00
Dmitry Eremin-Solenikov
82785064ac bitbake.conf: change ccache path to use MULTIMACH_HOST_SYS
Currently if I build packages for several targets (e.g. for armv5te tosa
and for armv7a beagleboard) oe will use single ccache dir for both of
those targets: build/ccache/arm-oe-linux-gnueabi. However those targets
use different opcodes, different features and binaries created for one
of those targets wont't run on the lower one. So use MULTIMACH_HOST_SYS
for ccache dir, so that it uses something like
build/ccache/armv5te-oe-linux-gnueabi dir.

(From OE-Core rev: 982373006a98cf2303514badd1cfb692108408c0)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:47 +01:00
Khem Raj
1451b9f46c gnome-doc-utils: Prepend PKG_CONFIG_SYSROOT_DIR to the path returned from PKG_CONFIG
If we build say gnome based image on a build system which does not have
gnome e.g. kubuntu then packages like gedit do not build since it uses
gnome files from host system which are non existent on kubuntu

(From OE-Core rev: 7b18b3c96634e40abf690a7ec72562389b0e6c23)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:47 +01:00
Richard Purdie
e3c5d7a90a libtool: Fix an issue where unnecessary rpaths were being injected
libtool was being to aggressive in adding rpath to binaries. This
change stops it adding them if that path the default search path.

(From OE-Core rev: 99d1e3ee56c326b3ab68913e68d133a63f334696)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 17:56:44 +01:00
Richard Purdie
1750e9018f sstate: No need to spew out a debug message per file, summarise instead
(From OE-Core rev: c7b02c6e80819e30a0818282ab8d960243a2d0e8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 17:56:43 +01:00
Richard Purdie
cb1911385a base.bbclass: Drop legacy code that is no longer useful/used
The code displaying console events has been handled by the bitbake
UI since 1.8 so the legacy code path can be removed. If a log event
is wanted, there are much better (and more complete) ways to do this
so remove the EVENTLOG code too.

(From OE-Core rev: aa60484384385a8b0f07e8062d58056a3670e399)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 17:56:43 +01:00
Richard Purdie
9fe66fd8e2 autotools.bbclass: Set the dynamic linker search path for libtool correctly
libtool obtains the search path from /etc/ld.so.conf and hardcodes /usr/lib
and /lib. This results in host contamination and variable sets of RPATH
values ending up in binaries.

By exporting the correct values for all autotools recipes we avoid this.

(From OE-Core rev: 93e595d5c89ebacdb8d1e6fcfe6f58fe2d30de28)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 17:56:43 +01:00
Zhai Edwin
d39c6738df matchbox: Upgrade SRCREV to reflect recent accpeted patches by upstream
(From OE-Core rev: 33a1a05ef988c69f8ff8e38c6723922082e5d1aa)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 17:56:42 +01:00
Khem Raj
114ade8b14 tcp-wrappers: Bump PR to make meta-oe merge
meta-oe has a version of tcp-wrappers 7.6 recipe
which has virtually no differences with the one from
oe-core. So with this patch we can remove the recipe
from meta-oe

(From OE-Core rev: 7c503d056d15e376243928ffb815296e9c711658)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 17:56:42 +01:00
Scott Rifenbark
49ed1cab3b documentation/poky-ref-manual/ref-classes.xml: documented useradd.bbclass
New section per Paul Eggleton's request.

(From yocto-docs rev: ffedb53e5c706cffb83978f1704a606d29233e36)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 18:00:00 +01:00
Scott Rifenbark
46bd7cbdc5 documentation/poky-ref-manual/ref-variables.xml: added BAD_RECOMMENDATIONS
New variable for images that use the ipkg packaging system.  These
are packages you don't want to install even when the recipe calls
for it.

(From yocto-docs rev: 78d53b5da4bbd6889a34be8a1c795a5658cb6b1e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 18:00:00 +01:00
Scott Rifenbark
315cb8ebcf documentation/poky-ref-manual/ref-classes.xml: fixed insane.bbclass added others
I fixed the insane.bbclass description to say that it checks for common
problemos that occur during runtime and not build time.  Also got rid of the
"ever-increasing" statement as that is not true according to Paul Eggleton.

Added many new .bbclass files to the commented out section of the
undocumented classes as well as removed a bunch.

(From yocto-docs rev: c341951185d5af6576718f8ada057afcca923e6e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 18:00:00 +01:00
Scott Rifenbark
5a23ec28c2 documenation/poky-ref-manual/ref-variables.xml: debug-tweaks qualified
I noted that the developer should remove this option from
EXTRA_IMAGE_FEATURES before they create a production image.

(From yocto-docs rev: 8de6c789d1a1ed5e721c16f53bb27de18ae88238)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
cd71ed5b58 documentation/adt-manual/adt-command.xml: Note about running configure
YOCTO #1504: Added a note indicating what to do if the configure
script complains about --with-libtool-sysroot option.

(From yocto-docs rev: 575f4057ddfc2774a62bf349fd05d62b79dd278b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
24eaac7098 documentation/dev-manual/dev-manual-model.xml: edit pass
These changes are the second edit pass for the new section.
There are some minor changes.

(From yocto-docs rev: 6c81617a2782d2f02d4900a68dd4e8c6eeb70fa1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
44963bdddd documentation/dev-manual/figures/app-dev-flow.png: Updated app flow image
(From yocto-docs rev: 5c0c04ccc2d1fdac89dc1394805e4b8c4cc2c082)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
cbcdc22d90 documentation/dev-manual: Added TM to first Eclipse in chapters.
(From yocto-docs rev: 0f8b655da637ebf7708bdfff1473707c9ea3b8ef)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
c54fffeeb5 documentation/dev-manual/dev-manual-model.xml: Edits and start of app section.
General edits up through the BSP and Kernel overview sections.  I also put
in place holder text and began on the application development over
section.

(From yocto-docs rev: 9c1b681ff253b469bffc355f0a938643997d85d4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
dfad4dbff9 documentation/dev-manual/dev-manual-kernel-appendix.xml: added line break
There is an example whose output exceeds the PDF manual version's
page width.  I had to artificially break the line up.

(From yocto-docs rev: d8a5714a2f8193c1efc8a7080b8f6e0744da610a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
42c80283e2 documentation/dev-manual: model changes and updated figure
Edits to the dev-manual-model.xml chapter for general improvements.
Also had to update the figure that shows the kernel development flow.

(From yocto-docs rev: 2aacccb03d167eac74a1b45c39a9edac160efc7f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
15793a8210 documentation/dev-manual/dev-manual-newbie.xml: note for maintainer
Added a note indicating where you can find the maintainer for yocto
code.  Suggestion by Robert Berger.

(From yocto-docs rev: 8e55cc4c460582964b0267b4f43c14e7100f17fe)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
5031ba1f3d documentation/dev-manual/dev-manual-kernel-appendix.xml: Robert Berger feedback.
somehow I lost three or four changes that are credited to Robert
Berger (Community Member).  I have re-introduced them here.

(From yocto-docs rev: a23564ada0e072bea63739aeb1eb5c66d595e728)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
7021e04af8 documentation/dev-manual/dev-manual-newbie.xml: addes link to commit page
I provided a link to the OpenEmbedded wiki page created by Mark Hatle
that provides good guidelines on how to create well-formed commit
messages.

(From yocto-docs rev: ea7b0100a7b45c369cb67daa0705dcc5acef40c8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:59 +01:00
Scott Rifenbark
2a745da247 documentation/dev-manual/dev-manual-newbie.xml: edits and enhancements.
General pass-through for consistency in referencing sections.
Also, added Darren Hart's review comments for the "Submitting a
Change" section.  I added more about the mailing lists and how to
submit a proper commit message.

(From yocto-docs rev: d9c8f5db8c862b1be724915cc43da6d12b88b97d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:58 +01:00
Scott Rifenbark
13f312a6dc documentation/poky-ref-manual/resources.xml: Updates to mailing lists.
I updated the mailing lists to be more specific and to be formatted
differently.

(From yocto-docs rev: 50b5cf2d331b120cfa9de0ba77ea1da1240d42e4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:58 +01:00
Scott Rifenbark
fea08c71f0 documentation/dev-manual/dev-manual-start.xml: formats and re-wordings.
Applied consistent section referencing formats.  Also cleaned up some
terminolgy for the YP Git repo.

(From yocto-docs rev: fa3cbb835b61158357d3f6fb9ebe017b9ba405cf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:58 +01:00
Scott Rifenbark
90ed20051c documentation/dev-manual/dev-manual-intro.xml: minor edits.
Some indentations applied.  Also, a few minor changes to some
wordings.

(From yocto-docs rev: a166f41a5bbf3590d8a2fabbee267bdd190f19dd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:58 +01:00
Scott Rifenbark
f00ad2924f documentation/dev-manual/dev-manual-intro.xml: re-wrote the intro paragraphs.
(From yocto-docs rev: 5091b7c62c61b4c9ea14fb7a77cc4600437a9dbb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:58 +01:00
Scott Rifenbark
2889d7d964 documentation/yocto-project-qs/yocto-project-qs.xml: Fixed text for filesystem
I needed to reference the image differently for the pre-built section.

(From yocto-docs rev: 10568a0a8c4160af995089e481ccc2772e81d805)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:58 +01:00
Scott Rifenbark
4a0f7440a0 documentation/yocto-project-qs/yocto-project-qs.xml: General edits
This was a final scrub of the manual.  I updated all examples and links
to be current for what I think will be the 1.1 release.  I also added
some cross-referencing into the YP dev manual that now exist.

(From yocto-docs rev: 4c10b0e04856817a1d03aee7a9ed6e4d5d73a3ac)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:58 +01:00
Scott Rifenbark
a3e0cb64ba documentation/adt-manual/adt-eclipse.xml: various minor clean ups.
(From yocto-docs rev: 6caabfaed1ec440511727e163b9c3bb7afe966ae)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:58 +01:00
Scott Rifenbark
8eb63b6f13 documentation/adt-manual/adt-prepare.xml: fixed broken cross-link.
(From yocto-docs rev: 90f6bd0aff8346df24d691e0c9424a0a99af2095)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:58 +01:00
Scott Rifenbark
468f2ff3cb documentation/adt-manual/adt-prepare.xml: applied Jessica Zhang revisions
These changes reflect corrections resulting from Jessica Zhang's review
of the sections.

(From yocto-docs rev: c3fed39bc3909c38424e7e72c40471dcb0053c8d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:58 +01:00
Scott Rifenbark
9960c92083 documentation/adt-manual/adt-prepare.xml: Title correction
(From yocto-docs rev: 536665ac8b28426f2869ceffca3ea2f6f4d1eef4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:57 +01:00
Scott Rifenbark
ba958cb708 documentation/adt-manual/adt-prepare.xml: toolchain enhancements
After working through this stuff I was still confused as to how to
guide the user toward proper toolchain installation and on what they
needed to do for collecting their kernel and filesystem images.
These changes included some information on when and how to extract
the rootfs when the user is booting to NFS.  Plus some other
general items like the significance of meta-toolchain-sdk as
compared to meta-toolchain.

(From yocto-docs rev: 2cc88b5193888a074ffd87cb253b9cfe08146877)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:57 +01:00
Scott Rifenbark
997bcb723b documentation/adt-manual/adt-prepare.xml: removed terms
I had definitions for "The Yocto Project Files" and "The Yocto
Project Build Tree" in this chapter.  They were misplaced.  I have
deleted them and moved them to the development manual.

(From yocto-docs rev: 9238e75abc4578043fd625b3796b86d42204e16f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:57 +01:00
Scott Rifenbark
d7dc960e14 documentation/dev-manual/dev-manual-newbie.xml: new terms
I moved the terms "Yocto Project Files" and "Yocto Project Build
Tree" into this development manual.  They were previous defined
in the ADT manual.  It makes more sense to have them where with other
terms.

(From yocto-docs rev: 2133110fd280db8cfbe998e6b46cdee0b260e777)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:57 +01:00
Scott Rifenbark
4b20f0fc96 documentation/adt-manual/adt-eclipse.xml: Fixed the section formatting.
I made changes to the section titles so they have quotes around them
for easier reading in the PDF manual.

(From yocto-docs rev: 5bea470682c3d834f30ab0d2fcba148ea33d653f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:57 +01:00
Scott Rifenbark
f7cb020ba4 documentation/adt-manual/adt-eclipse.xml: writer note and re-wording
I added a development writer note and I noted that running a project
as an eclipse application pops a new instance of Eclipse.

(From yocto-docs rev: 6408ff7f4d59a0e535e560c7c0c63a3f373c640b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:57 +01:00
Scott Rifenbark
ace70b31e9 documentation/adt-manual/adt-prepare.xml: writer notes and section format
I added a couple of writer notes for development purposes.  I also
formated the section title references so they have quotes around them
for easier reading in the PDF verison.

(From yocto-docs rev: 37adb580cf6c1369da43fc4ef7aaa4cc1cee0e5c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:57 +01:00
Scott Rifenbark
6d05d1799a documentation/adt-manual/adt-eclipse.xml: minor edits
fixed some section naming conventions and minor wordings.

(From yocto-docs rev: 768d386c135c57ed3573e08bac72cad47fa101ce)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:57 +01:00
Scott Rifenbark
8995698ddb documentation/poky-ref-manual/resources.xml: re-wrote Contributions
The information in the "Contributions" section has been migrated to
a "Submitting a Change" section in the YP Development Manual.
I re-wrote this section here to simply make a general statement
about how you can submit a change and then provided a reference
link to the appropriate section in the dev manual.

(From yocto-docs rev: 038caebb2815a8f09d35e99d5a2a0be76b05cacf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:57 +01:00
Scott Rifenbark
524f57771b documentation/dev-manual/dev-manual-newbie.xml: re-write change submit
The section on submitting a change was very sparse and incomplete.
I have significantly upgraded this section to provide more details.

(From yocto-docs rev: af43bb1e4902c45afb5ac4b0f099877acd7a81a2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:59:57 +01:00
Richard Purdie
080c6ecfcc neon: Add libproxy to DEPENDS to ensure determinstic builds
(From OE-Core rev: ed2a606909b9490ac57a3ad3db7a15e83a8664f9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:53:31 +01:00
Richard Purdie
e2f1a82782 libsndfile1: Disable external codec librbaries since we don't list in DEPENDS
(From OE-Core rev: 34a14ce3ea78be299175e1a803f92519aa02355b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:53:31 +01:00
Richard Purdie
eb509c6c3d cairo: Disable bfd symbol loopup since we don't list it in DEPENDS
(From OE-Core rev: ac8b7e275a8789b6605ef84a3b128aea2518b596)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:53:31 +01:00
Richard Purdie
b390a5a470 gtk+: Explicitly disable xinerama since we don't have it as a DEPENDS
(From OE-Core rev: dbc25ca76d482f30186562fc51f5b3bdf48c0a7b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:53:31 +01:00
Richard Purdie
46bbdc18d8 gnome-desktop: Ensure we're deterministic about startup-notification dependency
Without this change we may or may not include startup-notification support.

We therefore explictly include it in the dependency list.

(From OE-Core rev: 8ad24306d8bc9c2fd73f4b814eb1a64c04707da5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:53:30 +01:00
Paul Eggleton
dea2fd181a bitbake/lib/bb/msg.py: fix setting debug and verbosity levels
The debug and verbosity levels (as set by the -D and -v command line
options respectively)  were not being passed through within msg.py since
bitbake revision 45aad2f9647df14bcfa5e755b57e1ddab377939a due to
incorrect variable names.

Fixes [YOCTO #1513].

(Bitbake rev: c6e88b7c0e61f9586a275df53f48b90687c5f92f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 16:25:27 +01:00
Joshua Lock
e271de0fab hob: store recipe path at load time
This fixes the internal dirtiness tracking such that if the Save menu item
is selected after loading a recipe the existing file is updated rather than
the user being prompted for the path to create a recipe at.

(Bitbake rev: 00fc1d7249b5e217cc7c36ac71b63ddad1c5b769)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 16:25:06 +01:00
Joshua Lock
7b578b9b73 hob: fix building with current selections after reparse
After the reparse we were setting the model to reflect the values before
the reparse was triggered but clearing the internal variables used to test
whether these values are set, leading to the UI erroneously reporting that
selections had not been made.

(Bitbake rev: 656eafe0f2c9ec7730d33e15705b8c720f787c49)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 16:25:06 +01:00
Joshua Lock
98a762009d ui/crumbs/hobeventhandler: fix variable name typo
(Bitbake rev: f7d0560307707fe10bf80820f1e6ae300864f915)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 16:25:05 +01:00
Joshua Lock
f159dfb628 ui/crumbs/hobeventhandler: move remaining getVariable calls to init
Instead of calling getVariable commands each time the BBPATH and BBFILES
entries need testing cache the results as a member variable at object
instantiation.

Fixes [YOCTO #1521]

(Bitbake rev: 109e1597671dfb7222672e268190aabc727960ca)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 16:25:05 +01:00
Saul Wold
118da1708c attr/acl: add SSTATEPOSTINSTFUNC
Added a native sstate post install function to fix the links
created between /lib and /usr/lib for the library files. These
links could point to an invalid build area when using shared state.

(From OE-Core rev: 8ab7b681cdb43c6c21c187b8cd01faa39727824a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 15:27:38 +01:00
Richard Purdie
e377f2bc5f populate_sdk_rpm: add pkgconfig(pkg-config) to the list
(From OE-Core rev: 368b150416688654e35229a63b87177b52e83d02)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-23 20:01:02 +01:00
Saul Wold
ac97d42baa populate_sdk_rpm: add items to the INSTALL_PROVIDESNAME_RPM list
This fixes a problem when building meta-toolchain-gmae, by adding items that
will be provided by the host system, such as /bin/bash, /usr/bin/env and
libGL.so

(From OE-Core rev: 01361f9d25b0a0027bbbe713b93051a4663b14fc)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
RP: libGL.so() -> libGL.so
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-23 01:07:01 +01:00
Darren Hart
dbe371d5bd intltool: add libxml-parser-perl-native dependency to -native version
Fixes [YOCTO #1514]

Without a native dependency on libxml-parser-perl-native,
shared-mime-info-native can fail its do_configure task.

checking for XML::Parser... configure: error: XML::Parser perl module is
required for intltool

Testing: Successfully built shared-mime-info and shared-mime-info-native for
qemuppc.

(From OE-Core rev: 51b1df89828e677232e125181209b26d3c5ec928)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Joshua Lock <josh@linux.intel.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
CC: Koen Kooi <koen@dominion.thruhere.net>
CC: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:23:38 +01:00
Richard Purdie
ea0b7440ec multilib.bbclass: Partially fix multlib image targets
This patch partially fixes problems when building multilib extended
images such as libXX-core-image-minimal. Its not a perfect/complete
solution but works much better than any previous code did.

[YOCTO #1496] (partial)
[YOCTO #1497] (partial)
[YOCTO #1498] (partial)

(From OE-Core rev: 00c38774ef0232cc2be924ed8e59220e7c452096)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:23:37 +01:00
Dexuan Cui
ca64b2eb1f qemu-config: use pkg_postinst to generate the proper shutdown.desktop
[YOCTO #1507]

We need to remove the file qemuarm/shutdown.desktop, or else, on qemuarm,
due to the PACKAGE_ARCH overriding from all to qemuarm in base.bbclass,
the generated deb file will be stored at
tmp/deploy/deb/qemuarm/qemu-config_1.0-r21_allarch.deb rather than
tmp/deploy/deb/all/qemu-config_1.0-r21_all.deb, and the package qemu-config
won't be installable -- task-base finally rdepends on qemu-config, so we get
the do_rootfs failure:

The following packages have unmet dependencies:
|   task-base-extended: Depends: task-base but it is not going to be installed
| E: Broken packages

There is also a generic shutdown.desktop, we can keep it and use a proper
pkg_postinst to cope with the case of qemuarm.

(From OE-Core rev: 751212d5effdceab91d95705e647cf07e6820940)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:23:37 +01:00
Koen Kooi
60d0c57ed6 bluez4: split gstreamer plugin into a seperate recipe
This eliminates a good chunk of buildtime when building console-only image.

The bluez4 and this recipe share a .inc file since the source is the same.

(From OE-Core rev: 5eaed4bba35e8188855acb93344adf48201748a2)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:23:36 +01:00
Richard Purdie
0b9bd3c994 diffstat: Add missing file from previous commit
(From OE-Core rev: 6f4e6d6d41f874844b186b9e5b63a1b851becb52)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:23:36 +01:00
Richard Purdie
824b014059 diffstat: Fix a build failure when using libdir=/usr/lib64
(From OE-Core rev: 9a846d83a39339de6d7cc0da050a50d7f4e093c7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:23:35 +01:00
Saul Wold
7eb6cf467e gnome-desktop: Fix python path in scripts to use target path
(From OE-Core rev: 22fd67f854f70f79ea94af11c61ef63939d54ac2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 21:03:16 +01:00
Mark Hatle
b1f7734f54 foomatic-filters: Disable filter checking
Disable a few checks, and hard code the values for a few other items
to work around potential host contamination issues.  We also default
to the cups configuration for items.

(From OE-Core rev: ef7ad7a7c6b5f5a6c9d0d9e35e07b5a0dabe5be9)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 21:03:15 +01:00
Mark Hatle
69672a4cb9 cups: Fix recipe to use the correct cups directories
${libdir} is not used, instead they use a common ${exec_prefix}/lib
directory structure for helpers, filters, renderers, etc.

(From OE-Core rev: 24ae432b1a3906956381d83c1984687e45c5a1d1)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 21:03:15 +01:00
Khem Raj
cb7cab37b1 eglibc-2.12: Fix build on powerpc/603e
We pass --with-cpu to eglibc now. Which breaks
the configure for cpus that it does not support
We add support for ppc603e which gets 2.12
building for qemuppc.

(From OE-Core rev: 465a988e2370ec377875b599045f2a7bad913ac6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 21:03:15 +01:00
Richard Purdie
2a7870778f Revert "eglibc: fix packaging of some of nativesdk packages"
This reverts commit 974cdb88680359aac5aefd11b84c4a374ab3a753.

See the mailing list for details, this broke things for too
many people such as where PKGSUFFIX is used in PREFERRED_PROVIDER.

odified:   meta/recipes-core/eglibc/eglibc-locale.inc

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 21:03:14 +01:00
Richard Purdie
f4b4432b74 glib-2.0: Drop old 2.27.5 development version
(From OE-Core rev: 468e4a2f0e63e9d33e88b98a7d075b186ef481b2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 08:49:10 +01:00
Zhai Edwin
0289683798 qemugl: Use local variable rather than "push" to save register
New gcc uses "%esp" rather than "%ebp" to index local variable in stack, and
push between save-to/restore-from stack decrease "%esp", which leads wrong
index. Saving registers via local variables to make gcc aware of this and avoid
stack disorder.

[YOCTO #1442] got fixed

(From OE-Core rev: afc9edc27e77e80fdd24b4c8c538f91672940e75)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 08:49:10 +01:00
Dmitry Eremin-Solenikov
f800862555 eglibc: fix packaging of some of nativesdk packages
eglibc.inc contains packaging rules that depend on PKGSUFFIX expansion.
However that variable wasn't expanded properly in some case. E.g.

PACKAGES = " ... nscd${PKGSUFFIX} ..."
FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*"

would be expanded to

PACKAGES = " ... nscd-nativesdk ..."
FILES_nscd = "${sbindir}/nscd*"

Thus leading to empty -nativesdk packages and missing files. To overcome
that use python code blob to properly define PKGSUFFIX variable.

(From OE-Core rev: 974cdb88680359aac5aefd11b84c4a374ab3a753)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 08:49:10 +01:00
Dmitry Eremin-Solenikov
cac6eb9c11 gcc: include plugin-related headers into packaged SDK
Include headers necessary to compile gcc plugins into cross-canadian gcc
packages.

(From OE-Core rev: d12aa92b3dac1109d510e7b6f74055d1ab927817)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 08:49:10 +01:00
Dmitry Eremin-Solenikov
96333e8ea8 e2fsprogs: include devtools scripts
Some scripts are necessary to develop programs with libcom_err and
libss. Include those into e2fsprogs-dev package.

(From OE-Core rev: 46332c2313abb273f6fc889fac4daa91cf43faa3)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 08:49:10 +01:00
Dmitry Eremin-Solenikov
66aed14ca9 glib-2.0: include glib-gettextize stuff
glib-utils already includes glib-gettextize program. Include some files
necessary for glib-gettextize to work.

(From OE-Core rev: c98356e9c46cd28b7ca8e84fe0ea56dc6d812a8d)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 08:49:09 +01:00
Daniel Lazzari
e0f32aa351 alsa-lib: Don't use versioned symbols on uclibc builds as it causes strange hangs
alsa-lib: Don't use versioned symbols on uclibc builds as it causes strange hangs. Taken from oe-classic.

(From OE-Core rev: b354eb957ce08ac7814ce46c13ca3a8449b4063a)

Signed-off-by: Daniel Lazzari Jr <dlazzari@leapfrog.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 08:49:09 +01:00
2217 changed files with 64284 additions and 74904 deletions

8
.gitignore vendored
View File

@@ -9,11 +9,9 @@ build*/pyshtables.py
pstage/
scripts/oe-git-proxy-socks
sources/
meta-darwin
meta-maemo
meta-extras
meta-m2
meta-prvt*
meta-*
!meta-skeleton
!meta-demoapps
*.swp
*.orig
*.rej

6
README
View File

@@ -20,6 +20,10 @@ The Yocto Project has extensive documentation about the system including a
reference manual which can be found at:
http://yoctoproject.org/community/documentation
For information about OpenEmbedded see their website:
OpenEmbedded-Core is a layer containing the core metadata for current versions
of OpenEmbedded. It is distro-less (can build a functional image with
DISTRO = "") and contains only emulated machine support.
For information about OpenEmbedded, see the OpenEmbedded website:
http://www.openembedded.org/

View File

@@ -68,12 +68,12 @@ Intel Atom based PCs and devices (atom-pc)
The atom-pc MACHINE is tested on the following platforms:
o Asus eee901
o Asus EeePC 901
o Acer Aspire One
o Toshiba NB305
o Intel Embedded Development Board 1-N450 (Black Sand)
and is likely to work on many unlisted atom based devices. The MACHINE type
and is likely to work on many unlisted Atom based devices. The MACHINE type
supports ethernet, wifi, sound, and i915 graphics by default in addition to
common PC input devices, busses, and so on.
@@ -83,26 +83,18 @@ straightforward with a caveat for USB devices. The following examples assume the
target boot device is /dev/sdb, be sure to verify this and use the correct
device as the following commands are run as root and are not reversable.
Hard Disk:
1. Build a directdisk image format. This will generate proper partition tables
that will in turn be written to the physical media. For example:
$ bitbake core-image-minimal-directdisk
2. Use the "dd" utility to write the image to the raw block device. For example:
# dd if=core-image-minimal-directdisk-atom-pc.hdddirect of=/dev/sdb
USB Device:
1. Build an hddimg image format. This is a simple filesystem without partition
tables and is suitable for USB keys. For example:
1. Build a live image. This image type consists of a simple filesystem
without a partition table, which is suitable for USB keys, and with the
default setup for the atom-pc machine, this image type is built
automatically for any image you build. For example:
$ bitbake core-image-minimal-live
$ bitbake core-image-minimal
2. Use the "dd" utility to write the image to the raw block device. For
example:
# dd if=core-image-minimal-live-atom-pc.hddimg of=/dev/sdb
# dd if=core-image-minimal-atom-pc.hddimg of=/dev/sdb
If the device fails to boot with "Boot error" displayed, it is likely the BIOS
cannot understand the physical layout of the disk (or rather it expects a
@@ -126,7 +118,7 @@ USB Device:
b. Copy the contents of the poky image to the USB-ZIP mode device:
# mount -o loop core-image-minimal-live-atom-pc.hddimg /tmp/image
# mount -o loop core-image-minimal-atom-pc.hddimg /tmp/image
# mount /dev/sdb4 /tmp/usbkey
# cp -rf /tmp/image/* /tmp/usbkey
@@ -150,7 +142,7 @@ faster CPU, more RAM, an ethernet port, more USB ports, microSD, and removes
the NAND flash. The beagleboard MACHINE is tested on the following platforms:
o Beagleboard C4
o Beagleboard xM Rev A
o Beagleboard xM rev A & B
The Beagleboard C4 has NAND, while the xM does not. For the sake of simplicity,
these instructions assume you have erased the NAND on the C4 so its boot

View File

@@ -40,7 +40,7 @@ from bb import cooker
from bb import ui
from bb import server
__version__ = "1.13.3"
__version__ = "1.15.1"
logger = logging.getLogger("BitBake")
@@ -165,6 +165,11 @@ Default BBFILES are the .bb files in the current directory.""")
parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not",
action = "store_true", dest = "revisions_changed", default = False)
parser.add_option("", "--server-only", help = "Run bitbake without UI, the frontend can connect with bitbake server itself",
action = "store_true", dest = "server_only", default = False)
parser.add_option("-B", "--bind", help = "The name/address for the bitbake server to bind to",
action = "store", dest = "bind", default = False)
options, args = parser.parse_args(sys.argv)
configuration = BBConfiguration(options)
@@ -186,6 +191,15 @@ Default BBFILES are the .bb files in the current directory.""")
sys.exit("FATAL: Invalid server type '%s' specified.\n"
"Valid interfaces: xmlrpc, process [default], none." % servertype)
if configuration.server_only:
if configuration.servertype != "xmlrpc":
sys.exit("FATAL: If '--server-only' is defined, we must set the servertype as 'xmlrpc'.\n")
if not configuration.bind:
sys.exit("FATAL: The '--server-only' option requires a name/address to bind to with the -B option.\n")
if configuration.bind and configuration.servertype != "xmlrpc":
sys.exit("FATAL: If '-B' or '--bind' is defined, we must set the servertype as 'xmlrpc'.\n")
# Save a logfile for cooker into the current working directory. When the
# server is daemonized this logfile will be truncated.
cooker_logfile = os.path.join(os.getcwd(), "cooker.log")
@@ -206,8 +220,11 @@ Default BBFILES are the .bb files in the current directory.""")
bb.utils.clean_environment()
server = server.BitBakeServer()
if configuration.bind:
server.initServer((configuration.bind, 0))
else:
server.initServer()
server.initServer()
idle = server.getServerIdleCB()
cooker = bb.cooker.BBCooker(configuration, idle, initialenv)
@@ -222,14 +239,17 @@ Default BBFILES are the .bb files in the current directory.""")
logger.removeHandler(handler)
# Setup a connection to the server (cooker)
server_connection = server.establishConnection()
if not configuration.server_only:
# Setup a connection to the server (cooker)
server_connection = server.establishConnection()
try:
return server.launchUI(ui_main, server_connection.connection, server_connection.events)
finally:
bb.event.ui_queue = []
server_connection.terminate()
try:
return server.launchUI(ui_main, server_connection.connection, server_connection.events)
finally:
bb.event.ui_queue = []
server_connection.terminate()
else:
print("server address: %s, server port: %s" % (server.serverinfo.host, server.serverinfo.port))
return 1

View File

@@ -4,10 +4,15 @@
# displaying useful information, or acting against them.
# See the help output for details on available commands.
# Copyright (C) 2011 Mentor Graphics Corporation
# Copyright (C) 2012 Intel Corporation
import cmd
import logging
import os
import sys
import fnmatch
from collections import defaultdict
bindir = os.path.dirname(__file__)
topdir = os.path.dirname(bindir)
@@ -18,6 +23,7 @@ import bb.cooker
import bb.providers
import bb.utils
from bb.cooker import state
import bb.fetch2
logger = logging.getLogger('BitBake')
@@ -36,6 +42,8 @@ def main(args):
cmds = Commands(initialenv)
if args:
# Allow user to specify e.g. show-layers instead of show_layers
args = [args[0].replace('-', '_')] + args[1:]
cmds.onecmd(' '.join(args))
else:
cmds.do_help('')
@@ -53,6 +61,7 @@ class Commands(cmd.Cmd):
self.config_data = self.cooker.configuration.data
bb.providers.logger.setLevel(logging.ERROR)
self.cooker_data = None
self.bblayers = (self.config_data.getVar('BBLAYERS', True) or "").split()
def register_idle_function(self, function, data):
pass
@@ -88,14 +97,14 @@ class Commands(cmd.Cmd):
"""display general help or help on a specified command"""
if topic:
sys.stdout.write('%s: ' % topic)
cmd.Cmd.do_help(self,topic)
cmd.Cmd.do_help(self, topic.replace('-', '_'))
else:
sys.stdout.write("usage: bitbake-layers <command> [arguments]\n\n")
sys.stdout.write("Available commands:\n")
procnames = self.get_names()
for procname in procnames:
if procname[:3] == 'do_':
sys.stdout.write(" %s\n" % procname[3:])
sys.stdout.write(" %s\n" % procname[3:].replace('_', '-'))
doc = getattr(self, procname).__doc__
if doc:
sys.stdout.write(" %s\n" % doc.splitlines()[0])
@@ -106,41 +115,227 @@ class Commands(cmd.Cmd):
logger.plain('')
logger.plain("%s %s %s" % ("layer".ljust(20), "path".ljust(40), "priority"))
logger.plain('=' * 74)
layerdirs = str(self.config_data.getVar('BBLAYERS', True)).split()
for layerdir in layerdirs:
layername = '?'
for layerdir in self.bblayers:
layername = self.get_layer_name(layerdir)
layerpri = 0
for layer, _, regex, pri in self.cooker.status.bbfile_config_priorities:
if regex.match(os.path.join(layerdir, 'test')):
layername = layer
layerpri = pri
break
logger.plain("%s %s %d" % (layername.ljust(20), layerdir.ljust(40), layerpri))
def version_str(self, pe, pv, pr = None):
verstr = "%s" % pv
if pr:
verstr = "%s-%s" % (verstr, pr)
if pe:
verstr = "%s:%s" % (pe, verstr)
return verstr
def do_show_overlayed(self, args):
"""list overlayed recipes (where there is a recipe in another layer that has a higher layer priority)
"""list overlayed recipes (where the same recipe exists in another layer that has a higher layer priority)
usage: show_overlayed
usage: show-overlayed [-f] [-s]
Highest priority recipes are listed with the recipes they overlay as subitems.
Lists the names of overlayed recipes and the available versions in each
layer, with the preferred version first. Note that skipped recipes that
are overlayed will also be listed, with a " (skipped)" suffix.
Options:
-f instead of the default formatting, list filenames of higher priority
recipes with the ones they overlay indented underneath
-s only list overlayed recipes where the version is the same
"""
self.check_prepare_cooker()
if self.cooker.overlayed:
logger.plain('Overlayed recipes:')
for f in self.cooker.overlayed.iterkeys():
logger.plain('%s' % f)
for of in self.cooker.overlayed[f]:
logger.plain(' %s' % of)
else:
logger.plain('No overlayed recipes found')
show_filenames = False
show_same_ver_only = False
for arg in args.split():
if arg == '-f':
show_filenames = True
elif arg == '-s':
show_same_ver_only = True
else:
sys.stderr.write("show-overlayed: invalid option %s\n" % arg)
self.do_help('')
return
items_listed = self.list_recipes('Overlayed recipes', None, True, show_same_ver_only, show_filenames, True)
# Check for overlayed .bbclass files
classes = defaultdict(list)
for layerdir in self.bblayers:
classdir = os.path.join(layerdir, 'classes')
if os.path.exists(classdir):
for classfile in os.listdir(classdir):
if os.path.splitext(classfile)[1] == '.bbclass':
classes[classfile].append(classdir)
# Locating classes and other files is a bit more complicated than recipes -
# layer priority is not a factor; instead BitBake uses the first matching
# file in BBPATH, which is manipulated directly by each layer's
# conf/layer.conf in turn, thus the order of layers in bblayers.conf is a
# factor - however, each layer.conf is free to either prepend or append to
# BBPATH (or indeed do crazy stuff with it). Thus the order in BBPATH might
# not be exactly the order present in bblayers.conf either.
bbpath = str(self.config_data.getVar('BBPATH', True))
overlayed_class_found = False
for (classfile, classdirs) in classes.items():
if len(classdirs) > 1:
if not overlayed_class_found:
logger.plain('=== Overlayed classes ===')
overlayed_class_found = True
mainfile = bb.utils.which(bbpath, os.path.join('classes', classfile))
if show_filenames:
logger.plain('%s' % mainfile)
else:
# We effectively have to guess the layer here
logger.plain('%s:' % classfile)
mainlayername = '?'
for layerdir in self.bblayers:
classdir = os.path.join(layerdir, 'classes')
if mainfile.startswith(classdir):
mainlayername = self.get_layer_name(layerdir)
logger.plain(' %s' % mainlayername)
for classdir in classdirs:
fullpath = os.path.join(classdir, classfile)
if fullpath != mainfile:
if show_filenames:
print(' %s' % fullpath)
else:
print(' %s' % self.get_layer_name(os.path.dirname(classdir)))
if overlayed_class_found:
items_listed = True;
if not items_listed:
logger.note('No overlayed files found')
def do_show_recipes(self, args):
"""list available recipes, showing the layer they are provided by
usage: show-recipes [-f] [-m] [pnspec]
Lists the names of overlayed recipes and the available versions in each
layer, with the preferred version first. Optionally you may specify
pnspec to match a specified recipe name (supports wildcards). Note that
skipped recipes will also be listed, with a " (skipped)" suffix.
Options:
-f instead of the default formatting, list filenames of higher priority
recipes with other available recipes indented underneath
-m only list where multiple recipes (in the same layer or different
layers) exist for the same recipe name
"""
self.check_prepare_cooker()
show_filenames = False
show_multi_provider_only = False
pnspec = None
title = 'Available recipes:'
for arg in args.split():
if arg == '-f':
show_filenames = True
elif arg == '-m':
show_multi_provider_only = True
elif not arg.startswith('-'):
pnspec = arg
title = 'Available recipes matching %s:' % pnspec
else:
sys.stderr.write("show-recipes: invalid option %s\n" % arg)
self.do_help('')
return
self.list_recipes(title, pnspec, False, False, show_filenames, show_multi_provider_only)
def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_multi_provider_only):
pkg_pn = self.cooker.status.pkg_pn
(latest_versions, preferred_versions) = bb.providers.findProviders(self.cooker.configuration.data, self.cooker.status, pkg_pn)
allproviders = bb.providers.allProviders(self.cooker.status)
# Ensure we list skipped recipes
# We are largely guessing about PN, PV and the preferred version here,
# but we have no choice since skipped recipes are not fully parsed
skiplist = self.cooker.skiplist.keys()
skiplist.sort( key=lambda fileitem: self.cooker.calc_bbfile_priority(fileitem) )
skiplist.reverse()
for fn in skiplist:
recipe_parts = os.path.splitext(os.path.basename(fn))[0].split('_')
p = recipe_parts[0]
if len(recipe_parts) > 1:
ver = (None, recipe_parts[1], None)
else:
ver = (None, 'unknown', None)
allproviders[p].append((ver, fn))
if not p in pkg_pn:
pkg_pn[p] = 'dummy'
preferred_versions[p] = (ver, fn)
def print_item(f, pn, ver, layer, ispref):
if f in skiplist:
skipped = ' (skipped)'
else:
skipped = ''
if show_filenames:
if ispref:
logger.plain("%s%s", f, skipped)
else:
logger.plain(" %s%s", f, skipped)
else:
if ispref:
logger.plain("%s:", pn)
logger.plain(" %s %s%s", layer.ljust(20), ver, skipped)
preffiles = []
items_listed = False
for p in sorted(pkg_pn):
if pnspec:
if not fnmatch.fnmatch(p, pnspec):
continue
if len(allproviders[p]) > 1 or not show_multi_provider_only:
pref = preferred_versions[p]
preffile = bb.cache.Cache.virtualfn2realfn(pref[1])[0]
if preffile not in preffiles:
preflayer = self.get_file_layer(preffile)
multilayer = False
same_ver = True
provs = []
for prov in allproviders[p]:
provfile = bb.cache.Cache.virtualfn2realfn(prov[1])[0]
provlayer = self.get_file_layer(provfile)
provs.append((provfile, provlayer, prov[0]))
if provlayer != preflayer:
multilayer = True
if prov[0] != pref[0]:
same_ver = False
if (multilayer or not show_overlayed_only) and (same_ver or not show_same_ver_only):
if not items_listed:
logger.plain('=== %s ===' % title)
items_listed = True
print_item(preffile, p, self.version_str(pref[0][0], pref[0][1]), preflayer, True)
for (provfile, provlayer, provver) in provs:
if provfile != preffile:
print_item(provfile, p, self.version_str(provver[0], provver[1]), provlayer, False)
# Ensure we don't show two entries for BBCLASSEXTENDed recipes
preffiles.append(preffile)
return items_listed
def do_flatten(self, args):
"""flattens layer configuration into a separate output directory.
usage: flatten <outputdir>
usage: flatten [layer1 layer2 [layer3]...] <outputdir>
Takes the current layer configuration and builds a "flattened" directory
Takes the specified layers (or all layers in the current layer
configuration if none are specified) and builds a "flattened" directory
containing the contents of all layers, with any overlayed recipes removed
and bbappends appended to the corresponding recipes. Note that some manual
cleanup may still be necessary afterwards, in particular:
@@ -148,21 +343,61 @@ cleanup may still be necessary afterwards, in particular:
* where non-recipe files (such as patches) are overwritten (the flatten
command will show a warning for these)
* where anything beyond the normal layer setup has been added to
layer.conf (only the lowest priority layer's layer.conf is used)
layer.conf (only the lowest priority number layer's layer.conf is used)
* overridden/appended items from bbappends will need to be tidied up
* when the flattened layers do not have the same directory structure (the
flatten command should show a warning when this will cause a problem)
Warning: if you flatten several layers where another layer is intended to
be used "inbetween" them (in layer priority order) such that recipes /
bbappends in the layers interact, and then attempt to use the new output
layer together with that other layer, you may no longer get the same
build results (as the layer priority order has effectively changed).
"""
arglist = args.split()
if len(arglist) != 1:
if len(arglist) < 1:
logger.error('Please specify an output directory')
self.do_help('flatten')
return
if os.path.exists(arglist[0]) and os.listdir(arglist[0]):
logger.error('Directory %s exists and is non-empty, please clear it out first' % arglist[0])
if len(arglist) == 2:
logger.error('If you specify layers to flatten you must specify at least two')
self.do_help('flatten')
return
outputdir = arglist[-1]
if os.path.exists(outputdir) and os.listdir(outputdir):
logger.error('Directory %s exists and is non-empty, please clear it out first' % outputdir)
return
self.check_prepare_cooker()
layers = (self.config_data.getVar('BBLAYERS', True) or "").split()
layers = self.bblayers
if len(arglist) > 2:
layernames = arglist[:-1]
found_layernames = []
found_layerdirs = []
for layerdir in layers:
layername = self.get_layer_name(layerdir)
if layername in layernames:
found_layerdirs.append(layerdir)
found_layernames.append(layername)
for layername in layernames:
if not layername in found_layernames:
logger.error('Unable to find layer %s in current configuration, please run "%s show-layers" to list configured layers' % (layername, os.path.basename(sys.argv[0])))
return
layers = found_layerdirs
else:
layernames = []
# Ensure a specified path matches our list of layers
def layer_path_match(path):
for layerdir in layers:
if path.startswith(os.path.join(layerdir, '')):
return layerdir
return None
appended_recipes = []
for layer in layers:
overlayed = []
for f in self.cooker.overlayed.iterkeys():
@@ -180,7 +415,7 @@ cleanup may still be necessary afterwards, in particular:
ext = os.path.splitext(f1)[1]
if ext != '.bbappend':
fdest = f1full[len(layer):]
fdest = os.path.normpath(os.sep.join([arglist[0],fdest]))
fdest = os.path.normpath(os.sep.join([outputdir,fdest]))
bb.utils.mkdirhier(os.path.dirname(fdest))
if os.path.exists(fdest):
if f1 == 'layer.conf' and root.endswith('/conf'):
@@ -195,25 +430,84 @@ cleanup may still be necessary afterwards, in particular:
if appends:
logger.plain(' Applying appends to %s' % fdest )
for appendname in appends:
self.apply_append(appendname, fdest)
if layer_path_match(appendname):
self.apply_append(appendname, fdest)
appended_recipes.append(f1)
def get_append_layer(self, appendname):
# Take care of when some layers are excluded and yet we have included bbappends for those recipes
for recipename in self.cooker_data.appends.iterkeys():
if recipename not in appended_recipes:
appends = self.cooker_data.appends[recipename]
first_append = None
for appendname in appends:
layer = layer_path_match(appendname)
if layer:
if first_append:
self.apply_append(appendname, first_append)
else:
fdest = appendname[len(layer):]
fdest = os.path.normpath(os.sep.join([outputdir,fdest]))
bb.utils.mkdirhier(os.path.dirname(fdest))
bb.utils.copyfile(appendname, fdest)
first_append = fdest
# Get the regex for the first layer in our list (which is where the conf/layer.conf file will
# have come from)
first_regex = None
layerdir = layers[0]
for layername, pattern, regex, _ in self.cooker.status.bbfile_config_priorities:
if regex.match(os.path.join(layerdir, 'test')):
first_regex = regex
break
if first_regex:
# Find the BBFILES entries that match (which will have come from this conf/layer.conf file)
bbfiles = str(self.config_data.getVar('BBFILES', True)).split()
bbfiles_layer = []
for item in bbfiles:
if first_regex.match(item):
newpath = os.path.join(outputdir, item[len(layerdir)+1:])
bbfiles_layer.append(newpath)
if bbfiles_layer:
# Check that all important layer files match BBFILES
for root, dirs, files in os.walk(outputdir):
for f1 in files:
ext = os.path.splitext(f1)[1]
if ext in ['.bb', '.bbappend']:
f1full = os.sep.join([root, f1])
entry_found = False
for item in bbfiles_layer:
if fnmatch.fnmatch(f1full, item):
entry_found = True
break
if not entry_found:
logger.warning("File %s does not match the flattened layer's BBFILES setting, you may need to edit conf/layer.conf or move the file elsewhere" % f1full)
def get_file_layer(self, filename):
for layer, _, regex, _ in self.cooker.status.bbfile_config_priorities:
if regex.match(appendname):
return layer
if regex.match(filename):
for layerdir in self.bblayers:
if regex.match(os.path.join(layerdir, 'test')):
return self.get_layer_name(layerdir)
return "?"
def get_layer_name(self, layerdir):
return os.path.basename(layerdir.rstrip(os.sep))
def apply_append(self, appendname, recipename):
appendfile = open(appendname, 'r')
recipefile = open(recipename, 'a')
recipefile.write('\n')
recipefile.write('##### bbappended from %s #####\n' % self.get_append_layer(appendname))
recipefile.write('##### bbappended from %s #####\n' % self.get_file_layer(appendname))
recipefile.writelines(appendfile.readlines())
recipefile.close()
appendfile.close()
def do_show_appends(self, args):
"""list bbappend files and recipe files they apply to
usage: show_appends
usage: show-appends
Recipes are listed with the bbappends that apply to them as subitems.
"""

View File

@@ -10,37 +10,39 @@ import prserv.serv
__version__="1.0.0"
PRHOST_DEFAULT=''
PRHOST_DEFAULT='0.0.0.0'
PRPORT_DEFAULT=8585
def main():
parser = optparse.OptionParser(
version="Bitbake PR Service Core version %s, %%prog version %s" % (prserv.__version__, __version__),
usage = "%prog [options]")
usage = "%prog < --start | --stop > [options]")
parser.add_option("-f", "--file", help="database filename(default prserv.db)", action="store",
dest="dbfile", type="string", default="prserv.db")
parser.add_option("-l", "--log", help="log filename(default prserv.log)", action="store",
parser.add_option("-f", "--file", help="database filename(default: prserv.sqlite3)", action="store",
dest="dbfile", type="string", default="prserv.sqlite3")
parser.add_option("-l", "--log", help="log filename(default: prserv.log)", action="store",
dest="logfile", type="string", default="prserv.log")
parser.add_option("--loglevel", help="logging level, i.e. CRITICAL, ERROR, WARNING, INFO, DEBUG",
action = "store", type="string", dest="loglevel", default = "WARNING")
action = "store", type="string", dest="loglevel", default = "INFO")
parser.add_option("--start", help="start daemon",
action="store_true", dest="start", default="True")
action="store_true", dest="start")
parser.add_option("--stop", help="stop daemon",
action="store_false", dest="start")
action="store_true", dest="stop")
parser.add_option("--host", help="ip address to bind", action="store",
dest="host", type="string", default=PRHOST_DEFAULT)
parser.add_option("--port", help="port number(default 8585)", action="store",
parser.add_option("--port", help="port number(default: 8585)", action="store",
dest="port", type="int", default=PRPORT_DEFAULT)
options, args = parser.parse_args(sys.argv)
prserv.init_logger(os.path.abspath(options.logfile),options.loglevel)
if options.start:
prserv.serv.start_daemon(options)
ret=prserv.serv.start_daemon(options.dbfile, options.host, options.port,os.path.abspath(options.logfile))
elif options.stop:
ret=prserv.serv.stop_daemon(options.host, options.port)
else:
prserv.serv.stop_daemon()
ret=parser.print_help()
return ret
if __name__ == "__main__":
try:

View File

@@ -4,6 +4,10 @@ import os
import sys
import warnings
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
from bb import fetch2
import logging
logger = logging.getLogger("BitBake")
try:
import cPickle as pickle
@@ -16,13 +20,20 @@ class BBConfiguration(object):
Manages build options and configurations for one run
"""
def __init__(self, debug, debug_domains):
setattr(self, "data", {})
setattr(self, "file", [])
setattr(self, "cmd", None)
setattr(self, "dump_signatures", True)
setattr(self, "debug", debug)
setattr(self, "debug_domains", debug_domains)
def __init__(self, **options):
self.data = {}
self.file = []
self.cmd = None
self.dump_signatures = True
self.prefile = []
self.postfile = []
self.parse_only = True
def __getattr__(self, attribute):
try:
return super(BBConfiguration, self).__getattribute__(attribute)
except AttributeError:
return None
_warnings_showwarning = warnings.showwarning
def _showwarning(message, category, filename, lineno, file=None, line=None):
@@ -39,82 +50,70 @@ warnings.showwarning = _showwarning
warnings.simplefilter("ignore", DeprecationWarning)
import bb.event
# Need to map our I/O correctly. stdout is a pipe to the server expecting
# events. We save this and then map stdout to stderr.
eventfd = os.dup(sys.stdout.fileno())
bb.event.worker_pipe = os.fdopen(eventfd, 'w', 0)
# map stdout to stderr
os.dup2(sys.stderr.fileno(), sys.stdout.fileno())
# Replace those fds with our own
#logout = data.expand("${TMPDIR}/log/stdout.%s" % os.getpid(), self.cfgData, True)
#mkdirhier(os.path.dirname(logout))
#newso = open("/tmp/stdout.%s" % os.getpid(), 'w')
#os.dup2(newso.fileno(), sys.stdout.fileno())
#os.dup2(newso.fileno(), sys.stderr.fileno())
# Don't read from stdin from the parent
si = file("/dev/null", 'r')
os.dup2(si.fileno( ), sys.stdin.fileno( ))
# We don't want to see signals to our parent, e.g. Ctrl+C
os.setpgrp()
# Save out the PID so that the event can include it the
# events
bb.event.worker_pid = os.getpid()
bb.event.useStdout = False
hashfile = sys.argv[1]
buildfile = sys.argv[2]
taskname = sys.argv[3]
import bb.cooker
p = pickle.Unpickler(file(hashfile, "rb"))
hashdata = p.load()
buildfile = sys.argv[1]
taskname = sys.argv[2]
if len(sys.argv) >= 4:
dryrun = sys.argv[3]
else:
dryrun = False
if len(sys.argv) >= 5:
hashfile = sys.argv[4]
p = pickle.Unpickler(file(hashfile, "rb"))
hashdata = p.load()
else:
hashdata = None
debug = hashdata["msg-debug"]
debug_domains = hashdata["msg-debug-domains"]
verbose = hashdata["verbose"]
handler = bb.event.LogHandler()
logger.addHandler(handler)
bb.utils.init_logger(bb.msg, verbose, debug, debug_domains)
#An example to make debug log messages show up
#bb.msg.init_msgconfig(True, 3, [])
cooker = bb.cooker.BBCooker(BBConfiguration(debug, debug_domains), None)
cooker.parseConfiguration()
console = logging.StreamHandler(sys.stdout)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
bb.msg.addDefaultlogFilter(console)
console.setFormatter(format)
cooker.bb_cache = bb.cache.init(cooker)
cooker.status = bb.cache.CacheData()
def worker_fire(event, d):
if isinstance(event, logging.LogRecord):
console.handle(event)
bb.event.worker_fire = worker_fire
bb.event.worker_pid = os.getpid()
(fn, cls) = cooker.bb_cache.virtualfn2realfn(buildfile)
initialenv = os.environ.copy()
config = BBConfiguration()
def register_idle_function(self, function, data):
pass
cooker = bb.cooker.BBCooker(config, register_idle_function, initialenv)
config_data = cooker.configuration.data
cooker.status = config_data
cooker.handleCollections(config_data.getVar("BBFILE_COLLECTIONS", 1))
fn, cls = bb.cache.Cache.virtualfn2realfn(buildfile)
buildfile = cooker.matchFile(fn)
fn = cooker.bb_cache.realfn2virtual(buildfile, cls)
fn = bb.cache.Cache.realfn2virtual(buildfile, cls)
cooker.buildSetVars()
# Load data into the cache for fn and parse the loaded cache data
the_data = cooker.bb_cache.loadDataFull(fn, cooker.get_file_appends(fn), cooker.configuration.data)
cooker.bb_cache.setData(fn, buildfile, the_data)
cooker.bb_cache.handle_data(fn, cooker.status)
#exportlist = bb.utils.preserved_envvars_export_list()
#bb.utils.filter_environment(exportlist)
the_data = bb.cache.Cache.loadDataFull(fn, cooker.get_file_appends(fn), cooker.configuration.data)
if taskname.endswith("_setscene"):
the_data.setVarFlag(taskname, "quieterrors", "1")
bb.parse.siggen.set_taskdata(hashdata["hashes"], hashdata["deps"])
for h in hashdata["hashes"]:
bb.data.setVar("BBHASH_%s" % h, hashdata["hashes"][h], the_data)
for h in hashdata["deps"]:
bb.data.setVar("BBHASHDEPS_%s" % h, hashdata["deps"][h], the_data)
if hashdata:
bb.parse.siggen.set_taskdata(hashdata["hashes"], hashdata["deps"])
for h in hashdata["hashes"]:
the_data.setVar("BBHASH_%s" % h, hashdata["hashes"][h])
for h in hashdata["deps"]:
the_data.setVar("BBHASHDEPS_%s" % h, hashdata["deps"][h])
ret = 0
if sys.argv[4] != "True":
if dryrun != "True":
ret = bb.build.exec_task(fn, taskname, the_data)
sys.exit(ret)

View File

@@ -462,7 +462,7 @@ def main():
state_group = 2
for key in bb.data.keys(documentation):
data = bb.data.getVarFlag(key, "doc", documentation)
data = documentation.getVarFlag(key, "doc")
if not data:
continue

View File

@@ -52,8 +52,8 @@ syn match bbExport "^export" nextgroup=bbIdentifier skipwhite
syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite
syn match bbIdentifier "[a-zA-Z0-9\-_\.\/\+]\+" display contained
syn match bbVarDeref "${[a-zA-Z0-9\-_\.\/\+]\+}" contained
syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)" contained nextgroup=bbVarValue
syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+]\+\(_[${}a-zA-Z0-9\-_\.\/\+]\+\)\?\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq
syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)" contained nextgroup=bbVarValue
syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+]\+\(_[${}a-zA-Z0-9\-_\.\/\+]\+\)\?\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq
syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue
syn region bbVarPyValue start=+${@+ skip=+\\$+ excludenl end=+}+ contained contains=@python

View File

@@ -186,7 +186,7 @@ include</literal> directive.</para>
<title>Defining Python functions into the global Python namespace</title>
<para><emphasis>NOTE:</emphasis> This is only supported in .bb and .bbclass files.</para>
<para><screen>def get_depends(bb, d):
if bb.data.getVar('SOMECONDITION', d, True):
if d.getVar('SOMECONDITION', True):
return "dependencywithcond"
else:
return "dependency"
@@ -204,7 +204,7 @@ include</literal> directive.</para>
<section>
<title>Inheritance</title>
<para><emphasis>NOTE:</emphasis> This is only supported in .bb and .bbclass files.</para>
<para>The <literal>inherit</literal> directive is a means of specifying what classes of functionality your .bb requires. It is a rudimentary form of inheritance. For example, you can easily abstract out the tasks involved in building a package that uses autoconf and automake, and put that into a bbclass for your packages to make use of. A given bbclass is located by searching for classes/filename.oeclass in <envar>BBPATH</envar>, where filename is what you inherited.</para>
<para>The <literal>inherit</literal> directive is a means of specifying what classes of functionality your .bb requires. It is a rudimentary form of inheritance. For example, you can easily abstract out the tasks involved in building a package that uses autoconf and automake, and put that into a bbclass for your packages to make use of. A given bbclass is located by searching for classes/filename.bbclass in <envar>BBPATH</envar>, where filename is what you inherited.</para>
</section>
<section>
<title>Tasks</title>
@@ -388,7 +388,7 @@ ftp://.*/.* http://somemirror.org/sources/ \n \
http://.*/.* http://somemirror.org/sources/ \n \
https://.*/.* http://somemirror.org/sources/ \n"</screen></para>
<para>Non-local downloaded output is placed into the directory specified by the <varname>DL_DIR</varname>. For non local downloads the code can check checksums for the download to ensure the file has been downloaded correctly. These are specified in the form <varname>SRC_URI[md5sum]</varname> for the md5 checksum and <varname>SRC_URI[sha256sum]</varname> for the sha256 checksum. If <varname>BB_STRICT_CHECKSUM</varname> is set, any download without a checksum will trigger an error message. In cases where multiple files are listed in SRC_URI, the name parameter is used assign names to the urls and these are then specified in the checksums in the form SRC_URI[name.sha256sum].</para>
<para>Non-local downloaded output is placed into the directory specified by the <varname>DL_DIR</varname>. For non local archive downloads the code can verify sha256 and md5 checksums for the download to ensure the file has been downloaded correctly. These may be specified either in the form <varname>SRC_URI[md5sum]</varname> for the md5 checksum and <varname>SRC_URI[sha256sum]</varname> for the sha256 checksum or as parameters on the SRC_URI such as SRC_URI="http://example.com/foobar.tar.bz2;md5sum=4a8e0f237e961fd7785d19d07fdb994d". If <varname>BB_STRICT_CHECKSUM</varname> is set, any download without a checksum will trigger an error message. In cases where multiple files are listed in SRC_URI, the name parameter is used assign names to the urls and these are then specified in the checksums in the form SRC_URI[name.sha256sum].</para>
</section>

View File

@@ -21,12 +21,24 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
__version__ = "1.13.3"
__version__ = "1.15.1"
import sys
if sys.version_info < (2, 6, 0):
raise RuntimeError("Sorry, python 2.6.0 or later is required for this version of bitbake")
class BBHandledException(Exception):
"""
The big dilemma for generic bitbake code is what information to give the user
when an exception occurs. Any exception inheriting this base exception class
has already provided information to the user via some 'fired' message type such as
an explicitly fired event using bb.fire, or a bb.error message. If bitbake
encounters an exception derived from this class, no backtrace or other information
will be given to the user, its assumed the earlier event provided the relevant information.
"""
pass
import os
import logging
@@ -67,7 +79,7 @@ if "BBDEBUG" in os.environ:
if level:
bb.msg.set_debug_level(level)
if True or os.environ.get("BBFETCH2"):
if os.environ.get("BBFETCH2"):
from bb import fetch2 as fetch
sys.modules['bb.fetch'] = sys.modules['bb.fetch2']

View File

@@ -53,7 +53,7 @@ class FuncFailed(Exception):
self.logfile = logfile
self.name = name
if name:
self.msg = "Function '%s' failed" % name
self.msg = 'Function failed: %s' % name
else:
self.msg = "Function failed"
@@ -70,9 +70,9 @@ class TaskBase(event.Event):
def __init__(self, t, d ):
self._task = t
self._package = bb.data.getVar("PF", d, 1)
self._package = d.getVar("PF", 1)
event.Event.__init__(self)
self._message = "package %s: task %s: %s" % (bb.data.getVar("PF", d, 1), t, bb.event.getName(self)[4:])
self._message = "package %s: task %s: %s" % (d.getVar("PF", 1), t, bb.event.getName(self)[4:])
def getTask(self):
return self._task
@@ -91,9 +91,16 @@ class TaskSucceeded(TaskBase):
class TaskFailed(TaskBase):
"""Task execution failed"""
def __init__(self, task, logfile, metadata, errprinted = False):
self.logfile = logfile
self.errprinted = errprinted
super(TaskFailed, self).__init__(task, metadata)
class TaskFailedSilent(TaskBase):
"""Task execution failed (silently)"""
def __init__(self, task, logfile, metadata):
self.logfile = logfile
super(TaskFailed, self).__init__(task, metadata)
super(TaskFailedSilent, self).__init__(task, metadata)
class TaskInvalid(TaskBase):
@@ -149,12 +156,9 @@ def exec_func(func, d, dirs = None):
adir = dirs[-1]
else:
adir = data.getVar('B', d, 1)
if not os.path.exists(adir):
adir = None
bb.utils.mkdirhier(adir)
ispython = flags.get('python')
if flags.get('fakeroot') and not flags.get('task'):
bb.fatal("Function %s specifies fakeroot but isn't a task?!" % func)
lockflag = flags.get('lockfiles')
if lockflag:
@@ -223,9 +227,10 @@ def exec_func_shell(function, d, runfile, cwd=None):
with open(runfile, 'w') as script:
script.write('#!/bin/sh -e\n')
if bb.msg.loggerVerbose:
script.write("set -x\n")
data.emit_func(function, script, d)
if bb.msg.loggerVerboseLogs:
script.write("set -x\n")
if cwd:
script.write("cd %s\n" % cwd)
script.write("%s\n" % function)
@@ -233,8 +238,12 @@ def exec_func_shell(function, d, runfile, cwd=None):
os.chmod(runfile, 0775)
cmd = runfile
if d.getVarFlag(function, 'fakeroot'):
fakerootcmd = d.getVar('FAKEROOT', True)
if fakerootcmd:
cmd = [fakerootcmd, runfile]
if bb.msg.loggerVerbose:
if bb.msg.loggerDefaultVerbose:
logfile = LogTee(logger, sys.stdout)
else:
logfile = sys.stdout
@@ -287,6 +296,13 @@ def _exec_task(fn, task, d, quieterr):
prefuncs = localdata.getVarFlag(task, 'prefuncs', expand=True)
postfuncs = localdata.getVarFlag(task, 'postfuncs', expand=True)
class ErrorCheckHandler(logging.Handler):
def __init__(self):
self.triggered = False
logging.Handler.__init__(self, logging.ERROR)
def emit(self, record):
self.triggered = True
# Handle logfiles
si = file('/dev/null', 'r')
try:
@@ -312,6 +328,9 @@ def _exec_task(fn, task, d, quieterr):
handler.setLevel(logging.DEBUG - 2)
bblogger.addHandler(handler)
errchk = ErrorCheckHandler()
bblogger.addHandler(errchk)
localdata.setVar('BB_LOGFILE', logfn)
event.fire(TaskStarted(task, localdata), localdata)
@@ -322,9 +341,12 @@ def _exec_task(fn, task, d, quieterr):
for func in (postfuncs or '').split():
exec_func(func, localdata)
except FuncFailed as exc:
if not quieterr:
if quieterr:
event.fire(TaskFailedSilent(task, logfn, localdata), localdata)
else:
errprinted = errchk.triggered
logger.error(str(exc))
event.fire(TaskFailed(task, logfn, localdata), localdata)
event.fire(TaskFailed(task, logfn, localdata, errprinted), localdata)
return 1
finally:
sys.stdout.flush()
@@ -367,7 +389,7 @@ def exec_task(fn, task, d):
if not quieterr:
logger.error("Build of %s failed" % (task))
logger.error(format_exc())
failedevent = TaskFailed(task, None, d)
failedevent = TaskFailed(task, None, d, True)
event.fire(failedevent, d)
return 1

View File

@@ -31,7 +31,6 @@
import os
import logging
from collections import defaultdict
import bb.data
import bb.utils
logger = logging.getLogger("BitBake.Cache")
@@ -43,10 +42,10 @@ except ImportError:
logger.info("Importing cPickle failed. "
"Falling back to a very slow implementation.")
__cache_version__ = "142"
__cache_version__ = "143"
def getCacheFile(path, filename):
return os.path.join(path, filename)
def getCacheFile(path, filename, data_hash):
return os.path.join(path, filename + "." + data_hash)
# RecipeInfoCommon defines common data retrieving methods
# from meta data for caches. CoreRecipeInfo as well as other
@@ -138,11 +137,9 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.rdepends_pkg = self.pkgvar('RDEPENDS', self.packages, metadata)
self.rrecommends_pkg = self.pkgvar('RRECOMMENDS', self.packages, metadata)
self.inherits = self.getvar('__inherit_cache', metadata)
self.summary = self.getvar('SUMMARY', metadata)
self.license = self.getvar('LICENSE', metadata)
self.section = self.getvar('SECTION', metadata)
self.fakerootenv = self.getvar('FAKEROOTENV', metadata)
self.fakerootdirs = self.getvar('FAKEROOTDIRS', metadata)
self.fakerootnoenv = self.getvar('FAKEROOTNOENV', metadata)
@classmethod
def init_cacheData(cls, cachedata):
@@ -174,10 +171,8 @@ class CoreRecipeInfo(RecipeInfoCommon):
cachedata.basetaskhash = {}
cachedata.inherits = {}
cachedata.summary = {}
cachedata.license = {}
cachedata.section = {}
cachedata.fakerootenv = {}
cachedata.fakerootnoenv = {}
cachedata.fakerootdirs = {}
def add_cacheData(self, cachedata, fn):
@@ -239,10 +234,8 @@ class CoreRecipeInfo(RecipeInfoCommon):
cachedata.basetaskhash[identifier] = taskhash
cachedata.inherits[fn] = self.inherits
cachedata.summary[fn] = self.summary
cachedata.license[fn] = self.license
cachedata.section[fn] = self.section
cachedata.fakerootenv[fn] = self.fakerootenv
cachedata.fakerootnoenv[fn] = self.fakerootnoenv
cachedata.fakerootdirs[fn] = self.fakerootdirs
@@ -252,18 +245,19 @@ class Cache(object):
BitBake Cache implementation
"""
def __init__(self, data, caches_array):
def __init__(self, data, data_hash, caches_array):
# Pass caches_array information into Cache Constructor
# It will be used in later for deciding whether we
# need extra cache file dump/load support
self.caches_array = caches_array
self.cachedir = bb.data.getVar("CACHE", data, True)
self.cachedir = data.getVar("CACHE", True)
self.clean = set()
self.checked = set()
self.depends_cache = {}
self.data = None
self.data_fn = None
self.cacheclean = True
self.data_hash = data_hash
if self.cachedir in [None, '']:
self.has_cache = False
@@ -272,26 +266,17 @@ class Cache(object):
return
self.has_cache = True
self.cachefile = getCacheFile(self.cachedir, "bb_cache.dat")
self.cachefile = getCacheFile(self.cachedir, "bb_cache.dat", self.data_hash)
logger.debug(1, "Using cache in '%s'", self.cachedir)
bb.utils.mkdirhier(self.cachedir)
# If any of configuration.data's dependencies are newer than the
# cache there isn't even any point in loading it...
newest_mtime = 0
deps = bb.data.getVar("__base_depends", data)
old_mtimes = [old_mtime for _, old_mtime in deps]
old_mtimes.append(newest_mtime)
newest_mtime = max(old_mtimes)
cache_ok = True
if self.caches_array:
for cache_class in self.caches_array:
if type(cache_class) is type and issubclass(cache_class, RecipeInfoCommon):
cachefile = getCacheFile(self.cachedir, cache_class.cachefile)
cache_ok = cache_ok and (bb.parse.cached_mtime_noerror(cachefile) >= newest_mtime)
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
cache_ok = cache_ok and os.path.exists(cachefile)
cache_class.init_cacheData(self)
if cache_ok:
self.load_cachefile()
@@ -325,7 +310,7 @@ class Cache(object):
# Calculate the correct cachesize of all those cache files
for cache_class in self.caches_array:
if type(cache_class) is type and issubclass(cache_class, RecipeInfoCommon):
cachefile = getCacheFile(self.cachedir, cache_class.cachefile)
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
with open(cachefile, "rb") as cachefile:
cachesize += os.fstat(cachefile.fileno()).st_size
@@ -333,7 +318,7 @@ class Cache(object):
for cache_class in self.caches_array:
if type(cache_class) is type and issubclass(cache_class, RecipeInfoCommon):
cachefile = getCacheFile(self.cachedir, cache_class.cachefile)
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
with open(cachefile, "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
while cachefile:
@@ -351,7 +336,7 @@ class Cache(object):
current_percent = 100 * current_progress / cachesize
if current_percent > previous_percent:
previous_percent = current_percent
bb.event.fire(bb.event.CacheLoadProgress(current_progress),
bb.event.fire(bb.event.CacheLoadProgress(current_progress, cachesize),
self.data)
previous_progress += current_progress
@@ -586,7 +571,7 @@ class Cache(object):
for cache_class in self.caches_array:
if type(cache_class) is type and issubclass(cache_class, RecipeInfoCommon):
cache_class_name = cache_class.__name__
cachefile = getCacheFile(self.cachedir, cache_class.cachefile)
cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash)
file_dict[cache_class_name] = open(cachefile, "wb")
pickler_dict[cache_class_name] = pickle.Pickler(file_dict[cache_class_name], pickle.HIGHEST_PROTOCOL)
@@ -691,7 +676,7 @@ def init(cooker):
Files causing parsing errors are evicted from the cache.
"""
return Cache(cooker.configuration.data)
return Cache(cooker.configuration.data, cooker.configuration.data_hash)
class CacheData(object):

View File

@@ -40,6 +40,7 @@ class HobRecipeInfo(RecipeInfoCommon):
self.summary = self.getvar('SUMMARY', metadata)
self.license = self.getvar('LICENSE', metadata)
self.section = self.getvar('SECTION', metadata)
self.description = self.getvar('DESCRIPTION', metadata)
@classmethod
def init_cacheData(cls, cachedata):
@@ -47,8 +48,10 @@ class HobRecipeInfo(RecipeInfoCommon):
cachedata.summary = {}
cachedata.license = {}
cachedata.section = {}
cachedata.description = {}
def add_cacheData(self, cachedata, fn):
cachedata.summary[fn] = self.summary
cachedata.license[fn] = self.license
cachedata.section[fn] = self.section
cachedata.description[fn] = self.description

View File

@@ -36,8 +36,8 @@ pythonparsecache = {}
shellparsecache = {}
def parser_cachefile(d):
cachedir = (bb.data.getVar("PERSISTENT_DIR", d, True) or
bb.data.getVar("CACHE", d, True))
cachedir = (d.getVar("PERSISTENT_DIR", True) or
d.getVar("CACHE", True))
if cachedir in [None, '']:
return None
bb.utils.mkdirhier(cachedir)
@@ -150,117 +150,79 @@ def parser_cache_savemerge(d):
bb.utils.unlockfile(glf)
Logger = logging.getLoggerClass()
class BufferedLogger(Logger):
def __init__(self, name, level=0, target=None):
Logger.__init__(self, name)
self.setLevel(level)
self.buffer = []
self.target = target
def handle(self, record):
self.buffer.append(record)
def flush(self):
for record in self.buffer:
self.target.handle(record)
self.buffer = []
class PythonParser():
class ValueVisitor():
"""Visitor to traverse a python abstract syntax tree and obtain
the variables referenced via bitbake metadata APIs, and the external
functions called.
getvars = ("d.getVar", "bb.data.getVar", "data.getVar")
execfuncs = ("bb.build.exec_func", "bb.build.exec_task")
def warn(self, func, arg):
"""Warn about calls of bitbake APIs which pass a non-literal
argument for the variable name, as we're not able to track such
a reference.
"""
getvars = ("d.getVar", "bb.data.getVar", "data.getVar")
expands = ("d.expand", "bb.data.expand", "data.expand")
execs = ("bb.build.exec_func", "bb.build.exec_task")
try:
funcstr = codegen.to_source(func)
argstr = codegen.to_source(arg)
except TypeError:
self.log.debug(2, 'Failed to convert function and argument to source form')
else:
self.log.debug(1, self.unhandled_message % (funcstr, argstr))
@classmethod
def _compare_name(cls, strparts, node):
"""Given a sequence of strings representing a python name,
where the last component is the actual Name and the prior
elements are Attribute nodes, determine if the supplied node
matches.
"""
def visit_Call(self, node):
name = self.called_node_name(node.func)
if name in self.getvars:
if isinstance(node.args[0], ast.Str):
self.var_references.add(node.args[0].s)
else:
self.warn(node.func, node.args[0])
elif name in self.execfuncs:
if isinstance(node.args[0], ast.Str):
self.var_execs.add(node.args[0].s)
else:
self.warn(node.func, node.args[0])
elif name and isinstance(node.func, (ast.Name, ast.Attribute)):
self.execs.add(name)
if not strparts:
return True
current, rest = strparts[0], strparts[1:]
def called_node_name(self, node):
"""Given a called node, return its original string form"""
components = []
while node:
if isinstance(node, ast.Attribute):
if current == node.attr:
return cls._compare_name(rest, node.value)
components.append(node.attr)
node = node.value
elif isinstance(node, ast.Name):
if current == node.id:
return True
return False
@classmethod
def compare_name(cls, value, node):
"""Convenience function for the _compare_node method, which
can accept a string (which is split by '.' for you), or an
iterable of strings, in which case it checks to see if any of
them match, similar to isinstance.
"""
if isinstance(value, basestring):
return cls._compare_name(tuple(reversed(value.split("."))),
node)
components.append(node.id)
return '.'.join(reversed(components))
else:
return any(cls.compare_name(item, node) for item in value)
break
def __init__(self, value):
self.var_references = set()
self.var_execs = set()
self.direct_func_calls = set()
self.var_expands = set()
self.value = value
@classmethod
def warn(cls, func, arg):
"""Warn about calls of bitbake APIs which pass a non-literal
argument for the variable name, as we're not able to track such
a reference.
"""
try:
funcstr = codegen.to_source(func)
argstr = codegen.to_source(arg)
except TypeError:
logger.debug(2, 'Failed to convert function and argument to source form')
else:
logger.debug(1, "Warning: in call to '%s', argument '%s' is "
"not a literal", funcstr, argstr)
def visit_Call(self, node):
if self.compare_name(self.getvars, node.func):
if isinstance(node.args[0], ast.Str):
self.var_references.add(node.args[0].s)
else:
self.warn(node.func, node.args[0])
elif self.compare_name(self.expands, node.func):
if isinstance(node.args[0], ast.Str):
self.warn(node.func, node.args[0])
self.var_expands.update(node.args[0].s)
elif isinstance(node.args[0], ast.Call) and \
self.compare_name(self.getvars, node.args[0].func):
pass
else:
self.warn(node.func, node.args[0])
elif self.compare_name(self.execs, node.func):
if isinstance(node.args[0], ast.Str):
self.var_execs.add(node.args[0].s)
else:
self.warn(node.func, node.args[0])
elif isinstance(node.func, ast.Name):
self.direct_func_calls.add(node.func.id)
elif isinstance(node.func, ast.Attribute):
# We must have a qualified name. Therefore we need
# to walk the chain of 'Attribute' nodes to determine
# the qualification.
attr_node = node.func.value
identifier = node.func.attr
while isinstance(attr_node, ast.Attribute):
identifier = attr_node.attr + "." + identifier
attr_node = attr_node.value
if isinstance(attr_node, ast.Name):
identifier = attr_node.id + "." + identifier
self.direct_func_calls.add(identifier)
def __init__(self):
#self.funcdefs = set()
def __init__(self, name, log):
self.var_references = set()
self.var_execs = set()
self.execs = set()
#self.external_cmds = set()
self.references = set()
self.log = BufferedLogger('BitBake.Data.%s' % name, logging.DEBUG, log)
self.unhandled_message = "in call of %s, argument '%s' is not a string literal"
self.unhandled_message = "while parsing %s, %s" % (name, self.unhandled_message)
def parse_python(self, node):
h = hash(str(node))
if h in pythonparsecache:
@@ -271,24 +233,25 @@ class PythonParser():
code = compile(check_indent(str(node)), "<string>", "exec",
ast.PyCF_ONLY_AST)
visitor = self.ValueVisitor(code)
for n in ast.walk(code):
if n.__class__.__name__ == "Call":
visitor.visit_Call(n)
self.visit_Call(n)
self.references.update(visitor.var_references)
self.references.update(visitor.var_execs)
self.execs = visitor.direct_func_calls
self.references.update(self.var_references)
self.references.update(self.var_execs)
pythonparsecache[h] = {}
pythonparsecache[h]["refs"] = self.references
pythonparsecache[h]["execs"] = self.execs
class ShellParser():
def __init__(self):
def __init__(self, name, log):
self.funcdefs = set()
self.allexecs = set()
self.execs = set()
self.log = BufferedLogger('BitBake.Data.%s' % name, logging.DEBUG, log)
self.unhandled_template = "unable to handle non-literal command '%s'"
self.unhandled_template = "while parsing %s, %s" % (name, self.unhandled_template)
def parse_shell(self, value):
"""Parse the supplied shell code in a string, returning the external
@@ -403,8 +366,7 @@ class ShellParser():
cmd = word[1]
if cmd.startswith("$"):
logger.debug(1, "Warning: execution of non-literal "
"command '%s'", cmd)
self.log.debug(1, self.unhandled_template % cmd)
elif cmd == "eval":
command = " ".join(word for _, word in words[1:])
self.parse_shell(command)

View File

@@ -30,11 +30,6 @@ Commands are queued in a CommandQueue
import bb.event
import bb.cooker
import bb.data
async_cmds = {}
sync_cmds = {}
class CommandCompleted(bb.event.Event):
pass
@@ -61,16 +56,6 @@ class Command:
# FIXME Add lock for this
self.currentAsyncCommand = None
for attr in CommandsSync.__dict__:
command = attr[:].lower()
method = getattr(CommandsSync, attr)
sync_cmds[command] = (method)
for attr in CommandsAsync.__dict__:
command = attr[:].lower()
method = getattr(CommandsAsync, attr)
async_cmds[command] = (method)
def runCommand(self, commandline):
try:
command = commandline.pop(0)
@@ -113,9 +98,12 @@ class Command:
else:
self.finishAsyncCommand("Exited with %s" % arg)
return False
except Exception:
except Exception as exc:
import traceback
self.finishAsyncCommand(traceback.format_exc())
if isinstance(exc, bb.BBHandledException):
self.finishAsyncCommand("")
else:
self.finishAsyncCommand(traceback.format_exc())
return False
def finishAsyncCommand(self, msg=None, code=None):
@@ -162,7 +150,7 @@ class CommandsSync:
if len(params) > 1:
expand = params[1]
return bb.data.getVar(varname, command.cooker.configuration.data, expand)
return command.cooker.configuration.data.getVar(varname, expand)
def setVariable(self, command, params):
"""
@@ -170,7 +158,13 @@ class CommandsSync:
"""
varname = params[0]
value = params[1]
bb.data.setVar(varname, value, command.cooker.configuration.data)
command.cooker.configuration.data.setVar(varname, value)
def initCooker(self, command, params):
"""
Init the cooker to initial state with nothing parsed
"""
command.cooker.initialize()
def resetCooker(self, command, params):
"""
@@ -179,6 +173,18 @@ class CommandsSync:
"""
command.cooker.reset()
def getCpuCount(self, command, params):
"""
Get the CPU count on the bitbake server
"""
return bb.utils.cpu_count()
def triggerEvent(self, command, params):
"""
Trigger a certain event
"""
event = params[0]
bb.event.fire(eval(event), command.cooker.configuration.data)
class CommandsAsync:
"""
@@ -236,17 +242,35 @@ class CommandsAsync:
included in the package list.
If pkg_list provided use that list (plus any extras brought in by
klass) rather than generating a tree for all packages.
Add a new option "resolve" to indicate if we need to resolve the
replacement for "virtual/xxx" like pn.
"""
klass = params[0]
if len(params) > 1:
resolve = False
if len(params) > 2:
pkg_list = params[1]
resolve = params[2]
elif len(params) > 1:
pkg_list = params[1]
else:
pkg_list = []
command.cooker.generateTargetsTree(klass, pkg_list)
command.cooker.generateTargetsTree(klass, pkg_list, resolve)
command.finishAsyncCommand()
generateTargetsTree.needcache = True
def findCoreBaseFiles(self, command, params):
"""
Find certain files in COREBASE directory. i.e. Layers
"""
subdir = params[0]
filename = params[1]
command.cooker.findCoreBaseFiles(subdir, filename)
command.finishAsyncCommand()
findCoreBaseFiles.needcache = False
def findConfigFiles(self, command, params):
"""
Find config files which provide appropriate values
@@ -256,7 +280,7 @@ class CommandsAsync:
command.cooker.findConfigFiles(varname)
command.finishAsyncCommand()
findConfigFiles.needcache = True
findConfigFiles.needcache = False
def findFilesMatchingInDir(self, command, params):
"""
@@ -268,7 +292,7 @@ class CommandsAsync:
command.cooker.findFilesMatchingInDir(pattern, directory)
command.finishAsyncCommand()
findFilesMatchingInDir.needcache = True
findFilesMatchingInDir.needcache = False
def findConfigFilePath(self, command, params):
"""
@@ -335,3 +359,13 @@ class CommandsAsync:
else:
command.finishAsyncCommand()
compareRevisions.needcache = True
def parseConfigurationFiles(self, command, params):
"""
Parse the configuration files
"""
prefiles = params[0]
postfiles = params[1]
command.cooker.parseConfigurationFiles(prefiles, postfiles)
command.finishAsyncCommand()
parseConfigurationFiles.needcache = False

View File

@@ -34,8 +34,10 @@ from cStringIO import StringIO
from contextlib import closing
from functools import wraps
from collections import defaultdict
import bb, bb.exceptions
from bb import utils, data, parse, event, cache, providers, taskdata, command, runqueue
import bb, bb.exceptions, bb.command
from bb import utils, data, parse, event, cache, providers, taskdata, runqueue
import Queue
import prserv.serv
logger = logging.getLogger("BitBake")
collectlog = logging.getLogger("BitBake.Collection")
@@ -43,9 +45,9 @@ buildlog = logging.getLogger("BitBake.Build")
parselog = logging.getLogger("BitBake.Parsing")
providerlog = logging.getLogger("BitBake.Provider")
class MultipleMatches(Exception):
class NoSpecificMatch(bb.BBHandledException):
"""
Exception raised when multiple file matches are found
Exception raised when no or multiple file matches are found
"""
class NothingToBuild(Exception):
@@ -53,6 +55,11 @@ class NothingToBuild(Exception):
Exception raised when there is nothing to build
"""
class CollectionError(bb.BBHandledException):
"""
Exception raised when layer configuration is incorrect
"""
class state:
initial, parsing, running, shutdown, stop = range(5)
@@ -135,10 +142,14 @@ class BBCooker:
self.configuration.data = None
self.loadConfigurationData()
if not self.configuration.cmd:
self.configuration.cmd = bb.data.getVar("BB_DEFAULT_TASK", self.configuration.data, True) or "build"
# Take a lock so only one copy of bitbake can run against a given build
# directory at a time
lockfile = self.configuration.data.expand("${TOPDIR}/bitbake.lock")
self.lock = bb.utils.lockfile(lockfile, False, False)
if not self.lock:
bb.fatal("Only one copy of bitbake should be run against a build directory")
bbpkgs = bb.data.getVar('BBPKGS', self.configuration.data, True)
bbpkgs = self.configuration.data.getVar('BBPKGS', True)
if bbpkgs and len(self.configuration.pkgs_to_build) == 0:
self.configuration.pkgs_to_build.extend(bbpkgs.split())
@@ -163,7 +174,7 @@ class BBCooker:
self.parser = None
def loadConfigurationData(self):
def initConfigurationData(self):
self.configuration.data = bb.data.init()
if not self.server_registration_cb:
@@ -172,6 +183,15 @@ class BBCooker:
filtered_keys = bb.utils.approved_variables()
bb.data.inheritFromOS(self.configuration.data, self.savedenv, filtered_keys)
def loadConfigurationData(self):
self.configuration.data = bb.data.init()
if not self.server_registration_cb:
self.configuration.data.setVar("BB_WORKERCONTEXT", "1")
filtered_keys = bb.utils.approved_variables()
bb.data.inheritFromOS(self.configuration.data, self.savedenv, filtered_keys)
try:
self.parseConfigurationFiles(self.configuration.prefile,
self.configuration.postfile)
@@ -182,13 +202,17 @@ class BBCooker:
sys.exit(1)
if not self.configuration.cmd:
self.configuration.cmd = bb.data.getVar("BB_DEFAULT_TASK", self.configuration.data, True) or "build"
self.configuration.cmd = self.configuration.data.getVar("BB_DEFAULT_TASK", True) or "build"
def parseConfiguration(self):
# Set log file verbosity
verboselogs = bb.utils.to_boolean(self.configuration.data.getVar("BB_VERBOSE_LOGS", "0"))
if verboselogs:
bb.msg.loggerVerboseLogs = True
# Change nice level if we're asked to
nice = bb.data.getVar("BB_NICE_LEVEL", self.configuration.data, True)
nice = self.configuration.data.getVar("BB_NICE_LEVEL", True)
if nice:
curnice = os.nice(0)
nice = int(nice) - curnice
@@ -244,20 +268,8 @@ class BBCooker:
# Need files parsed
self.updateCache()
# Need to ensure data store is expanded
localdata = data.createCopy(self.configuration.data)
bb.data.update_data(localdata)
bb.data.expandKeys(localdata)
pkg_pn = self.status.pkg_pn
preferred_versions = {}
latest_versions = {}
# Sort by priority
for pn in pkg_pn:
(last_ver, last_file, pref_ver, pref_file) = bb.providers.findBestProvider(pn, localdata, self.status)
preferred_versions[pn] = (pref_ver, pref_file)
latest_versions[pn] = (last_ver, last_file)
(latest_versions, preferred_versions) = bb.providers.findProviders(self.configuration.data, self.status, pkg_pn)
logger.plain("%-35s %25s %25s", "Package Name", "Latest Version", "Preferred Version")
logger.plain("%-35s %25s %25s\n", "============", "==============", "=================")
@@ -286,9 +298,11 @@ class BBCooker:
# this showEnvironment() code path doesn't use the cache
self.parseConfiguration()
self.status = bb.cache.CacheData(self.caches_array)
self.handleCollections( bb.data.getVar("BBFILE_COLLECTIONS", self.configuration.data, 1) )
self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", 1) )
fn = self.matchFile(buildfile)
fn, cls = bb.cache.Cache.virtualfn2realfn(buildfile)
fn = self.matchFile(fn)
fn = bb.cache.Cache.realfn2virtual(fn, cls)
elif len(pkgs_to_build) == 1:
self.updateCache()
@@ -329,6 +343,7 @@ class BBCooker:
"""
Prepare a runqueue and taskdata object for iteration over pkgs_to_build
"""
bb.event.fire(bb.event.TreeDataPreparationStarted(), self.configuration.data)
# Need files parsed
self.updateCache()
# If we are told to do the None task then query the default task
@@ -345,11 +360,14 @@ class BBCooker:
taskdata = bb.taskdata.TaskData(False, skiplist=self.skiplist)
runlist = []
current = 0
for k in pkgs_to_build:
taskdata.add_provider(localdata, self.status, k)
runlist.append([k, "do_%s" % task])
current += 1
bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(pkgs_to_build)), self.configuration.data)
taskdata.add_unresolved(localdata, self.status)
bb.event.fire(bb.event.TreeDataPreparationCompleted(len(pkgs_to_build)), self.configuration.data)
return runlist, taskdata
def generateTaskDepTreeData(self, pkgs_to_build, task):
@@ -424,7 +442,20 @@ class BBCooker:
return depend_tree
def generatePkgDepTreeData(self, pkgs_to_build, task):
def append_package(self, taskdata, depend_tree_package, package):
if package not in depend_tree_package:
targetid = taskdata.getrun_id(package)
if targetid in taskdata.run_targets and taskdata.run_targets[targetid]:
fnid = taskdata.run_targets[targetid][0]
fn = taskdata.fn_index[fnid]
pn = self.status.pkg_fn[fn]
version = "%s:%s-%s" % self.status.pkg_pepvpr[fn]
depend_tree_package[package] = {}
depend_tree_package[package]["pn"] = pn
depend_tree_package[package]["filename"] = fn
depend_tree_package[package]["version"] = version
def generatePkgDepTreeData(self, pkgs_to_build, task, resolve=False):
"""
Create a dependency tree of pkgs_to_build, returning the data.
"""
@@ -441,6 +472,7 @@ class BBCooker:
depend_tree["rdepends-pn"] = {}
depend_tree["packages"] = {}
depend_tree["rdepends-pkg"] = {}
depend_tree["rrecs-pkg"] = {}
for task in xrange(len(tasks_fnid)):
fnid = tasks_fnid[task]
@@ -450,6 +482,9 @@ class BBCooker:
summary = self.status.summary[fn]
lic = self.status.license[fn]
section = self.status.section[fn]
description = self.status.description[fn]
rdepends = self.status.rundeps[fn]
rrecs = self.status.runrecs[fn]
if pn not in depend_tree["pn"]:
depend_tree["pn"][pn] = {}
depend_tree["pn"][pn]["filename"] = fn
@@ -457,6 +492,8 @@ class BBCooker:
depend_tree["pn"][pn]["summary"] = summary
depend_tree["pn"][pn]["license"] = lic
depend_tree["pn"][pn]["section"] = section
depend_tree["pn"][pn]["description"] = description
depend_tree["pn"][pn]["packages"] = rdepends.keys()
if fnid not in seen_fnids:
seen_fnids.append(fnid)
@@ -464,25 +501,44 @@ class BBCooker:
depend_tree["depends"][pn] = []
for dep in taskdata.depids[fnid]:
depend_tree["depends"][pn].append(taskdata.build_names_index[dep])
if resolve:
item = taskdata.build_names_index[dep]
pn_provider = ""
targetid = taskdata.getbuild_id(item)
if targetid in taskdata.build_targets and taskdata.build_targets[targetid]:
fnid = taskdata.build_targets[targetid][0]
fn_provider = taskdata.fn_index[fnid]
pn_provider = self.status.pkg_fn[fn_provider]
else:
pn_provider = item
depend_tree["depends"][pn].append(pn_provider)
else:
depend_tree["depends"][pn].append(taskdata.build_names_index[dep])
depend_tree["rdepends-pn"][pn] = []
for rdep in taskdata.rdepids[fnid]:
depend_tree["rdepends-pn"][pn].append(taskdata.run_names_index[rdep])
rdepends = self.status.rundeps[fn]
for package in rdepends:
depend_tree["rdepends-pkg"][package] = []
for rdepend in rdepends[package]:
depend_tree["rdepends-pkg"][package].append(rdepend)
packages.append(package)
if resolve:
self.append_package(taskdata, depend_tree["packages"], rdepend)
if not package in packages:
packages.append(package)
for package in rrecs:
depend_tree["rrecs-pkg"][package] = []
for rrec in rrecs[package]:
depend_tree["rrecs-pkg"][package].append(rrec)
if resolve:
self.append_package(taskdata, depend_tree["packages"], rrec)
if not package in packages:
packages.append(package)
for package in packages:
if package not in depend_tree["packages"]:
depend_tree["packages"][package] = {}
depend_tree["packages"][package]["pn"] = pn
depend_tree["packages"][package]["filename"] = fn
depend_tree["packages"][package]["version"] = version
self.append_package(taskdata, depend_tree["packages"], package)
return depend_tree
@@ -590,7 +646,7 @@ class BBCooker:
bb.data.expandKeys(localdata)
# Handle PREFERRED_PROVIDERS
for p in (bb.data.getVar('PREFERRED_PROVIDERS', localdata, True) or "").split():
for p in (localdata.getVar('PREFERRED_PROVIDERS', True) or "").split():
try:
(providee, provider) = p.split(':')
except:
@@ -626,6 +682,18 @@ class BBCooker:
if regex in unmatched:
collectlog.warn("No bb files matched BBFILE_PATTERN_%s '%s'" % (collection, pattern))
def findCoreBaseFiles(self, subdir, configfile):
corebase = self.configuration.data.getVar('COREBASE', True) or ""
paths = []
for root, dirs, files in os.walk(corebase + '/' + subdir):
for d in dirs:
configfilepath = os.path.join(root, d, configfile)
if os.path.exists(configfilepath):
paths.append(os.path.join(root, d))
if paths:
bb.event.fire(bb.event.CoreBaseFilesFound(paths), self.configuration.data)
def findConfigFilePath(self, configfile):
"""
Find the location on disk of configfile and if it exists and was parsed by BitBake
@@ -638,8 +706,8 @@ class BBCooker:
# Generate a list of parsed configuration files by searching the files
# listed in the __depends and __base_depends variables with a .conf suffix.
conffiles = []
dep_files = bb.data.getVar('__depends', self.configuration.data) or set()
dep_files.union(bb.data.getVar('__base_depends', self.configuration.data) or set())
dep_files = self.configuration.data.getVar('__depends') or set()
dep_files.union(self.configuration.data.getVar('__base_depends') or set())
for f in dep_files:
if f[0].endswith(".conf"):
@@ -667,7 +735,7 @@ class BBCooker:
matches = []
p = re.compile(re.escape(filepattern))
bbpaths = bb.data.getVar('BBPATH', self.configuration.data, True).split(':')
bbpaths = self.configuration.data.getVar('BBPATH', True).split(':')
for path in bbpaths:
dirpath = os.path.join(path, directory)
if os.path.exists(dirpath):
@@ -689,7 +757,7 @@ class BBCooker:
data = self.configuration.data
# iterate configs
bbpaths = bb.data.getVar('BBPATH', data, True).split(':')
bbpaths = data.getVar('BBPATH', True).split(':')
for path in bbpaths:
confpath = os.path.join(path, "conf", var)
if os.path.exists(confpath):
@@ -716,7 +784,7 @@ class BBCooker:
return pkg_list
def generateTargetsTree(self, klass=None, pkgs=[]):
def generateTargetsTree(self, klass=None, pkgs=[], resolve=False):
"""
Generate a dependency tree of buildable targets
Generate an event with the result
@@ -731,7 +799,7 @@ class BBCooker:
pkgs = pkgs + extra_pkgs
# generate a dependency tree for all our packages
tree = self.generatePkgDepTreeData(pkgs, 'build')
tree = self.generatePkgDepTreeData(pkgs, 'build', resolve)
bb.event.fire(bb.event.TargetsTreeGenerated(tree), self.configuration.data)
def buildWorldTargetList(self):
@@ -794,16 +862,16 @@ class BBCooker:
parselog.debug(2, "Found bblayers.conf (%s)", layerconf)
data = _parse(layerconf, data)
layers = (bb.data.getVar('BBLAYERS', data, True) or "").split()
layers = (data.getVar('BBLAYERS', True) or "").split()
data = bb.data.createCopy(data)
for layer in layers:
parselog.debug(2, "Adding layer %s", layer)
bb.data.setVar('LAYERDIR', layer, data)
data.setVar('LAYERDIR', layer)
data = _parse(os.path.join(layer, "conf", "layer.conf"), data)
data.expandVarref('LAYERDIR')
bb.data.delVar('LAYERDIR', data)
data.delVar('LAYERDIR')
if not data.getVar("BBPATH", True):
raise SystemExit("The BBPATH variable is not set")
@@ -821,18 +889,21 @@ class BBCooker:
# Nomally we only register event handlers at the end of parsing .bb files
# We register any handlers we've found so far here...
for var in bb.data.getVar('__BBHANDLERS', data) or []:
bb.event.register(var, bb.data.getVar(var, data))
for var in data.getVar('__BBHANDLERS') or []:
bb.event.register(var, data.getVar(var))
if data.getVar("BB_WORKERCONTEXT", False) is None:
bb.fetch.fetcher_init(data)
bb.codeparser.parser_cache_init(data)
bb.parse.init_parser(data)
bb.event.fire(bb.event.ConfigParsed(), data)
bb.parse.init_parser(data)
data.setVar('BBINCLUDED',bb.parse.get_file_depends(data))
self.configuration.data = data
self.configuration.data_hash = data.get_hash()
def handleCollections( self, collections ):
"""Handle collections"""
errors = False
self.status.bbfile_config_priorities = []
if collections:
collection_priorities = {}
@@ -841,12 +912,13 @@ class BBCooker:
min_prio = 0
for c in collection_list:
# Get collection priority if defined explicitly
priority = bb.data.getVar("BBFILE_PRIORITY_%s" % c, self.configuration.data, 1)
priority = self.configuration.data.getVar("BBFILE_PRIORITY_%s" % c, 1)
if priority:
try:
prio = int(priority)
except ValueError:
parselog.error("invalid value for BBFILE_PRIORITY_%s: \"%s\"", c, priority)
errors = True
if min_prio == 0 or prio < min_prio:
min_prio = prio
collection_priorities[c] = prio
@@ -854,7 +926,7 @@ class BBCooker:
collection_priorities[c] = None
# Check dependencies and store information for priority calculation
deps = bb.data.getVar("LAYERDEPENDS_%s" % c, self.configuration.data, 1)
deps = self.configuration.data.getVar("LAYERDEPENDS_%s" % c, 1)
if deps:
depnamelist = []
deplist = deps.split()
@@ -865,6 +937,7 @@ class BBCooker:
depver = int(depsplit[1])
except ValueError:
parselog.error("invalid version value in LAYERDEPENDS_%s: \"%s\"", c, dep)
errors = True
continue
else:
depver = None
@@ -873,19 +946,23 @@ class BBCooker:
if dep in collection_list:
if depver:
layerver = bb.data.getVar("LAYERVERSION_%s" % dep, self.configuration.data, 1)
layerver = self.configuration.data.getVar("LAYERVERSION_%s" % dep, 1)
if layerver:
try:
lver = int(layerver)
except ValueError:
parselog.error("invalid value for LAYERVERSION_%s: \"%s\"", c, layerver)
errors = True
continue
if lver <> depver:
parselog.error("Layer dependency %s of layer %s is at version %d, expected %d", dep, c, lver, depver)
errors = True
else:
parselog.error("Layer dependency %s of layer %s has no version, expected %d", dep, c, depver)
errors = True
else:
parselog.error("Layer dependency %s of layer %s not found", dep, c)
errors = True
collection_depends[c] = depnamelist
else:
collection_depends[c] = []
@@ -906,24 +983,29 @@ class BBCooker:
# Calculate all layer priorities using calc_layer_priority and store in bbfile_config_priorities
for c in collection_list:
calc_layer_priority(c)
regex = bb.data.getVar("BBFILE_PATTERN_%s" % c, self.configuration.data, 1)
regex = self.configuration.data.getVar("BBFILE_PATTERN_%s" % c, 1)
if regex == None:
parselog.error("BBFILE_PATTERN_%s not defined" % c)
errors = True
continue
try:
cre = re.compile(regex)
except re.error:
parselog.error("BBFILE_PATTERN_%s \"%s\" is not a valid regular expression", c, regex)
errors = True
continue
self.status.bbfile_config_priorities.append((c, regex, cre, collection_priorities[c]))
if errors:
# We've already printed the actual error(s)
raise CollectionError("Errors during parsing layer configuration")
def buildSetVars(self):
"""
Setup any variables needed before starting a build
"""
if not bb.data.getVar("BUILDNAME", self.configuration.data):
bb.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M'), self.configuration.data)
bb.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime()), self.configuration.data)
if not self.configuration.data.getVar("BUILDNAME"):
self.configuration.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M'))
self.configuration.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime()))
def matchFiles(self, bf):
"""
@@ -951,10 +1033,15 @@ class BBCooker:
"""
matches = self.matchFiles(buildfile)
if len(matches) != 1:
parselog.error("Unable to match %s (%s matches found):" % (buildfile, len(matches)))
for f in matches:
parselog.error(" %s" % f)
raise MultipleMatches
if matches:
msg = "Unable to match '%s' to a specific recipe file - %s matches found:" % (buildfile, len(matches))
if matches:
for f in matches:
msg += "\n %s" % f
parselog.error(msg)
else:
parselog.error("Unable to find any recipe file matching '%s'" % buildfile)
raise NoSpecificMatch
return matches[0]
def buildFile(self, buildfile, task):
@@ -970,7 +1057,7 @@ class BBCooker:
# buildFile() doesn't use the cache
self.parseConfiguration()
self.status = bb.cache.CacheData(self.caches_array)
self.handleCollections( bb.data.getVar("BBFILE_COLLECTIONS", self.configuration.data, 1) )
self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", 1) )
# If we are told to do the None task then query the default task
if (task == None):
@@ -1014,7 +1101,7 @@ class BBCooker:
taskdata = bb.taskdata.TaskData(self.configuration.abort)
taskdata.add_provider(self.configuration.data, self.status, item)
buildname = bb.data.getVar("BUILDNAME", self.configuration.data)
buildname = self.configuration.data.getVar("BUILDNAME")
bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.configuration.event_data)
# Execute the runqueue
@@ -1032,8 +1119,6 @@ class BBCooker:
try:
retval = rq.execute_runqueue()
except runqueue.TaskFailure as exc:
for fnid in exc.args:
buildlog.error("'%s' failed" % taskdata.fn_index[fnid])
failures += len(exc.args)
retval = False
except SystemExit as exc:
@@ -1041,7 +1126,7 @@ class BBCooker:
return False
if not retval:
bb.event.fire(bb.event.BuildCompleted(buildname, item, failures), self.configuration.event_data)
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, item, failures), self.configuration.event_data)
self.command.finishAsyncCommand()
return False
if retval is True:
@@ -1062,6 +1147,7 @@ class BBCooker:
if (task == None):
task = self.configuration.cmd
universe = ('universe' in targets)
targets = self.checkPackages(targets)
def buildTargetsIdle(server, rq, abort):
@@ -1073,8 +1159,6 @@ class BBCooker:
try:
retval = rq.execute_runqueue()
except runqueue.TaskFailure as exc:
for fnid in exc.args:
buildlog.error("'%s' failed" % taskdata.fn_index[fnid])
failures += len(exc.args)
retval = False
except SystemExit as exc:
@@ -1082,7 +1166,7 @@ class BBCooker:
return False
if not retval:
bb.event.fire(bb.event.BuildCompleted(buildname, targets, failures), self.configuration.event_data)
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, targets, failures), self.configuration.data)
self.command.finishAsyncCommand()
return False
if retval is True:
@@ -1091,8 +1175,8 @@ class BBCooker:
self.buildSetVars()
buildname = bb.data.getVar("BUILDNAME", self.configuration.data)
bb.event.fire(bb.event.BuildStarted(buildname, targets), self.configuration.event_data)
buildname = self.configuration.data.getVar("BUILDNAME")
bb.event.fire(bb.event.BuildStarted(buildname, targets), self.configuration.data)
localdata = data.createCopy(self.configuration.data)
bb.data.update_data(localdata)
@@ -1107,6 +1191,8 @@ class BBCooker:
taskdata.add_unresolved(localdata, self.status)
rq = bb.runqueue.RunQueue(self, self.configuration.data, self.status, taskdata, runlist)
if universe:
rq.rqdata.warn_multi_bb = True
self.server_registration_cb(buildTargetsIdle, rq)
@@ -1125,16 +1211,16 @@ class BBCooker:
del self.status
self.status = bb.cache.CacheData(self.caches_array)
ignore = bb.data.getVar("ASSUME_PROVIDED", self.configuration.data, 1) or ""
ignore = self.configuration.data.getVar("ASSUME_PROVIDED", 1) or ""
self.status.ignored_dependencies = set(ignore.split())
for dep in self.configuration.extra_assume_provided:
self.status.ignored_dependencies.add(dep)
self.handleCollections( bb.data.getVar("BBFILE_COLLECTIONS", self.configuration.data, 1) )
self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", 1) )
(filelist, masked) = self.collect_bbfiles()
bb.data.renameVar("__depends", "__base_depends", self.configuration.data)
self.configuration.data.renameVar("__depends", "__base_depends")
self.parser = CookerParser(self, filelist, masked)
self.state = state.parsing
@@ -1160,6 +1246,7 @@ class BBCooker:
pkgs_to_build.append(t)
if 'universe' in pkgs_to_build:
parselog.warn("The \"universe\" target is only intended for testing and may produce errors.")
parselog.debug(1, "collating packages for \"universe\"")
pkgs_to_build.remove('universe')
for t in self.status.universe_target:
@@ -1225,7 +1312,7 @@ class BBCooker:
if g not in newfiles:
newfiles.append(g)
bbmask = bb.data.getVar('BBMASK', self.configuration.data, 1)
bbmask = self.configuration.data.getVar('BBMASK', 1)
if bbmask:
try:
@@ -1284,9 +1371,11 @@ class BBCooker:
# Empty the environment. The environment will be populated as
# necessary from the data store.
#bb.utils.empty_environment()
prserv.serv.auto_start(self.configuration.data)
return
def post_serve(self):
prserv.serv.auto_shutdown(self.configuration.data)
bb.event.fire(CookerExit(), self.configuration.event_data)
def shutdown(self):
@@ -1298,6 +1387,10 @@ class BBCooker:
def reparseFiles(self):
return
def initialize(self):
self.state = state.initial
self.initConfigurationData()
def reset(self):
self.state = state.initial
self.loadConfigurationData()
@@ -1368,7 +1461,7 @@ def _parse(fn, data, include=True):
@catch_parse_error
def _inherit(bbclass, data):
bb.parse.BBHandler.inherit([bbclass], data)
bb.parse.BBHandler.inherit([bbclass], "configuration INHERITs", 0, data)
return data
class ParsingFailure(Exception):
@@ -1377,26 +1470,94 @@ class ParsingFailure(Exception):
self.recipe = recipe
Exception.__init__(self, realexception, recipe)
def parse_file(task):
filename, appends, caches_array = task
try:
return True, bb.cache.Cache.parse(filename, appends, parse_file.cfg, caches_array)
except Exception as exc:
tb = sys.exc_info()[2]
exc.recipe = filename
exc.traceback = list(bb.exceptions.extract_traceback(tb, context=3))
raise exc
# Need to turn BaseExceptions into Exceptions here so we gracefully shutdown
# and for example a worker thread doesn't just exit on its own in response to
# a SystemExit event for example.
except BaseException as exc:
raise ParsingFailure(exc, filename)
class Feeder(multiprocessing.Process):
def __init__(self, jobs, to_parsers, quit):
self.quit = quit
self.jobs = jobs
self.to_parsers = to_parsers
multiprocessing.Process.__init__(self)
def run(self):
while True:
try:
quit = self.quit.get_nowait()
except Queue.Empty:
pass
else:
if quit == 'cancel':
self.to_parsers.cancel_join_thread()
break
try:
job = self.jobs.pop()
except IndexError:
break
try:
self.to_parsers.put(job, timeout=0.5)
except Queue.Full:
self.jobs.insert(0, job)
continue
class Parser(multiprocessing.Process):
def __init__(self, jobs, results, quit, init):
self.jobs = jobs
self.results = results
self.quit = quit
self.init = init
multiprocessing.Process.__init__(self)
def run(self):
if self.init:
self.init()
pending = []
while True:
try:
self.quit.get_nowait()
except Queue.Empty:
pass
else:
self.results.cancel_join_thread()
break
if pending:
result = pending.pop()
else:
try:
job = self.jobs.get(timeout=0.25)
except Queue.Empty:
continue
if job is None:
break
result = self.parse(*job)
try:
self.results.put(result, timeout=0.25)
except Queue.Full:
pending.append(result)
def parse(self, filename, appends, caches_array):
try:
return True, bb.cache.Cache.parse(filename, appends, self.cfg, caches_array)
except Exception as exc:
tb = sys.exc_info()[2]
exc.recipe = filename
exc.traceback = list(bb.exceptions.extract_traceback(tb, context=3))
return True, exc
# Need to turn BaseExceptions into Exceptions here so we gracefully shutdown
# and for example a worker thread doesn't just exit on its own in response to
# a SystemExit event for example.
except BaseException as exc:
return True, ParsingFailure(exc, filename)
class CookerParser(object):
def __init__(self, cooker, filelist, masked):
self.filelist = filelist
self.cooker = cooker
self.cfgdata = cooker.configuration.data
self.cfghash = cooker.configuration.data_hash
# Accounting statistics
self.parsed = 0
@@ -1412,7 +1573,7 @@ class CookerParser(object):
self.num_processes = int(self.cfgdata.getVar("BB_NUMBER_PARSE_THREADS", True) or
multiprocessing.cpu_count())
self.bb_cache = bb.cache.Cache(self.cfgdata, cooker.caches_array)
self.bb_cache = bb.cache.Cache(self.cfgdata, self.cfghash, cooker.caches_array)
self.fromcache = []
self.willparse = []
for filename in self.filelist:
@@ -1427,22 +1588,28 @@ class CookerParser(object):
self.start()
def start(self):
def init(cfg):
parse_file.cfg = cfg
multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, args=(self.cooker.configuration.data, ), exitpriority=1)
self.results = self.load_cached()
self.processes = []
if self.toparse:
bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata)
def init():
Parser.cfg = self.cfgdata
multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, args=(self.cfgdata,), exitpriority=1)
self.pool = multiprocessing.Pool(self.num_processes, init, [self.cfgdata])
parsed = self.pool.imap(parse_file, self.willparse)
self.pool.close()
self.feeder_quit = multiprocessing.Queue(maxsize=1)
self.parser_quit = multiprocessing.Queue(maxsize=self.num_processes)
self.jobs = multiprocessing.Queue(maxsize=self.num_processes)
self.result_queue = multiprocessing.Queue()
self.feeder = Feeder(self.willparse, self.jobs, self.feeder_quit)
self.feeder.start()
for i in range(0, self.num_processes):
parser = Parser(self.jobs, self.result_queue, self.parser_quit, init)
parser.start()
self.processes.append(parser)
self.results = itertools.chain(self.results, parsed)
self.results = itertools.chain(self.results, self.parse_generator())
def shutdown(self, clean=True):
def shutdown(self, clean=True, force=False):
if not self.toparse:
return
@@ -1452,9 +1619,22 @@ class CookerParser(object):
self.virtuals, self.error,
self.total)
bb.event.fire(event, self.cfgdata)
self.feeder_quit.put(None)
for process in self.processes:
self.jobs.put(None)
else:
self.pool.terminate()
self.pool.join()
self.feeder_quit.put('cancel')
self.parser_quit.cancel_join_thread()
for process in self.processes:
self.parser_quit.put(None)
self.jobs.cancel_join_thread()
sys.exit(1)
for process in self.processes:
process.join()
self.feeder.join()
sync = threading.Thread(target=self.bb_cache.sync)
sync.start()
@@ -1466,6 +1646,22 @@ class CookerParser(object):
cached, infos = self.bb_cache.load(filename, appends, self.cfgdata)
yield not cached, infos
def parse_generator(self):
while True:
if self.parsed >= self.toparse:
break
try:
result = self.result_queue.get(timeout=0.25)
except Queue.Empty:
pass
else:
value = result[1]
if isinstance(value, BaseException):
raise value
else:
yield result
def parse_next(self):
try:
parsed, result = self.results.next()
@@ -1473,27 +1669,27 @@ class CookerParser(object):
self.shutdown()
return False
except ParsingFailure as exc:
self.shutdown(clean=False)
bb.fatal('Unable to parse %s: %s' %
logger.error('Unable to parse %s: %s' %
(exc.recipe, bb.exceptions.to_string(exc.realexception)))
self.shutdown(clean=False)
except (bb.parse.ParseError, bb.data_smart.ExpansionError) as exc:
bb.fatal(str(exc))
logger.error(str(exc))
self.shutdown(clean=False)
except SyntaxError as exc:
logger.error('Unable to parse %s', exc.recipe)
sys.exit(1)
self.shutdown(clean=False)
except Exception as exc:
etype, value, tb = sys.exc_info()
logger.error('Unable to parse %s', value.recipe,
exc_info=(etype, value, exc.traceback))
self.shutdown(clean=False)
sys.exit(1)
self.current += 1
self.virtuals += len(result)
if parsed:
self.parsed += 1
if self.parsed % self.progress_chunk == 0:
bb.event.fire(bb.event.ParseProgress(self.parsed),
bb.event.fire(bb.event.ParseProgress(self.parsed, self.toparse),
self.cfgdata)
else:
self.cached += 1

View File

@@ -49,6 +49,7 @@ from bb import data_smart
from bb import codeparser
import bb
logger = data_smart.logger
_dict_type = data_smart.DataSmart
def init():
@@ -258,48 +259,54 @@ def emit_func(func, o=sys.__stdout__, d = init()):
emit_var(key, o, d, False) and o.write('\n')
emit_var(func, o, d, False) and o.write('\n')
newdeps = bb.codeparser.ShellParser().parse_shell(d.getVar(func, True))
newdeps = bb.codeparser.ShellParser(func, logger).parse_shell(d.getVar(func, True))
seen = set()
while newdeps:
deps = newdeps
seen |= deps
newdeps = set()
for dep in deps:
if bb.data.getVarFlag(dep, "func", d):
if d.getVarFlag(dep, "func"):
emit_var(dep, o, d, False) and o.write('\n')
newdeps |= bb.codeparser.ShellParser().parse_shell(d.getVar(dep, True))
newdeps |= bb.codeparser.ShellParser(dep, logger).parse_shell(d.getVar(dep, True))
newdeps -= seen
def update_data(d):
"""Performs final steps upon the datastore, including application of overrides"""
d.finalize()
def build_dependencies(key, keys, shelldeps, d):
def build_dependencies(key, keys, shelldeps, vardepvals, d):
deps = set()
vardeps = d.getVarFlag(key, "vardeps", True)
try:
if d.getVarFlag(key, "func"):
value = d.getVar(key, False)
if key in vardepvals:
value = d.getVarFlag(key, "vardepvalue", True)
elif d.getVarFlag(key, "func"):
if d.getVarFlag(key, "python"):
parsedvar = d.expandWithRefs(d.getVar(key, False), key)
parser = bb.codeparser.PythonParser()
parsedvar = d.expandWithRefs(value, key)
parser = bb.codeparser.PythonParser(key, logger)
parser.parse_python(parsedvar.value)
deps = deps | parser.references
else:
parsedvar = d.expandWithRefs(d.getVar(key, False), key)
parser = bb.codeparser.ShellParser()
parsedvar = d.expandWithRefs(value, key)
parser = bb.codeparser.ShellParser(key, logger)
parser.parse_shell(parsedvar.value)
deps = deps | shelldeps
if vardeps is None:
parser.log.flush()
deps = deps | parsedvar.references
deps = deps | (keys & parser.execs) | (keys & parsedvar.execs)
else:
parser = d.expandWithRefs(d.getVar(key, False), key)
parser = d.expandWithRefs(value, key)
deps |= parser.references
deps = deps | (keys & parser.execs)
deps |= set((d.getVarFlag(key, "vardeps", True) or "").split())
deps |= set((vardeps or "").split())
deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split())
except:
bb.note("Error expanding variable %s" % key)
raise
return deps
return deps, value
#bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs)))
#d.setVarFlag(key, "vardeps", deps)
@@ -307,12 +314,14 @@ def generate_dependencies(d):
keys = set(key for key in d.keys() if not key.startswith("__"))
shelldeps = set(key for key in keys if d.getVarFlag(key, "export") and not d.getVarFlag(key, "unexport"))
vardepvals = set(key for key in keys if d.getVarFlag(key, "vardepvalue"))
deps = {}
values = {}
tasklist = bb.data.getVar('__BBTASKS', d) or []
tasklist = d.getVar('__BBTASKS') or []
for task in tasklist:
deps[task] = build_dependencies(task, keys, shelldeps, d)
deps[task], values[task] = build_dependencies(task, keys, shelldeps, vardepvals, d)
newdeps = deps[task]
seen = set()
while newdeps:
@@ -321,11 +330,11 @@ def generate_dependencies(d):
newdeps = set()
for dep in nextdeps:
if dep not in deps:
deps[dep] = build_dependencies(dep, keys, shelldeps, d)
deps[dep], values[dep] = build_dependencies(dep, keys, shelldeps, vardepvals, d)
newdeps |= deps[dep]
newdeps -= seen
#print "For %s: %s" % (task, str(taskdeps[task]))
return tasklist, deps
#print "For %s: %s" % (task, str(deps[task]))
return tasklist, deps, values
def inherits_class(klass, d):
val = getVar('__inherit_cache', d) or []

View File

@@ -31,6 +31,7 @@ BitBake build tools.
import copy, re
from collections import MutableMapping
import logging
import hashlib
import bb, bb.codeparser
from bb import utils
from bb.COW import COWDictBase
@@ -68,8 +69,14 @@ class VariableParse:
code = match.group()[3:-1]
codeobj = compile(code.strip(), self.varname or "<expansion>", "eval")
parser = bb.codeparser.PythonParser()
parser = bb.codeparser.PythonParser(self.varname, logger)
parser.parse_python(code)
if self.varname:
vardeps = self.d.getVarFlag(self.varname, "vardeps", True)
if vardeps is None:
parser.log.flush()
else:
parser.log.flush()
self.references |= parser.references
self.execs |= parser.execs
@@ -140,7 +147,7 @@ class DataSmart(MutableMapping):
return varparse
def expand(self, s, varname):
def expand(self, s, varname = None):
return self.expandWithRefs(s, varname).value
@@ -298,6 +305,14 @@ class DataSmart(MutableMapping):
self.delVar(key)
def appendVar(self, key, value):
value = (self.getVar(key, False) or "") + value
self.setVar(key, value)
def prependVar(self, key, value):
value = value + (self.getVar(key, False) or "")
self.setVar(key, value)
def delVar(self, var):
self.expand_cache = {}
self.dict[var] = {}
@@ -333,6 +348,14 @@ class DataSmart(MutableMapping):
if var in self.dict and flag in self.dict[var]:
del self.dict[var][flag]
def appendVarFlag(self, key, flag, value):
value = (self.getVarFlag(key, flag, False) or "") + value
self.setVarFlag(key, flag, value)
def prependVarFlag(self, key, flag, value):
value = value + (self.getVarFlag(key, flag, False) or "")
self.setVarFlag(key, flag, value)
def setVarFlags(self, var, flags):
if not var in self.dict:
self._makeShadowCopy(var)
@@ -437,3 +460,15 @@ class DataSmart(MutableMapping):
def __delitem__(self, var):
self.delVar(var)
def get_hash(self):
data = ""
config_whitelist = set((self.getVar("BB_HASHCONFIG_WHITELIST", True) or "").split())
keys = set(key for key in iter(self) if not key.startswith("__"))
for key in keys:
if key in config_whitelist:
continue
value = self.getVar(key, False) or ""
data = data + key + ': ' + str(value) + '\n'
return hashlib.md5(data).hexdigest()

View File

@@ -204,6 +204,27 @@ def getName(e):
else:
return e.__name__
class OperationStarted(Event):
"""An operation has begun"""
def __init__(self, msg = "Operation Started"):
Event.__init__(self)
self.msg = msg
class OperationCompleted(Event):
"""An operation has completed"""
def __init__(self, total, msg = "Operation Completed"):
Event.__init__(self)
self.total = total
self.msg = msg
class OperationProgress(Event):
"""An operation is in progress"""
def __init__(self, current, total, msg = "Operation in Progress"):
Event.__init__(self)
self.current = current
self.total = total
self.msg = msg + ": %s/%s" % (current, total);
class ConfigParsed(Event):
"""Configuration Parsing Complete"""
@@ -276,14 +297,20 @@ class BuildBase(Event):
class BuildStarted(BuildBase):
class BuildStarted(BuildBase, OperationStarted):
"""bbmake build run started"""
def __init__(self, n, p, failures = 0):
OperationStarted.__init__(self, "Building Started")
BuildBase.__init__(self, n, p, failures)
class BuildCompleted(BuildBase):
class BuildCompleted(BuildBase, OperationCompleted):
"""bbmake build run completed"""
def __init__(self, total, n, p, failures = 0):
if not failures:
OperationCompleted.__init__(self, total, "Building Succeeded")
else:
OperationCompleted.__init__(self, total, "Building Failed")
BuildBase.__init__(self, n, p, failures)
class NoProvider(Event):
@@ -329,17 +356,16 @@ class MultipleProviders(Event):
"""
return self._candidates
class ParseStarted(Event):
class ParseStarted(OperationStarted):
"""Recipe parsing for the runqueue has begun"""
def __init__(self, total):
Event.__init__(self)
OperationStarted.__init__(self, "Recipe parsing Started")
self.total = total
class ParseCompleted(Event):
class ParseCompleted(OperationCompleted):
"""Recipe parsing for the runqueue has completed"""
def __init__(self, cached, parsed, skipped, masked, virtuals, errors, total):
Event.__init__(self)
OperationCompleted.__init__(self, total, "Recipe parsing Completed")
self.cached = cached
self.parsed = parsed
self.skipped = skipped
@@ -347,33 +373,44 @@ class ParseCompleted(Event):
self.masked = masked
self.errors = errors
self.sofar = cached + parsed
self.total = total
class ParseProgress(Event):
class ParseProgress(OperationProgress):
"""Recipe parsing progress"""
def __init__(self, current, total):
OperationProgress.__init__(self, current, total, "Recipe parsing")
def __init__(self, current):
self.current = current
class CacheLoadStarted(Event):
class CacheLoadStarted(OperationStarted):
"""Loading of the dependency cache has begun"""
def __init__(self, total):
Event.__init__(self)
OperationStarted.__init__(self, "Loading cache Started")
self.total = total
class CacheLoadProgress(Event):
class CacheLoadProgress(OperationProgress):
"""Cache loading progress"""
def __init__(self, current):
Event.__init__(self)
self.current = current
def __init__(self, current, total):
OperationProgress.__init__(self, current, total, "Loading cache")
class CacheLoadCompleted(Event):
class CacheLoadCompleted(OperationCompleted):
"""Cache loading is complete"""
def __init__(self, total, num_entries):
Event.__init__(self)
self.total = total
OperationCompleted.__init__(self, total, "Loading cache Completed")
self.num_entries = num_entries
class TreeDataPreparationStarted(OperationStarted):
"""Tree data preparation started"""
def __init__(self):
OperationStarted.__init__(self, "Preparing tree data Started")
class TreeDataPreparationProgress(OperationProgress):
"""Tree data preparation is in progress"""
def __init__(self, current, total):
OperationProgress.__init__(self, current, total, "Preparing tree data")
class TreeDataPreparationCompleted(OperationCompleted):
"""Tree data preparation completed"""
def __init__(self, total):
OperationCompleted.__init__(self, total, "Preparing tree data Completed")
class DepTreeGenerated(Event):
"""
@@ -402,6 +439,14 @@ class FilesMatchingFound(Event):
self._pattern = pattern
self._matches = matches
class CoreBaseFilesFound(Event):
"""
Event when a list of appropriate config files has been generated
"""
def __init__(self, paths):
Event.__init__(self)
self._paths = paths
class ConfigFilesFound(Event):
"""
Event when a list of appropriate config files has been generated
@@ -459,3 +504,16 @@ class LogHandler(logging.Handler):
def filter(self, record):
record.taskpid = worker_pid
return True
class RequestPackageInfo(Event):
"""
Event to request package information
"""
class PackageInfo(Event):
"""
Package information for GUI
"""
def __init__(self, pkginfolist):
Event.__init__(self)
self._pkginfolist = pkginfolist

View File

@@ -154,7 +154,7 @@ def fetcher_init(d):
Calls before this must not hit the cache.
"""
# When to drop SCM head revisions controlled by user policy
srcrev_policy = bb.data.getVar('BB_SRCREV_POLICY', d, 1) or "clear"
srcrev_policy = d.getVar('BB_SRCREV_POLICY', 1) or "clear"
if srcrev_policy == "cache":
logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
elif srcrev_policy == "clear":
@@ -200,7 +200,7 @@ def fetcher_compare_revisions(d):
def init(urls, d, setup = True):
urldata = {}
fn = bb.data.getVar('FILE', d, 1)
fn = d.getVar('FILE', 1)
if fn in urldata_cache:
urldata = urldata_cache[fn]
@@ -243,7 +243,7 @@ def verify_checksum(u, ud, d):
'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"',
ud.localpath, ud.md5_name, md5data,
ud.sha256_name, sha256data)
if bb.data.getVar("BB_STRICT_CHECKSUM", d, True) == "1":
if d.getVar("BB_STRICT_CHECKSUM", True) == "1":
raise FetchError("No checksum specified for %s." % u)
return
@@ -276,7 +276,7 @@ def go(d, urls = None):
if m.try_premirror(u, ud, d):
# First try fetching uri, u, from PREMIRRORS
mirrors = mirror_from_string(bb.data.getVar('PREMIRRORS', d, True))
mirrors = mirror_from_string(d.getVar('PREMIRRORS', True))
localpath = try_mirrors(d, u, mirrors, False, m.forcefetch(u, ud, d))
elif os.path.exists(ud.localfile):
localpath = ud.localfile
@@ -291,7 +291,7 @@ def go(d, urls = None):
# Remove any incomplete file
bb.utils.remove(ud.localpath)
# Finally, try fetching uri, u, from MIRRORS
mirrors = mirror_from_string(bb.data.getVar('MIRRORS', d, True))
mirrors = mirror_from_string(d.getVar('MIRRORS', True))
localpath = try_mirrors (d, u, mirrors)
if not localpath or not os.path.exists(localpath):
raise FetchError("Unable to fetch URL %s from any source." % u)
@@ -327,7 +327,7 @@ def checkstatus(d, urls = None):
m = ud.method
logger.debug(1, "Testing URL %s", u)
# First try checking uri, u, from PREMIRRORS
mirrors = mirror_from_string(bb.data.getVar('PREMIRRORS', d, True))
mirrors = mirror_from_string(d.getVar('PREMIRRORS', True))
ret = try_mirrors(d, u, mirrors, True)
if not ret:
# Next try checking from the original uri, u
@@ -335,7 +335,7 @@ def checkstatus(d, urls = None):
ret = m.checkstatus(u, ud, d)
except:
# Finally, try checking uri, u, from MIRRORS
mirrors = mirror_from_string(bb.data.getVar('MIRRORS', d, True))
mirrors = mirror_from_string(d.getVar('MIRRORS', True))
ret = try_mirrors (d, u, mirrors, True)
if not ret:
@@ -383,7 +383,7 @@ def get_srcrev(d):
scms = []
# Only call setup_localpath on URIs which supports_srcrev()
urldata = init(bb.data.getVar('SRC_URI', d, 1).split(), d, False)
urldata = init(d.getVar('SRC_URI', 1).split(), d, False)
for u in urldata:
ud = urldata[u]
if ud.method.supports_srcrev():
@@ -395,8 +395,8 @@ def get_srcrev(d):
logger.error("SRCREV was used yet no valid SCM was found in SRC_URI")
raise ParameterError
if bb.data.getVar('BB_SRCREV_POLICY', d, True) != "cache":
bb.data.setVar('__BB_DONT_CACHE', '1', d)
if d.getVar('BB_SRCREV_POLICY', True) != "cache":
d.setVar('__BB_DONT_CACHE', '1')
if len(scms) == 1:
return urldata[scms[0]].method.sortable_revision(scms[0], urldata[scms[0]], d)
@@ -404,7 +404,7 @@ def get_srcrev(d):
#
# Mutiple SCMs are in SRC_URI so we resort to SRCREV_FORMAT
#
format = bb.data.getVar('SRCREV_FORMAT', d, 1)
format = d.getVar('SRCREV_FORMAT', 1)
if not format:
logger.error("The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
raise ParameterError
@@ -539,8 +539,8 @@ class FetchData(object):
else:
self.md5_name = "md5sum"
self.sha256_name = "sha256sum"
self.md5_expected = bb.data.getVarFlag("SRC_URI", self.md5_name, d)
self.sha256_expected = bb.data.getVarFlag("SRC_URI", self.sha256_name, d)
self.md5_expected = d.getVarFlag("SRC_URI", self.md5_name)
self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name)
for m in methods:
if m.supports(url, self, d):
@@ -555,7 +555,7 @@ class FetchData(object):
self.localpath = self.parm["localpath"]
self.basename = os.path.basename(self.localpath)
else:
premirrors = bb.data.getVar('PREMIRRORS', d, True)
premirrors = d.getVar('PREMIRRORS', True)
local = ""
if premirrors and self.url:
aurl = self.url.split(";")[0]
@@ -775,7 +775,7 @@ class Fetch(object):
latest_rev = self._build_revision(url, ud, d)
last_rev = localcounts.get(key + '_rev')
uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
uselocalcount = d.getVar("BB_LOCALCOUNT_OVERRIDE", True) or False
count = None
if uselocalcount:
count = Fetch.localcount_internal_helper(ud, d)
@@ -803,7 +803,7 @@ class Fetch(object):
def generate_revision_key(self, url, ud, d):
key = self._revision_key(url, ud, d)
return "%s-%s" % (key, bb.data.getVar("PN", d, True) or "")
return "%s-%s" % (key, d.getVar("PN", True) or "")
from . import cvs
from . import git

View File

@@ -34,7 +34,7 @@ class Git(Fetch):
#
# Only enable _sortable revision if the key is set
#
if bb.data.getVar("BB_GIT_CLONE_FOR_SRCREV", d, True):
if d.getVar("BB_GIT_CLONE_FOR_SRCREV", True):
self._sortable_buildindex = self._sortable_buildindex_disabled
def supports(self, url, ud, d):
"""
@@ -220,7 +220,7 @@ class Git(Fetch):
def generate_revision_key(self, url, ud, d, branch=False):
key = self._revision_key(url, ud, d, branch)
return "%s-%s" % (key, bb.data.getVar("PN", d, True) or "")
return "%s-%s" % (key, d.getVar("PN", True) or "")
def _latest_revision(self, url, ud, d):
"""
@@ -276,7 +276,7 @@ class Git(Fetch):
del localcounts[oldkey + '_rev']
localcounts[key + '_rev'] = last_rev
uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
uselocalcount = d.getVar("BB_LOCALCOUNT_OVERRIDE", True) or False
count = None
if uselocalcount:
count = Fetch.localcount_internal_helper(ud, d)

View File

@@ -28,7 +28,7 @@ from __future__ import absolute_import
from __future__ import print_function
import os, re
import logging
import bb.data, bb.persist_data, bb.utils
import bb.persist_data, bb.utils
from bb import data
__version__ = "2"
@@ -55,7 +55,10 @@ class MalformedUrl(BBFetchException):
class FetchError(BBFetchException):
"""General fetcher exception when something happens incorrectly"""
def __init__(self, message, url = None):
msg = "Fetcher failure for URL: '%s'. %s" % (url, message)
if url:
msg = "Fetcher failure for URL: '%s'. %s" % (url, message)
else:
msg = "Fetcher failure: %s" % message
self.url = url
BBFetchException.__init__(self, msg)
self.args = (message, url)
@@ -93,28 +96,6 @@ class ParameterError(BBFetchException):
BBFetchException.__init__(self, msg)
self.args = (message, url)
class MD5SumError(BBFetchException):
"""Exception raised when a MD5 checksum of a file does not match for a downloaded file"""
def __init__(self, path, wanted, got, url):
msg = "File: '%s' has md5 checksum %s when %s was expected (from URL: '%s')" % (path, got, wanted, url)
self.url = url
self.path = path
self.wanted = wanted
self.got = got
BBFetchException.__init__(self, msg)
self.args = (path, wanted, got, url)
class SHA256SumError(MD5SumError):
"""Exception raised when a SHA256 checksum of a file does not match for a downloaded file"""
def __init__(self, path, wanted, got, url):
msg = "File: '%s' has sha256 checksum %s when %s was expected (from URL: '%s')" % (path, got, wanted, url)
self.url = url
self.path = path
self.wanted = wanted
self.got = got
BBFetchException.__init__(self, msg)
self.args = (path, wanted, got, url)
class NetworkAccess(BBFetchException):
"""Exception raised when network access is disabled but it is required."""
def __init__(self, url, cmd):
@@ -197,6 +178,7 @@ def uri_replace(ud, uri_find, uri_replace, d):
uri_decoded = list(decodeurl(ud.url))
uri_find_decoded = list(decodeurl(uri_find))
uri_replace_decoded = list(decodeurl(uri_replace))
logger.debug(2, "For url %s comparing %s to %s" % (uri_decoded, uri_find_decoded, uri_replace_decoded))
result_decoded = ['', '', '', '', '', {}]
for i in uri_find_decoded:
loc = uri_find_decoded.index(i)
@@ -209,12 +191,18 @@ def uri_replace(ud, uri_find, uri_replace, d):
result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
if uri_find_decoded.index(i) == 2:
if ud.mirrortarball:
result_decoded[loc] = os.path.join(os.path.dirname(result_decoded[loc]), os.path.basename(ud.mirrortarball))
if result_decoded[loc].endswith("/"):
result_decoded[loc] = os.path.dirname(result_decoded[loc])
result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.mirrortarball))
elif ud.localpath:
result_decoded[loc] = os.path.join(os.path.dirname(result_decoded[loc]), os.path.basename(ud.localpath))
if result_decoded[loc].endswith("/"):
result_decoded[loc] = os.path.dirname(result_decoded[loc])
result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.localpath))
else:
return ud.url
return encodeurl(result_decoded)
result = encodeurl(result_decoded)
logger.debug(2, "For url %s returning %s" % (ud.url, result))
return result
methods = []
urldata_cache = {}
@@ -226,7 +214,7 @@ def fetcher_init(d):
Calls before this must not hit the cache.
"""
# When to drop SCM head revisions controlled by user policy
srcrev_policy = bb.data.getVar('BB_SRCREV_POLICY', d, True) or "clear"
srcrev_policy = d.getVar('BB_SRCREV_POLICY', True) or "clear"
if srcrev_policy == "cache":
logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
elif srcrev_policy == "clear":
@@ -271,8 +259,8 @@ def verify_checksum(u, ud, d):
verify the MD5 and SHA256 checksum for downloaded src
return value:
- True: checksum matched
- False: checksum unmatched
- True: a checksum matched
- False: neither checksum matched
if checksum is missing in recipes file, "BB_STRICT_CHECKSUM" decide the return value.
if BB_STRICT_CHECKSUM = "1" then return false as unmatched, otherwise return true as
@@ -285,20 +273,46 @@ def verify_checksum(u, ud, d):
md5data = bb.utils.md5_file(ud.localpath)
sha256data = bb.utils.sha256_file(ud.localpath)
if (ud.md5_expected == None or ud.sha256_expected == None):
logger.warn('Missing SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"',
ud.localpath, ud.md5_name, md5data,
ud.sha256_name, sha256data)
if bb.data.getVar("BB_STRICT_CHECKSUM", d, True) == "1":
raise FetchError("No checksum specified for %s." % u, u)
return
# If strict checking enabled and neither sum defined, raise error
strict = d.getVar("BB_STRICT_CHECKSUM", True) or None
if (strict and ud.md5_expected == None and ud.sha256_expected == None):
raise FetchError('No checksum specified for %s, please add at least one to the recipe:\n'
'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' %
(ud.localpath, ud.md5_name, md5data,
ud.sha256_name, sha256data), u)
# Log missing sums so user can more easily add them
if ud.md5_expected == None:
logger.warn('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.md5_name, md5data)
if ud.sha256_expected == None:
logger.warn('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.sha256_name, sha256data)
md5mismatch = False
sha256mismatch = False
if ud.md5_expected != md5data:
raise MD5SumError(ud.localpath, ud.md5_expected, md5data, u)
md5mismatch = True
if ud.sha256_expected != sha256data:
raise SHA256SumError(ud.localpath, ud.sha256_expected, sha256data, u)
sha256mismatch = True
# We want to alert the user if a checksum is defined in the recipe but
# it does not match.
msg = ""
if md5mismatch and ud.md5_expected:
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'md5', md5data, ud.md5_expected)
if sha256mismatch and ud.sha256_expected:
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'sha256', sha256data, ud.sha256_expected)
if len(msg):
raise FetchError('Checksum mismatch!%s' % msg, u)
def update_stamp(u, ud, d):
"""
@@ -325,8 +339,8 @@ def subprocess_setup():
def get_autorev(d):
# only not cache src rev in autorev case
if bb.data.getVar('BB_SRCREV_POLICY', d, True) != "cache":
bb.data.setVar('__BB_DONT_CACHE', '1', d)
if d.getVar('BB_SRCREV_POLICY', True) != "cache":
d.setVar('__BB_DONT_CACHE', '1')
return "AUTOINC"
def get_srcrev(d):
@@ -339,7 +353,7 @@ def get_srcrev(d):
"""
scms = []
fetcher = Fetch(bb.data.getVar('SRC_URI', d, True).split(), d)
fetcher = Fetch(d.getVar('SRC_URI', True).split(), d)
urldata = fetcher.ud
for u in urldata:
if urldata[u].method.supports_srcrev():
@@ -354,7 +368,7 @@ def get_srcrev(d):
#
# Mutiple SCMs are in SRC_URI so we resort to SRCREV_FORMAT
#
format = bb.data.getVar('SRCREV_FORMAT', d, True)
format = d.getVar('SRCREV_FORMAT', True)
if not format:
raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
@@ -385,10 +399,11 @@ def runfetchcmd(cmd, d, quiet = False, cleanup = []):
exportvars = ['PATH', 'GIT_PROXY_COMMAND', 'GIT_PROXY_HOST',
'GIT_PROXY_PORT', 'GIT_CONFIG', 'http_proxy', 'ftp_proxy',
'https_proxy', 'no_proxy', 'ALL_PROXY', 'all_proxy',
'SSH_AUTH_SOCK', 'SSH_AGENT_PID', 'HOME']
'SSH_AUTH_SOCK', 'SSH_AGENT_PID', 'HOME',
'GIT_PROXY_IGNORE', 'SOCKS5_USER', 'SOCKS5_PASSWD']
for var in exportvars:
val = bb.data.getVar(var, d, True)
val = d.getVar(var, True)
if val:
cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
@@ -407,8 +422,11 @@ def runfetchcmd(cmd, d, quiet = False, cleanup = []):
output += line
status = stdout_handle.close() or 0
signal = status >> 8
exitstatus = status & 0xff
signal = os.WTERMSIG(status)
if os.WIFEXITED(status):
exitstatus = os.WEXITSTATUS(status)
else:
exitstatus = 0
if (signal or status != 0):
for f in cleanup:
@@ -419,8 +437,8 @@ def runfetchcmd(cmd, d, quiet = False, cleanup = []):
if signal:
raise FetchError("Fetch command %s failed with signal %s, output:\n%s" % (cmd, signal, output))
elif status != 0:
raise FetchError("Fetch command %s failed with exit code %s, output:\n%s" % (cmd, status, output))
elif exitstatus:
raise FetchError("Fetch command %s failed with exit code %s, output:\n%s" % (cmd, exitstatus, output))
return output
@@ -428,7 +446,7 @@ def check_network_access(d, info = "", url = None):
"""
log remote network access, and error if BB_NO_NETWORK is set
"""
if bb.data.getVar("BB_NO_NETWORK", d, True) == "1":
if d.getVar("BB_NO_NETWORK", True) == "1":
raise NetworkAccess(url, info)
else:
logger.debug(1, "Fetcher accessed the network with the command %s" % info)
@@ -461,7 +479,7 @@ def try_mirrors(d, origud, mirrors, check = False):
return found
continue
if ud.method.need_update(newuri, ud, ld):
if not os.path.exists(ud.donestamp) or ud.method.need_update(newuri, ud, ld):
ud.method.download(newuri, ud, ld)
if hasattr(ud.method,"build_mirror_data"):
ud.method.build_mirror_data(newuri, ud, ld)
@@ -514,15 +532,15 @@ def srcrev_internal_helper(ud, d, name):
return ud.parm['tag']
rev = None
pn = bb.data.getVar("PN", d, True)
pn = d.getVar("PN", True)
if name != '':
rev = bb.data.getVar("SRCREV_%s_pn-%s" % (name, pn), d, True)
rev = d.getVar("SRCREV_%s_pn-%s" % (name, pn), True)
if not rev:
rev = bb.data.getVar("SRCREV_%s" % name, d, True)
rev = d.getVar("SRCREV_%s" % name, True)
if not rev:
rev = bb.data.getVar("SRCREV_pn-%s" % pn, d, True)
rev = d.getVar("SRCREV_pn-%s" % pn, True)
if not rev:
rev = bb.data.getVar("SRCREV", d, True)
rev = d.getVar("SRCREV", True)
if rev == "INVALID":
raise FetchError("Please set SRCREV to a valid value", ud.url)
if rev == "AUTOINC":
@@ -557,8 +575,14 @@ class FetchData(object):
else:
self.md5_name = "md5sum"
self.sha256_name = "sha256sum"
self.md5_expected = bb.data.getVarFlag("SRC_URI", self.md5_name, d)
self.sha256_expected = bb.data.getVarFlag("SRC_URI", self.sha256_name, d)
if self.md5_name in self.parm:
self.md5_expected = self.parm[self.md5_name]
else:
self.md5_expected = d.getVarFlag("SRC_URI", self.md5_name)
if self.sha256_name in self.parm:
self.sha256_expected = self.parm[self.sha256_name]
else:
self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name)
self.names = self.parm.get("name",'default').split(',')
@@ -582,7 +606,7 @@ class FetchData(object):
self.localpath = self.method.localpath(self.url, self, d)
# Note: These files should always be in DL_DIR whereas localpath may not be.
basepath = bb.data.expand("${DL_DIR}/%s" % os.path.basename(self.localpath or self.basename), d)
basepath = d.expand("${DL_DIR}/%s" % os.path.basename(self.localpath or self.basename))
self.donestamp = basepath + '.done'
self.lockfile = basepath + '.lock'
@@ -608,12 +632,12 @@ class FetchData(object):
if "srcdate" in self.parm:
return self.parm['srcdate']
pn = bb.data.getVar("PN", d, True)
pn = d.getVar("PN", True)
if pn:
return bb.data.getVar("SRCDATE_%s" % pn, d, True) or bb.data.getVar("SRCDATE", d, True) or bb.data.getVar("DATE", d, True)
return d.getVar("SRCDATE_%s" % pn, True) or d.getVar("SRCDATE", True) or d.getVar("DATE", True)
return bb.data.getVar("SRCDATE", d, True) or bb.data.getVar("DATE", d, True)
return d.getVar("SRCDATE", True) or d.getVar("DATE", True)
class FetchMethod(object):
"""Base class for 'fetch'ing data"""
@@ -685,7 +709,7 @@ class FetchMethod(object):
dots = file.split(".")
if dots[-1] in ['gz', 'bz2', 'Z']:
efile = os.path.join(bb.data.getVar('WORKDIR', data, True),os.path.basename('.'.join(dots[0:-1])))
efile = os.path.join(data.getVar('WORKDIR', True),os.path.basename('.'.join(dots[0:-1])))
else:
efile = file
cmd = None
@@ -729,7 +753,7 @@ class FetchMethod(object):
dest = os.path.join(rootdir, os.path.basename(file))
if (file != dest) and not (os.path.exists(dest) and os.path.samefile(file, dest)):
if os.path.isdir(file):
filesdir = os.path.realpath(bb.data.getVar("FILESDIR", data, True))
filesdir = os.path.realpath(data.getVar("FILESDIR", True))
destdir = "."
if file[0:len(filesdir)] == filesdir:
destdir = file[len(filesdir):file.rfind('/')]
@@ -761,7 +785,7 @@ class FetchMethod(object):
bb.utils.mkdirhier(newdir)
os.chdir(newdir)
cmd = "PATH=\"%s\" %s" % (bb.data.getVar('PATH', data, True), cmd)
cmd = "PATH=\"%s\" %s" % (data.getVar('PATH', True), cmd)
bb.note("Unpacking %s to %s/" % (file, os.getcwd()))
ret = subprocess.call(cmd, preexec_fn=subprocess_setup, shell=True)
@@ -806,10 +830,10 @@ class FetchMethod(object):
localcount = None
if name != '':
pn = bb.data.getVar("PN", d, True)
localcount = bb.data.getVar("LOCALCOUNT_" + name, d, True)
pn = d.getVar("PN", True)
localcount = d.getVar("LOCALCOUNT_" + name, True)
if not localcount:
localcount = bb.data.getVar("LOCALCOUNT", d, True)
localcount = d.getVar("LOCALCOUNT", True)
return localcount
localcount_internal_helper = staticmethod(localcount_internal_helper)
@@ -841,7 +865,7 @@ class FetchMethod(object):
latest_rev = self._build_revision(url, ud, d, name)
last_rev = localcounts.get(key + '_rev')
uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
uselocalcount = d.getVar("BB_LOCALCOUNT_OVERRIDE", True) or False
count = None
if uselocalcount:
count = FetchMethod.localcount_internal_helper(ud, d, name)
@@ -869,7 +893,7 @@ class FetchMethod(object):
def generate_revision_key(self, url, ud, d, name):
key = self._revision_key(url, ud, d, name)
return "%s-%s" % (key, bb.data.getVar("PN", d, True) or "")
return "%s-%s" % (key, d.getVar("PN", True) or "")
class Fetch(object):
def __init__(self, urls, d, cache = True):
@@ -879,7 +903,7 @@ class Fetch(object):
self.d = d
self.ud = {}
fn = bb.data.getVar('FILE', d, True)
fn = d.getVar('FILE', True)
if cache and fn in urldata_cache:
self.ud = urldata_cache[fn]
@@ -895,7 +919,7 @@ class Fetch(object):
self.ud[url] = FetchData(url, self.d)
self.ud[url].setup_localpath(self.d)
return bb.data.expand(self.ud[url].localpath, self.d)
return self.d.expand(self.ud[url].localpath)
def localpaths(self):
"""
@@ -917,8 +941,8 @@ class Fetch(object):
if len(urls) == 0:
urls = self.urls
network = bb.data.getVar("BB_NO_NETWORK", self.d, True)
premirroronly = (bb.data.getVar("BB_FETCH_PREMIRRORONLY", self.d, True) == "1")
network = self.d.getVar("BB_NO_NETWORK", True)
premirroronly = (self.d.getVar("BB_FETCH_PREMIRRORONLY", True) == "1")
for u in urls:
ud = self.ud[u]
@@ -929,19 +953,20 @@ class Fetch(object):
lf = bb.utils.lockfile(ud.lockfile)
try:
bb.data.setVar("BB_NO_NETWORK", network, self.d)
self.d.setVar("BB_NO_NETWORK", network)
if not m.need_update(u, ud, self.d):
if os.path.exists(ud.donestamp) and not m.need_update(u, ud, self.d):
localpath = ud.localpath
elif m.try_premirror(u, ud, self.d):
logger.debug(1, "Trying PREMIRRORS")
mirrors = mirror_from_string(bb.data.getVar('PREMIRRORS', self.d, True))
mirrors = mirror_from_string(self.d.getVar('PREMIRRORS', True))
localpath = try_mirrors(self.d, ud, mirrors, False)
if premirroronly:
bb.data.setVar("BB_NO_NETWORK", "1", self.d)
self.d.setVar("BB_NO_NETWORK", "1")
if not localpath and m.need_update(u, ud, self.d):
firsterr = None
if not localpath and ((not os.path.exists(ud.donestamp)) or m.need_update(u, ud, self.d)):
try:
logger.debug(1, "Trying Upstream")
m.download(u, ud, self.d)
@@ -956,16 +981,20 @@ class Fetch(object):
raise
except BBFetchException as e:
logger.warn(str(e))
logger.warn('Failed to fetch URL %s' % u)
logger.debug(1, str(e))
firsterr = e
# Remove any incomplete fetch
if os.path.isfile(ud.localpath):
bb.utils.remove(ud.localpath)
logger.debug(1, "Trying MIRRORS")
mirrors = mirror_from_string(bb.data.getVar('MIRRORS', self.d, True))
mirrors = mirror_from_string(self.d.getVar('MIRRORS', True))
localpath = try_mirrors (self.d, ud, mirrors)
if not localpath or ((not os.path.exists(localpath)) and localpath.find("*") == -1):
raise FetchError("Unable to fetch URL %s from any source." % u, u)
if firsterr:
logger.error(str(firsterr))
raise FetchError("Unable to fetch URL from any source.", u)
update_stamp(u, ud, self.d)
@@ -986,7 +1015,7 @@ class Fetch(object):
m = ud.method
logger.debug(1, "Testing URL %s", u)
# First try checking uri, u, from PREMIRRORS
mirrors = mirror_from_string(bb.data.getVar('PREMIRRORS', self.d, True))
mirrors = mirror_from_string(self.d.getVar('PREMIRRORS', True))
ret = try_mirrors(self.d, ud, mirrors, True)
if not ret:
# Next try checking from the original uri, u
@@ -994,7 +1023,7 @@ class Fetch(object):
ret = m.checkstatus(u, ud, self.d)
except:
# Finally, try checking uri, u, from MIRRORS
mirrors = mirror_from_string(bb.data.getVar('MIRRORS', self.d, True))
mirrors = mirror_from_string(self.d.getVar('MIRRORS', True))
ret = try_mirrors (self.d, ud, mirrors, True)
if not ret:
@@ -1012,7 +1041,7 @@ class Fetch(object):
ud = self.ud[u]
ud.setup_localpath(self.d)
if bb.data.expand(self.localpath, self.d) is None:
if self.d.expand(self.localpath) is None:
continue
if ud.lockfile:

View File

@@ -38,6 +38,12 @@ Supported SRC_URI options are:
who has its own routine to checkout code.
The default is "0", set nocheckout=1 if needed.
- bareclone
Create a bare clone of the source code and don't checkout the source code
when unpacking. Set this option for the recipe who has its own routine to
checkout code and tracking branch requirements.
The default is "0", set bareclone=1 if needed.
"""
#Copyright (C) 2005 Richard Purdie
@@ -68,7 +74,7 @@ class Git(FetchMethod):
#
# Only enable _sortable revision if the key is set
#
if bb.data.getVar("BB_GIT_CLONE_FOR_SRCREV", d, True):
if d.getVar("BB_GIT_CLONE_FOR_SRCREV", True):
self._sortable_buildindex = self._sortable_buildindex_disabled
def supports(self, url, ud, d):
"""
@@ -95,6 +101,11 @@ class Git(FetchMethod):
ud.rebaseable = ud.parm.get("rebaseable","0") == "1"
# bareclone implies nocheckout
ud.bareclone = ud.parm.get("bareclone","0") == "1"
if ud.bareclone:
ud.nocheckout = 1
branches = ud.parm.get("branch", "master").split(',')
if len(branches) != len(ud.names):
raise bb.fetch2.ParameterError("The number of name and branch parameters is not balanced", ud.url)
@@ -115,7 +126,7 @@ class Git(FetchMethod):
ud.branches[name] = ud.revisions[name]
ud.revisions[name] = self.latest_revision(ud.url, ud, d, name)
gitsrcname = '%s%s' % (ud.host, ud.path.replace('/', '.'))
gitsrcname = '%s%s' % (ud.host.replace(':','.'), ud.path.replace('/', '.'))
# for rebaseable git repo, it is necessary to keep mirror tar ball
# per revision, so that even the revision disappears from the
# upstream repo in the future, the mirror will remain intact and still
@@ -146,7 +157,7 @@ class Git(FetchMethod):
def try_premirror(self, u, ud, d):
# If we don't do this, updating an existing checkout with only premirrors
# is not possible
if bb.data.getVar("BB_FETCH_PREMIRRORONLY", d, True) is not None:
if d.getVar("BB_FETCH_PREMIRRORONLY", True) is not None:
return True
if os.path.exists(ud.clonedir):
return False
@@ -190,7 +201,7 @@ class Git(FetchMethod):
logger.debug(1, "No Origin")
runfetchcmd("%s remote add --mirror=fetch origin %s" % (ud.basecmd, repourl), d)
fetch_cmd = "%s fetch --prune %s refs/*:refs/*" % (ud.basecmd, repourl)
fetch_cmd = "%s fetch -f --prune %s refs/*:refs/*" % (ud.basecmd, repourl)
bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
runfetchcmd(fetch_cmd, d)
runfetchcmd("%s prune-packed" % ud.basecmd, d)
@@ -220,7 +231,11 @@ class Git(FetchMethod):
if os.path.exists(destdir):
bb.utils.prunedir(destdir)
runfetchcmd("git clone -s -n %s %s" % (ud.clonedir, destdir), d)
cloneflags = "-s -n"
if ud.bareclone:
cloneflags += " --mirror"
runfetchcmd("git clone %s %s/ %s" % (cloneflags, ud.clonedir, destdir), d)
if not ud.nocheckout:
os.chdir(destdir)
if subdir != "":

View File

@@ -50,9 +50,6 @@ class Local(FetchMethod):
path = url.split("://")[1]
path = path.split(";")[0]
newpath = path
dldirfile = os.path.join(data.getVar("DL_DIR", d, True), os.path.basename(path))
if os.path.exists(dldirfile):
return dldirfile
if path[0] != "/":
filespath = data.getVar('FILESPATH', d, True)
if filespath:
@@ -62,6 +59,7 @@ class Local(FetchMethod):
if filesdir:
newpath = os.path.join(filesdir, path)
if not os.path.exists(newpath) and path.find("*") == -1:
dldirfile = os.path.join(data.getVar("DL_DIR", d, True), os.path.basename(path))
return dldirfile
return newpath

View File

@@ -0,0 +1,237 @@
#!/usr/bin/env python
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2012 Robert Yang
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os, logging, re, sys
import bb
logger = logging.getLogger("BitBake.Monitor")
def printErr(info):
logger.error("%s\n Disk space monitor will NOT be enabled" % info)
def convertGMK(unit):
""" Convert the space unit G, M, K, the unit is case-insensitive """
unitG = re.match('([1-9][0-9]*)[gG]\s?$', unit)
if unitG:
return int(unitG.group(1)) * (1024 ** 3)
unitM = re.match('([1-9][0-9]*)[mM]\s?$', unit)
if unitM:
return int(unitM.group(1)) * (1024 ** 2)
unitK = re.match('([1-9][0-9]*)[kK]\s?$', unit)
if unitK:
return int(unitK.group(1)) * 1024
unitN = re.match('([1-9][0-9]*)\s?$', unit)
if unitN:
return int(unitN.group(1))
else:
return None
def getMountedDev(path):
""" Get the device mounted at the path, uses /proc/mounts """
# Get the mount point of the filesystem containing path
# st_dev is the ID of device containing file
parentDev = os.stat(path).st_dev
currentDev = parentDev
# When the current directory's device is different from the
# parrent's, then the current directory is a mount point
while parentDev == currentDev:
mountPoint = path
# Use dirname to get the parrent's directory
path = os.path.dirname(path)
# Reach the "/"
if path == mountPoint:
break
parentDev= os.stat(path).st_dev
try:
with open("/proc/mounts", "r") as ifp:
for line in ifp:
procLines = line.rstrip('\n').split()
if procLines[1] == mountPoint:
return procLines[0]
except EnvironmentError:
pass
return None
def getDiskData(BBDirs, configuration):
"""Prepare disk data for disk space monitor"""
# Save the device IDs, need the ID to be unique (the dictionary's key is
# unique), so that when more than one directories are located in the same
# device, we just monitor it once
devDict = {}
for pathSpaceInode in BBDirs.split():
# The input format is: "dir,space,inode", dir is a must, space
# and inode are optional
pathSpaceInodeRe = re.match('([^,]*),([^,]*),([^,]*),?(.*)', pathSpaceInode)
if not pathSpaceInodeRe:
printErr("Invalid value in BB_DISKMON_DIRS: %s" % pathSpaceInode)
return None
action = pathSpaceInodeRe.group(1)
if action not in ("ABORT", "STOPTASKS", "WARN"):
printErr("Unknown disk space monitor action: %s" % action)
return None
path = os.path.realpath(pathSpaceInodeRe.group(2))
if not path:
printErr("Invalid path value in BB_DISKMON_DIRS: %s" % pathSpaceInode)
return None
# The disk space or inode is optional, but it should have a correct
# value once it is specified
minSpace = pathSpaceInodeRe.group(3)
if minSpace:
minSpace = convertGMK(minSpace)
if not minSpace:
printErr("Invalid disk space value in BB_DISKMON_DIRS: %s" % pathSpaceInodeRe.group(3))
return None
else:
# 0 means that it is not specified
minSpace = None
minInode = pathSpaceInodeRe.group(4)
if minInode:
minInode = convertGMK(minInode)
if not minInode:
printErr("Invalid inode value in BB_DISKMON_DIRS: %s" % pathSpaceInodeRe.group(4))
return None
else:
# 0 means that it is not specified
minInode = None
if minSpace is None and minInode is None:
printErr("No disk space or inode value in found BB_DISKMON_DIRS: %s" % pathSpaceInode)
return None
# mkdir for the directory since it may not exist, for example the
# DL_DIR may not exist at the very beginning
if not os.path.exists(path):
bb.utils.mkdirhier(path)
mountedDev = getMountedDev(path)
devDict[mountedDev] = action, path, minSpace, minInode
return devDict
def getInterval(configuration):
""" Get the disk space interval """
interval = configuration.getVar("BB_DISKMON_WARNINTERVAL", 1)
if not interval:
# The default value is 50M and 5K.
return 50 * 1024 * 1024, 5 * 1024
else:
# The disk space or inode interval is optional, but it should
# have a correct value once it is specified
intervalRe = re.match('([^,]*),?\s*(.*)', interval)
if intervalRe:
intervalSpace = intervalRe.group(1)
if intervalSpace:
intervalSpace = convertGMK(intervalSpace)
if not intervalSpace:
printErr("Invalid disk space interval value in BB_DISKMON_WARNINTERVAL: %s" % intervalRe.group(1))
return None, None
intervalInode = intervalRe.group(2)
if intervalInode:
intervalInode = convertGMK(intervalInode)
if not intervalInode:
printErr("Invalid disk inode interval value in BB_DISKMON_WARNINTERVAL: %s" % intervalRe.group(2))
return None, None
return intervalSpace, intervalInode
else:
printErr("Invalid interval value in BB_DISKMON_WARNINTERVAL: %s" % interval)
return None, None
class diskMonitor:
"""Prepare the disk space monitor data"""
def __init__(self, configuration):
self.enableMonitor = False
BBDirs = configuration.getVar("BB_DISKMON_DIRS", 1) or None
if BBDirs:
self.devDict = getDiskData(BBDirs, configuration)
if self.devDict:
self.spaceInterval, self.inodeInterval = getInterval(configuration)
if self.spaceInterval and self.inodeInterval:
self.enableMonitor = True
# These are for saving the previous disk free space and inode, we
# use them to avoid print too many warning messages
self.preFreeS = {}
self.preFreeI = {}
# This is for STOPTASKS and ABORT, to avoid print the message repeatly
# during waiting the tasks to finish
self.checked = {}
for dev in self.devDict:
self.preFreeS[dev] = 0
self.preFreeI[dev] = 0
self.checked[dev] = False
if self.spaceInterval is None and self.inodeInterval is None:
self.enableMonitor = False
def check(self, rq):
""" Take action for the monitor """
if self.enableMonitor:
for dev in self.devDict:
st = os.statvfs(self.devDict[dev][1])
# The free space, float point number
freeSpace = st.f_bavail * st.f_frsize
if self.devDict[dev][2] and freeSpace < self.devDict[dev][2]:
# Always show warning, the self.checked would always be False if the action is WARN
if self.preFreeS[dev] == 0 or self.preFreeS[dev] - freeSpace > self.spaceInterval and not self.checked[dev]:
logger.warn("The free space of %s is running low (%.3fGB left)" % (dev, freeSpace / 1024 / 1024 / 1024.0))
self.preFreeS[dev] = freeSpace
if self.devDict[dev][0] == "STOPTASKS" and not self.checked[dev]:
logger.error("No new tasks can be excuted since the disk space monitor action is \"STOPTASKS\"!")
self.checked[dev] = True
rq.finish_runqueue(False)
elif self.devDict[dev][0] == "ABORT" and not self.checked[dev]:
logger.error("Immediately abort since the disk space monitor action is \"ABORT\"!")
self.checked[dev] = True
rq.finish_runqueue(True)
# The free inodes, float point number
freeInode = st.f_favail
if self.devDict[dev][3] and freeInode < self.devDict[dev][3]:
# Always show warning, the self.checked would always be False if the action is WARN
if self.preFreeI[dev] == 0 or self.preFreeI[dev] - freeInode > self.inodeInterval and not self.checked[dev]:
logger.warn("The free inode of %s is running low (%.3fK left)" % (dev, freeInode / 1024.0))
self.preFreeI[dev] = freeInode
if self.devDict[dev][0] == "STOPTASKS" and not self.checked[dev]:
logger.error("No new tasks can be excuted since the disk space monitor action is \"STOPTASKS\"!")
self.checked[dev] = True
rq.finish_runqueue(False)
elif self.devDict[dev][0] == "ABORT" and not self.checked[dev]:
logger.error("Immediately abort since the disk space monitor action is \"ABORT\"!")
self.checked[dev] = True
rq.finish_runqueue(True)
return

View File

@@ -100,14 +100,17 @@ class BBLogFilter(object):
loggerDefaultDebugLevel = 0
loggerDefaultVerbose = False
loggerVerboseLogs = False
loggerDefaultDomains = []
def init_msgconfig(verbose, debug, debug_domains = []):
"""
Set default verbosity and debug levels config the logger
"""
bb.msg.loggerDebugLevel = debug
bb.msg.loggerVerbose = verbose
bb.msg.loggerDefaultDebugLevel = debug
bb.msg.loggerDefaultVerbose = verbose
if verbose:
bb.msg.loggerVerboseLogs = True
bb.msg.loggerDefaultDomains = debug_domains
def addDefaultlogFilter(handler):

View File

@@ -37,6 +37,17 @@ logger = logging.getLogger("BitBake.Parsing")
class ParseError(Exception):
"""Exception raised when parsing fails"""
def __init__(self, msg, filename, lineno=0):
self.msg = msg
self.filename = filename
self.lineno = lineno
Exception.__init__(self, msg, filename, lineno)
def __str__(self):
if self.lineno:
return "ParseError at %s:%d: %s" % (self.filename, self.lineno, self.msg)
else:
return "ParseError in %s: %s" % (self.filename, self.msg)
class SkipPackage(Exception):
"""Exception raised to skip this package"""
@@ -62,9 +73,9 @@ def update_mtime(f):
def mark_dependency(d, f):
if f.startswith('./'):
f = "%s/%s" % (os.getcwd(), f[2:])
deps = bb.data.getVar('__depends', d) or set()
deps = d.getVar('__depends') or set()
deps.update([(f, cached_mtime(f))])
bb.data.setVar('__depends', deps, d)
d.setVar('__depends', deps)
def supports(fn, data):
"""Returns true if we have a handler for this file, false otherwise"""
@@ -78,7 +89,7 @@ def handle(fn, data, include = 0):
for h in handlers:
if h['supports'](fn, data):
return h['handle'](fn, data, include)
raise ParseError("%s is not a BitBake file" % fn)
raise ParseError("not a BitBake file", fn)
def init(fn, data):
for h in handlers:
@@ -90,7 +101,7 @@ def init_parser(d):
def resolve_file(fn, d):
if not os.path.isabs(fn):
bbpath = bb.data.getVar("BBPATH", d, True)
bbpath = d.getVar("BBPATH", True)
newfn = bb.utils.which(bbpath, fn)
if not newfn:
raise IOError("file %s not found in %s" % (fn, bbpath))
@@ -111,7 +122,7 @@ def vars_from_file(mypkg, d):
parts = myfile[0].split('_')
__pkgsplit_cache__[mypkg] = parts
if len(parts) > 3:
raise ParseError("Unable to generate default variables from the filename: %s (too many underscores)" % mypkg)
raise ParseError("Unable to generate default variables from filename (too many underscores)", mypkg)
exp = 3 - len(parts)
tmplist = []
while exp != 0:
@@ -120,4 +131,13 @@ def vars_from_file(mypkg, d):
parts.extend(tmplist)
return parts
def get_file_depends(d):
'''Return the dependent files'''
dep_files = []
depends = d.getVar('__depends', True) or set()
depends = depends.union(d.getVar('__base_depends', True) or set())
for (fn, _) in depends:
dep_files.append(os.path.abspath(fn))
return " ".join(dep_files)
from bb.parse.parse_py import __version__, ConfHandler, BBHandler

View File

@@ -54,14 +54,14 @@ class IncludeNode(AstNode):
"""
Include the file and evaluate the statements
"""
s = bb.data.expand(self.what_file, data)
s = data.expand(self.what_file)
logger.debug(2, "CONF %s:%s: including %s", self.filename, self.lineno, s)
# TODO: Cache those includes... maybe not here though
if self.force:
bb.parse.ConfHandler.include(self.filename, s, data, "include required")
bb.parse.ConfHandler.include(self.filename, s, self.lineno, data, "include required")
else:
bb.parse.ConfHandler.include(self.filename, s, data, False)
bb.parse.ConfHandler.include(self.filename, s, self.lineno, data, False)
class ExportNode(AstNode):
def __init__(self, filename, lineno, var):
@@ -69,7 +69,7 @@ class ExportNode(AstNode):
self.var = var
def eval(self, data):
bb.data.setVarFlag(self.var, "export", 1, data)
data.setVarFlag(self.var, "export", 1)
class DataNode(AstNode):
"""
@@ -92,7 +92,7 @@ class DataNode(AstNode):
groupd = self.groupd
key = groupd["var"]
if "exp" in groupd and groupd["exp"] != None:
bb.data.setVarFlag(key, "export", 1, data)
data.setVarFlag(key, "export", 1)
if "ques" in groupd and groupd["ques"] != None:
val = self.getFunc(key, data)
if val == None:
@@ -100,7 +100,7 @@ class DataNode(AstNode):
elif "colon" in groupd and groupd["colon"] != None:
e = data.createCopy()
bb.data.update_data(e)
val = bb.data.expand(groupd["value"], e, key + "[:=]")
val = e.expand(groupd["value"], key + "[:=]")
elif "append" in groupd and groupd["append"] != None:
val = "%s %s" % ((self.getFunc(key, data) or ""), groupd["value"])
elif "prepend" in groupd and groupd["prepend"] != None:
@@ -113,11 +113,11 @@ class DataNode(AstNode):
val = groupd["value"]
if 'flag' in groupd and groupd['flag'] != None:
bb.data.setVarFlag(key, groupd['flag'], val, data)
data.setVarFlag(key, groupd['flag'], val)
elif groupd["lazyques"]:
bb.data.setVarFlag(key, "defaultval", val, data)
data.setVarFlag(key, "defaultval", val)
else:
bb.data.setVar(key, val, data)
data.setVar(key, val)
class MethodNode(AstNode):
def __init__(self, filename, lineno, func_name, body):
@@ -131,12 +131,12 @@ class MethodNode(AstNode):
if not funcname in bb.methodpool._parsed_fns:
text = "def %s(d):\n" % (funcname) + '\n'.join(self.body)
bb.methodpool.insert_method(funcname, text, self.filename)
anonfuncs = bb.data.getVar('__BBANONFUNCS', data) or []
anonfuncs = data.getVar('__BBANONFUNCS') or []
anonfuncs.append(funcname)
bb.data.setVar('__BBANONFUNCS', anonfuncs, data)
data.setVar('__BBANONFUNCS', anonfuncs)
else:
bb.data.setVarFlag(self.func_name, "func", 1, data)
bb.data.setVar(self.func_name, '\n'.join(self.body), data)
data.setVarFlag(self.func_name, "func", 1)
data.setVar(self.func_name, '\n'.join(self.body))
class PythonMethodNode(AstNode):
def __init__(self, filename, lineno, function, define, body):
@@ -152,9 +152,9 @@ class PythonMethodNode(AstNode):
text = '\n'.join(self.body)
if not bb.methodpool.parsed_module(self.define):
bb.methodpool.insert_method(self.define, text, self.filename)
bb.data.setVarFlag(self.function, "func", 1, data)
bb.data.setVarFlag(self.function, "python", 1, data)
bb.data.setVar(self.function, text, data)
data.setVarFlag(self.function, "func", 1)
data.setVarFlag(self.function, "python", 1)
data.setVar(self.function, text)
class MethodFlagsNode(AstNode):
def __init__(self, filename, lineno, key, m):
@@ -163,19 +163,19 @@ class MethodFlagsNode(AstNode):
self.m = m
def eval(self, data):
if bb.data.getVar(self.key, data):
if data.getVar(self.key):
# clean up old version of this piece of metadata, as its
# flags could cause problems
bb.data.setVarFlag(self.key, 'python', None, data)
bb.data.setVarFlag(self.key, 'fakeroot', None, data)
data.setVarFlag(self.key, 'python', None)
data.setVarFlag(self.key, 'fakeroot', None)
if self.m.group("py") is not None:
bb.data.setVarFlag(self.key, "python", "1", data)
data.setVarFlag(self.key, "python", "1")
else:
bb.data.delVarFlag(self.key, "python", data)
data.delVarFlag(self.key, "python")
if self.m.group("fr") is not None:
bb.data.setVarFlag(self.key, "fakeroot", "1", data)
data.setVarFlag(self.key, "fakeroot", "1")
else:
bb.data.delVarFlag(self.key, "fakeroot", data)
data.delVarFlag(self.key, "fakeroot")
class ExportFuncsNode(AstNode):
def __init__(self, filename, lineno, fns, classes):
@@ -197,25 +197,25 @@ class ExportFuncsNode(AstNode):
vars.append([allvars[0], allvars[2]])
for (var, calledvar) in vars:
if bb.data.getVar(var, data) and not bb.data.getVarFlag(var, 'export_func', data):
if data.getVar(var) and not data.getVarFlag(var, 'export_func'):
continue
if bb.data.getVar(var, data):
bb.data.setVarFlag(var, 'python', None, data)
bb.data.setVarFlag(var, 'func', None, data)
if data.getVar(var):
data.setVarFlag(var, 'python', None)
data.setVarFlag(var, 'func', None)
for flag in [ "func", "python" ]:
if bb.data.getVarFlag(calledvar, flag, data):
bb.data.setVarFlag(var, flag, bb.data.getVarFlag(calledvar, flag, data), data)
if data.getVarFlag(calledvar, flag):
data.setVarFlag(var, flag, data.getVarFlag(calledvar, flag))
for flag in [ "dirs" ]:
if bb.data.getVarFlag(var, flag, data):
bb.data.setVarFlag(calledvar, flag, bb.data.getVarFlag(var, flag, data), data)
if data.getVarFlag(var, flag):
data.setVarFlag(calledvar, flag, data.getVarFlag(var, flag))
if bb.data.getVarFlag(calledvar, "python", data):
bb.data.setVar(var, "\tbb.build.exec_func('" + calledvar + "', d)\n", data)
if data.getVarFlag(calledvar, "python"):
data.setVar(var, "\tbb.build.exec_func('" + calledvar + "', d)\n")
else:
bb.data.setVar(var, "\t" + calledvar + "\n", data)
bb.data.setVarFlag(var, 'export_func', '1', data)
data.setVar(var, "\t" + calledvar + "\n")
data.setVarFlag(var, 'export_func', '1')
class AddTaskNode(AstNode):
def __init__(self, filename, lineno, func, before, after):
@@ -229,25 +229,25 @@ class AddTaskNode(AstNode):
if self.func[:3] != "do_":
var = "do_" + self.func
bb.data.setVarFlag(var, "task", 1, data)
bbtasks = bb.data.getVar('__BBTASKS', data) or []
data.setVarFlag(var, "task", 1)
bbtasks = data.getVar('__BBTASKS') or []
if not var in bbtasks:
bbtasks.append(var)
bb.data.setVar('__BBTASKS', bbtasks, data)
data.setVar('__BBTASKS', bbtasks)
existing = bb.data.getVarFlag(var, "deps", data) or []
existing = data.getVarFlag(var, "deps") or []
if self.after is not None:
# set up deps for function
for entry in self.after.split():
if entry not in existing:
existing.append(entry)
bb.data.setVarFlag(var, "deps", existing, data)
data.setVarFlag(var, "deps", existing)
if self.before is not None:
# set up things that depend on this func
for entry in self.before.split():
existing = bb.data.getVarFlag(entry, "deps", data) or []
existing = data.getVarFlag(entry, "deps") or []
if var not in existing:
bb.data.setVarFlag(entry, "deps", [var] + existing, data)
data.setVarFlag(entry, "deps", [var] + existing)
class BBHandlerNode(AstNode):
def __init__(self, filename, lineno, fns):
@@ -255,11 +255,11 @@ class BBHandlerNode(AstNode):
self.hs = fns.split()
def eval(self, data):
bbhands = bb.data.getVar('__BBHANDLERS', data) or []
bbhands = data.getVar('__BBHANDLERS') or []
for h in self.hs:
bbhands.append(h)
bb.data.setVarFlag(h, "handler", 1, data)
bb.data.setVar('__BBHANDLERS', bbhands, data)
data.setVarFlag(h, "handler", 1)
data.setVar('__BBHANDLERS', bbhands)
class InheritNode(AstNode):
def __init__(self, filename, lineno, classes):
@@ -267,7 +267,7 @@ class InheritNode(AstNode):
self.classes = classes
def eval(self, data):
bb.parse.BBHandler.inherit(self.classes, data)
bb.parse.BBHandler.inherit(self.classes, self.filename, self.lineno, data)
def handleInclude(statements, filename, lineno, m, force):
statements.append(IncludeNode(filename, lineno, m.group(1), force))
@@ -308,9 +308,9 @@ def handleInherit(statements, filename, lineno, m):
def finalize(fn, d, variant = None):
all_handlers = {}
for var in bb.data.getVar('__BBHANDLERS', d) or []:
for var in d.getVar('__BBHANDLERS') or []:
# try to add the handler
handler = bb.data.getVar(var, d)
handler = d.getVar(var)
bb.event.register(var, handler)
bb.event.fire(bb.event.RecipePreFinalise(fn), d)
@@ -318,16 +318,18 @@ def finalize(fn, d, variant = None):
bb.data.expandKeys(d)
bb.data.update_data(d)
code = []
for funcname in bb.data.getVar("__BBANONFUNCS", d) or []:
for funcname in d.getVar("__BBANONFUNCS") or []:
code.append("%s(d)" % funcname)
bb.utils.simple_exec("\n".join(code), {"d": d})
bb.data.update_data(d)
tasklist = bb.data.getVar('__BBTASKS', d) or []
tasklist = d.getVar('__BBTASKS') or []
bb.build.add_tasks(tasklist, d)
bb.parse.siggen.finalise(fn, d, variant)
d.setVar('BBINCLUDED', bb.parse.get_file_depends(d))
bb.event.fire(bb.event.RecipeParsed(fn), d)
def _create_variants(datastores, names, function):
@@ -378,7 +380,7 @@ def multi_finalize(fn, d):
try:
finalize(fn, d)
except bb.parse.SkipPackage as e:
bb.data.setVar("__SKIPPED", e.args[0], d)
d.setVar("__SKIPPED", e.args[0])
datastores = {"": safe_d}
versions = (d.getVar("BBVERSIONS", True) or "").split()
@@ -421,7 +423,7 @@ def multi_finalize(fn, d):
try:
finalize(fn, d)
except bb.parse.SkipPackage as e:
bb.data.setVar("__SKIPPED", e.args[0], d)
d.setVar("__SKIPPED", e.args[0])
_create_variants(datastores, versions, verfunc)
@@ -450,7 +452,7 @@ def multi_finalize(fn, d):
d.setVar("BBEXTENDVARIANT", variantmap[name])
else:
d.setVar("PN", "%s-%s" % (pn, name))
bb.parse.BBHandler.inherit([extendedmap[name]], d)
bb.parse.BBHandler.inherit([extendedmap[name]], fn, 0, d)
safe_d.setVar("BBCLASSEXTEND", extended)
_create_variants(datastores, extendedmap.keys(), extendfunc)
@@ -461,7 +463,7 @@ def multi_finalize(fn, d):
if not onlyfinalise or variant in onlyfinalise:
finalize(fn, variant_d, variant)
except bb.parse.SkipPackage as e:
bb.data.setVar("__SKIPPED", e.args[0], variant_d)
variant_d.setVar("__SKIPPED", e.args[0])
if len(datastores) > 1:
variants = filter(None, datastores.iterkeys())

View File

@@ -68,10 +68,8 @@ def supports(fn, d):
"""Return True if fn has a supported extension"""
return os.path.splitext(fn)[-1] in [".bb", ".bbclass", ".inc"]
def inherit(files, d):
def inherit(files, fn, lineno, d):
__inherit_cache = data.getVar('__inherit_cache', d) or []
fn = ""
lineno = 0
for file in files:
file = data.expand(file, d)
if not os.path.isabs(file) and not file.endswith(".bbclass"):
@@ -81,7 +79,7 @@ def inherit(files, d):
logger.log(logging.DEBUG -1, "BB %s:%d: inheriting %s", fn, lineno, file)
__inherit_cache.append( file )
data.setVar('__inherit_cache', __inherit_cache, d)
include(fn, file, d, "inherit")
include(fn, file, lineno, d, "inherit")
__inherit_cache = data.getVar('__inherit_cache', d) or []
def get_statements(filename, absolute_filename, base_name):
@@ -148,7 +146,7 @@ def handle(fn, d, include):
# DONE WITH PARSING... time to evaluate
if ext != ".bbclass":
data.setVar('FILE', fn, d)
data.setVar('FILE', abs_fn, d)
statements.eval(d)
@@ -159,7 +157,7 @@ def handle(fn, d, include):
return ast.multi_finalize(fn, d)
if oldfile:
bb.data.setVar("FILE", oldfile, d)
d.setVar("FILE", oldfile)
# we have parsed the bb class now
if ext == ".bbclass" or ext == ".inc":
@@ -193,7 +191,6 @@ def feeder(lineno, s, fn, root, statements):
if lineno == IN_PYTHON_EOF:
return
if s and s[0] == '#':
if len(__residue__) != 0 and __residue__[0][0] != "#":
bb.error("There is a comment on line %s of file %s (%s) which is in the middle of a multiline expression.\nBitbake used to ignore these but no longer does so, please fix your metadata as errors are likely as a result of this change." % (lineno, fn, s))

View File

@@ -24,41 +24,41 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import re, bb.data, os
import re, os
import logging
import bb.utils
from bb.parse import ParseError, resolve_file, ast, logger
#__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}]+)\s*(?P<colon>:)?(?P<ques>\?)?=\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$")
__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<lazyques>\?\?=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$")
__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<lazyques>\?\?=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?P<apo>['\"])(?P<value>.*)(?P=apo)$")
__include_regexp__ = re.compile( r"include\s+(.+)" )
__require_regexp__ = re.compile( r"require\s+(.+)" )
__export_regexp__ = re.compile( r"export\s+(.+)" )
__export_regexp__ = re.compile( r"export\s+([a-zA-Z0-9\-_+.${}/]+)$" )
def init(data):
topdir = bb.data.getVar('TOPDIR', data)
topdir = data.getVar('TOPDIR')
if not topdir:
bb.data.setVar('TOPDIR', os.getcwd(), data)
data.setVar('TOPDIR', os.getcwd())
def supports(fn, d):
return fn[-5:] == ".conf"
def include(oldfn, fn, data, error_out):
def include(oldfn, fn, lineno, data, error_out):
"""
error_out If True a ParseError will be raised if the to be included
config-files could not be included.
error_out: A string indicating the verb (e.g. "include", "inherit") to be
used in a ParseError that will be raised if the file to be included could
not be included. Specify False to avoid raising an error in this case.
"""
if oldfn == fn: # prevent infinite recursion
return None
import bb
fn = bb.data.expand(fn, data)
oldfn = bb.data.expand(oldfn, data)
fn = data.expand(fn)
oldfn = data.expand(oldfn)
if not os.path.isabs(fn):
dname = os.path.dirname(oldfn)
bbpath = "%s:%s" % (dname, bb.data.getVar("BBPATH", data, 1))
bbpath = "%s:%s" % (dname, data.getVar("BBPATH", 1))
abs_fn = bb.utils.which(bbpath, fn)
if abs_fn:
fn = abs_fn
@@ -68,7 +68,7 @@ def include(oldfn, fn, data, error_out):
ret = handle(fn, data, True)
except IOError:
if error_out:
raise ParseError("Could not %(error_out)s file %(fn)s" % vars() )
raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
logger.debug(2, "CONF file '%s' not found", fn)
def handle(fn, data, include):
@@ -77,7 +77,7 @@ def handle(fn, data, include):
if include == 0:
oldfile = None
else:
oldfile = bb.data.getVar('FILE', data)
oldfile = data.getVar('FILE')
abs_fn = resolve_file(fn, data)
f = open(abs_fn, 'r')
@@ -102,10 +102,10 @@ def handle(fn, data, include):
feeder(lineno, s, fn, statements)
# DONE WITH PARSING... time to evaluate
bb.data.setVar('FILE', fn, data)
data.setVar('FILE', abs_fn)
statements.eval(data)
if oldfile:
bb.data.setVar('FILE', oldfile, data)
data.setVar('FILE', oldfile)
return data
@@ -131,7 +131,7 @@ def feeder(lineno, s, fn, statements):
ast.handleExport(statements, fn, lineno, m)
return
raise ParseError("%s:%d: unparsed line: '%s'" % (fn, lineno, s));
raise ParseError("unparsed line: '%s'" % s, fn, lineno);
# Add us to the handlers list
from bb.parse import handlers

View File

@@ -41,15 +41,19 @@ if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
logger = logging.getLogger("BitBake.PersistData")
if hasattr(sqlite3, 'enable_shared_cache'):
sqlite3.enable_shared_cache(True)
try:
sqlite3.enable_shared_cache(True)
except sqlite3.OperationalError:
pass
@total_ordering
class SQLTable(collections.MutableMapping):
"""Object representing a table/domain in the database"""
def __init__(self, cursor, table):
self.cursor = cursor
def __init__(self, cachefile, table):
self.cachefile = cachefile
self.table = table
self.cursor = connect(self.cachefile)
self._execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);"
% table)
@@ -63,6 +67,8 @@ class SQLTable(collections.MutableMapping):
except sqlite3.OperationalError as exc:
if 'database is locked' in str(exc) and count < 500:
count = count + 1
self.cursor.close()
self.cursor = connect(self.cachefile)
continue
raise
@@ -188,18 +194,17 @@ class PersistData(object):
del self.data[domain][key]
def connect(database):
return sqlite3.connect(database, timeout=30, isolation_level=None)
return sqlite3.connect(database, timeout=5, isolation_level=None)
def persist(domain, d):
"""Convenience factory for SQLTable objects based upon metadata"""
import bb.data, bb.utils
cachedir = (bb.data.getVar("PERSISTENT_DIR", d, True) or
bb.data.getVar("CACHE", d, True))
import bb.utils
cachedir = (d.getVar("PERSISTENT_DIR", True) or
d.getVar("CACHE", True))
if not cachedir:
logger.critical("Please set the 'PERSISTENT_DIR' or 'CACHE' variable")
sys.exit(1)
bb.utils.mkdirhier(cachedir)
cachefile = os.path.join(cachedir, "bb_persist_data.sqlite3")
connection = connect(cachefile)
return SQLTable(connection, domain)
return SQLTable(cachefile, domain)

View File

@@ -24,17 +24,53 @@
import re
import logging
from bb import data, utils
from collections import defaultdict
import bb
logger = logging.getLogger("BitBake.Provider")
class NoProvider(Exception):
class NoProvider(bb.BBHandledException):
"""Exception raised when no provider of a build dependency can be found"""
class NoRProvider(Exception):
class NoRProvider(bb.BBHandledException):
"""Exception raised when no provider of a runtime dependency can be found"""
def findProviders(cfgData, dataCache, pkg_pn = None):
"""
Convenience function to get latest and preferred providers in pkg_pn
"""
if not pkg_pn:
pkg_pn = dataCache.pkg_pn
# Need to ensure data store is expanded
localdata = data.createCopy(cfgData)
bb.data.update_data(localdata)
bb.data.expandKeys(localdata)
preferred_versions = {}
latest_versions = {}
for pn in pkg_pn:
(last_ver, last_file, pref_ver, pref_file) = findBestProvider(pn, localdata, dataCache, pkg_pn)
preferred_versions[pn] = (pref_ver, pref_file)
latest_versions[pn] = (last_ver, last_file)
return (latest_versions, preferred_versions)
def allProviders(dataCache):
"""
Find all providers for each pn
"""
all_providers = defaultdict(list)
for (fn, pn) in dataCache.pkg_fn.items():
ver = dataCache.pkg_pepvpr[fn]
all_providers[pn].append((ver, fn))
return all_providers
def sortPriorities(pn, dataCache, pkg_pn = None):
"""
Reorder pkg_pn by file priority and default preference
@@ -84,10 +120,10 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
preferred_ver = None
localdata = data.createCopy(cfgData)
bb.data.setVar('OVERRIDES', "%s:pn-%s:%s" % (data.getVar('OVERRIDES', localdata), pn, pn), localdata)
localdata.setVar('OVERRIDES', "%s:pn-%s:%s" % (data.getVar('OVERRIDES', localdata), pn, pn))
bb.data.update_data(localdata)
preferred_v = bb.data.getVar('PREFERRED_VERSION', localdata, True)
preferred_v = localdata.getVar('PREFERRED_VERSION', True)
if preferred_v:
m = re.match('(\d+:)*(.*)(_.*)*', preferred_v)
if m:
@@ -248,7 +284,7 @@ def filterProviders(providers, item, cfgData, dataCache):
eligible = _filterProviders(providers, item, cfgData, dataCache)
prefervar = bb.data.getVar('PREFERRED_PROVIDER_%s' % item, cfgData, 1)
prefervar = cfgData.getVar('PREFERRED_PROVIDER_%s' % item, 1)
if prefervar:
dataCache.preferred[item] = prefervar
@@ -286,7 +322,7 @@ def filterProvidersRunTime(providers, item, cfgData, dataCache):
pn = dataCache.pkg_fn[p]
provides = dataCache.pn_provides[pn]
for provide in provides:
prefervar = bb.data.getVar('PREFERRED_PROVIDER_%s' % provide, cfgData, 1)
prefervar = cfgData.getVar('PREFERRED_PROVIDER_%s' % provide, 1)
logger.debug(1, "checking PREFERRED_PROVIDER_%s (value %s) against %s", provide, prefervar, pns.keys())
if prefervar in pns and pns[prefervar] not in preferred:
var = "PREFERRED_PROVIDER_%s = %s" % (provide, prefervar)

View File

@@ -31,6 +31,7 @@ import fcntl
import logging
import bb
from bb import msg, data, event
from bb import monitordisk
bblogger = logging.getLogger("BitBake")
logger = logging.getLogger("BitBake.RunQueue")
@@ -187,9 +188,10 @@ class RunQueueData:
self.taskData = taskData
self.targets = targets
self.rq = rq
self.warn_multi_bb = False
self.stampwhitelist = bb.data.getVar("BB_STAMP_WHITELIST", cfgData, 1) or ""
self.multi_provider_whitelist = (bb.data.getVar("MULTI_PROVIDER_WHITELIST", cfgData, 1) or "").split()
self.stampwhitelist = cfgData.getVar("BB_STAMP_WHITELIST", 1) or ""
self.multi_provider_whitelist = (cfgData.getVar("MULTI_PROVIDER_WHITELIST", 1) or "").split()
self.reset()
@@ -674,11 +676,14 @@ class RunQueueData:
prov_list[prov] = [fn]
elif fn not in prov_list[prov]:
prov_list[prov].append(fn)
error = False
for prov in prov_list:
if len(prov_list[prov]) > 1 and prov not in self.multi_provider_whitelist:
error = True
logger.error("Multiple .bb files are due to be built which each provide %s (%s).\n This usually means one provides something the other doesn't and should.", prov, " ".join(prov_list[prov]))
msg = "Multiple .bb files are due to be built which each provide %s (%s)." % (prov, " ".join(prov_list[prov]))
if self.warn_multi_bb:
logger.warn(msg)
else:
msg += "\n This usually means one provides something the other doesn't and should."
logger.error(msg)
# Create a whitelist usable by the stamp checks
@@ -765,11 +770,15 @@ class RunQueue:
self.cfgData = cfgData
self.rqdata = RunQueueData(self, cooker, cfgData, dataCache, taskData, targets)
self.stamppolicy = bb.data.getVar("BB_STAMP_POLICY", cfgData, True) or "perfile"
self.hashvalidate = bb.data.getVar("BB_HASHCHECK_FUNCTION", cfgData, True) or None
self.stamppolicy = cfgData.getVar("BB_STAMP_POLICY", True) or "perfile"
self.hashvalidate = cfgData.getVar("BB_HASHCHECK_FUNCTION", True) or None
self.setsceneverify = cfgData.getVar("BB_SETSCENE_VERIFY_FUNCTION", True) or None
self.state = runQueuePrepare
# For disk space monitor
self.dm = monitordisk.diskMonitor(cfgData)
def check_stamps(self):
unchecked = {}
current = []
@@ -944,6 +953,9 @@ class RunQueue:
else:
self.rqexe = RunQueueExecuteScenequeue(self)
if self.state in [runQueueSceneRun, runQueueRunning, runQueueCleanUp]:
self.dm.check(self)
if self.state is runQueueSceneRun:
retval = self.rqexe.execute()
@@ -958,6 +970,13 @@ class RunQueue:
if self.state is runQueueCleanUp:
self.rqexe.finish()
if self.state is runQueueComplete or self.state is runQueueFailed:
if self.rqexe.stats.failed:
logger.info("Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and %d failed.", self.rqexe.stats.completed + self.rqexe.stats.failed, self.rqexe.stats.skipped, self.rqexe.stats.failed)
else:
# Let's avoid the word "failed" if nothing actually did
logger.info("Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and all succeeded.", self.rqexe.stats.completed, self.rqexe.stats.skipped)
if self.state is runQueueFailed:
if not self.rqdata.taskData.tryaltconfigs:
raise bb.runqueue.TaskFailure(self.rqexe.failed_fnids)
@@ -967,7 +986,6 @@ class RunQueue:
if self.state is runQueueComplete:
# All done
logger.info("Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and %d failed.", self.rqexe.stats.completed, self.rqexe.stats.skipped, self.rqexe.stats.failed)
return False
if self.state is runQueueChildProcess:
@@ -1006,8 +1024,8 @@ class RunQueueExecute:
self.cfgData = rq.cfgData
self.rqdata = rq.rqdata
self.number_tasks = int(bb.data.getVar("BB_NUMBER_THREADS", self.cfgData, 1) or 1)
self.scheduler = bb.data.getVar("BB_SCHEDULER", self.cfgData, 1) or "speed"
self.number_tasks = int(self.cfgData.getVar("BB_NUMBER_THREADS", 1) or 1)
self.scheduler = self.cfgData.getVar("BB_SCHEDULER", 1) or "speed"
self.runq_buildable = []
self.runq_running = []
@@ -1049,6 +1067,13 @@ class RunQueueExecute:
for pipe in self.build_pipes:
self.build_pipes[pipe].read()
if len(self.failed_fnids) != 0:
self.rq.state = runQueueFailed
return
self.rq.state = runQueueComplete
return
def finish(self):
self.rq.state = runQueueCleanUp
@@ -1096,6 +1121,12 @@ class RunQueueExecute:
logger.debug(2, 'Running %s:%s under fakeroot, fakedirs: %s' %
(fn, taskname, ', '.join(fakedirs)))
else:
envvars = (self.rqdata.dataCache.fakerootnoenv[fn] or "").split()
for key, value in (var.split('=') for var in envvars):
envbackup[key] = os.environ.get(key)
os.environ[key] = value
fakeenv[key] = value
sys.stdout.flush()
sys.stderr.flush()
@@ -1125,9 +1156,9 @@ class RunQueueExecute:
if umask:
os.umask(umask)
bb.data.setVar("BB_WORKERCONTEXT", "1", self.cooker.configuration.data)
bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", self, self.cooker.configuration.data)
bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", fn, self.cooker.configuration.data)
self.cooker.configuration.data.setVar("BB_WORKERCONTEXT", "1")
self.cooker.configuration.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", self)
self.cooker.configuration.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", fn)
bb.parse.siggen.set_taskdata(self.rqdata.hashes, self.rqdata.hash_deps)
ret = 0
try:
@@ -1202,34 +1233,38 @@ class RunQueueExecuteTasks(RunQueueExecute):
for task in xrange(self.stats.total):
if task in self.rq.scenequeue_covered:
continue
if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered):
self.rq.scenequeue_covered.add(task)
found = True
logger.debug(1, 'Considering %s (%s): %s' % (task, self.rqdata.get_user_idstring(task), str(self.rqdata.runq_revdeps[task])))
# Detect when the real task needs to be run anyway by looking to see
# if any of its dependencies within the same package are scheduled
# to be run.
if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered):
ok = True
for revdep in self.rqdata.runq_revdeps[task]:
if self.rqdata.runq_fnid[task] != self.rqdata.runq_fnid[revdep]:
logger.debug(1, 'Found "bad" dep %s (%s) for %s (%s)' % (revdep, self.rqdata.get_user_idstring(revdep), task, self.rqdata.get_user_idstring(task)))
ok = False
break
if ok:
found = True
self.rq.scenequeue_covered.add(task)
logger.debug(1, 'Skip list (pre setsceneverify) %s', sorted(self.rq.scenequeue_covered))
# Allow the metadata to elect for setscene tasks to run anyway
covered_remove = set()
for task in self.rq.scenequeue_covered:
task_fnid = self.rqdata.runq_fnid[task]
for dep in self.rqdata.runq_depends[task]:
if self.rqdata.runq_fnid[dep] == task_fnid:
if dep not in self.rq.scenequeue_covered:
covered_remove.add(task)
break
if self.rq.setsceneverify:
call = self.rq.setsceneverify + "(covered, tasknames, fnids, fns, d)"
locs = { "covered" : self.rq.scenequeue_covered, "tasknames" : self.rqdata.runq_task, "fnids" : self.rqdata.runq_fnid, "fns" : self.rqdata.taskData.fn_index, "d" : self.cooker.configuration.data }
covered_remove = bb.utils.better_eval(call, locs)
for task in covered_remove:
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
taskname = self.rqdata.runq_task[task] + '_setscene'
bb.build.del_stamp(taskname, self.rqdata.dataCache, fn)
logger.debug(1, 'Not skipping task %s because it will have to be run anyway', task)
logger.debug(1, 'Not skipping task %s due to setsceneverify', task)
self.rq.scenequeue_covered.remove(task)
logger.debug(1, 'Full skip list %s', self.rq.scenequeue_covered)
for task in self.rq.scenequeue_covered:
self.task_skip(task)
event.fire(bb.event.StampUpdate(self.rqdata.target_pairs, self.rqdata.dataCache.stamp), self.cfgData)
schedulers = self.get_schedulers()
@@ -1248,7 +1283,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
if type(obj) is type and
issubclass(obj, RunQueueScheduler))
user_schedulers = bb.data.getVar("BB_SCHEDULERS", self.cfgData, True)
user_schedulers = self.cfgData.getVar("BB_SCHEDULERS", True)
if user_schedulers:
for sched in user_schedulers.split():
if not "." in sched:
@@ -1323,8 +1358,14 @@ class RunQueueExecuteTasks(RunQueueExecute):
task = self.sched.next()
if task is not None:
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
taskname = self.rqdata.runq_task[task]
if task in self.rq.scenequeue_covered:
logger.debug(2, "Setscene covered task %s (%s)", task,
self.rqdata.get_user_idstring(task))
self.task_skip(task)
return True
if self.rq.check_stamp_task(task, taskname):
logger.debug(2, "Stamp current task %s (%s)", task,
self.rqdata.get_user_idstring(task))
@@ -1412,18 +1453,20 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
sq_revdeps.append(copy.copy(self.rqdata.runq_revdeps[task]))
sq_revdeps_new.append(set())
if (len(self.rqdata.runq_revdeps[task]) == 0) and task not in self.rqdata.runq_setscene:
endpoints[task] = None
endpoints[task] = set()
for task in self.rqdata.runq_setscene:
for dep in self.rqdata.runq_depends[task]:
endpoints[dep] = task
if dep not in endpoints:
endpoints[dep] = set()
endpoints[dep].add(task)
def process_endpoints(endpoints):
newendpoints = {}
for point, task in endpoints.items():
tasks = set()
if task:
tasks.add(task)
tasks |= task
if sq_revdeps_new[point]:
tasks |= sq_revdeps_new[point]
sq_revdeps_new[point] = set()
@@ -1448,8 +1491,30 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
elif len(sq_revdeps_new[task]) != 0:
bb.msg.fatal("RunQueue", "Something went badly wrong during scenequeue generation, aborting. Please report this problem.")
# Resolve setscene inter-task dependencies
# e.g. do_sometask_setscene[depends] = "targetname:do_someothertask_setscene"
# Note that anything explicitly depended upon will have its reverse dependencies removed to avoid circular dependencies
for task in self.rqdata.runq_setscene:
realid = self.rqdata.taskData.gettask_id(self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]], self.rqdata.runq_task[task] + "_setscene", False)
idepends = self.rqdata.taskData.tasks_idepends[realid]
for (depid, idependtask) in idepends:
if depid not in self.rqdata.taskData.build_targets:
continue
depdata = self.rqdata.taskData.build_targets[depid][0]
if depdata is None:
continue
dep = self.rqdata.taskData.fn_index[depdata]
taskid = self.rqdata.get_task_id(self.rqdata.taskData.getfn_id(dep), idependtask.replace("_setscene", ""))
if taskid is None:
bb.msg.fatal("RunQueue", "Task %s depends upon nonexistant task %s:%s" % (self.rqdata.taskData.tasks_name[realid], dep, idependtask))
sq_revdeps_squash[self.rqdata.runq_setscene.index(task)].add(self.rqdata.runq_setscene.index(taskid))
# Have to zero this to avoid circular dependencies
sq_revdeps_squash[self.rqdata.runq_setscene.index(taskid)] = set()
#for task in xrange(len(sq_revdeps_squash)):
# print "Task %s: %s.%s is %s " % (task, self.taskData.fn_index[self.runq_fnid[self.runq_setscene[task]]], self.runq_task[self.runq_setscene[task]] + "_setscene", sq_revdeps_squash[task])
# print "Task %s: %s.%s is %s " % (task, self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[self.rqdata.runq_setscene[task]]], self.rqdata.runq_task[self.rqdata.runq_setscene[task]] + "_setscene", sq_revdeps_squash[task])
self.sq_deps = []
self.sq_revdeps = sq_revdeps_squash
@@ -1506,8 +1571,9 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
for task in xrange(len(self.sq_revdeps)):
if task not in valid_new and task not in noexec:
realtask = self.rqdata.runq_setscene[task]
logger.debug(2, 'No package found, so skipping setscene task %s',
self.rqdata.get_user_idstring(task))
self.rqdata.get_user_idstring(realtask))
self.task_failoutright(task)
logger.info('Executing SetScene Tasks')
@@ -1580,7 +1646,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
taskname = self.rqdata.runq_task[realtask] + "_setscene"
if self.rq.check_stamp_task(realtask, self.rqdata.runq_task[realtask]):
logger.debug(2, 'Stamp for underlying task %s(%s) is current, so skipping setscene variant',
task, self.rqdata.get_user_idstring(task))
task, self.rqdata.get_user_idstring(realtask))
self.task_failoutright(task)
return True
@@ -1596,8 +1662,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
self.task_skip(task)
return True
logger.info("Running setscene task %d of %d (%s:%s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1,
self.stats.total, fn, taskname))
startevent = sceneQueueTaskStarted(task, self.stats, self.rq)
bb.event.fire(startevent, self.cfgData)
pid, pipein, pipeout = self.fork_off_task(fn, realtask, taskname)
@@ -1622,7 +1688,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
for task in oldcovered:
self.rq.scenequeue_covered.add(self.rqdata.runq_setscene[task])
logger.debug(1, 'We can skip tasks %s', self.rq.scenequeue_covered)
logger.debug(1, 'We can skip tasks %s', sorted(self.rq.scenequeue_covered))
self.rq.state = runQueueRunInit
return True
@@ -1658,6 +1724,15 @@ class runQueueEvent(bb.event.Event):
self.stats = stats.copy()
bb.event.Event.__init__(self)
class sceneQueueEvent(runQueueEvent):
"""
Base sceneQueue event class
"""
def __init__(self, task, stats, rq, noexec=False):
runQueueEvent.__init__(self, task, stats, rq)
realtask = rq.rqdata.runq_setscene[task]
self.taskstring = rq.rqdata.get_user_idstring(realtask, "_setscene")
class runQueueTaskStarted(runQueueEvent):
"""
Event notifing a task was started
@@ -1666,6 +1741,14 @@ class runQueueTaskStarted(runQueueEvent):
runQueueEvent.__init__(self, task, stats, rq)
self.noexec = noexec
class sceneQueueTaskStarted(sceneQueueEvent):
"""
Event notifing a setscene task was started
"""
def __init__(self, task, stats, rq, noexec=False):
sceneQueueEvent.__init__(self, task, stats, rq)
self.noexec = noexec
class runQueueTaskFailed(runQueueEvent):
"""
Event notifing a task failed
@@ -1674,13 +1757,13 @@ class runQueueTaskFailed(runQueueEvent):
runQueueEvent.__init__(self, task, stats, rq)
self.exitcode = exitcode
class sceneQueueTaskFailed(runQueueTaskFailed):
class sceneQueueTaskFailed(sceneQueueEvent):
"""
Event notifing a setscene task failed
"""
def __init__(self, task, stats, exitcode, rq):
runQueueTaskFailed.__init__(self, task, stats, exitcode, rq)
self.taskstring = rq.rqdata.get_user_idstring(task, "_setscene")
sceneQueueEvent.__init__(self, task, stats, rq)
self.exitcode = exitcode
class runQueueTaskCompleted(runQueueEvent):
"""
@@ -1688,8 +1771,8 @@ class runQueueTaskCompleted(runQueueEvent):
"""
def check_stamp_fn(fn, taskname, d):
rqexe = bb.data.getVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", d)
fn = bb.data.getVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", d)
rqexe = d.getVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY")
fn = d.getVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2")
fnid = rqexe.rqdata.taskData.getfn_id(fn)
taskid = rqexe.rqdata.get_task_id(fnid, taskname)
if taskid is not None:

View File

@@ -163,7 +163,7 @@ class BitBakeXMLRPCServer(SimpleXMLRPCServer):
# remove this when you're done with debugging
# allow_reuse_address = True
def __init__(self, interface = ("localhost", 0)):
def __init__(self, interface):
"""
Constructor
"""
@@ -242,14 +242,14 @@ class BitBakeXMLRPCServer(SimpleXMLRPCServer):
return
class BitbakeServerInfo():
def __init__(self, server):
self.host = server.host
self.port = server.port
def __init__(self, host, port):
self.host = host
self.port = port
class BitBakeServerConnection():
def __init__(self, serverinfo):
def __init__(self, serverinfo, clientinfo=("localhost", 0)):
self.connection = _create_server(serverinfo.host, serverinfo.port)
self.events = uievent.BBUIEventQueue(self.connection)
self.events = uievent.BBUIEventQueue(self.connection, clientinfo)
for event in bb.event.ui_queue:
self.events.queue_event(event)
@@ -267,8 +267,8 @@ class BitBakeServerConnection():
pass
class BitBakeServer(object):
def initServer(self):
self.server = BitBakeXMLRPCServer()
def initServer(self, interface = ("localhost", 0)):
self.server = BitBakeXMLRPCServer(interface)
def addcooker(self, cooker):
self.cooker = cooker
@@ -278,7 +278,7 @@ class BitBakeServer(object):
return self.server.register_idle_function
def saveConnectionDetails(self):
self.serverinfo = BitbakeServerInfo(self.server)
self.serverinfo = BitbakeServerInfo(self.server.host, self.server.port)
def detach(self, cooker_logfile):
daemonize.createDaemon(self.server.serve_forever, cooker_logfile)

View File

@@ -16,7 +16,7 @@ def init(d):
siggens = [obj for obj in globals().itervalues()
if type(obj) is type and issubclass(obj, SignatureGenerator)]
desired = bb.data.getVar("BB_SIGNATURE_HANDLER", d, True) or "noop"
desired = d.getVar("BB_SIGNATURE_HANDLER", True) or "noop"
for sg in siggens:
if desired == sg.name:
return sg(d)
@@ -62,9 +62,13 @@ class SignatureGeneratorBasic(SignatureGenerator):
self.runtaskdeps = {}
self.gendeps = {}
self.lookupcache = {}
self.pkgnameextract = re.compile("(?P<fn>.*)\..*")
self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST", True) or "").split())
self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST", True) or None
self.taskwhitelist = None
self.init_rundepcheck(data)
def init_rundepcheck(self, data):
self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST", True) or None
if self.taskwhitelist:
self.twl = re.compile(self.taskwhitelist)
else:
@@ -72,11 +76,10 @@ class SignatureGeneratorBasic(SignatureGenerator):
def _build_data(self, fn, d):
tasklist, gendeps = bb.data.generate_dependencies(d)
tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d)
taskdeps = {}
basehash = {}
lookupcache = {}
for task in tasklist:
data = d.getVar(task, False)
@@ -101,6 +104,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
alldeps = seen - self.basewhitelist
for dep in sorted(alldeps):
data = data + dep
if dep in lookupcache:
var = lookupcache[dep]
else:
@@ -131,17 +135,24 @@ class SignatureGeneratorBasic(SignatureGenerator):
for task in taskdeps:
d.setVar("BB_BASEHASH_task-%s" % task, self.basehash[fn + "." + task])
def rundep_check(self, fn, recipename, task, dep, depname, dataCache):
# Return True if we should keep the dependency, False to drop it
# We only manipulate the dependencies for packages not in the whitelist
if self.twl and not self.twl.search(recipename):
# then process the actual dependencies
if self.twl.search(depname):
return False
return True
def get_taskhash(self, fn, task, deps, dataCache):
k = fn + "." + task
data = dataCache.basetaskhash[k]
self.runtaskdeps[k] = []
for dep in sorted(deps):
# We only manipulate the dependencies for packages not in the whitelist
if self.twl and not self.twl.search(dataCache.pkg_fn[fn]):
# then process the actual dependencies
dep_fn = re.search("(?P<fn>.*)\..*", dep).group('fn')
if self.twl.search(dataCache.pkg_fn[dep_fn]):
continue
recipename = dataCache.pkg_fn[fn]
for dep in sorted(deps, key=clean_basepath):
depname = dataCache.pkg_fn[self.pkgnameextract.search(dep).group('fn')]
if not self.rundep_check(fn, recipename, task, dep, depname, dataCache):
continue
if dep not in self.taskhash:
bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?", dep)
data = data + self.taskhash[dep]
@@ -159,7 +170,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
k = fn + "." + task
if runtime == "customfile":
sigfile = stampbase
elif runtime:
elif runtime and k in self.taskhash:
sigfile = stampbase + "." + task + ".sigdata" + "." + self.taskhash[k]
else:
sigfile = stampbase + "." + task + ".sigbasedata" + "." + self.basehash[k]
@@ -180,7 +191,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
data['gendeps'][dep] = self.gendeps[fn][dep]
data['varvals'][dep] = self.lookupcache[fn][dep]
if runtime:
if runtime and k in self.taskhash:
data['runtaskdeps'] = self.runtaskdeps[k]
data['runtaskhashes'] = {}
for dep in data['runtaskdeps']:
@@ -217,19 +228,32 @@ def dump_this_task(outfile, d):
task = "do_" + d.getVar("BB_CURRENTTASK", True)
bb.parse.siggen.dump_sigtask(fn, task, outfile, "customfile")
def clean_basepath(a):
if a.startswith("virtual:"):
b = a.rsplit(":", 1)[0] + a.rsplit("/", 1)[1]
else:
b = a.rsplit("/", 1)[1]
return b
def clean_basepaths(a):
b = {}
for x in a:
b[clean_basepath(x)] = a[x]
return b
def compare_sigfiles(a, b):
p1 = pickle.Unpickler(file(a, "rb"))
a_data = p1.load()
p2 = pickle.Unpickler(file(b, "rb"))
b_data = p2.load()
def dict_diff(a, b):
def dict_diff(a, b, whitelist=set()):
sa = set(a.keys())
sb = set(b.keys())
common = sa & sb
changed = set()
for i in common:
if a[i] != b[i]:
if a[i] != b[i] and i not in whitelist:
changed.add(i)
added = sa - sb
removed = sb - sa
@@ -237,20 +261,26 @@ def compare_sigfiles(a, b):
if 'basewhitelist' in a_data and a_data['basewhitelist'] != b_data['basewhitelist']:
print "basewhitelist changed from %s to %s" % (a_data['basewhitelist'], b_data['basewhitelist'])
if a_data['basewhitelist'] and b_data['basewhitelist']:
print "changed items: %s" % a_data['basewhitelist'].symmetric_difference(b_data['basewhitelist'])
if 'taskwhitelist' in a_data and a_data['taskwhitelist'] != b_data['taskwhitelist']:
print "taskwhitelist changed from %s to %s" % (a_data['taskwhitelist'], b_data['taskwhitelist'])
if a_data['taskwhitelist'] and b_data['taskwhitelist']:
print "changed items: %s" % a_data['taskwhitelist'].symmetric_difference(b_data['taskwhitelist'])
if a_data['taskdeps'] != b_data['taskdeps']:
print "Task dependencies changed from %s to %s" % (sorted(a_data['taskdeps']), sorted(b_data['taskdeps']))
print "Task dependencies changed from:\n%s\nto:\n%s" % (sorted(a_data['taskdeps']), sorted(b_data['taskdeps']))
if a_data['basehash'] != b_data['basehash']:
print "basehash changed from %s to %s" % (a_data['basehash'], b_data['basehash'])
changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'])
changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'], a_data['basewhitelist'] & b_data['basewhitelist'])
if changed:
for dep in changed:
print "List of dependencies for variable %s changed from %s to %s" % (dep, a_data['gendeps'][dep], b_data['gendeps'][dep])
if a_data['gendeps'][dep] and b_data['gendeps'][dep]:
print "changed items: %s" % a_data['gendeps'][dep].symmetric_difference(b_data['gendeps'][dep])
if added:
for dep in added:
print "Dependency on variable %s was added" % (dep)
@@ -265,18 +295,32 @@ def compare_sigfiles(a, b):
print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep])
if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data:
changed, added, removed = dict_diff(a_data['runtaskhashes'], b_data['runtaskhashes'])
a = clean_basepaths(a_data['runtaskhashes'])
b = clean_basepaths(b_data['runtaskhashes'])
changed, added, removed = dict_diff(a, b)
if added:
for dep in added:
print "Dependency on task %s was added" % (dep)
bdep_found = False
if removed:
for bdep in removed:
if a[dep] == b[bdep]:
#print "Dependency on task %s was replaced by %s with same hash" % (dep, bdep)
bdep_found = True
if not bdep_found:
print "Dependency on task %s was added with hash %s" % (dep, a[dep])
if removed:
for dep in removed:
print "Dependency on task %s was removed" % (dep)
adep_found = False
if added:
for adep in added:
if a[adep] == b[dep]:
#print "Dependency on task %s was replaced by %s with same hash" % (adep, dep)
adep_found = True
if not adep_found:
print "Dependency on task %s was removed with hash %s" % (dep, b[dep])
if changed:
for dep in changed:
print "Hash for dependent task %s changed from %s to %s" % (dep, a_data['runtaskhashes'][dep], b_data['runtaskhashes'][dep])
elif 'runtaskdeps' in a_data and 'runtaskdeps' in b_data and sorted(a_data['runtaskdeps']) != sorted(b_data['runtaskdeps']):
print "Tasks this task depends on changed from %s to %s" % (sorted(a_data['runtaskdeps']), sorted(b_data['runtaskdeps']))
print "Hash for dependent task %s changed from %s to %s" % (dep, a[dep], b[dep])
def dump_sigfile(a):
p1 = pickle.Unpickler(file(a, "rb"))

View File

@@ -0,0 +1,110 @@
#!/usr/bin/env python
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2012 Intel Corporation
#
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
from bb.ui.crumbs.progressbar import HobProgressBar
from bb.ui.crumbs.hobwidget import hic
from bb.ui.crumbs.runningbuild import RunningBuildTreeView
from bb.ui.crumbs.hobpages import HobPage
#
# BuildDetailsPage
#
class BuildDetailsPage (HobPage):
def __init__(self, builder):
super(BuildDetailsPage, self).__init__(builder, "Building ...")
# create visual elements
self.create_visual_elements()
def create_visual_elements(self):
# create visual elements
self.vbox = gtk.VBox(False, 15)
self.progress_box = gtk.HBox(False, 5)
self.progress_bar = HobProgressBar()
self.progress_box.pack_start(self.progress_bar, expand=True, fill=True)
self.stop_button = gtk.LinkButton("Stop the build process", "Stop")
self.stop_button.connect("clicked", self.stop_button_clicked_cb)
self.progress_box.pack_end(self.stop_button, expand=False, fill=False)
self.build_tv = RunningBuildTreeView(readonly=True)
self.build_tv.set_model(self.builder.handler.build.model)
self.scrolled_view = gtk.ScrolledWindow ()
self.scrolled_view.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.scrolled_view.add(self.build_tv)
self.button_box = gtk.HBox(False, 5)
self.back_button = gtk.LinkButton("Go back to Image Configuration screen", "<< Back to image configuration")
self.back_button.connect("clicked", self.back_button_clicked_cb)
self.button_box.pack_start(self.back_button, expand=False, fill=False)
def _remove_all_widget(self):
children = self.vbox.get_children() or []
for child in children:
self.vbox.remove(child)
children = self.box_group_area.get_children() or []
for child in children:
self.box_group_area.remove(child)
children = self.get_children() or []
for child in children:
self.remove(child)
def show_page(self, step):
self._remove_all_widget()
if step == self.builder.PACKAGE_GENERATING or step == self.builder.FAST_IMAGE_GENERATING:
self.title = "Building packages ..."
else:
self.title = "Building image ..."
self.build_details_top = self.add_onto_top_bar(None)
self.pack_start(self.build_details_top, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
self.box_group_area.pack_start(self.vbox, expand=True, fill=True)
self.progress_bar.reset()
self.vbox.pack_start(self.progress_box, expand=False, fill=False)
self.vbox.pack_start(self.scrolled_view, expand=True, fill=True)
self.box_group_area.pack_end(self.button_box, expand=False, fill=False)
self.show_all()
self.back_button.hide()
def update_progress_bar(self, title, fraction, status=True):
self.progress_bar.update(fraction)
self.progress_bar.set_title(title)
self.progress_bar.set_rcstyle(status)
def back_button_clicked_cb(self, button):
self.builder.show_configuration()
def show_back_button(self):
self.back_button.show()
def stop_button_clicked_cb(self, button):
self.builder.stop_build()
def hide_stop_button(self):
self.stop_button.hide()

View File

@@ -0,0 +1,873 @@
#!/usr/bin/env python
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2011-2012 Intel Corporation
#
# Authored by Joshua Lock <josh@linux.intel.com>
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import copy
import os
import subprocess
import shlex
from bb.ui.crumbs.template import TemplateMgr
from bb.ui.crumbs.imageconfigurationpage import ImageConfigurationPage
from bb.ui.crumbs.recipeselectionpage import RecipeSelectionPage
from bb.ui.crumbs.packageselectionpage import PackageSelectionPage
from bb.ui.crumbs.builddetailspage import BuildDetailsPage
from bb.ui.crumbs.imagedetailspage import ImageDetailsPage
from bb.ui.crumbs.hobwidget import hwc
from bb.ui.crumbs.hig import CrumbsDialog, BinbDialog, \
AdvancedSettingDialog, LayerSelectionDialog, \
DeployImageDialog, ImageSelectionDialog
class Configuration:
'''Represents the data structure of configuration.'''
def __init__(self, params):
# Settings
self.curr_mach = ""
self.curr_distro = params["distro"]
self.dldir = params["dldir"]
self.sstatedir = params["sstatedir"]
self.sstatemirror = params["sstatemirror"]
self.pmake = params["pmake"]
self.bbthread = params["bbthread"]
self.curr_package_format = " ".join(params["pclass"].split("package_")).strip()
self.image_rootfs_size = params["image_rootfs_size"]
self.image_extra_size = params["image_extra_size"]
self.image_overhead_factor = params['image_overhead_factor']
self.incompat_license = params["incompat_license"]
self.curr_sdk_machine = params["sdk_machine"]
self.extra_setting = {}
self.toolchain_build = False
self.image_fstypes = params["image_fstypes"].split()
# bblayers.conf
self.layers = params["layer"].split()
# image/recipes/packages
self.selected_image = None
self.selected_recipes = []
self.selected_packages = []
def load(self, template):
self.curr_mach = template.getVar("MACHINE")
self.curr_package_format = " ".join(template.getVar("PACKAGE_CLASSES").split("package_")).strip()
self.curr_distro = template.getVar("DISTRO")
self.dldir = template.getVar("DL_DIR")
self.sstatedir = template.getVar("SSTATE_DIR")
self.sstatemirror = template.getVar("SSTATE_MIRROR")
self.pmake = int(template.getVar("PARALLEL_MAKE").split()[1])
self.bbthread = int(template.getVar("BB_NUMBER_THREAD"))
self.image_rootfs_size = int(template.getVar("IMAGE_ROOTFS_SIZE"))
self.image_extra_size = int(template.getVar("IMAGE_EXTRA_SPACE"))
# image_overhead_factor is read-only.
self.incompat_license = template.getVar("INCOMPATIBLE_LICENSE")
self.curr_sdk_machine = template.getVar("SDKMACHINE")
self.extra_setting = eval(template.getVar("EXTRA_SETTING"))
self.toolchain_build = eval(template.getVar("TOOLCHAIN_BUILD"))
self.image_fstypes = template.getVar("IMAGE_FSTYPES").split()
# bblayers.conf
self.layers = template.getVar("BBLAYERS").split()
# image/recipes/packages
self.selected_image = template.getVar("__SELECTED_IMAGE__")
self.selected_recipes = template.getVar("DEPENDS").split()
self.selected_packages = template.getVar("IMAGE_INSTALL").split()
def save(self, template, filename):
# bblayers.conf
template.setVar("BBLAYERS", " ".join(self.layers))
# local.conf
template.setVar("MACHINE", self.curr_mach)
template.setVar("DISTRO", self.curr_distro)
template.setVar("DL_DIR", self.dldir)
template.setVar("SSTATE_DIR", self.sstatedir)
template.setVar("SSTATE_MIRROR", self.sstatemirror)
template.setVar("PARALLEL_MAKE", "-j %s" % self.pmake)
template.setVar("BB_NUMBER_THREAD", self.bbthread)
template.setVar("PACKAGE_CLASSES", " ".join(["package_" + i for i in self.curr_package_format.split()]))
template.setVar("IMAGE_ROOTFS_SIZE", self.image_rootfs_size)
template.setVar("IMAGE_EXTRA_SPACE", self.image_extra_size)
template.setVar("INCOMPATIBLE_LICENSE", self.incompat_license)
template.setVar("SDKMACHINE", self.curr_sdk_machine)
template.setVar("EXTRA_SETTING", self.extra_setting)
template.setVar("TOOLCHAIN_BUILD", self.toolchain_build)
template.setVar("IMAGE_FSTYPES", " ".join(self.image_fstypes).lstrip(" "))
# image/recipes/packages
self.selected_image = filename
template.setVar("__SELECTED_IMAGE__", self.selected_image)
template.setVar("DEPENDS", self.selected_recipes)
template.setVar("IMAGE_INSTALL", self.selected_packages)
class Parameters:
'''Represents other variables like available machines, etc.'''
def __init__(self, params):
# Variables
self.all_machines = []
self.all_package_formats = []
self.all_distros = []
self.all_sdk_machines = []
self.max_threads = params["max_threads"]
self.all_layers = []
self.core_base = params["core_base"]
self.image_names = []
self.image_addr = params["image_addr"]
self.image_types = params["image_types"].split()
class Builder(gtk.Window):
(MACHINE_SELECTION,
LAYER_CHANGED,
RCPPKGINFO_POPULATING,
RCPPKGINFO_POPULATED,
RECIPE_SELECTION,
PACKAGE_GENERATING,
PACKAGE_GENERATED,
PACKAGE_SELECTION,
FAST_IMAGE_GENERATING,
IMAGE_GENERATING,
IMAGE_GENERATED,
MY_IMAGE_OPENED,
BACK,
END_NOOP) = range(14)
(IMAGE_CONFIGURATION,
RECIPE_DETAILS,
BUILD_DETAILS,
PACKAGE_DETAILS,
IMAGE_DETAILS,
END_TAB) = range(6)
__step2page__ = {
MACHINE_SELECTION : IMAGE_CONFIGURATION,
LAYER_CHANGED : IMAGE_CONFIGURATION,
RCPPKGINFO_POPULATING : IMAGE_CONFIGURATION,
RCPPKGINFO_POPULATED : IMAGE_CONFIGURATION,
RECIPE_SELECTION : RECIPE_DETAILS,
PACKAGE_GENERATING : BUILD_DETAILS,
PACKAGE_GENERATED : PACKAGE_DETAILS,
PACKAGE_SELECTION : PACKAGE_DETAILS,
FAST_IMAGE_GENERATING : BUILD_DETAILS,
IMAGE_GENERATING : BUILD_DETAILS,
IMAGE_GENERATED : IMAGE_DETAILS,
MY_IMAGE_OPENED : IMAGE_DETAILS,
END_NOOP : None,
}
def __init__(self, hobHandler, recipe_model, package_model):
super(Builder, self).__init__()
# handler
self.handler = hobHandler
self.template = None
# settings
params = self.handler.get_parameters()
self.configuration = Configuration(params)
self.parameters = Parameters(params)
# build step
self.current_step = None
self.previous_step = None
self.stopping = False
self.build_succeeded = True
# recipe model and package model
self.recipe_model = recipe_model
self.package_model = package_model
# create visual elements
self.create_visual_elements()
# connect the signals to functions
#self.connect("configure-event", self.resize_window_cb)
self.connect("delete-event", self.destroy_window_cb)
self.recipe_model.connect ("recipe-selection-changed", self.recipelist_changed_cb)
self.package_model.connect("package-selection-changed", self.packagelist_changed_cb)
self.recipe_model.connect ("recipelist-populated", self.recipelist_populated_cb)
self.package_model.connect("packagelist-populated", self.packagelist_populated_cb)
self.handler.connect("config-updated", self.handler_config_updated_cb)
self.handler.connect("package-formats-updated", self.handler_package_formats_updated_cb)
self.handler.connect("layers-updated", self.handler_layers_updated_cb)
self.handler.connect("parsing-started", self.handler_parsing_started_cb)
self.handler.connect("parsing", self.handler_parsing_cb)
self.handler.connect("parsing-completed", self.handler_parsing_completed_cb)
self.handler.build.connect("build-started", self.handler_build_started_cb)
self.handler.build.connect("build-succeeded", self.handler_build_succeeded_cb)
self.handler.build.connect("build-failed", self.handler_build_failed_cb)
self.handler.build.connect("task-started", self.handler_task_started_cb)
self.handler.connect("generating-data", self.handler_generating_data_cb)
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.switch_page(self.MACHINE_SELECTION)
def create_visual_elements(self):
self.set_title("HOB -- Image Creator")
self.set_icon_name("applications-development")
self.set_position(gtk.WIN_POS_CENTER_ALWAYS)
self.set_resizable(True)
window_width = self.get_screen().get_width()
window_height = self.get_screen().get_height()
if window_width >= hwc.MAIN_WIN_WIDTH:
window_width = hwc.MAIN_WIN_WIDTH
window_height = hwc.MAIN_WIN_HEIGHT
else:
lbl = "<b>Screen dimension mismatched</b>\nfor better usability and visual effects,"
lbl = lbl + " the screen dimension should be 1024x768 or above."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
self.set_size_request(window_width, window_height)
self.vbox = gtk.VBox(False, 0)
self.vbox.set_border_width(0)
self.add(self.vbox)
# create pages
self.image_configuration_page = ImageConfigurationPage(self)
self.recipe_details_page = RecipeSelectionPage(self)
self.build_details_page = BuildDetailsPage(self)
self.package_details_page = PackageSelectionPage(self)
self.image_details_page = ImageDetailsPage(self)
self.nb = gtk.Notebook()
self.nb.set_show_tabs(False)
self.nb.insert_page(self.image_configuration_page, None, self.IMAGE_CONFIGURATION)
self.nb.insert_page(self.recipe_details_page, None, self.RECIPE_DETAILS)
self.nb.insert_page(self.build_details_page, None, self.BUILD_DETAILS)
self.nb.insert_page(self.package_details_page, None, self.PACKAGE_DETAILS)
self.nb.insert_page(self.image_details_page, None, self.IMAGE_DETAILS)
self.vbox.pack_start(self.nb, expand=True, fill=True)
self.show_all()
self.nb.set_current_page(0)
def get_split_model(self):
return self.handler.split_model
def load_template(self, path):
self.template = TemplateMgr()
self.template.load(path)
self.configuration.load(self.template)
if self.get_split_model():
if not set(self.configuration.layers) <= set(self.parameters.all_layers):
return False
else:
for layer in self.configuration.layers:
if not os.path.exists(layer+'/conf/layer.conf'):
return False
self.switch_page(self.LAYER_CHANGED)
self.template.destroy()
self.template = None
def save_template(self, path):
if path.rfind("/") == -1:
filename = "default"
path = "."
else:
filename = path[path.rfind("/") + 1:len(path)]
path = path[0:path.rfind("/")]
self.template = TemplateMgr()
self.template.open(filename, path)
self.configuration.save(self.template, filename)
self.template.save()
self.template.destroy()
self.template = None
def switch_page(self, next_step):
# Main Workflow (Business Logic)
self.nb.set_current_page(self.__step2page__[next_step])
if next_step == self.MACHINE_SELECTION: # init step
self.image_configuration_page.show_machine()
elif next_step == self.LAYER_CHANGED:
# after layers is changd by users
self.image_configuration_page.show_machine()
self.handler.refresh_layers(self.configuration.layers)
elif next_step == self.RCPPKGINFO_POPULATING:
# MACHINE CHANGED action or SETTINGS CHANGED
# show the progress bar
self.image_configuration_page.show_info_populating()
self.generate_recipes()
elif next_step == self.RCPPKGINFO_POPULATED:
self.image_configuration_page.show_info_populated()
elif next_step == self.RECIPE_SELECTION:
pass
elif next_step == self.PACKAGE_SELECTION:
pass
elif next_step == self.PACKAGE_GENERATING or next_step == self.FAST_IMAGE_GENERATING:
# both PACKAGE_GENEATING and FAST_IMAGE_GENERATING share the same page
self.build_details_page.show_page(next_step)
self.generate_packages()
elif next_step == self.PACKAGE_GENERATED:
pass
elif next_step == self.IMAGE_GENERATING:
# after packages are generated, selected_packages need to
# be updated in package_model per selected_image in recipe_model
self.build_details_page.show_page(next_step)
self.generate_image()
elif next_step == self.IMAGE_GENERATED:
self.image_details_page.show_page(next_step)
elif next_step == self.MY_IMAGE_OPENED:
self.image_details_page.show_page(next_step)
self.previous_step = self.current_step
self.current_step = next_step
def set_user_config(self):
self.handler.init_cooker()
# set bb layers
self.handler.set_bblayers(self.configuration.layers)
# set local configuration
self.handler.set_machine(self.configuration.curr_mach)
self.handler.set_package_format(self.configuration.curr_package_format)
self.handler.set_distro(self.configuration.curr_distro)
self.handler.set_dl_dir(self.configuration.dldir)
self.handler.set_sstate_dir(self.configuration.sstatedir)
self.handler.set_sstate_mirror(self.configuration.sstatemirror)
self.handler.set_pmake(self.configuration.pmake)
self.handler.set_bbthreads(self.configuration.bbthread)
self.handler.set_rootfs_size(self.configuration.image_rootfs_size)
self.handler.set_extra_size(self.configuration.image_extra_size)
self.handler.set_incompatible_license(self.configuration.incompat_license)
self.handler.set_sdk_machine(self.configuration.curr_sdk_machine)
self.handler.set_image_fstypes(self.configuration.image_fstypes)
self.handler.set_extra_config(self.configuration.extra_setting)
self.handler.set_extra_inherit("packageinfo")
def reset_recipe_model(self):
self.recipe_model.reset()
def reset_package_model(self):
self.package_model.reset()
def update_recipe_model(self, selected_image, selected_recipes):
self.recipe_model.set_selected_image(selected_image)
self.recipe_model.set_selected_recipes(selected_recipes)
def update_package_model(self, selected_packages):
left = self.package_model.set_selected_packages(selected_packages)
self.configuration.selected_packages += left
def generate_packages(self):
# Build packages
_, all_recipes = self.recipe_model.get_selected_recipes()
self.set_user_config()
self.handler.reset_build()
self.handler.generate_packages(all_recipes)
def generate_recipes(self):
# Parse recipes
self.set_user_config()
self.handler.generate_recipes()
def generate_image(self):
# Build image
self.set_user_config()
all_packages = self.package_model.get_selected_packages()
self.handler.reset_build()
self.handler.generate_image(all_packages, self.configuration.toolchain_build)
# Callback Functions
def handler_config_updated_cb(self, handler, which, values):
if which == "distro":
self.parameters.all_distros = values
elif which == "machine":
self.parameters.all_machines = values
self.image_configuration_page.update_machine_combo()
elif which == "machine-sdk":
self.parameters.all_sdk_machines = values
def handler_package_formats_updated_cb(self, handler, formats):
self.parameters.all_package_formats = formats
def handler_layers_updated_cb(self, handler, layers):
self.parameters.all_layers = layers
def handler_command_succeeded_cb(self, handler, initcmd):
if initcmd == self.handler.LAYERS_REFRESH:
self.image_configuration_page.switch_machine_combo()
elif initcmd in [self.handler.GENERATE_RECIPES,
self.handler.GENERATE_PACKAGES,
self.handler.GENERATE_IMAGE]:
self.handler.request_package_info_async()
elif initcmd == self.handler.POPULATE_PACKAGEINFO:
if self.current_step == self.FAST_IMAGE_GENERATING:
self.switch_page(self.IMAGE_GENERATING)
elif self.current_step == self.RCPPKGINFO_POPULATING:
self.switch_page(self.RCPPKGINFO_POPULATED)
elif self.current_step == self.PACKAGE_GENERATING:
self.switch_page(self.PACKAGE_GENERATED)
elif self.current_step == self.IMAGE_GENERATING:
self.switch_page(self.IMAGE_GENERATED)
def handler_command_failed_cb(self, handler, msg):
lbl = "<b>Error</b>\n"
lbl = lbl + "%s\n\n" % msg
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
response = dialog.run()
dialog.destroy()
self.handler.clear_busy()
self.configuration.curr_mach = None
self.image_configuration_page.switch_machine_combo()
self.switch_page(self.MACHINE_SELECTION)
def window_sensitive(self, sensitive):
self.set_sensitive(sensitive)
if sensitive:
self.get_root_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.LEFT_PTR))
else:
self.get_root_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
def handler_generating_data_cb(self, handler):
self.window_sensitive(False)
def handler_data_generated_cb(self, handler):
self.window_sensitive(True)
def recipelist_populated_cb(self, recipe_model):
selected_image = self.configuration.selected_image
selected_recipes = self.configuration.selected_recipes[:]
selected_packages = self.configuration.selected_packages[:]
self.recipe_model.image_list_append(selected_image,
" ".join(selected_recipes),
" ".join(selected_packages))
self.image_configuration_page.update_image_combo(self.recipe_model, selected_image)
self.update_recipe_model(selected_image, selected_recipes)
def packagelist_populated_cb(self, package_model):
selected_packages = self.configuration.selected_packages[:]
self.update_package_model(selected_packages)
def recipelist_changed_cb(self, recipe_model):
self.recipe_details_page.refresh_selection()
def packagelist_changed_cb(self, package_model):
self.package_details_page.refresh_selection()
def handler_parsing_started_cb(self, handler, message):
if self.current_step != self.RCPPKGINFO_POPULATING:
return
fraction = 0
if message["eventname"] == "TreeDataPreparationStarted":
fraction = 0.6 + fraction
self.image_configuration_page.update_progress_bar(message["title"], fraction)
def handler_parsing_cb(self, handler, message):
if self.current_step != self.RCPPKGINFO_POPULATING:
return
fraction = message["current"] * 1.0/message["total"]
if message["eventname"] == "TreeDataPreparationProgress":
fraction = 0.6 + 0.4 * fraction
else:
fraction = 0.6 * fraction
self.image_configuration_page.update_progress_bar(message["title"], fraction)
def handler_parsing_completed_cb(self, handler, message):
if self.current_step != self.RCPPKGINFO_POPULATING:
return
if message["eventname"] == "TreeDataPreparationCompleted":
fraction = 1.0
else:
fraction = 0.6
self.image_configuration_page.update_progress_bar(message["title"], fraction)
def handler_build_started_cb(self, running_build):
if self.current_step == self.FAST_IMAGE_GENERATING:
fraction = 0
elif self.current_step == self.IMAGE_GENERATING:
if self.previous_step == self.FAST_IMAGE_GENERATING:
fraction = 0.9
else:
fraction = 0
elif self.current_step == self.PACKAGE_GENERATING:
fraction = 0
self.build_details_page.update_progress_bar("Build Started: ", fraction)
def handler_build_succeeded_cb(self, running_build):
self.build_succeeded = True
if self.current_step == self.FAST_IMAGE_GENERATING:
fraction = 0.9
elif self.current_step == self.IMAGE_GENERATING:
fraction = 1.0
self.parameters.image_names = []
linkname = 'hob-image-' + self.configuration.curr_mach
for image_type in self.parameters.image_types:
linkpath = self.parameters.image_addr + '/' + linkname + '.' + image_type
if os.path.exists(linkpath):
self.parameters.image_names.append(os.readlink(linkpath))
elif self.current_step == self.PACKAGE_GENERATING:
fraction = 1.0
self.build_details_page.update_progress_bar("Build Completed: ", fraction)
def handler_build_failed_cb(self, running_build):
self.build_succeeded = False
if self.current_step == self.FAST_IMAGE_GENERATING:
fraction = 0.9
elif self.current_step == self.IMAGE_GENERATING:
fraction = 1.0
elif self.current_step == self.PACKAGE_GENERATING:
fraction = 1.0
self.build_details_page.update_progress_bar("Build Failed: ", fraction, False)
self.build_details_page.show_back_button()
self.build_details_page.hide_stop_button()
self.handler.build_failed_async()
self.stopping = False
def handler_task_started_cb(self, running_build, message):
fraction = message["current"] * 1.0/message["total"]
title = "Build packages"
if self.current_step == self.FAST_IMAGE_GENERATING:
if message["eventname"] == "sceneQueueTaskStarted":
fraction = 0.27 * fraction
elif message["eventname"] == "runQueueTaskStarted":
fraction = 0.27 + 0.63 * fraction
elif self.current_step == self.IMAGE_GENERATING:
title = "Build image"
if self.previous_step == self.FAST_IMAGE_GENERATING:
if message["eventname"] == "sceneQueueTaskStarted":
fraction = 0.27 + 0.63 + 0.03 * fraction
elif message["eventname"] == "runQueueTaskStarted":
fraction = 0.27 + 0.63 + 0.03 + 0.07 * fraction
else:
if message["eventname"] == "sceneQueueTaskStarted":
fraction = 0.2 * fraction
elif message["eventname"] == "runQueueTaskStarted":
fraction = 0.2 + 0.8 * fraction
elif self.current_step == self.PACKAGE_GENERATING:
if message["eventname"] == "sceneQueueTaskStarted":
fraction = 0.2 * fraction
elif message["eventname"] == "runQueueTaskStarted":
fraction = 0.2 + 0.8 * fraction
self.build_details_page.update_progress_bar(title + ": ", fraction)
def destroy_window_cb(self, widget, event):
lbl = "<b>Do you really want to exit the Hob image creator?</b>"
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_YES, gtk.RESPONSE_YES)
dialog.add_button(gtk.STOCK_NO, gtk.RESPONSE_NO)
dialog.set_default_response(gtk.RESPONSE_NO)
response = dialog.run()
dialog.destroy()
if response == gtk.RESPONSE_YES:
gtk.main_quit()
return False
else:
return True
def build_packages(self):
_, all_recipes = self.recipe_model.get_selected_recipes()
if not all_recipes:
lbl = "<b>No selections made</b>\nYou have not made any selections"
lbl = lbl + " so there isn't anything to bake at this time."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
return
self.switch_page(self.PACKAGE_GENERATING)
def build_image(self):
selected_packages = self.package_model.get_selected_packages()
if not selected_packages:
lbl = "<b>No selections made</b>\nYou have not made any selections"
lbl = lbl + " so there isn't anything to bake at this time."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
return
self.switch_page(self.IMAGE_GENERATING)
def just_bake(self):
selected_image = self.recipe_model.get_selected_image()
selected_packages = self.package_model.get_selected_packages() or []
# If no base image and no selected packages don't build anything
if not (selected_packages or selected_image != self.recipe_model.__dummy_image__):
lbl = "<b>No selections made</b>\nYou have not made any selections"
lbl = lbl + " so there isn't anything to bake at this time."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
return
self.switch_page(self.FAST_IMAGE_GENERATING)
def show_binb_dialog(self, binb):
binb_dialog = BinbDialog("Brought in by:", binb, self)
binb_dialog.run()
binb_dialog.destroy()
def show_layer_selection_dialog(self):
dialog = LayerSelectionDialog(title = "Layer Selection",
layers = copy.deepcopy(self.configuration.layers),
all_layers = self.parameters.all_layers,
split_model = self.get_split_model(),
parent = self,
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.DIALOG_NO_SEPARATOR,
buttons = (gtk.STOCK_OK, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
response = dialog.run()
if response == gtk.RESPONSE_YES:
self.configuration.layers = dialog.layers
# DO refresh layers
if dialog.layers_changed:
self.switch_page(self.LAYER_CHANGED)
dialog.destroy()
def show_load_template_dialog(self):
dialog = gtk.FileChooserDialog("Load Template Files", self,
gtk.FILE_CHOOSER_ACTION_SAVE,
(gtk.STOCK_OPEN, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
filter = gtk.FileFilter()
filter.set_name("HOB Files")
filter.add_pattern("*.hob")
dialog.add_filter(filter)
response = dialog.run()
if response == gtk.RESPONSE_YES:
path = dialog.get_filename()
self.load_template(path)
dialog.destroy()
def show_save_template_dialog(self):
dialog = gtk.FileChooserDialog("Save Template Files", self,
gtk.FILE_CHOOSER_ACTION_SAVE,
(gtk.STOCK_SAVE, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
dialog.set_current_name("hob")
response = dialog.run()
if response == gtk.RESPONSE_YES:
path = dialog.get_filename()
self.save_template(path)
dialog.destroy()
def show_load_my_images_dialog(self):
dialog = ImageSelectionDialog(self.parameters.image_addr, self.parameters.image_types,
"Open My Images", self,
gtk.FILE_CHOOSER_ACTION_SAVE,
(gtk.STOCK_OPEN, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
response = dialog.run()
if response == gtk.RESPONSE_YES:
if not dialog.image_names:
lbl = "<b>No selections made</b>\nYou have not made any selections"
crumbs_dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
crumbs_dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
crumbs_dialog.run()
crumbs_dialog.destroy()
dialog.destroy()
return
self.parameters.image_addr = dialog.image_folder
self.parameters.image_names = dialog.image_names[:]
self.switch_page(self.MY_IMAGE_OPENED)
dialog.destroy()
def show_adv_settings_dialog(self):
dialog = AdvancedSettingDialog(title = "Settings",
configuration = copy.deepcopy(self.configuration),
all_image_types = self.parameters.image_types,
all_package_formats = self.parameters.all_package_formats,
all_distros = self.parameters.all_distros,
all_sdk_machines = self.parameters.all_sdk_machines,
max_threads = self.parameters.max_threads,
split_model = self.get_split_model(),
parent = self,
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.DIALOG_NO_SEPARATOR,
buttons = ("Save", gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
response = dialog.run()
if response == gtk.RESPONSE_YES:
self.configuration = dialog.configuration
# DO reparse recipes
if dialog.settings_changed:
if self.configuration.curr_mach == "":
self.switch_page(self.MACHINE_SELECTION)
else:
self.switch_page(self.RCPPKGINFO_POPULATING)
dialog.destroy()
def deploy_image(self, image_name):
if not image_name:
lbl = "<b>Please select an image to deploy.</b>"
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
return
image_path = os.path.join(self.parameters.image_addr, image_name)
dialog = DeployImageDialog(title = "Usb Image Maker",
image_path = image_path,
parent = self,
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.DIALOG_NO_SEPARATOR,
buttons = ("Close", gtk.RESPONSE_NO,
"Make usb image", gtk.RESPONSE_YES))
response = dialog.run()
dialog.destroy()
def runqemu_image(self, image_name):
if not image_name:
lbl = "<b>Please select an image to launch in QEMU.</b>"
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
return
dialog = gtk.FileChooserDialog("Load Kernel Files", self,
gtk.FILE_CHOOSER_ACTION_SAVE,
(gtk.STOCK_OPEN, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
filter = gtk.FileFilter()
filter.set_name("Kernel Files")
filter.add_pattern("*.bin")
dialog.add_filter(filter)
dialog.set_current_folder(self.parameters.image_addr)
response = dialog.run()
if response == gtk.RESPONSE_YES:
kernel_path = dialog.get_filename()
image_path = os.path.join(self.parameters.image_addr, image_name)
dialog.destroy()
if response == gtk.RESPONSE_YES:
source_env_path = os.path.join(self.parameters.core_base, "oe-init-build-env")
tmp_path = os.path.join(os.getcwd(), "tmp")
if os.path.exists(image_path) and os.path.exists(kernel_path) \
and os.path.exists(source_env_path) and os.path.exists(tmp_path):
cmdline = "/usr/bin/xterm -e "
cmdline += "\" export OE_TMPDIR=" + tmp_path + "; "
cmdline += "source " + source_env_path + " " + os.getcwd() + "; "
cmdline += "runqemu " + kernel_path + " " + image_path + "; bash\""
subprocess.Popen(shlex.split(cmdline))
else:
lbl = "<b>Path error</b>\nOne of your paths is wrong,"
lbl = lbl + " please make sure the following paths exist:\n"
lbl = lbl + "image path:" + image_path + "\n"
lbl = lbl + "kernel path:" + kernel_path + "\n"
lbl = lbl + "source environment path:" + source_env_path + "\n"
lbl = lbl + "tmp path: " + tmp_path + "."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
def show_packages(self, ask=True):
_, selected_recipes = self.recipe_model.get_selected_recipes()
if selected_recipes and ask:
lbl = "<b>Package list may be incomplete!</b>\nDo you want to build selected recipes"
lbl = lbl + " to get a full list (Yes) or just view the existing packages (No)?"
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_YES, gtk.RESPONSE_YES)
dialog.add_button(gtk.STOCK_NO, gtk.RESPONSE_NO)
dialog.set_default_response(gtk.RESPONSE_YES)
response = dialog.run()
dialog.destroy()
if response == gtk.RESPONSE_YES:
self.switch_page(self.PACKAGE_GENERATING)
else:
self.switch_page(self.PACKAGE_SELECTION)
else:
self.switch_page(self.PACKAGE_SELECTION)
def show_recipes(self):
self.switch_page(self.RECIPE_SELECTION)
def initiate_new_build(self):
self.configuration.curr_mach = ""
self.image_configuration_page.switch_machine_combo()
self.switch_page(self.MACHINE_SELECTION)
def show_configuration(self):
self.switch_page(self.RCPPKGINFO_POPULATED)
def stop_build(self):
if self.stopping:
lbl = "<b>Force Stop build?</b>\nYou've already selected Stop once,"
lbl = lbl + " would you like to 'Force Stop' the build?\n\n"
lbl = lbl + "This will stop the build as quickly as possible but may"
lbl = lbl + " well leave your build directory in an unusable state"
lbl = lbl + " that requires manual steps to fix.\n"
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
dialog.add_button("Force Stop", gtk.RESPONSE_YES)
else:
lbl = "<b>Stop build?</b>\n\nAre you sure you want to stop this"
lbl = lbl + " build?\n\n'Force Stop' will stop the build as quickly as"
lbl = lbl + " possible but may well leave your build directory in an"
lbl = lbl + " unusable state that requires manual steps to fix.\n\n"
lbl = lbl + "'Stop' will stop the build as soon as all in"
lbl = lbl + " progress build tasks are finished. However if a"
lbl = lbl + " lengthy compilation phase is in progress this may take"
lbl = lbl + " some time."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
dialog.add_button("Stop", gtk.RESPONSE_OK)
dialog.add_button("Force Stop", gtk.RESPONSE_YES)
response = dialog.run()
dialog.destroy()
if response != gtk.RESPONSE_CANCEL:
self.stopping = True
if response == gtk.RESPONSE_OK:
self.handler.cancel_build()
elif response == gtk.RESPONSE_YES:
self.handler.cancel_build(True)

View File

@@ -1,346 +0,0 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2011 Intel Corporation
#
# Authored by Joshua Lock <josh@linux.intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gobject
import copy
import re, os
from bb import data
class Configurator(gobject.GObject):
"""
A GObject to handle writing modified configuration values back
to conf files.
"""
__gsignals__ = {
"layers-loaded" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"layers-changed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
())
}
def __init__(self):
gobject.GObject.__init__(self)
self.bblayers = None
self.enabled_layers = {}
self.loaded_layers = {}
self.config = {}
self.orig_config = {}
self.preconf = None
self.postconf = None
# NOTE: cribbed from the cooker...
def _parse(self, f, data, include=False):
try:
return bb.parse.handle(f, data, include)
except (IOError, bb.parse.ParseError) as exc:
parselog.critical("Unable to parse %s: %s" % (f, exc))
sys.exit(1)
def _loadConf(self, path):
def getString(var):
return bb.data.getVar(var, data, True) or ""
if self.orig_config:
del self.orig_config
self.orig_config = {}
data = bb.data.init()
data = self._parse(path, data)
# We only need to care about certain variables
mach = getString('MACHINE')
if mach and mach != self.config.get('MACHINE', ''):
self.config['MACHINE'] = mach
sdkmach = getString('SDKMACHINE')
if sdkmach and sdkmach != self.config.get('SDKMACHINE', ''):
self.config['SDKMACHINE'] = sdkmach
distro = getString('DISTRO')
if not distro:
distro = "defaultsetup"
if distro and distro != self.config.get('DISTRO', ''):
self.config['DISTRO'] = distro
bbnum = getString('BB_NUMBER_THREADS')
if bbnum and bbnum != self.config.get('BB_NUMBER_THREADS', ''):
self.config['BB_NUMBER_THREADS'] = bbnum
pmake = getString('PARALLEL_MAKE')
if pmake and pmake != self.config.get('PARALLEL_MAKE', ''):
self.config['PARALLEL_MAKE'] = pmake
pclass = getString('PACKAGE_CLASSES')
if pclass and pclass != self.config.get('PACKAGE_CLASSES', ''):
self.config['PACKAGE_CLASSES'] = pclass
fstypes = getString('IMAGE_FSTYPES')
if fstypes and fstypes != self.config.get('IMAGE_FSTYPES', ''):
self.config['IMAGE_FSTYPES'] = fstypes
# Values which aren't always set in the conf must be explicitly
# loaded as empty values for save to work
incompat = getString('INCOMPATIBLE_LICENSE')
if incompat and incompat != self.config.get('INCOMPATIBLE_LICENSE', ''):
self.config['INCOMPATIBLE_LICENSE'] = incompat
else:
self.config['INCOMPATIBLE_LICENSE'] = ""
# Non-standard, namespaces, variables for GUI preferences
toolchain = getString('HOB_BUILD_TOOLCHAIN')
if toolchain and toolchain != self.config.get('HOB_BUILD_TOOLCHAIN', ''):
self.config['HOB_BUILD_TOOLCHAIN'] = toolchain
header = getString('HOB_BUILD_TOOLCHAIN_HEADERS')
if header and header != self.config.get('HOB_BUILD_TOOLCHAIN_HEADERS', ''):
self.config['HOB_BUILD_TOOLCHAIN_HEADERS'] = header
self.orig_config = copy.deepcopy(self.config)
def setConfVar(self, var, val):
self.config[var] = val
def getConfVar(self, var):
if var in self.config:
return self.config[var]
else:
return ""
def _loadLayerConf(self, path):
self.bblayers = path
self.enabled_layers = {}
self.loaded_layers = {}
data = bb.data.init()
data = self._parse(self.bblayers, data)
layers = (bb.data.getVar('BBLAYERS', data, True) or "").split()
for layer in layers:
# TODO: we may be better off calling the layer by its
# BBFILE_COLLECTIONS value?
name = self._getLayerName(layer)
self.loaded_layers[name] = layer
self.enabled_layers = copy.deepcopy(self.loaded_layers)
self.emit("layers-loaded")
def _addConfigFile(self, path):
conffiles = ["local.conf", "hob-pre.conf", "hob-post.conf"]
pref, sep, filename = path.rpartition("/")
if filename == "hob-pre.conf":
self.preconf = path
if filename == "hob-post.conf":
self.postconf = path
if filename in conffiles:
self._loadConf(path)
elif filename == "bblayers.conf":
self._loadLayerConf(path)
def _splitLayer(self, path):
# we only care about the path up to /conf/layer.conf
layerpath, conf, end = path.rpartition("/conf/")
return layerpath
def _getLayerName(self, path):
# Should this be the collection name?
layerpath, sep, name = path.rpartition("/")
return name
def disableLayer(self, layer):
if layer in self.enabled_layers:
del self.enabled_layers[layer]
def addLayerConf(self, confpath):
layerpath = self._splitLayer(confpath)
name = self._getLayerName(layerpath)
if not layerpath or not name:
return None, None
elif name not in self.enabled_layers:
self.addLayer(name, layerpath)
return name, layerpath
else:
return name, None
def addLayer(self, name, path):
self.enabled_layers[name] = path
def _isLayerConfDirty(self):
# if a different number of layers enabled to what was
# loaded, definitely different
if len(self.enabled_layers) != len(self.loaded_layers):
return True
for layer in self.loaded_layers:
# if layer loaded but no longer present, definitely dirty
if layer not in self.enabled_layers:
return True
for layer in self.enabled_layers:
# if this layer wasn't present at load, definitely dirty
if layer not in self.loaded_layers:
return True
# if this layers path has changed, definitely dirty
if self.enabled_layers[layer] != self.loaded_layers[layer]:
return True
return False
def _constructLayerEntry(self):
"""
Returns a string representing the new layer selection
"""
layers = self.enabled_layers.copy()
# Construct BBLAYERS entry
layer_entry = "BBLAYERS = \" \\\n"
if 'meta' in layers:
layer_entry = layer_entry + " %s \\\n" % layers['meta']
del layers['meta']
for layer in layers:
layer_entry = layer_entry + " %s \\\n" % layers[layer]
layer_entry = layer_entry + " \""
return "".join(layer_entry)
def writeConfFile(self, conffile, contents):
"""
Make a backup copy of conffile and write a new file in its stead with
the lines in the contents list.
"""
# Create a backup of the conf file
bkup = "%s~" % conffile
os.rename(conffile, bkup)
# Write the contents list object to the conf file
with open(conffile, "w") as new:
new.write("".join(contents))
def updateConf(self, orig_lines, changed_values):
new_config_lines = []
for var in changed_values:
# Convenience function for re.subn(). If the pattern matches
# return a string which contains an assignment using the same
# assignment operator as the old assignment.
def replace_val(matchobj):
var = matchobj.group(1) # config variable
op = matchobj.group(2) # assignment operator
val = changed_values[var] # new config value
return "%s %s \"%s\"" % (var, op, val)
pattern = '^\s*(%s)\s*([+=?.]+)(.*)' % re.escape(var)
p = re.compile(pattern)
cnt = 0
replaced = False
# Iterate over the local.conf lines and if they are a match
# for the pattern comment out the line and append a new line
# with the new VAR op "value" entry
for line in orig_lines:
new_line, replacements = p.subn(replace_val, line)
if replacements:
orig_lines[cnt] = "#%s" % line
new_config_lines.append(new_line)
replaced = True
cnt = cnt + 1
if not replaced:
new_config_lines.append("%s = \"%s\"\n" % (var, changed_values[var]))
# Add the modified variables
orig_lines.extend(new_config_lines)
return orig_lines
def writeConf(self):
pre_vars = ["MACHINE", "SDKMACHINE", "DISTRO",
"INCOMPATIBLE_LICENSE"]
post_vars = ["BB_NUMBER_THREADS", "PARALLEL_MAKE", "PACKAGE_CLASSES",
"IMAGE_FSTYPES", "HOB_BUILD_TOOLCHAIN",
"HOB_BUILD_TOOLCHAIN_HEADERS"]
pre_values = {}
post_values = {}
changed_values = {}
pre_lines = None
post_lines = None
for var in self.config:
val = self.config[var]
if self.orig_config.get(var, None) != val:
changed_values[var] = val
if not len(changed_values):
return
for var in changed_values:
if var in pre_vars:
pre_values[var] = changed_values[var]
elif var in post_vars:
post_values[var] = changed_values[var]
with open(self.preconf, 'r') as pre:
pre_lines = pre.readlines()
pre_lines = self.updateConf(pre_lines, pre_values)
if len(pre_lines):
self.writeConfFile(self.preconf, pre_lines)
with open(self.postconf, 'r') as post:
post_lines = post.readlines()
post_lines = self.updateConf(post_lines, post_values)
if len(post_lines):
self.writeConfFile(self.postconf, post_lines)
del self.orig_config
self.orig_config = copy.deepcopy(self.config)
def insertTempBBPath(self, bbpath, bbfiles):
# read the original conf into a list
with open(self.postconf, 'r') as config:
config_lines = config.readlines()
if bbpath:
config_lines.append("BBPATH := \"${BBPATH}:%s\"\n" % bbpath)
if bbfiles:
config_lines.append("BBFILES := \"${BBFILES} %s\"\n" % bbfiles)
self.writeConfFile(self.postconf, config_lines)
def writeLayerConf(self):
# If we've not added/removed new layers don't write
if not self._isLayerConfDirty():
return
# This pattern should find the existing BBLAYERS
pattern = 'BBLAYERS\s=\s\".*\"'
replacement = self._constructLayerEntry()
with open(self.bblayers, "r") as f:
contents = f.read()
p = re.compile(pattern, re.DOTALL)
new = p.sub(replacement, contents)
self.writeConfFile(self.bblayers, new)
# set loaded_layers for dirtiness tracking
self.loaded_layers = copy.deepcopy(self.enabled_layers)
self.emit("layers-changed")
def configFound(self, handler, path):
self._addConfigFile(path)
def loadConfig(self, path):
self._addConfigFile(path)

View File

@@ -1,9 +1,11 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2011 Intel Corporation
# Copyright (C) 2011-2012 Intel Corporation
#
# Authored by Joshua Lock <josh@linux.intel.com>
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@@ -18,21 +20,33 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gobject
import gtk
import gobject
import hashlib
import os
import re
import subprocess
import shlex
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import HobWidget
from bb.ui.crumbs.progressbar import HobProgressBar
"""
The following are convenience classes for implementing GNOME HIG compliant
BitBake GUI's
In summary: spacing = 12px, border-width = 6px
"""
#
# CrumbsDialog
#
class CrumbsDialog(gtk.Dialog):
"""
A GNOME HIG compliant dialog widget.
Add buttons with gtk.Dialog.add_button or gtk.Dialog.add_buttons
"""
def __init__(self, parent=None, label="", icon=gtk.STOCK_INFO):
gtk.Dialog.__init__(self, "", parent, gtk.DIALOG_DESTROY_WITH_PARENT)
super(CrumbsDialog, self).__init__("", parent, gtk.DIALOG_DESTROY_WITH_PARENT)
#self.set_property("has-separator", False) # note: deprecated in 2.22
@@ -59,3 +73,572 @@ class CrumbsDialog(gtk.Dialog):
self.label.set_property("yalign", 0.00)
self.label.show()
first_row.add(self.label)
#
# Brought-in-by Dialog
#
class BinbDialog(gtk.Dialog):
"""
A dialog widget to show "brought in by" info when a recipe/package is clicked.
"""
def __init__(self, title, content, parent=None):
super(BinbDialog, self).__init__(title, parent, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, None)
self.set_position(gtk.WIN_POS_MOUSE)
self.set_resizable(False)
self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.DARK))
hbox = gtk.HBox(False, 0)
self.vbox.pack_start(hbox, expand=False, fill=False, padding=10)
label = gtk.Label(content)
label.set_alignment(0, 0)
label.set_line_wrap(True)
label.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.WHITE))
hbox.pack_start(label, expand=False, fill=False, padding=10)
self.vbox.show_all()
#
# AdvancedSettings Dialog
#
class AdvancedSettingDialog (gtk.Dialog):
def __init__(self, title, configuration, all_image_types,
all_package_formats, all_distros, all_sdk_machines,
max_threads, split_model, parent, flags, buttons):
super(AdvancedSettingDialog, self).__init__(title, parent, flags, buttons)
# class members from other objects
# bitbake settings from Builder.Configuration
self.configuration = configuration
self.image_types = all_image_types
self.all_package_formats = all_package_formats
self.all_distros = all_distros
self.all_sdk_machines = all_sdk_machines
self.max_threads = max_threads
self.split_model = split_model
# class members for internal use
self.pkgfmt_store = None
self.distro_combo = None
self.dldir_text = None
self.sstatedir_text = None
self.sstatemirror_text = None
self.bb_spinner = None
self.pmake_spinner = None
self.rootfs_size_spinner = None
self.extra_size_spinner = None
self.gplv3_checkbox = None
self.toolchain_checkbox = None
self.setting_store = None
self.image_types_checkbuttons = {}
self.variables = {}
self.variables["PACKAGE_FORMAT"] = self.configuration.curr_package_format
self.variables["INCOMPATIBLE_LICENSE"] = self.configuration.incompat_license
self.variables["IMAGE_FSTYPES"] = self.configuration.image_fstypes
self.md5 = hashlib.md5(str(sorted(self.variables.items()))).hexdigest()
self.settings_changed = False
# create visual elements on the dialog
self.create_visual_elements()
self.connect("response", self.response_cb)
def create_visual_elements(self):
self.set_size_request(500, 500)
self.nb = gtk.Notebook()
self.nb.set_show_tabs(True)
self.nb.append_page(self.create_image_types_page(), gtk.Label("Image types"))
self.nb.append_page(self.create_output_page(), gtk.Label("Output"))
self.nb.append_page(self.create_build_environment_page(), gtk.Label("Build environment"))
self.nb.append_page(self.create_others_page(), gtk.Label("Others"))
self.nb.set_current_page(0)
self.vbox.pack_start(self.nb, expand=True, fill=True)
self.vbox.pack_end(gtk.HSeparator(), expand=True, fill=True)
self.show_all()
def create_image_types_page(self):
advanced_vbox = gtk.VBox(False, 15)
advanced_vbox.set_border_width(20)
rows = (len(self.image_types)+1)/2
table = gtk.Table(rows + 1, 10, True)
advanced_vbox.pack_start(table, expand=False, fill=False)
tooltip = "Select image file system types that will be used."
image = gtk.Image()
image.show()
image.set_from_stock(gtk.STOCK_INFO, gtk.ICON_SIZE_BUTTON)
image.set_tooltip_text(tooltip)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Select image types:</span>")
table.attach(label, 0, 9, 0, 1)
table.attach(image, 9, 10, 0, 1)
i = 1
j = 1
for image_type in self.image_types:
self.image_types_checkbuttons[image_type] = gtk.CheckButton(image_type)
self.image_types_checkbuttons[image_type].set_tooltip_text("Build an %s image" % image_type)
table.attach(self.image_types_checkbuttons[image_type], j, j + 4, i, i + 1)
if image_type in self.configuration.image_fstypes:
self.image_types_checkbuttons[image_type].set_active(True)
i += 1
if i > rows:
i = 1
j = j + 4
return advanced_vbox
def create_output_page(self):
advanced_vbox = gtk.VBox(False, 15)
advanced_vbox.set_border_width(20)
sub_vbox = gtk.VBox(False, 5)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Packaging Format:</span>")
tooltip = "Select package formats that will be used. "
tooltip += "The first format will be used for final image"
pkgfmt_widget, self.pkgfmt_store = HobWidget.gen_pkgfmt_widget(self.configuration.curr_package_format, self.all_package_formats, tooltip)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(pkgfmt_widget, expand=False, fill=False)
sub_vbox = gtk.VBox(False, 5)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Image Rootfs Size: (MB)</span>")
tooltip = "Sets the size of your target image.\nThis is the basic size of your target image, unless your selected package size exceeds this value, or you set value to \"Image Extra Size\"."
rootfs_size_widget, self.rootfs_size_spinner = HobWidget.gen_spinner_widget(int(self.configuration.image_rootfs_size*1.0/1024), 0, 1024, tooltip)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(rootfs_size_widget, expand=False, fill=False)
sub_vbox = gtk.VBox(False, 5)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Image Extra Size: (MB)</span>")
tooltip = "Sets the extra free space of your target image.\nDefaultly, system will reserve 30% of your image size as your free space. If your image contains zypper, it will bring in 50MB more space. The maximum free space is 1024MB."
extra_size_widget, self.extra_size_spinner = HobWidget.gen_spinner_widget(int(self.configuration.image_extra_size*1.0/1024), 0, 1024, tooltip)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(extra_size_widget, expand=False, fill=False)
self.gplv3_checkbox = gtk.CheckButton("Exclude GPLv3 packages")
self.gplv3_checkbox.set_tooltip_text("Check this box to prevent GPLv3 packages from being included in your image")
if "GPLv3" in self.configuration.incompat_license.split():
self.gplv3_checkbox.set_active(True)
else:
self.gplv3_checkbox.set_active(False)
advanced_vbox.pack_start(self.gplv3_checkbox, expand=False, fill=False)
sub_hbox = gtk.HBox(False, 5)
advanced_vbox.pack_start(sub_hbox, expand=False, fill=False)
self.toolchain_checkbox = gtk.CheckButton("Build Toolchain")
self.toolchain_checkbox.set_tooltip_text("Check this box to build the related toolchain with your image")
self.toolchain_checkbox.set_active(self.configuration.toolchain_build)
sub_hbox.pack_start(self.toolchain_checkbox, expand=False, fill=False)
tooltip = "This is the Host platform you would like to run the toolchain"
sdk_machine_widget, self.sdk_machine_combo = HobWidget.gen_combo_widget(self.configuration.curr_sdk_machine, self.all_sdk_machines, tooltip)
sub_hbox.pack_start(sdk_machine_widget, expand=False, fill=False)
return advanced_vbox
def create_build_environment_page(self):
advanced_vbox = gtk.VBox(False, 15)
advanced_vbox.set_border_width(20)
sub_vbox = gtk.VBox(False, 5)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Select Distro:</span>")
tooltip = "This is the Yocto distribution you would like to use"
distro_widget, self.distro_combo = HobWidget.gen_combo_widget(self.configuration.curr_distro, self.all_distros, tooltip)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(distro_widget, expand=False, fill=False)
sub_vbox = gtk.VBox(False, 5)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">BB_NUMBER_THREADS:</span>")
tooltip = "Sets the number of threads that bitbake tasks can run simultaneously"
bbthread_widget, self.bb_spinner = HobWidget.gen_spinner_widget(self.configuration.bbthread, 1, self.max_threads, tooltip)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(bbthread_widget, expand=False, fill=False)
sub_vbox = gtk.VBox(False, 5)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">PARALLEL_MAKE:</span>")
tooltip = "Sets the make parallism, as known as 'make -j'"
pmake_widget, self.pmake_spinner = HobWidget.gen_spinner_widget(self.configuration.pmake, 1, self.max_threads, tooltip)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(pmake_widget, expand=False, fill=False)
sub_vbox = gtk.VBox(False, 5)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Set Download Directory:</span>")
tooltip = "Select a folder that caches the upstream project source code"
dldir_widget, self.dldir_text = HobWidget.gen_entry_widget(self.split_model, self.configuration.dldir, self, tooltip)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(dldir_widget, expand=False, fill=False)
sub_vbox = gtk.VBox(False, 5)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Select SSTATE Directory:</span>")
tooltip = "Select a folder that caches your prebuilt results"
sstatedir_widget, self.sstatedir_text = HobWidget.gen_entry_widget(self.split_model, self.configuration.sstatedir, self, tooltip)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(sstatedir_widget, expand=False, fill=False)
sub_vbox = gtk.VBox(False, 5)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Select SSTATE Mirror:</span>")
tooltip = "Select the prebuilt mirror that will fasten your build speed"
sstatemirror_widget, self.sstatemirror_text = HobWidget.gen_entry_widget(self.split_model, self.configuration.sstatemirror, self, tooltip)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(sstatemirror_widget, expand=False, fill=False)
return advanced_vbox
def create_others_page(self):
advanced_vbox = gtk.VBox(False, 15)
advanced_vbox.set_border_width(20)
sub_vbox = gtk.VBox(False, 5)
advanced_vbox.pack_start(sub_vbox, expand=True, fill=True)
label = HobWidget.gen_label_widget("<span weight=\"bold\">Add your own variables:</span>")
tooltip = "This is the key/value pair for your extra settings"
setting_widget, self.setting_store = HobWidget.gen_editable_settings(self.configuration.extra_setting, tooltip)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(setting_widget, expand=True, fill=True)
return advanced_vbox
def response_cb(self, dialog, response_id):
self.variables = {}
self.configuration.curr_package_format = ""
it = self.pkgfmt_store.get_iter_first()
while it:
value = self.pkgfmt_store.get_value(it, 2)
if value:
self.configuration.curr_package_format += (self.pkgfmt_store.get_value(it, 1) + " ")
it = self.pkgfmt_store.iter_next(it)
self.configuration.curr_package_format = self.configuration.curr_package_format.strip()
self.variables["PACKAGE_FORMAT"] = self.configuration.curr_package_format
self.configuration.curr_distro = self.distro_combo.get_active_text()
self.configuration.dldir = self.dldir_text.get_text()
self.configuration.sstatedir = self.sstatedir_text.get_text()
self.configuration.sstatemirror = self.sstatemirror_text.get_text()
self.configuration.bbthread = self.bb_spinner.get_value_as_int()
self.configuration.pmake = self.pmake_spinner.get_value_as_int()
self.configuration.image_rootfs_size = self.rootfs_size_spinner.get_value_as_int() * 1024
self.configuration.image_extra_size = self.extra_size_spinner.get_value_as_int() * 1024
self.configuration.image_fstypes = []
for image_type in self.image_types:
if self.image_types_checkbuttons[image_type].get_active():
self.configuration.image_fstypes.append(image_type)
self.variables["IMAGE_FSTYPES"] = self.configuration.image_fstypes
if self.gplv3_checkbox.get_active():
if "GPLv3" not in self.configuration.incompat_license.split():
self.configuration.incompat_license += " GPLv3"
else:
if "GPLv3" in self.configuration.incompat_license.split():
self.configuration.incompat_license = self.configuration.incompat_license.split().remove("GPLv3")
self.configuration.incompat_license = " ".join(self.configuration.incompat_license or [])
self.configuration.incompat_license = self.configuration.incompat_license.strip()
self.variables["INCOMPATIBLE_LICENSE"] = self.configuration.incompat_license
self.configuration.toolchain_build = self.toolchain_checkbox.get_active()
self.configuration.extra_setting = {}
it = self.setting_store.get_iter_first()
while it:
key = self.setting_store.get_value(it, 0)
value = self.setting_store.get_value(it, 1)
self.configuration.extra_setting[key] = value
self.variables[key] = value
it = self.setting_store.iter_next(it)
md5 = hashlib.md5(str(sorted(self.variables.items()))).hexdigest()
self.settings_changed = (self.md5 != md5)
#
# DeployImageDialog
#
class DeployImageDialog (gtk.Dialog):
__dummy_usb__ = "--select a usb drive--"
def __init__(self, title, image_path, parent, flags, buttons):
super(DeployImageDialog, self).__init__(title, parent, flags, buttons)
self.image_path = image_path
self.create_visual_elements()
self.connect("response", self.response_cb)
def create_visual_elements(self):
self.set_border_width(20)
self.set_default_size(500, 250)
label = gtk.Label()
label.set_alignment(0.0, 0.5)
markup = "<span font_desc='12'>The image to be written into usb drive:</span>"
label.set_markup(markup)
self.vbox.pack_start(label, expand=False, fill=False, padding=2)
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
scroll.set_shadow_type(gtk.SHADOW_IN)
tv = gtk.TextView()
tv.set_editable(False)
tv.set_wrap_mode(gtk.WRAP_WORD)
tv.set_cursor_visible(False)
buf = gtk.TextBuffer()
buf.set_text(self.image_path)
tv.set_buffer(buf)
scroll.add(tv)
self.vbox.pack_start(scroll, expand=True, fill=True)
self.usb_desc = gtk.Label()
self.usb_desc.set_alignment(0.0, 0.5)
markup = "<span font_desc='12'>You haven't chosen any USB drive.</span>"
self.usb_desc.set_markup(markup)
self.usb_combo = gtk.combo_box_new_text()
self.usb_combo.connect("changed", self.usb_combo_changed_cb)
model = self.usb_combo.get_model()
model.clear()
self.usb_combo.append_text(self.__dummy_usb__)
for usb in self.find_all_usb_devices():
self.usb_combo.append_text("/dev/" + usb)
self.usb_combo.set_active(0)
self.vbox.pack_start(self.usb_combo, expand=True, fill=True)
self.vbox.pack_start(self.usb_desc, expand=False, fill=False, padding=2)
self.progress_bar = HobProgressBar()
self.vbox.pack_start(self.progress_bar, expand=False, fill=False)
separator = gtk.HSeparator()
self.vbox.pack_start(separator, expand=False, fill=True, padding=10)
self.vbox.show_all()
self.progress_bar.hide()
def popen_read(self, cmd):
return os.popen("%s 2>/dev/null" % cmd).read().strip()
def find_all_usb_devices(self):
usb_devs = [ os.readlink(u)
for u in self.popen_read('ls /dev/disk/by-id/usb*').split()
if not re.search(r'part\d+', u) ]
return [ '%s' % u[u.rfind('/')+1:] for u in usb_devs ]
def get_usb_info(self, dev):
return "%s %s" % \
(self.popen_read('cat /sys/class/block/%s/device/vendor' % dev),
self.popen_read('cat /sys/class/block/%s/device/model' % dev))
def usb_combo_changed_cb(self, usb_combo):
combo_item = self.usb_combo.get_active_text()
if not combo_item or combo_item == self.__dummy_usb__:
markup = "<span font_desc='12'>You haven't chosen any USB drive.</span>"
self.usb_desc.set_markup(markup)
else:
markup = "<span font_desc='12'>" + self.get_usb_info(combo_item.lstrip("/dev/")) + "</span>"
self.usb_desc.set_markup(markup)
def response_cb(self, dialog, response_id):
if response_id == gtk.RESPONSE_YES:
combo_item = self.usb_combo.get_active_text()
if combo_item and combo_item != self.__dummy_usb__:
cmdline = "/usr/bin/xterm -e "
cmdline += "\"sudo dd if=" + self.image_path + " of=" + combo_item + "; bash\""
subprocess.Popen(args=shlex.split(cmdline))
def update_progress_bar(self, title, fraction, status=True):
self.progress_bar.update(fraction)
self.progress_bar.set_title(title)
self.progress_bar.set_rcstyle(status)
def write_file(self, ifile, ofile):
self.progress_bar.reset()
self.progress_bar.show()
f_from = os.open(ifile, os.O_RDONLY)
f_to = os.open(ofile, os.O_WRONLY)
total_size = os.stat(ifile).st_size
written_size = 0
while True:
buf = os.read(f_from, 1024*1024)
if not buf:
break
os.write(f_to, buf)
written_size += 1024*1024
self.update_progress_bar("Writing to usb:", written_size * 1.0/total_size)
self.update_progress_bar("Writing completed:", 1.0)
os.close(f_from)
os.close(f_to)
self.progress_bar.hide()
#
# LayerSelectionDialog
#
class LayerSelectionDialog (gtk.Dialog):
def __init__(self, title, layers, all_layers, split_model,
parent, flags, buttons):
super(LayerSelectionDialog, self).__init__(title, parent, flags, buttons)
# class members from other objects
self.layers = layers
self.all_layers = all_layers
self.split_model = split_model
self.layers_changed = False
# class members for internal use
self.layer_store = None
# create visual elements on the dialog
self.create_visual_elements()
self.connect("response", self.response_cb)
def create_visual_elements(self):
self.set_border_width(20)
self.set_default_size(400, 250)
hbox_top = gtk.HBox()
self.set_border_width(12)
self.vbox.pack_start(hbox_top, expand=False, fill=False)
if self.split_model:
label = HobWidget.gen_label_widget("<span weight=\"bold\" font_desc='12'>Select Layers:</span>\n(Available layers under '${COREBASE}/layers/' directory)")
else:
label = HobWidget.gen_label_widget("<span weight=\"bold\" font_desc='12'>Select Layers:</span>")
hbox_top.pack_start(label, expand=False, fill=False)
tooltip = "Layer is a collection of bb files and conf files"
image = gtk.Image()
image.set_from_stock(gtk.STOCK_INFO, gtk.ICON_SIZE_BUTTON)
image.set_tooltip_text(tooltip)
hbox_top.pack_end(image, expand=False, fill=False)
layer_widget, self.layer_store = HobWidget.gen_layer_widget(self.split_model, self.layers, self.all_layers, self, None)
self.vbox.pack_start(layer_widget, expand=True, fill=True)
separator = gtk.HSeparator()
self.vbox.pack_start(separator, False, True, 5)
separator.show()
hbox_button = gtk.HBox()
self.vbox.pack_end(hbox_button, expand=False, fill=False)
hbox_button.show()
label = HobWidget.gen_label_widget("<i>'meta' is Core layer for Yocto images</i>\n"
"<span weight=\"bold\">Please do not remove it</span>")
hbox_button.pack_start(label, expand=False, fill=False)
self.show_all()
def response_cb(self, dialog, response_id):
model = self.layer_store
it = model.get_iter_first()
layers = []
while it:
if self.split_model:
inc = model.get_value(it, 1)
if inc:
layers.append(model.get_value(it, 0))
else:
layers.append(model.get_value(it, 0))
it = model.iter_next(it)
self.layers_changed = (self.layers != layers)
self.layers = layers
class ImageSelectionDialog (gtk.Dialog):
def __init__(self, image_folder, image_types, title, parent, flags, buttons):
super(ImageSelectionDialog, self).__init__(title, parent, flags, buttons)
self.connect("response", self.response_cb)
self.image_folder = image_folder
self.image_types = image_types
self.image_names = []
# create visual elements on the dialog
self.create_visual_elements()
self.image_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_BOOLEAN)
self.fill_image_store()
def create_visual_elements(self):
self.set_border_width(20)
self.set_default_size(600, 300)
self.vbox.set_spacing(10)
hbox = gtk.HBox(False, 10)
self.vbox.pack_start(hbox, expand=False, fill=False)
entry = gtk.Entry()
entry.set_text(self.image_folder)
table = gtk.Table(1, 10, True)
table.set_size_request(560, -1)
hbox.pack_start(table, expand=False, fill=False)
table.attach(entry, 0, 9, 0, 1)
image = gtk.Image()
image.set_from_stock(gtk.STOCK_OPEN,gtk.ICON_SIZE_BUTTON)
open_button = gtk.Button()
open_button.set_image(image)
open_button.connect("clicked", self.select_path_cb, self, entry)
table.attach(open_button, 9, 10, 0, 1)
imgtv_widget, self.imgsel_tv = HobWidget.gen_imgtv_widget(400, 160)
self.vbox.pack_start(imgtv_widget, expand=True, fill=True)
self.show_all()
def select_path_cb(self, action, parent, entry):
dialog = gtk.FileChooserDialog("", parent,
gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
(gtk.STOCK_OK, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
response = dialog.run()
if response == gtk.RESPONSE_YES:
path = dialog.get_filename()
entry.set_text(path)
self.image_folder = path
self.fill_image_store()
dialog.destroy()
def fill_image_store(self):
self.image_store.clear()
imageset = set()
for root, dirs, files in os.walk(self.image_folder):
for f in files:
for image_type in self.image_types:
if f.endswith('.' + image_type):
imageset.add(f.rsplit('.' + image_type)[0])
for image in imageset:
self.image_store.set(self.image_store.append(), 0, image, 1, False)
self.imgsel_tv.set_model(self.image_store)
def response_cb(self, dialog, response_id):
self.image_names = []
if response_id == gtk.RESPONSE_YES:
iter = self.image_store.get_iter_first()
while iter:
path = self.image_store.get_path(iter)
if self.image_store[path][1]:
for root, dirs, files in os.walk(self.image_folder):
for f in files:
if f.startswith(self.image_store[path][0] + '.'):
self.image_names.append(f)
break
iter = self.image_store.iter_next(iter)

View File

@@ -0,0 +1,35 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2012 Intel Corporation
#
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
class HobColors:
WHITE = "#ffffff"
PALE_GREEN = "#aaffaa"
ORANGE = "#ff7c24"
PALE_RED = "#ffaaaa"
GRAY = "#aaaaaa"
LIGHT_GRAY = "#dddddd"
DARK = "#3c3b37"
BLACK = "#000000"
LIGHT_ORANGE = "#f7a787"
OK = WHITE
RUNNING = PALE_GREEN
WARNING = ORANGE
ERROR = PALE_RED

View File

@@ -4,6 +4,7 @@
# Copyright (C) 2011 Intel Corporation
#
# Authored by Joshua Lock <josh@linux.intel.com>
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@@ -20,10 +21,7 @@
import gobject
import logging
import tempfile
import datetime
progress_total = 0
from bb.ui.crumbs.runningbuild import RunningBuild
class HobHandler(gobject.GObject):
@@ -31,145 +29,176 @@ class HobHandler(gobject.GObject):
This object does BitBake event handling for the hob gui.
"""
__gsignals__ = {
"machines-updated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"sdk-machines-updated": (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"distros-updated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"package-formats-found" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"config-found" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,)),
"generating-data" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"data-generated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"fatal-error" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,
gobject.TYPE_STRING,)),
"command-failed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,)),
"reload-triggered" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,
gobject.TYPE_STRING,)),
"layers-updated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"package-formats-updated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"config-updated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING, gobject.TYPE_PYOBJECT,)),
"command-succeeded" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_INT,)),
"command-failed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,)),
"generating-data" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"data-generated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"parsing-started" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"parsing" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"parsing-completed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
}
(CFG_PATH_LOCAL, CFG_PATH_PRE, CFG_PATH_POST, CFG_PATH_LAYERS, CFG_FILES_DISTRO, CFG_FILES_MACH, CFG_FILES_SDK, FILES_MATCH_CLASS, GENERATE_TGTS, REPARSE_FILES, BUILD_IMAGE) = range(11)
(CFG_AVAIL_LAYERS, CFG_PATH_LAYERS, CFG_FILES_DISTRO, CFG_FILES_MACH, CFG_FILES_SDKMACH, FILES_MATCH_CLASS, PARSE_CONFIG, PARSE_BBFILES, GENERATE_TGTS, GENERATE_PACKAGEINFO, BUILD_TARGET_RECIPES, BUILD_TARGET_IMAGE, CMD_END) = range(13)
(LAYERS_REFRESH, GENERATE_RECIPES, GENERATE_PACKAGES, GENERATE_IMAGE, POPULATE_PACKAGEINFO) = range(5)
def __init__(self, taskmodel, server):
gobject.GObject.__init__(self)
def __init__(self, server, server_addr, client_addr, recipe_model, package_model):
super(HobHandler, self).__init__()
self.current_command = None
self.building = False
self.build_toolchain = False
self.build_toolchain_headers = False
self.build = RunningBuild(sequential=True)
self.recipe_model = recipe_model
self.package_model = package_model
self.commands_async = []
self.generating = False
self.build_queue = []
self.current_phase = None
self.bbpath_ok = False
self.bbfiles_ok = False
self.build_type = "image"
self.image_dir = os.path.join(tempfile.gettempdir(), 'hob-images')
self.building = False
self.recipe_queue = []
self.package_queue = []
self.model = taskmodel
self.server = server
self.error_msg = ""
self.initcmd = None
deploy_dir = self.server.runCommand(["getVariable", "DEPLOY_DIR"])
self.image_out_dir = os.path.join(deploy_dir, "images")
self.image_output_types = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"]).split(" ")
self.split_model = False
if server_addr and client_addr:
self.split_model = (server_addr != client_addr)
self.reset_server() # reset server if server was found just now
self.server_addr = server_addr
def run_next_command(self):
if self.current_command and not self.generating:
def kick(self):
import xmlrpclib
try:
# kick the while thing off
if self.split_model:
self.commands_async.append(self.CFG_AVAIL_LAYERS)
else:
self.commands_async.append(self.CFG_PATH_LAYERS)
self.commands_async.append(self.CFG_FILES_DISTRO)
self.commands_async.append(self.CFG_FILES_MACH)
self.commands_async.append(self.CFG_FILES_SDKMACH)
self.commands_async.append(self.FILES_MATCH_CLASS)
self.run_next_command()
return True
except xmlrpclib.Fault as x:
print("XMLRPC Fault getting commandline:\n %s" % x)
return False
def set_busy(self):
if not self.generating:
self.emit("generating-data")
self.generating = True
if self.current_command == self.CFG_PATH_LOCAL:
self.current_command = self.CFG_PATH_PRE
self.server.runCommand(["findConfigFilePath", "hob-pre.conf"])
elif self.current_command == self.CFG_PATH_PRE:
self.current_command = self.CFG_PATH_POST
self.server.runCommand(["findConfigFilePath", "hob-post.conf"])
elif self.current_command == self.CFG_PATH_POST:
self.current_command = self.CFG_PATH_LAYERS
def clear_busy(self):
if self.generating:
self.emit("data-generated")
self.generating = False
def run_next_command(self, initcmd=None):
if initcmd != None:
self.initcmd = initcmd
if self.commands_async:
self.set_busy()
next_command = self.commands_async.pop(0)
else:
self.clear_busy()
if self.initcmd != None:
self.emit("command-succeeded", self.initcmd)
return
if next_command == self.CFG_AVAIL_LAYERS:
self.server.runCommand(["findCoreBaseFiles", "layers", "conf/layer.conf"])
elif next_command == self.CFG_PATH_LAYERS:
self.server.runCommand(["findConfigFilePath", "bblayers.conf"])
elif self.current_command == self.CFG_PATH_LAYERS:
self.current_command = self.CFG_FILES_DISTRO
elif next_command == self.CFG_FILES_DISTRO:
self.server.runCommand(["findConfigFiles", "DISTRO"])
elif self.current_command == self.CFG_FILES_DISTRO:
self.current_command = self.CFG_FILES_MACH
elif next_command == self.CFG_FILES_MACH:
self.server.runCommand(["findConfigFiles", "MACHINE"])
elif self.current_command == self.CFG_FILES_MACH:
self.current_command = self.CFG_FILES_SDK
elif next_command == self.CFG_FILES_SDKMACH:
self.server.runCommand(["findConfigFiles", "MACHINE-SDK"])
elif self.current_command == self.CFG_FILES_SDK:
self.current_command = self.FILES_MATCH_CLASS
elif next_command == self.FILES_MATCH_CLASS:
self.server.runCommand(["findFilesMatchingInDir", "rootfs_", "classes"])
elif self.current_command == self.FILES_MATCH_CLASS:
self.current_command = self.GENERATE_TGTS
self.server.runCommand(["generateTargetsTree", "classes/image.bbclass"])
elif self.current_command == self.GENERATE_TGTS:
if self.generating:
self.emit("data-generated")
self.generating = False
self.current_command = None
elif self.current_command == self.REPARSE_FILES:
if self.build_queue:
self.current_command = self.BUILD_IMAGE
else:
self.current_command = self.CFG_PATH_LAYERS
self.server.runCommand(["resetCooker"])
self.server.runCommand(["reparseFiles"])
elif self.current_command == self.BUILD_IMAGE:
if self.generating:
self.emit("data-generated")
self.generating = False
elif next_command == self.PARSE_CONFIG:
self.server.runCommand(["parseConfigurationFiles", "", ""])
elif next_command == self.PARSE_BBFILES:
self.server.runCommand(["parseFiles"])
elif next_command == self.GENERATE_TGTS:
self.server.runCommand(["generateTargetsTree", "classes/image.bbclass", [], True])
elif next_command == self.GENERATE_PACKAGEINFO:
self.server.runCommand(["triggerEvent", "bb.event.RequestPackageInfo()"])
elif next_command == self.BUILD_TARGET_RECIPES:
self.clear_busy()
self.building = True
self.server.runCommand(["buildTargets", self.build_queue, "build"])
self.build_queue = []
self.current_command = None
self.server.runCommand(["buildTargets", self.recipe_queue, "build"])
self.recipe_queue = []
elif next_command == self.BUILD_TARGET_IMAGE:
self.clear_busy()
self.building = True
targets = ["hob-image"]
self.server.runCommand(["setVariable", "LINGUAS_INSTALL", ""])
self.server.runCommand(["setVariable", "PACKAGE_INSTALL", " ".join(self.package_queue)])
if self.toolchain_build:
pkgs = self.package_queue + [i+'-dev' for i in self.package_queue] + [i+'-dbg' for i in self.package_queue]
self.server.runCommand(["setVariable", "TOOLCHAIN_TARGET_TASK", " ".join(pkgs)])
targets.append("hob-toolchain")
self.server.runCommand(["buildTargets", targets, "build"])
def handle_event(self, event, running_build, pbar):
def handle_event(self, event):
if not event:
return
return
# If we're running a build, use the RunningBuild event handler
if self.building:
self.current_phase = "building"
running_build.handle_event(event)
self.build.handle_event(event)
if isinstance(event, bb.event.PackageInfo):
self.package_model.populate(event._pkginfolist)
self.run_next_command()
elif(isinstance(event, logging.LogRecord)):
if event.levelno >= logging.ERROR:
self.error_msg += event.msg + '\n'
elif isinstance(event, bb.event.TargetsTreeGenerated):
self.current_phase = "data generation"
if event._model:
self.model.populate(event._model)
self.recipe_model.populate(event._model)
elif isinstance(event, bb.event.CoreBaseFilesFound):
self.current_phase = "configuration lookup"
paths = event._paths
self.emit('layers-updated', paths)
elif isinstance(event, bb.event.ConfigFilesFound):
self.current_phase = "configuration lookup"
var = event._variable
if var == "distro":
distros = event._values
distros.sort()
self.emit("distros-updated", distros)
elif var == "machine":
machines = event._values
machines.sort()
self.emit("machines-updated", machines)
elif var == "machine-sdk":
sdk_machines = event._values
sdk_machines.sort()
self.emit("sdk-machines-updated", sdk_machines)
values = event._values
values.sort()
self.emit("config-updated", var, values)
elif isinstance(event, bb.event.ConfigFilePathFound):
self.current_phase = "configuration lookup"
path = event._path
self.emit("config-found", path)
elif isinstance(event, bb.event.FilesMatchingFound):
self.current_phase = "configuration lookup"
# FIXME: hard coding, should at least be a variable shared between
@@ -181,48 +210,84 @@ class HobHandler(gobject.GObject):
fs, sep, format = classname.rpartition("_")
formats.append(format)
formats.sort()
self.emit("package-formats-found", formats)
self.emit("package-formats-updated", formats)
elif isinstance(event, bb.command.CommandCompleted):
self.current_phase = None
self.run_next_command()
elif isinstance(event, bb.event.NoProvider):
if event._runtime:
r = "R"
else:
r = ""
if event._dependees:
self.error_msg += " Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r)
else:
self.error_msg += " Nothing %sPROVIDES '%s'" % (r, event._item)
if event._reasons:
for reason in event._reasons:
self.error_msg += " %s" % reason
self.commands_async = []
self.emit("command-failed", self.error_msg)
self.error_msg = ""
elif isinstance(event, bb.command.CommandFailed):
self.emit("command-failed", event.error)
elif isinstance(event, bb.event.CacheLoadStarted):
self.current_phase = "cache loading"
bb.ui.crumbs.hobeventhandler.progress_total = event.total
pbar.set_text("Loading cache: %s/%s" % (0, bb.ui.crumbs.hobeventhandler.progress_total))
elif isinstance(event, bb.event.CacheLoadProgress):
self.current_phase = "cache loading"
pbar.set_text("Loading cache: %s/%s" % (event.current, bb.ui.crumbs.hobeventhandler.progress_total))
elif isinstance(event, bb.event.CacheLoadCompleted):
self.current_phase = None
pbar.set_text("Loading...")
elif isinstance(event, bb.event.ParseStarted):
self.current_phase = "recipe parsing"
if event.total == 0:
return
bb.ui.crumbs.hobeventhandler.progress_total = event.total
pbar.set_text("Processing recipes: %s/%s" % (0, bb.ui.crumbs.hobeventhandler.progress_total))
elif isinstance(event, bb.event.ParseProgress):
self.current_phase = "recipe parsing"
pbar.set_text("Processing recipes: %s/%s" % (event.current, bb.ui.crumbs.hobeventhandler.progress_total))
elif isinstance(event, bb.event.ParseCompleted):
self.current_phase = None
pbar.set_fraction(1.0)
pbar.set_text("Loading...")
elif isinstance(event, logging.LogRecord):
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
if event.levelno >= format.CRITICAL:
self.emit("fatal-error", event.getMessage(), self.current_phase)
self.commands_async = []
if self.error_msg:
self.emit("command-failed", self.error_msg)
self.error_msg = ""
elif isinstance(event, (bb.event.ParseStarted,
bb.event.CacheLoadStarted,
bb.event.TreeDataPreparationStarted,
)):
message = {}
message["eventname"] = bb.event.getName(event)
message["current"] = 0
message["total"] = None
message["title"] = "Parsing recipes: "
self.emit("parsing-started", message)
elif isinstance(event, (bb.event.ParseProgress,
bb.event.CacheLoadProgress,
bb.event.TreeDataPreparationProgress)):
message = {}
message["eventname"] = bb.event.getName(event)
message["current"] = event.current
message["total"] = event.total
message["title"] = "Parsing recipes: "
self.emit("parsing", message)
elif isinstance(event, (bb.event.ParseCompleted,
bb.event.CacheLoadCompleted,
bb.event.TreeDataPreparationCompleted)):
message = {}
message["eventname"] = bb.event.getName(event)
message["current"] = event.total
message["total"] = event.total
message["title"] = "Parsing recipes: "
self.emit("parsing-completed", message)
return
def event_handle_idle_func (self, eventHandler, running_build, pbar):
# Consume as many messages as we can in the time available to us
event = eventHandler.getEvent()
while event:
self.handle_event(event, running_build, pbar)
event = eventHandler.getEvent()
return True
def init_cooker(self):
self.server.runCommand(["initCooker"])
def refresh_layers(self, bblayers):
self.server.runCommand(["initCooker"])
self.server.runCommand(["setVariable", "BBLAYERS", " ".join(bblayers)])
self.commands_async.append(self.PARSE_CONFIG)
self.commands_async.append(self.CFG_FILES_DISTRO)
self.commands_async.append(self.CFG_FILES_MACH)
self.commands_async.append(self.CFG_FILES_SDKMACH)
self.commands_async.append(self.FILES_MATCH_CLASS)
self.run_next_command(self.LAYERS_REFRESH)
def set_extra_inherit(self, bbclass):
inherits = self.server.runCommand(["getVariable", "INHERIT"]) or ""
inherits = inherits + " " + bbclass
self.server.runCommand(["setVariable", "INHERIT", inherits])
def set_bblayers(self, bblayers):
self.server.runCommand(["setVariable", "BBLAYERS", " ".join(bblayers)])
def set_machine(self, machine):
self.server.runCommand(["setVariable", "MACHINE", machine])
@@ -230,63 +295,78 @@ class HobHandler(gobject.GObject):
def set_sdk_machine(self, sdk_machine):
self.server.runCommand(["setVariable", "SDKMACHINE", sdk_machine])
def set_image_fstypes(self, image_fstypes):
self.server.runCommand(["setVariable", "IMAGE_FSTYPES", " ".join(image_fstypes).lstrip(" ")])
def set_distro(self, distro):
self.server.runCommand(["setVariable", "DISTRO", distro])
def set_package_format(self, format):
self.server.runCommand(["setVariable", "PACKAGE_CLASSES", "package_%s" % format])
def reload_data(self, config=None):
img = self.model.selected_image
selected_packages, _ = self.model.get_selected_packages()
self.emit("reload-triggered", img, " ".join(selected_packages))
self.current_command = self.REPARSE_FILES
self.run_next_command()
package_classes = ""
for pkgfmt in format.split():
package_classes += ("package_%s" % pkgfmt + " ")
self.server.runCommand(["setVariable", "PACKAGE_CLASSES", package_classes])
def set_bbthreads(self, threads):
self.server.runCommand(["setVariable", "BB_NUMBER_THREADS", threads])
def set_pmake(self, threads):
pmake = "-j %s" % threads
self.server.runCommand(["setVariable", "BB_NUMBER_THREADS", pmake])
self.server.runCommand(["setVariable", "PARALLEL_MAKE", pmake])
def build_targets(self, tgts, configurator, build_type="image"):
self.build_type = build_type
def set_dl_dir(self, directory):
self.server.runCommand(["setVariable", "DL_DIR", directory])
def set_sstate_dir(self, directory):
self.server.runCommand(["setVariable", "SSTATE_DIR", directory])
def set_sstate_mirror(self, url):
self.server.runCommand(["setVariable", "SSTATE_MIRROR", url])
def set_extra_size(self, image_extra_size):
self.server.runCommand(["setVariable", "IMAGE_ROOTFS_EXTRA_SPACE", str(image_extra_size)])
def set_rootfs_size(self, image_rootfs_size):
self.server.runCommand(["setVariable", "IMAGE_ROOTFS_SIZE", str(image_rootfs_size)])
def set_incompatible_license(self, incompat_license):
self.server.runCommand(["setVariable", "INCOMPATIBLE_LICENSE", incompat_license])
def set_extra_config(self, extra_setting):
for key in extra_setting.keys():
value = extra_setting[key]
self.server.runCommand(["setVariable", key, value])
def request_package_info_async(self):
self.commands_async.append(self.GENERATE_PACKAGEINFO)
self.run_next_command(self.POPULATE_PACKAGEINFO)
def generate_recipes(self):
self.commands_async.append(self.PARSE_CONFIG)
self.commands_async.append(self.GENERATE_TGTS)
self.run_next_command(self.GENERATE_RECIPES)
def generate_packages(self, tgts):
targets = []
nbbp = None
nbbf = None
targets.extend(tgts)
if self.build_toolchain and self.build_toolchain_headers:
targets.append("meta-toolchain-sdk")
elif self.build_toolchain:
targets.append("meta-toolchain")
self.build_queue = targets
self.recipe_queue = targets
self.commands_async.append(self.PARSE_CONFIG)
self.commands_async.append(self.PARSE_BBFILES)
self.commands_async.append(self.BUILD_TARGET_RECIPES)
self.run_next_command(self.GENERATE_PACKAGES)
if not self.bbpath_ok:
bbpath = self.server.runCommand(["getVariable", "BBPATH"])
if self.image_dir in bbpath.split(":"):
self.bbpath_ok = True
else:
nbbp = self.image_dir
def generate_image(self, tgts, toolchain_build=False):
self.package_queue = tgts
self.toolchain_build = toolchain_build
self.commands_async.append(self.PARSE_CONFIG)
self.commands_async.append(self.PARSE_BBFILES)
self.commands_async.append(self.BUILD_TARGET_IMAGE)
self.run_next_command(self.GENERATE_IMAGE)
if not self.bbfiles_ok:
import re
pattern = "%s/\*.bb" % self.image_dir
bbfiles = self.server.runCommand(["getVariable", "BBFILES"]).split(" ")
for files in bbfiles:
if re.match(pattern, files):
self.bbfiles_ok = True
if not self.bbfiles_ok:
nbbf = "%s/*.bb" % self.image_dir
if nbbp or nbbf:
configurator.insertTempBBPath(nbbp, nbbf)
self.bbpath_ok = True
self.bbfiles_ok = True
self.current_command = self.REPARSE_FILES
self.run_next_command()
def build_failed_async(self):
self.initcmd = None
self.commands_async = []
self.building = False
def cancel_build(self, force=False):
if force:
@@ -297,46 +377,83 @@ class HobHandler(gobject.GObject):
# leave the workdir in a usable state
self.server.runCommand(["stateShutdown"])
def set_incompatible_license(self, incompatible):
self.server.runCommand(["setVariable", "INCOMPATIBLE_LICENSE", incompatible])
def reset_server(self):
self.server.runCommand(["resetCooker"])
def toggle_toolchain(self, enabled):
if self.build_toolchain != enabled:
self.build_toolchain = enabled
def reset_build(self):
self.build.reset()
def toggle_toolchain_headers(self, enabled):
if self.build_toolchain_headers != enabled:
self.build_toolchain_headers = enabled
def get_parameters(self):
# retrieve the parameters from bitbake
params = {}
params["core_base"] = self.server.runCommand(["getVariable", "COREBASE"]) or ""
hob_layer = params["core_base"] + "/meta-hob"
params["layer"] = (self.server.runCommand(["getVariable", "BBLAYERS"]) or "") + " " + hob_layer
params["dldir"] = self.server.runCommand(["getVariable", "DL_DIR"]) or ""
params["machine"] = self.server.runCommand(["getVariable", "MACHINE"]) or ""
params["distro"] = self.server.runCommand(["getVariable", "DISTRO"]) or "defaultsetup"
params["pclass"] = self.server.runCommand(["getVariable", "PACKAGE_CLASSES"]) or ""
params["sstatedir"] = self.server.runCommand(["getVariable", "SSTATE_DIR"]) or ""
params["sstatemirror"] = self.server.runCommand(["getVariable", "SSTATE_MIRROR"]) or ""
def set_fstypes(self, fstypes):
self.server.runCommand(["setVariable", "IMAGE_FSTYPES", fstypes])
num_threads = self.server.runCommand(["getCpuCount"])
if not num_threads:
num_threads = 1
max_threads = 65536
else:
num_threads = int(num_threads)
max_threads = 16 * num_threads
params["max_threads"] = max_threads
def add_image_output_type(self, output_type):
if output_type not in self.image_output_types:
self.image_output_types.append(output_type)
fstypes = " ".join(self.image_output_types).lstrip(" ")
self.set_fstypes(fstypes)
return self.image_output_types
bbthread = self.server.runCommand(["getVariable", "BB_NUMBER_THREADS"])
if not bbthread:
bbthread = num_threads
else:
bbthread = int(bbthread)
params["bbthread"] = bbthread
def remove_image_output_type(self, output_type):
if output_type in self.image_output_types:
ind = self.image_output_types.index(output_type)
self.image_output_types.pop(ind)
fstypes = " ".join(self.image_output_types).lstrip(" ")
self.set_fstypes(fstypes)
return self.image_output_types
pmake = self.server.runCommand(["getVariable", "PARALLEL_MAKE"])
if not pmake:
pmake = num_threads
elif isinstance(pmake, int):
pass
else:
pmake = int(pmake.lstrip("-j "))
params["pmake"] = pmake
def get_image_deploy_dir(self):
return self.img_out_dir
image_addr = self.server.runCommand(["getVariable", "DEPLOY_DIR_IMAGE"]) or ""
if self.server_addr:
image_addr = "http://" + self.server_addr + ":" + image_addr
params["image_addr"] = image_addr
def make_temp_dir(self):
bb.utils.mkdirhier(self.image_dir)
image_extra_size = self.server.runCommand(["getVariable", "IMAGE_ROOTFS_EXTRA_SPACE"])
if not image_extra_size:
image_extra_size = 0
else:
image_extra_size = int(image_extra_size)
params["image_extra_size"] = image_extra_size
def remove_temp_dir(self):
bb.utils.remove(self.image_dir, True)
image_rootfs_size = self.server.runCommand(["getVariable", "IMAGE_ROOTFS_SIZE"])
if not image_rootfs_size:
image_rootfs_size = 0
else:
image_rootfs_size = int(image_rootfs_size)
params["image_rootfs_size"] = image_rootfs_size
def get_temp_recipe_path(self, name):
timestamp = datetime.date.today().isoformat()
image_file = "hob-%s-variant-%s.bb" % (name, timestamp)
recipepath = os.path.join(self.image_dir, image_file)
return recipepath
image_overhead_factor = self.server.runCommand(["getVariable", "IMAGE_OVERHEAD_FACTOR"])
if not image_overhead_factor:
image_overhead_factor = 1
else:
image_overhead_factor = float(image_overhead_factor)
params['image_overhead_factor'] = image_overhead_factor
params["incompat_license"] = self.server.runCommand(["getVariable", "INCOMPATIBLE_LICENSE"]) or ""
params["sdk_machine"] = self.server.runCommand(["getVariable", "SDKMACHINE"]) or self.server.runCommand(["getVariable", "SDK_ARCH"]) or ""
#params["image_types"] = self.server.runCommand(["getVariable", "IMAGE_TYPES"]) or ""
params["image_fstypes"] = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"]) or ""
"""
A workaround
"""
params["image_types"] = "jffs2 sum.jffs2 cramfs ext2 ext2.gz ext2.bz2 ext3 ext3.gz ext2.lzma btrfs live squashfs squashfs-lzma ubi tar tar.gz tar.bz2 tar.xz cpio cpio.gz cpio.xz cpio.lzma"
return params

View File

@@ -0,0 +1,765 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2011 Intel Corporation
#
# Authored by Joshua Lock <josh@linux.intel.com>
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import gobject
#
# PackageListModel
#
class PackageListModel(gtk.TreeStore):
"""
This class defines an gtk.TreeStore subclass which will convert the output
of the bb.event.TargetsTreeGenerated event into a gtk.TreeStore whilst also
providing convenience functions to access gtk.TreeModel subclasses which
provide filtered views of the data.
"""
(COL_NAME, COL_VER, COL_REV, COL_RNM, COL_SEC, COL_SUM, COL_RDEP, COL_RPROV, COL_SIZE, COL_BINB, COL_INC) = range(11)
__gsignals__ = {
"packagelist-populated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"package-selection-changed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
}
def __init__(self):
self.contents = None
self.images = None
self.pkgs_size = 0
self.pn_path = {}
self.pkg_path = {}
gtk.TreeStore.__init__ (self,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_BOOLEAN)
"""
Find the model path for the item_name
Returns the path in the model or None
"""
def find_path_for_item(self, item_name):
if item_name not in self.pkg_path.keys():
return None
else:
return self.pkg_path[item_name]
def find_item_for_path(self, item_path):
return self[item_path][self.COL_NAME]
"""
Helper function to determine whether an item is an item specified by filter
"""
def tree_model_filter(self, model, it, filter):
for key in filter.keys():
if model.get_value(it, key) not in filter[key]:
return False
return True
"""
Create, if required, and return a filtered gtk.TreeModelSort
containing only the items specified by filter
"""
def tree_model(self, filter):
model = self.filter_new()
model.set_visible_func(self.tree_model_filter, filter)
sort = gtk.TreeModelSort(model)
sort.set_sort_column_id(PackageListModel.COL_NAME, gtk.SORT_ASCENDING)
sort.set_default_sort_func(None)
return sort
def convert_vpath_to_path(self, view_model, view_path):
# view_model is the model sorted
# get the path of the model filtered
filtered_model_path = view_model.convert_path_to_child_path(view_path)
# get the model filtered
filtered_model = view_model.get_model()
# get the path of the original model
path = filtered_model.convert_path_to_child_path(filtered_model_path)
return path
def convert_path_to_vpath(self, view_model, path):
name = self.find_item_for_path(path)
it = view_model.get_iter_first()
while it:
child_it = view_model.iter_children(it)
while child_it:
view_name = view_model.get_value(child_it, self.COL_NAME)
if view_name == name:
view_path = view_model.get_path(child_it)
return view_path
child_it = view_model.iter_next(child_it)
it = view_model.iter_next(it)
return None
"""
The populate() function takes as input the data from a
bb.event.PackageInfo event and populates the package list.
Once the population is done it emits gsignal packagelist-populated
to notify any listeners that the model is ready
"""
def populate(self, pkginfolist):
self.clear()
self.pkgs_size = 0
self.pn_path = {}
self.pkg_path = {}
for pkginfo in pkginfolist:
pn = pkginfo['PN']
pv = pkginfo['PV']
pr = pkginfo['PR']
if pn in self.pn_path.keys():
pniter = self.get_iter(self.pn_path[pn])
else:
pniter = self.append(None)
self.set(pniter, self.COL_NAME, pn + '-' + pv + '-' + pr,
self.COL_INC, False)
self.pn_path[pn] = self.get_path(pniter)
pkg = pkginfo['PKG']
pkgv = pkginfo['PKGV']
pkgr = pkginfo['PKGR']
pkgsize = pkginfo['PKGSIZE_%s' % pkg] if 'PKGSIZE_%s' % pkg in pkginfo.keys() else "0"
pkg_rename = pkginfo['PKG_%s' % pkg] if 'PKG_%s' % pkg in pkginfo.keys() else ""
section = pkginfo['SECTION_%s' % pkg] if 'SECTION_%s' % pkg in pkginfo.keys() else ""
summary = pkginfo['SUMMARY_%s' % pkg] if 'SUMMARY_%s' % pkg in pkginfo.keys() else ""
rdep = pkginfo['RDEPENDS_%s' % pkg] if 'RDEPENDS_%s' % pkg in pkginfo.keys() else ""
rrec = pkginfo['RRECOMMENDS_%s' % pkg] if 'RRECOMMENDS_%s' % pkg in pkginfo.keys() else ""
rprov = pkginfo['RPROVIDES_%s' % pkg] if 'RPROVIDES_%s' % pkg in pkginfo.keys() else ""
if 'ALLOW_EMPTY_%s' % pkg in pkginfo.keys():
allow_empty = pkginfo['ALLOW_EMPTY_%s' % pkg]
elif 'ALLOW_EMPTY' in pkginfo.keys():
allow_empty = pkginfo['ALLOW_EMPTY']
else:
allow_empty = ""
if pkgsize == "0" and not allow_empty:
continue
if len(pkgsize) > 3:
size = '%.1f' % (int(pkgsize)*1.0/1024) + ' MB'
else:
size = pkgsize + ' KB'
it = self.append(pniter)
self.pkg_path[pkg] = self.get_path(it)
self.set(it, self.COL_NAME, pkg, self.COL_VER, pkgv,
self.COL_REV, pkgr, self.COL_RNM, pkg_rename,
self.COL_SEC, section, self.COL_SUM, summary,
self.COL_RDEP, rdep + ' ' + rrec,
self.COL_RPROV, rprov, self.COL_SIZE, size,
self.COL_BINB, "", self.COL_INC, False)
self.emit("packagelist-populated")
"""
Check whether the item at item_path is included or not
"""
def path_included(self, item_path):
return self[item_path][self.COL_INC]
"""
Update the model, send out the notification.
"""
def selection_change_notification(self):
self.emit("package-selection-changed")
"""
Mark a certain package as selected.
All its dependencies are marked as selected.
The recipe provides the package is marked as selected.
If user explicitly selects a recipe, all its providing packages are selected
"""
def include_item(self, item_path, binb=""):
if self.path_included(item_path):
return
item_name = self[item_path][self.COL_NAME]
item_rdep = self[item_path][self.COL_RDEP]
self[item_path][self.COL_INC] = True
self.selection_change_notification()
it = self.get_iter(item_path)
# If user explicitly selects a recipe, all its providing packages are selected.
if not self[item_path][self.COL_VER] and binb == "User Selected":
child_it = self.iter_children(it)
while child_it:
child_path = self.get_path(child_it)
child_included = self.path_included(child_path)
if not child_included:
self.include_item(child_path, binb="User Selected")
child_it = self.iter_next(child_it)
return
# The recipe provides the package is also marked as selected
parent_it = self.iter_parent(it)
if parent_it:
parent_path = self.get_path(parent_it)
self[parent_path][self.COL_INC] = True
item_bin = self[item_path][self.COL_BINB].split(', ')
if binb and not binb in item_bin:
item_bin.append(binb)
self[item_path][self.COL_BINB] = ', '.join(item_bin).lstrip(', ')
if item_rdep:
# Ensure all of the items deps are included and, where appropriate,
# add this item to their COL_BINB
for dep in item_rdep.split(" "):
if dep.startswith('('):
continue
# If the contents model doesn't already contain dep, add it
dep_path = self.find_path_for_item(dep)
if not dep_path:
continue
dep_included = self.path_included(dep_path)
if dep_included and not dep in item_bin:
# don't set the COL_BINB to this item if the target is an
# item in our own COL_BINB
dep_bin = self[dep_path][self.COL_BINB].split(', ')
if not item_name in dep_bin:
dep_bin.append(item_name)
self[dep_path][self.COL_BINB] = ', '.join(dep_bin).lstrip(', ')
elif not dep_included:
self.include_item(dep_path, binb=item_name)
"""
Mark a certain package as de-selected.
All other packages that depends on this package are marked as de-selected.
If none of the packages provided by the recipe, the recipe should be marked as de-selected.
If user explicitly de-select a recipe, all its providing packages are de-selected.
"""
def exclude_item(self, item_path):
if not self.path_included(item_path):
return
self[item_path][self.COL_INC] = False
self.selection_change_notification()
item_name = self[item_path][self.COL_NAME]
item_rdep = self[item_path][self.COL_RDEP]
it = self.get_iter(item_path)
# If user explicitly de-select a recipe, all its providing packages are de-selected.
if not self[item_path][self.COL_VER]:
child_it = self.iter_children(it)
while child_it:
child_path = self.get_path(child_it)
child_included = self[child_path][self.COL_INC]
if child_included:
self.exclude_item(child_path)
child_it = self.iter_next(child_it)
return
# If none of the packages provided by the recipe, the recipe should be marked as de-selected.
parent_it = self.iter_parent(it)
peer_iter = self.iter_children(parent_it)
enabled = 0
while peer_iter:
peer_path = self.get_path(peer_iter)
if self[peer_path][self.COL_INC]:
enabled = 1
break
peer_iter = self.iter_next(peer_iter)
if not enabled:
parent_path = self.get_path(parent_it)
self[parent_path][self.COL_INC] = False
# All packages that depends on this package are de-selected.
if item_rdep:
for dep in item_rdep.split(" "):
if dep.startswith('('):
continue
dep_path = self.find_path_for_item(dep)
if not dep_path:
continue
dep_bin = self[dep_path][self.COL_BINB].split(', ')
if item_name in dep_bin:
dep_bin.remove(item_name)
self[dep_path][self.COL_BINB] = ', '.join(dep_bin).lstrip(', ')
item_bin = self[item_path][self.COL_BINB].split(', ')
if item_bin:
for binb in item_bin:
binb_path = self.find_path_for_item(binb)
if not binb_path:
continue
self.exclude_item(binb_path)
"""
Package model may be incomplete, therefore when calling the
set_selected_packages(), some packages will not be set included.
Return the un-set packages list.
"""
def set_selected_packages(self, packagelist):
left = []
for pn in packagelist:
if pn in self.pkg_path.keys():
path = self.pkg_path[pn]
self.include_item(item_path=path,
binb="User Selected")
else:
left.append(pn)
return left
def get_selected_packages(self):
packagelist = []
it = self.get_iter_first()
while it:
child_it = self.iter_children(it)
while child_it:
if self.get_value(child_it, self.COL_INC):
name = self.get_value(child_it, self.COL_NAME)
packagelist.append(name)
child_it = self.iter_next(child_it)
it = self.iter_next(it)
return packagelist
"""
Return the selected package size, unit is KB.
"""
def get_packages_size(self):
packages_size = 0
it = self.get_iter_first()
while it:
child_it = self.iter_children(it)
while child_it:
if self.get_value(child_it, self.COL_INC):
str_size = self.get_value(child_it, self.COL_SIZE)
if not str_size:
continue
unit = str_size.split()
if unit[1] == 'MB':
size = float(unit[0])*1024
else:
size = float(unit[0])
packages_size += size
child_it = self.iter_next(child_it)
it = self.iter_next(it)
return "%f" % packages_size
"""
Empty self.contents by setting the include of each entry to None
"""
def reset(self):
self.pkgs_size = 0
it = self.get_iter_first()
while it:
self.set(it, self.COL_INC, False)
child_it = self.iter_children(it)
while child_it:
self.set(child_it,
self.COL_INC, False,
self.COL_BINB, "")
child_it = self.iter_next(child_it)
it = self.iter_next(it)
self.selection_change_notification()
#
# RecipeListModel
#
class RecipeListModel(gtk.ListStore):
"""
This class defines an gtk.ListStore subclass which will convert the output
of the bb.event.TargetsTreeGenerated event into a gtk.ListStore whilst also
providing convenience functions to access gtk.TreeModel subclasses which
provide filtered views of the data.
"""
(COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_INSTALL, COL_PN) = range(11)
__dummy_image__ = "--select a base image--"
__gsignals__ = {
"recipelist-populated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"recipe-selection-changed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
}
"""
"""
def __init__(self):
gtk.ListStore.__init__ (self,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_BOOLEAN,
gobject.TYPE_BOOLEAN,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING)
"""
Find the model path for the item_name
Returns the path in the model or None
"""
def find_path_for_item(self, item_name):
if self.non_target_name(item_name) or item_name not in self.pn_path.keys():
return None
else:
return self.pn_path[item_name]
def find_item_for_path(self, item_path):
return self[item_path][self.COL_NAME]
"""
Helper method to determine whether name is a target pn
"""
def non_target_name(self, name):
if name and ('-native' in name):
return True
return False
"""
Helper function to determine whether an item is an item specified by filter
"""
def tree_model_filter(self, model, it, filter):
name = model.get_value(it, self.COL_NAME)
if self.non_target_name(name):
return False
for key in filter.keys():
if model.get_value(it, key) not in filter[key]:
return False
return True
def sort_func(self, model, iter1, iter2):
val1 = model.get_value(iter1, RecipeListModel.COL_NAME)
val2 = model.get_value(iter2, RecipeListModel.COL_NAME)
return val1 > val2
"""
Create, if required, and return a filtered gtk.TreeModelSort
containing only the items which are items specified by filter
"""
def tree_model(self, filter):
model = self.filter_new()
model.set_visible_func(self.tree_model_filter, filter)
sort = gtk.TreeModelSort(model)
sort.set_default_sort_func(self.sort_func)
return sort
def convert_vpath_to_path(self, view_model, view_path):
filtered_model_path = view_model.convert_path_to_child_path(view_path)
filtered_model = view_model.get_model()
# get the path of the original model
path = filtered_model.convert_path_to_child_path(filtered_model_path)
return path
def convert_path_to_vpath(self, view_model, path):
it = view_model.get_iter_first()
while it:
name = self.find_item_for_path(path)
view_name = view_model.get_value(it, RecipeListModel.COL_NAME)
if view_name == name:
view_path = view_model.get_path(it)
return view_path
it = view_model.iter_next(it)
return None
def map_runtime(self, event_model, runtime, rdep_type, name):
if rdep_type not in ['pkg', 'pn'] or runtime not in ['rdepends', 'rrecs']:
return
package_depends = event_model["%s-%s" % (runtime, rdep_type)].get(name, [])
pn_depends = []
for package_depend in package_depends:
if 'task-' not in package_depend and package_depend in event_model["packages"].keys():
pn_depends.append(event_model["packages"][package_depend]["pn"])
else:
pn_depends.append(package_depend)
return list(set(pn_depends))
def subpkg_populate(self, event_model, pkg, desc, lic, group, atype, pn):
pn_depends = self.map_runtime(event_model, "rdepends", "pkg", pkg)
pn_depends += self.map_runtime(event_model, "rrecs", "pkg", pkg)
self.set(self.append(), self.COL_NAME, pkg, self.COL_DESC, desc,
self.COL_LIC, lic, self.COL_GROUP, group,
self.COL_DEPS, " ".join(pn_depends), self.COL_BINB, "",
self.COL_TYPE, atype, self.COL_INC, False,
self.COL_IMG, False, self.COL_INSTALL, "", self.COL_PN, pn)
"""
The populate() function takes as input the data from a
bb.event.TargetsTreeGenerated event and populates the RecipeList.
Once the population is done it emits gsignal recipelist-populated
to notify any listeners that the model is ready
"""
def populate(self, event_model):
# First clear the model, in case repopulating
self.clear()
# dummy image for prompt
self.set(self.append(), self.COL_NAME, self.__dummy_image__,
self.COL_DESC, "",
self.COL_LIC, "", self.COL_GROUP, "",
self.COL_DEPS, "", self.COL_BINB, "",
self.COL_TYPE, "image", self.COL_INC, False,
self.COL_IMG, False, self.COL_INSTALL, "", self.COL_PN, self.__dummy_image__)
for item in event_model["pn"]:
name = item
desc = event_model["pn"][item]["description"]
lic = event_model["pn"][item]["license"]
group = event_model["pn"][item]["section"]
install = []
if ('task-' in name):
if ('lib32-' in name or 'lib64-' in name):
atype = 'mltask'
else:
atype = 'task'
for pkg in event_model["pn"][name]["packages"]:
self.subpkg_populate(event_model, pkg, desc, lic, group, atype, name)
continue
elif ('-image-' in name):
atype = 'image'
depends = event_model["depends"].get(item, [])
rdepends = self.map_runtime(event_model, 'rdepends', 'pn', name)
depends = depends + rdepends
install = event_model["rdepends-pn"].get(item, [])
elif ('meta-' in name):
atype = 'toolchain'
elif (name == 'dummy-image' or name == 'dummy-toolchain'):
atype = 'dummy'
else:
if ('lib32-' in name or 'lib64-' in name):
atype = 'mlrecipe'
else:
atype = 'recipe'
depends = event_model["depends"].get(item, [])
depends += self.map_runtime(event_model, 'rdepends', 'pn', item)
for pkg in event_model["pn"][name]["packages"]:
depends += self.map_runtime(event_model, 'rdepends', 'pkg', item)
depends += self.map_runtime(event_model, 'rrecs', 'pkg', item)
self.set(self.append(), self.COL_NAME, item, self.COL_DESC, desc,
self.COL_LIC, lic, self.COL_GROUP, group,
self.COL_DEPS, " ".join(depends), self.COL_BINB, "",
self.COL_TYPE, atype, self.COL_INC, False,
self.COL_IMG, False, self.COL_INSTALL, " ".join(install), self.COL_PN, item)
self.pn_path = {}
it = self.get_iter_first()
while it:
pn = self.get_value(it, self.COL_NAME)
path = self.get_path(it)
self.pn_path[pn] = path
it = self.iter_next(it)
self.emit("recipelist-populated")
"""
Update the model, send out the notification.
"""
def selection_change_notification(self):
self.emit("recipe-selection-changed")
def path_included(self, item_path):
return self[item_path][self.COL_INC]
"""
Append a certain image into the combobox
"""
def image_list_append(self, name, deps, install):
# check whether a certain image is there
if not name or self.find_path_for_item(name):
return
it = self.append()
self.set(it, self.COL_NAME, name, self.COL_DESC, "",
self.COL_LIC, "", self.COL_GROUP, "",
self.COL_DEPS, deps, self.COL_BINB, "",
self.COL_TYPE, "image", self.COL_INC, False,
self.COL_IMG, False, self.COL_INSTALL, install,
self.COL_PN, name)
self.pn_path[name] = self.get_path(it)
"""
Add this item, and any of its dependencies, to the image contents
"""
def include_item(self, item_path, binb="", image_contents=False):
if self.path_included(item_path):
return
item_name = self[item_path][self.COL_NAME]
item_deps = self[item_path][self.COL_DEPS]
self[item_path][self.COL_INC] = True
self.selection_change_notification()
item_bin = self[item_path][self.COL_BINB].split(', ')
if binb and not binb in item_bin:
item_bin.append(binb)
self[item_path][self.COL_BINB] = ', '.join(item_bin).lstrip(', ')
# We want to do some magic with things which are brought in by the
# base image so tag them as so
if image_contents:
self[item_path][self.COL_IMG] = True
if item_deps:
# Ensure all of the items deps are included and, where appropriate,
# add this item to their COL_BINB
for dep in item_deps.split(" "):
# If the contents model doesn't already contain dep, add it
dep_path = self.find_path_for_item(dep)
if not dep_path:
continue
dep_included = self.path_included(dep_path)
if dep_included and not dep in item_bin:
# don't set the COL_BINB to this item if the target is an
# item in our own COL_BINB
dep_bin = self[dep_path][self.COL_BINB].split(', ')
if not item_name in dep_bin:
dep_bin.append(item_name)
self[dep_path][self.COL_BINB] = ', '.join(dep_bin).lstrip(', ')
elif not dep_included:
self.include_item(dep_path, binb=item_name, image_contents=image_contents)
def exclude_item(self, item_path):
if not self.path_included(item_path):
return
self[item_path][self.COL_INC] = False
self.selection_change_notification()
item_name = self[item_path][self.COL_NAME]
item_deps = self[item_path][self.COL_DEPS]
if item_deps:
for dep in item_deps.split(" "):
dep_path = self.find_path_for_item(dep)
if not dep_path:
continue
dep_bin = self[dep_path][self.COL_BINB].split(', ')
if item_name in dep_bin:
dep_bin.remove(item_name)
self[dep_path][self.COL_BINB] = ', '.join(dep_bin).lstrip(', ')
item_bin = self[item_path][self.COL_BINB].split(', ')
if item_bin:
for binb in item_bin:
binb_path = self.find_path_for_item(binb)
if not binb_path:
continue
self.exclude_item(binb_path)
def reset(self):
it = self.get_iter_first()
while it:
self.set(it,
self.COL_INC, False,
self.COL_BINB, "",
self.COL_IMG, False)
it = self.iter_next(it)
self.selection_change_notification()
"""
Returns two lists. One of user selected recipes and the other containing
all selected recipes
"""
def get_selected_recipes(self):
allrecipes = []
userrecipes = []
it = self.get_iter_first()
while it:
if self.get_value(it, self.COL_INC):
name = self.get_value(it, self.COL_PN)
type = self.get_value(it, self.COL_TYPE)
if type != "image":
allrecipes.append(name)
sel = "User Selected" in self.get_value(it, self.COL_BINB)
if sel:
userrecipes.append(name)
it = self.iter_next(it)
return list(set(userrecipes)), list(set(allrecipes))
def set_selected_recipes(self, recipelist):
for pn in recipelist:
if pn in self.pn_path.keys():
path = self.pn_path[pn]
self.include_item(item_path=path,
binb="User Selected")
def get_selected_image(self):
it = self.get_iter_first()
while it:
if self.get_value(it, self.COL_INC):
name = self.get_value(it, self.COL_PN)
type = self.get_value(it, self.COL_TYPE)
if type == "image":
sel = "User Selected" in self.get_value(it, self.COL_BINB)
if sel:
return name
it = self.iter_next(it)
return None
def set_selected_image(self, img):
if img == None:
return
path = self.find_path_for_item(img)
self.include_item(item_path=path,
binb="User Selected",
image_contents=True)

View File

@@ -0,0 +1,87 @@
#!/usr/bin/env python
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2012 Intel Corporation
#
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import hwc
#
# HobPage: the super class for all Hob-related pages
#
class HobPage (gtk.VBox):
def __init__(self, builder, title = None):
super(HobPage, self).__init__(False, 0)
self.builder = builder
self.builder_width, self.builder_height = self.builder.size_request()
if title == None:
self.title = "HOB -- Image Creator"
else:
self.title = title
self.box_group_area = gtk.VBox(False, 15)
self.box_group_area.set_size_request(self.builder_width - 73 - 73, self.builder_height - 88 - 15 - 15)
self.group_align = gtk.Alignment(xalign = 0, yalign=0.5, xscale=1, yscale=1)
self.group_align.set_padding(15, 15, 73, 73)
self.group_align.add(self.box_group_area)
self.box_group_area.set_homogeneous(False)
def add_onto_top_bar(self, widget = None, padding = 0):
# the top button occupies 1/7 of the page height
# setup an event box
eventbox = gtk.EventBox()
style = eventbox.get_style().copy()
style.bg[gtk.STATE_NORMAL] = eventbox.get_colormap().alloc_color(HobColors.LIGHT_GRAY, False, False)
eventbox.set_style(style)
eventbox.set_size_request(-1, 88)
hbox = gtk.HBox()
label = gtk.Label()
label.set_markup("<span font_desc=\'14\'>%s</span>" % self.title)
hbox.pack_start(label, expand=False, fill=False, padding=20)
if widget != None:
# add the widget in the event box
hbox.pack_end(widget, expand=False, fill=False, padding=padding)
eventbox.add(hbox)
return eventbox
def span_tag(self, px="12px", weight="normal", forground="#1c1c1c"):
span_tag = "weight=\'%s\' foreground=\'%s\' font_desc=\'%s\'" % (weight, forground, px)
return span_tag
def append_toolbar_button(self, toolbar, buttonname, icon_disp, icon_hovor, tip, cb):
# Create a button and append it on the toolbar according to button name
icon = gtk.Image()
icon_display = icon_disp
icon_hover = icon_hovor
pix_buffer = gtk.gdk.pixbuf_new_from_file(icon_display)
icon.set_from_pixbuf(pix_buffer)
tip_text = tip
button = toolbar.append_element(gtk.TOOLBAR_CHILD_RADIOBUTTON, None,
buttonname, tip_text, "Private text", icon,
cb, None)
return toolbar, button

View File

@@ -1,334 +0,0 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2011 Intel Corporation
#
# Authored by Joshua Lock <josh@linux.intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import glib
from bb.ui.crumbs.configurator import Configurator
class HobPrefs(gtk.Dialog):
"""
"""
def empty_combo_text(self, combo_text):
model = combo_text.get_model()
if model:
model.clear()
def output_type_toggled_cb(self, check, handler):
ot = check.get_label()
enabled = check.get_active()
if enabled:
self.selected_image_types = handler.add_image_output_type(ot)
else:
self.selected_image_types = handler.remove_image_output_type(ot)
self.configurator.setConfVar('IMAGE_FSTYPES', "%s" % " ".join(self.selected_image_types).lstrip(" "))
def sdk_machine_combo_changed_cb(self, combo, handler):
sdk_mach = combo.get_active_text()
if sdk_mach != self.curr_sdk_mach:
self.curr_sdk_mach = sdk_mach
self.configurator.setConfVar('SDKMACHINE', sdk_mach)
handler.set_sdk_machine(sdk_mach)
def update_sdk_machines(self, handler, sdk_machines):
active = 0
# disconnect the signal handler before updating the combo model
if self.sdk_machine_handler_id:
self.sdk_machine_combo.disconnect(self.sdk_machine_handler_id)
self.sdk_machine_handler_id = None
self.empty_combo_text(self.sdk_machine_combo)
for sdk_machine in sdk_machines:
self.sdk_machine_combo.append_text(sdk_machine)
if sdk_machine == self.curr_sdk_mach:
self.sdk_machine_combo.set_active(active)
active = active + 1
self.sdk_machine_handler_id = self.sdk_machine_combo.connect("changed", self.sdk_machine_combo_changed_cb, handler)
def distro_combo_changed_cb(self, combo, handler):
distro = combo.get_active_text()
if distro != self.curr_distro:
self.curr_distro = distro
self.configurator.setConfVar('DISTRO', distro)
handler.set_distro(distro)
self.reload_required = True
def update_distros(self, handler, distros):
active = 0
# disconnect the signal handler before updating combo model
if self.distro_handler_id:
self.distro_combo.disconnect(self.distro_handler_id)
self.distro_handler_id = None
self.empty_combo_text(self.distro_combo)
for distro in distros:
self.distro_combo.append_text(distro)
if distro == self.curr_distro:
self.distro_combo.set_active(active)
active = active + 1
self.distro_handler_id = self.distro_combo.connect("changed", self.distro_combo_changed_cb, handler)
def package_format_combo_changed_cb(self, combo, handler):
package_format = combo.get_active_text()
if package_format != self.curr_package_format:
self.curr_package_format = package_format
self.configurator.setConfVar('PACKAGE_CLASSES', 'package_%s' % package_format)
handler.set_package_format(package_format)
self.reload_required = True
def update_package_formats(self, handler, formats):
active = 0
# disconnect the signal handler before updating the model
if self.package_handler_id:
self.package_combo.disconnect(self.package_handler_id)
self.package_handler_id = None
self.empty_combo_text(self.package_combo)
for format in formats:
self.package_combo.append_text(format)
if format == self.curr_package_format:
self.package_combo.set_active(active)
active = active + 1
self.package_handler_id = self.package_combo.connect("changed", self.package_format_combo_changed_cb, handler)
def include_gplv3_cb(self, toggle):
excluded = toggle.get_active()
orig_incompatible = self.configurator.getConfVar('INCOMPATIBLE_LICENSE')
new_incompatible = ""
if excluded:
if not orig_incompatible:
new_incompatible = "GPLv3"
elif not orig_incompatible.find('GPLv3'):
new_incompatible = "%s GPLv3" % orig_incompatible
else:
new_incompatible = orig_incompatible.replace('GPLv3', '')
if new_incompatible != orig_incompatible:
self.handler.set_incompatible_license(new_incompatible)
self.configurator.setConfVar('INCOMPATIBLE_LICENSE', new_incompatible)
self.reload_required = True
def change_bb_threads_cb(self, spinner):
val = spinner.get_value_as_int()
self.handler.set_bbthreads(val)
self.configurator.setConfVar('BB_NUMBER_THREADS', val)
def change_make_threads_cb(self, spinner):
val = spinner.get_value_as_int()
self.handler.set_pmake(val)
self.configurator.setConfVar('PARALLEL_MAKE', "-j %s" % val)
def toggle_toolchain_cb(self, check):
enabled = check.get_active()
toolchain = '0'
if enabled:
toolchain = '1'
self.handler.toggle_toolchain(enabled)
self.configurator.setConfVar('HOB_BUILD_TOOLCHAIN', toolchain)
def toggle_headers_cb(self, check):
enabled = check.get_active()
headers = '0'
if enabled:
headers = '1'
self.handler.toggle_toolchain_headers(enabled)
self.configurator.setConfVar('HOB_BUILD_TOOLCHAIN_HEADERS', headers)
def set_parent_window(self, parent):
self.set_transient_for(parent)
def write_changes(self):
self.configurator.writeConf()
def prefs_response_cb(self, dialog, response):
if self.reload_required:
glib.idle_add(self.handler.reload_data)
self.reload_required = False
def __init__(self, configurator, handler, curr_sdk_mach, curr_distro, pclass,
pmake, bbthread, selected_image_types, all_image_types,
gplv3disabled, build_toolchain, build_toolchain_headers):
"""
"""
gtk.Dialog.__init__(self, "Preferences", None,
gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CLOSE, gtk.RESPONSE_OK))
self.set_border_width(6)
self.vbox.set_property("spacing", 12)
self.action_area.set_property("spacing", 12)
self.action_area.set_property("border-width", 6)
self.handler = handler
self.configurator = configurator
self.curr_sdk_mach = curr_sdk_mach
self.curr_distro = curr_distro
self.curr_package_format = pclass
self.pmake = pmake
self.bbthread = bbthread
self.selected_image_types = selected_image_types.split(" ")
self.gplv3disabled = gplv3disabled
self.build_toolchain = build_toolchain
self.build_toolchain_headers = build_toolchain_headers
self.reload_required = False
self.distro_handler_id = None
self.sdk_machine_handler_id = None
self.package_handler_id = None
left = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)
right = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)
label = gtk.Label()
label.set_markup("<b>Policy</b>")
label.show()
frame = gtk.Frame()
frame.set_label_widget(label)
frame.set_shadow_type(gtk.SHADOW_NONE)
frame.show()
self.vbox.pack_start(frame)
pbox = gtk.VBox(False, 12)
pbox.show()
frame.add(pbox)
hbox = gtk.HBox(False, 12)
hbox.show()
pbox.pack_start(hbox, expand=False, fill=False, padding=6)
# Distro selector
label = gtk.Label("Distribution:")
label.show()
hbox.pack_start(label, expand=False, fill=False, padding=6)
self.distro_combo = gtk.combo_box_new_text()
self.distro_combo.set_tooltip_text("Select the Yocto distribution you would like to use")
self.distro_combo.show()
hbox.pack_start(self.distro_combo, expand=False, fill=False, padding=6)
# Exclude GPLv3
check = gtk.CheckButton("Exclude GPLv3 packages")
check.set_tooltip_text("Check this box to prevent GPLv3 packages from being included in your image")
check.show()
check.set_active(self.gplv3disabled)
check.connect("toggled", self.include_gplv3_cb)
hbox.pack_start(check, expand=False, fill=False, padding=6)
hbox = gtk.HBox(False, 12)
hbox.show()
pbox.pack_start(hbox, expand=False, fill=False, padding=6)
# Package format selector
label = gtk.Label("Package format:")
label.show()
hbox.pack_start(label, expand=False, fill=False, padding=6)
self.package_combo = gtk.combo_box_new_text()
self.package_combo.set_tooltip_text("""The package format is that used in creation
of the root filesystem and also dictates the package manager used in your image""")
self.package_combo.show()
hbox.pack_start(self.package_combo, expand=False, fill=False, padding=6)
if all_image_types:
# Image output type selector
label = gtk.Label("Image output types:")
label.show()
hbox.pack_start(label, expand=False, fill=False, padding=6)
chk_cnt = 3
for it in all_image_types.split(" "):
chk_cnt = chk_cnt + 1
if chk_cnt % 6 == 0:
hbox = gtk.HBox(False, 12)
hbox.show()
pbox.pack_start(hbox, expand=False, fill=False, padding=6)
chk = gtk.CheckButton(it)
if it in self.selected_image_types:
chk.set_active(True)
chk.set_tooltip_text("Build an %s image" % it)
chk.connect("toggled", self.output_type_toggled_cb, handler)
chk.show()
hbox.pack_start(chk, expand=False, fill=False, padding=3)
# BitBake
label = gtk.Label()
label.set_markup("<b>BitBake</b>")
label.show()
frame = gtk.Frame()
frame.set_label_widget(label)
frame.set_shadow_type(gtk.SHADOW_NONE)
frame.show()
self.vbox.pack_start(frame)
pbox = gtk.VBox(False, 12)
pbox.show()
frame.add(pbox)
hbox = gtk.HBox(False, 12)
hbox.show()
pbox.pack_start(hbox, expand=False, fill=False, padding=6)
label = gtk.Label("BitBake threads:")
label.show()
# NOTE: may be a good idea in future to intelligently cap the maximum
# values but we need more data to make an educated decision, for now
# set a high maximum as a value for upper bounds is required by the
# gtk.Adjustment
spin_max = 30 # seems like a high enough arbitrary number
hbox.pack_start(label, expand=False, fill=False, padding=6)
bbadj = gtk.Adjustment(value=self.bbthread, lower=1, upper=spin_max, step_incr=1)
bbspinner = gtk.SpinButton(adjustment=bbadj, climb_rate=1, digits=0)
bbspinner.show()
bbspinner.connect("value-changed", self.change_bb_threads_cb)
hbox.pack_start(bbspinner, expand=False, fill=False, padding=6)
label = gtk.Label("Make threads:")
label.show()
hbox.pack_start(label, expand=False, fill=False, padding=6)
madj = gtk.Adjustment(value=self.pmake, lower=1, upper=spin_max, step_incr=1)
makespinner = gtk.SpinButton(adjustment=madj, climb_rate=1, digits=0)
makespinner.connect("value-changed", self.change_make_threads_cb)
makespinner.show()
hbox.pack_start(makespinner, expand=False, fill=False, padding=6)
# Toolchain
label = gtk.Label()
label.set_markup("<b>External Toolchain</b>")
label.show()
frame = gtk.Frame()
frame.set_label_widget(label)
frame.set_shadow_type(gtk.SHADOW_NONE)
frame.show()
self.vbox.pack_start(frame)
pbox = gtk.VBox(False, 12)
pbox.show()
frame.add(pbox)
hbox = gtk.HBox(False, 12)
hbox.show()
pbox.pack_start(hbox, expand=False, fill=False, padding=6)
toolcheck = gtk.CheckButton("Build external development toolchain with image")
toolcheck.show()
toolcheck.set_active(self.build_toolchain)
toolcheck.connect("toggled", self.toggle_toolchain_cb)
hbox.pack_start(toolcheck, expand=False, fill=False, padding=6)
hbox = gtk.HBox(False, 12)
hbox.show()
pbox.pack_start(hbox, expand=False, fill=False, padding=6)
label = gtk.Label("Toolchain host:")
label.show()
hbox.pack_start(label, expand=False, fill=False, padding=6)
self.sdk_machine_combo = gtk.combo_box_new_text()
self.sdk_machine_combo.set_tooltip_text("Select the host architecture of the external machine")
self.sdk_machine_combo.show()
hbox.pack_start(self.sdk_machine_combo, expand=False, fill=False, padding=6)
# headerscheck = gtk.CheckButton("Include development headers with toolchain")
# headerscheck.show()
# headerscheck.set_active(self.build_toolchain_headers)
# headerscheck.connect("toggled", self.toggle_headers_cb)
# hbox.pack_start(headerscheck, expand=False, fill=False, padding=6)
self.connect("response", self.prefs_response_cb)

View File

@@ -0,0 +1,805 @@
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2011-2012 Intel Corporation
#
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import gobject
import os
import os.path
from bb.ui.crumbs.hobcolor import HobColors
class hwc:
MAIN_WIN_WIDTH = 1024
MAIN_WIN_HEIGHT = 700
class hic:
HOB_ICON_BASE_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), ("ui/icons/"))
ICON_RCIPE_DISPLAY_FILE = os.path.join(HOB_ICON_BASE_DIR, ('recipe/recipe_display.png'))
ICON_RCIPE_HOVER_FILE = os.path.join(HOB_ICON_BASE_DIR, ('recipe/recipe_hover.png'))
ICON_PACKAGES_DISPLAY_FILE = os.path.join(HOB_ICON_BASE_DIR, ('packages/packages_display.png'))
ICON_PACKAGES_HOVER_FILE = os.path.join(HOB_ICON_BASE_DIR, ('packages/packages_hover.png'))
ICON_LAYERS_DISPLAY_FILE = os.path.join(HOB_ICON_BASE_DIR, ('layers/layers_display.png'))
ICON_LAYERS_HOVER_FILE = os.path.join(HOB_ICON_BASE_DIR, ('layers/layers_hover.png'))
ICON_TEMPLATES_DISPLAY_FILE = os.path.join(HOB_ICON_BASE_DIR, ('templates/templates_display.png'))
ICON_TEMPLATES_HOVER_FILE = os.path.join(HOB_ICON_BASE_DIR, ('templates/templates_hover.png'))
ICON_IMAGES_DISPLAY_FILE = os.path.join(HOB_ICON_BASE_DIR, ('images/images_display.png'))
ICON_IMAGES_HOVER_FILE = os.path.join(HOB_ICON_BASE_DIR, ('images/images_hover.png'))
ICON_SETTINGS_DISPLAY_FILE = os.path.join(HOB_ICON_BASE_DIR, ('settings/settings_display.png'))
ICON_SETTINGS_HOVER_FILE = os.path.join(HOB_ICON_BASE_DIR, ('settings/settings_hover.png'))
ICON_INFO_DISPLAY_FILE = os.path.join(HOB_ICON_BASE_DIR, ('info/info_display.png'))
ICON_INFO_HOVER_FILE = os.path.join(HOB_ICON_BASE_DIR, ('info/info_hover.png'))
ICON_INDI_CONFIRM_FILE = os.path.join(HOB_ICON_BASE_DIR, ('indicators/confirmation.png'))
ICON_INDI_ERROR_FILE = os.path.join(HOB_ICON_BASE_DIR, ('indicators/error.png'))
class HobWidget:
@classmethod
def resize_widget(cls, screen, widget, widget_width, widget_height):
screen_width, screen_height = screen.get_size_request()
ratio_height = screen_width * hwc.MAIN_WIN_HEIGHT/hwc.MAIN_WIN_WIDTH
if ratio_height < screen_height:
screen_height = ratio_height
widget_width = widget_width * screen_width/hwc.MAIN_WIN_WIDTH
widget_height = widget_height * screen_height/hwc.MAIN_WIN_HEIGHT
widget.set_size_request(widget_width, widget_height)
@classmethod
def _toggle_cb(cls, cell, path, model, column):
it = model.get_iter(path)
val = model.get_value(it, column)
val = not val
model.set(it, column, val)
@classmethod
def _pkgfmt_up_clicked_cb(cls, button, tree_selection):
(model, it) = tree_selection.get_selected()
if not it:
return
path = model.get_path(it)
if path[0] <= 0:
return
pre_it = model.get_iter_first()
if not pre_it:
return
else:
while model.iter_next(pre_it) :
if model.get_value(model.iter_next(pre_it), 1) != model.get_value(it, 1):
pre_it = model.iter_next(pre_it)
else:
break
cur_index = model.get_value(it, 0)
pre_index = cur_index
if pre_it:
model.set(pre_it, 0, pre_index)
cur_index = cur_index - 1
model.set(it, 0, cur_index)
@classmethod
def _pkgfmt_down_clicked_cb(cls, button, tree_selection):
(model, it) = tree_selection.get_selected()
if not it:
return
next_it = model.iter_next(it)
if not next_it:
return
cur_index = model.get_value(it, 0)
next_index = cur_index
model.set(next_it, 0, next_index)
cur_index = cur_index + 1
model.set(it, 0, cur_index)
@classmethod
def _tree_selection_changed_cb(cls, tree_selection, button1, button2):
(model, it) = tree_selection.get_selected()
inc = model.get_value(it, 2)
if inc:
button1.set_sensitive(True)
button2.set_sensitive(True)
else:
button1.set_sensitive(False)
button2.set_sensitive(False)
@classmethod
def _sort_func(cls, model, iter1, iter2, data):
val1 = model.get_value(iter1, 0)
val2 = model.get_value(iter2, 0)
inc1 = model.get_value(iter1, 2)
inc2 = model.get_value(iter2, 2)
if inc1 != inc2:
return inc2 - inc1
else:
return val1 - val2
@classmethod
def gen_pkgfmt_widget(cls, curr_package_format, all_package_format, tooltip=""):
pkgfmt_hbox = gtk.HBox(False, 15)
pkgfmt_store = gtk.ListStore(int, str, gobject.TYPE_BOOLEAN)
for format in curr_package_format.split():
pkgfmt_store.set(pkgfmt_store.append(), 1, format, 2, True)
for format in all_package_format:
if format not in curr_package_format:
pkgfmt_store.set(pkgfmt_store.append(), 1, format, 2, False)
pkgfmt_tree = gtk.TreeView(pkgfmt_store)
pkgfmt_tree.set_headers_clickable(True)
pkgfmt_tree.set_headers_visible(False)
tree_selection = pkgfmt_tree.get_selection()
tree_selection.set_mode(gtk.SELECTION_SINGLE)
col = gtk.TreeViewColumn('NO')
col.set_sort_column_id(0)
col.set_sort_order(gtk.SORT_ASCENDING)
col.set_clickable(False)
col1 = gtk.TreeViewColumn('TYPE')
col1.set_min_width(130)
col1.set_max_width(140)
col2 = gtk.TreeViewColumn('INCLUDED')
col2.set_min_width(60)
col2.set_max_width(70)
pkgfmt_tree.append_column(col1)
pkgfmt_tree.append_column(col2)
cell = gtk.CellRendererText()
cell1 = gtk.CellRendererText()
cell1.set_property('width-chars', 10)
cell2 = gtk.CellRendererToggle()
cell2.set_property('activatable', True)
cell2.connect("toggled", cls._toggle_cb, pkgfmt_store, 2)
col.pack_start(cell, True)
col1.pack_start(cell1, True)
col2.pack_end(cell2, True)
col.set_attributes(cell, text=0)
col1.set_attributes(cell1, text=1)
col2.set_attributes(cell2, active=2)
pkgfmt_store.set_sort_func(0, cls._sort_func, None)
pkgfmt_store.set_sort_column_id(0, gtk.SORT_ASCENDING)
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
scroll.set_shadow_type(gtk.SHADOW_IN)
scroll.add(pkgfmt_tree)
scroll.set_size_request(200,60)
pkgfmt_hbox.pack_start(scroll, False, False, 0)
vbox = gtk.VBox(False, 5)
pkgfmt_hbox.pack_start(vbox, False, False, 15)
up = gtk.Button()
image = gtk.Image()
image.set_from_stock(gtk.STOCK_GO_UP, gtk.ICON_SIZE_MENU)
up.set_image(image)
up.set_size_request(50,30)
up.connect("clicked", cls._pkgfmt_up_clicked_cb, tree_selection)
vbox.pack_start(up, False, False, 5)
down = gtk.Button()
image = gtk.Image()
image.set_from_stock(gtk.STOCK_GO_DOWN, gtk.ICON_SIZE_MENU)
down.set_image(image)
down.set_size_request(50,30)
down.connect("clicked", cls._pkgfmt_down_clicked_cb, tree_selection)
vbox.pack_start(down, False, False, 5)
tree_selection.connect("changed", cls._tree_selection_changed_cb, up, down)
image = gtk.Image()
image.set_from_stock(gtk.STOCK_INFO, gtk.ICON_SIZE_BUTTON)
image.set_tooltip_text(tooltip)
pkgfmt_hbox.pack_start(image, expand=False, fill=False)
pkgfmt_hbox.show_all()
return pkgfmt_hbox, pkgfmt_store
@classmethod
def gen_combo_widget(cls, curr_item, all_item, tooltip=""):
hbox = gtk.HBox(False, 10)
combo = gtk.combo_box_new_text()
hbox.pack_start(combo, expand=False, fill=False)
index = 0
for item in all_item or []:
combo.append_text(item)
if item == curr_item:
combo.set_active(index)
index += 1
image = gtk.Image()
image.show()
image.set_from_stock(gtk.STOCK_INFO, gtk.ICON_SIZE_BUTTON)
image.set_tooltip_text(tooltip)
hbox.pack_start(image, expand=False, fill=False)
hbox.show_all()
return hbox, combo
@classmethod
def gen_label_widget(cls, content):
label = gtk.Label()
label.set_alignment(0, 0)
label.set_markup(content)
label.show()
return label
@classmethod
def _select_path_cb(cls, action, parent, entry):
dialog = gtk.FileChooserDialog("", parent,
gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
(gtk.STOCK_OK, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
response = dialog.run()
if response == gtk.RESPONSE_YES:
path = dialog.get_filename()
entry.set_text(path)
dialog.destroy()
@classmethod
def gen_entry_widget(cls, split_model, content, parent, tooltip=""):
hbox = gtk.HBox(False, 10)
entry = gtk.Entry()
entry.set_text(content)
if split_model:
hbox.pack_start(entry, expand=True, fill=True)
else:
table = gtk.Table(1, 10, True)
hbox.pack_start(table, expand=True, fill=True)
table.attach(entry, 0, 9, 0, 1)
image = gtk.Image()
image.set_from_stock(gtk.STOCK_OPEN,gtk.ICON_SIZE_BUTTON)
open_button = gtk.Button()
open_button.set_image(image)
open_button.connect("clicked", cls._select_path_cb, parent, entry)
table.attach(open_button, 9, 10, 0, 1)
image = gtk.Image()
image.set_from_stock(gtk.STOCK_INFO, gtk.ICON_SIZE_BUTTON)
image.set_tooltip_text(tooltip)
hbox.pack_start(image, expand=False, fill=False)
hbox.show_all()
return hbox, entry
@classmethod
def gen_spinner_widget(cls, content, lower, upper, tooltip=""):
hbox = gtk.HBox(False, 10)
adjust = gtk.Adjustment(value=content, lower=lower, upper=upper, step_incr=1)
spinner = gtk.SpinButton(adjustment=adjust, climb_rate=1, digits=0)
spinner.set_value(content)
hbox.pack_start(spinner, expand=False, fill=False)
image = gtk.Image()
image.set_from_stock(gtk.STOCK_INFO, gtk.ICON_SIZE_BUTTON)
image.set_tooltip_text(tooltip)
hbox.pack_start(image, expand=False, fill=False)
hbox.show_all()
return hbox, spinner
@classmethod
def conf_error(cls, parent, lbl):
dialog = CrumbsDialog(parent, lbl)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
response = dialog.run()
dialog.destroy()
@classmethod
def _add_layer_cb(cls, action, layer_store, parent):
dialog = gtk.FileChooserDialog("Add new layer", parent,
gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
(gtk.STOCK_OK, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
label = gtk.Label("Select the layer you wish to add")
label.show()
dialog.set_extra_widget(label)
response = dialog.run()
path = dialog.get_filename()
dialog.destroy()
lbl = "<b>Error</b>\nUnable to load layer <i>%s</i> because " % path
if response == gtk.RESPONSE_YES:
import os
import os.path
layers = []
it = layer_store.get_iter_first()
while it:
layers.append(layer_store.get_value(it, 0))
it = layer_store.iter_next(it)
if not path:
lbl += "it is an invalid path."
elif not os.path.exists(path+"/conf/layer.conf"):
lbl += "there is no layer.conf inside the directory."
elif path in layers:
lbl += "it is already in loaded layers."
else:
layer_store.append([path])
return
cls.conf_error(parent, lbl)
@classmethod
def _del_layer_cb(cls, action, tree_selection, layer_store):
model, iter = tree_selection.get_selected()
if iter:
layer_store.remove(iter)
@classmethod
def _toggle_layer_cb(cls, cell, path, layer_store):
name = layer_store[path][0]
toggle = not layer_store[path][1]
layer_store[path][1] = toggle
@classmethod
def gen_layer_widget(cls, split_model, layers, layers_avail, window, tooltip=""):
hbox = gtk.HBox(False, 10)
layer_tv = gtk.TreeView()
layer_tv.set_rules_hint(True)
layer_tv.set_headers_visible(False)
tree_selection = layer_tv.get_selection()
tree_selection.set_mode(gtk.SELECTION_SINGLE)
col0= gtk.TreeViewColumn('Path')
cell0 = gtk.CellRendererText()
cell0.set_padding(5,2)
col0.pack_start(cell0, True)
col0.set_attributes(cell0, text=0)
layer_tv.append_column(col0)
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
scroll.set_shadow_type(gtk.SHADOW_IN)
scroll.add(layer_tv)
table_layer = gtk.Table(2, 10, False)
hbox.pack_start(table_layer, expand=True, fill=True)
if split_model:
table_layer.attach(scroll, 0, 10, 0, 2)
layer_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_BOOLEAN)
for layer in layers:
layer_store.set(layer_store.append(), 0, layer, 1, True)
for layer in layers_avail:
if layer not in layers:
layer_store.set(layer_store.append(), 0, layer, 1, False)
col1 = gtk.TreeViewColumn('Included')
layer_tv.append_column(col1)
cell1 = gtk.CellRendererToggle()
cell1.connect("toggled", cls._toggle_layer_cb, layer_store)
col1.pack_start(cell1, True)
col1.set_attributes(cell1, active=1)
else:
table_layer.attach(scroll, 0, 10, 0, 1)
layer_store = gtk.ListStore(gobject.TYPE_STRING)
for layer in layers:
layer_store.set(layer_store.append(), 0, layer)
image = gtk.Image()
image.set_from_stock(gtk.STOCK_ADD,gtk.ICON_SIZE_MENU)
add_button = gtk.Button()
add_button.set_image(image)
add_button.connect("clicked", cls._add_layer_cb, layer_store, window)
table_layer.attach(add_button, 0, 5, 1, 2, gtk.EXPAND | gtk.FILL, 0, 0, 0)
image = gtk.Image()
image.set_from_stock(gtk.STOCK_REMOVE,gtk.ICON_SIZE_MENU)
del_button = gtk.Button()
del_button.set_image(image)
del_button.connect("clicked", cls._del_layer_cb, tree_selection, layer_store)
table_layer.attach(del_button, 5, 10, 1, 2, gtk.EXPAND | gtk.FILL, 0, 0, 0)
layer_tv.set_model(layer_store)
hbox.show_all()
return hbox, layer_store
@classmethod
def _toggle_single_cb(cls, cell, select_path, treeview, toggle_column):
model = treeview.get_model()
if not model:
return
iter = model.get_iter_first()
while iter:
path = model.get_path(iter)
model[path][toggle_column] = False
iter = model.iter_next(iter)
model[select_path][toggle_column] = True
@classmethod
def gen_imgtv_widget(cls, col0_width, col1_width):
vbox = gtk.VBox(False, 10)
imgsel_tv = gtk.TreeView()
imgsel_tv.set_rules_hint(True)
imgsel_tv.set_headers_visible(False)
tree_selection = imgsel_tv.get_selection()
tree_selection.set_mode(gtk.SELECTION_SINGLE)
col0= gtk.TreeViewColumn('Image name')
cell0 = gtk.CellRendererText()
cell0.set_padding(5,2)
col0.pack_start(cell0, True)
col0.set_attributes(cell0, text=0)
col0.set_max_width(col0_width)
col0.set_min_width(col0_width)
imgsel_tv.append_column(col0)
col1= gtk.TreeViewColumn('Select')
cell1 = gtk.CellRendererToggle()
cell1.set_padding(5,2)
cell1.connect("toggled", cls._toggle_single_cb, imgsel_tv, 1)
col1.pack_start(cell1, True)
col1.set_attributes(cell1, active=1)
col1.set_max_width(col1_width)
col1.set_min_width(col1_width)
imgsel_tv.append_column(col1)
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
scroll.set_shadow_type(gtk.SHADOW_IN)
scroll.add(imgsel_tv)
vbox.pack_start(scroll, expand=True, fill=True)
return vbox, imgsel_tv
@classmethod
def gen_images_widget(cls, col0_width, col1_width, col2_width):
vbox = gtk.VBox(False, 10)
imgsel_tv = gtk.TreeView()
imgsel_tv.set_rules_hint(True)
imgsel_tv.set_headers_visible(False)
tree_selection = imgsel_tv.get_selection()
tree_selection.set_mode(gtk.SELECTION_SINGLE)
col0= gtk.TreeViewColumn('Image name')
cell0 = gtk.CellRendererText()
cell0.set_padding(5,2)
col0.pack_start(cell0, True)
col0.set_attributes(cell0, text=0)
col0.set_max_width(col0_width)
col0.set_min_width(col0_width)
imgsel_tv.append_column(col0)
col1= gtk.TreeViewColumn('Image size')
cell1 = gtk.CellRendererText()
cell1.set_padding(5,2)
col1.pack_start(cell1, True)
col1.set_attributes(cell1, text=1)
col1.set_max_width(col1_width)
col1.set_min_width(col1_width)
imgsel_tv.append_column(col1)
col2= gtk.TreeViewColumn('Select')
cell2 = gtk.CellRendererToggle()
cell2.set_padding(5,2)
cell2.connect("toggled", cls._toggle_single_cb, imgsel_tv, 2)
col2.pack_start(cell2, True)
col2.set_attributes(cell2, active=2)
col2.set_max_width(col2_width)
col2.set_min_width(col2_width)
imgsel_tv.append_column(col2)
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
scroll.set_shadow_type(gtk.SHADOW_IN)
scroll.add(imgsel_tv)
vbox.pack_start(scroll, expand=True, fill=True)
return vbox, imgsel_tv
@classmethod
def _on_add_item_clicked(cls, button, model):
new_item = ["##KEY##", "##VALUE##"]
iter = model.append()
model.set (iter,
0, new_item[0],
1, new_item[1],
)
@classmethod
def _on_remove_item_clicked(cls, button, treeview):
selection = treeview.get_selection()
model, iter = selection.get_selected()
if iter:
path = model.get_path(iter)[0]
model.remove(iter)
@classmethod
def _on_cell_edited(cls, cell, path_string, new_text, model):
it = model.get_iter_from_string(path_string)
column = cell.get_data("column")
model.set(it, column, new_text)
@classmethod
def gen_editable_settings(cls, setting, tooltip=""):
setting_hbox = gtk.HBox(False, 10)
vbox = gtk.VBox(False, 10)
setting_hbox.pack_start(vbox, expand=True, fill=True)
setting_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
for key in setting.keys():
setting_store.set(setting_store.append(), 0, key, 1, setting[key])
setting_tree = gtk.TreeView(setting_store)
setting_tree.set_headers_visible(True)
setting_tree.set_size_request(300, 100)
col = gtk.TreeViewColumn('Key')
col.set_min_width(100)
col.set_max_width(150)
col.set_resizable(True)
col1 = gtk.TreeViewColumn('Value')
col1.set_min_width(100)
col1.set_max_width(150)
col1.set_resizable(True)
setting_tree.append_column(col)
setting_tree.append_column(col1)
cell = gtk.CellRendererText()
cell.set_property('width-chars', 10)
cell.set_property('editable', True)
cell.set_data("column", 0)
cell.connect("edited", cls._on_cell_edited, setting_store)
cell1 = gtk.CellRendererText()
cell1.set_property('width-chars', 10)
cell1.set_property('editable', True)
cell1.set_data("column", 1)
cell1.connect("edited", cls._on_cell_edited, setting_store)
col.pack_start(cell, True)
col1.pack_end(cell1, True)
col.set_attributes(cell, text=0)
col1.set_attributes(cell1, text=1)
scroll = gtk.ScrolledWindow()
scroll.set_shadow_type(gtk.SHADOW_IN)
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scroll.add(setting_tree)
vbox.pack_start(scroll, expand=True, fill=True)
# some buttons
hbox = gtk.HBox(True, 4)
vbox.pack_start(hbox, False, False)
button = gtk.Button(stock=gtk.STOCK_ADD)
button.connect("clicked", cls._on_add_item_clicked, setting_store)
hbox.pack_start(button)
button = gtk.Button(stock=gtk.STOCK_REMOVE)
button.connect("clicked", cls._on_remove_item_clicked, setting_tree)
hbox.pack_start(button)
image = gtk.Image()
image.set_from_stock(gtk.STOCK_INFO, gtk.ICON_SIZE_BUTTON)
image.set_tooltip_text(tooltip)
setting_hbox.pack_start(image, expand=False, fill=False)
return setting_hbox, setting_store
class HobViewTable (gtk.VBox):
"""
A VBox to contain the table for different recipe views and package view
"""
def __init__(self, columns, reset_clicked_cb=None, toggled_cb=None):
gtk.VBox.__init__(self, False, 6)
self.table_tree = gtk.TreeView()
self.table_tree.set_headers_visible(True)
self.table_tree.set_headers_clickable(True)
self.table_tree.set_enable_search(True)
self.table_tree.set_search_column(0)
self.table_tree.get_selection().set_mode(gtk.SELECTION_SINGLE)
for i in range(len(columns)):
col = gtk.TreeViewColumn(columns[i]['col_name'])
col.set_clickable(True)
col.set_resizable(True)
col.set_sort_column_id(columns[i]['col_id'])
col.set_min_width(columns[i]['col_min'])
col.set_max_width(columns[i]['col_max'])
self.table_tree.append_column(col)
if columns[i]['col_style'] == 'toggle':
cell = gtk.CellRendererToggle()
cell.set_property('activatable', True)
cell.connect("toggled", toggled_cb, self.table_tree)
col.pack_end(cell, True)
col.set_attributes(cell, active=columns[i]['col_id'])
elif columns[i]['col_style'] == 'text':
cell = gtk.CellRendererText()
col.pack_start(cell, True)
col.set_attributes(cell, text=columns[i]['col_id'])
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
scroll.set_shadow_type(gtk.SHADOW_IN)
scroll.add(self.table_tree)
self.pack_start(scroll, True, True, 0)
hbox = gtk.HBox(False, 5)
button = gtk.Button("Reset")
button.connect('clicked', reset_clicked_cb)
hbox.pack_end(button, False, False, 0)
self.pack_start(hbox, False, False, 0)
class HobViewBar (gtk.EventBox):
"""
A EventBox with the specified gray background color is associated with a notebook.
And the toolbar to simulate the tabs.
"""
def __init__(self, notebook):
if not notebook:
return
self.notebook = notebook
# setup an event box
gtk.EventBox.__init__(self)
self.set_border_width(2)
style = self.get_style().copy()
style.bg[gtk.STATE_NORMAL] = self.get_colormap().alloc_color (HobColors.GRAY, False, False)
self.set_style(style)
hbox = gtk.HBox()
self.add(hbox)
# setup a tool bar in the event box
self.toolbar = gtk.Toolbar()
self.toolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
self.toolbar.set_style(gtk.TOOLBAR_TEXT)
self.toolbar.set_border_width(5)
self.toolbuttons = []
for index in range(self.notebook.get_n_pages()):
child = self.notebook.get_nth_page(index)
label = self.notebook.get_tab_label_text(child)
tip_text = 'switch to ' + label + ' page'
toolbutton = self.toolbar.append_element(gtk.TOOLBAR_CHILD_RADIOBUTTON, None,
label, tip_text, "Private text", None,
self.toolbutton_cb, index)
toolbutton.set_size_request(200, 100)
self.toolbuttons.append(toolbutton)
# set the default current page
self.modify_toolbuttons_bg(0)
self.notebook.set_current_page(0)
self.toolbar.append_space()
# add the tool bar into the event box
hbox.pack_start(self.toolbar, expand=False, fill=False)
self.search = gtk.Entry()
self.align = gtk.Alignment(xalign=0.5, yalign=0.5)
self.align.add(self.search)
hbox.pack_end(self.align, expand=False, fill=False)
self.label = gtk.Label(" Search: ")
self.label.set_alignment(0.5, 0.5)
hbox.pack_end(self.label, expand=False, fill=False)
def toolbutton_cb(self, widget, index):
if index >= self.notebook.get_n_pages():
return
self.notebook.set_current_page(index)
self.modify_toolbuttons_bg(index)
def modify_toolbuttons_bg(self, index):
if index >= len(self.toolbuttons):
return
for i in range(0, len(self.toolbuttons)):
toolbutton = self.toolbuttons[i]
if i == index:
self.modify_toolbutton_bg(toolbutton, True)
else:
self.modify_toolbutton_bg(toolbutton)
def modify_toolbutton_bg(self, toolbutton, active=False):
if active:
toolbutton.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.WHITE))
toolbutton.modify_bg(gtk.STATE_ACTIVE, gtk.gdk.Color(HobColors.WHITE))
toolbutton.modify_bg(gtk.STATE_SELECTED, gtk.gdk.Color(HobColors.WHITE))
toolbutton.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(HobColors.WHITE))
else:
toolbutton.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.GRAY))
toolbutton.modify_bg(gtk.STATE_ACTIVE, gtk.gdk.Color(HobColors.GRAY))
toolbutton.modify_bg(gtk.STATE_SELECTED, gtk.gdk.Color(HobColors.GRAY))
toolbutton.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(HobColors.GRAY))
class HobXpmLabelButtonBox(gtk.EventBox):
""" label: name of buttonbox
description: the simple description
"""
def __init__(self, display_file="", hover_file="", label="", description=""):
gtk.EventBox.__init__(self)
self._base_state_flags = gtk.STATE_NORMAL
self.set_events(gtk.gdk.MOTION_NOTIFY | gtk.gdk.BUTTON_PRESS | gtk.gdk.EXPOSE)
self.connect("expose-event", self.cb)
self.connect("enter-notify-event", self.pointer_enter_cb)
self.connect("leave-notify-event", self.pointer_leave_cb)
self.icon_hover = gtk.Image()
self.icon_hover.set_name("icon_image")
if type(hover_file) == str:
pixbuf = gtk.gdk.pixbuf_new_from_file(hover_file)
self.icon_hover.set_from_pixbuf(pixbuf)
self.icon_display = gtk.Image()
self.icon_display.set_name("icon_image")
if type(display_file) == str:
pixbuf = gtk.gdk.pixbuf_new_from_file(display_file)
self.icon_display.set_from_pixbuf(pixbuf)
self.tb = gtk.Table(2, 10, True)
self.tb.set_row_spacing(1, False)
self.tb.set_col_spacing(1, False)
self.add(self.tb)
self.tb.attach(self.icon_display, 0, 2, 0, 2, 0, 0)
self.tb.attach(self.icon_hover, 0, 2, 0, 2, 0, 0)
lbl = gtk.Label()
lbl.set_alignment(0.0, 0.5)
lbl.set_markup("<span foreground=\'#1C1C1C\' font_desc=\'18px\'>%s</span>" % label)
self.tb.attach(lbl, 2, 10, 0, 1)
lbl = gtk.Label()
lbl.set_alignment(0.0, 0.5)
lbl.set_markup("<span foreground=\'#1C1C1C\' font_desc=\'14px\'>%s</span>" % description)
self.tb.attach(lbl, 2, 10, 1, 2)
def pointer_enter_cb(self, *args):
#if not self.is_focus():
self.set_state(gtk.STATE_PRELIGHT)
self._base_state_flags = gtk.STATE_PRELIGHT
self.icon_hover.show()
self.icon_display.hide()
def pointer_leave_cb(self, *args):
self.set_state(gtk.STATE_NORMAL)
self._base_state_flags = gtk.STATE_NORMAL
self.icon_display.show()
self.icon_hover.hide()
def cb(self, w,e):
""" Hide items - first time """
pass

View File

@@ -0,0 +1,358 @@
#!/usr/bin/env python
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2012 Intel Corporation
#
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import glib
from bb.ui.crumbs.progressbar import HobProgressBar
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import hic, HobXpmLabelButtonBox
from bb.ui.crumbs.hoblistmodel import RecipeListModel
from bb.ui.crumbs.hobpages import HobPage
from bb.ui.crumbs.hig import CrumbsDialog, BinbDialog, \
AdvancedSettingDialog, LayerSelectionDialog
#
# ImageConfigurationPage
#
class ImageConfigurationPage (HobPage):
__dummy_machine__ = "--select a machine--"
def __init__(self, builder):
super(ImageConfigurationPage, self).__init__(builder, "Image configuration")
self.image_combo_id = None
self.create_visual_elements()
def create_visual_elements(self):
# create visual elements
self.toolbar = gtk.Toolbar()
self.toolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
self.toolbar.set_style(gtk.TOOLBAR_BOTH)
_, template_button = self.append_toolbar_button(self.toolbar,
"Template",
hic.ICON_TEMPLATES_DISPLAY_FILE,
hic.ICON_TEMPLATES_HOVER_FILE,
"Load a hob building template saved before",
self.template_button_clicked_cb)
_, my_images_button = self.append_toolbar_button(self.toolbar,
"My images",
hic.ICON_IMAGES_DISPLAY_FILE,
hic.ICON_IMAGES_HOVER_FILE,
"Open images built out previously for running or deployment",
self.my_images_button_clicked_cb)
_, settings_button = self.append_toolbar_button(self.toolbar,
"Settings",
hic.ICON_SETTINGS_DISPLAY_FILE,
hic.ICON_SETTINGS_HOVER_FILE,
"Other advanced settings for build",
self.settings_button_clicked_cb)
self.config_top_button = self.add_onto_top_bar(self.toolbar)
self.gtable = gtk.Table(40, 40, True)
self.create_config_machine()
self.create_config_baseimg()
self.config_build_button = self.create_config_build_button()
def _remove_all_widget(self):
children = self.gtable.get_children() or []
for child in children:
self.gtable.remove(child)
children = self.box_group_area.get_children() or []
for child in children:
self.box_group_area.remove(child)
children = self.get_children() or []
for child in children:
self.remove(child)
def _pack_components(self):
self._remove_all_widget()
self.pack_start(self.config_top_button, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
self.box_group_area.pack_start(self.gtable, expand=True, fill=True)
self.box_group_area.pack_end(self.config_build_button, expand=False, fill=False)
def show_machine(self):
self._pack_components()
self.set_config_machine_layout()
self.show_all()
self.progress_bar.reset()
self.progress_bar.hide()
self.config_build_button.hide_all()
def update_progress_bar(self, title, fraction, status=True):
self.progress_bar.update(fraction)
self.progress_bar.set_title(title)
self.progress_bar.set_rcstyle(status)
def show_info_populating(self):
self._pack_components()
self.set_config_machine_layout()
self.show_all()
self.config_build_button.hide_all()
def show_info_populated(self):
self._pack_components()
self.set_config_machine_layout()
self.set_config_baseimg_layout()
self.show_all()
self.progress_bar.reset()
self.progress_bar.hide()
def create_config_machine(self):
self.machine_title = gtk.Label()
self.machine_title.set_alignment(0.0, 0.5)
mark = "<span %s>Select a machine</span>" % self.span_tag('24px', 'bold')
self.machine_title.set_markup(mark)
self.machine_title_desc = gtk.Label()
self.machine_title_desc.set_alignment(0, 0.5)
mark = ("<span %s>This is the profile of the target machine for which you"
" are building the image.\n</span>") % (self.span_tag(px='14px'))
self.machine_title_desc.set_markup(mark)
self.machine_combo = gtk.combo_box_new_text()
self.machine_combo.connect("changed", self.machine_combo_changed_cb)
icon_file = hic.ICON_LAYERS_DISPLAY_FILE
hover_file = hic.ICON_LAYERS_HOVER_FILE
self.layer_button = HobXpmLabelButtonBox(icon_file, hover_file,
"Layers", "Add support for machines, software, etc")
self.layer_button.connect("button-release-event", self.layer_button_clicked_cb)
icon_file = hic.ICON_INFO_DISPLAY_FILE
self.layer_info_icon = gtk.Image()
pix_buffer = gtk.gdk.pixbuf_new_from_file(icon_file)
self.layer_info_icon.set_from_pixbuf(pix_buffer)
markup = "Layers are a powerful mechanism to extend the Yocto Project "
markup += "with your own functionality.\n"
markup += "For more on layers, check:\n"
markup += "http://www.yoctoproject.org/docs/current/poky-ref-manual/"
markup += "poky-ref-manual.html#usingpoky-changes-layers."
self.layer_info_icon.set_tooltip_markup(markup)
self.progress_bar = HobProgressBar()
self.machine_separator = gtk.HSeparator()
def set_config_machine_layout(self):
self.gtable.attach(self.machine_title, 0, 40, 0, 4)
self.gtable.attach(self.machine_title_desc, 0, 40, 4, 6)
self.gtable.attach(self.machine_combo, 0, 12, 6, 9)
self.gtable.attach(self.layer_button, 12, 36, 6, 10)
self.gtable.attach(self.layer_info_icon, 36, 40, 6, 9)
self.gtable.attach(self.progress_bar, 0, 40, 13, 17)
self.gtable.attach(self.machine_separator, 0, 40, 12, 13)
def create_config_baseimg(self):
self.image_title = gtk.Label()
self.image_title.set_alignment(0, 1.0)
mark = "<span %s>Select a base image</span>" % self.span_tag('24px', 'bold')
self.image_title.set_markup(mark)
self.image_title_desc = gtk.Label()
self.image_title_desc.set_alignment(0, 0.5)
mark = ("<span %s>Base images are a starting point for the type of image you want. "
"You can build them as \n"
"they are or customize them to your specific needs.\n</span>") % self.span_tag('14px')
self.image_title_desc.set_markup(mark)
self.image_combo = gtk.combo_box_new_text()
self.image_combo_id = self.image_combo.connect("changed", self.image_combo_changed_cb)
self.image_desc = gtk.Label()
self.image_desc.set_alignment(0, 0)
self.image_desc.set_line_wrap(True)
# button to view recipes
icon_file = hic.ICON_RCIPE_DISPLAY_FILE
hover_file = hic.ICON_RCIPE_HOVER_FILE
self.view_recipes_button = HobXpmLabelButtonBox(icon_file, hover_file,
"View Recipes", "Add/remove recipes and collections")
self.view_recipes_button.connect("button-release-event", self.view_recipes_button_clicked_cb)
# button to view packages
icon_file = hic.ICON_PACKAGES_DISPLAY_FILE
hover_file = hic.ICON_PACKAGES_HOVER_FILE
self.view_packages_button = HobXpmLabelButtonBox(icon_file, hover_file,
"View Packages", "Add/remove packages")
self.view_packages_button.connect("button-release-event", self.view_packages_button_clicked_cb)
self.image_separator = gtk.HSeparator()
def set_config_baseimg_layout(self):
self.gtable.attach(self.image_title, 0, 40, 13, 17)
self.gtable.attach(self.image_title_desc, 0, 40, 17, 22)
self.gtable.attach(self.image_combo, 0, 12, 22, 25)
self.gtable.attach(self.image_desc, 14, 38, 22, 27)
self.gtable.attach(self.view_recipes_button, 0, 20, 28, 32)
self.gtable.attach(self.view_packages_button, 20, 40, 28, 32)
self.gtable.attach(self.image_separator, 0, 40, 35, 36)
def create_config_build_button(self):
# Create the "Build packages" and "Just bake" buttons at the bottom
button_box = gtk.HBox(False, 5)
# create button "Just bake"
just_bake_button = gtk.Button()
label = gtk.Label()
mark = "<span %s>Just bake</span>" % self.span_tag('24px', 'bold')
label.set_markup(mark)
just_bake_button.set_image(label)
just_bake_button.set_size_request(205, 49)
just_bake_button.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.ORANGE))
just_bake_button.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(HobColors.ORANGE))
just_bake_button.modify_bg(gtk.STATE_SELECTED, gtk.gdk.Color(HobColors.ORANGE))
just_bake_button.set_tooltip_text("Build image to get your target image")
just_bake_button.set_flags(gtk.CAN_DEFAULT)
just_bake_button.grab_default()
just_bake_button.connect("clicked", self.just_bake_button_clicked_cb)
button_box.pack_end(just_bake_button, expand=False, fill=False)
label = gtk.Label(" or ")
button_box.pack_end(label, expand=False, fill=False)
# create button "Build Packages"
build_packages_button = gtk.LinkButton("Build packages first based on recipe selection "
"for late customization on packages for the target image", "Build Packages")
build_packages_button.connect("clicked", self.build_packages_button_clicked_cb)
button_box.pack_end(build_packages_button, expand=False, fill=False)
return button_box
def machine_combo_changed_cb(self, machine_combo):
combo_item = machine_combo.get_active_text()
if not combo_item or combo_item == self.__dummy_machine__:
self.builder.switch_page(self.builder.MACHINE_SELECTION)
else:
self.builder.configuration.curr_mach = combo_item
# Do reparse recipes
self.builder.switch_page(self.builder.RCPPKGINFO_POPULATING)
def update_machine_combo(self):
all_machines = [self.__dummy_machine__] + self.builder.parameters.all_machines
model = self.machine_combo.get_model()
model.clear()
for machine in all_machines:
self.machine_combo.append_text(machine)
self.machine_combo.set_active(0)
def switch_machine_combo(self):
model = self.machine_combo.get_model()
active = 0
while active < len(model):
if model[active][0] == self.builder.configuration.curr_mach:
self.machine_combo.set_active(active)
return
active += 1
self.machine_combo.set_active(0)
def image_combo_changed_idle_cb(self, selected_image, selected_recipes, selected_packages):
self.builder.update_recipe_model(selected_image, selected_recipes)
self.builder.update_package_model(selected_packages)
self.builder.window_sensitive(True)
def image_combo_changed_cb(self, combo):
self.builder.window_sensitive(False)
selected_image = self.image_combo.get_active_text()
if not selected_image:
return
selected_recipes = []
image_path = self.builder.recipe_model.pn_path[selected_image]
image_iter = self.builder.recipe_model.get_iter(image_path)
selected_packages = self.builder.recipe_model.get_value(image_iter, self.builder.recipe_model.COL_INSTALL).split()
mark = ("<span %s>%s</span>\n") % (self.span_tag('14px'), self.builder.recipe_model.get_value(image_iter, self.builder.recipe_model.COL_DESC))
self.image_desc.set_markup(mark)
self.builder.recipe_model.reset()
self.builder.package_model.reset()
glib.idle_add(self.image_combo_changed_idle_cb, selected_image, selected_recipes, selected_packages)
def _image_combo_connect_signal(self):
if not self.image_combo_id:
self.image_combo_id = self.image_combo.connect("changed", self.image_combo_changed_cb)
def _image_combo_disconnect_signal(self):
if self.image_combo_id:
self.image_combo.disconnect(self.image_combo_id)
self.image_combo_id = None
def update_image_combo(self, recipe_model, selected_image):
# Update the image combo according to the images in the recipe_model
# populate image combo
filter = {RecipeListModel.COL_TYPE : ['image']}
image_model = recipe_model.tree_model(filter)
active = 0
cnt = 0
it = image_model.get_iter_first()
self._image_combo_disconnect_signal()
model = self.image_combo.get_model()
model.clear()
# append and set active
while it:
path = image_model.get_path(it)
image_name = image_model[path][recipe_model.COL_NAME]
self.image_combo.append_text(image_name)
if image_name == selected_image:
active = cnt
it = image_model.iter_next(it)
cnt = cnt + 1
self._image_combo_connect_signal()
self.image_combo.set_active(-1)
self.image_combo.set_active(active)
def layer_button_clicked_cb(self, event, data):
# Create a layer selection dialog
self.builder.show_layer_selection_dialog()
def view_recipes_button_clicked_cb(self, event, data):
self.builder.show_recipes()
def view_packages_button_clicked_cb(self, event, data):
self.builder.show_packages()
def just_bake_button_clicked_cb(self, button):
self.builder.just_bake()
def build_packages_button_clicked_cb(self, button):
self.builder.build_packages()
def template_button_clicked_cb(self, button):
self.builder.show_load_template_dialog()
def my_images_button_clicked_cb(self, button):
self.builder.show_load_my_images_dialog()
def settings_button_clicked_cb(self, button):
# Create an advanced settings dialog
self.builder.show_adv_settings_dialog()

View File

@@ -0,0 +1,294 @@
#!/usr/bin/env python
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2012 Intel Corporation
#
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gobject
import gtk
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import hic, HobWidget
from bb.ui.crumbs.hobpages import HobPage
#
# ImageDetailsPage
#
class ImageDetailsPage (HobPage):
class DetailBox (gtk.EventBox):
def __init__(self, varlist, vallist, icon = None, button = None, color = HobColors.LIGHT_GRAY):
gtk.EventBox.__init__(self)
# set color
style = self.get_style().copy()
style.bg[gtk.STATE_NORMAL] = self.get_colormap().alloc_color(color, False, False)
self.set_style(style)
self.hbox = gtk.HBox()
self.hbox.set_border_width(15)
self.add(self.hbox)
# pack the icon and the text on the left
row = len(varlist)
self.table = gtk.Table(row, 20, True)
self.table.set_size_request(100, -1)
self.hbox.pack_start(self.table, expand=True, fill=True, padding=15)
colid = 0
if icon != None:
self.table.attach(icon, colid, colid + 2, 0, 1)
colid = colid + 2
for line in range(0, row):
self.table.attach(self.text2label(varlist[line], vallist[line]), colid, 20, line, line + 1)
# pack the button on the right
if button != None:
self.hbox.pack_end(button, expand=False, fill=False)
def text2label(self, variable, value):
# append the name:value to the left box
# such as "Name: hob-core-minimal-variant-2011-12-15-beagleboard"
markup = "<span weight=\'bold\'>%s</span>" % variable
markup += "<span weight=\'normal\' foreground=\'#1c1c1c\' font_desc=\'14px\'>%s</span>" % value
label = gtk.Label()
label.set_alignment(0.0, 0.5)
label.set_markup(markup)
return label
def __init__(self, builder):
super(ImageDetailsPage, self).__init__(builder, "Image details")
self.image_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_BOOLEAN)
self.create_visual_elements()
def create_visual_elements(self):
# create visual elements
# create the toolbar
self.toolbar = gtk.Toolbar()
self.toolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
self.toolbar.set_style(gtk.TOOLBAR_BOTH)
_, my_images_button = self.append_toolbar_button(self.toolbar,
"My images",
hic.ICON_IMAGES_DISPLAY_FILE,
hic.ICON_IMAGES_HOVER_FILE,
"Open images built out previously for running or deployment",
self.my_images_button_clicked_cb)
self.details_top_buttons = self.add_onto_top_bar(self.toolbar)
def _remove_all_widget(self):
children = self.get_children() or []
for child in children:
self.remove(child)
children = self.box_group_area.get_children() or []
for child in children:
self.box_group_area.remove(child)
def _size_to_string(self, size):
if len(str(int(size))) > 6:
size_str = '%.1f' % (size*1.0/(1024*1024)) + ' MB'
elif len(str(int(size))) > 3:
size_str = '%.1f' % (size*1.0/1024) + ' KB'
else:
size_str = str(size) + ' B'
return size_str
def show_page(self, step):
build_succeeded = (step == self.builder.IMAGE_GENERATED)
image_addr = self.builder.parameters.image_addr
image_names = self.builder.parameters.image_names
if build_succeeded:
image_addr = self.builder.parameters.image_addr
image_names = self.builder.parameters.image_names
machine = self.builder.configuration.curr_mach
base_image = self.builder.recipe_model.get_selected_image()
layers = self.builder.configuration.layers
pkg_num = "%s" % len(self.builder.package_model.get_selected_packages())
else:
pkg_num = "N/A"
self._remove_all_widget()
self.pack_start(self.details_top_buttons, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
if build_succeeded:
# building is the previous step
icon = gtk.Image()
pixmap_path = hic.ICON_INDI_CONFIRM_FILE
color = HobColors.RUNNING
pix_buffer = gtk.gdk.pixbuf_new_from_file(pixmap_path)
icon.set_from_pixbuf(pix_buffer)
varlist = [""]
vallist = ["Your image is ready"]
build_result = self.DetailBox(varlist=varlist, vallist=vallist, icon=icon, button=None, color=color)
self.box_group_area.pack_start(build_result, expand=False, fill=False)
# Name
self.image_store.clear()
for image_name in image_names:
image_size = self._size_to_string(os.stat(os.path.join(image_addr, image_name)).st_size)
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, False)
images_widget, treeview = HobWidget.gen_images_widget(600, 200, 100)
treeview.set_model(self.image_store)
self.box_group_area.pack_start(images_widget, expand=False, fill=False)
# Machine, Base image and Layers
layer_num_limit = 15
varlist = ["Machine: ", "Base image: ", "Layers: "]
vallist = []
if build_succeeded:
vallist.append(machine)
vallist.append(base_image)
i = 0
for layer in layers:
varlist.append(" - ")
if i > layer_num_limit:
break
i += 1
vallist.append("")
i = 0
for layer in layers:
if i > layer_num_limit:
break
elif i == layer_num_limit:
vallist.append("and more...")
else:
vallist.append(layer)
i += 1
edit_config_button = gtk.LinkButton("Changes settings for build", "Edit configuration")
edit_config_button.connect("clicked", self.edit_config_button_clicked_cb)
setting_detail = self.DetailBox(varlist=varlist, vallist=vallist, icon=None, button=edit_config_button)
self.box_group_area.pack_start(setting_detail, expand=False, fill=False)
# Packages included, and Total image size
varlist = ["Packages included: ", "Total image size: "]
vallist = []
vallist.append(pkg_num)
vallist.append(image_size)
if build_succeeded:
edit_packages_button = gtk.LinkButton("Change package selection for customization", "Edit packages")
edit_packages_button.connect("clicked", self.edit_packages_button_clicked_cb)
else: # get to this page from "My images"
edit_packages_button = None
package_detail = self.DetailBox(varlist=varlist, vallist=vallist, icon=None, button=edit_packages_button)
self.box_group_area.pack_start(package_detail, expand=False, fill=False)
if build_succeeded:
buttonlist = ["Build new image", "Save as template", "Run image", "Deploy image"]
else: # get to this page from "My images"
buttonlist = ["Build new image", "Run image", "Deploy image"]
details_bottom_buttons = self.create_bottom_buttons(buttonlist)
self.box_group_area.pack_end(details_bottom_buttons, expand=False, fill=False)
self.show_all()
def create_bottom_buttons(self, buttonlist):
# Create the buttons at the bottom
bottom_buttons = gtk.HBox(False, 5)
created = False
# create button "Deploy image"
name = "Deploy image"
if name in buttonlist:
deploy_button = gtk.Button()
label = gtk.Label()
mark = "<span %s>Deploy image</span>" % self.span_tag('24px', 'bold')
label.set_markup(mark)
deploy_button.set_image(label)
deploy_button.set_size_request(205, 49)
deploy_button.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.ORANGE))
deploy_button.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(HobColors.ORANGE))
deploy_button.modify_bg(gtk.STATE_SELECTED, gtk.gdk.Color(HobColors.ORANGE))
deploy_button.set_tooltip_text("Deploy image to get your target board")
deploy_button.set_flags(gtk.CAN_DEFAULT)
deploy_button.grab_default()
deploy_button.connect("clicked", self.deploy_button_clicked_cb)
bottom_buttons.pack_end(deploy_button, expand=False, fill=False)
created = True
name = "Run image"
if name in buttonlist:
if created == True:
# separator
label = gtk.Label(" or ")
bottom_buttons.pack_end(label, expand=False, fill=False)
# create button "Run image"
run_button = gtk.LinkButton("Launch and boot the image in the QEMU emulator", "Run image")
run_button.connect("clicked", self.run_button_clicked_cb)
bottom_buttons.pack_end(run_button, expand=False, fill=False)
created = True
name = "Save as template"
if name in buttonlist:
if created == True:
# separator
label = gtk.Label(" or ")
bottom_buttons.pack_end(label, expand=False, fill=False)
# create button "Save as template"
save_button = gtk.LinkButton("Save the hob build template for future use", "Save as template")
save_button.connect("clicked", self.save_button_clicked_cb)
bottom_buttons.pack_end(save_button, expand=False, fill=False)
create = True
name = "Build new image"
if name in buttonlist:
# create button "Build new image"
build_new_button = gtk.LinkButton("Initiate another new build from the beginning", "Build new image")
build_new_button.connect("clicked", self.build_new_button_clicked_cb)
bottom_buttons.pack_start(build_new_button, expand=False, fill=False)
return bottom_buttons
def _get_selected_image(self):
image_name = ""
iter = self.image_store.get_iter_first()
while iter:
path = self.image_store.get_path(iter)
if self.image_store[path][2]:
image_name = self.image_store[path][0]
break
iter = self.image_store.iter_next(iter)
return image_name
def save_button_clicked_cb(self, button):
self.builder.show_save_template_dialog()
def deploy_button_clicked_cb(self, button):
image_name = self._get_selected_image()
self.builder.deploy_image(image_name)
def run_button_clicked_cb(self, button):
image_name = self._get_selected_image()
self.builder.runqemu_image(image_name)
def build_new_button_clicked_cb(self, button):
self.builder.initiate_new_build()
def edit_config_button_clicked_cb(self, button):
self.builder.show_configuration()
def edit_packages_button_clicked_cb(self, button):
self.builder.show_packages(ask=False)
def my_images_button_clicked_cb(self, button):
self.builder.show_load_my_images_dialog()

View File

@@ -1,153 +0,0 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2011 Intel Corporation
#
# Authored by Joshua Lock <josh@linux.intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gobject
import gtk
from bb.ui.crumbs.configurator import Configurator
from bb.ui.crumbs.hig import CrumbsDialog
class LayerEditor(gtk.Dialog):
"""
Gtk+ Widget for enabling and disabling layers.
Layers are added through using an open dialog to find the layer.conf
Disabled layers are deleted from conf/bblayers.conf
"""
def __init__(self, configurator, parent=None):
gtk.Dialog.__init__(self, "Layers", None,
gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CLOSE, gtk.RESPONSE_OK))
# We want to show a little more of the treeview in the default,
# emptier, case
self.set_size_request(-1, 300)
self.set_border_width(6)
self.vbox.set_property("spacing", 0)
self.action_area.set_property("border-width", 6)
self.configurator = configurator
self.newly_added = {}
# Label to inform users that meta is enabled but that you can't
# disable it as it'd be a *bad* idea
msg = "As the core of the build system the <i>meta</i> layer must always be included and therefore can't be viewed or edited here."
lbl = gtk.Label()
lbl.show()
lbl.set_use_markup(True)
lbl.set_markup(msg)
lbl.set_line_wrap(True)
lbl.set_justify(gtk.JUSTIFY_FILL)
self.vbox.pack_start(lbl, expand=False, fill=False, padding=6)
# Create a treeview in which to list layers
# ListStore of Name, Path, Enabled
self.layer_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_BOOLEAN)
self.tv = gtk.TreeView(self.layer_store)
self.tv.set_headers_visible(True)
col0 = gtk.TreeViewColumn('Name')
self.tv.append_column(col0)
col1 = gtk.TreeViewColumn('Path')
self.tv.append_column(col1)
col2 = gtk.TreeViewColumn('Enabled')
self.tv.append_column(col2)
cell0 = gtk.CellRendererText()
col0.pack_start(cell0, True)
col0.set_attributes(cell0, text=0)
cell1 = gtk.CellRendererText()
col1.pack_start(cell1, True)
col1.set_attributes(cell1, text=1)
cell2 = gtk.CellRendererToggle()
cell2.connect("toggled", self._toggle_layer_cb)
col2.pack_start(cell2, True)
col2.set_attributes(cell2, active=2)
self.tv.show()
self.vbox.pack_start(self.tv, expand=True, fill=True, padding=0)
tb = gtk.Toolbar()
tb.set_icon_size(gtk.ICON_SIZE_SMALL_TOOLBAR)
tb.set_style(gtk.TOOLBAR_BOTH)
tb.set_tooltips(True)
tb.show()
icon = gtk.Image()
icon.set_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_SMALL_TOOLBAR)
icon.show()
tb.insert_item("Add Layer", "Add new layer", None, icon,
self._find_layer_cb, None, -1)
self.vbox.pack_start(tb, expand=False, fill=False, padding=0)
def set_parent_window(self, parent):
self.set_transient_for(parent)
def load_current_layers(self, data):
for layer, path in self.configurator.enabled_layers.items():
if layer != 'meta':
self.layer_store.append([layer, path, True])
def save_current_layers(self):
self.configurator.writeLayerConf()
def _toggle_layer_cb(self, cell, path):
name = self.layer_store[path][0]
toggle = not self.layer_store[path][2]
if toggle:
self.configurator.addLayer(name, path)
else:
self.configurator.disableLayer(name)
self.layer_store[path][2] = toggle
def _find_layer_cb(self, button):
self.find_layer(self)
def find_layer(self, parent):
def conf_error(parent, lbl):
dialog = CrumbsDialog(parent, lbl)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
response = dialog.run()
dialog.destroy()
dialog = gtk.FileChooserDialog("Add new layer", parent,
gtk.FILE_CHOOSER_ACTION_OPEN,
(gtk.STOCK_CANCEL, gtk.RESPONSE_NO,
gtk.STOCK_OPEN, gtk.RESPONSE_YES))
label = gtk.Label("Select the layer.conf of the layer you wish to add")
label.show()
dialog.set_extra_widget(label)
response = dialog.run()
path = dialog.get_filename()
dialog.destroy()
lbl = "<b>Error</b>\nUnable to load layer <i>%s</i> because " % path
if response == gtk.RESPONSE_YES:
# FIXME: verify we've actually got a layer conf?
if path.endswith("layer.conf"):
name, layerpath = self.configurator.addLayerConf(path)
if name and layerpath:
self.newly_added[name] = layerpath
self.layer_store.append([name, layerpath, True])
return
elif name:
return
else:
lbl += "there was a problem parsing the layer.conf."
else:
lbl += "it is not a layer.conf file."
conf_error(parent, lbl)

View File

@@ -0,0 +1,226 @@
#!/usr/bin/env python
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2012 Intel Corporation
#
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import glib
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import HobViewBar, HobViewTable
from bb.ui.crumbs.hoblistmodel import PackageListModel
from bb.ui.crumbs.hobpages import HobPage
#
# PackageSelectionPage
#
class PackageSelectionPage (HobPage):
pages = [
{
'name' : 'All packages',
'filter' : {},
'columns' : [{
'col_name' : 'Name',
'col_id' : PackageListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
}, {
'col_name' : 'size',
'col_id' : PackageListModel.COL_SIZE,
'col_style': 'text',
'col_min' : 100,
'col_max' : 500
}, {
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_style': 'toggle',
'col_min' : 50,
'col_max' : 50
}]
}, {
'name' : 'Included',
'filter' : { PackageListModel.COL_INC : [True] },
'columns' : [{
'col_name' : 'Name',
'col_id' : PackageListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 300
}, {
'col_name' : 'Brought by',
'col_id' : PackageListModel.COL_BINB,
'col_style': 'text',
'col_min' : 100,
'col_max' : 350
}, {
'col_name' : 'size',
'col_id' : PackageListModel.COL_SIZE,
'col_style': 'text',
'col_min' : 100,
'col_max' : 300
}, {
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_style': 'toggle',
'col_min' : 50,
'col_max' : 50
}]
}
]
def __init__(self, builder):
super(PackageSelectionPage, self).__init__(builder, "Package Selection")
# set invisiable members
self.package_model = self.builder.package_model
# create visual elements
self.create_visual_elements()
def create_visual_elements(self):
self.label = gtk.Label("Packages included: 0\nSelected packages size: 0 MB")
self.eventbox = self.add_onto_top_bar(self.label, 73)
self.pack_start(self.eventbox, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
# set visiable members
self.grid = gtk.Table(10, 1, True)
self.grid.set_col_spacings(3)
self.ins = gtk.Notebook()
self.ins.set_show_tabs(False)
self.tables = [] # we need to modify table when the dialog is shown
# append the tab
for i in range(len(self.pages)):
columns = self.pages[i]['columns']
tab = HobViewTable(columns, self.reset_clicked_cb, self.table_toggled_cb)
filter = self.pages[i]['filter']
tab.table_tree.set_model(self.package_model.tree_model(filter))
label = gtk.Label(self.pages[i]['name'])
self.ins.append_page(tab, label)
self.tables.append(tab)
self.grid.attach(self.ins, 0, 1, 1, 10, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
# a black bar associated with the notebook
self.topbar = HobViewBar(self.ins)
self.grid.attach(self.topbar, 0, 1, 0, 1, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
# set the search entry for each table
for tab in self.tables:
tab.table_tree.set_search_entry(self.topbar.search)
inctab_tree_view = self.tables[len(self.pages)-1].table_tree
inctab_tree_selection = inctab_tree_view.get_selection()
inctab_tree_selection.connect("changed", self.tree_selection_cb, inctab_tree_view)
# add all into the dialog
self.box_group_area.add(self.grid)
button_box = gtk.HBox(False, 5)
self.box_group_area.pack_start(button_box, expand=False, fill=False)
self.build_image_button = gtk.Button()
label = gtk.Label()
mark = "<span %s>Build image</span>" % self.span_tag('24px', 'bold')
label.set_markup(mark)
self.build_image_button.set_image(label)
self.build_image_button.set_size_request(205, 49)
self.build_image_button.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.ORANGE))
self.build_image_button.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(HobColors.ORANGE))
self.build_image_button.modify_bg(gtk.STATE_SELECTED, gtk.gdk.Color(HobColors.ORANGE))
self.build_image_button.set_tooltip_text("Build image to get your target image")
self.build_image_button.set_flags(gtk.CAN_DEFAULT)
self.build_image_button.grab_default()
self.build_image_button.connect("clicked", self.build_image_clicked_cb)
button_box.pack_end(self.build_image_button, expand=False, fill=False)
self.back_button = gtk.LinkButton("Go back to Image Configuration screen", "<< Back to image configuration")
self.back_button.connect("clicked", self.back_button_clicked_cb)
button_box.pack_start(self.back_button, expand=False, fill=False)
def tree_selection_cb(self, tree_selection, tree_view):
tree_model = tree_view.get_model()
path, column = tree_view.get_cursor()
if not path or column == tree_view.get_column(2):
return
it = tree_model.get_iter(path)
binb = tree_model.get_value(it, PackageListModel.COL_BINB)
if binb:
self.builder.show_binb_dialog(binb)
def build_image_clicked_cb(self, button):
self.builder.build_image()
def back_button_clicked_cb(self, button):
self.builder.show_configuration()
def _expand_all(self):
for tab in self.tables:
tab.table_tree.expand_all()
def refresh_selection(self):
self._expand_all()
self.builder.configuration.selected_packages = self.package_model.get_selected_packages()
selected_packages_num = len(self.builder.configuration.selected_packages)
selected_packages_size = float(self.package_model.get_packages_size())
selected_packages_size_str = self._size_to_string(selected_packages_size)
image_overhead_factor = self.builder.configuration.image_overhead_factor
image_rootfs_size = self.builder.configuration.image_rootfs_size
image_extra_size = self.builder.configuration.image_extra_size
base_size = image_overhead_factor * selected_packages_size
image_total_size = max(base_size, image_rootfs_size) + image_extra_size
image_total_size_str = self._size_to_string(image_total_size)
self.label.set_text("Packages included: %s\nSelected packages size: %s\nTotal image size: %s" %
(selected_packages_num, selected_packages_size_str, image_total_size_str))
"""
Helper function to convert the package size to string format.
The unit of size is KB
"""
def _size_to_string(self, size):
if len(str(int(size))) > 3:
size_str = '%.1f' % (size*1.0/1024) + ' MB'
else:
size_str = str(size) + ' KB'
return size_str
# Callback functions
def reset_clicked_cb(self, button):
self.package_model.reset()
self.builder.reset_package_model()
def toggle_item_idle_cb(self, path):
if not self.package_model.path_included(path):
self.package_model.include_item(item_path=path, binb="User Selected")
else:
self.package_model.exclude_item(item_path=path)
self.builder.window_sensitive(True)
def table_toggled_cb(self, cell, view_path, view_tree):
# Click to include a package
self.builder.window_sensitive(False)
view_model = view_tree.get_model()
path = self.package_model.convert_vpath_to_path(view_model, view_path)
glib.idle_add(self.toggle_item_idle_cb, path)

View File

@@ -0,0 +1,52 @@
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2011 Intel Corporation
#
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
from bb.ui.crumbs.hobcolor import HobColors
class HobProgressBar (gtk.ProgressBar):
def __init__(self):
gtk.ProgressBar.__init__(self)
self.set_rcstyle(True)
self.percentage = 0
def set_rcstyle(self, status):
rcstyle = gtk.RcStyle()
rcstyle.fg[2] = gtk.gdk.Color(HobColors.BLACK)
if status:
rcstyle.bg[3] = gtk.gdk.Color(HobColors.RUNNING)
else:
rcstyle.bg[3] = gtk.gdk.Color(HobColors.ERROR)
self.modify_style(rcstyle)
def set_title(self, text=None):
if not text:
text = ""
text += " %.0f%%" % self.percentage
self.set_text(text)
def reset(self):
self.set_fraction(0)
self.set_text("")
self.set_rcstyle(True)
self.percentage = 0
def update(self, fraction):
self.percentage = int(fraction * 100)
self.set_fraction(fraction)

View File

@@ -0,0 +1,221 @@
#!/usr/bin/env python
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2012 Intel Corporation
#
# Authored by Dongxiao Xu <dongxiao.xu@intel.com>
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import glib
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import HobWidget, HobViewBar, HobViewTable
from bb.ui.crumbs.hoblistmodel import RecipeListModel
from bb.ui.crumbs.hobpages import HobPage
#
# RecipeSelectionPage
#
class RecipeSelectionPage (HobPage):
pages = [
{
'name' : 'Recipe',
'filter' : { RecipeListModel.COL_TYPE : ['recipe'] },
'columns' : [{
'col_name' : 'Recipe',
'col_id' : RecipeListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
}, {
'col_name' : 'License',
'col_id' : RecipeListModel.COL_LIC,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
}, {
'col_name' : 'Group',
'col_id' : RecipeListModel.COL_GROUP,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'toggle',
'col_min' : 50,
'col_max' : 50
}]
}, {
'name' : 'Recipe Collection',
'filter' : { RecipeListModel.COL_TYPE : ['task'] },
'columns' : [{
'col_name' : 'Recipe Collection',
'col_id' : RecipeListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
}, {
'col_name' : 'Description',
'col_id' : RecipeListModel.COL_DESC,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'toggle',
'col_min' : 50,
'col_max' : 50
}]
}, {
'name' : 'Included',
'filter' : { RecipeListModel.COL_INC : [True],
RecipeListModel.COL_TYPE : ['recipe', 'task'] },
'columns' : [{
'col_name' : 'Recipe',
'col_id' : RecipeListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
}, {
'col_name' : 'Brought by',
'col_id' : RecipeListModel.COL_BINB,
'col_style': 'text',
'col_min' : 100,
'col_max' : 500
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'toggle',
'col_min' : 50,
'col_max' : 50
}]
}
]
def __init__(self, builder = None):
super(RecipeSelectionPage, self).__init__(builder, "Recipe Selection")
# set invisiable members
self.recipe_model = self.builder.recipe_model
# create visual elements
self.create_visual_elements()
def create_visual_elements(self):
self.label = gtk.Label("Recipes included: %s" % len(self.builder.configuration.selected_recipes))
self.eventbox = self.add_onto_top_bar(self.label, 73)
self.pack_start(self.eventbox, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
# set visiable members
self.grid = gtk.Table(10, 1, True)
self.grid.set_col_spacings(3)
# draw the left part of the window
# a notebook
self.ins = gtk.Notebook()
self.ins.set_show_tabs(False)
self.tables = [] # we need modify table when the dialog is shown
# append the tabs in order
for i in range(len(self.pages)):
columns = self.pages[i]['columns']
tab = HobViewTable(columns, self.reset_clicked_cb, self.table_toggled_cb)
filter = self.pages[i]['filter']
tab.table_tree.set_model(self.recipe_model.tree_model(filter))
label = gtk.Label(self.pages[i]['name'])
self.ins.append_page(tab, label)
self.tables.append(tab)
self.grid.attach(self.ins, 0, 1, 1, 10, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND)
# a black bar associated with the notebook
self.topbar = HobViewBar(self.ins)
self.grid.attach(self.topbar, 0, 1, 0, 1, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND)
# set the search entry for each table
for tab in self.tables:
tab.table_tree.set_search_entry(self.topbar.search)
inctab_tree_view = self.tables[len(self.pages)-1].table_tree
inctab_tree_selection = inctab_tree_view.get_selection()
inctab_tree_selection.connect("changed", self.tree_selection_cb, inctab_tree_view)
# add all into the window
self.box_group_area.add(self.grid)
button_box = gtk.HBox(False, 5)
self.box_group_area.pack_end(button_box, expand=False, fill=False)
self.build_packages_button = gtk.Button()
label = gtk.Label()
mark = "<span %s>Build packages</span>" % self.span_tag('24px', 'bold')
label.set_markup(mark)
self.build_packages_button.set_image(label)
self.build_packages_button.set_size_request(205, 49)
self.build_packages_button.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.ORANGE))
self.build_packages_button.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(HobColors.ORANGE))
self.build_packages_button.modify_bg(gtk.STATE_SELECTED, gtk.gdk.Color(HobColors.ORANGE))
self.build_packages_button.set_tooltip_text("Build packages for customization")
self.build_packages_button.set_flags(gtk.CAN_DEFAULT)
self.build_packages_button.grab_default()
self.build_packages_button.connect("clicked", self.build_packages_clicked_cb)
button_box.pack_end(self.build_packages_button, expand=False, fill=False)
self.back_button = gtk.LinkButton("Go back to Image Configuration screen", "<< Back to image configuration")
self.back_button.connect("clicked", self.back_button_clicked_cb)
button_box.pack_start(self.back_button, expand=False, fill=False)
def tree_selection_cb(self, tree_selection, tree_view):
tree_model = tree_view.get_model()
path, column = tree_view.get_cursor()
if not path or column == tree_view.get_column(2):
return
it = tree_model.get_iter(path)
binb = tree_model.get_value(it, RecipeListModel.COL_BINB)
if binb:
self.builder.show_binb_dialog(binb)
def build_packages_clicked_cb(self, button):
self.builder.build_packages()
def back_button_clicked_cb(self, button):
self.builder.show_configuration()
def refresh_selection(self):
self.builder.configuration.selected_image = self.recipe_model.get_selected_image()
_, self.builder.configuration.selected_recipes = self.recipe_model.get_selected_recipes()
self.label.set_text("Recipes included: %s" % len(self.builder.configuration.selected_recipes))
# Callback functions
def reset_clicked_cb(self, button):
self.builder.reset_recipe_model()
def toggle_item_idle_cb(self, path):
if not self.recipe_model.path_included(path):
self.recipe_model.include_item(item_path=path, binb="User Selected", image_contents=False)
else:
self.recipe_model.exclude_item(item_path=path)
self.builder.window_sensitive(True)
def table_toggled_cb(self, cell, view_path, view_tree):
# Click to include a recipe
self.builder.window_sensitive(False)
view_model = view_tree.get_model()
path = self.recipe_model.convert_vpath_to_path(view_model, view_path)
glib.idle_add(self.toggle_item_idle_cb, path)

View File

@@ -25,12 +25,7 @@ import logging
import time
import urllib
import urllib2
class Colors(object):
OK = "#ffffff"
RUNNING = "#aaffaa"
WARNING ="#f88017"
ERROR = "#ffaaaa"
from bb.ui.crumbs.hobcolor import HobColors
class RunningBuildModel (gtk.TreeStore):
(COL_LOG, COL_PACKAGE, COL_TASK, COL_MESSAGE, COL_ICON, COL_COLOR, COL_NUM_ACTIVE) = range(7)
@@ -58,7 +53,10 @@ class RunningBuild (gobject.GObject):
()),
'build-complete' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
())
()),
'task-started' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
}
pids_to_task = {}
tasks_to_iter = {}
@@ -108,13 +106,13 @@ class RunningBuild (gobject.GObject):
if event.levelno >= logging.ERROR:
icon = "dialog-error"
color = Colors.ERROR
color = HobColors.ERROR
elif event.levelno >= logging.WARNING:
icon = "dialog-warning"
color = Colors.WARNING
color = HobColors.WARNING
else:
icon = None
color = Colors.OK
color = HobColors.OK
# if we know which package we belong to, we'll append onto its list.
# otherwise, we'll jump to the top of the master list
@@ -152,7 +150,7 @@ class RunningBuild (gobject.GObject):
None,
"Package: %s" % (package),
None,
Colors.OK,
HobColors.OK,
0))
self.tasks_to_iter[(package, None)] = parent
@@ -160,7 +158,7 @@ class RunningBuild (gobject.GObject):
# such.
# @todo if parent is already in error, don't mark it green
self.model.set(parent, self.model.COL_ICON, "gtk-execute",
self.model.COL_COLOR, Colors.RUNNING)
self.model.COL_COLOR, HobColors.RUNNING)
# Add an entry in the model for this task
i = self.model.append (parent, (None,
@@ -168,7 +166,7 @@ class RunningBuild (gobject.GObject):
task,
"Task: %s" % (task),
"gtk-execute",
Colors.RUNNING,
HobColors.RUNNING,
0))
# update the parent's active task count
@@ -190,20 +188,20 @@ class RunningBuild (gobject.GObject):
if isinstance(event, bb.build.TaskFailed):
# Mark the task and parent as failed
icon = "dialog-error"
color = Colors.ERROR
color = HobColors.ERROR
logfile = event.logfile
if logfile and os.path.exists(logfile):
with open(logfile) as f:
logdata = f.read()
self.model.append(current, ('pastebin', None, None, logdata, 'gtk-error', Colors.OK, 0))
self.model.append(current, ('pastebin', None, None, logdata, 'gtk-error', HobColors.OK, 0))
for i in (current, parent):
self.model.set(i, self.model.COL_ICON, icon,
self.model.COL_COLOR, color)
else:
icon = None
color = Colors.OK
color = HobColors.OK
# Mark the task as inactive
self.model.set(current, self.model.COL_ICON, icon,
@@ -215,7 +213,7 @@ class RunningBuild (gobject.GObject):
if self.model.get(parent, self.model.COL_ICON) != 'dialog-error':
self.model.set(parent, self.model.COL_ICON, icon)
if num_active == 0:
self.model.set(parent, self.model.COL_COLOR, Colors.OK)
self.model.set(parent, self.model.COL_COLOR, HobColors.OK)
# Clear the iters and the pids since when the task goes away the
# pid will no longer be used for messages
@@ -230,8 +228,12 @@ class RunningBuild (gobject.GObject):
None,
"Build Started (%s)" % time.strftime('%m/%d/%Y %H:%M:%S'),
None,
Colors.OK,
HobColors.OK,
0))
if pbar:
pbar.update(0, None, bb.event.getName(event))
pbar.set_title()
elif isinstance(event, bb.event.BuildCompleted):
failures = int (event._failures)
self.model.prepend(None, (None,
@@ -239,7 +241,7 @@ class RunningBuild (gobject.GObject):
None,
"Build Completed (%s)" % time.strftime('%m/%d/%Y %H:%M:%S'),
None,
Colors.OK,
HobColors.OK,
0))
# Emit the appropriate signal depending on the number of failures
@@ -250,6 +252,8 @@ class RunningBuild (gobject.GObject):
# Emit a generic "build-complete" signal for things wishing to
# handle when the build is finished
self.emit("build-complete")
if pbar:
pbar.set_text(event.msg)
elif isinstance(event, bb.command.CommandFailed):
if event.error.startswith("Exited with"):
@@ -276,6 +280,15 @@ class RunningBuild (gobject.GObject):
pbar.update(event.current, self.progress_total)
elif isinstance(event, bb.event.ParseCompleted) and pbar:
pbar.hide()
#using runqueue events as many as possible to update the progress bar
elif isinstance(event, (bb.runqueue.runQueueTaskStarted, bb.runqueue.sceneQueueTaskStarted)):
message = {}
message["eventname"] = bb.event.getName(event)
num_of_completed = event.stats.completed + event.stats.failed
message["current"] = num_of_completed
message["total"] = event.stats.total
message["title"] = ""
self.emit("task-started", message)
return

View File

@@ -1,620 +0,0 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2011 Intel Corporation
#
# Authored by Joshua Lock <josh@linux.intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import gobject
import re
class BuildRep(gobject.GObject):
def __init__(self, userpkgs, allpkgs, base_image=None):
gobject.GObject.__init__(self)
self.base_image = base_image
self.allpkgs = allpkgs
self.userpkgs = userpkgs
def loadRecipe(self, pathname):
contents = []
packages = ""
base_image = ""
with open(pathname, 'r') as f:
contents = f.readlines()
pkg_pattern = "^\s*(IMAGE_INSTALL)\s*([+=.?]+)\s*(\".*?\")"
img_pattern = "^\s*(require)\s+(\S+.bb)"
for line in contents:
matchpkg = re.search(pkg_pattern, line)
matchimg = re.search(img_pattern, line)
if matchpkg:
packages = packages + matchpkg.group(3).strip('"')
if matchimg:
base_image = os.path.basename(matchimg.group(2)).split(".")[0]
self.base_image = base_image
self.userpkgs = packages
def writeRecipe(self, writepath, model):
template = """
# Recipe generated by the HOB
require %s
IMAGE_INSTALL += "%s"
"""
empty_template = """
# Recipe generated by the HOB
inherit core-image
IMAGE_INSTALL = "%s"
"""
if self.base_image and not self.base_image == "empty":
meta_path = model.find_image_path(self.base_image)
recipe = template % (meta_path, self.userpkgs)
else:
recipe = empty_template % self.allpkgs
if os.path.exists(writepath):
os.rename(writepath, "%s~" % writepath)
with open(writepath, 'w') as r:
r.write(recipe)
return writepath
class TaskListModel(gtk.ListStore):
"""
This class defines an gtk.ListStore subclass which will convert the output
of the bb.event.TargetsTreeGenerated event into a gtk.ListStore whilst also
providing convenience functions to access gtk.TreeModel subclasses which
provide filtered views of the data.
"""
(COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_PATH, COL_PN) = range(11)
__gsignals__ = {
"tasklist-populated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"contents-changed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_INT,)),
"image-changed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,)),
}
"""
"""
def __init__(self):
self.contents = None
self.tasks = None
self.packages = None
self.images = None
self.selected_image = None
gtk.ListStore.__init__ (self,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_BOOLEAN,
gobject.TYPE_BOOLEAN,
gobject.TYPE_STRING,
gobject.TYPE_STRING)
"""
Helper method to determine whether name is a target pn
"""
def non_target_name(self, name):
if ('-native' in name) or ('-cross' in name) or name.startswith('virtual/'):
return True
return False
def contents_changed_cb(self, tree_model, path, it=None):
pkg_cnt = self.contents.iter_n_children(None)
self.emit("contents-changed", pkg_cnt)
def contents_model_filter(self, model, it):
if not model.get_value(it, self.COL_INC) or model.get_value(it, self.COL_TYPE) == 'image':
return False
name = model.get_value(it, self.COL_NAME)
if self.non_target_name(name):
return False
else:
return True
"""
Create, if required, and return a filtered gtk.TreeModel
containing only the items which are to be included in the
image
"""
def contents_model(self):
if not self.contents:
self.contents = self.filter_new()
self.contents.set_visible_func(self.contents_model_filter)
self.contents.connect("row-inserted", self.contents_changed_cb)
self.contents.connect("row-deleted", self.contents_changed_cb)
return self.contents
"""
Helper function to determine whether an item is a task
"""
def task_model_filter(self, model, it):
if model.get_value(it, self.COL_TYPE) == 'task':
return True
else:
return False
"""
Create, if required, and return a filtered gtk.TreeModel
containing only the items which are tasks
"""
def tasks_model(self):
if not self.tasks:
self.tasks = self.filter_new()
self.tasks.set_visible_func(self.task_model_filter)
return self.tasks
"""
Helper function to determine whether an item is an image
"""
def image_model_filter(self, model, it):
if model.get_value(it, self.COL_TYPE) == 'image':
return True
else:
return False
"""
Create, if required, and return a filtered gtk.TreeModel
containing only the items which are images
"""
def images_model(self):
if not self.images:
self.images = self.filter_new()
self.images.set_visible_func(self.image_model_filter)
return self.images
"""
Helper function to determine whether an item is a package
"""
def package_model_filter(self, model, it):
if model.get_value(it, self.COL_TYPE) != 'package':
return False
else:
name = model.get_value(it, self.COL_NAME)
if self.non_target_name(name):
return False
return True
"""
Create, if required, and return a filtered gtk.TreeModel
containing only the items which are packages
"""
def packages_model(self):
if not self.packages:
self.packages = self.filter_new()
self.packages.set_visible_func(self.package_model_filter)
return self.packages
"""
The populate() function takes as input the data from a
bb.event.TargetsTreeGenerated event and populates the TaskList.
Once the population is done it emits gsignal tasklist-populated
to notify any listeners that the model is ready
"""
def populate(self, event_model):
# First clear the model, in case repopulating
self.clear()
for item in event_model["pn"]:
atype = 'package'
name = item
summary = event_model["pn"][item]["summary"]
lic = event_model["pn"][item]["license"]
group = event_model["pn"][item]["section"]
filename = event_model["pn"][item]["filename"]
if ('task-' in name):
atype = 'task'
elif ('-image-' in name):
atype = 'image'
# Create a combined list of build and runtime dependencies and
# then remove any duplicate entries and any entries for -dev
# packages
depends = event_model["depends"].get(item, [])
rdepends = event_model["rdepends-pn"].get(item, [])
packages = {}
for pkg in event_model["packages"]:
if event_model["packages"][pkg]["pn"] == name:
deps = []
deps.extend(depends)
deps.extend(event_model["rdepends-pkg"].get(pkg, []))
deps.extend(rdepends)
deps = self.squish(deps)
# rdepends-pn includes pn-dev
if ("%s-dev" % item) in deps:
deps.remove("%s-dev" % item)
# rdepends-on includes pn
if pkg in deps:
deps.remove(pkg)
packages[pkg] = deps
for p in packages:
self.set(self.append(), self.COL_NAME, p, self.COL_DESC, summary,
self.COL_LIC, lic, self.COL_GROUP, group,
self.COL_DEPS, " ".join(packages[p]), self.COL_BINB, "",
self.COL_TYPE, atype, self.COL_INC, False,
self.COL_IMG, False, self.COL_PATH, filename,
self.COL_PN, item)
self.emit("tasklist-populated")
"""
Load a BuildRep into the model
"""
def load_image_rep(self, rep):
# Unset everything
it = self.get_iter_first()
while it:
path = self.get_path(it)
self[path][self.COL_INC] = False
self[path][self.COL_IMG] = False
it = self.iter_next(it)
# Iterate the images and disable them all
it = self.images.get_iter_first()
while it:
path = self.images.convert_path_to_child_path(self.images.get_path(it))
name = self[path][self.COL_NAME]
if name == rep.base_image:
self.include_item(path, image_contents=True)
else:
self[path][self.COL_INC] = False
it = self.images.iter_next(it)
# Mark all of the additional packages for inclusion
packages = rep.userpkgs.split(" ")
it = self.get_iter_first()
while it:
path = self.get_path(it)
name = self[path][self.COL_NAME]
if name in packages:
self.include_item(path, binb="User Selected")
packages.remove(name)
it = self.iter_next(it)
self.emit("image-changed", rep.base_image)
"""
squish lst so that it doesn't contain any duplicate entries
"""
def squish(self, lst):
seen = {}
for l in lst:
seen[l] = 1
return seen.keys()
"""
Mark the item at path as not included
NOTE:
path should be a gtk.TreeModelPath into self (not a filtered model)
"""
def remove_item_path(self, path):
self[path][self.COL_BINB] = ""
self[path][self.COL_INC] = False
"""
Recursively called to mark the item at opath and any package which
depends on it for removal.
NOTE: This method dumbly removes user selected packages and since we don't
do significant reverse dependency tracking it's easier and simpler to save
the items marked as user selected and re-add them once the removal sweep is
complete.
"""
def mark(self, opath):
usersel = {}
removed = []
it = self.get_iter_first()
# The name of the item we're removing, so that we can use it to find
# other items which either depend on it, or were brought in by it
marked_name = self[opath][self.COL_NAME]
# Remove the passed item
self.remove_item_path(opath)
# Remove all dependent packages, update binb
while it:
path = self.get_path(it)
it = self.iter_next(it)
inc = self[path][self.COL_INC]
deps = self[path][self.COL_DEPS]
binb = self[path][self.COL_BINB].split(', ')
itype = self[path][self.COL_TYPE]
itname = self[path][self.COL_NAME]
# We ignore anything that isn't a package
if not itype == "package":
continue
# If the user added this item and it's not the item we're removing
# we should keep it and its dependencies, the easiest way to do so
# is to save its name and re-mark it for inclusion once dependency
# processing is complete
if "User Selected" in binb:
usersel[itname] = self[path][self.COL_IMG]
# If the iterated item is included and depends on the removed
# item it should also be removed.
# FIXME: need to ensure partial name matching doesn't happen
if inc and marked_name in deps and itname not in removed:
# found a dependency, remove it
removed.append(itname)
self.mark(path)
# If the iterated item was brought in by the removed (passed) item
# try and find an alternative dependee and update the binb column
if inc and marked_name in binb:
binb.remove(marked_name)
self[path][self.COL_BINB] = ', '.join(binb).lstrip(', ')
# Re-add any removed user selected items
for u in usersel:
npath = self.find_path_for_item(u)
self.include_item(item_path=npath,
binb="User Selected",
image_contents=usersel[u])
"""
Remove items from contents if the have an empty COL_BINB (brought in by)
caused by all packages they are a dependency of being removed.
If the item isn't a package we leave it included.
"""
def sweep_up(self):
it = self.contents.get_iter_first()
while it:
binb = self.contents.get_value(it, self.COL_BINB)
itype = self.contents.get_value(it, self.COL_TYPE)
remove = False
if itype == 'package' and not binb:
oit = self.contents.convert_iter_to_child_iter(it)
opath = self.get_path(oit)
self.mark(opath)
remove = True
# When we remove a package from the contents model we alter the
# model, so continuing to iterate is bad. *Furthermore* it's
# likely that the removal has affected an already iterated item
# so we should start from the beginning anyway.
# Only when we've managed to iterate the entire contents model
# without removing any items do we allow the loop to exit.
if remove:
it = self.contents.get_iter_first()
else:
it = self.contents.iter_next(it)
"""
Check whether the item at item_path is included or not
"""
def contents_includes_path(self, item_path):
return self[item_path][self.COL_INC]
"""
Add this item, and any of its dependencies, to the image contents
"""
def include_item(self, item_path, binb="", image_contents=False):
item_name = self[item_path][self.COL_NAME]
item_deps = self[item_path][self.COL_DEPS]
self[item_path][self.COL_INC] = True
item_bin = self[item_path][self.COL_BINB].split(', ')
if binb and not binb in item_bin:
item_bin.append(binb)
self[item_path][self.COL_BINB] = ', '.join(item_bin).lstrip(', ')
# We want to do some magic with things which are brought in by the
# base image so tag them as so
if image_contents:
self[item_path][self.COL_IMG] = True
if self[item_path][self.COL_TYPE] == 'image':
self.selected_image = item_name
if item_deps:
# Ensure all of the items deps are included and, where appropriate,
# add this item to their COL_BINB
for dep in item_deps.split(" "):
# If the contents model doesn't already contain dep, add it
dep_path = self.find_path_for_item(dep)
if not dep_path:
continue
dep_included = self.contents_includes_path(dep_path)
if dep_included and not dep in item_bin:
# don't set the COL_BINB to this item if the target is an
# item in our own COL_BINB
dep_bin = self[dep_path][self.COL_BINB].split(', ')
if not item_name in dep_bin:
dep_bin.append(item_name)
self[dep_path][self.COL_BINB] = ', '.join(dep_bin).lstrip(', ')
elif not dep_included:
self.include_item(dep_path, binb=item_name, image_contents=image_contents)
"""
Find the model path for the item_name
Returns the path in the model or None
"""
def find_path_for_item(self, item_name):
# We don't include virtual/* or *-native items in the model so save a
# heavy iteration loop by exiting early for these items
if self.non_target_name(item_name):
return None
it = self.get_iter_first()
while it:
if (self.get_value(it, self.COL_NAME) == item_name):
return self.get_path(it)
else:
it = self.iter_next(it)
return None
"""
Empty self.contents by setting the include of each entry to None
"""
def reset(self):
# Deselect images - slightly more complex logic so that we don't
# have to iterate all of the contents of the main model, instead
# just iterate the images model.
if self.selected_image:
iit = self.images.get_iter_first()
while iit:
pit = self.images.convert_iter_to_child_iter(iit)
self.set(pit, self.COL_INC, False)
iit = self.images.iter_next(iit)
self.selected_image = None
it = self.contents.get_iter_first()
while it:
oit = self.contents.convert_iter_to_child_iter(it)
self.set(oit,
self.COL_INC, False,
self.COL_BINB, "",
self.COL_IMG, False)
# As we've just removed the first item...
it = self.contents.get_iter_first()
"""
Returns two lists. One of user selected packages and the other containing
all selected packages
"""
def get_selected_packages(self):
allpkgs = []
userpkgs = []
it = self.contents.get_iter_first()
while it:
sel = "User Selected" in self.contents.get_value(it, self.COL_BINB)
name = self.contents.get_value(it, self.COL_NAME)
allpkgs.append(name)
if sel:
userpkgs.append(name)
it = self.contents.iter_next(it)
return userpkgs, allpkgs
"""
Return a squished (uniquified) list of the PN's of all selected items
"""
def get_selected_pn(self):
pns = []
it = self.contents.get_iter_first()
while it:
if self.contents.get_value(it, self.COL_BINB):
pns.append(self.contents.get_value(it, self.COL_PN))
it = self.contents.iter_next(it)
return self.squish(pns)
def image_contents_removed(self):
it = self.get_iter_first()
while it:
sel = self.get_value(it, self.COL_INC)
img = self.get_value(it, self.COL_IMG)
if img and not sel:
return True
it = self.iter_next(it)
return False
def get_build_rep(self):
userpkgs, allpkgs = self.get_selected_packages()
# If base image contents have been removed start from an empty rootfs
if not self.selected_image or self.image_contents_removed():
image = "empty"
else:
image = self.selected_image
return BuildRep(" ".join(userpkgs), " ".join(allpkgs), image)
def find_reverse_depends(self, pn):
revdeps = []
it = self.contents.get_iter_first()
while it:
name = self.contents.get_value(it, self.COL_NAME)
itype = self.contents.get_value(it, self.COL_TYPE)
deps = self.contents.get_value(it, self.COL_DEPS)
it = self.contents.iter_next(it)
if not itype == 'package':
continue
if pn in deps:
revdeps.append(name)
if pn in revdeps:
revdeps.remove(pn)
return revdeps
def set_selected_image(self, img):
self.selected_image = img
path = self.find_path_for_item(img)
self.include_item(item_path=path,
binb="User Selected",
image_contents=True)
self.emit("image-changed", self.selected_image)
def set_selected_packages(self, pkglist):
selected = pkglist
it = self.get_iter_first()
while it:
name = self.get_value(it, self.COL_NAME)
if name in pkglist:
pkglist.remove(name)
path = self.get_path(it)
self.include_item(item_path=path,
binb="User Selected")
if len(pkglist) == 0:
return
it = self.iter_next(it)
def find_image_path(self, image):
it = self.images.get_iter_first()
while it:
image_name = self.images.get_value(it, self.COL_NAME)
if image_name == image:
path = self.images.get_value(it, self.COL_PATH)
meta_pattern = "(\S*)/(meta*/)(\S*)"
meta_match = re.search(meta_pattern, path)
if meta_match:
_, lyr, bbrel = path.partition(meta_match.group(2))
if bbrel:
path = bbrel
return path
it = self.images.iter_next(it)

View File

@@ -0,0 +1,180 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2011 Intel Corporation
#
# Authored by Shane Wang <shane.wang@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gobject
import os
import re
class File(gobject.GObject):
def __init__(self, pathfilename, suffix):
if not pathfilename.endswith(suffix):
pathfilename = "%s%s" % (pathfilename, suffix)
gobject.GObject.__init__(self)
self.pathfilename = pathfilename
def readFile(self):
if not os.path.isfile(self.pathfilename):
return None
if not os.path.exists(self.pathfilename):
return None
with open(self.pathfilename, 'r') as f:
contents = f.readlines()
f.close()
return contents
def writeFile(self, contents):
if os.path.exists(self.pathfilename):
orig = "%s.orig" % self.pathfilename
if os.path.exists(orig):
os.remove(orig)
os.rename(self.pathfilename, orig)
with open(self.pathfilename, 'w') as f:
f.write(contents)
f.close()
class ConfigFile(File):
"""
This object does save general config file. (say bblayers.conf, or local.conf). Again, it is the base class for other template files and image bb files.
"""
def __init__(self, pathfilename, suffix = None, header = None):
if suffix:
File.__init__(self, pathfilename, suffix)
else:
File.__init__(self, pathfilename, ".conf")
if header:
self.header = header
else:
self.header = "# Config generated by the HOB\n\n"
self.dictionary = {}
def setVar(self, var, val):
if isinstance(val, list):
liststr = ""
if val:
i = 0
for value in val:
if i < len(val) - 1:
liststr += "%s " % value
else:
liststr += "%s" % value
i += 1
self.dictionary[var] = liststr
else:
self.dictionary[var] = val
def save(self):
contents = self.header
for var, val in self.dictionary.items():
contents += "%s = \"%s\"\n" % (var, val)
File.writeFile(self, contents)
class HobTemplateFile(ConfigFile):
"""
This object does save or load hob specific file.
"""
def __init__(self, pathfilename):
ConfigFile.__init__(self, pathfilename, ".hob", "# Hob Template generated by the HOB\n\n")
def getVar(self, var):
if var in self.dictionary:
return self.dictionary[var]
else:
return ""
def load(self):
contents = ConfigFile.readFile(self)
self.dictionary.clear()
pattern = "^\s*(\S+)\s*=\s*(\".*?\")"
for line in contents:
match = re.search(pattern, line)
if match:
var = match.group(1)
val = match.group(2).strip('"')
self.dictionary[var] = val
return self.dictionary
class RecipeFile(ConfigFile):
"""
This object is for image bb file.
"""
def __init__(self, pathfilename):
ConfigFile.__init__(self, pathfilename, ".bb", "# Recipe generated by the HOB\n\ninherit core-image\n")
class TemplateMgr(gobject.GObject):
__gLocalVars__ = ["MACHINE", "PACKAGE_CLASSES", "DISTRO", "DL_DIR", "SSTATE_DIR", "SSTATE_MIRROR", "PARALLEL_MAKE", "BB_NUMBER_THREAD"]
__gBBLayersVars__ = ["BBLAYERS"]
__gRecipeVars__ = ["DEPENDS", "IMAGE_INSTALL"]
def __init__(self):
gobject.GObject.__init__(self)
self.template_hob = None
self.bblayers_conf = None
self.local_conf = None
self.image_bb = None
def open(self, filename, path):
self.template_hob = HobTemplateFile("%s/%s%s%s" % (path, "template-", filename, ".hob"))
self.bblayers_conf = ConfigFile("%s/%s%s%s" % (path, "bblayers-", filename, ".conf"))
self.local_conf = ConfigFile("%s/%s%s%s" % (path, "local-", filename, ".conf"))
self.image_bb = RecipeFile("%s/%s%s%s" % (path, "hob-image-", filename, ".bb"))
def setVar(self, var, val):
if var in TemplateMgr.__gLocalVars__:
self.local_conf.setVar(var, val)
if var in TemplateMgr.__gBBLayersVars__:
self.bblayers_conf.setVar(var, val)
if var in TemplateMgr.__gRecipeVars__:
self.image_bb.setVar(var, val)
self.template_hob.setVar(var, val)
def save(self):
self.local_conf.save()
self.bblayers_conf.save()
self.image_bb.save()
self.template_hob.save()
def load(self, path):
self.template_hob = HobTemplateFile(path)
self.dictionary = self.template_hob.load()
def getVar(self, var):
return self.template_hob.getVar(var)
def destroy(self):
if self.template_hob:
del self.template_hob
template_hob = None
if self.bblayers_conf:
del self.bblayers_conf
self.bblayers_conf = None
if self.local_conf:
del self.local_conf
self.local_conf = None
if self.image_bb:
del self.image_bb
self.image_bb = None

1111
bitbake/lib/bb/ui/hob.py Normal file → Executable file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -64,11 +64,18 @@ def new_progress(msg, maxval):
else:
return NonInteractiveProgress(msg, maxval)
def pluralise(singular, plural, qty):
if(qty == 1):
return singular % qty
else:
return plural % qty
def main(server, eventHandler):
# Get values of variables which control our output
includelogs = server.runCommand(["getVariable", "BBINCLUDELOGS"])
loglines = server.runCommand(["getVariable", "BBINCLUDELOGS_LINES"])
consolelogfile = server.runCommand(["getVariable", "BB_CONSOLELOG"])
helper = uihelper.BBUIHelper()
@@ -77,6 +84,11 @@ def main(server, eventHandler):
bb.msg.addDefaultlogFilter(console)
console.setFormatter(format)
logger.addHandler(console)
if consolelogfile:
consolelog = logging.FileHandler(consolelogfile)
bb.msg.addDefaultlogFilter(consolelog)
consolelog.setFormatter(format)
logger.addHandler(consolelog)
try:
cmdline = server.runCommand(["getCmdLineAction"])
@@ -98,11 +110,17 @@ def main(server, eventHandler):
parseprogress = None
cacheprogress = None
shutdown = 0
interrupted = False
return_value = 0
errors = 0
warnings = 0
taskfailures = []
while True:
try:
event = eventHandler.waitEvent(0.25)
if event is None:
if shutdown > 1:
break
continue
helper.eventHandler(event)
if isinstance(event, bb.runqueue.runQueueExitWait):
@@ -117,13 +135,15 @@ def main(server, eventHandler):
if isinstance(event, logging.LogRecord):
if event.levelno >= format.ERROR:
errors = errors + 1
return_value = 1
elif event.levelno == format.WARNING:
warnings = warnings + 1
# For "normal" logging conditions, don't show note logs from tasks
# but do show them if the user has changed the default log level to
# include verbose/debug messages
#if logger.getEffectiveLevel() > format.VERBOSE:
if event.taskpid != 0 and event.levelno <= format.NOTE:
continue
continue
logger.handle(event)
continue
@@ -132,7 +152,7 @@ def main(server, eventHandler):
logfile = event.logfile
if logfile and os.path.exists(logfile):
print("ERROR: Logfile of failure stored in: %s" % logfile)
if 1 or includelogs:
if includelogs and not event.errprinted:
print("Log data follows:")
f = open(logfile, "r")
lines = []
@@ -182,18 +202,19 @@ def main(server, eventHandler):
print("Loaded %d entries from dependency cache." % event.num_entries)
continue
if isinstance(event, bb.command.CommandCompleted):
break
if isinstance(event, bb.command.CommandFailed):
return_value = event.exitcode
errors = errors + 1
logger.error("Command execution failed: %s", event.error)
break
shutdown = 2
continue
if isinstance(event, bb.command.CommandExit):
if not return_value:
return_value = event.exitcode
continue
if isinstance(event, bb.cooker.CookerExit):
break
if isinstance(event, (bb.command.CommandCompleted, bb.cooker.CookerExit)):
shutdown = 2
continue
if isinstance(event, bb.event.MultipleProviders):
logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "",
event._item,
@@ -202,6 +223,7 @@ def main(server, eventHandler):
continue
if isinstance(event, bb.event.NoProvider):
return_value = 1
errors = errors + 1
if event._runtime:
r = "R"
else:
@@ -216,6 +238,10 @@ def main(server, eventHandler):
logger.error("%s", reason)
continue
if isinstance(event, bb.runqueue.sceneQueueTaskStarted):
logger.info("Running setscene task %d of %d (%s)" % (event.stats.completed + event.stats.active + event.stats.failed + 1, event.stats.total, event.taskstring))
continue
if isinstance(event, bb.runqueue.runQueueTaskStarted):
if event.noexec:
tasktype = 'noexec task'
@@ -229,10 +255,16 @@ def main(server, eventHandler):
continue
if isinstance(event, bb.runqueue.runQueueTaskFailed):
taskfailures.append(event.taskstring)
logger.error("Task %s (%s) failed with exit code '%s'",
event.taskid, event.taskstring, event.exitcode)
continue
if isinstance(event, bb.runqueue.sceneQueueTaskFailed):
logger.warn("Setscene task %s (%s) failed with exit code '%s' - real task will be run instead",
event.taskid, event.taskstring, event.exitcode)
continue
# ignore
if isinstance(event, (bb.event.BuildBase,
bb.event.StampUpdate,
@@ -240,7 +272,10 @@ def main(server, eventHandler):
bb.event.RecipeParsed,
bb.event.RecipePreFinalise,
bb.runqueue.runQueueEvent,
bb.runqueue.runQueueExitWait)):
bb.runqueue.runQueueExitWait,
bb.event.OperationStarted,
bb.event.OperationCompleted,
bb.event.OperationProgress)):
continue
logger.error("Unknown event: %s", event)
@@ -250,15 +285,34 @@ def main(server, eventHandler):
if ioerror.args[0] == 4:
pass
except KeyboardInterrupt:
if shutdown == 2:
print("\nThird Keyboard Interrupt, exit.\n")
break
if shutdown == 1:
print("\nSecond Keyboard Interrupt, stopping...\n")
server.runCommand(["stateStop"])
if shutdown == 0:
interrupted = True
print("\nKeyboard Interrupt, closing down...\n")
server.runCommand(["stateShutdown"])
shutdown = shutdown + 1
pass
summary = ""
if taskfailures:
summary += pluralise("\nSummary: %s task failed:",
"\nSummary: %s tasks failed:", len(taskfailures))
for failure in taskfailures:
summary += "\n %s" % failure
if warnings:
summary += pluralise("\nSummary: There was %s WARNING message shown.",
"\nSummary: There were %s WARNING messages shown.", warnings)
if return_value:
summary += pluralise("\nSummary: There was %s ERROR message shown, returning a non-zero exit code.",
"\nSummary: There were %s ERROR messages shown, returning a non-zero exit code.", errors)
if summary:
print(summary)
if interrupted:
print("Execution was interrupted, returning a non-zero exit code.")
if return_value == 0:
return_value = 1
return return_value

View File

@@ -28,13 +28,14 @@ import socket, threading, pickle
from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
class BBUIEventQueue:
def __init__(self, BBServer):
def __init__(self, BBServer, clientinfo=("localhost, 0")):
self.eventQueue = []
self.eventQueueLock = threading.Lock()
self.eventQueueNotify = threading.Event()
self.BBServer = BBServer
self.clientinfo = clientinfo
self.t = threading.Thread()
self.t.setDaemon(True)
@@ -72,7 +73,7 @@ class BBUIEventQueue:
def startCallbackHandler(self):
server = UIXMLRPCServer()
server = UIXMLRPCServer(self.clientinfo)
self.host, self.port = server.socket.getsockname()
server.register_function( self.system_quit, "event.quit" )
@@ -98,7 +99,7 @@ class BBUIEventQueue:
class UIXMLRPCServer (SimpleXMLRPCServer):
def __init__( self, interface = ("localhost", 0) ):
def __init__( self, interface ):
self.quit = False
SimpleXMLRPCServer.__init__( self,
interface,

View File

@@ -32,11 +32,52 @@ class BBUIHelper:
if isinstance(event, bb.build.TaskSucceeded):
del self.running_tasks[event.pid]
self.needUpdate = True
if isinstance(event, bb.build.TaskFailed):
if isinstance(event, bb.build.TaskFailed) or isinstance(event, bb.build.TaskFailedSilent):
del self.running_tasks[event.pid]
self.failed_tasks.append( { 'title' : "%s %s" % (event._package, event._task)})
self.needUpdate = True
def getTasks(self):
self.needUpdate = False
return (self.running_tasks, self.failed_tasks)
def findServerDetails(self):
import sys
import optparse
from bb.server.xmlrpc import BitbakeServerInfo, BitBakeServerConnection
host = ""
port = 0
bind = ""
parser = optparse.OptionParser(
usage = """%prog -H host -P port -B bindaddr""")
parser.add_option("-H", "--host", help = "Bitbake server's IP address",
action = "store", dest = "host", default = None)
parser.add_option("-P", "--port", help = "Bitbake server's Port number",
action = "store", dest = "port", default = None)
parser.add_option("-B", "--bind", help = "Hob2 local bind address",
action = "store", dest = "bind", default = None)
options, args = parser.parse_args(sys.argv)
for key, val in options.__dict__.items():
if key == 'host' and val:
host = val
elif key == 'port' and val:
port = int(val)
elif key == 'bind' and val:
bind = val
if not host or not port or not bind:
parser.print_usage()
sys.exit(1)
serverinfo = BitbakeServerInfo(host, port)
clientinfo = (bind, 0)
connection = BitBakeServerConnection(serverinfo, clientinfo)
server = connection.connection
eventHandler = connection.events
return server, eventHandler, host, bind

View File

@@ -25,6 +25,7 @@ import errno
import logging
import bb
import bb.msg
import multiprocessing
from commands import getstatusoutput
from contextlib import contextmanager
@@ -443,7 +444,7 @@ def lockfile(name, shared=False, retry=True):
return lf
lf.close()
except Exception:
continue
pass
if not retry:
return None
@@ -505,7 +506,6 @@ def preserved_envvars_exported():
'SHELL',
'TERM',
'USER',
'USERNAME',
]
def preserved_envvars_exported_interactive():
@@ -563,7 +563,7 @@ def filter_environment(good_vars):
def create_interactive_env(d):
for k in preserved_envvars_exported_interactive():
os.setenv(k, bb.data.getVar(k, d, True))
os.setenv(k, d.getVar(k, True))
def approved_variables():
"""
@@ -602,9 +602,9 @@ def build_environment(d):
"""
import bb.data
for var in bb.data.keys(d):
export = bb.data.getVarFlag(var, "export", d)
export = d.getVarFlag(var, "export")
if export:
os.environ[var] = bb.data.getVar(var, d, True) or ""
os.environ[var] = d.getVar(var, True) or ""
def remove(path, recurse=False):
"""Equivalent to rm -f or rm -rf"""
@@ -863,3 +863,6 @@ def contains(variable, checkvalues, truevalue, falsevalue, d):
if checkvalues.issubset(val):
return truevalue
return falsevalue
def cpu_count():
return multiprocessing.cpu_count()

View File

@@ -7,5 +7,8 @@ def init_logger(logfile, loglevel):
numeric_level = getattr(logging, loglevel.upper(), None)
if not isinstance(numeric_level, int):
raise ValueError('Invalid log level: %s' % loglevel)
logging.basicConfig(level=numeric_level, filename=logfile)
FORMAT = '%(asctime)-15s %(message)s'
logging.basicConfig(level=numeric_level, filename=logfile, format=FORMAT)
class NotFoundError(StandardError):
pass

View File

@@ -1,86 +1,233 @@
import logging
import os.path
import errno
import sys
import warnings
import sqlite3
import prserv
try:
import sqlite3
except ImportError:
from pysqlite2 import dbapi2 as sqlite3
logger = logging.getLogger("BitBake.PRserv")
sqlversion = sqlite3.sqlite_version_info
if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
raise Exception("sqlite3 version 3.3.0 or later is required.")
class NotFoundError(StandardError):
pass
class PRTable():
def __init__(self,cursor,table):
self.cursor = cursor
self.table = table
def __init__(self, conn, table, nohist):
self.conn = conn
self.nohist = nohist
if nohist:
self.table = "%s_nohist" % table
else:
self.table = "%s_hist" % table
#create the table
self._execute("CREATE TABLE IF NOT EXISTS %s \
(version TEXT NOT NULL, \
pkgarch TEXT NOT NULL, \
checksum TEXT NOT NULL, \
value INTEGER, \
PRIMARY KEY (version,checksum));"
% table)
PRIMARY KEY (version, pkgarch, checksum));" % self.table)
def _execute(self, *query):
"""Execute a query, waiting to acquire a lock if necessary"""
count = 0
while True:
try:
return self.cursor.execute(*query)
return self.conn.execute(*query)
except sqlite3.OperationalError as exc:
if 'database is locked' in str(exc) and count < 500:
count = count + 1
continue
raise
except sqlite3.IntegrityError as exc:
print "Integrity error %s" % str(exc)
break
raise exc
def getValue(self, version, checksum):
data=self._execute("SELECT value FROM %s WHERE version=? AND checksum=?;" % self.table,
(version,checksum))
def _getValueHist(self, version, pkgarch, checksum):
data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
(version, pkgarch, checksum))
row=data.fetchone()
if row != None:
return row[0]
else:
#no value found, try to insert
self._execute("INSERT INTO %s VALUES (?, ?, (select ifnull(max(value)+1,0) from %s where version=?));"
try:
self._execute("BEGIN")
self._execute("INSERT OR ROLLBACK INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1,0) from %s where version=? AND pkgarch=?));"
% (self.table,self.table),
(version,checksum,version))
data=self._execute("SELECT value FROM %s WHERE version=? AND checksum=?;" % self.table,
(version,checksum))
(version,pkgarch, checksum,version, pkgarch))
self.conn.commit()
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
(version, pkgarch, checksum))
row=data.fetchone()
if row != None:
return row[0]
else:
raise NotFoundError
raise prserv.NotFoundError
def _getValueNohist(self, version, pkgarch, checksum):
data=self._execute("SELECT value FROM %s \
WHERE version=? AND pkgarch=? AND checksum=? AND \
value >= (select max(value) from %s where version=? AND pkgarch=?);"
% (self.table, self.table),
(version, pkgarch, checksum, version, pkgarch))
row=data.fetchone()
if row != None:
return row[0]
else:
#no value found, try to insert
try:
self._execute("BEGIN")
self._execute("INSERT OR REPLACE INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1,0) from %s where version=? AND pkgarch=?));"
% (self.table,self.table),
(version, pkgarch, checksum, version, pkgarch))
self.conn.commit()
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
self.conn.rollback()
data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
(version, pkgarch, checksum))
row=data.fetchone()
if row != None:
return row[0]
else:
raise prserv.NotFoundError
def getValue(self, version, pkgarch, checksum):
if self.nohist:
return self._getValueNohist(version, pkgarch, checksum)
else:
return self._getValueHist(version, pkgarch, checksum)
def _importHist(self, version, pkgarch, checksum, value):
val = None
data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
(version, pkgarch, checksum))
row = data.fetchone()
if row != None:
val=row[0]
else:
#no value found, try to insert
try:
self._execute("BEGIN")
self._execute("INSERT OR ROLLBACK INTO %s VALUES (?, ?, ?, ?);" % (self.table),
(version, pkgarch, checksum, value))
self.conn.commit()
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
(version, pkgarch, checksum))
row = data.fetchone()
if row != None:
val = row[0]
return val
def _importNohist(self, version, pkgarch, checksum, value):
try:
#try to insert
self._execute("BEGIN")
self._execute("INSERT OR ROLLBACK INTO %s VALUES (?, ?, ?, ?);" % (self.table),
(version, pkgarch, checksum,value))
self.conn.commit()
except sqlite3.IntegrityError as exc:
#already have the record, try to update
try:
self._execute("BEGIN")
self._execute("UPDATE %s SET value=? WHERE version=? AND pkgarch=? AND checksum=? AND value<?"
% (self.table),
(value,version,pkgarch,checksum,value))
self.conn.commit()
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=? AND value>=?;" % self.table,
(version,pkgarch,checksum,value))
row=data.fetchone()
if row != None:
return row[0]
else:
return None
def importone(self, version, pkgarch, checksum, value):
if self.nohist:
return self._importNohist(version, pkgarch, checksum, value)
else:
return self._importHist(version, pkgarch, checksum, value)
def export(self, version, pkgarch, checksum, colinfo):
metainfo = {}
#column info
if colinfo:
metainfo['tbl_name'] = self.table
metainfo['core_ver'] = prserv.__version__
metainfo['col_info'] = []
data = self._execute("PRAGMA table_info(%s);" % self.table)
for row in data:
col = {}
col['name'] = row['name']
col['type'] = row['type']
col['notnull'] = row['notnull']
col['dflt_value'] = row['dflt_value']
col['pk'] = row['pk']
metainfo['col_info'].append(col)
#data info
datainfo = []
if self.nohist:
sqlstmt = "SELECT T1.version, T1.pkgarch, T1.checksum, T1.value FROM %s as T1, \
(SELECT version,pkgarch,max(value) as maxvalue FROM %s GROUP BY version,pkgarch) as T2 \
WHERE T1.version=T2.version AND T1.pkgarch=T2.pkgarch AND T1.value=T2.maxvalue " % (self.table, self.table)
else:
sqlstmt = "SELECT * FROM %s as T1 WHERE 1=1 " % self.table
sqlarg = []
where = ""
if version:
where += "AND T1.version=? "
sqlarg.append(str(version))
if pkgarch:
where += "AND T1.pkgarch=? "
sqlarg.append(str(pkgarch))
if checksum:
where += "AND T1.checksum=? "
sqlarg.append(str(checksum))
sqlstmt += where + ";"
if len(sqlarg):
data = self._execute(sqlstmt, tuple(sqlarg))
else:
data = self._execute(sqlstmt)
for row in data:
if row['version']:
col = {}
col['version'] = row['version']
col['pkgarch'] = row['pkgarch']
col['checksum'] = row['checksum']
col['value'] = row['value']
datainfo.append(col)
return (metainfo, datainfo)
class PRData(object):
"""Object representing the PR database"""
def __init__(self, filename):
def __init__(self, filename, nohist=True):
self.filename=os.path.abspath(filename)
self.nohist=nohist
#build directory hierarchy
try:
os.makedirs(os.path.dirname(self.filename))
except OSError as e:
if e.errno != errno.EEXIST:
raise e
self.connection=sqlite3.connect(self.filename, timeout=5,
isolation_level=None)
self.cursor=self.connection.cursor()
self.connection=sqlite3.connect(self.filename, isolation_level="DEFERRED")
self.connection.row_factory=sqlite3.Row
self._tables={}
def __del__(self):
print "PRData: closing DB %s" % self.filename
self.connection.close()
def __getitem__(self,tblname):
@@ -90,11 +237,11 @@ class PRData(object):
if tblname in self._tables:
return self._tables[tblname]
else:
tableobj = self._tables[tblname] = PRTable(self.cursor, tblname)
tableobj = self._tables[tblname] = PRTable(self.connection, tblname, self.nohist)
return tableobj
def __delitem__(self, tblname):
if tblname in self._tables:
del self._tables[tblname]
logging.info("drop table %s" % (tblname))
self.cursor.execute("DROP TABLE IF EXISTS %s;" % tblname)
logger.info("drop table %s" % (tblname))
self.connection.execute("DROP TABLE IF EXISTS %s;" % tblname)

View File

@@ -1,12 +1,19 @@
import os,sys,logging
import signal,time, atexit
import signal, time, atexit, threading
from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
import xmlrpclib,sqlite3
import xmlrpclib
try:
import sqlite3
except ImportError:
from pysqlite2 import dbapi2 as sqlite3
import bb.server.xmlrpc
import prserv
import prserv.db
logger = logging.getLogger("BitBake.PRserv")
if sys.hexversion < 0x020600F0:
print("Sorry, python 2.6 or later is required.")
sys.exit(1)
@@ -21,8 +28,10 @@ class Handler(SimpleXMLRPCRequestHandler):
raise
return value
PIDPREFIX = "/tmp/PRServer_%s_%s.pid"
singleton = None
class PRServer(SimpleXMLRPCServer):
pidfile="/tmp/PRServer.pid"
def __init__(self, dbfile, logfile, interface, daemon=True):
''' constructor '''
SimpleXMLRPCServer.__init__(self, interface,
@@ -31,66 +40,88 @@ class PRServer(SimpleXMLRPCServer):
self.dbfile=dbfile
self.daemon=daemon
self.logfile=logfile
self.working_thread=None
self.host, self.port = self.socket.getsockname()
self.db=prserv.db.PRData(dbfile)
self.table=self.db["PRMAIN"]
self.pidfile=PIDPREFIX % (self.host, self.port)
self.register_function(self.getPR, "getPR")
self.register_function(self.quit, "quit")
self.register_function(self.ping, "ping")
self.register_function(self.export, "export")
self.register_function(self.importone, "importone")
self.register_introspection_functions()
def export(self, version=None, pkgarch=None, checksum=None, colinfo=True):
try:
return self.table.export(version, pkgarch, checksum, colinfo)
except sqlite3.Error as exc:
logger.error(str(exc))
return None
def importone(self, version, pkgarch, checksum, value):
return self.table.importone(version, pkgarch, checksum, value)
def ping(self):
return not self.quit
def getPR(self, version, checksum):
def getinfo(self):
return (self.host, self.port)
def getPR(self, version, pkgarch, checksum):
try:
return self.table.getValue(version,checksum)
return self.table.getValue(version, pkgarch, checksum)
except prserv.NotFoundError:
logging.error("can not find value for (%s, %s)",version,checksum)
logger.error("can not find value for (%s, %s)",version, checksum)
return None
except sqlite3.Error as exc:
logging.error(str(exc))
logger.error(str(exc))
return None
def quit(self):
self.quit=True
return
def _serve_forever(self):
def work_forever(self,):
self.quit = False
self.timeout = 0.5
logger.info("PRServer: started! DBfile: %s, IP: %s, PORT: %s, PID: %s" %
(self.dbfile, self.host, self.port, str(os.getpid())))
while not self.quit:
self.handle_request()
logging.info("PRServer: stopping...")
logger.info("PRServer: stopping...")
self.server_close()
return
def start(self):
if self.daemon is True:
logging.info("PRServer: starting daemon...")
logger.info("PRServer: try to start daemon...")
self.daemonize()
else:
logging.info("PRServer: starting...")
self._serve_forever()
atexit.register(self.delpid)
pid = str(os.getpid())
pf = file(self.pidfile, 'w+')
pf.write("%s\n" % pid)
pf.close()
self.work_forever()
def delpid(self):
os.remove(PRServer.pidfile)
os.remove(self.pidfile)
def daemonize(self):
"""
See Advanced Programming in the UNIX, Sec 13.3
"""
os.umask(0)
try:
pid = os.fork()
if pid > 0:
sys.exit(0)
if pid > 0:
#parent return instead of exit to give control
return
except OSError as e:
sys.stderr.write("1st fork failed: %d %s\n" % (e.errno, e.strerror))
sys.exit(1)
raise Exception("%s [%d]" % (e.strerror, e.errno))
os.setsid()
"""
@@ -102,9 +133,9 @@ class PRServer(SimpleXMLRPCServer):
if pid > 0: #parent
sys.exit(0)
except OSError as e:
sys.stderr.write("2nd fork failed: %d %s\n" % (e.errno, e.strerror))
sys.exit(1)
raise Exception("%s [%d]" % (e.strerror, e.errno))
os.umask(0)
os.chdir("/")
sys.stdout.flush()
@@ -119,19 +150,44 @@ class PRServer(SimpleXMLRPCServer):
# write pidfile
atexit.register(self.delpid)
pid = str(os.getpid())
pf = file(PRServer.pidfile, 'w+')
pf = file(self.pidfile, 'w')
pf.write("%s\n" % pid)
pf.write("%s\n" % self.host)
pf.write("%s\n" % self.port)
pf.close()
self._serve_forever()
self.work_forever()
sys.exit(0)
class PRServSingleton():
def __init__(self, dbfile, logfile, interface):
self.dbfile = dbfile
self.logfile = logfile
self.interface = interface
self.host = None
self.port = None
self.event = threading.Event()
def _work(self):
self.prserv = PRServer(self.dbfile, self.logfile, self.interface, False)
self.host, self.port = self.prserv.getinfo()
self.event.set()
self.prserv.work_forever()
del self.prserv.db
def start(self):
self.working_thread = threading.Thread(target=self._work)
self.working_thread.start()
def getinfo(self):
self.event.wait()
return (self.host, self.port)
class PRServerConnection():
def __init__(self, host, port):
self.connection = bb.server.xmlrpc._create_server(host, port)
if is_local_special(host, port):
host, port = singleton.getinfo()
self.host = host
self.port = port
self.connection = bb.server.xmlrpc._create_server(self.host, self.port)
def terminate(self):
# Don't wait for server indefinitely
@@ -139,18 +195,25 @@ class PRServerConnection():
socket.setdefaulttimeout(2)
try:
self.connection.quit()
except:
pass
except Exception as exc:
sys.stderr.write("%s\n" % str(exc))
def getPR(self, version, checksum):
return self.connection.getPR(version, checksum)
def getPR(self, version, pkgarch, checksum):
return self.connection.getPR(version, pkgarch, checksum)
def ping(self):
return self.connection.ping()
def start_daemon(options):
def export(self,version=None, pkgarch=None, checksum=None, colinfo=True):
return self.connection.export(version, pkgarch, checksum, colinfo)
def importone(self, version, pkgarch, checksum, value):
return self.connection.importone(version, pkgarch, checksum, value)
def start_daemon(dbfile, host, port, logfile):
pidfile = PIDPREFIX % (host, port)
try:
pf = file(PRServer.pidfile,'r')
pf = file(pidfile,'r')
pid = int(pf.readline().strip())
pf.close()
except IOError:
@@ -158,41 +221,89 @@ def start_daemon(options):
if pid:
sys.stderr.write("pidfile %s already exist. Daemon already running?\n"
% PRServer.pidfile)
sys.exit(1)
% pidfile)
return 1
server = PRServer(options.dbfile, interface=(options.host, options.port),
logfile=os.path.abspath(options.logfile))
server = PRServer(os.path.abspath(dbfile), os.path.abspath(logfile), (host,port))
server.start()
return 0
def stop_daemon():
def stop_daemon(host, port):
pidfile = PIDPREFIX % (host, port)
try:
pf = file(PRServer.pidfile,'r')
pf = file(pidfile,'r')
pid = int(pf.readline().strip())
host = pf.readline().strip()
port = int(pf.readline().strip())
pf.close()
except IOError:
pid = None
if not pid:
sys.stderr.write("pidfile %s does not exist. Daemon not running?\n"
% PRServer.pidfile)
sys.exit(1)
% pidfile)
PRServerConnection(host,port).terminate()
try:
PRServerConnection(host, port).terminate()
except:
logger.critical("Stop PRService %s:%d failed" % (host,port))
time.sleep(0.5)
try:
while 1:
if pid:
if os.path.exists(pidfile):
os.remove(pidfile)
os.kill(pid,signal.SIGTERM)
time.sleep(0.1)
except OSError as err:
err = str(err)
if err.find("No such process") > 0:
if os.path.exists(PRServer.pidfile):
os.remove(PRServer.pidfile)
else:
print err
sys.exit(1)
except OSError as e:
err = str(e)
if err.find("No such process") <= 0:
raise e
return 0
def is_local_special(host, port):
if host.strip().upper() == 'localhost'.upper() and (not port):
return True
else:
return False
def auto_start(d):
global singleton
if (not d.getVar('PRSERV_HOST', True)) or (not d.getVar('PRSERV_PORT', True)):
return True
if is_local_special(d.getVar('PRSERV_HOST', True), int(d.getVar('PRSERV_PORT', True))) and not singleton:
import bb.utils
cachedir = (d.getVar("PERSISTENT_DIR", True) or d.getVar("CACHE", True))
if not cachedir:
logger.critical("Please set the 'PERSISTENT_DIR' or 'CACHE' variable")
sys.exit(1)
bb.utils.mkdirhier(cachedir)
dbfile = os.path.join(cachedir, "prserv.sqlite3")
logfile = os.path.join(cachedir, "prserv.log")
singleton = PRServSingleton(os.path.abspath(dbfile), os.path.abspath(logfile), ("localhost",0))
singleton.start()
if singleton:
host, port = singleton.getinfo()
else:
host = d.getVar('PRSERV_HOST', True)
port = int(d.getVar('PRSERV_PORT', True))
try:
return PRServerConnection(host,port).ping()
except Exception:
logger.critical("PRservice %s:%d not available" % (host, port))
return False
def auto_shutdown(d=None):
global singleton
if singleton:
host, port = singleton.getinfo()
try:
PRServerConnection(host, port).terminate()
except:
logger.critical("Stop PRService %s:%d failed" % (host,port))
singleton = None
def ping(host, port):
conn=PRServerConnection(host, port)
return conn.ping()

View File

@@ -69,7 +69,8 @@ ALLPREQ = html pdf tarball
TARFILES = style.css dev-manual.html dev-manual.pdf 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-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3.png figures/source-repos.png figures/yp-download.png
figures/kernel-overview-3.png figures/source-repos.png figures/yp-download.png \
figures/wip.png
MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf
FIGURES = figures
STYLESHEET = $(DOC)/*.css

View File

@@ -28,7 +28,7 @@
<title>Autotools-Based Projects</title>
<para>
For an autotools-based project, you can use the cross-toolchain by just
For an Autotools-based project, you can use the cross-toolchain by just
passing the appropriate host option to <filename>configure.sh</filename>.
The host option you use is derived from the name of the environment setup
script in <filename>/opt/poky</filename> resulting from unpacking the
@@ -47,6 +47,20 @@
This single command updates your project and rebuilds it using the appropriate
cross-toolchain tools.
</para>
<note>
If <filename>configure</filename> script results in problems recognizing the
<filename>--with-libtool-sysroot=&lt;sysroot-dir&gt;</filename> option,
regenerate the script to enable the support by doing the following and then
re-running the script:
<literallayout class='monospaced'>
$ libtoolize --automake
$ aclocal -I ${OECORE_NATIVE_SYSROOT}/usr/share/aclocal \
[-I &lt;dir_containing_your_project-specific_m4_macros&gt;]
$ autoconf
$ autoheader
$ automake -a
</literallayout>
</note>
</section>
<section id='makefile-based-projects'>

View File

@@ -29,8 +29,7 @@
<para>
To develop within the Eclipse IDE, you need to do the following:
<orderedlist>
<listitem><para>Be sure the optimal version of the Eclipse IDE
is installed.</para></listitem>
<listitem><para>Install the optimal version of the Eclipse IDE.</para></listitem>
<listitem><para>Configure the Eclipse IDE.</para></listitem>
<listitem><para>Install the Eclipse Yocto Plug-in.</para></listitem>
<listitem><para>Configure the Eclipse Yocto Plug-in.</para></listitem>
@@ -55,7 +54,7 @@
Once you have downloaded the tarball, extract it into a clean
directory.
For example, the following command unpacks and installs the Eclipse IDE
into a clean directory named <filename>eclipse</filename>:
into a clean directory using the default name <filename>eclipse</filename>:
<literallayout class='monospaced'>
$ tar -xzvf ~/Downloads/Eclipse-SDK-3.7-linux-gtk-x86_64.tar.gz
</literallayout>
@@ -96,16 +95,18 @@
Follow these general steps to configure Eclipse:
<orderedlist>
<listitem><para>Start the Eclipse IDE.</para></listitem>
<listitem><para>Select "Install New Software" from the "Help" pull-down menu.
<listitem><para>Make sure you are in your Workbench and select
"Install New Software" from the "Help" pull-down menu.
</para></listitem>
<listitem><para>Select <filename>Indego - http://download.eclipse.org/releases/indego</filename>
<listitem><para>Select <filename>indigo - http://download.eclipse.org/releases/indigo</filename>
from the "Work with:" pull-down menu.</para></listitem>
<listitem><para>Expand the box next to <filename>Programming Languages</filename>
and select the <filename>Autotools Support for CDT (incubation)</filename>
and <filename>C/C++ Development Tools</filename> boxes.</para></listitem>
<listitem><para>Complete the installation and restart the Eclipse IDE.</para></listitem>
<listitem><para>Select "Install New Software" from the "Help" pull-down menu.</para></listitem>
<listitem><para>After the Eclipse IDE restarts, click the
<listitem><para>After the Eclipse IDE restarts and from the Workbench, select
"Install New Software" from the "Help" pull-down menu.</para></listitem>
<listitem><para>Click the
"Available Software Sites" link.</para></listitem>
<listitem><para>Check the box next to
<filename>http://download.eclipse.org/tm/updates/3.3</filename>
@@ -118,12 +119,13 @@
and select every item except <filename>RSE Unit Tests</filename> and
<filename>RSE WinCE Services (incubation)</filename>.</para></listitem>
<listitem><para>Complete the installation and restart the Eclipse IDE.</para></listitem>
<listitem><para>After the Eclipse IDE restarts, click the
"Available Software Sites" link.</para></listitem>
<listitem><para>Check the box next to
<filename>http://download.eclipse.org/tools/cdt/releases/indego</filename>
<listitem><para>If necessary, select
"Install New Software" from the "Help" pull-down menu so you can click the
"Available Software Sites" link again.</para></listitem>
<listitem><para>After clicking "Available Software Sites", check the box next to
<filename>http://download.eclipse.org/tools/cdt/releases/indigo</filename>
and click "OK".</para></listitem>
<listitem><para>Select <filename>http://download.eclipse.org/tools/cdt/releases/indego</filename>
<listitem><para>Select <filename>http://download.eclipse.org/tools/cdt/releases/indigo</filename>
from the "Work with:" pull-down menu.</para></listitem>
<listitem><para>Check the box next to <filename>CDT Main Features</filename>.
</para></listitem>
@@ -139,36 +141,128 @@
<title>Installing the Eclipse Yocto Plug-in</title>
<para>
To install the Eclipse Yocto Plug-in, follow these special steps.
The steps are WIP and are not final.
Once they are final they will be replaced with the actual steps:
<orderedlist>
<listitem><para>Open a shell and create a Git repository with:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/yocto-eclipse yocto-eclipse
</literallayout></para></listitem>
<listitem><para>In Eclipse, select "Import" from the "File" menu.</para></listitem>
<listitem><para>Expand the "General" box and pick "existing projects into workspace".
</para></listitem>
<listitem><para>Select the root directory and browse to "~/yocto-eclipse/plugins".
</para></listitem>
<listitem><para>There will be three things there.
Select each one and install one at a time.
Do all three.</para></listitem>
<listitem><para>Restart everything.</para></listitem>
</orderedlist>
You can install the Eclipse Yocto Plug-in one of three methods: as new software
from within the Eclipse IDE, from the Yocto Project source repositories, or as a built zip file.
</para>
<para>
At this point I should be able to invoke Eclipse from the shell using the following:
<literallayout class='monospaced'>
<section id='new-software'>
<title>New Software</title>
<para>
To install the Eclipse Yocto Plug-in directly into the Eclipse IDE,
follow these steps:
<orderedlist>
<listitem><para>Start up the Eclipse IDE.</para></listitem>
<listitem><para>In Eclipse, select "Install New Software" from the "Help" menu.</para></listitem>
<listitem><para>Click "Add..." in the "Work with:" area.</para></listitem>
<listitem><para>Enter
<filename>http://www.yoctoproject.org/downloads/eclipse-plugin/1.1</filename>
in the URL field and provide a meaningful name in the "Name" field.</para></listitem>
<listitem><para>Click "OK" to have the entry added to the "Work with:"
drop-down list.</para></listitem>
<listitem><para>Select the entry for the plug-in from the "Work with:" drop-down
list.</para></listitem>
<listitem><para>Complete the remaining software installation steps and
then restart the Eclipse IDE to finish the installation of the plug-in.
</para></listitem>
</orderedlist>
</para>
</section>
<section id='yocto-project-source'>
<title>Yocto Project Source</title>
<para>
To install the Eclipse Yocto Plug-in from the Yocto Project source repositories,
follow these steps:
<orderedlist>
<listitem><para>Open a shell and create a Git repository with:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse
</literallayout>
For this example, the repository is named
<filename>~/yocto-eclipse</filename>.</para></listitem>
<listitem><para>In Eclipse, select "Import" from the "File" menu.</para></listitem>
<listitem><para>Expand the "General" box and pick "existing projects into workspace".
</para></listitem>
<listitem><para>Select the root directory and browse to "~/yocto-eclipse/plugins".
</para></listitem>
<listitem><para>There will be three things there.
Select each one and install one at a time.
Do all three.</para></listitem>
<listitem><para>Restart everything.</para></listitem>
</orderedlist>
</para>
<para>
At this point you should be able to invoke Eclipse from the shell using the following:
<literallayout class='monospaced'>
$ cd ~/eclipse
$ ./eclipse -vmargs -XX:PermSize=256M
</literallayout>
What is shown is the default projects in the left pane.
I should be able to right-click on one of these and run as an Eclipse application to
bring up the Eclipse instance again with the Eclipse Yocto Plug-in working.
</para>
</literallayout>
The left navigation pane shows the default projects.
Right-click on one of these projects and run it as an Eclipse application.
This brings up a second instance of Eclipse IDE that has the Yocto Plug-in.
</para>
</section>
<section id='zip-file-method'>
<title>Zip File Method</title>
<para>
To install the Eclipse Yocto Plug-in by building and installing a plug-in
zip file, follow these steps:
<orderedlist>
<listitem><para>Open a shell and create a Git repository with:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse
</literallayout>
For this example, the repository is named
<filename>~/yocto-eclipse</filename>.</para></listitem>
<listitem><para>Locate the <filename>build.sh</filename> script in the
Git repository you created in the previous step.
The script is located in the <filename>scripts</filename>.</para></listitem>
<listitem><para>Be sure to set and export the <filename>ECLIPSE_HOME</filename> environment
variable to the top-level directory in which you installed the Indigo
version of Eclipse.
For example, if your Eclipse directory is <filename>$HOME/eclipse</filename>,
use the following:
<literallayout class='monospaced'>
$ export ECLIPSE_HOME=$HOME/eclipse
</literallayout></para></listitem>
<listitem><para>Run the <filename>build.sh</filename> script and provide the
name of the Git branch along with the Yocto Project release you are
using.
Here is an example that uses the <filename>master</filename> Git repository
and the <filename>1.1M4</filename> release:
<literallayout class='monospaced'>
$ scripts/build.sh master 1.1M4
</literallayout>
After running the script, the file
<filename>org.yocto.sdk-&lt;release&gt;-&lt;date&gt;-archive.zip</filename>
is in the current directory.</para></listitem>
<listitem><para>If necessary, start the Eclipse IDE and be sure you are in the
Workbench.</para></listitem>
<listitem><para>Select "Install New Software" from the "Help" pull-down menu.
</para></listitem>
<listitem><para>Click "Add".</para></listitem>
<listitem><para>Provide anything you want in the "Name" field.</para></listitem>
<listitem><para>For the "Archive" field, select the ZIP file you built in step
4.
This ZIP file should not be "unzipped", and must be the
<filename>*archive.zip</filename> file created by running the
<filename>build.sh</filename> script.</para></listitem>
<listitem><para>Select the new entry in the installation window and complete
the installation.</para></listitem>
<listitem><para>Restart the Eclipse IDE if necessary.</para></listitem>
</orderedlist>
</para>
<para>
At this point you should be able to configure the Eclipse Yocto Plug-in as described in
the next section.
</para>
</section>
</section>
<section id='configuring-the-eclipse-yocto-plug-in'>
@@ -186,7 +280,7 @@
To start, you need to do the following from within the Eclipse IDE:
<itemizedlist>
<listitem><para>Choose <filename>Windows -&gt; Preferences</filename> to display
the Preferences Dialog</para></listitem>
the <filename>Preferences</filename> Dialog</para></listitem>
<listitem><para>Click <filename>Yocto ADT</filename></para></listitem>
</itemizedlist>
</para>
@@ -223,12 +317,12 @@
</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/$SDKVERSION</filename> directory.
<filename>/opt/poky/1.1</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
<link linkend='using-an-existing-toolchain-tarball'>
Using a Cross-Toolchain Tarball</link> describe two ways to install
Sections "<link linkend='configuring-and-running-the-adt-installer-script'>Configuring
and Running the ADT Installer Script</link>" and
"<link linkend='using-an-existing-toolchain-tarball'>Using a Cross-Toolchain
Tarball</link>" describe two ways to install
a stand-alone cross-toolchain in the
<filename>/opt/poky</filename> directory.
<note>It is possible to install a stand-alone cross-toolchain in a directory
@@ -237,8 +331,8 @@
<para>If you are using a system-derived toolchain, the path you provide
for the <filename>Toolchain Root Location</filename>
field is the Yocto Project's build directory.
See section <link linkend='using-the-toolchain-from-within-the-build-tree'>
Using BitBake and the Yocto Project Build Tree</link> for
See section "<link linkend='using-the-toolchain-from-within-the-build-tree'>Using
BitBake and the Yocto Project Build Tree</link>" for
information on how to install the toolchain into the Yocto
Project build tree.</para></listitem>
<listitem><para><emphasis>Specify the Sysroot Location:</emphasis>
@@ -255,9 +349,8 @@
The pull-down menu should have the supported architectures.
If the architecture you need is not listed in the menu, you
will need to build the image.
See the
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'> Building an Image</ulink> section of the
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'>
See the "<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section of the
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink> for more information.</para></listitem>
</itemizedlist>
</para>
@@ -350,21 +443,24 @@
<title>Configuring the Cross-Toolchains</title>
<para>
The previous section, "<link linkend='configuring-the-eclipse-yocto-plug-in'>
Configuring the Eclipse Yocto Plug-in</link>", set up the default project
The earlier section, "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring
the Eclipse Yocto Plug-in</link>", sets up the default project
configurations.
You can change these settings for a given project by following these steps:
You can override these settings for a given project by following these steps:
<orderedlist>
<listitem><para>Select <filename>Window -&gt; Preferences</filename>:
This selection brings up the <filename>Preferences</filename> Dialog.
If the Yocto ADT Preferences are not automatically displayed, you can navigate to
that dialog by selection <filename>Yocto ADT</filename> in the left-hand
panel.</para>
<para>Yocto ADT Settings are inherited from the default project configuration.
The information in this dialog is identical to that chosen earlier
for the Cross Compiler Options and Target Options as described in
<link linkend='configuring-the-eclipse-yocto-plug-in'>
Configuring the Eclipse Yocto Plug-in</link> section.</para></listitem>
<listitem><para>Select <filename>Project -&gt; Change Yocto Project Settings</filename>:
This selection brings up the <filename>Project Yocto Settings</filename> Dialog
and allows you to make changes specific to an individual project.
</para>
<para>By default, the Cross Compiler Options and Target Options for a project
are inherited from settings you provide using the <filename>Preferences</filename>
Dialog as described earlier
in the "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse
Yocto Plug-in</link>" section.
The <filename>Project Yocto Settings</filename>
Dialog allows you to override those default settings
for a given project.</para></listitem>
<listitem><para>Make your configurations for the project and click "OK".</para></listitem>
<listitem><para>Select <filename>Project -&gt; Reconfigure Project</filename>:
This selection reconfigures the project by running
<filename>autogen.sh</filename> in the workspace for your project.
@@ -391,20 +487,20 @@
<para>
To start the QEMU emulator from within Eclipse, follow these steps:
<orderedlist>
<listitem><para>Expose the <filename>Run -&gt; External Tools -&gt; External Tools
Configurations...</filename> menu.
<listitem><para>Expose the <filename>Run -&gt; External Tools</filename> menu.
Your image should appear as a selectable menu item.
</para></listitem>
<listitem><para>Select your image from the menu.
Doing so launches a new window.</para></listitem>
<listitem><para>Enter your host root password in the shell window at the prompt.
<listitem><para>Select your image in the navigation pane to launch the
emulator in a new window.</para></listitem>
<listitem><para>If needed, enter your host root password in the shell window at the prompt.
This sets up a <filename>Tap 0</filename> connection needed for running in user-space
NFS mode.</para></listitem>
<listitem><para>Wait for QEMU to launch.</para></listitem>
<listitem><para>Once QEMU launches you need to determine the IP Address
for the user-space NFS.
You can do that by going to a terminal in the QEMU and entering the
<filename>ifconfig</filename> command.</para></listitem>
<listitem><para>Once QEMU launches, you can begin operating within that
environment.
For example, you could determine the IP Address
for the user-space NFS by using the <filename>ifconfig</filename> command.
</para></listitem>
</orderedlist>
</para>
</section>
@@ -435,8 +531,8 @@
<listitem><para>Click <filename>Next</filename>.</para></listitem>
<listitem><para>Clear out the <filename>host name</filename> field and enter the IP Address
determined earlier.</para></listitem>
<listitem><para>Click <filename>Finish</filename> to close the new connections
Dialog.</para></listitem>
<listitem><para>Click <filename>Finish</filename> to close the
<filename>New Connections</filename> Dialog.</para></listitem>
<listitem><para>Use the drop-down menu now in the <filename>Connection</filename> field and pick
the IP Address you entered.</para></listitem>
<listitem><para>Click <filename>Debug</filename> to bring up a login screen

View File

@@ -31,12 +31,17 @@
<revision>
<revnumber>1.0</revnumber>
<date>6 April 2011</date>
<revremark>Initial Document released with Yocto Project 1.0 on 6 April 2011.</revremark>
<revremark>Released with the Yocto Project 1.0 Release.</revremark>
</revision>
<revision>
<revnumber>1.0.1</revnumber>
<date>23 May 2011</date>
<revremark>Released with Yocto Project 1.0.1 on 23 May 2011.</revremark>
<revremark>Released with the Yocto Project 1.0.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>6 October 2011</date>
<revremark>Released with the Yocto Project 1.1 Release.</revremark>
</revision>
</revhistory>
@@ -53,7 +58,7 @@
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and the
<ulink url='http://www.yoctoproject.org/docs/1.1/adt-manual/adt-manual.html'>
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
Application Developer's Toolkit (ADT) User's Guide</ulink> on
the <ulink url='http://www.yoctoproject.org'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.

View File

@@ -54,8 +54,8 @@
<note>
For build performance information related to the PMS, see
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#ref-classes-package'>Packaging - <filename>package*.bbclass</filename></ulink>
in <ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'>
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-classes-package'>Packaging - <filename>package*.bbclass</filename></ulink>
in <ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
The Yocto Project Reference Manual</ulink>.
</note>

View File

@@ -9,60 +9,9 @@
In order to use the ADT, you must install it, <filename>source</filename> a script to set up the
environment, and be sure both the kernel and filesystem image specific to the target architecture
exist.
This chapter describes how to be sure you meet the ADT requirements.
</para>
<para>
This chapter describes two important terms and how to be sure you meet the ADT requirements.
</para>
<section id='yocto-project-files'>
<title>Yocto Project Files and Build Areas</title>
<para>
Before learning how to prepare your system for the ADT, you need to understand
two important terms used throughout this manual:
<itemizedlist>
<listitem><para><emphasis>The Yocto Project Files:</emphasis>
This term refers to the directory structure created as a result of downloading
and unpacking a Yocto Project release tarball or setting up a Git repository
by cloning <filename>git://git.yoctoproject.org/poky</filename>.</para>
<para>The Yocto Project files contain BitBake, Documentation, metadata and
other files that all support the development environment.
Consequently, you must have the Yocto Project files in place on your development
system in order to do any development using the Yocto Project.</para>
<para>The name of the top-level directory of the Yocto Project file structure
is derived from the Yocto Project release tarball.
For example, downloading and unpacking <filename>poky-edison-6.0.tar.bz2</filename>
results in a Yocto Project source tree whose Yocto Project source directory is named
<filename>poky-edison-6.0</filename>.
If you create a Git repository, then you can name the repository anything you like.</para>
<para>You can find instruction on how to set up the Yocto Project files on your
host development system by reading the
<ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html#getting-setup'>
Getting Setup</ulink> section in
<ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html'>
The Yocto Project Development Manual</ulink>.</para></listitem>
<listitem><para><emphasis>Yocto Project Build Tree:</emphasis>
This term refers to the area where the Yocto Project builds images.
The area is created when you <filename>source</filename> the Yocto Project setup
environment script that is found in the Yocto Project files area.
(e.g. <filename>oe-init-build-env</filename>).
You can create the Yocto Project build tree anywhere you want on your
development system.
Here is an example that creates the tree in <filename>mybuilds</filename>
and names the Yocto Project build directory <filename>YP-6.0</filename>:
<literallayout class='monospaced'>
$ source poky-edison-6.0/oe-init-build-env $HOME/mybuilds/YP-6.0
</literallayout>
If you don't specifically name the build directory, then BitBake creates it
in the current directory and uses the name <filename>build</filename>.
Also, if you supply an existing directory, then BitBake uses that
directory as the Yocto Project build directory and populates the build tree
beneath it.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='installing-the-adt'>
<title>Installing the ADT</title>
@@ -70,7 +19,8 @@
The following list describes how you can install the ADT, which includes the cross-toolchain.
Regardless of the installation you choose, you must <filename>source</filename> the cross-toolchain
environment setup script before you use the toolchain.
See the "<link linkend='setting-up-the-environment'>Setting Up the Environment</link>"
See the "<link linkend='setting-up-the-cross-development-environment'>Setting Up the
Cross-Development Environment</link>"
section for more information.
<itemizedlist>
<listitem><para><emphasis>Use the ADT Installer Script:</emphasis>
@@ -85,8 +35,8 @@
If you use this method, you just get the cross-toolchain and QEMU - you do not
get any of the other mentioned benefits had you run the ADT Installer script.</para></listitem>
<listitem><para><emphasis>Use the Toolchain from within a Yocto Project Build Tree:</emphasis>
If you already have a Yocto Project build tree, you can install the cross-toolchain
using that tree.
If you already have a Yocto Project build tree, you can build the cross-toolchain
within tree.
However, like the previous method mentioned, you only get the cross-toolchain and QEMU - you
do not get any of the other benefits without taking separate steps.</para></listitem>
</itemizedlist>
@@ -106,14 +56,15 @@
<para>
The ADT Installer is contained in the ADT Installer tarball.
You can download the tarball into any directory from
<ulink url='http://autobuilder.yoctoproject.org/downloads/yocto-1.1/adt-installer/'></ulink>.
<ulink url='http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/adt_installer'></ulink>.
Or, you can use BitBake to generate the tarball inside the existing Yocto Project
build tree.
</para>
<para>
If you use BitBake to generate the ADT Installer tarball, you must
<filename>source</filename> the Yocto Project environment setup script located
<filename>source</filename> the Yocto Project environment setup script
(<filename>oe-init-build-env</filename>) located
in the Yocto Project file structure before running the <filename>bitbake</filename>
command that creates the tarball.
</para>
@@ -128,7 +79,7 @@
$ cd ~
$ mkdir yocto-project
$ cd yocto-project
$ wget http://www.yoctoproject.org/downloads/poky/poky-edison-6.0.tar.bz2
$ wget http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/poky-edison-6.0.tar.bz2
$ tar xjf poky-edison-6.0.tar.bz2
$ source poky-edison-6.0/oe-init-build-env
$ bitbake adt-installer
@@ -213,9 +164,9 @@
<note>
The ADT Installer requires the <filename>libtool</filename> package to complete.
If you install the recommended packages as described in the
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#packages'>
Packages</ulink> section of
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'>
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>Packages</ulink>"
section of
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>, then you will have libtool installed.
</note>
@@ -230,7 +181,7 @@
<para>
Once the installation completes, the ADT, which includes the cross-toolchain, is installed.
You will notice environment setup files for the cross-toolchain in
<filename>/opt/poky/$SDKVERSION</filename>,
<filename>/opt/poky/1.1</filename>,
and image tarballs in the <filename>adt-installer</filename>
directory according to your installer configurations, and the target sysroot located
according to the <filename>YOCTOADT_TARGET_SYSROOT_LOC_&lt;arch&gt;</filename> variable
@@ -245,64 +196,70 @@
<para>
If you want to simply install the cross-toolchain by hand, you can do so by using an existing
cross-toolchain tarball.
If you install the cross-toolchain by hand, you will have to set up the target sysroot separately.
If you use this method to install the cross-toolchain and you still need to install the target
sysroot, you will have to install sysroot separately.
</para>
<para>
Follow these steps:
<orderedlist>
<listitem><para>Go to
<ulink url='http://autobuilder.yoctoproject.org/downloads/yocto-1.1/toolchain'></ulink>
<ulink url='http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/toolchain'></ulink>
and find the folder that matches your host development system
(i.e. <filename>i686</filename> for 32-bit machines or
<filename>x86_64</filename> for 64-bit machines).</para></listitem>
<listitem><para>Go into that folder and download the toolchain tarball whose name
includes the appropriate target architecture.
For example, if your host development system is an Intel-based 64-bit system and
you are going to use your cross-toolchain for an ARM-based target, go into the
you are going to use your cross-toolchain for an Intel-based 32-bit target, go into the
<filename>x86_64</filename> folder and download the following tarball:
<literallayout class='monospaced'>
yocto-eglibc-x86_64-arm-toolchain-gmae-1.1.tar.bz2
</literallayout>
<note>As an alternative to steps one and two, you can build the toolchain tarball
poky-eglibc-x86_64-i586-toolchain-gmae-1.1.tar.bz2
</literallayout>
<note><para>As an alternative to steps one and two, you can build the toolchain tarball
if you have a Yocto Project build tree.
Use the <filename>bitbake meta-toolchain</filename> command after you have
sourced the <filename>oe-build-init script</filename> located in the Yocto
If you need GMAE, you should use the <filename>bitbake meta-toolchain-gmae</filename>
command.
The resulting tarball will support such development.
However, if you are not concerned with GMAE,
you can generate the tarball using <filename>bitbake meta-toolchain</filename>.</para>
<para>Use the appropriate <filename>bitbake</filename> command only after you have
sourced the <filename>oe-build-init-env</filename> script located in the Yocto
Project files.
When the <filename>bitbake</filename> command completes, the toolchain tarball will
When the <filename>bitbake</filename> command completes, the tarball will
be in <filename>tmp/deploy/sdk</filename> in the Yocto Project build tree.
</note></para></listitem>
</para></note></para></listitem>
<listitem><para>Make sure you are in the root directory with root privileges and then expand
the tarball.
The tarball expands into <filename>/opt/poky/$SDKVERSION</filename>.
Once the tarball in unpacked, the cross-toolchain is installed.
The tarball expands into <filename>/opt/poky/1.1</filename>.
Once the tarball is expanded, the cross-toolchain is installed.
You will notice environment setup files for the cross-toolchain in the directory.
</para></listitem>
</orderedlist>
</para>
<para>
After installing the toolchain, you must locate the target sysroot tarball and unpack it
into a location of your choice.
</para>
</section>
<section id='using-the-toolchain-from-within-the-build-tree'>
<title>Using BitBake and the Yocto Project Build Tree</title>
<para>
A final way of installing just the cross-toolchain is to use BitBake within an existing
Yocto Project build tree.
Follow these steps:
A final way of installing just the cross-toolchain is to use BitBake to build the
toolchain within an existing Yocto Project build tree.
This method does not install the toolchain into the <filename>/opt</filename> directory.
As with the previous method, if you need to install the target sysroot, you must
do this separately.
</para>
<para>
Follow these steps to build and install the toolchain into the build tree:
<orderedlist>
<listitem><para>Source the environment setup script located in the Yocto Project
files.
The script has the string <filename>init-build-env</filename>
as part of the name.</para></listitem>
<listitem><para>Source the environment setup script
<filename>oe-init-build-env</filename> located in the Yocto Project
files.</para></listitem>
<listitem><para>At this point, you should be sure that the
<filename>MACHINE</filename> variable
in the <filename>local.conf</filename> file found in the Yocto Project
file structure's <filename>conf</filename> directory
in the <filename>local.conf</filename> file found in the
<filename>conf</filename> directory of the Yocto Project build directory
is set for the target architecture.
Comments within the <filename>local.conf</filename> file list the values you
can use for the <filename>MACHINE</filename> variable.
@@ -313,39 +270,34 @@
command.</note></para></listitem>
<listitem><para>Run <filename>bitbake meta-ide-support</filename> to complete the
cross-toolchain installation.
<note>If you change your working directory after you
<note>If change out of your working directory after you
<filename>source</filename> the environment setup script and before you run
the BitBake command, the command will not work.
the <filename>bitbake</filename> command, the command might not work.
Be sure to run the <filename>bitbake</filename> command immediately
after checking or editing the <filename>local.conf</filename> but without
changing your working directory.</note>
Once BitBake finishes, the cross-toolchain is installed.
changing out of your working directory.</note>
Once the <filename>bitbake</filename> command finishes,
the tarball for the cross-toolchain is generated within the Yocto Project build tree.
You will notice environment setup files for the cross-toolchain in the
Yocto Project build tree in the <filename>tmp</filename> directory.
Setup script filenames contain the strings <filename>environment-setup</filename>.
</para></listitem>
</orderedlist>
</para>
<para>
After installing the toolchain, you must locate the target sysroot tarball and unpack
it in a directory of your choice.
</para>
</section>
</section>
<section id='setting-up-the-environment'>
<title>Setting Up the Environment</title>
<section id='setting-up-the-cross-development-environment'>
<title>Setting Up the Cross-Development Environment</title>
<para>
Before you can use the cross-toolchain, you need to set up the toolchain environment by
sourcing the environment setup script.
Before you can develop using the cross-toolchain, you need to set up the
cross-development environment by sourcing the toolchain's environment setup script.
If you used the ADT Installer or used an existing ADT tarball to install the ADT,
then you can find this script in the <filename>/opt/poky/$SDKVERSION</filename>
then you can find this script in the <filename>/opt/poky/1.1</filename>
directory.
If you used BitBake and the Yocto Project Build Tree to install the cross-toolchain,
then you can find the environment setup scripts in in the Yocto Project build tree
in the <filename>tmp</filename> directory.
If you installed the toolchain in the build tree, you can find the environment setup
script for the toolchain in the Yocto Project build tree's <filename>tmp</filename> directory.
</para>
<para>
@@ -353,7 +305,7 @@
which you are developing.
Environment setup scripts begin with the string “<filename>environment-setup</filename>
and include as part of their name the architecture.
For example, the environment setup script for a 64-bit IA-based architecture would
For example, the toolchain environment setup script for a 64-bit IA-based architecture would
be the following:
<literallayout class='monospaced'>
/opt/poky/1.1/environment-setup-x86_64-poky-linux
@@ -361,35 +313,128 @@
</para>
</section>
<section id='kernels-and-filesystem-images'>
<title>Kernels and Filesystem Images</title>
<section id='securing-kernel-and-filesystem-images'>
<title>Securing Kernel and Filesystem Images</title>
<para>
You will need to have a kernel and filesystem image to boot using your
hardware or the QEMU emulator.
That means you either have to build them or know where to get them.
You can find a quick example of how to build an image in the
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'>
Building an Image</ulink> section of
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>.
<note><para>
The Yocto Project provides basic kernels and filesystem images for several
hardware or the QEMU emulator.
Furthermore, if you plan on booting your image using NFS or you want to use the root filesystem
as the target sysroot, you need to extract the root filesystem.
</para>
<section id='getting-the-images'>
<title>Getting the Images</title>
<para>
To get the kernel and filesystem images, you either have to build them or download
pre-built versions.
You can find examples for both these situations in the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#test-run'>A
Quick Test Run</ulink>" section of
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>.
</para>
<para>
The Yocto Project provides basic kernel and filesystem images for several
architectures (<filename>x86</filename>, <filename>x86-64</filename>,
<filename>mips</filename>, <filename>powerpc</filename>, and <filename>arm</filename>)
that you can use unaltered in the QEMU emulator.
These kernels and filesystem images reside in the Yocto Project release
area - <ulink url='http://autobuilder.yoctoproject.org/downloads/yocto-1.1/machines/'></ulink>
and are ideal for experimentation within Yocto Project.</para>
<para>If you plan on remotely deploying and debugging your application from within the
Eclipse IDE, you must have an image that supports Sato.
For information on the image types you can build using the Yocto Project, see
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#ref-images'>
Reference: Images</ulink> in
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'>
The Yocto Project Reference Manual</ulink>.</para>
</note>
</para>
These kernel images reside in the Yocto Project release
area - <ulink url='http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/machines/'></ulink>
and are ideal for experimentation within Yocto Project.
For information on the image types you can build using the Yocto Project, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>" appendix in
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
The Yocto Project Reference Manual</ulink>.
</para>
<para>
If you plan on remotely deploying and debugging your application from within the
Eclipse IDE, you must have an image that contains the Yocto Target Communication
Framework (TCF) agent (<filename>tcf-agent</filename>).
By default, the Yocto Project provides only one type pre-built image that contains the
<filename>tcf-agent</filename>.
And, those images are SDK (e.g.<filename>core-image-sato-sdk</filename>).
</para>
<para>
If you want to use a different image type that contains the <filename>tcf-agent</filename>,
you can do so one of two ways:
<itemizedlist>
<listitem><para>Modify the <filename>conf/local.conf</filename> configuration in
the Yocto Project build directory and then rebuild the image.
With this method, you need to modify the <filename>EXTRA_IMAGE_FEATURES</filename>
variable to have the value of "tools-debug" before rebuilding the image.
Once the image is rebuilt, the <filename>tcf-agent</filename> will be included
in the image and is launched automatically after the boot.</para></listitem>
<listitem><para>Manually build the <filename>tcf-agent</filename>.
To build the agent, follow these steps:
<orderedlist>
<listitem><para>Be sure the ADT is installed as described in the
"<link linkend='installing-the-adt'>Installing the ADT</link>" section.
</para></listitem>
<listitem><para>Set up the cross-development environment as described in the
"<link linkend='setting-up-the-cross-development-environment'>Setting
Up the Cross-Development Environment</link>" section.</para></listitem>
<listitem><para>Get the <filename>tcf-agent</filename> source code, which is
stored using the Subversion SCM, using the following command:
<literallayout class='monospaced'>
$ svn checkout svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk/agent \
&lt;-r #rev_number&gt;
</literallayout></para></listitem>
<listitem><para>Modify the <filename>Makefile.inc</filename> file
for the cross-compilation environment by setting the
<filename>OPSYS</filename> and <filename>MACHINE</filename>
variables according to your target.</para></listitem>
<listitem><para>Use the cross-development tools to build the
<filename>tcf-agent</filename>.
Before you "Make" the file, be sure your cross-tools are set up first.
See the "<link linkend='makefile-based-projects'>Makefile-Based Projects</link>"
section for information on how to make sure the cross-tools are set up
correctly.</para>
<para>If the build is successful, the <filename>tcf-agent</filename> output will
be <filename>obj/$(OPSYS)/$(MACHINE)/Debug/agent</filename>.</para></listitem>
<listitem><para>Deploy the agent into the image's root filesystem.</para></listitem>
</orderedlist>
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='extracting-the-root-filesystem'>
<title>Extracting the Root Filesystem</title>
<para>
You must extract the root filesystem if you want to boot the image using NFS
or you want to use the root filesystem as the target sysroot.
For example, the Eclipse IDE environment with the Eclipse Yocto Plug-in installed allows you
to use QEMU to boot under NFS.
Another example is if you want to develop your target application using the
root filesystem as the target sysroot.
</para>
<para>
To extract the root filesystem, first <filename>source</filename>
the cross-development environment setup script and then
use the <filename>runqemu-extract-sdk</filename> command on the
filesystem image.
For example, the following commands set up the environment and then extract
the root filesystem from a previously built filesystem image tarball named
<filename>core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2</filename>.
The example extracts the root filesystem into the <filename>$HOME/qemux86-sato</filename>
directory:
<literallayout class='monospaced'>
$ source $HOME/poky/build/tmp/environment-setup-i586-poky-linux
$ runqemu-extract-sdk \
tmp/deploy/images/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2 \
$HOME/qemux86-sato
</literallayout>
In this case, you could now point to the target sysroot at
<filename>$HOME/qemux86-sato</filename>.
</para>
</section>
</section>
</chapter>

View File

@@ -966,3 +966,9 @@ table {
color: #fff;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}

View File

@@ -19,10 +19,17 @@
<authorgroup>
<author>
<firstname>Richard</firstname> <surname>Purdie</surname>
<firstname>Tom</firstname> <surname>Zanussi</surname>
<affiliation>
<orgname>Intel Corporation</orgname>
</affiliation>
<email>tom.zanussi@intel.com</email>
</author>
<author>
<firstname>Richard</firstname> <surname>Purdie</surname>
<affiliation>
<orgname>Linux Foundation</orgname>
</affiliation>
<email>richard.purdie@linuxfoundation.org</email>
</author>
</authorgroup>
@@ -30,19 +37,23 @@
<revhistory>
<revision>
<revnumber>0.9</revnumber>
<date>27 October 2010</date>
<revremark>This manual revision is the initial manual and corresponds to the
Yocto Project 0.9 Release.</revremark>
<date>24 November 2010</date>
<revremark>The initial document draft released with the Yocto Project 0.9 Release.</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>6 April 2011</date>
<revremark>This manual revision corresponds to the Yocto Project 1.0 Release.</revremark>
<revremark>Released with the Yocto Project 1.0 Release.</revremark>
</revision>
<revision>
<revnumber>1.0.1</revnumber>
<date>23 May 2011</date>
<revremark>Released with Yocto Project 1.0.1 on 23 May 2011.</revremark>
<revremark>Released with the Yocto Project 1.0.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>6 October 2011</date>
<revremark>Released with the Yocto Project 1.1 Release.</revremark>
</revision>
</revhistory>
@@ -59,7 +70,7 @@
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and the
<ulink url='http://www.yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html'>
<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html'>
Board Support Package (BSP) Developer's Guide</ulink> on
the <ulink url='http://www.yoctoproject.org'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.

View File

@@ -30,9 +30,9 @@
<note>
The information here does not provide an example of how to create a BSP.
For examples on how to create a BSP, see the
<ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html#dev-manual-bsp-appendix'>
<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#dev-manual-bsp-appendix'>
BSP Development Example</ulink> in
<ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html'>
<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>
The Yocto Project Development Manual</ulink>.
You can also see the
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>
@@ -100,10 +100,9 @@
"
</literallayout>
For more detailed information on layers, see the
<ulink url='http://www.yoctoproject.org/docs/poky-ref-manual/poky-ref-manual.html#usingpoky-changes-layers'>
BitBake Layers</ulink> section of the Yocto Project Reference Manual.
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#usingpoky-changes-layers'>BitBake Layers</ulink>" section of the Yocto Project Reference Manual.
You can also see the detailed examples in the appendices of
<ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html'>
<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>
The Yocto Project Development Manual</ulink>.
</para>
@@ -145,6 +144,9 @@
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig
meta-crownbay/recipes-core
meta-crownbay/recipes-core/tasks
meta-crownbay/recipes-core/tasks/task-core-tools.bbappend
meta-crownbay/recipes-graphics/
meta-crownbay/recipes-graphics/xorg-xserver/
meta-crownbay/recipes-graphics/xorg-xserver/emgd-driver-bin_1.6.bb
@@ -371,6 +373,24 @@
</para></note>
</section>
<section id='bsp-filelayout-core-recipes'>
<title>Core Recipe Files</title>
<para>
You can find these files in the Yocto Project file's directory structure at:
<literallayout class='monospaced'>
meta-&lt;bsp_name&gt;/recipes-core/*
</literallayout>
</para>
<para>
This directory contains recipe files for the core.
For example, in the Crown Bay BSP there is the
<filename>task-core-tools.bbappend</filename> file, which is an append file used
to recommend that the SystemTap package be included as a package when the image
is built.
</para>
</section>
<section id='bsp-filelayout-recipes-graphics'>
<title>Display Support Files</title>
<para>
@@ -522,7 +542,7 @@
The configuration options will likely end up in that location anyway if the BSP gets
added to the Yocto Project.
For information on how to add these configurations directly, see
<ulink url='http://yoctoproject.org/docs/1.1/kernel-manual/kernel-manual.html'>
<ulink url='http://yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
The Yocto Project Kernel Architecture and Use Manual</ulink>.</para>
<para>
In general, however, the Yocto Project maintainers take care of moving the
@@ -652,9 +672,9 @@
<listitem>
<para>
Get a full-featured BSP recipe rather than a key.
You can do this by visiting the applicable BSP download page from the Yocto
Project website at
<ulink url='http://yoctoproject.org/download/board-support-package-bsp-downloads'></ulink>.
You can do this by visiting the Yocto Project website's
<ulink url='http://www.yoctoproject.org/download'>Download</ulink> page and
clicking on "BSP Downloads".
BSP tarballs that have proprietary information can be downloaded after agreeing
to licensing requirements as part of the download process.
Obtaining the code this way allows you to build an encumbered image with

View File

@@ -956,3 +956,9 @@ table {
color: #fff;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}

View File

@@ -6,12 +6,15 @@
<title>BSP Development Example</title>
<para>
This appendix provides a complete BSP example.
This appendix provides a complete BSP development example.
The example assumes the following:
<itemizedlist>
<listitem><para>No previous preparation or use of the Yocto Project.</para></listitem>
<listitem><para>Use of the Crown Bay Board Support Package (BSP) as a base BSP from
which to work from.</para></listitem>
<listitem><para>Use of the Crown Bay Board Support Package (BSP) as a "base" BSP from
which to work.
The example begins with the Crown Bay BSP as the starting point
but ends by building a new 'atom-pc' BSP, which was based on the Crown Bay BSP.
</para></listitem>
<listitem><para>Shell commands assume <filename>bash</filename></para></listitem>
<listitem><para>Example was developed on an Intel-based Core i7 platform running
Ubuntu 10.04 LTS released in April of 2010.</para></listitem>
@@ -24,11 +27,30 @@
<para>
You need to have the Yocto Project files available on your host system.
You can get files through tarball extraction or by cloning the <filename>poky</filename>
Git repository.
See the bulleted item
<link linkend='local-yp-release'>Yocto Project Release</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual
for information on how to get these files.
Git repository.
The following paragraphs describe both methods.
For additional information, see the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>".
</para>
<para>
As mentioned, one way to get the Yocto Project files is to use Git to clone the
<filename>poky</filename> repository:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
$ cd poky
</literallayout>
Alternatively, you can start with the downloaded Poky "edison" tarball:
<literallayout class='monospaced'>
$ tar xfj poky-edison-6.0.tar.bz2
$ cd poky
</literallayout>
<note>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.
Consequently, there is nothing left to do other than extract those tarballs into the
proper locations.</note>
</para>
<para>
@@ -40,14 +62,13 @@
$ git branch -a
$ git tag -l
</literallayout>
For this example we are going to use the Yocto Project 1.1 Release,
which maps to the <filename>1.1</filename> branch in the repository.
These commands create a local branch named <filename>1.1</filename>
For this example we are going to use the Yocto Project 1.1 Release, which is code
named "edison".
These commands create a local branch named <filename>edison</filename>
that tracks the remote branch of the same name.
<literallayout class='monospaced'>
$ cd poky
$ git checkout -b 1.1 origin/1.1
Switched to a new branch '1.1'
$ git checkout -b edison origin/edison
Switched to a new branch 'edison'
</literallayout>
</para>
</section>
@@ -56,15 +77,20 @@
<title>Choosing a Base BSP</title>
<para>
For this example, the base BSP is the Intel Atom Processor E660 with Intel Platform
For this example, the base BSP is the <trademark class='registered'>Intel</trademark>
<trademark class='trade'>Atom</trademark> Processor E660 with Intel Platform
Controller Hub EG20T Development Kit, which is otherwise referred to as "Crown Bay."
The BSP layer is <filename>meta-crownbay</filename>.
The BSP layer is <filename>meta-crownbay</filename>.
The base BSP is simply the BSP
we will be using as a starting point, so don't worry if you don't actually have Crown Bay
hardware.
The remainder of the example transforms the base BSP into a BSP that should be
able to boot on generic atom-pc (netbook) hardware.
</para>
<para>
For information on how to choose a base BSP, see
<xref linkend='developing-a-board-support-package-bsp'>Developing a Board Support Package (BSP)</xref>
earlier in this manual.
"<link linkend='developing-a-board-support-package-bsp'>Developing a Board Support Package (BSP)</link>".
</para>
</section>
@@ -73,30 +99,59 @@
<para>
You need to have the base BSP layer on your development system.
Like the local Yocto Project files, you can get the BSP
layer one of two ways:
Similar to the local Yocto Project files, 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.
You should use the same method that you used to get the local Yocto Project files earlier.
See <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual
for information on how to get the BSP files.
</para>
<para>
This example assumes a local <filename>meta-intel</filename> Git repository
inside the local <filename>poky</filename> Git repository.
The <filename>meta-intel</filename> Git repository contains all the metadata
that supports BSP creation.
See "<link linkend='getting-setup'>Getting Setup</link>" for information on how to get
the BSP files.
</para>
<para>
This example assumes the BSP layer will be located within a directory named
<filename>meta-intel</filename> contained within the <filename>poky</filename>
parent directory.
The following steps will automatically create the
<filename>meta-intel</filename> directory and the contained
<filename>meta-crownbay</filename> starting point in both the Git and the tarball cases.
</para>
<para>
If you're using the Git method, you could do the following to create
the starting layout after you have made sure you are in the <filename>poky</filename>
directory created in the previous steps:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/meta-intel.git
$ 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
<ulink url='http://www.yoctoproject.org/download'>Download</ulink> page of the
Yocto Project website.
Here is the specific link for the tarball needed for this example:
<ulink url='http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/machines/crownbay-noemgd/crownbay-noemgd-edison-6.0.0.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-edison-6.0.0.tar.bz2
$ cd meta-intel
</literallayout>
</para>
<para>
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.
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
to be sure you are in the appropriate branch for your work.
For this example we are going to use the <filename>1.1</filename> branch.
For this example we are going to use the <filename>edison</filename> branch.
<literallayout class='monospaced'>
$ cd meta-intel
$ git checkout -b 1.1 origin/1.1
Switched to a new branch 'bernard'
$ git checkout -b edison origin/edison
Switched to a new branch 'edison'
</literallayout>
</para>
</section>
@@ -105,23 +160,20 @@
<title>Making a Copy of the Base BSP to Create Your New BSP Layer</title>
<para>
Now that you have the local Yocto Project files and the base BSP files you need to create a
Now that you have the local Yocto Project files and the base BSP files, you need to create a
new layer for your BSP.
To create your BSP layer you simply copy the <filename>meta-crownbay</filename>
To create your BSP layer, you simply copy the <filename>meta-crownbay</filename>
layer to a new layer.
</para>
<para>
For this example the new layer will be named <filename>meta-mymachine</filename>.
The name must follow the BSP layer naming convention, which is
For this example, the new layer will be named <filename>meta-mymachine</filename>.
The name should follow the BSP layer naming convention, which is
<filename>meta-&lt;name&gt;</filename>.
The following example assumes your working directory is <filename>meta-intel</filename>
The following assumes your working directory is <filename>meta-intel</filename>
inside the local Yocto Project files.
If you downloaded and expanded a Crown Bay tarball then you simply copy the resulting
<filename>meta-crownbay</filename> directory structure to a location of your choice.
Good practice for a Git repository, however, is to just copy the new layer alongside
the existing
BSP layers in the <filename>meta-intel</filename> Git repository:
To start your new layer, just copy the new layer alongside the existing
BSP layers in the <filename>meta-intel</filename> directory:
<literallayout class='monospaced'>
$ cp -a meta-crownbay/ meta-mymachine
</literallayout>
@@ -148,7 +200,7 @@
</para>
<para>
First, since in this example the new BSP will not support EMGD we will get rid of the
First, since in this example the new BSP will not support EMGD, we will get rid of the
<filename>crownbay.conf</filename> file and then rename the
<filename>crownbay-noemgd.conf</filename> file to <filename>mymachine.conf</filename>.
Much of what we do in the configuration directory is designed to help the Yocto Project
@@ -163,25 +215,32 @@
</para>
<para>
The next step makes changes to <filename>mymachine.conf</filename> itself.
The only changes needed for this example are changes to the comment lines.
Here we simply substitute the Crown Bay name with an appropriate name.
Next, we need to make changes to the <filename>mymachine.conf</filename> itself.
The only changes we want to make for this example are to the comment lines.
Changing comments, of course, is never strictly necessary, but it's alway good form to make
them reflect reality as much as possible.
Here, simply substitute the Crown Bay name with an appropriate name for the BSP
(<filename>mymachine</filename> in this case) and change the description to
something that describes your hardware.
</para>
<para>
Note that inside the <filename>mymachine.conf</filename> is the
<filename>PREFERRED_PROVIDER_virtual/kernel</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
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.
</para>
<para>
The next configuration file in the new BSP layer we need to edit is <filename>layer.conf</filename>.
The next configuration file in the new BSP layer we need to edit is
<filename>meta-mymachine/conf/layer.conf</filename>.
This file identifies build information needed for the new layer.
You can see the
<ulink url='http://www.yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html#bsp-filelayout-layer'>
Layer Configuration File</ulink> section in the Board Support Packages (BSP) Development Guide
"<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-filelayout-layer'>Layer Configuration File</ulink>" section in
<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html'>The Board
Support Packages (BSP) Development Guide</ulink>
for more information on this configuration file.
Basically, we are changing the existing statements to work with our BSP.
</para>
@@ -212,10 +271,10 @@
<para>
Now we will take a look at the recipes in your new layer.
The standard BSP structure has areas for BSP, graphics, core, and kernel recipes.
When you create a BSP you use these areas for appropriate recipes and append files.
When you create a BSP, you use these areas for appropriate recipes and append files.
Recipes take the form of <filename>.bb</filename> files.
If you want to leverage the existing recipes the Yocto Project build system uses
but change those recipes you can use <filename>.bbappend</filename> files.
but change those recipes, you can use <filename>.bbappend</filename> files.
All new recipes and append files for your layer must go in the layers
<filename>recipes-bsp</filename>, <filename>recipes-kernel</filename>,
<filename>recipes-core</filename>, and
@@ -223,7 +282,7 @@
</para>
<section id='changing-recipes-bsp'>
<title>Changing <filename>recipes-bsp</filename></title>
<title>Changing&nbsp;&nbsp;<filename>recipes-bsp</filename></title>
<para>
First, let's look at <filename>recipes-bsp</filename>.
@@ -232,7 +291,7 @@
the remaining one that doesn't support EMGD.
These commands take care of the <filename>recipes-bsp</filename> recipes:
<literallayout class='monospaced'>
$ rm -rf meta-mymachine/recipes-graphics/xorg-xserver/*emgd*
$ rm -rf meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay
$ mv meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay-noemgd/ \
meta-mymachine/recipes-bsp/formfactor/formfactor/mymachine
</literallayout>
@@ -240,7 +299,7 @@
</section>
<section id='changing-recipes-graphics'>
<title>Changing <filename>recipes-graphics</filename></title>
<title>Changing&nbsp;&nbsp;<filename>recipes-graphics</filename></title>
<para>
Now let's look at <filename>recipes-graphics</filename>.
@@ -248,7 +307,6 @@
be sure to rename remaining directories appropriately.
The following commands clean up the <filename>recipes-graphics</filename> directory:
<literallayout class='monospaced'>
$ rm -rf meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-emgd*
$ rm -rf meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay
$ mv meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd \
meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/mymachine
@@ -262,7 +320,7 @@
</section>
<section id='changing-recipes-core'>
<title>Changing <filename>recipes-core</filename></title>
<title>Changing&nbsp;&nbsp;<filename>recipes-core</filename></title>
<para>
Now let's look at changes in <filename>recipes-core</filename>.
@@ -291,7 +349,7 @@
</section>
<section id='changing-recipes-kernel'>
<title>Changing <filename>recipes-kernel</filename></title>
<title>Changing&nbsp;&nbsp;<filename>recipes-kernel</filename></title>
<para>
Finally, let's look at <filename>recipes-kernel</filename> changes.
@@ -304,13 +362,17 @@
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.
In other words, the <filename>SRCREV</filename> values are simply Git commit
IDs that identify which commit on each
of the kernel branches (machine and meta) will be checked out and used to build
the kernel.
</para>
<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
is appended to the recipe of the same name in <filename>meta/recipes-kernel/link</filename>.
is appended 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>.
</para>
@@ -321,14 +383,14 @@
Here are the statements:
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_crownbay ?= \
"372c0ab135978bd8ca3a77c88816a25c5ed8f303"
"2247da9131ea7e46ed4766a69bb1353dba22f873"
SRCREV_meta_pn-linux-yocto_crownbay ?= \
"d5d3c6480d61f83503ccef7fbcd765f7aca8b71b"
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= \
"372c0ab135978bd8ca3a77c88816a25c5ed8f303"
"2247da9131ea7e46ed4766a69bb1353dba22f873"
SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= \
"d5d3c6480d61f83503ccef7fbcd765f7aca8b71b"
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
</literallayout>
</para>
@@ -343,30 +405,54 @@
</para>
<para>
To fix this situation in <filename>linux-yocto_3.0.bbappend</filename>
To fix this situation in <filename>linux-yocto_3.0.bbappend</filename>,
we delete the two <filename>SRCREV</filename> statements that support
EMGD (the top pair).
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
need to use the <filename>SRCREV</filename> values for the atom-pc branch
that are associated with the edison 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>
file.
</para>
<para>
The machine <filename>SRCREV</filename> we want is in the
<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.
Here are the final <filename>SRCREV</filename> statements:
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"fce17f046d3756045e4dfb49221d1cf60fcae329"
"1e18e44adbe79b846e382370eb29bc4b8cd5a1a0"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"84f1a422d7e21fbc23a687035bdf9d42471f19e0"
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
</literallayout>
</para>
<para>
If you are familiar with Git repositories you probably wont have trouble locating the
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.
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.
However, if you do base a future BSP on master and
if you are familiar with Git repositories, you probably wont have trouble locating the
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
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-2.6.37'>here</ulink>
[WRITER's NOTE: Need new link to the 3.0 source repo area when it is available].
branch points (commits) for the <filename>linux-yocto-3.0</filename> kernel at
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0'></ulink>.
</para>
<para>
@@ -395,19 +481,25 @@
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
we find in the
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.0.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
the edits:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_mymachine = "mymachine"
KMACHINE_mymachine = "yocto/standard/mymachine"
KMACHINE_mymachine = "yocto/standard/common-pc/atom-pc"
KERNEL_FEATURES_append_mymachine += " cfg/smp.scc"
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"fce17f046d3756045e4dfb49221d1cf60fcae329"
"1e18e44adbe79b846e382370eb29bc4b8cd5a1a0"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"84f1a422d7e21fbc23a687035bdf9d42471f19e0"
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
</literallayout>
</para>
</section>
@@ -421,7 +513,7 @@
statements that do not support your targeted hardware in addition to the inclusion
of any new recipes you might need.
In this example, it was simply a matter of ridding the new layer
<filename>meta-machine</filename> of any code that supported the EMGD features
<filename>meta-mymachine</filename> of any code that supported the EMGD features
and making sure we were identifying the kernel that supports our example, which
is the <filename>atom-pc-standard</filename> kernel.
We did not introduce any new recipes to the layer.
@@ -456,7 +548,7 @@
Thus, entering the previous command created the <filename>yocto-build</filename> directory.
If you do not provide a name for the build directory it defaults to
<filename>build</filename>.
The <filename>yocot-build</filename> directory contains a
The <filename>yocto-build</filename> directory contains a
<filename>conf</filename> directory that has
two configuration files you will need to check: <filename>bblayers.conf</filename>
and <filename>local.conf</filename>.</para></listitem>
@@ -470,9 +562,10 @@
You should also be sure any other variables in which you are interested are set.
Some variables to consider are <filename>BB_NUMBER_THREADS</filename>
and <filename>PARALLEL_MAKE</filename>, both of which can greatly reduce your build time
if you are using a multi-threaded development system (e.g. values of
<filename>8</filename> and <filename>j 6</filename>, respectively are optimal
for a development machine that has four available cores).</para></listitem>
if your development system supports multiple cores.
For development systems that support multiple cores, a good rule of thumb is to set
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>.
@@ -486,14 +579,14 @@
<para>
The appendix
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#ref-variables-glos'>
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-variables-glos'>
Reference: Variables Glossary</ulink> in the Yocto Project Reference Manual has more information
on configuration variables.
</para>
</section>
<section id='building-the-image-app'>
<title>Building the Image</title>
<title>Building and Booting the Image</title>
<para>
To build the image for our <filename>meta-mymachine</filename> BSP enter the following command
@@ -502,7 +595,7 @@
For example, moving your working directory around could cause problems.
Here is the command for this example:
<literallayout class='monospaced'>
$ bitbake k core-image-sato-live
$ bitbake -k core-image-sato
</literallayout>
</para>
@@ -514,6 +607,63 @@
If the build results in any type of error you should check for misspellings in the
files you changed or problems with your host development environment such as missing packages.
</para>
<para>
Finally, once you have an image, you can try booting it from a device
(e.g. a USB device).
To prepare a bootable USB device, insert a USB flash drive into your build system and
copy the <filename>.hddimg</filename> file, located in the
<filename>poky/build/tmp/deploy/images</filename>
directory after a successful build to the flash drive.
Assuming the USB flash drive takes device <filename>/dev/sdf</filename>,
use <filename>dd</filename> to copy the live image to it.
For example:
<literallayout class='monospaced'>
# dd if=core-image-sato-mymachine-20111101223904.hddimg of=/dev/sdf
# sync
# eject /dev/sdf
</literallayout>
You should now have a bootable USB flash device.
</para>
<para>
Insert the device
into a bootable USB socket on the target, and power it on.
The system should boot to the Sato graphical desktop.
<footnote><para>Because
this new image is not in any way tailored to the system you're
booting it on, which is assumed to be some sort of atom-pc (netbook) system for this
example, it might not be completely functional though it should at least boot to a text
prompt.
Specifically, it might fail to boot into graphics without some tweaking.
If this ends up being the case, a possible next step would be to replace the
<filename>mymachine.conf</filename>
contents with the contents of <filename>atom-pc.conf</filename> and replace
<filename>xorg.conf</filename> with <filename>atom-pc xorg.conf</filename>
in <filename>meta-yocto</filename> and see if it fares any better.
In any case, following the previous steps will give you a buildable image that
will probably boot on most systems.
Getting things working like you want
them to for your hardware will normally require some amount of experimentation with
configuration settings.</para></footnote>
</para>
<para>
For reference, the sato image produced by the previous steps for edison
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
</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
new BSP.
That file and the <filename>README.hardware</filename> file in the top-level
<filename>poky</filename> directory
also provides some suggestions for things to try if booting fails and produces
strange error messages.</note>
</para>
</section>
</appendix>

View File

@@ -4,179 +4,178 @@
<chapter id='dev-manual-intro'>
<title>The Yocto Project Development Manual</title>
<section id='intro'>
<title>Introduction</title>
<para>
WRITER NOTE: The goal of this manual is to provide an over-arching development guide for using the Yocto Project.
The intent is to give the reader the “big picture” around development.
Much of the information in the manual will be detailed in other manuals.
For example, detailed information on Git, repositories and open-source in general can be found in many places.
Another example is getting set up to use the Yocto Project, which our Yocto Project Quick Start covers.
However, this manual needs to at least address it.
One might ask “What becomes of the Poky Reference Manual?”
This manual, over time, needs to develop into a pure reference manual where all procedural information
eventually ends up in an appropriate guide.
A good example of information perfect for the Poky Reference Manual is the appendix on variable
definitions (glossary).
</para>
<para>
Welcome to the Yocto Project Development Manual!
This manual gives you an idea of how to use the Yocto Project to develop embedded Linux
images and user-space applications to run on targeted devices.
Reading this manual gives you an overview of image, kernel, and user-space application development
using the Yocto Project.
Because much of the information in this manual is general, it contains many references to other
sources where you can find more detail.
For example, detailed information on Git, repositories and open source in general
can be found in many places.
Another example is how to get set up to use the Yocto Project, which our Yocto Project Quick Start covers.
</para>
<section id='intro'>
<title>Introduction</title>
<para>
The Yocto Project Development Manual, however, does provide detailed examples on how to create a
Board Support Package (BSP), change the kernel source code, and re-configure the kernel.
You can find this information in the appendices of the manual.
</para>
</section>
<para>
Welcome to the Yocto Project Development Guide!
This guide provides a general view of the development process using the Yocto Project.
This guide is just that a guide.
It helps you understand the bigger picture involving development using the Yocto Project.
</para>
</section>
<section id='what-this-manual-provides'>
<title>What this Manual Provides</title>
<section id='what-this-manual-provides'>
<title>What this Manual Provides</title>
<para>
The following list describes what you can get from this guide:
<itemizedlist>
<listitem><para>Information that lets you get set
up to develop using the Yocto Project.</para></listitem>
<listitem><para>Information to help developers who are new to the open source environment
and to the distributed revision control system Git, which the Yocto Project
uses.</para></listitem>
<listitem><para>An understanding of common end-to-end development models.</para></listitem>
<listitem><para>Development case overviews for both system development and user-space
applications.</para></listitem>
<listitem><para>An overview and understanding of the emulation environment used with
the Yocto Project (QEMU).</para></listitem>
<!-- <listitem><para>A discussion of target-level analysis techniques, tools, tips,
and tricks.</para></listitem>
<listitem><para>Considerations for deploying your final product.</para></listitem> -->
<listitem><para>An understanding of basic kernel architecture and
concepts.</para></listitem>
<!-- <listitem><para>Information that will help you migrate an existing project to the
Yocto Project development environment.</para></listitem> -->
<listitem><para>Many references to other sources of related information.</para></listitem>
</itemizedlist>
</para>
</section>
<para>
The following list describes what you can get from this guide:
<itemizedlist>
<listitem><para>Information that lets you get set
up to develop using the Yocto Project.</para></listitem>
<listitem><para>Information to help developers that are new to the open source environment
and to the distributed revision control system Git, which the Yocto Project
uses.</para></listitem>
<listitem><para>An understanding of common end-to-end development models.</para></listitem>
<listitem><para>Development case overviews for both system development and user-space
applications.</para></listitem>
<listitem><para>An overview and understanding of the emulation environment used with
the Yocto Project (QEMU).</para></listitem>
<listitem><para>A discussion of target-level analysis techniques, tools, tips,
and tricks.</para></listitem>
<listitem><para>Considerations for deploying your final product.</para></listitem>
<listitem><para>An understanding of basic kernel architecture and
concepts.</para></listitem>
<listitem><para>Information that will help you migrate an existing project to the
Yocto Project development environment.</para></listitem>
<listitem><para>Many references to other sources of related information.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='what-this-manual-does-not-provide'>
<title>What this Manual Does Not Provide</title>
<section id='what-this-manual-does-not-provide'>
<title>What this Manual Does Not Provide</title>
<para>
This manual will not give you the following:
<itemizedlist>
<listitem><para>Step-by-step instructions if those instructions exist in other Yocto
Project documentation.
For example, the Application Development Toolkit (ADT) Users Guide contains detailed
instruction on how to obtain and configure the
<trademark class='trade'>Eclipse</trademark> Yocto Plug-in.</para></listitem>
<listitem><para>Reference material.
This type of material resides in an appropriate reference manual.
For example, system variables are documented in the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
Yocto Project Reference Manual</ulink>.</para></listitem>
<listitem><para>Detailed public information that is not specific to the Yocto Project.
For example, exhaustive information on how to use Git is covered better through the
Internet than in this manual.</para></listitem>
</itemizedlist>
</para>
</section>
<para>
This manual will not give you the following:
<itemizedlist>
<listitem><para>Step-by-step instructions if those instructions exist in other Yocto
Project documentation.
For example, The Application Development Toolkit (ADT) Users Guide contains detailed
instruction on how to obtain and configure the Eclipse Yocto Plug-in.</para></listitem>
<listitem><para>Reference material.
This type of material resides in an appropriate reference manual.
For example, system variables are documented in the Poky Reference Manual.</para></listitem>
<listitem><para>Detailed public information that is not specific to the Yocto Project.
For example, exhaustive information on how to use Git is covered better through the
Internet than in this manual.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='other-information'>
<title>Other Information</title>
<section id='other-information'>
<title>Other Information</title>
<para>
Because this manual presents overview information for many different topics, you will
need to supplement it with other information.
The following list presents other sources of information you might find helpful:
<itemizedlist>
<listitem><para><emphasis>The <ulink url='http://www.yoctoproject.org'>Yocto Project Website</ulink>:
</emphasis> The home page for the Yocto Project provides lots of information on the project
as well as links to software and documentation.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>:</emphasis> This short document lets you get started
with the Yocto Project quickly and start building an image.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'>
The Yocto Project Reference Manual</ulink>:</emphasis> This manual is a reference
guide to the Yocto Project build component known as "Poky."
The manual also contains a reference chapter on Board Support Package (BSP)
layout.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/1.1/adt-manual/adt-manual.html'>
The Yocto Project Application Development Toolkit (ADT) User's Guide</ulink>:</emphasis>
This guide provides information that lets you get going with the ADT to
develop projects using the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html'>
The Yocto Project Board Support Package (BSP) Developer's Guide</ulink>:</emphasis>
This guide defines the structure for BSP components.
Having a commonly understood structure encourages standardization.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/1.1/kernel-manual/kernel-manual.html'>
The Yocto Project Kernel Architecture and Use Manual</ulink>:</emphasis>
This manual describes the architecture of the Yocto Project kernel and provides
some work flow examples.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.youtube.com/watch?v=3ZlOu-gLsh0'>
Yocto Eclipse Plug-in</ulink>:</emphasis> A step-by-step instructional video that
demonstrates how an application developer uses Yocto Plug-in features within
the Eclipse IDE.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://wiki.yoctoproject.org/wiki/FAQ'>FAQ</ulink>:</emphasis>
A list of commonly asked questions and their answers.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/download/yocto/yocto-project-1.0-release-notes-poky-5.0'>
Release Notes</ulink>:</emphasis> Features, updates and known issues for the current
release of the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://bugzilla.yoctoproject.org/'>Bugzilla</ulink>:</emphasis>
The bug tracking application the Yocto Project uses.
If you find problems with the Yocto Project, you should report them using this
application.</para></listitem>
<listitem><para><emphasis>
Yocto Project Mailing Lists:</emphasis> To subscribe to the Yocto Project mailing
lists, click on the following URLs and follow the instructions:
<itemizedlist>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/yocto'></ulink> for a
Yocto Discussions mailing list.</para></listitem>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/poky'></ulink> for a
Yocto Project Discussions mailing list.</para></listitem>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/yocto-announce'></ulink>
for a mailing list to receive offical Yocto Project announcements for developments and
as well as Yocto Project milestones.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis>Internet Relay Chat (IRC):</emphasis>
Two IRC channels on freenode are available
for Yocto Project and Poky discussions: <filename>#yocto</filename> and
<filename>#poky</filename>.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.openedhand.com/'>OpenedHand</ulink>:</emphasis>
The company where the Yocto Project build system Poky was first developed.
OpenedHand has since been acquired by Intel Corporation.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.intel.com/'>Intel Corporation</ulink>:</emphasis>
The company who acquired OpenedHand in 2008 and continues development on the
Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.openembedded.org/'>OpenEmbedded</ulink>:</emphasis>
The upstream, generic, embedded distribution the Yocto Project build system (Poky) derives
from and to which it contributes.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://developer.berlios.de/projects/bitbake/'>
Bitbake</ulink>:</emphasis> The tool used to process Yocto Project metadata.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://bitbake.berlios.de/manual/'>
BitBake User Manual</ulink>:</emphasis> A comprehensive guide to the BitBake tool.
</para></listitem>
<listitem><para><emphasis>
<ulink url='http://pimlico-project.org/'>Pimlico</ulink>:</emphasis>
A suite of lightweight Personal Information Management (PIM) applications designed
primarily for handheld and mobile devices.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://wiki.qemu.org/Index.html'>QEMU</ulink>:
</emphasis> An open source machine emulator and virtualizer.</para></listitem>
</itemizedlist>
</para>
</section>
<para>
Because this manual presents overview information for many different topics, you will
need to supplement it with other information.
The following list presents other sources of information you might find helpful:
<itemizedlist>
<listitem><para><emphasis>The <ulink url='http://www.yoctoproject.org'>Yocto Project Website</ulink>:
</emphasis> The home page for the Yocto Project provides lots of information on the project
as well as links to software and documentation.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>:</emphasis> This short document lets you get started
with the Yocto Project quickly and start building an image.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
The Yocto Project Reference Manual</ulink>:</emphasis> This manual is a reference
guide to the Yocto Project build component known as "Poky."
The manual also contains a reference chapter on Board Support Package (BSP)
layout.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
The Yocto Project Application Development Toolkit (ADT) User's Guide</ulink>:</emphasis>
This guide provides information that lets you get going with the ADT to
develop projects using the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html'>
The Yocto Project Board Support Package (BSP) Developer's Guide</ulink>:</emphasis>
This guide defines the structure for BSP components.
Having a commonly understood structure encourages standardization.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
The Yocto Project Kernel Architecture and Use Manual</ulink>:</emphasis>
This manual describes the architecture of the Yocto Project kernel and provides
some work flow examples.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.youtube.com/watch?v=3ZlOu-gLsh0'>
Yocto Eclipse Plug-in</ulink>:</emphasis> A step-by-step instructional video that
demonstrates how an application developer uses Yocto Plug-in features within
the Eclipse IDE.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://wiki.yoctoproject.org/wiki/FAQ'>FAQ</ulink>:</emphasis>
A list of commonly asked questions and their answers.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/download/yocto/yocto-project-1.1-release-notes-poky-6.0'>
Release Notes</ulink>:</emphasis> Features, updates and known issues for the current
release of the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://bugzilla.yoctoproject.org/'>Bugzilla</ulink>:</emphasis>
The bug tracking application the Yocto Project uses.
If you find problems with the Yocto Project, you should report them using this
application.</para></listitem>
<listitem><para><emphasis>
Yocto Project Mailing Lists:</emphasis> To subscribe to the Yocto Project mailing
lists, click on the following URLs and follow the instructions:
<itemizedlist>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/yocto'></ulink> for a
Yocto Project Discussions mailing list.</para></listitem>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/poky'></ulink> for a
Yocto Project Discussions mailing list about the Poky build system.</para></listitem>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/yocto-announce'></ulink>
for a mailing list to receive offical Yocto Project announcements for developments and
as well as Yocto Project milestones.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis>Internet Relay Chat (IRC):</emphasis>
Two IRC channels on freenode are available
for Yocto Project and Poky discussions: <filename>#yocto</filename> and
<filename>#poky</filename>.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.openedhand.com/'>OpenedHand</ulink>:</emphasis>
The company where the Yocto Project build system Poky was first developed.
OpenedHand has since been acquired by Intel Corporation.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.intel.com/'>Intel Corporation</ulink>:</emphasis>
The company that acquired OpenedHand in 2008 and continues development on the
Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.openembedded.org/'>OpenEmbedded</ulink>:</emphasis>
The upstream, generic, embedded distribution the Yocto Project build system (Poky) derives
from and to which it contributes.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://developer.berlios.de/projects/bitbake/'>
BitBake</ulink>:</emphasis> The tool used to process Yocto Project metadata.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://bitbake.berlios.de/manual/'>
BitBake User Manual</ulink>:</emphasis> A comprehensive guide to the BitBake tool.
</para></listitem>
<listitem><para><emphasis>
<ulink url='http://pimlico-project.org/'>Pimlico</ulink>:</emphasis>
A suite of lightweight Personal Information Management (PIM) applications designed
primarily for handheld and mobile devices.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://wiki.qemu.org/Index.html'>QEMU</ulink>:
</emphasis> An open-source machine emulator and virtualizer.</para></listitem>
</itemizedlist>
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -47,7 +47,7 @@
<listitem><para>The <filename>poky-extras</filename> Git repository placed
within the local Yocto Project files Git repository</para></listitem>
<listitem><para>A bare clone of the Linux Yocto kernel upstream Git
repository that you want to modify
repository to which you want to push your modifications.
</para></listitem>
<listitem><para>A copy of that bare clone in which you make your source
modifcations</para></listitem>
@@ -56,9 +56,10 @@
<para>
The following figure summarizes these four areas.
Within each rectangular that represents a data structure an URL appears at the
Within each rectangular that represents a data structure, a
host development directory pathname appears at the
lower left-hand corner of the box.
These URLs are the locations used in this example.
These pathnames are the locations used in this example.
The figure also provides key statements and commands used during the kernel
modification process:
</para>
@@ -74,13 +75,12 @@
<listitem><para><emphasis>Local Yocto Project Files Git Repository:</emphasis>
This area contains all the metadata that supports building images in the
Yocto Project build environment - the local Yocto Project files.
The Local Yocto Project files Git repository also contains the build directory
The local Yocto Project files Git repository also contains the build directory
and a configuration directory that let you control the build.
Note also that in this example the repository also contains the
Note also that in this example, the repository also contains the
<filename>poky-extras</filename> Git repository.</para>
<para>See the bulleted item
<link linkend='local-yp-release'>Yocto Project Release</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual
"<link linkend='local-yp-release'>Yocto Project Release</link>"
for information on how to get these files.</para></listitem>
<listitem><para><emphasis><filename>poky-extras</filename> Git Repository:</emphasis>
This area contains the <filename>meta-kernel-dev</filename> layer,
@@ -91,9 +91,8 @@
(or really any) kernel recipes that faciliate the creation and development
of kernel features, BSPs or configurations.</para>
<para>See the bulleted item
<link linkend='poky-extras-repo'>The
<filename>poky-extras</filename> Git Repository</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual
"<link linkend='poky-extras-repo'>The
<filename>poky-extras</filename> Git Repository</link>"
for information on how to get these files.</para></listitem>
<listitem><para><emphasis>Bare Clone of the Linux Yocto kernel:</emphasis>
This bare Git repository tracks the upstream Git repository of the Linux
@@ -105,8 +104,7 @@
<filename>poky-extras</filename> repository points to the bare clone
so that the build process can locate the locally changed source files.</para>
<para>See the bulleted item
<link linkend='local-kernel-files'>Linux Yocto Kernel</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual
"<link linkend='local-kernel-files'>Linux Yocto Kernel</link>"
for information on how to set up the bare clone.
</para></listitem>
<listitem><para><emphasis>Copy of the Linux Yocto Kernel Bare Clone:</emphasis>
@@ -114,9 +112,14 @@
Any changes you make to files in this location need to ultimately be pushed
to the bare clone using the <filename>git push</filename> command.</para>
<para>See the bulleted item
<link linkend='local-kernel-files'>Linux Yocto Kernel</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual
"<link linkend='local-kernel-files'>Linux Yocto Kernel</link>"
for information on how to set up the bare clone.
<note>Typically, Git workflows follow a scheme where changes made to a local area
are pulled into a Git repository.
However, because the <filename>git pull</filename> command does not work
with bare clones, this workflow pushes changes to the
repository even though you could use other more complicated methods to
get changes into the bare clone.</note>
</para></listitem>
</itemizedlist>
</para>
@@ -131,8 +134,7 @@
This example uses <filename>poky</filename> as the root directory of the
local Yocto Project files Git repository.
See the bulleted item
<link linkend='local-yp-release'>Yocto Project Release</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual
"<link linkend='local-yp-release'>Yocto Project Release</link>"
for information on how to get these files.
</para>
@@ -146,14 +148,14 @@
$ git branch -a
$ git tag -l
</literallayout>
This example uses the Yocto Project 1.1_M3 Release,
which maps to the <filename>1.1_M3</filename> branch in the repository.
The following commands create and checkout the local <filename>1.1_M3</filename>
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>
branch:
<literallayout class='monospaced'>
$ git checkout -b 1.1_M3 origin/1.1_M3
Branch 1.1_M3 set up to track remote branch 1.1_M3 from origin.
Switched to a new branch '1.1_M3'
$ git checkout -b edison origin/edison
Branch edison set up to track remote branch edison from origin.
Switched to a new branch 'edison'
</literallayout>
</para>
</section>
@@ -165,9 +167,8 @@
This example places the <filename>poky-extras</filename> Git repository inside
of <filename>poky</filename>.
See the bulleted item
<link linkend='poky-extras-repo'>The
<filename>poky-extras</filename> Git Repository</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual
"<link linkend='poky-extras-repo'>The
<filename>poky-extras</filename> Git Repository</link>"
for information on how to get the <filename>poky-extras</filename> repository.
</para>
</section>
@@ -180,8 +181,7 @@
Thus, you need to create a bare clone of that kernel and then make a copy of the
bare clone.
See the bulleted item
<link linkend='local-kernel-files'>Linux Yocto Kernel</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual
"<link linkend='local-kernel-files'>Linux Yocto Kernel</link>"
for information on how to do that.
</para>
@@ -196,7 +196,8 @@
<literallayout class='monospaced'>
$ cd ~/linux-yocto-3.0
$ git checkout -b common-pc-base origin/yocto/standard/common-pc/base
Branch common-pc-base set up to track remote branch yocto/standard/common-pc/base from origin.
Branch common-pc-base set up to track remote branch
yocto/standard/common-pc/base from origin.
Switched to a new branch 'common-pc-base'
</literallayout>
</para>
@@ -220,11 +221,15 @@
If your host development system supports multi-core and multi-thread capabilities,
you can uncomment these statements and set the variables to significantly shorten
the full build time.
As a guideline, set <filename>BB_NUMBER_THREADS</filename> to twice the number
of cores your machine supports and set <filename>PARALLEL_MAKE</filename> to one and
a half times the number of cores your machine supports.
As a guideline, set both <filename>BB_NUMBER_THREADS</filename> and
<filename>PARALLEL_MAKE</filename> to twice the number
of cores your machine supports.
</note>
The following commands build the default <filename>qemux86</filename> image:
</para>
<para>
The following two commands build the default <filename>qemux86</filename> image and
<filename>source</filename> build environment setup script.
If necessary, the script creates the build directory:
<literallayout class='monospaced'>
$ cd ~/poky
$ source oe-init-build-env
@@ -242,15 +247,14 @@
meta-ide-support
You can also run generated qemu images with a command like 'runqemu qemux86'
$ bitbake -k core-image-minimal
</literallayout>
</para>
<para>
The <filename>source</filename> command sets up the build environment and,
if necessary, creates the build directory.
The following <filename>bitbake</filename> command starts the build.
The following <filename>bitbake</filename> command starts the build:
<literallayout class='monospaced'>
$ bitbake -k core-image-minimal
</literallayout>
<note>Be sure to check the settings in the <filename>local.conf</filename>
before starting the build.</note>
</para>
@@ -298,8 +302,7 @@
<literallayout class='monospaced'>
void __cpuinit calibrate_delay(void)
{
unsigned long ticks, loopbit;
int lps_precision = LPS_PREC;
unsigned long lpj;
static bool printed;
if (preset_lpj) {
@@ -315,8 +318,7 @@
<literallayout class='monospaced'>
void __cpuinit calibrate_delay(void)
{
unsigned long ticks, loopbit;
int lps_precision = LPS_PREC;
unsigned long lpj;
static bool printed;
printk("*************************************\n");
printk("* *\n");
@@ -374,24 +376,24 @@
change the target architecture of the machine you are building or you move
the bare clone, copy of the clone, or the <filename>poky-extras</filename> repository:
<itemizedlist>
<listitem><para><emphasis>Build for the Correct Target Architecture</emphasis> - The
<listitem><para><emphasis>Build for the Correct Target Architecture:</emphasis> The
<filename>local.conf</filename> file in the build directory defines the build's
target architecture.
By default, <filename>MACHINE</filename> is set to
<filename>qemux86</filename>, which specifies a 32-bit Intel Architecture
<filename>qemux86</filename>, which specifies a 32-bit
<trademark class='registered'>Intel</trademark> Architecture
target machine suitable for the QEMU emulator.
In this example, <filename>MACHINE</filename> is correctly configured.
</para></listitem>
<listitem><para><emphasis>Optimize Build Time</emphasis> - Also in the
<listitem><para><emphasis>Optimize Build Time:</emphasis> Also in the
<filename>local.conf</filename> file are two variables that can speed your
build time if your host supports multi-core and multi-thread capabilities:
<filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>.
If the host system has multiple cores then you can optimize build time
by setting <filename>BB_NUMBER_THREADS</filename> to twice the number of
cores and setting <filename>PARALLEL_MAKE</filename> to one and a half times the
number of cores.</para></listitem>
by setting both these variables to twice the number of
cores.</para></listitem>
<listitem><para><emphasis>Identify Your <filename>meta-kernel-dev</filename>
Layer</emphasis> - The <filename>BBLAYERS</filename> variable in the
Layer:</emphasis> The <filename>BBLAYERS</filename> variable in the
<filename>bblayers.conf</filename> file found in the
<filename>poky/build/conf</filename> directory needs to have the path to your local
<filename>meta-kernel-dev</filename> layer.
@@ -408,7 +410,7 @@
/home/scottrif/poky/poky-extras/meta-kernel-dev \
"
</literallayout></para></listitem>
<listitem><para><emphasis>Identify Your Source Files</emphasis> - In the
<listitem><para><emphasis>Identify Your Source Files:</emphasis> In the
<filename>linux-yocto_3.0.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
@@ -421,7 +423,7 @@
<literallayout class='monospaced'>
KSRC_linux_yocto ?= /home/scottrif/linux-yocto-3.0.git
</literallayout></para></listitem>
<listitem><para><emphasis>Specify the Kernel Machine</emphasis> - Also in the
<listitem><para><emphasis>Specify the Kernel Machine:</emphasis> Also in the
<filename>linux-yocto_3.0.bbappend</filename> file, you need to specify
the kernel machine with the following statement:
<literallayout class='monospaced'>
@@ -451,14 +453,15 @@
<orderedlist>
<listitem><para>Your environment should be set up since you previously sourced
the <filename>oe-init-build-env</filename> script.
If it isn't, source the script again from <filename>poky</filename>
If it isn't, source the script again from <filename>poky</filename>.
</para></listitem>
<listitem><para>Be sure old images are cleaned out by running the
<filename>cleanall</filename> BitBake task as follows:
<literallayout class='monospaced'>
$ cd ~/poky
$ bitbake -c cleanall linux-yocto
</literallayout></para>
<para><note>Never remove by hand any files from the <filename>tmp/deploy</filename>
<para><note>Never remove any files by hand from the <filename>tmp/deploy</filename>
directory insided the local Yocto Project files build directory.
Always use the BitBake <filename>cleanall</filename> task to clear
out previous builds.</note></para></listitem>
@@ -466,14 +469,12 @@
<literallayout class='monospaced'>
$ bitbake -k core-image-minimal
</literallayout></para></listitem>
</orderedlist>
</para>
<para>
Finally, boot the modified image in the QEMU emulator using this command:
<literallayout class='monospaced'>
<listitem><para>Finally, boot the modified image in the QEMU emulator
using this command:
<literallayout class='monospaced'>
$ runqemu qemux86
</literallayout>
</literallayout></para></listitem>
</orderedlist>
</para>
<para>
@@ -495,8 +496,8 @@
<title>Changing the Kernel Configuration</title>
<para>
This example changes the default behavior (off) of the Symmetric Multi-processing Support
(<filename>CONFIG_SMP</filename>) to on.
This example changes the default behavior, which is "off", of the Symmetric
Multi-processing Support (<filename>CONFIG_SMP</filename>) to "on".
It is a simple example that demonstrates how to reconfigure the kernel.
</para>
@@ -505,45 +506,60 @@
<para>
If you took the time to work through the example that modifies the kernel source code
in <xref linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source
Code</xref> you are set up to quickly work through this example.
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.
</para>
<para>
If you don't have the Yocto Project files established on your system,
See "<link linkend='setting-up-the-local-yocto-project-files-git-repository'>Setting
Up the Local Yocto Project Files Git Repository</link>" for
information.
To reconfigure the kernel, this is the only Git repository you need to have set up.
</para>
<!--
<para>
If you took the time to work through the example that modifies the kernel source code
in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source
Code</link>" you are already set up to quickly work through this example.
If not, then work through the following list to prepare:
<itemizedlist>
<listitem><para><emphasis>Understand the development environment:</emphasis>
See <xref linkend='understanding-the-files-you-need'>
Understanding the Files You Need</xref> for information.</para></listitem>
See "<link linkend='understanding-the-files-you-need'>Understanding
the Files You Need</link>" for information.</para></listitem>
<listitem><para><emphasis>Set up the local Yocto Project files Git
repository:</emphasis>
See <xref linkend='setting-up-the-local-yocto-project-files-git-repository'>
Setting Up the Local Yocto Project Files Git Repository</xref> for
See "<link linkend='setting-up-the-local-yocto-project-files-git-repository'>Setting
Up the Local Yocto Project Files Git Repository</link>" for
information.</para></listitem>
<listitem><para><emphasis>Set up the <filename>poky-extras</filename> Git
repository:</emphasis>
See <xref linkend='setting-up-the-poky-extras-git-repository'>
Setting Up <filename>poky-extras</filename> Git repository</xref> for
See "<link linkend='setting-up-the-poky-extras-git-repository'>Setting
Up <filename>poky-extras</filename> Git repository</link>" for
information.</para></listitem>
<listitem><para><emphasis>Set up the the bare clone and its copy:</emphasis>
See <xref linkend='setting-up-the-bare-clone-and-its-copy'>
Setting Up the Bare Clone and its Copy</xref> for information.
</para></listitem>
See "<link linkend='setting-up-the-bare-clone-and-its-copy'>Setting Up the
Bare Clone and its Copy</link>" for information.</para></listitem>
<listitem><para><emphasis>Build the default QEMU kernel image:</emphasis>
See <xref linkend='building-and-booting-the-default-qemu-kernel-image'>
Building and Booting the Default QEMU Kernel image</xref>
for information.
See "<link linkend='building-and-booting-the-default-qemu-kernel-image'>Building
and Booting the Default QEMU Kernel image</link>" for information.
Do not boot the image in the QEMU emulator at this point.</para></listitem>
</itemizedlist>
</para>
</para> -->
</section>
<section id='examining-the-default-config-smp-behavior'>
<title>Examining the Default <filename>CONFIG_SMP</filename> Behavior</title>
<title>Examining the Default&nbsp;&nbsp;<filename>CONFIG_SMP</filename> Behavior</title>
<para>
By default, <filename>CONFIG_SMP</filename> supports single processor machines.
To see this default setting from within the QEMU emulator boot your image using
To see this default setting from within the QEMU emulator, boot your image using
the emulator as follows:
<literallayout class='monospaced'>
$ runqemu qemux86
$ runqemu qemux86 qemuparams="-smp 2"
</literallayout>
</para>
@@ -557,16 +573,18 @@
processor : 0
#
</literallayout>
Logout of the emulator using the <filename>exit</filename> command and
then close it down.
</para>
</section>
<section id='changing-the-config-smp-configuration-using-menuconfig'>
<title>Changing the <filename>CONFIG_SMP</filename> Configuration Using <filename>menuconfig</filename></title>
<title>Changing the&nbsp;&nbsp;<filename>CONFIG_SMP</filename> Configuration Using&nbsp;&nbsp;<filename>menuconfig</filename></title>
<para>
The <filename>menuconfig</filename> tool provides an interactive method with which
to set kernel configurations.
You need to run <filename>menuconfig</filename> inside the BitBake environment.
You need to run <filename>menuconfig</filename> inside the Yocto BitBake environment.
Thus, the environment must be set up using the <filename>oe-init-build-env</filename>
script found in the Yocto Project files Git repository build directory.
If you have not sourced this script do so with the following commands:
@@ -579,7 +597,7 @@
<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</filename>
In this example, we are basing our changes on the <filename>linux-yocto-3.0</filename>
kernel.
The Yocto Project build environment recognizes this kernel as
<filename>linux-yocto</filename>.
@@ -596,23 +614,29 @@
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.
Then, exit out and save your selections.
</para>
<para>
Once you save the selection the <filename>.config</filename> configuration file
Once you save the selection, the <filename>.config</filename> configuration file
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
the build directory.
This example uses the following:
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:
<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-2.6.37+git1+84f...
...r20/linux-qemux86-standard-build
</literallayout>
</para>
<para>
Within the <filename>.config</filename> you can see the following setting:
Within the <filename>.config</filename> file, you can see the following setting:
<literallayout class='monospaced'>
CONFIG_SMP=y
</literallayout>
@@ -621,13 +645,19 @@
<para>
A good method to isolate changed configurations is to use a combination of the
<filename>menuconfig</filename> tool and simple shell commands.
Before changing configurations with <filename>menuconfig</filename> simply rename
the default <filename>.config</filename>, use <filename>menuconfig</filename> to make
Before changing configurations with <filename>menuconfig</filename>, copy the
existing <filename>.config</filename> and rename it to something else,
use <filename>menuconfig</filename> to make
as many changes an you want and save them, then compare the renamed configuration
file against the newly created file.
You can use the resulting differences as your base to create configuration fragments
to permanently save in your kernel layer.
For an example of this procedure, see [WRITER'S NOTE: need forwarding link to section].
<note>
Be sure to make a copy of the <filename>.config</filename> and don't just
rename it.
The Yocto Project build system needs an existing <filename>.config</filename>
from which to work.
</note>
</para>
</section>
@@ -635,7 +665,7 @@
<title>Recompiling the Kernel and Testing the New Configuration</title>
<para>
At this point you are ready to recompile your kernel image with
At this point, you are ready to recompile your kernel image with
the new setting in effect using the BitBake commands below:
<literallayout class='monospaced'>
$ bitbake linux-yocto -c compile -f
@@ -646,7 +676,7 @@
<para>
Now run the QEMU emulator:
<literallayout class='monospaced'>
$ runqemu qemux86
$ runqemu qemux86 qemuparams="-smp 2"
</literallayout>
</para>
@@ -662,7 +692,7 @@
</para>
<para>
From the output you can see that you have successfully reconfigured the kernel.
From the output, you can see that you have successfully reconfigured the kernel.
</para>
</section>
</section>
@@ -671,13 +701,14 @@
<title>Adding Kernel Recipes</title>
<para>
This section presents an example that adds kernel recipes, which provide
A future release of this manual will present an example that adds kernel recipes, which provide
new functionality to the kernel.
</para>
<para>
[Example to be supplied]
</para>
<imagedata fileref="figures/wip.png"
width="2in" depth="3in" align="center" scalefit="1" />
</para>
</section>

View File

@@ -9,16 +9,23 @@
Many development models exist for which you can use the Yocto Project.
However, for the purposes of this manual we are going to focus on two common ones:
System Development and User Application Development.
System Development covers Board Support Package (BSP) development and kernel modification.
System Development covers Board Support Package (BSP) development and kernel modification
or configuration.
User Application Development covers development of applications that you intend to run on some
target hardware.
</para>
<para>
This chapter presents overviews of both system and application models.
If you want to reference specific examples of these development models,
see <xref linkend='dev-manual-bsp-appendix'>BSP Development Example</xref> and
<xref linkend='dev-manual-kernel-appendix'>Kernel Modification Example</xref>.
If you want to examine specific examples of the system development models,
see the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>"
appendix and the
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>" appendix.
For a user-space application development example that uses the
<trademark class='trade'>Eclipse</trademark> IDE,
see the
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
The Yocto Project Application Development Toolkit (ADT) User's Guide</ulink>.
</para>
<section id='system-development-model'>
@@ -27,41 +34,41 @@
<para>
System development involves modification or creation of an image that you want to run on
a specific hardware target.
Usually when you want to create an image that runs on embedded hardware the image does
not require the same amount of features that a full-fledged Linux distribution provides.
Thus, you can create a much smaller image that is designed to just use the hardware
Usually, when you want to create an image that runs on embedded hardware, the image does
not require the same number of features that a full-fledged Linux distribution provides.
Thus, you can create a much smaller image that is designed to use only the hardware
features for your particular hardware.
</para>
<para>
To help you understand how system development works in the Yocto Project, this section
covers two types of image development: BSP creation and kernel modification
(see <xref linkend='kernel-spot'></xref>).
covers two types of image development: BSP creation and kernel modification or
configuration.
</para>
<section id='developing-a-board-support-package-bsp'>
<title>Developing a Board Support Package (BSP)</title>
<para>
A BSP is a package of recipes that when applied during a build results in
an image you can run on a particular board.
A BSP is a package of recipes that, when applied, during a build results in
an image that you can run on a particular board.
Thus, the package, when compiled into the new image, supports the operation of the board.
</para>
<note>
For a brief list of terms used when describing the development process in the Yocto Project,
see <xref linkend='yocto-project-terms'>Yocto Project Terms</xref> in this manual.
see the "<link linkend='yocto-project-terms'>Yocto Project Terms</link>" section.
</note>
<para>
The remainder of this section presents the basic steps to create a BSP basing it on an
existing BSP that ships with the Yocto Project.
You can reference <xref linkend='dev-manual-bsp-appendix'>BSP Development Example</xref>
for a detailed example that uses the Crown Bay BSP as a base BSP from which to start.
The remainder of this section presents the basic steps used to create a BSP
based on an existing BSP that ships with the Yocto Project.
You can reference the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>"
appendix for a detailed example that uses the Crown Bay BSP as a base BSP from which to start.
</para>
<para>
This illustration and the following list summarizes the BSP creation general workflow.
The following illustration and list summarize the BSP creation general workflow.
</para>
<para>
@@ -71,37 +78,38 @@
<para>
<orderedlist>
<listitem><para><emphasis>Set up your host development system to support
development using the Yocto Project</emphasis>: See
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>
The Linux Distributions</ulink> section and
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#packages'>
The Packages</ulink> section both
development using the Yocto Project</emphasis>: See the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>The Linux Distributions</ulink>" and the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the Yocto Project files on your
system</emphasis>: You need to have the Yocto Project files available on your host system.
Having the Yocto Project files on your system gives you access to the build
process and tools you need.
process and to the tools you need.
For information on how to get these files, see the
<xref linkend='getting-setup'>Getting Setup</xref> section in this manual.</para></listitem>
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the base BSP files</emphasis>: Having
the BSP files on your system gives you access to the build
process and tools you need.
For information on how to get these files, see
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual.</para></listitem>
process and to the tools you need for creating a BSP.
For information on how to get these files, see the
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
<listitem><para><emphasis>Choose a Yocto Project-supported BSP as your base BSP</emphasis>:
The Yocto Project ships with several BSPs that support various hardware.
It is best to base your new BSP on an existing BSP rather than create all the
recipes and configuration files from scratch.
While it is possible to create everything from scratch, basing your new BSP
on something that is close is much easier.
Or, at a minimum, it gives you some structure with which to start.</para>
Or, at a minimum, leveraging off an existing BSP
gives you some structure with which to start.</para>
<para>At this point you need to understand your target hardware well enough to determine which
existing BSP it most closely matches.
Things to consider are your hardwares on-board features such as CPU type and graphics support.
Things to consider are your hardwares on-board features, such as CPU type and graphics support.
You should look at the README files for supported BSPs to get an idea of which one
you could use.
A generic Atom-based BSP to consider is the Crown Bay that does not support
the Intel® Embedded Media Graphics Driver (EMGD).
A generic <trademark class='registered'>Intel</trademark>
<trademark class='trade'>Atom</trademark>-based BSP to consider is the
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='http://www.yoctoproject.org/download'>download page</ulink> and click
@@ -110,35 +118,34 @@
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.
In fact, a BSP is, in itself, a special type of layer.
Consider an application as another example that illustrates a layer.
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.
The layer, in this case, would be where all the recipes that define those dependencies
are kept. The key point for a layer is that it is an isolated area that contains
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>
<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 local Yocto Project files.
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.
On the other hand, BSP layers for Crown Bay, Emenlow, Jasper Forest,
N450, and Sugar Bay are isolated.</note>
<para>When you set up a layer for a new BSP you should follow a standard layout.
This layout is described in the
<ulink url='http://www.yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html#bsp-filelayout'>
Example Filesystem Layout</ulink> section of the Board Support Package (BSP) Development
Guide.
In the standard layout you will notice a suggested structure for recipes and
<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='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-filelayout'>Example Filesystem Layout</ulink>" section of the Board Support Package (BSP) Development Guide.
In the standard layout, you will notice a suggested structure for recipes and
configuration information.
You can see the standard layout for the Crown Bay BSP in this example by examining the
directory structure of the <filename>meta-crownbay</filename> layer inside the
local Yocto Project files.</para></listitem>
<listitem><para><emphasis>Make configuration changes to your new BSP
layer</emphasis>: The standard BSP layer structure organizes the files you need to edit in
<filename>conf</filename> and several <filename>recipes-*</filename> within the
<filename>conf</filename> and several <filename>recipes-*</filename> directories within the
BSP layer.
Configuration changes identify where your new layer is on the local system
and identify which kernel you are going to use.
@@ -148,23 +155,21 @@
recipes you don't use, and adding new recipes that you need to support your hardware.
</para></listitem>
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
changes to your BSP layer there remains a few things
changes to your BSP layer, there remains a few things
you need to do for the Yocto Project build system in order for it to create your image.
You need to get the build environment ready by sourcing an environment setup script
and you need to be sure two key configuration files are configured appropriately.</para>
<para>The entire process for building an image is overviewed in the
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'>
Building an Image</ulink> section of the Yocto Project Quick Start.
<para>The entire process for building an image is overviewed in the section
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section of the Yocto Project Quick Start.
You might want to reference this information.</para></listitem>
<listitem><para><emphasis>Build the image</emphasis>: The Yocto Project uses the BitBake
tool to build images based on the type of image you want to create.
You can find more information on BitBake
<ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para>
<para>The build process supports several types of images to satisfy different needs.
See
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#ref-images'>
Reference: Images</ulink> in the
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'>
See the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>" appendix in the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
Yocto Project Reference Manual</ulink>for information on supported images.</para></listitem>
</orderedlist>
</para>
@@ -173,11 +178,11 @@
You can view a video presentation on "Building Custom Embedded Images with Yocto"
at <ulink url='http://free-electrons.com/blog/elc-2011-videos'>Free Electrons</ulink>.
You can also find supplemental information in
<ulink url='http://yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html'>
<ulink url='http://yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html'>
The Board Support Package (BSP) Development Guide</ulink>.
Finally, there is wiki page write up of the example located
Finally, there is wiki page write up of the example also located
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>
here</ulink> you might find helpful.
here</ulink> that you might find helpful.
</para>
</section>
@@ -186,7 +191,7 @@
<para>
Kernel modification involves changing the Linux Yocto kernel, which could involve changing
configuration variables as well as adding new kernel recipes.
configuration options as well as adding new kernel recipes.
Configuration changes can be added in the form of configuration fragments, while recipe
modification comes through the kernel's <filename>recipes-kernel</filename> area
in a kernel layer you create.
@@ -196,9 +201,10 @@
The remainder of this section presents a high-level overview of the Linux Yocto
kernel architecture and the steps to modify the Linux Yocto kernel.
For a complete discussion of the kernel, see
<ulink url='http://www.yoctoproject.org/docs/1.1/kernel-manual/kernel-manual.html'>
<ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
The Yocto Project Kernel Architecture and Use Manual</ulink>.
You can reference <xref linkend='dev-manual-kernel-appendix'>Kernel Modification Example</xref>
You can reference the appendix
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>"
for a detailed example that changes the configuration of a kernel.
</para>
@@ -206,10 +212,11 @@
<title>Kernel Overview</title>
<para>
When one thinks of the source files for a kernel they usually think of a fixed structure
of files that contain kernel patches.
The Yocto Project, however, employs mechanisims, that in a sense, result in a kernel source
Traditionally, when one thinks of a patched kernel, they think of a base kernel
source tree and a fixed structure that contains kernel patches.
The Yocto Project, however, employs mechanisms, that in a sense, result in a kernel source
generator.
By the end of this section, this analogy will become clearer.
</para>
<para>
@@ -232,8 +239,8 @@
</para>
<para>
The kernels are maintained using the Git application that, in a sense, structures
them in a "tree" complete with branches and leaves.
The kernels are maintained using the Git revision control system
that structures them using the familiar "tree", "branch", and "leaf" scheme.
Branches represent diversions from general code to more specific code, while leaves
represent the end-points for a complete and unique kernel whose source files
when gathered from the root of the tree to the leaf accumulate to create the files
@@ -246,7 +253,7 @@
<para>
Within the figure, the "Kernel.org Branch Point" represents the point in the tree
where a supported base kernel diverges from the Linux kernel.
where a supported base kernel is modified from the Linux kernel.
For example, this could be the branch point for the <filename>linux-yocto-3.0</filename>
kernel.
Thus, everything further to the right in the structure is based on the
@@ -260,7 +267,7 @@
<para>
The overall result is a Git-maintained repository from which all the supported
Yocto Project kernels can be derived for all the supported Yocto Project devices.
Yocto Project kernel types can be derived for all the supported Yocto Project devices.
A big advantage to this scheme is the sharing of common features by keeping them in
"larger" branches within the tree.
This practice eliminates redundant storage of similar features shared among kernels.
@@ -342,7 +349,7 @@
<para>
Again, for a complete discussion of the Yocto Project kernel's architcture and its
branching strategy,
see the <ulink url='http://www.yoctoproject.org/docs/1.1/kernel-manual/kernel-manual.html'>
see the <ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
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>
@@ -358,24 +365,22 @@
</para>
<para>
<imagedata fileref="figures/kernel-dev-flow.png" width="6in" depth="7in" align="center" scalefit="1" />
<imagedata fileref="figures/kernel-dev-flow.png"
width="6in" depth="7.5in" align="center" scalefit="1" />
</para>
<para>
<orderedlist>
<listitem><para><emphasis>Set up your host development system to support
development using the Yocto Project</emphasis>: See
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>
The Linux Distributions</ulink> section and
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#packages'>
The Packages</ulink> section both
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the Yocto Project files on your
system</emphasis>: Having the Yocto Project files on your system gives you access to
the build process and tools you need.
For information on how to get these files, see the bulleted item
<link linkend='local-yp-release'>Yocto Project Release</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual.
"<link linkend='local-yp-release'>Yocto Project Release</link>" earlier in this manual.
</para></listitem>
<listitem><para><emphasis>Set up the <filename>poky-extras</filename> Git
repository</emphasis>: This repository is the area for your configuration
@@ -384,85 +389,97 @@
It is good practice to set this repository up inside the local Yocto
Project files Git repository.
For information on how to get these files, see the bulleted item
<link linkend='poky-extras-repo'>The
<filename>poky-extras</filename> Git Repository</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual.
</para></listitem>
"<link linkend='poky-extras-repo'>The <filename>poky-extras</filename> Git Repository</link>"
earlier in this manual.
<note>While it is certainly possible to modify the kernel without involving
a local Git repository, the suggested workflow for kernel modification
using the Yocto Project does use a Git repository.</note></para></listitem>
<listitem><para><emphasis>Establish a local copy of the Linux Yocto kernel files on your
system</emphasis>: In order to make modifications to the kernel you need two things:
a bare clone of the Linux Yocto kernel you are modifying and a copy of that
bare clone.
a bare clone of the Linux Yocto kernel you are modifying and
a copy of that bare clone.
The bare clone is required by the build process and is the area to which you
push your kernel source changes.
push your kernel source changes (pulling does not work with bare clones).
The copy of the bare clone is a local Git repository that contains all the kernel's
source files.
You make your changes to the files in this copy of the bare clone.
For information on how to set these two items up, see the bulleted item
<link linkend='local-kernel-files'>Linux Yocto Kernel</link> in
<xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual.
</para></listitem>
"<link linkend='local-kernel-files'>Linux Yocto Kernel</link>"
earlier in this manual.</para></listitem>
<listitem><para><emphasis>Make changes to the kernel source code if
applicable</emphasis>: Modifying the kernel does not always mean directly
changing source files.
However, if you have to do this then you make the changes in the local
However, if you have to do this, you make the changes in the local
Git repository you set up to hold the source files (i.e. the copy of the
bare clone).
Once the changes are made you need to use Git commands to commit the changes
Once the changes are made, you need to use Git commands to commit the changes
and then push them to the bare clone.</para></listitem>
<listitem><para><emphasis>Make kernel configuration changes
to your local kernel layer if applicable</emphasis>:
If your situation calls for changing the kernel's configuration you can
if applicable</emphasis>:
If your situation calls for changing the kernel's configuration, you can
use <filename>menuconfig</filename>
to enable and disable kernel configurations.
Using <filename>menuconfig</filename> allows you to develop and test the
configuration changes you are making to the kernel.</para></listitem>
<listitem><para><emphasis>Add new kernel recipes if applicable</emphasis>: The standard
Using <filename>menuconfig</filename> allows you to interactively develop and test the
configuration changes you are making to the kernel.
When saved, changes using <filename>menuconfig</filename> update the kernel's
<filename>.config</filename>.
Try to resist the temptation of directly editing the <filename>.config</filename>
file found in the Yocto Project build directory at
<filename>tmp/sysroots/&lt;machine-name&gt;/kernel</filename>.
Doing so, can produce unexpected results when the Yocto Project build system
regenerates the configuration file.</para>
<para>Once you are satisfied with the configuration changes made using
<filename>menuconfig</filename>, you can directly examine the
<filename>.config</filename> file against a saved original and gather those
changes into a config fragment to be placed inside a
<filename>.bbappend</filename></para></listitem>
<listitem><para><emphasis>Add or extend kernel recipes if applicable</emphasis>:
The standard
layer structure organizes recipe files inside the
<filename>meta-kernel-dev</filename> layer that is within the
<filename>poky-extras</filename> Git repository.
If you need to add new kernel recipes you add them within this layer.
Also within this area you will find the <filename>.bbappend</filename>
If you need to add new kernel recipes, you add them within this layer.
Also within this area, you will find the <filename>.bbappend</filename>
file that appends information to the kernel's recipe file used during the
build.
</para></listitem>
<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 for the Yocto Project build system in order for it to create your image.
If you have not done so you need to get the build environment ready by sourcing
or recipe changes), there remains a few things
you need to do in order for the Yocto Project build system 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
(<filename>local.conf</filename> and <filename>bblayers.conf</filename>)
are configured appropriately.</para>
<para>The entire process for building an image is overviewed in the
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'>
Building an Image</ulink> section of the Yocto Project Quick Start.
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section of the Yocto Project Quick Start.
You might want to reference this information.
Also, you should look at the detailed examples found in the appendices at
end of this manual.</para></listitem>
<listitem><para><emphasis>Build the image</emphasis>: The Yocto Project uses the BitBake
at the end of this manual.</para></listitem>
<listitem><para><emphasis>Build the image</emphasis>: The Yocto Project
build system Poky uses the BitBake
tool to build images based on the type of image you want to create.
You can find more information on BitBake
<ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para>
<para>The build process supports several types of images to satisfy different needs.
See
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#ref-images'>
Reference: Images</ulink> in the
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'>
See the appendix
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>" in the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
Yocto Project Reference Manual</ulink> for information on supported
images.</para></listitem>
<listitem><para><emphasis>Make your configuration changes available
in the kernel layer</emphasis>: Up to this point all the configuration changes to the
in the kernel layer</emphasis>: Up to this point, all the configuration changes to the
kernel have been done and tested iteratively.
Once they are tested and ready to go you can move them into the kernel layer,
which allows you to distribute the layer.
[WRITER'S NOTE: Not sure if the layer is meta-kernel-dev or if it would be
a new layer copied from the work done there.]</para></listitem>
<listitem><para><emphasis>Push your configuration and recipe changes upstream to the
linux Yocto Git repository (in-tree changes)</emphasis>: If the changes you made
are suited for all Linux Yocto users you might want to push the changes up into
the Linux Yocto Git repository so that they become part of the kernel tree
and available to everyone using the kernel.</para></listitem>
Once they are tested and ready to go, you can move them into the kernel layer,
which allows you to distribute the layer.</para></listitem>
<listitem><para><emphasis>If applicable, share your in-tree changes</emphasis>:
If the changes you made
are suited for all Linux Yocto users, you might want to send them on for inclusion
into the Linux Yocto Git repository.
If the changes are accepted, the Yocto Project Maintainer pulls them into
the master branch of the kernel tree.
Doing so makes them available to everyone using the kernel.</para></listitem>
</orderedlist>
</para>
</section>
@@ -470,11 +487,194 @@
</section>
<section id='place-holder-section-two'>
<title>Place-Holder Section For Application Development</title>
<title>Application Development Workflow</title>
<para>
Text needed here.
Application development involves creation of an application that you want to be able
to run on your target hardware, which is running a Linux Yocto image.
The Yocto Project provides an Application Development Toolkit (ADT) that
facilitates quick development and integration of your application into its run-time environment.
Using the ADT you can employ cross-development toolchains designed for your target hardware
to compile and link your application.
You can then deploy your application to the actual hardware or to the QEMU emulator for testing.
If you are familiar with the popular Eclipse IDE, you can use an Eclipse Yocto Plug-in to
allow you to develop, deploy, and test your application all from within Eclipse.
</para>
<para>
While we strongly suggest using the Yocto Project ADT to develop your application, you might
not want to.
If this is the case, you can still use pieces of the Yocto Project for your development process.
However, because the process can vary greatly, this manual does not provide detail on the process.
</para>
<section id='workflow-using-the-adt-and-eclipse'>
<title>Workflow Using the ADT and <trademark class='trade'>Eclipse</trademark></title>
<para>
To help you understand how application development works in the Yocto Project ADT
environment, this section
provides an overview of the general development process.
If you want to see a detailed example of the process as it is used from within the Eclipse
IDE, see
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
The Application Development Toolkit (ADT) User's Manual</ulink>.
</para>
<para>
This illustration and the following list summarizes the application development general workflow.
</para>
<para>
<imagedata fileref="figures/app-dev-flow.png"
width="7in" depth="8in" align="center" scale="100" />
</para>
<para>
<orderedlist>
<listitem><para><emphasis>Prepare the Host System for the Yocto Project</emphasis>:
See
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<!--
WRITER NOTE: The areas to get the kernel and root filesystem are located in the Index of
downloads. There are many forms of each. The files that have "rootfs" are just the
target root filesystems. The file that is very small and starts with bzImage is just
the kernel image isolated so that it can be written to a special on-board area of
flash memory. Some systems require this. In the machines directory there are
files that combine the kernel image and the root filesystem. These files are the ISO
and HDDIMG files. ISO images are designed to be deployed on a DVD or CD. The ISO
images are designed to be deployed on a USB stick. There might be some relics in
the machine directory. For example, there is the "emenlow-bernard-5.0.0.tar.bz2"
file. Nobody seems to know what this is. If a developer needs the image and the
root filesystem I think that they want the small kernel image and a matching root
filesystem. Although, Paul Eggleton says that the HDDIMG types could be used to
develop on. I am not sure that we can use one of those in the ADT though as they
want you to point to the kernel image and the target root filesystem. Maybe you
could just point to the same spot. I am not sure.
-->
<listitem><para><emphasis>Secure the Linux Yocto Kernel Target Image</emphasis>:
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.
<itemizedlist>
<listitem><para>Download the image from
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/'>
<filename>machines</filename></ulink> if your target architecture is supported
and you are going to develop and test your application on actual hardware.
</para></listitem>
<listitem><para>Download the image from the
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/qemu/'>
<filename>machines/qemu</filename></ulink> if your target architecture is supported
and you are going to develop and test your application using the QEMU
emulator.</para></listitem>
<listitem><para>Build your image if you cannot find a pre-built image that matches
your target architecture.
If your target architecture is similar to a supported architecture, you can
modify the kernel image before you build it.
See the
"<link linkend='kernel-modification-workflow'>Kernel Modification Workflow</link>"
section earlier in this manual for information on how to create a modified
Linux Yocto kernel.</para></listitem>
</itemizedlist></para>
<para>For information on pre-built kernel image naming schemes for images
that can run on the QEMU emulator, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
section in
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>.</para></listitem>
<listitem><para><emphasis>Install the ADT</emphasis>:
The ADT provides a target-specific cross-development toolchain, the root filesystem,
the QEMU emulator, and other tools that can help you develop your application.
While it is possible to get these pieces separately, the Yocto Project provides an
easy method.
You can get these pieces by running an ADT installer script, which is configurable.
For information on how to install the ADT, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html#using-the-adt-installer'>Using the ADT Installer</ulink>" section in
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>The Yocto Project
Application Development (ADT) User's Manual</ulink>.</para></listitem>
<listitem><para><emphasis>If Applicable, Secure the Target Root Filesystem</emphasis>:
If you choose not to install the ADT using the ADT Installer,
you need to find and download the
appropriate root filesystems.
You can find these tarballs in the same areas used for the kernel images.
Depending on the type of image you are running, the root filesystem you need differs.
For example, if you are developing an application that runs on an image that
supports Sato, you need to get root filesystem that supports Sato.
</para></listitem>
<listitem><para><emphasis>Create and Build your Application</emphasis>:
At this point, you need to have source files for your application.
Once you have the files, you can use the Eclipse IDE to import them and build the
project.
If you are not using Eclipse, you need to use the cross-development tools you have
installed to create the image.</para></listitem>
<listitem><para><emphasis>Deploy the Image with the Application</emphasis>:
If you are using the Eclipse IDE, you can deploy your image to the hardware or to
QEMU through the project's preferences.
If you are not using the Eclipse IDE, then you need to deploy the application using
other methods to the hardware.
Or, if you are using QEMU, you need to use that tool and load your image in for testing.
</para></listitem>
<listitem><para><emphasis>Test and Debug the Application</emphasis>:
Once your application is deployed, you need to test it.
Within the Eclipse IDE, you can use the debubbing environment along with the
set of user-space tools installed along with the ADT to debug your application.
Of course, the same user-space tools are available separately to use if you choose
not to use the Eclipse IDE.</para></listitem>
</orderedlist>
</para>
</section>
<section id='workflow-without-adt'>
<title>Workflow Without ADT</title>
<para>
If you want to develop an application outside of the Yocto Project ADT environment, you
can still employ the cross-development toolchain, the QEMU emulator, and a number of supported
target image files.
You just need to follow these general steps:
<orderedlist>
<listitem><para><emphasis>Install the cross-development toolchain for your target hardware:</emphasis>
For information on how to install the toolchain, see the
"<ulink url='http://www.yoctoproject/docs/1.1/adt-manual/adt-manual.html#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" section in
<ulink url='http://www.yoctoproject/docs/1.1/adt-manual/adt-manual.html'>The Yocto Project
Application Development (ADT) User's Manual</ulink>.</para></listitem>
<listitem><para><emphasis>Download the Target Image:</emphasis> The Yocto Project supports
several target architectures and has many pre-built kernel images and root filesystem
images.</para>
<para>If you are going to develop your application on hardware, go to the
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/'>
<filename>machines</filename></ulink> download area and choose a target machine area
from which to download the kernel image and root filesystem.
This download area could have several files in it that support development using
actual hardware.
For example, the area might contain <filename>.hddimg</filename> files that combine the
kernel image with the filesystem, boot loaders, etc.
Be sure to get the files you need for your particular development process.</para>
<para>If you are going to develop your application and then run and test it using the QEMU
emulator, go to the
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/qemu/'>
<filename>machines/qemu</filename></ulink> download area.
From this area, go down into the directory for your target architecture
(e.g. <filename>qemux86_64</filename> for an
<trademark class='registered'>Intel</trademark>-based 64-bit architecture).
Download kernel, root filesystem, and any other files you need for your process.
<note>In order to use the root filesystem in QEMU, you need to extract it.
See the
"<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html#extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>" section for information on how to extract the
root filesystem.</note></para></listitem>
<listitem><para><emphasis>Develop and Test your Application:</emphasis> At this point,
you have the tools to develop your application.
If you need to separately install and use the QEMU emulator, you can go to
<ulink url='http://www.qemu.org'>QEMU Home Page</ulink> to download and learn about the
emulator.</para></listitem>
</orderedlist>
</para>
</section>
</section>
</chapter>

View File

@@ -7,12 +7,12 @@
<para>
This chapter helps you understand the Yocto Project as an open source development project.
In general, working in an open-source environment is very different than working in a
proprietary environment.
In general, working in an open source environment is very different from working in a
closed, proprietary environment.
Additionally, the Yocto Project uses specific tools and constructs as part of its development
environment.
The chapter specifically addresses open source philosophy, licensing issues, code repositories,
the open source distributed version control system Git, and best practices using Yocto Project.
This chapter specifically addresses open source philosophy, licensing issues, code repositories,
the open source distributed version control system Git, and best practices using the Yocto Project.
</para>
<section id='open-source-philosophy'>
@@ -20,10 +20,10 @@
<para>
Open source philosophy is characterized by software development directed by peer production
and collaboration through a concerned community of developers.
and collaboration through an active community of developers.
Contrast this to the more standard centralized development models used by commercial software
companies where a finite set of developers produce a product for sale using a defined set
of procedures that ultimately result in an end-product whose architecture and source material
of procedures that ultimately result in an end product whose architecture and source material
are closed to the public.
</para>
@@ -33,23 +33,21 @@
stake in the software project.
The open source environment contains new copyright, licensing, domain, and consumer issues
that differ from the more traditional development environment.
In an open source environment the end-product, source material, and documentation are
In an open source environment, the end product, source material, and documentation are
all available to the public at no cost.
</para>
<para>
A benchmark example of an open source project is the Linux Kernel, which was initially conceived
and created by Finnish computer science student Linus Torvalds in 1991.
Conversely, a good example of a non-open source project is the Windows family of operating
systems developed by Microsoft Corporation.
Conversely, a good example of a non-open source project is the
<trademark class='registered'>Windows</trademark> family of operating
systems developed by <trademark class='registered'>Microsoft</trademark> Corporation.
</para>
<para>
Wikipedia has a good historical description of the Open Source Philosophy
<ulink url='http://en.wikipedia.org/wiki/Open_source'>here</ulink>.
</para>
<para>
You can also find helpful information on how to participate in the Linux Community
<ulink url='http://ldn.linuxfoundation.org/book/how-participate-linux-community'>here</ulink>.
</para>
@@ -66,21 +64,21 @@
From the interface, you can click on any particular item in the "Name" column and
see the URL at the bottom of the page that you need to set up a Git repository for
that particular item.
The ability to create Git repositories of the Yocto Project source allows you to
Having a local Git repository of the Yocto Project files allows you to
make changes, contribute to the history, and ultimately enhance the Yocto Project's
tools, Board Support Packages, and so forth.
</para>
<para>
Conversely, if you are a developer that is not interested in contributing back to the
Yocto Project you have the ability to simply download and extract release tarballs
Yocto Project, you have the ability to simply download and extract release tarballs
and use them within the Yocto Project environment.
All that is required is a particular release of Yocto Project, a kernel, and
All that is required is a particular release of the Yocto Project and
your application source code.
</para>
<para>
For any supported release of Yocto Project you can go to the Yocto Project websites
For any supported release of Yocto Project, you can go to the Yocto Project websites
<ulink url='http://www.yoctoproject.org/download'>download page</ulink> and get a
tarball of the release.
You can also go to this site to download any supported BSP tarballs.
@@ -103,12 +101,13 @@
<para>
<imagedata fileref="figures/source-repos.png" align="center" width="6in" depth="4in" />
</para></listitem>
<listitem><para><anchor id='index-downloads' /><emphasis><ulink url='http://autobuilder.yoctoproject.org/downloads/'>Index of /downloads:</ulink></emphasis>
This area contains an index of the Eclipse-plugin, miscellaneous support, poky, pseudo, and
all released versions of Yocto Project in the form of images or tarballs.
<listitem><para><anchor id='index-downloads' /><emphasis><ulink url='http://downloads.yoctoproject.org/releases/'>Index of /releases:</ulink></emphasis>
This area contains an index of downloads such as
the <trademark class='trade'>Eclipse</trademark>
Yocto Plug-in, miscellaneous support, Poky, pseudo, cross-development toolchains,
and all released versions of Yocto Project in the form of images or tarballs.
Downloading and extracting these files does not produce a Git repository but rather
a snapshot of a particular release or image.
[WRITER NOTE: link will be http://downloads.yoctoproject.org.]</para>
a snapshot of a particular release or image.</para>
<para>
<imagedata fileref="figures/index-downloads.png" align="center" width="6in" depth="4in" />
</para></listitem>
@@ -116,7 +115,7 @@
This page on the Yocto Project website allows you to download any Yocto Project
release or Board Support Package (BSP) in tarball form.
The tarballs are similar to those found in the
<ulink url='http://autobuilder.yoctoproject.org/downloads/'>Index of /downloads:</ulink> area.</para>
<ulink url='http://downloads.yoctoproject.org/releases/'>Index of /releases:</ulink> area.</para>
<para>
<imagedata fileref="figures/yp-download.png" align="center" width="6in" depth="4in" />
</para></listitem>
@@ -130,77 +129,119 @@
<para>
Following is a list of terms and definitions users new to the Yocto Project development
environment might find helpful.
Some terms are universal but are included here just in case:
While some of these terms are universal, the list includes them just in case:
<itemizedlist>
<listitem><para><emphasis>Image</emphasis> - An image is the result produced when
<listitem><para><emphasis>Append Files:</emphasis> Files that append build information to
a recipe file.
Information in append files overrides the information in the similarly-named recipe file.
Append files use the <filename>.bbappend</filename> filename suffix.</para></listitem>
<listitem><para><emphasis>BitBake:</emphasis> The task executor and scheduler used by
the Yocto Project to build images.
For more information on BitBake, see the <ulink url='http://bitbake.berlios.de/manual/'>
BitBake documentation</ulink>.</para></listitem>
<listitem><para><emphasis>Classes:</emphasis> Files that provide for logic encapsulation
and inheritance allowing commonly used patterns to be defined once and easily used
in multiple recipes.
Class files end with the <filename>.bbclass</filename> filename extension.</para></listitem>
<listitem><para><emphasis>Configuration File:</emphasis> Configuration information in various
<filename>.conf</filename> files provides global definitions of variables.
The <filename>conf/local.conf</filename> configuration file in the Yocto Project
build directory contains user-defined variables that affect each build.
The <filename>meta-yocto/conf/distro/poky.conf</filename> configuration file
defines Yocto distro configuration
variables used only when building with this policy.
Machine configuration files, which
are located throughout the Yocto Project file structure, define
variables for specific hardware and are only used when building for that target
(e.g. the <filename>machine/beagleboard.conf</filename> configuration file defines
variables for the Texas Instruments ARM Cortex-A8 development board).
Configuration files end with a <filename>.conf</filename> filename extension.</para></listitem>
<listitem><para><emphasis>Cross-Development Toolchain:</emphasis> A collection of software development
tools and utilities that allow you to develop software for targeted architectures.
This toolchain contains cross-compilers, linkers, and debuggers that are specific to
an architecture.
You can use the Yocto Project to build cross-development toolchains in tarball form that when
unpacked contain the development tools you need to cross-compile and test your software.
The Yocto Project ships with images that contain toolchains for supported architectures
as well.
Sometimes this toolchain is referred to as the meta-toolchain.</para></listitem>
<listitem><para><emphasis>Image:</emphasis> An image is the result produced when
BitBake processes a given collection of recipes and related metadata.
Images are the binary output that runs on specific hardware and for specific
use cases.
For a list of the supported image types that the Yocto Project provides, see the
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#ref-images'>
Reference: Images</ulink> appendix in
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'>
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>"
appendix in
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
The Yocto Project Reference Manual</ulink>.</para></listitem>
<listitem><para><emphasis>Recipe</emphasis> - A set of instructions for building packages.
A recipe describes where you get source code and which patches to apply.
Recipes describe dependencies for libraries or for other recipes and they
also contain configuration and compilation options.
Recipes contain the logical unit of execution, the software/images to build, and
use the <filename>.bb</filename> file extension.</para></listitem>
<listitem><para><emphasis>BitBake</emphasis> - The task executor and scheduler used by Yocto Project
to build images.
For more information on BitBake, see the <ulink url='http://bitbake.berlios.de/manual/'>
BitBake documentation</ulink>.</para></listitem>
<listitem><para><emphasis>Package</emphasis> - The packaged output from a baked recipe.
A package is generally the compiled binaries produced from the recipe's sources.
You bake something by running it through BitBake.</para></listitem>
<listitem><para><emphasis>Layer</emphasis> - A collection of recipes representing the core,
<listitem><para><emphasis>Layer:</emphasis> A collection of recipes representing the core,
a BSP, or an application stack.</para></listitem>
<listitem><para><emphasis>Metadata</emphasis> - A term used throughout the Yocto Project
documentation that refers to the files that BitBake parses when building an image.
<listitem><para><emphasis>Metadata:</emphasis> The files that BitBake parses when building an image.
Metadata includes recipes, classes, and configuration files.</para></listitem>
<listitem><para><emphasis>Meta-Toolchain</emphasis> - A collection of software development
tools and utilities that allow you to develop software for targeted architectures.
These toolchains contain cross-compilers, linkers, and debuggers that are specific to
an architecure.
You can use the Yocto Project to build meta-toolchains in tarball form that when
unpacked contain the development tools you need to cross-compile and test your software.
The Yocto Project ships with images that contain toolchains for supported architectures
as well.</para></listitem>
<listitem><para><emphasis>Configuration File</emphasis>: Configuration information in the
<filename>.conf</filename> files provides global definitions of variables.
The <filename>build/conf/local.conf</filename> configuration file defines user-defined variables
that effect each build.
The <filename>distro/poky.conf</filename> configuration file defines Yocto distro configuration
variables used only when building with this policy.
The <filename>machine/beagleboard.conf</filename> configuration file defines variables
for the Beagleboard and are only used when building for that target
(i.e. Texas Instruments ARM Cortex-A8 development board).
Configuration files end with a <filename>.conf</filename> filename extension.</para></listitem>
<listitem><para><emphasis>Classes</emphasis> - Files that provide for logic encapsulation
and inheritance allowing commonly used patterns to be defined once and easily used
in multiple recipes.
Class files end with the <filename>.bbclass</filename> filename extension.</para></listitem>
<listitem><para><emphasis>Append Files</emphasis> - Files that append build information to
a recipe file.
Information in append files override the information in the similarly-named recipe file.
Append files use the <filename>.bbappend</filename> filename suffix.</para></listitem>
<listitem><para><emphasis>Tasks</emphasis> - Arbitrary groups of software Recipes.
You simply use Tasks to hold recipes that when built usually accomplish a single task.
For example, a task could contain the recipes for a companys proprietary or value-add software.
Or the task could contain the recipes that enable graphics.
A task is really just another recipe.
Because task files are recipes, they end with the <filename>.bb</filename> filename
extension.</para></listitem>
<listitem><para><emphasis>OE-Core</emphasis> - A core set of metadata originating
<listitem><para><emphasis>OE-Core:</emphasis> A core set of metadata originating
with OpenEmbedded (OE) that is shared between OE and the Yocto Project.
This metadata is found in the <filename>meta</filename> directory of the Yocto Project
files.</para></listitem>
<listitem><para><emphasis>Upstream</emphasis> - A reference to source code or repositories
<listitem><para><emphasis>Package:</emphasis> The packaged output from a baked recipe.
A package is generally the compiled binaries produced from the recipe's sources.
You bake something by running it through BitBake.</para></listitem>
<listitem><para><emphasis>Poky:</emphasis> The build tool that the Yocto Project
uses to create images.</para></listitem>
<listitem><para><emphasis>Recipe:</emphasis> A set of instructions for building packages.
A recipe describes where you get source code and which patches to apply.
Recipes describe dependencies for libraries or for other recipes, and they
also contain configuration and compilation options.
Recipes contain the logical unit of execution, the software/images to build, and
use the <filename>.bb</filename> file extension.</para></listitem>
<listitem><para><emphasis>Tasks:</emphasis> Arbitrary groups of software Recipes.
You simply use Tasks to hold recipes that, when built, usually accomplish a single task.
For example, a task could contain the recipes for a companys proprietary or value-add software.
Or, the task could contain the recipes that enable graphics.
A task is really just another recipe.
Because task files are recipes, they end with the <filename>.bb</filename> filename
extension.</para></listitem>
<listitem><para><emphasis>Upstream:</emphasis> A reference to source code or repositories
that are not local to the development system but located in a master area that is controlled
by the maintainer of the source code.
For example, in order for a developer to work on a particular piece of code they need to
For example, in order for a developer to work on a particular piece of code, they need to
first get a copy of it from an "upstream" source.</para></listitem>
<listitem><para><emphasis>Yocto Project Files:</emphasis>
This term refers to the directory structure created as a result of downloading
and unpacking a Yocto Project release tarball or setting up a Git repository
by cloning <filename>git://git.yoctoproject.org/poky</filename>.
Sometimes the term "the Yocto Project Files structure" is used as well.</para>
<para>The Yocto Project files contain BitBake, Documentation, metadata and
other files that all support the development environment.
Consequently, you must have the Yocto Project files in place on your development
system in order to do any development using the Yocto Project.</para>
<para>The name of the top-level directory of the Yocto Project file structure
is derived from the Yocto Project release tarball.
For example, downloading and unpacking <filename>poky-edison-6.0.tar.bz2</filename>
results in a Yocto Project file structure whose Yocto Project source directory is named
<filename>poky-edison-6.0</filename>.
If you create a Git repository, then you can name the repository anything you like.</para>
<para>You can find instruction on how to set up the Yocto Project files on your
host development system by reading
the
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#getting-setup'>Getting
Setup</ulink>" section.</para></listitem>
<listitem><para><emphasis>Yocto Project Build Directory:</emphasis>
This term refers to the area used by the Yocto Project for builds.
The area is created when you <filename>source</filename> the Yocto Project setup
environment script that is found in the Yocto Project files area.
(e.g. <filename>oe-init-build-env</filename>).
You can create the Yocto Project build directory anywhere you want on your
development system.
Here is an example that creates the directory in <filename>mybuilds</filename>
and names the Yocto Project build directory <filename>YP-6.0</filename>:
<literallayout class='monospaced'>
$ source poky-edison-6.0/oe-init-build-env $HOME/mybuilds/YP-6.0
</literallayout>
If you don't specifically name the directory, BitBake creates it
in the current directory and uses the name <filename>build</filename>.
Also, if you supply an existing directory, then BitBake uses that
directory as the Yocto Project build directory and populates the build hierarchy
beneath it.</para></listitem>
</itemizedlist>
</para>
</section>
@@ -209,9 +250,9 @@
<title>Licensing</title>
<para>
Because open source projects are open to the public they have different licensing structures in place.
Because open source projects are open to the public, they have different licensing structures in place.
License evolution for both Open Source and Free Software has an interesting history.
If you are interested in the history you can find basic information here:
If you are interested in this history, you can find basic information here:
<itemizedlist>
<listitem><para><ulink url='http://en.wikipedia.org/wiki/Open-source_license'>Open source license history</ulink>
</para></listitem>
@@ -235,15 +276,20 @@
<para>
When you build an image using Yocto Project, the build process uses a known list of licenses to
ensure compliance.
Once the build completes, the list of all licenses found and used during the build are
kept in the resulting build directory at
<filename>&lt;build_directory&gt;/tmp/deploy/images/licenses</filename>.
ensure compliance.
You can find this list in the Yocto Project files directory at
<filename>meta/files/common-licenses</filename>.
Once the build completes, the list of all licenses found and used during that build are
kept in the Yocto Project build directory at
<filename>tmp/deploy/images/licenses</filename>.
</para>
<para>
If a module requires a license that is not in the base list, the build process
generates a warning during the build.
These tools make it easier for a developer to be certain of the licenses with which
their shipped products must comply.
However, it is still up to the developer to resolve potential licensing issues.
However, even with these tools it is still up to the developer to resolve potential licensing issues.
</para>
<para>
@@ -254,14 +300,13 @@
for a standard format for communicating the components, licenses, and copyrights
associated with a software package.
<ulink url='http://opensource.org'>OSI</ulink> is a corporation dedicated to the Open Source
Definition and the effort for reviewing
and approving licenses that are OSD-conformant.
Definition and the effort for reviewing and approving licenses that are OSD-conformant.
</para>
<para>
You can find a list of the combined SPDX and OSI licenses that the Yocto Project uses
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/files/common-licenses'>here</ulink>.
The wiki page discusses the license infrastructure used by the Yocto Project.
This wiki page discusses the license infrastructure used by the Yocto Project.
</para>
</section>
@@ -282,7 +327,7 @@
You do not have to be an expert in Git to be functional.
A good place to look for instruction on a minimal set of Git commands is
<ulink url='http://git-scm.com/documentation'>here</ulink>.
If you need to download Git you can do so
If you need to download Git, you can do so
<ulink url='http://git-scm.com/download'>here</ulink>.
</para>
@@ -294,7 +339,7 @@
This methodology also allows for an environment in which you can do lots of
experimentation on your project as you develop changes or new features.
For example, you can create a “branch”, experiment with some feature, and then
if you like the feature you incorporate the branch into the tree.
if you like the feature, you incorporate the branch into the tree.
If you dont, you cut the branch off by deleting it.
</para>
@@ -309,55 +354,63 @@
omits the many arguments they support.
See the Git documentation for complete descriptions and strategies on how to use these commands:
<itemizedlist>
<listitem><para><emphasis><filename>git init</filename></emphasis> Initializes an empty Git repository.
<listitem><para><emphasis><filename>git init</filename>:</emphasis> Initializes an empty Git repository.
You cannot use Git commands unless you have a <filename>.git</filename> repository.</para></listitem>
<listitem><para><emphasis><filename>git clone</filename></emphasis> Creates a clone of a repository.
During collaboration this command allows you to create a local repository that is on
<listitem><para><emphasis><filename>git clone</filename>:</emphasis> Creates a clone of a repository.
During collaboration, this command allows you to create a local repository that is on
equal footing with a fellow developers repository.</para></listitem>
<listitem><para><emphasis><filename>git add</filename></emphasis> Adds updated file contents to the index that
<listitem><para><emphasis><filename>git add</filename>:</emphasis> Adds updated file contents
to the index that
Git uses to track changes.
All files that have changed must be added before they can be committed.</para></listitem>
<listitem><para><emphasis><filename>git commit</filename></emphasis> Creates a “commit” that documents
You must add all files that have changed before you can commit them.</para></listitem>
<listitem><para><emphasis><filename>git commit</filename>:</emphasis> Creates a “commit” that documents
the changes you made.
Commits are used for historical purposes, for determining if a maintainer of a project
will allow the change, and for ultimately pushing the change from your local Git repository
into the projects upstream (or master) repository.</para></listitem>
<listitem><para><emphasis><filename>git status</filename></emphasis> Reports any modified files that
possibly need added and committed.</para></listitem>
<listitem><para><emphasis><filename>git checkout &lt;branch-name&gt;</filename></emphasis> - Changes
your working branch. This command is analogous to “cd”.</para></listitem>
<listitem><para><emphasis><filename>git checkout b &lt;working-branch&gt;</filename></emphasis> - Creates
<listitem><para><emphasis><filename>git status</filename>:</emphasis> Reports any modified files that
possibly need to be added and committed.</para></listitem>
<listitem><para><emphasis><filename>git checkout &lt;branch-name&gt;</filename>:</emphasis> Changes
your working branch.
This command is analogous to “cd”.</para></listitem>
<listitem><para><emphasis><filename>git checkout b &lt;working-branch&gt;</filename>:</emphasis> Creates
a working branch on your local machine where you can isolate work.
It is a good idea to use local branches when adding specific features or changes.
This way if you dont like what you have done you can easily get rid of the work.</para></listitem>
<listitem><para><emphasis><filename>git branch</filename></emphasis> Reports existing branches and
<listitem><para><emphasis><filename>git branch</filename>:</emphasis> Reports existing branches and
tells you which branch in which you are currently working.</para></listitem>
<listitem><para><emphasis><filename>git branch -D &lt;branch-name&gt;</filename></emphasis>
Deletes an existing branch. You need to be in a branch other than the one you are deleting
<listitem><para><emphasis><filename>git branch -D &lt;branch-name&gt;</filename>:</emphasis>
Deletes an existing branch.
You need to be in a branch other than the one you are deleting
in order to delete &lt;branch-name&gt;.</para></listitem>
<listitem><para><emphasis><filename>git pull</filename></emphasis> Retrieves information from an upstream Git
<listitem><para><emphasis><filename>git pull</filename>:</emphasis> Retrieves information
from an upstream Git
repository and places it in your local Git repository.
You use this command to make sure you are synchronized with the upstream repository
from which the projects maintainer uses to pull changes into the master repository.</para></listitem>
<listitem><para><emphasis><filename>git push</filename></emphasis> Sends all your local changes you
have committed to an upstream Git repository.
You use this command to make sure you are synchronized with the repository
from which you are basing changes (.e.g. the master repository).</para></listitem>
<listitem><para><emphasis><filename>git push</filename>:</emphasis> Sends all your local changes you
have committed to an upstream Git repository (e.g. a contribution repository).
The maintainer of the project draws from these repositories when adding your changes to the
projects master repository.</para></listitem>
<listitem><para><emphasis><filename>git merge</filename></emphasis> Combines or adds changes from one
<listitem><para><emphasis><filename>git merge</filename>:</emphasis> Combines or adds changes from one
local branch of your repository with another branch.
When you create a local Git repository the default branch is named “master”.
When you create a local Git repository, the default branch is named “master”.
A typical workflow is to create a temporary branch for isolated work, make and commit your
changes, switch to the master branch, merge the changes from the temporary branch into the
master branch, and then delete the temporary branch</para></listitem>
<listitem><para><emphasis><filename>git cherry-pick</filename></emphasis> Choose and apply specific
changes, switch to your local master branch, merge the changes from the temporary branch into the
local master branch, and then delete the temporary branch.</para></listitem>
<listitem><para><emphasis><filename>git cherry-pick</filename>:</emphasis> Choose and apply specific
commits from one branch into another branch.
There are times when you might not be able to merge all the changes in one branch with
another but need to pick out certain ones.</para></listitem>
<listitem><para><emphasis><filename>gitk</filename></emphasis> Provides a GUI view of the branches
<listitem><para><emphasis><filename>gitk</filename>:</emphasis> Provides a GUI view of the branches
and changes in your local Git repository.
This command is a good way to see where things have diverged in your local repository.</para></listitem>
<listitem><para><emphasis><filename>git log</filename></emphasis> Reports a history of your changes to the
This command is a good way to graphically see where things have diverged in your
local repository.</para></listitem>
<listitem><para><emphasis><filename>git log</filename>:</emphasis> Reports a history of your changes to the
repository.</para></listitem>
<listitem><para><emphasis><filename>git diff</filename>:</emphasis> Displays line-by-line differences
between your local working files and the same files in the upstream Git repository that your
branch currently tracks.</para></listitem>
</itemizedlist>
</para>
</section>
@@ -369,17 +422,22 @@
This section provides some overview on workflows using Git.
In particular, the information covers basic practices that describe roles and actions in a
collaborative development environment.
Again, if you are familiar with this type of development environment you might want to just skip the section.
Again, if you are familiar with this type of development environment, you might want to just
skip this section.
</para>
<para>
The Yocto Project files are maintained using Git in a "master" branch whose Git history
tracks every change and whose structure provides branches for all diverging functionality.
Although there is no need to use Git, This practice is typical for open-source projects.
For the Yocto Project a key individual called the "maintainer" is responsible for "master".
Although there is no need to use Git, many open source projects do so.
For the Yocto Project, a key individual called the "maintainer" is responsible for the "master"
branch of the Git repository.
The "master" branch is the “upstream” repository where the final builds of the project occur.
The maintainer is responsible for allowing changes in from other developers and for
organizing the underlying branch structure to reflect release strategies and so forth.
<note>You can see who is the maintainer for Yocto Project files by examining the
<filename>distro_tracking_fields.inc</filename> file in the Yocto Project
<filename>meta/conf/distro/include</filename> directory.</note>
</para>
<para>
@@ -394,7 +452,7 @@
Developers (including contributing community members) create and maintain cloned repositories
of the upstream "master" branch.
These repositories are local to their development platforms and are used to develop changes.
When a developer is satisfied with a particular feature or change they “push” the changes
When a developer is satisfied with a particular feature or change, they “push” the changes
to the appropriate "contrib" repository.
</para>
@@ -417,7 +475,7 @@
"master" branch of the Git repository, which is controlled by the projects maintainer.
And, we have a set of developers who independently develop, test, and submit changes
to "contrib" areas for the maintainer to examine.
The maintainer then chooses which changes are going to become permanently a part of the project.
The maintainer then chooses which changes are going to become a permanent part of the project.
</para>
<para>
@@ -430,53 +488,56 @@
The following list describes some of these practices.
For more detailed information about these strategies see
<ulink url='http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html'>Git Workflows</ulink>.
<itemizedlist>
<listitem><para><emphasis>Make Small Changes</emphasis> - It is best to keep your changes you commit
small as compared to bundling many disparate changes into a single commit.
This practice not only keeps things manageable but also allows the maintainer
to more easily include or refuse changes.</para>
<para>It is also good practice to leave the repository in a state that allows you to
still successfully build your project.</para></listitem>
<listitem><para><emphasis>Use Branches Liberally</emphasis> - It is very easy to create, use, and
delete local branches in your working Git repository.
You can name these branches anything you like.
It is helpful to give them names associated with the particular feature or change
on which you are working.
Once you are done with a feature or change you simply discard the branch.</para></listitem>
<listitem><para><emphasis>Merge Changes</emphasis> - The <filename>git merge</filename>
command allows you to take the
changes from one branch and fold them into another branch.
This process is especially helpful when more than a single developer might be working
on different parts of the same feature.
Merging changes also automatically identifies any collisions or “conflicts”
that might happen resulting from the same lines of code being altered by two different
developers.</para></listitem>
<listitem><para><emphasis>Manage Branches</emphasis> - Because branches are easy to use, you should
use a system where branches indicate varying levels of code readiness.
For example, you can have a “work” branch to develop in, a “test” branch where the code or
change is tested, a “stage” branch where changes are ready to be committed, and so forth.
As your project develops, you can merge code across the branches to reflect ever-increasing
stable states of the development.</para></listitem>
<listitem><para><emphasis>Use Push and Pull</emphasis> - The push-pull workflow is based on the
concept of developers “pushing” local commits to a remote repository, which is
usually a contribution repository.
It is also based on the developers “pulling” known states of the project down into their
local development repositories.
This workflow easily allows you to pull changes submitted by other developers from the
upstream repository into your work area ensuring that you have the most recent software
on which to develop.
The Yocto Project has two scripts named <filename>create-pull-request</filename> and
<filename>send-pull-request</filename> that ship with the release to facilitate this
workflow.
You can find these scripts in the local Yocto Project files Git repository in
<filename>scripts</filename>.</para></listitem>
<listitem><para><emphasis>Patch Workflow</emphasis> - This workflow allows you to notify the
maintainer through an email that you have a change (or patch) you would like considered
for the "master" branch of the Git repository.
To send this type of change you format the patch and then send the email using the Git commands
<filename>git format-patch</filename> and <filename>git send-email</filename>.
You can find information on how to submit later in this chapter.</para></listitem>
</itemizedlist>
<itemizedlist>
<listitem><para><emphasis>Make Small Changes:</emphasis> It is best to keep the changes you commit
small as compared to bundling many disparate changes into a single commit.
This practice not only keeps things manageable but also allows the maintainer
to more easily include or refuse changes.</para>
<para>It is also good practice to leave the repository in a state that allows you to
still successfully build your project. In other words, do not commit half of a feature,
then add the other half in a separate, later commit.
Each commit should take you from one buildable project state to another
buildable state.</para></listitem>
<listitem><para><emphasis>Use Branches Liberally:</emphasis> It is very easy to create, use, and
delete local branches in your working Git repository.
You can name these branches anything you like.
It is helpful to give them names associated with the particular feature or change
on which you are working.
Once you are done with a feature or change, simply discard the branch.</para></listitem>
<listitem><para><emphasis>Merge Changes:</emphasis> The <filename>git merge</filename>
command allows you to take the
changes from one branch and fold them into another branch.
This process is especially helpful when more than a single developer might be working
on different parts of the same feature.
Merging changes also automatically identifies any collisions or “conflicts”
that might happen as a result of the same lines of code being altered by two different
developers.</para></listitem>
<listitem><para><emphasis>Manage Branches:</emphasis> Because branches are easy to use, you should
use a system where branches indicate varying levels of code readiness.
For example, you can have a “work” branch to develop in, a “test” branch where the code or
change is tested, a “stage” branch where changes are ready to be committed, and so forth.
As your project develops, you can merge code across the branches to reflect ever-increasing
stable states of the development.</para></listitem>
<listitem><para><emphasis>Use Push and Pull:</emphasis> The push-pull workflow is based on the
concept of developers “pushing” local commits to a remote repository, which is
usually a contribution repository.
This workflow is also based on developers “pulling” known states of the project down into their
local development repositories.
The workflow easily allows you to pull changes submitted by other developers from the
upstream repository into your work area ensuring that you have the most recent software
on which to develop.
The Yocto Project has two scripts named <filename>create-pull-request</filename> and
<filename>send-pull-request</filename> that ship with the release to facilitate this
workflow.
You can find these scripts in the local Yocto Project files Git repository in
the <filename>scripts</filename> directory.</para></listitem>
<listitem><para><emphasis>Patch Workflow:</emphasis> This workflow allows you to notify the
maintainer through an email that you have a change (or patch) you would like considered
for the "master" branch of the Git repository.
To send this type of change you format the patch and then send the email using the Git commands
<filename>git format-patch</filename> and <filename>git send-email</filename>.
You can find information on how to submit later in this chapter.</para></listitem>
</itemizedlist>
</para>
</section>
@@ -484,44 +545,59 @@
<title>Tracking Bugs</title>
<para>
The Yocto Project uses <ulink url='http://www.bugzilla.org/about/'>Bugzilla</ulink> to track bugs.
This bug-tracking application works well for group development because it tracks bugs and code
The Yocto Project uses its own implementation of
<ulink url='http://www.bugzilla.org/about/'>Bugzilla</ulink> to track bugs.
Implementations of Bugzilla work well for group development because they track bugs and code
changes, can be used to communicate changes and problems with developers, can be used to
submit and review patches, and can be used to manage quality assurance.
You can find a good overview of Bugzilla <ulink url='http://www.bugzilla.org/about/'>here</ulink>.
submit and review patches, and can be used to manage quality assurance.
The home page for the Yocto Project implementation of Bugzilla is
<ulink url='http://bugzilla.yoctoproject.org'>http://bugzilla.yoctoproject.org</ulink>.
</para>
<para>
Sometimes it is helpful to submit, investigate, or track a bug against the Yocto Project itself
such as when discovering an issue with some component of the build system that acts contrary
to the documentation or expectations.
You can find information
for Bugzilla configuration and bug tracking procedures specific to the Yocto Project
to the documentation or your expectations.
Following is the general procedure for submitting a new bug using the Yocto Project
Bugzilla.
You can find more information on defect management, bug tracking, and feature request
processes all accomplished through the Yocto Project Bugzilla on the wiki page
<ulink url='https://wiki.yoctoproject.org/wiki/Bugzilla_Configuration_and_Bug_Tracking'>here</ulink>.
<orderedlist>
<listitem><para>Always use the Yocto Project implementation of Bugzilla to submit
a bug.</para></listitem>
<listitem><para>When submitting a new bug, be sure to choose the appropriate
Classification, Product, and Component for which the issue was found.
Defects for Yocto Project fall into one of four classifications: Yocto Projects,
Infrastructure, Poky, and Yocto Metadata Layers.
Each of these Classifications break down into multiple Products and, in some
cases, multiple Components.</para></listitem>
<listitem><para>Use the bug form to choose the correct Hardware and Architecture
for which the bug applies.</para></listitem>
<listitem><para>Indicate the Yocto Project version you were using when the issue
occurred.</para></listitem>
<listitem><para>Be sure to indicate the Severity of the bug.
Severity communicates how the bug impacted your work.</para></listitem>
<listitem><para>Provide a brief summary of the issue.
Try to limit your summary to just a line or two and be sure to capture the
essence of the issue.</para></listitem>
<listitem><para>Provide a detailed description of the issue.
You should provide as much detail as you can about the context, behavior, output,
and so forth that surround the issue.
You can even attach supporting files for output or log by using the "Add an attachment"
button.</para></listitem>
<listitem><para>Submit the bug by clicking the "Submit Bug" button.</para></listitem>
</orderedlist>
</para>
<para>
The Yocto Project uses its own version of the Bugzilla application.
You can find the home page <ulink url='http://bugzilla.yoctoproject.org'>here</ulink>.
You need to use this implementation of Bugzilla when logging a defect against anything released
by the Yocto Project team.
</para>
<para>
Here are some things to remember when dealing with bugs against the Yocto Project:
<itemizedlist>
<listitem><para>The Yocto Project follows a naming bug-naming convention:
<filename>[YOCTO #&lt;number&gt;]</filename>, where <filename>&lt;number&gt;</filename> is the
assigned defect ID used in Bugzilla.
So, for example, a valid way to refer to a defect when creating a commit comment
would be <filename>[YOCTO 1011]</filename>.
This convention becomes important if you are submitting patches against the Yocto Project
code itself.
See the following section for more information.</para></listitem>
<listitem><para>Defects for Yocto Project fall into one of four classifications: Yocto Projects,
Infrastructure, Poky, and Yocto Metadata Layers.</para></listitem>
</itemizedlist>
</para>
<note>
Bugs in the Yocto Project Bugzilla follow naming convention:
<filename>[YOCTO #&lt;number&gt;]</filename>, where <filename>&lt;number&gt;</filename> is the
assigned defect ID used in Bugzilla.
So, for example, a valid way to refer to a defect would be <filename>[YOCTO #1011]</filename>.
This convention becomes important if you are submitting patches against the Yocto Project
code itself.
</note>
</section>
<section id='how-to-submit-a-change'>
@@ -529,9 +605,35 @@
<para>
Contributions to the Yocto Project are very welcome.
You should send patches to the Yocto Project mailing list to get it in front of the
Yocto Project Maintainer.
When you send your patch, be sure to include a "signed-off-by:"
You should send patches to the appropriate Yocto Project mailing list to get them
in front of the Yocto Project Maintainer.
For a list of the Yocto Project mailing lists, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#resources-mailinglist'>Mailing lists</ulink>" section in
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'> The
Yocto Project Reference Manual</ulink>.
</para>
<para>
The following is some guidance on which mailing list to use for what type of defect:
<itemizedlist>
<listitem><para>For defects against the Yocto Project build system Poky, send
your patch to the
<ulink url='http://lists.yoctoproject.org/listinfo/poky'></ulink> mailing list.
This mailing list corresponds to issues that are not specific to the Yocto Project but
are part of the OE-core.
For example, a defect against anything in the <filename>meta</filename> layer
or the BitBake Manual could be sent to this mailing list.</para></listitem>
<listitem><para>For defects against Yocto-specific layers, tools, and Yocto Project
documentation use the
<ulink url='http://lists.yoctoproject.org/listinfo/yocto'></ulink> mailing list.
This mailing list corresponds to Yocto-specific areas such as
<filename>meta-yocto</filename>, <filename>meta-intel</filename>,
<filename>linux-yocto</filename>, and <filename>documentation</filename>.</para></listitem>
</itemizedlist>
</para>
<para>
When you send a patch, be sure to include a "Signed-off-by:"
line in the same style as required by the Linux kernel.
Adding this line signifies the developer has agreed to the Developer's Certificate of Origin 1.1
as follows:
@@ -573,35 +675,82 @@
<para>
In a collaborative environment, it is necessary to have some sort of standard
or method through which you submit changes.
Otherwise, things would get quite chaotic.
Otherwise, things could get quite chaotic.
</para>
<para>
When you submit a change or patch to the Yocto Project, you must follow certain procedures.
In particular, the headers in patches and the commit messages must follow a certain standard.
The general process is the same as described earlier in this chapter.
For complete details on how to create proper commit messages and patch headers see
[WRITER NOTE: I need the link to Mark's wiki page here that describes the process.]
When you create a commit, you must follow certain standards established by the
Yocto Project development team.
For each commit, you must provide a single-line summary of the change and you
almost always provide a more detailed description of what you did (i.e. the body
of the commit).
The only exceptions for not providing a detailed description would be if your
change is a simple, self-explanatory change that needs no description.
Here are the Yocto Project commit message guidelines:
<itemizedlist>
<listitem><para>Provide a single-line, short summary of the change.
This summary is typically viewable by source control systems.
Thus, providing something short and descriptive that gives the reader
a summary of the change is useful when viewing a list of many commits.
</para></listitem>
<listitem><para>For the body of the commit message, provide detailed information
that describes what you changed, why you made the change, and the approach
you used.
Provide as much detail as you can in the body of the commit message.
</para></listitem>
<listitem><para>If the change addresses a specific bug or issue that is
associated with a bug-tracking ID, prefix your detailed description
with the bug or issue ID.
For example, the Yocto Project tracks bugs using a bug-naming convention.
Any commits that address a bug must start with the bug ID in the description
as follows:
<literallayout class='monospaced'>
YOCTO #&lt;bug-id&gt;: &lt;Detailed description of commit&gt;
</literallayout></para></listitem>
</itemizedlist>
</para>
<para>
You can find more guidance on creating well-formed commit messages at this OpenEmbedded
wiki page:
<ulink url='http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines'></ulink>.
</para>
<para>
Following are general instructions for both pushing changes upstream and for submitting changes as patches.
</para>
</para>
<section id='pushing-a-change-upstream'>
<title>Pushing a Change Upstream</title>
<title>Pushing a Change Upstream and Requesting a Pull</title>
<para>
The basic flow for pushing a change to an upstream "contrib" Git repository is as follows:
<itemizedlist>
<listitem><para>Make your changes in your local Git repository.</para></listitem>
<listitem><para>Stage your commit (or change) by using the <filename>git add</filename>
command.</para></listitem>
<listitem><para>Commit the change by using the <filename>git commit</filename>
command and push it to the upstream "contrib" repository.
Be sure to provide a commit message that follows the projects commit standards.</para></listitem>
<listitem><para>Notify the maintainer that you have pushed a change.</para></listitem>
</itemizedlist>
<itemizedlist>
<listitem><para>Make your changes in your local Git repository.</para></listitem>
<listitem><para>Stage your commit (or change) by using the <filename>git add</filename>
command.</para></listitem>
<listitem><para>Commit the change by using the <filename>git commit</filename>
command and push it to the "contrib" repository.
Be sure to provide a commit message that follows the projects commit standards
as described earlier.</para></listitem>
<listitem><para>Notify the maintainer that you have pushed a change by making a pull
request.
The Yocto Project provides two scripts that conveniently let you generate and send
pull requests to the Yocto Project.
These scripts are <filename>create-pull-request</filename> and
<filename>send-pull-request</filename>.
You can find these scripts in the <filename>scripts</filename> directory of the
Yocto Project file structure.</para>
<para>For help on using these scripts, simply provide the
<filename>--help</filename> argument as follows:
<literallayout class='monospaced'>
$ ~/poky/scripts/create-pull-request --help
$ ~/poky/scripts/send-pull-request --help
</literallayout></para></listitem>
</itemizedlist>
</para>
<para>
You can find general Git information on how to push a change upstream
<ulink url='http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#Developing-With-git'>
here</ulink>.
@@ -609,30 +758,75 @@
</section>
<section id='submitting-a-patch'>
<title>Submitting a Patch</title>
<title>Submitting a Patch Through Email</title>
<para>
If you have a just a few changes you can commit them and then submit them as an email to the maintainer.
If you have a just a few changes, you can commit them and then submit them as an
email to the maintainer.
Here is a general procedure:
<itemizedlist>
<listitem><para>Make your changes in your local Git repository.</para></listitem>
<listitem><para>Stage your commit (or change) by using the <filename>git add</filename>
command.</para></listitem>
<listitem><para>Commit the change by using the <filename>git commit</filename> command.
Be sure to provide a commit message that follows the projects commit standards.</para></listitem>
<listitem><para>Format the commit by using the <filename>git format-patch</filename>
command.
This step produces a numbered series of files in the current directory one for
each commit.</para></listitem>
<listitem><para>Import the files into your mail client by using the
<filename>git-send-email</filename> command.</para></listitem>
<listitem><para>Send the email by hand to the maintainer.</para></listitem>
</itemizedlist>
Be aware that there could be protocols and standards that you need to follow for your particular
project.
You can find general Git information for submitting a patch
<ulink url='http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#sharing-development'>
here</ulink>.
<itemizedlist>
<listitem><para>Make your changes in your local Git repository.</para></listitem>
<listitem><para>Stage your commit (or change) by using the <filename>git add</filename>
command.</para></listitem>
<listitem><para>Commit the change by using the
<filename>git commit --signoff</filename> command.
Using the <filename>--signoff</filename> option identifies you as the person
making the change and also satisfies the Developer's Certificate of
Origin (DCO) shown earlier.</para>
<para>When you form a commit you must follow certain standards established by the
Yocto Project development team.
See the earlier section
"<link linkend='how-to-submit-a-change'>How to Submit a Change</link>"
for Yocto Project commit message standards.</para></listitem>
<listitem><para>Format the commit into an email messsage.
To format commits, use the <filename>git format-patch</filename> command.
When you provide the command, you must include a revision list or a number of patches
as part of the command.
For example, these two commands each take the most recent single commit and
format it as an email message in the current directory:
<literallayout class='monospaced'>
$ git format-patch -1
$ git format-patch HEAD~
</literallayout></para>
<para>After the command is run, the current directory contains a
numbered <filename>.patch</filename> file for the commit.</para>
<para>If you provide several commits as part of the command,
the <filename>git format-patch</filename> command produces a numbered
series of files in the current directory one for each commit.
If you have more than one patch, you should also use the
<filename>--cover</filename> option with the command, which generates a
cover letter as the first "patch" in the series.
You can then edit the cover letter to provide a description for
the series of patches.
For information on the <filename>git format-patch</filename> command,
see <filename>GIT_FORMAT_PATCH(1)</filename> displayed using the
<filename>man git-format-patch</filename> command.</para></listitem>
<listitem><para>Import the files into your mail client by using the
<filename>git send-email</filename> command.
<note>In order to use <filename>git send-email</filename>, you must have the
the proper Git packages installed.
For Ubuntu and Fedora the package is <filename>git-email</filename>.</note></para>
<para>The <filename>git send-email</filename> command sends email by using a local
or remote Mail Transport Agent (MTA) such as
<filename>msmtp</filename>, <filename>sendmail</filename>, or through a direct
<filename>smtp</filename> configuration in your Git <filename>config</filename>
file.
If you are submitting patches through email only, it is very important
that you submit them without any whitespace or HTML formatting that
either you or your mailer introduces.
The maintainer that receives your patches needs to be able to save and
apply them directly from your emails.
A good way to verify that what you are sending will be applicable by the
maintainer is to do a dry run and send them to yourself and then
save and apply them as the maintainer would.</para>
<para>The <filename>git send-email</filename> command is the preferred method
for sending your patches since there is no risk of compromising whitespace
in the body of the message, which can occur when you use your own mail client.
The command also has several options that let you
specify recipients and perform further editing of the email message.
For information on how to use the <filename>git send-email</filename> command,
use the <filename>man git-send-email</filename> command.</para></listitem>
</itemizedlist>
</para>
</section>
</section>

View File

@@ -7,16 +7,15 @@
<para>
This chapter introduces the Yocto Project and gives you an idea of what you need to get started.
You can find enough information to set your development host up and build or use images for
hardware supported by the Yocto Project by reading the
<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html'>
Yocto Project Quick Start</ulink> located on the <ulink url='http://www.yoctoproject.org'>
Yocto Project website</ulink>.
You can find enough information to set up your development host and build or use images for
hardware supported by the Yocto Project by reading
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>.
</para>
<para>
The remainder of this chapter summarizes what is in the Yocto Project Quick Start and provides
some higher level concepts you might want to consider.
some higher-level concepts you might want to consider.
</para>
<section id='introducing-the-yocto-project'>
@@ -24,8 +23,8 @@
<para>
The Yocto Project is an open-source collaboration project focused on embedded Linux development.
The project currently provides a build system and various ancillary tools suitable for the
embedded developer.
The project currently provides a build system, which is sometimes referred to as "Poky",
and provides various ancillary tools suitable for the embedded developer.
The Yocto Project also features the Sato reference User Interface, which is optimized for
stylus driven, low-resolution screens.
</para>
@@ -37,13 +36,14 @@
While the Yocto Project does not provide a strict testing framework,
it does provide or generate for you artifacts that let you perform target-level and
emulated testing and debugging.
And, if you are an Eclipse user, you can install an Eclipse Yocto Plug-in to allow you to
Additionally, if you are an <trademark class='trade'>Eclipse</trademark>
IDE user, you can install an Eclipse Yocto Plug-in to allow you to
develop within that familiar environment.
</para>
</section>
<section id='getting-setup'>
<title>Getting Setup</title>
<title>Getting Set Up</title>
<para>
Here is what you need to get set up to use the Yocto Project:
@@ -51,103 +51,100 @@
<listitem><para><emphasis>Host System:</emphasis> You should have a reasonably current
Linux-based host system.
You will have the best results with a recent release of Fedora,
OpenSUSE, or Ubuntu as these releases are frequently tested and officially supported
host systems.
OpenSUSE, or Ubuntu as these releases are frequently tested against the Yocto Project
and officially supported.
You should also have about 100 gigabytes of free disk space for building images.
</para></listitem>
<listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages
exist on your development system (e.g. Python 2.6 or 2.7).
See <ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#packages'>
The Packages</ulink> section in the Yocto Project Quick start for the exact package
requirements and the installation commands for the supported distributions.</para></listitem>
See "<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>"
section in the Yocto Project Quick start for the exact package
requirements and the installation commands to install them
for the supported distributions.</para></listitem>
<listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis>
You need a release of the Yocto Project.
You can get set up with local Yocto Project files one of two ways depending on whether you
are going to be contributing back into the Yocto Project source repository or not.
<note>
Regardless of the method you use, this manual will refer to the resulting
hierarchical set of files as "the local Yocto Project files."
Regardless of the method you use, this manual refers to the resulting
hierarchical set of files as "the Yocto Project files" or "the Yocto Project file
structure."
</note>
<itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute
back into the Yocto Project you can simply download the Yocto Project release you want
back into the Yocto Project, you can simply download the Yocto Project release you want
from the websites <ulink url='http://yoctoproject.org/download'>download page</ulink>.
Once you have the tarball, just extract it into a directory of your choice.</para>
<para>For example, the following command extracts the Yocto Project 1.1 release tarball
into the current working directory and sets up a file structure whose top-level
directory is named <filename>poky-1.1</filename>:
<literallayout class='monospaced'>
$ tar xfj poky-1.1.tar.bz2
</literallayout></para>
<para>This method does not produce a <filename>poky</filename> Git repository.
You end up simply with a local snapshot of Yocto Project files that are based on the
particular release in the tarball.</para></listitem>
into the current working directory and sets up the Yocto Project file structure
with a top-level directory named <filename>poky-edison-6.0</filename>:
<literallayout class='monospaced'>
$ tar xfj poky-edison-6.0.tar.bz2
</literallayout></para>
<para>This method does not produce a Git repository.
Instead, you simply end up with a local snapshot of the
Yocto Project files that are based on the particular release in the
tarball.</para></listitem>
<listitem><para><emphasis>Git Repository Method:</emphasis> If you are going to be contributing
back into the Yocto Project you should use Git commands to set up a local
<filename>poky</filename> Git repository of the Yocto Project.
back into the Yocto Project, you should use Git commands to set up a local
Git repository of the Yocto Project files.
Doing so creates a Git repository with a complete history of changes and allows
you to easily submit your changes upstream to the project.</para>
<para>The following transcript shows how to clone the <filename>poky</filename>
<para>The following transcript shows how to clone the Yocto Project files'
Git repository into the current working directory.
The command creates the repository in a directory named <filename>poky</filename>.
For information on the Yocto Project and Git, see
<xref linkend='git'>Git</xref> in
<xref linkend='dev-manual-newbie'>Working with Open Source Code</xref>.
For information on the Yocto Project and Git, see the
"<link linkend='git'>Git</link>" section.
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Initialized empty Git repository in /home/scottrif/poky/.git/
remote: Counting objects: 107624, done.
remote: Compressing objects: 100% (37128/37128), done.
remote: Total 107624 (delta 73393), reused 99851 (delta 67287)
Receiving objects: 100% (107624/107624), 69.74 MiB | 483 KiB/s, done.
Resolving deltas: 100% (73393/73393), done.
</literallayout></para>
<para>For another example of how to set up your own local Git repositories see this
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. </literallayout></para>
<para>For another example of how to set up your own local Git repositories, see this
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink>, which describes how to create both <filename>poky</filename>
and <filename>meta-intel</filename> Git repositories.</para></listitem>
</itemizedlist></para></listitem>
<listitem id='local-kernel-files'><para><emphasis>Linux Yocto Kernel:</emphasis>
If you are going to be making modifications to a supported Linux Yocto kernel you
need to get set up so that you can edit local copies of the source.
If you are going to be making modifications to a supported Linux Yocto kernel, you
need to establish local copies of the source.
This setup involves creating a bare clone of the Linux Yocto kernel and then cloning
that repository.
You can create the bare clone and the copy of the bare clone anywhere you like.
For simplicity, it is recommended that you create these structures outside of the
Yocto Project files Git repository.</para>
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</filename> kernel and then create a copy of
that clone.
<note>If you currently have a local Linux Yocto kernel Git repository, you can
reference this local repository rather than the upstream Git repository as
<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>
The bare clone is named <filename>linux-yocto-3.0.git</filename>, while the
Doing so can speed up the process.</note></para>
<para>In the following example, the bare clone is named
<filename>linux-yocto-3.0.git</filename>, while the
copy is named <filename>linux-yocto-3.0</filename>:
<literallayout class='monospaced'>
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.0 linux-yocto-3.0.git
Initialized empty Git repository in /home/scottrif/poky/linux-yocto-3.0.git/
remote: Counting objects: 1886034, done.
remote: Compressing objects: 100% (314326/314326), done.
remote: Total 1886034 (delta 1570200), reused 1870337 (delta 1554798)
Receiving objects: 100% (1886034/1886034), 401.51 MiB | 3.27 MiB/s, done.
Resolving deltas: 100% (1570200/1570200), done.
</literallayout></para>
Initialized empty Git repository in /home/scottrif/linux-yocto-3.0.git/
remote: Counting objects: 2123870, done.
remote: Compressing objects: 100% (341338/341338), done.
remote: Total 2123870 (delta 1778780), reused 2107534 (delta 1762583)
Receiving objects: 100% (2123870/2123870), 445.72 MiB | 2.06 MiB/s, done.
Resolving deltas: 100% (1778780/1778780), done. </literallayout></para>
<para>Now create a clone of the bare clone just created:
<literallayout class='monospaced'>
$ git clone linux-yocto-3.0.git linux-yocto-3.0
Initialized empty Git repository in /home/scottrif/poky/linux-yocto-3.0/.git/
Checking out files: 100% (35188/35188), done.
</literallayout></para></listitem>
Initialized empty Git repository in /home/scottrif/linux-yocto-3.0/.git/
Checking out files: 100% (36898/36898), done. </literallayout></para></listitem>
<listitem id='poky-extras-repo'><para><emphasis>
The <filename>poky-extras</filename> Git Repository</emphasis>:
The <filename>poky-extras</filename> Git repository contains metadata needed to
build the kernel image.
The <filename>poky-extras</filename> Git repository contains metadata needed
only if you are modifying and building the kernel image.
In particular, it contains the kernel <filename>.bbappend</filename> files that you
edit to point to your locally modified kernel source files and to build kernel
edit to point to your locally modified kernel source files and to build the kernel
image.
Pointing to these local files is much more efficient than requiring a download of the
source files from upstream each time you make changes to the kernel.</para>
@@ -160,14 +157,13 @@
$ 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: 531, done.
remote: Compressing objects: 100% (471/471), done.
remote: Total 531 (delta 138), reused 307 (delta 39)
Receiving objects: 100% (531/531), 517.86 KiB, done.
Resolving deltas: 100% (138/138), done.
</literallayout></para></listitem>
<listitem><para><emphasis>Supported Board Support Packages (BSPs):</emphasis> The same considerations
exist for BSPs.
remote: Counting objects: 543, done.
remote: Compressing objects: 100% (483/483), done.
remote: Total 543 (delta 144), reused 307 (delta 39)
Receiving objects: 100% (543/543), 520.55 KiB, done.
Resolving deltas: 100% (144/144), done. </literallayout></para></listitem>
<listitem><para><emphasis>Supported Board Support Packages (BSPs):</emphasis>
Similar considerations exist for BSPs.
You can get set up for BSP development one of two ways: tarball extraction or
with a local Git repository.
Regardless of the method you use, the Yocto Project uses the following BSP layer
@@ -185,21 +181,21 @@
<itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released
BSP tarball from the same
<ulink url='http://yoctoproject.org/download'>download site</ulink>.
Once you have the tarball just extract it into a directory of your choice.
<ulink url='http://yoctoproject.org/download'>download site</ulink> used
to get the Yocto Project release.
Once you have the tarball, just extract it into a directory of your choice.
Again, this method just produces a snapshot of the BSP layer in the form
of a hierarchical directory structure.</para></listitem>
<listitem><para><emphasis>Git Repository Method:</emphasis> If you are working
with a <filename>poky</filename> Git repository you should also set up a
with a Yocto Project files Git repository, you should also set up a
<filename>meta-intel</filename> Git repository.
Typically, you set up the <filename>meta-intel</filename> Git repository inside
the <filename>poky</filename> Git repository.</para>
the Yocto Project files Git repository.</para>
<para>For example, the following transcript shows the steps to clone the
<filename>meta-intel</filename>
Git repository inside the <filename>poky</filename> Git repository.
<literallayout class='monospaced'>
$cd poky
$ 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.
@@ -208,18 +204,17 @@
Receiving objects: 100% (1325/1325), 1.56 MiB | 330 KiB/s, done.
Resolving deltas: 100% (546/546), done.
</literallayout></para>
<para>The same
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink> referenced earlier covers how to
set up the <filename>meta-intel</filename> Git repository.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis>Eclipse Yocto Plug-in:</emphasis> If you are developing
applications using the
Eclipse Integrated Development Environment (IDE) you will need this plug-in.
applications using the Eclipse Integrated Development Environment (IDE),
you will need this plug-in.
See the
<ulink url='http://www.yoctoproject.org/docs/adt-manual/adt-manual.html#setting-up-the-eclipse-ide'>
Setting up the Eclipse IDE</ulink> section in the Yocto Application Development Toolkit (ADT)
"<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html#setting-up-the-eclipse-ide'>Setting up the Eclipse IDE</ulink>"
section in the Yocto Application Development Toolkit (ADT)
Users Guide for more information.</para></listitem>
</itemizedlist>
</para>
@@ -231,8 +226,8 @@
<para>
The build process creates an entire Linux distribution, including the toolchain, from source.
For more information on this topic, see the
<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#building-image'>
Building an Image</ulink> section in the Yocto Project Quick Start.
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>"
section in the Yocto Project Quick Start.
</para>
<para>
@@ -244,9 +239,9 @@
script.</para></listitem>
<listitem><para>Optionally ensure the <filename>conf/local.conf</filename> configuration file is set
up how you want it.
This file defines the target machine architecture and and other build options.</para></listitem>
<listitem><para>Build the image using the BitBake command.
If you want information on Bitbake, see the user manual at
This file defines the target machine architecture and other build options.</para></listitem>
<listitem><para>Build the image using the <command>bitbake</command> command.
If you want information on BitBake, see the user manual at
<ulink url='http://docs.openembedded.org/bitbake/html'></ulink>.</para></listitem>
<listitem><para>Run the image either on the actual hardware or using the QEMU
emulator.</para></listitem>
@@ -260,16 +255,17 @@
<para>
Another option you have to get started is to use pre-built binaries.
This scenario is ideal for developing software applications to run on your target hardware.
To do this you need to install the stand-alone Yocto toolchain tarball and then download the
pre-built kernel that you will boot using the QEMU emulator.
Next, you must download the filesystem for your target machines architecture.
Finally, you set up the environment to emulate the hardware then start the emulator.
To do this, you need to install the stand-alone Yocto Project cross-toolchain tarball and
then download the pre-built kernel that you will boot in the QEMU emulator.
Next, you must download and extract the target root filesystem for your target
machines architecture.
Finally, you set up the environment to emulate the hardware and then start the QEMU emulator.
</para>
<para>
You can find details on all these steps in the
<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#using-pre-built'>
Using Pre-Built Binaries and QEMU</ulink> section in the Yocto Project Quick Start.
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
section of the Yocto Project Quick Start.
</para>
</section>
</chapter>

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