Compare commits

..

3530 Commits

Author SHA1 Message Date
Saul Wold
0f6efe9948 lttng-control: Fix SRC_URL to point at lttng.org
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-11 17:01:35 +00:00
Saul Wold
dc9cae2f12 puzzles: Update to r9084
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-11 17:01:24 +00:00
Richard Purdie
132ec8d3b7 bitbake/fetch2: Fix patch merge error
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-11 16:24:26 +00:00
Richard Purdie
a72d49478e bitbake/fetch2: Add some debug output so its clear when PREMIRRORS, upstream and MIRRORS are being used
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-11 16:16:51 +00:00
Richard Purdie
20afb21a37 bitbake/fetch2: Ensure network access status is reset for each loop iteration in download()
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-11 16:15:36 +00:00
Zhai Edwin
49a18f1748 sstate: Fix bugs after new fetcher
Current sstate's fetch code doesn't reflect latest fetcher changes, so old
fetch style cause exception and fail silently.

[BUGID #708] got fixed.

Another issue is "import xxx" in python function from sstate.bbclass can only
sit in the head of the function, else have UnboundLocalError: "local variable
XXX referenced before assignment".

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-02-11 14:07:49 +00:00
Richard Purdie
05d8b6422d bitbake/fetch2/wget: Fix missing string parameter reference
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-11 12:16:44 +00:00
Richard Purdie
ea70c4362f bitbake/fetch2: Ensure failed fetch attempts are logged in the debug logs
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-11 12:14:20 +00:00
Richard Purdie
7f30131faa bitbake/fetch2: Correctly handle git mirror tarball fetching
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-11 12:06:44 +00:00
Richard Purdie
20ab1cb0ca bitbake/fetch2: Pass over malformatted (empty) mirror url lines
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-11 12:04:59 +00:00
Richard Purdie
96aeec41bc meta: Update mirror urls to new format and update yocto project urls
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-11 12:04:12 +00:00
Richard Purdie
8e93b533ab linux-dtb.inc: Fix package name to match PACKAGES
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-11 10:27:22 +00:00
Richard Purdie
b42ba2f95c bitbake: Remove bad commit hunk from old cvs fetcher
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 23:53:17 +00:00
Saul Wold
14dea89521 fetch2: Correct the clean() mechanism for the fetcher2 code
This create a clean() method in each of the fetcher modules
and correctly cleans the .done stamp file and lock files

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-10 23:49:25 +00:00
Javier Martin
f1bbea4ab0 Export KRB5CCNAME variable
This allows fetching git repositories using Kerberos authentication.

(Bitbake rev: d761cf98284b02eb3d3a1f879782c501c284b698)

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 22:35:44 +00:00
Javier Martin
aacbe3f35e Fix comparison with SRCREVINACTION constant
Use '==' instead of 'is', otherwise it will always return
true since 'rev' and "SRCREVINACTION" are not the same object.

(Bitbake rev: f30b3af975a071d1584817054a2996f08a3aba4f)

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 22:35:28 +00:00
Chris Larson
c68c5f6e31 persist_data: kill unreachable break line
(Bitbake rev: 7486b38603f2766adaf976a9f95e9276c83abe31)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 22:35:12 +00:00
Chris Larson
afdbb02693 bitbake-layers: fix bug with env vars leaking in
I forgot that bin/bitbake is what does the environment filtering based upon
BB_ENV_WHITELIST, etc.

(Bitbake rev: 2cc6b6951bd17832866ec710029d119d2df31ba4)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 22:34:24 +00:00
Chris Larson
882ac1afea cache: fix docstring usage
Use comments instead of docstrings where appropriate in CacheData.

(Bitbake rev: 088d516e02bb2b4ce8a50bbaa967e944c46e620b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 22:34:10 +00:00
Chris Larson
68bd406962 Add initial bitbake-layers script
This script has subcommands which operate against your bitbake layers, either
displaying useful information, or acting against them.  Currently, it only
provides a show_appends command, which shows you what bbappends are in effect,
and warns you if you have appends which are not being utilized.

Currently, a bug exists when using this due to the DataContext stuff, but I'm
not certain as to the root cause, it appears to be the bb package relying
implicitly on the way the bitbake script does things.  A fix for that issue
will be forthcoming, as will further subcommands.

(Bitbake rev: 78b6d4cb26cec3321f8eec9889205a6b93b2ee18)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 22:33:43 +00:00
Chris Larson
1385162cd2 persist_data: loop on database lock for table creation
(Bitbake rev: d93fcbd64ab5d806288424170f55323b4297e7d6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 22:32:12 +00:00
Darren Hart
4af3191331 xkeyboard-config: make depend on intltool-native
The xkeyboard-config listed intltool as a dependency, when in fact
it requires intltool-native in order to complete the do_configure
task.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Saul Wold <sgw@linux.intel.com>
2011-02-10 17:53:00 +00:00
Richard Purdie
2501ff2565 local.conf.sample: Drop some comments about things that either no longer apply or are obsoleted (now we have -dbg packages)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 15:36:48 +00:00
Jiajun Xu
d2cfd3c54f qemuimagetest: Rename test scenario file from poky-image-sdk to poky-image-sato-sdk
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-02-10 15:27:50 +00:00
Yu Ke
33df485498 mesa-dri-7.10: add missing dependency makedepend
mesa 7.10 has dependency on makedepend-native, so add it
to resolve the configure failure

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-02-10 15:27:50 +00:00
Yu Ke
8c2f3e043b mesa-xlib-7.10: add missing dependency makedepend
mesa 7.10 has dependency on makedepend-native, so add it
to resolve the configure failure

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-02-10 15:27:50 +00:00
Richard Purdie
59a08262ab bitbake/fetch2/git: Write mirror tarballs if enabled and they don't exist, also set a default value for mirror tarball generation
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 15:24:31 +00:00
Richard Purdie
5cac571791 rm_work.bbclass: Fix typo for package task directory preservation
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 12:21:37 +00:00
Richard Purdie
9d7aa1090c task-poky-apps-x11-pimlico: Webkit is huge and the compile time means it doesn't make sense in our demo sato image
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 12:01:04 +00:00
Richard Purdie
7b4150fe30 util-linux: Correctly prepend to PACKAGES and stop corrupting linux-util-native PACKAGES variable
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 12:01:04 +00:00
Richard Purdie
3323759def ncurses: Apply unifdef-native dependency to the task that uses it, not globally
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 12:01:04 +00:00
Richard Purdie
d1a1635a45 package.bbclass: Only set recrdeptask for do_build if packaging is enabled for the recipe
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 12:01:04 +00:00
Richard Purdie
388a92bb7c debian.bbclass: Only set rdeptask for do_package if packaging is enabled
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 12:01:04 +00:00
Richard Purdie
b1c0b3de20 pseudo: Add and use the 1.0 release version
Not using the git version has the advantage of removing several early bootstrap
dependencies such as git-native (which pulls in perl and openssl).

Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 12:01:04 +00:00
Dexuan Cui
0b50dc8ed6 lttng-ust: fix ppc build by removing ppc specific time reading function
Here I introduced a patch from lttng mailing list to fix ppc build.
See the patch for more details.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-02-10 12:01:04 +00:00
Richard Purdie
296866c38e image-swab: Convert to attach strace to the process to obtain the required swabber data
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 11:51:48 +00:00
Mark Hatle
d3d236b2bf Misc hard link fixes
I searched the various classes and looked for copies that should attempt to
preserve hardlinks.  This fixes the majority of this copies by switching to
using tar as the copy method.  It also has the side effect of preserving sparse
files.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-09 22:46:30 +00:00
Mark Hatle
3e6d91ece0 package.bbclass: Preserve hard links!
Hard links were not being preserved in the move from the install image
-> package copy.  Again they were being discarded in the package ->
packages-split copy as well.

By preserving the hard links we have the potential to save a ton of rootfs
space.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-09 22:46:30 +00:00
Richard Purdie
58ae42cbc3 lib.oe.path: Update copytree function to call shell commands since its twice as fast
As an added bonus, hardlinks between files in the tree will be preserved too.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 22:46:30 +00:00
Yu Ke
bb3db5106d talloc: remove talloc recipe
mesa no long need talloc, so remove it

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-02-09 22:45:48 +00:00
Yu Ke
577c89365d mesa-xlib: upgrade to 7.10
- add patch to replace GPLv3 talloc with ralloc
- add SRC_URI checksum

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-02-09 22:45:48 +00:00
Yu Ke
97e288ff7f mesa-7.10: set mesa 7.10 as default instead of 7.8.2
originally mesa 7.8.2 is set as default because 7.10
has depency of GPLv3 talloc. since mesa 7.10 has resolved
the GPLv3 talloc dependency issue, it is safe to set 7.10
as default

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-02-09 22:45:47 +00:00
Yu Ke
d64460afde mesa-dri-7.10: replace GPLv3 talloc with MIT-x licensed ralloc
mesa 7.10.1 devel branch has the patch to replace talloc with ralloc.
so add a patch to sync with 7.10.1 devel branch.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-02-09 22:45:47 +00:00
Nitin A Kamble
068417289a image-mklibs.bbclass: add the library optimization functionality
If you want to enable the mklibs library size optimization for your image
then, edit the MKLIBS_OPTIMIZED_IMAGES line in the local.conf like this:

  MKLIBS_OPTIMIZED_IMAGES ?= "poky-image-minimal your-own-image"

Also this will enable the mklibs library size optimization for all images.

  MKLIBS_OPTIMIZED_IMAGES ?= "all"

on qemux86 machine this reduced the rootfs size of poky image-minimal
image from 7.9MB to 7.2MB. That is around 11% image foot print reduction.
That image had 38 elf executables. Generally the size optimization by
mklibs is reversely proportional to the number of elf executables in the
rootfs. So bigger images will see less optimization, and smaller images
will see large image size reductions.

Thanks to mark hatle for his help in implementation of this.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-02-09 22:45:47 +00:00
Saul Wold
cfc4041988 makedepend: remove # from the beginning of DESCRIPTION lines
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-09 22:45:47 +00:00
Scott Garman
b0c2d6fed4 xserver-kdrive.inc: add openssl to DEPENDS
This fixes the following configure error:
No suitable SHA1 implementation found

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-09 22:45:47 +00:00
Scott Garman
2fbcf14199 prelink: add transfig-native to DEPENDS
Building prelink's documentaiton requires fig2dev, which is
provided by transfig-native.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-09 22:45:46 +00:00
Scott Garman
c7de36585e transfig: new recipe v3.2.5d
Transfig provides fig2dev, which is used when building
documentation for many packages.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-09 22:45:46 +00:00
Scott Garman
fbf6c30fb7 imake: add native support to recipe and update DEPENDS
xorg-cf-files includes configuration files used by imake-based
recipes. Also add native support to the recipe.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-09 22:45:46 +00:00
Scott Garman
98dec6e889 libxpm: add native support to recipe
The native recipe is needed by the transfig-native dependency chain.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-09 22:45:46 +00:00
Scott Garman
26e3ce2991 libxext: add native support to recipe
The native recipe is needed by the transfig-native dependency chain.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-09 22:45:46 +00:00
Scott Garman
38eaf20166 xorg-cf-files: new recipe v1.0.4
This package includes configuration files needed for old x11
imake-based packages - transfig in particular.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-09 22:45:46 +00:00
Darren Hart
27b3f0813b uboot: move license data into recipe with SRC_URI
The LIC_CHKSUM_FILES are specific to the source determined by SRC_URI. As such,
keep all the license information together with the SRC_URI. This also avoids
confusion from having these defined in both the .inc and the .bb files. The
CHKSUM got out of date in u-boot_git.bb, so update it while we're at it.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Ilya Yanok <yanok@emcraft.com>
CC: Gary Thomas <gary@mlbassoc.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 22:44:52 +00:00
Darren Hart
6b76ceed14 uboot: build with -O2 on all architectures
The -Os option was disabled due to a bug in gcc building bad binaries for ARM
in an earlier commit:

f2dc7fadd8

This caused problems for powerpc which was resolved by replacing -Os with
-O2 for that architecture:

d0eb6794d9

Using -O2 also works for ARM, so there is no need to condition using -O2 on
powerpc. Remove the condition and use -O2 on all architectures.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Ilya Yanok <yanok@emcraft.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 22:44:52 +00:00
Darren Hart
ba163a4378 kernel.bbclass: use defconfig if it exists
It is common enough to want to apply a defconfig if the inheriting
recipe provides it. If the file exists in the $WORKDIR, copy it
over to ${S}/.config provided the target does not already exist.

This allows for recipes derived from kernel.bbclass to manage the
.config on their own, such as linux.inc.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-02-09 22:44:52 +00:00
Darren Hart
8d1b4fe287 linux.inc: don't overwrite an existing uImage
If a valid uImage exists, don't overwrite it with Image.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-02-09 22:44:52 +00:00
Ilya Yanok
d0eb6794d9 u-boot: compile with -O2 on PowerPC
gcc on PowerPC is currently compiled with -Os optimization disabled so
we have to use -O2 on PowerPC instead.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 11:25:04 +00:00
Ilya Yanok
8bf1bf2189 u-boot: add LIC_FILES_CHKSUM
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 11:24:58 +00:00
Richard Purdie
5f2cf65e65 linux/u-boot: Update LICENSE fields to specify GPL version
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 11:23:51 +00:00
Ilya Yanok
07da5002f0 linux: add LIC_FILES_CHKSUM
Linux is licensed under GPL so add appropriate LIC_FILES_CHKSUM to
linux.inc file.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 11:20:59 +00:00
Richard Purdie
082aff4753 Merge branch 'jzhang/i686' of ssh://git.pokylinux.org/poky-contrib 2011-02-09 11:18:28 +00:00
Richard Purdie
092f132a47 Merge branch 'jzhang/adt-repo' of ssh://git.pokylinux.org/poky-contrib 2011-02-09 11:18:13 +00:00
Bruce Ashfield
ad987ff0f3 mpc8315-rdb: add dtb generation configuration
Fixes [BUGID #610]

dtb files were not being built for the mpc8315e-rdb, since they
weren't being configured into the machine. With this and the
related dtc fixes, we now get a dtb in the deployment directories.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-09 11:16:35 +00:00
Bruce Ashfield
15cce57a56 dtc: add LIC_FILES_CHKSUM to dtc-native
The new license processing rules error if dtc-native itself
doesn't have license information. Previously only the .inc
files contained this information, so we make a copy and leave
the existing license info to be removed pending further review.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-09 11:16:34 +00:00
Bruce Ashfield
970f3959d3 linux: factor dts/dtc/dtb handling into a specific include
Fixes [BUGID #610]

The powerpc linux-yocto kernels were not creating dtb images
in the deploy directories. This was due to two problems:

  - the dtb generation rules were not being configured
  - the boards were not specifying a device tree in their config

This change addresses the first point by factoring out the
dtb generation routines into a new include that can be used by
multiple recipes.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-09 11:16:34 +00:00
Bruce Ashfield
1de7185d8e linux-yocto: streamline BSP bootstrapping
In order to build BSPs that were not already integrated into
the upstream linux yocto kernel AND keep the git fetcher happy,
some fairly complex anonymous python sections were required.

These sections cause problems with variable expansion and SRCREV
processing.

With the updated git fetcher code, we can streamline the BSP
boostrapping process and drop 99% of the anonymous python code.

This commit has the following changes to support BSP boot strapping
and simplication for existing BSPs.

   - KMETA is set per-recipe rather than in python code
   - undefined machines are no longer used, but instead common
     branch names are set per-recipe
   - fallback machine SRCREVs are present in the default revisions
     file
   - A new variable YOCTO_KERNEL_EXTERNAL_BRANCH should be set in
     the local.conf for new BSPs instead of being programatically
     determined in the anonymous python.
   - No more explicity KMACHINE variable expansion and manipulation,
     since the tools and build phases no longer require it due
     to the per-recipe fallbacks.

Integrated/merged BSPs are unaffected by the changes and have been
regression tested.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

foo

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-09 11:16:34 +00:00
Bruce Ashfield
9ce72c28bb linux-yocto: streamline BSP bootstrapping
In order to build BSPs that were not already integrated into
the upstream linux yocto kernel AND keep the git fetcher happy,
some fairly complex anonymous python sections were required.

These sections cause problems with variable expansion and SRCREV
processing.

With the updated git fetcher code, we can streamline the BSP
boostrapping process and drop 99% of the anonymous python code.

This commit has the following changes to support BSP boot strapping
and simplication for existing BSPs.

   - KMETA is set per-recipe rather than in python code
   - undefined machines are no longer used, but instead common
     branch names are set per-recipe
   - fallback machine SRCREVs are present in the default revisions
     file
   - A new variable YOCTO_KERNEL_EXTERNAL_BRANCH should be set in
     the local.conf for new BSPs instead of being programatically
     determined in the anonymous python.
   - No more explicity KMACHINE variable expansion and manipulation,
     since the tools and build phases no longer require it due
     to the per-recipe fallbacks.

Integrated/merged BSPs are unaffected by the changes and have been
regression tested.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

foo

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-09 11:11:07 +00:00
Koen Kooi
3150c5a0c2 binutils-cross-canadian.inc: disable -werror like -cross does
The error this works around is:

cc1: warnings being treated as errors
gas/config/tc-arm.c: In function 'parse_operands':
gas/config/tc-arm.c:1876:27: error: 'firsttype$defined' may be used uninitialized in this function
gas/config/tc-arm.c:1876:27: error: 'firsttype$index' may be used uninitialized in this function

Ideally it should get fixed properly, but let's mimic binutils-cross for now

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 11:07:49 +00:00
Koen Kooi
a20600d4bb bitbake.conf: fix SDK_NAME
It was using a '/' in a name variable, subtly breaking things like this:

populate_sdk.bbclass:
   mkdir -p ${SDK_DEPLOY}
   cd ${SDK_OUTPUT}
   tar --owner=root --group=root -cj --file=${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .

Tar will error out since SDK_DEPLOY/DISTRO/ doesn't exist. Change the default to be more like the one from poky.conf, without the poky specific POKYLIBC.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 11:07:37 +00:00
Jessica Zhang
4ed19cfd21 adt-installer: change to adopt the adt public repo directory layout
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2011-02-08 23:10:13 -08:00
Richard Purdie
29ed2c6e9a bitbake/fetch2: Fix negated if check for BB_FETCH_PREMIRRORONLY
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 01:23:56 +00:00
Jessica Zhang
33b3e59632 local.conf: change i586 to i686 for 32bit SDK
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2011-02-08 11:48:20 -08:00
Mark Hatle
906285ff00 fetch2: Add SRPM knowledge
Enable the fetcher to be able to unpack and SRPM.  By default the system will
unpack the contents of the SRPM into the WORKDIR.

A new syntax "unpack=file" was developed for the SRC_URI, to allow for a
recipe to extract a specific file within an SRPM.  An unpack operation will
then be executed on the extracted file.

In order to apply extracted patches (or unpack files not specified with
unpack), you must specify the path using WORKDIR, i.e.:

file://${WORKDIR}/mypatch.patch

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-08 18:01:35 +00:00
Mark Hatle
2f3a7348b7 insane.bbclass: Fix config.log error message
[BUG #702]

The previous error message was confusing.  It was looking for both library and
include host contamination, but the message only indicated include files.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-08 17:53:15 +00:00
Saul Wold
07088f7711 bitbake/utils.py: add glob name matching to remove
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-08 17:35:49 +00:00
Richard Purdie
aa45760702 bitbake/fetch2: Ignore UnboundLocalError in exception handler in try_mirror
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-08 17:30:45 +00:00
Richard Purdie
ee1a9c0476 bitbake/fetch2: Move symlink handling into try_mirror where is belongs instead of the main download function
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-08 14:02:16 +00:00
Richard Purdie
c4e66a7fe0 bitbake/fetch2: When using BB_FETCH_PREMIRRORONLY, set BB_NO_NETWORK after premirrors as there could be data processing needed by the real fetcher
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-08 14:02:16 +00:00
Richard Purdie
91eeb9b0d3 bitbake/fetch2: Ensure we only remove files, not directories when fetch failures occur
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-08 14:02:16 +00:00
Richard Purdie
0713fb6b99 bitbake/fetch2: Ensure original ud is preserved in try_mirror
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-08 14:02:16 +00:00
Richard Purdie
38878db3b0 linux-yocto-stable: Fix meta branch name
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-08 12:05:36 +00:00
Richard Purdie
65712be736 kernel-yocto: Ensure python code has awlays run before SRCPV is expanded
The python code in this class file needs to run before SRCPV is expanded
and calls into the fetcher are made. To so this we create a python function
and prepend a call to it before SRCPV's get_srcrev() call.

Ugly, ugly, ugly but the ordering is guaranteed.

If this doesn't happen, the fetcher can end up in two different states and
there may be caching implications of this.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-08 12:05:36 +00:00
Richard Purdie
bd2fd821a3 kernel-yocto/poky-default-revisions: Ensure SRCREV_machine is set for the kernels
If we don't do this and try to bring up a new machine we can trigger network
access to resolve the branch name to a revision which is undesireable.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-08 12:05:36 +00:00
Richard Purdie
a235c67479 bitbake/fetch2/git: Fix broken variable reference
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-08 12:05:35 +00:00
Richard Purdie
5920e85c56 bitbake/fetch2/git: Ensure unresolved branches are translated into revisions
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-08 12:05:35 +00:00
Saul Wold
1544aa8ab4 fetch2: add try/finally to ensure lockfile is unlocked on failure
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-07 17:29:46 -08:00
Saul Wold
232b6f3c92 fetch2: add runfetchcmd to import for fetchers
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-07 16:28:35 -08:00
Tom Zanussi
6ec0e55375 init-live.sh: add 'coldplug' udev trigger
Fixes [BUGID #693]

The init-live.sh script starts udevd in init-live.sh:early_setup(),
but doesn't account for the possibility that the root device may have
already been registered by the kernel before udevd starts up.

If the device is detected after udevd starts up, everything's fine -
udevd gets the 'add' uevent for the device, the root image shows up at
e.g. /media/sda/rootfs.img, and the boot continues.

If however the device is detected before udevd starts up, udevd misses
the 'add' uevent and the root image never shows up, causing it to stay
in the 'waiting for removable media' loop forever.

The 'udevadm trigger' command is meant to be used to avoid this
situation, but init-live.sh doesn't use it.  Furthermore, since the
default was changed in udev 152 from 'add' to 'change', the command
needs to explicity name 'add' as the action.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2011-02-07 21:53:42 +00:00
Koen Kooi
36efa8933d rpm: catch up with fetcher2
Update the rpm recipe after the recent changes to the fetcher API. Koen wrote
the original patch, Richard cleaned it up and fixed it.

This code needs to be merged into the fetcher instead at some point soon.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 21:13:19 +00:00
Richard Purdie
500c66337c bitbake/fetch2:Fetch Make using the fn based cache optional
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 21:13:13 +00:00
Richard Purdie
d4b4b48add bitbake/fetch2: Fix pickling issues with fetcher exceptions
See the problems in http://bugs.python.org/issue1692335, need to set self.args
correctly.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 21:13:13 +00:00
Richard Purdie
94faffdaf6 bitbake/fetch2: Update mirror processing to ensure we look for mirror tarballs
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 19:48:21 +00:00
Richard Purdie
37624b9745 bitbake/fetch2: Update forcefetch and mirror handling to clean up, simplfy and bug fix the code
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 16:52:42 +00:00
Darren Hart
1d3fdc85c6 beagleboard: allow kernel provider override
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-07 16:52:41 +00:00
Bruce Ashfield
76c3514509 linux-yocto: uprev lttng to 2.6.37-lttng-0.242
commits: 7697c24..2e05e11
upstream: git://git.kernel.org/pub/scm/linux/kernel/git/compudj/linux-2.6-lttng.git

Update to lttng-0.242 for 2.6.37. Built and boot tested on all
architectures.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-07 16:52:41 +00:00
Nitin A Kamble
4816a02db4 mesa-demos: fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libpthread library explicitely for linking to work
without errors.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-02-07 16:52:41 +00:00
Mark Hatle
d372eadfd3 util-linux: Add mount lock patch
Add the mount lock patch that moves the lock file from the potentially R/O
/etc, to the R/W /var/lock directory.

This resolves a problem when mounting when / (and /etc) is mounted R/O.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-07 16:52:41 +00:00
Mark Hatle
fdb6a23ea0 sysfsutils: Merge bug fix
Merge a small bug fix located in the Fedora Core 9 version of this
package.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-07 16:52:41 +00:00
Mark Hatle
522d16a70f coreutils: Add various bug fixes
Add a number of bug fixes, mostly imported from Fedora and Wind River
Linux.

cp-i-u: fix unnecessary prompting
fix-install: Fix installing to a dangling symlink
i18n: li18nux/lsb compliance
ls-x: Fix incorrect output
overflow: Fix potential overflow in who command

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-07 16:52:41 +00:00
Mark Hatle
427472e980 busybox: Support DHCP refresh without restarting the interface
When the kernel is started using ip=dhcp, we want a way to be able to run
the udhcp client within busybox and not reset the interface.

When using the '-D' option to udhcpc, the defconfig script will be skipped
allowing the refresh without changing the network settings.

Also provide an initscript that can be used to detect ip=dhcp on the
kernel command line, if detected it will refresh the lease and set the
proper resolve.conf and related files, but not reset the interface.

Original code in Wind River Linux by Greg Moffatt <greg.moffat@windriver.com>

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-07 16:52:41 +00:00
Mark Hatle
5ade6c7de8 pseudo: Uprev pseudo and fix a few minor bugs
Uprev pseudo to the latest version.  This corrects a linking problem on
some newer host systems.

In addition, we add more detail to the local.conf.sample file to explain
the NO32LIBS and why someone would set it to 0.

Also fix a minor bug in pseudo that prevented it from building for the
target.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-07 16:52:40 +00:00
Richard Purdie
7586adb360 bitbake/msg: Ensure lower level debug messages have DEBUG prefix and reuse log level values from formatter
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 14:50:27 +00:00
Richard Purdie
ded83ffc3b bitbake/fetch2: Match Fetcher log domain to that in bb.msg
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 14:50:27 +00:00
Richard Purdie
d7eebbe9db bitbake:__init__.py: Fix debug log level handling to correct debug output
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 14:50:27 +00:00
Richard Purdie
fb9c5a196e bitbake: event/build: Drop stdout specific handling for python messages as this is no longer needed with newer log handling
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 14:50:27 +00:00
Richard Purdie
af6480bdde distrodata: Update to new fetcher API
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 10:23:01 +00:00
Richard Purdie
fbebb9a9cd utility-tasks: Update checkuri to new fetcher API
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 10:16:00 +00:00
Richard Purdie
681bcf4e6b bitbake/fetch2/git: use clonedir as ud.localfile too since the mirror tarball may not exist
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 10:13:29 +00:00
Richard Purdie
3308868267 bitbake/fetch2/git.py: Ensure that forcefetch operates in the correct directory for calling _contains_ref()
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:34:24 +00:00
Richard Purdie
32dbc70e86 kernel-yocto: 'standard' isn't a valid git branch name for a SRCREV, fix
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:32:44 +00:00
Richard Purdie
917d3e9697 bitbake/fetch2/git: Fix localpath to point at the clone repo since we no longer always generate a mirror tarball and it isn't a good guide to fetcher success
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:13:44 +00:00
Richard Purdie
8e070a9a54 rpm: Update extra unpack code after fetcher changes
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:38 +00:00
Richard Purdie
7202a77134 bitbake/fetch2: Use True instead of integer values
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:37 +00:00
Richard Purdie
8f2abf4a9f bitbake/fetch2: Drop name/override ordering backwards compatibility code
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:37 +00:00
Richard Purdie
ee6f34483a bitbake/fetch2/svn: The concept of using dates with svn is totally insane, drop support
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:37 +00:00
Richard Purdie
984e90f4d7 meta/classes: Update classes to use new fetcher API
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:37 +00:00
Richard Purdie
ca7adf7529 bitbake/fetch2: Define a new interface to the fetcher code though the 'Fetch' class
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:37 +00:00
Richard Purdie
08a9fef4fa bitbake/fetch2: Fix typo
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:37 +00:00
Richard Purdie
806d1c25f8 bitbake/fetch2: Drop legacy CVSDATE support
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:36 +00:00
Richard Purdie
f60d9d6bd4 bitbake/fetch2: Move getSRCDate to FetchData class where is more appropriate
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:36 +00:00
Richard Purdie
831c6c1d3c bitbake/fetch2: Make srcrev_internal_helper a normal function, doesn't belong in the FetchMethod class
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:36 +00:00
Richard Purdie
ab0dd13974 bitbake/fetch2: Rename Fetch class to FetchMethod
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:36 +00:00
Richard Purdie
74b71864fe bitbake/fetch2: Drop old md5 handling code
Drop some old md5 functions since we have improved functionality now which includes
sha256 checksum support. This stops each download being md5 checksumed twice.

Also change ".md5" stamp extentions to ".done" to better describe its use as a
download complete marker file and no longer write the md5 sum to the files.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:36 +00:00
Richard Purdie
d08397ba4d bitbake/fetch2: Rewrite and improve exception handling, reusing core functions for common operations where possible
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:36 +00:00
Richard Purdie
f6eefb3ca3 bitbake/fetch2: Have all fetcher exceptions derived from a common BBFetchException class
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:35 +00:00
Richard Purdie
604037de4b base.bbclass: Update after fetcher changes
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:35 +00:00
Richard Purdie
8daab5b951 bitbake/fetch2: Drop unused parameter for localpath() and update comments
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:35 +00:00
Richard Purdie
7e4fbfc1c1 bitbake/fetch2: Simplfy setup_srcrevs
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:35 +00:00
Richard Purdie
49a022d25d bitbake/fetch2: Simplify localpath variable handling FetchData init
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:35 +00:00
Richard Purdie
5a52cb80d6 bitbake/fetch2: Define a sane localpath function and remove code duplication
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:35 +00:00
Richard Purdie
972eb5faba bitbake/fetch2: Move ud.localfile setup into urldata_init
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:35 +00:00
Richard Purdie
0e5404ceda bitbake/fetch2: Drop horrible SRCREV hack which is no longer needed
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:34 +00:00
Richard Purdie
b93683c910 bitbake.conf: Force git fetches to a new location after fetcher layout changes
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 00:58:44 +00:00
Richard Purdie
50387575ec poky.conf: Turn off mirror tarball generation by default
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-06 11:44:13 +00:00
Richard Purdie
e4c1e99f23 bitbake/fetch2/git: Switch to completely use bare clones
We no longer need index/workdir support in the mirror tree and it causes all
kind of reference naming problems.Simplifying the code to remove this and use
just bare clones addresses this problem.

We increase the "version" number on the mirror tarballs to reflect the change
and ensure older mirror tarballs are not used as they would break.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-06 11:44:12 +00:00
Mark Hatle
66e6a9798e prelink: Temporary workaround for documentation build
This issue is really do to the timestamps of files being different
enough and that the make of the doc directory is being triggered by
this.

This is partly due to the new git fetcher laying the files down
differently.  Once this issue is resolve, this can be reverted.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-05 20:11:55 -08:00
Saul Wold
192f631129 fetch2/git.py: Fix problem when fetching with no origin
When updating a git repo, its possible to not have an origin,
so fail gracefully with a debug message.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-05 14:14:21 -08:00
Richard Purdie
96810cade0 bitbake/fetch2/git: Ensure we prune origin to remove stale branches
Thanks to Bruce Ashfield for the tip.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-05 15:43:36 +00:00
Saul Wold
0fdcc509c5 Revert "iputils: enable generation of man pages"
This reverts commit 62337be30b.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-03 16:08:14 -08:00
Saul Wold
4cac153859 Revert "docbook-utils: new recipe v0.6.14"
This reverts commit 8b5e600141.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-03 16:08:14 -08:00
Saul Wold
7c64981ba6 Revert "docbook-utils: fix build errors"
This reverts commit 3eef847054.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-03 16:08:13 -08:00
Richard Purdie
51d7e314f8 package.bbclass: Optimise file dependency calculations to ignore locales and kernel modules as these never have dependencies we'd detect anyway
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 20:18:52 +00:00
Richard Purdie
dfc5faf717 bitbake/fetch2/git: Ensure deleted branches upstream are removed, all branch tags are forced to the upstream revisions and all revisions and tags are always fetched
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 20:18:52 +00:00
Darren Hart
3a70078c36 beagleboard: set kernel provider to linux-yocto (2.6.37)
Support has been added for basic Beagleboard xM functionality,
including networking, to the linux-yocto kernel repository.
Tested on the Beagleboard xM.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-03 11:52:32 -08:00
Mark Hatle
8a52fda62f bitbake.conf & package.bbclass: Use default SUMMARY and DESCRIPTION
A new default SUMMARY and DESCRIPTION was defined for any package that
previously did not contain one.  This value is based on the original
SUMMARY_${PN} value.

The new default SUMMARY and DESCRIPTION is used as a basis for all of
the automatic summary and descriptions for the various package splits,
include ${PN}, ${PN}-dbg, ${PN}-dev, ${PN}-doc, and locales.

A recipe may also override any of the automatic summaries by simply
specifying the value.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-03 11:48:48 -08:00
Richard Purdie
282a828f3d bitbake/fetch2: Remove old local file acceleration code
Since local mirror fetches are always symlinked from the download directory
directly, there is no need for this premirrors hack which doesn't cover
mirrors and also abuses the localpath variable with inconsistent results.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 18:24:25 +00:00
Richard Purdie
fa9fda05e1 bitbake/fetch2: Ensure that mirror fetches are symlinked from the download directory
When files are fetched from a mirror source that happens to be local,
ensure links are created for the file since subsequent fetch calls
can then follow the links to find files.

Any other approach such as the existing manipulations of localpath
internally to the fetcher are prone to errors, races and other issues.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 18:22:06 +00:00
Richard Purdie
7f99605562 bitbake/fetch2: When encoding a file:// url, drop user and host information
When processing a cvs SRC_URI to a file:// mirror, the user and host information
will break the mirror processing. This patch addresses it by only constructing
valid urls.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 18:19:23 +00:00
Mark Hatle
9ee3c77f4e recipes-graphics: Add more detailed SUMMARY and DESCRIPTIONS
Add more detailed SUMMARY and DESCRIPTIONS to various graphics and
graphics related components.  I've recently gotten question from users
what something is, or why it was needed.. this should go a long way toward
answering those questions.

Many of the descriptions were taken directly from the upstream location,
where one was not available the Debian packages were consulted for
information.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-03 08:49:22 -08:00
Mark Hatle
30f5eead40 bitbake.conf: Fix missing NM definition
The definition of NM was missing, causing certain configure calls to revert
to using the host system's version of NM.  This can cause problems on some
MIPS based targets, but is theoretically wrong everywhere.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-03 08:49:22 -08:00
Bruce Ashfield
4714d02e38 linux-yocto: BSP updates
Updating for the sugarbay and beagleboard BSPs. To make the sugbay
inhert common-pc-64 generic config/changes/fixes it has been
branched in the kernel as yocto/standard/common-pc-64/sugarbar, as
a result, we'll bump the common-pc-64 to be yocto/standard/common-pc-64/base.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-03 08:49:21 -08:00
Joshua Lock
acfef9301e gobject-introspection: fix DEPENDS
We need flex and bison to build gobject-introspection

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-03 08:49:21 -08:00
Saul Wold
dc9f4dea96 mailx: Disable parallel make
When makeconfig is called multiple times via parallel make, it
causes the LIBS files to get corrupted.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-03 08:49:21 -08:00
Richard Purdie
9b2fd4b0fe license.bbclass: Add coverage by sstate code (also use cleandirs and dirs task attribures for directory handling)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 12:33:18 +00:00
Richard Purdie
1a559cbcca rm_work: Retain package and package-split directories to be consistent with sstate code
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 11:34:04 +00:00
Richard Purdie
4b793fff8e rootrs_rpm.bbclass: Disable createrepo for now due to this error:
| + createrepo /media/build2/builds/rptest/b4/tmp/deploy/rpm
| Traceback (most recent call last):
|   File "/media/build2/builds/rptest/b4/tmp/sysroots/x86_64-linux/usr/share/createrepo/genpkgmetadata.py", line 26, in <module>
|     import rpm
| ImportError: No module named rpm

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 11:24:19 +00:00
Scott Garman
3eef847054 docbook-utils: fix build errors
Fix build errors found in my first iteration of the recipe.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-03 10:04:35 +00:00
Koen Kooi
efbaabd06c wpa-supplicant 0.7.3: fix packaging of dbus service files and fix layout variables
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 10:03:26 +00:00
Richard Purdie
a55d86b405 bitbake/lib/bb/fetch2: Assign a default name in the names array as empty strings as names cause problems for python
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 00:16:23 +00:00
Richard Purdie
08cd6c1cb9 bitbake/fetch2: Add missing parameter to localcount_internal_helper
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 18:48:13 +00:00
Nitin A Kamble
5a16cb5fd6 libconvert-asn1-perl: upgrade from 0.21 to 0.22
And fix following issue caused by the upgrade

| Can't load '/build_disk/poky_build/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/auto/File/Glob/Glob.so' for module File::Glob: /build_disk/poky_build/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/auto/File/Glob/Glob.so: wrong ELF class: ELFCLASS32 at /build_disk/poky_build/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/XSLoader.pm line 79.
|  at /build_disk/poky_build/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/File/Glob.pm line 96

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-02-02 17:55:18 +00:00
Nitin A Kamble
32121906e7 subversion: upgrade from 1.6.13 to 1.6 15
Rebased this patch to the newer code
	modified:   subversion/disable-revision-install.patch

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-02-02 17:55:01 +00:00
Richard Purdie
adfa6c40da bitbake/fetch2/git: Ensure target directory exists when copying files
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 17:46:37 +00:00
Richard Purdie
43addfd01d linux-yocto-stable: Update SRC_URI after fetcher changes
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 17:41:15 +00:00
Richard Purdie
8b5b3cca7d linux-yocto/linux-libc-headers-yocto: Adjust to git fetcher improvements
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 17:19:18 +00:00
Yu Ke
0e837e6844 fetch2: Allow multiple src rev to be used in one src_uri
* SRC_URI format:
the SRC_URI are extended to allow multiple src rev:
name=<name1>,<name2>,...<name-n>
branch=<branch1>,<branch2>,...,<branch-n>
also SRCREV can be defined with
SRCREV_<name1> = xxxxx
SRCREV_<name2> = xxxxx

* FetchData extention
to support multiple src rev, several FetchData data are added:
- FetchData.names: list of name in SRC_URI,  one name per srcrev. name is the index of revision and branch
- FetchData.revisions: dictionary of name->revision.
- FetchData.branches: dictionary of name->branch.

For example, linux-yocto recipes becomes:
SRC_URI = "git://git.pokylinux.org/linux-yocto-2.6.37;protocol=git;branch=${KBRANCH},meta;name=machine,meta"

FetchData.names = ['machine', 'meta']
FetchData.revisions = { 'machine':xxxxx, 'meta':xxxxxx }
FetchData.branches = { 'machine':${KBRANCH}, 'meta':'meta'}

* generic revision handling extension
the related revision handling code in fetch2.__init__.py are changed accordingly. the major change is add name parameter to indicate which src rev to handling. originally there is one src rev per FetchData, so FetchData parameter is enough. now since one FetchData has multiple src rev, it is necessary to use FetchData + name to specifiy src rev.

* git extension
git fetcher are also revised to take advantage of the multiple src rev in FetchData. especially the download() method are enhanced to fetch multiple src rev.

* other fetcher (svn, hg, ...) does not support multiple src rev. they just sync the API to add name, and then simply ignore the name. no actually functional change

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-02-02 17:19:18 +00:00
Yu Ke
affcfe468a git.py: Remove the source tree tarball archives
Since we're now always providing the git source control files it becomes
pointless to handle the tarballs of specific git revisions so drop this
part of the fetcher.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-02-02 17:13:30 +00:00
Richard Purdie
05048e0f91 bitbake/fetch2/git: Add nocheckout option to disable checkouts and always add scm data to checkouts
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 17:11:41 +00:00
Yu Ke
3a3fc6b071 bb.fetch2: Add git unpack
The git download method clones the git repository to the local machine. The unpack process
can be optimised to be a local to local machine clone or a direct readtree operation to the
destination using git.will clone git repo to local, so git unpack can be simplified
to only checkouting the code to the work dir. For fullclone case, we also
need to manually copy all the ref info, which is needed by the later do_kernel_checkout().
Rather than use hardlinks, we reference the repository using alternatives since the
download directory may be on a different filesystem.

[Change to use -s by Richard Purdie]

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-02-02 17:05:48 +00:00
Richard Purdie
d1ed188123 autotools.bbclass: Drop info directory listings as they're going to be broken if generated at this point and cause file conflicts
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 16:56:24 +00:00
Richard Purdie
95f13b1687 package.bbclass: Ensure SUMMARY is written to pkgdata as well as DESCRIPTION
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 14:44:37 +00:00
Richard Purdie
1d3face8f2 cross-localedef-native: Fix do_move_ports since the definition of changes. Raises the question of whether we even need ports for this?
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 14:44:37 +00:00
Richard Purdie
c636efaebb scripts/poky-env-internal: We set LC_ALL in the core so no need to set LANG here now
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 11:58:44 +00:00
Richard Purdie
f33685f111 bitbake.conf: Set LC_ALL instead of requring bitbake or env scripts to do this
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 11:55:34 +00:00
Richard Purdie
cb8153cccd elfutils: Clean up old versions which are no longer required
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 11:22:24 +00:00
Nitin A Kamble
6f6a2035f6 distro_Tracking: update as per current devel/toolchain recipes
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-02-01 23:47:00 -08:00
Scott Rifenbark
ecac1c77c6 documentation/poky-ref-manual/extendpoky.xml: Fixed make problem
Discovered that the manual was not making correctly due to a stray
</literallayout> statement.  I removed this statement and the manual
now builds.

Signed-off-by: Scott Rifenbark <scott@scott-desktop.(none)>
2011-02-01 23:45:13 -08:00
Saul Wold
845d49d109 gnome-doc-utils.inc: inherit gettext instead of DEPENDS
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-01 23:59:43 +00:00
Bruce Ashfield
95366e44c9 linux-yocto: export kernel configuration audit to the console
Fixes [BUGID #692]

Previously the information dumped by the kernel configuration audit
scripts was only placed in log files. This isn't as useful as it
could be, since they are rarely checked. This change takes the
output from kconf_check and explicitly displays it to the user.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-01 23:59:43 +00:00
Bruce Ashfield
e4a4d9e984 mpc8315e-rdb: set UBOOT_ENTRYPOINT
Fixes [BUGID #685]

Although not used if the in kernel uImage is booted, it is
a good idea to set the UBOOT_ENTRYPOINT just as the other
uImage based boards do.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-02-01 23:59:43 +00:00
Mark Hatle
d71f6fff17 rpm: Add relocation to rpm-native
[BUGID #668]

Use the create_wrapper to setup automatic run-time relocation of
rpm-native.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-01 23:59:42 +00:00
Saul Wold
c22484279d glib-2.0: Add stable version 2.26.1
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-01 23:59:42 +00:00
Saul Wold
50b9f87124 libfm: remove add_missing.patch as part of glib-2.0 downgrade
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-01 23:59:42 +00:00
Dongxiao Xu
a196ab068f distro_tracking: update distro tracking fields
Add manual check date for recipes whose upstream vesion could not be
found automatically.

Also update glib-2.0 tracking data.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-02-01 23:59:42 +00:00
Koen Kooi
4db983142f opkg: Update to svn r596 to fix segfault when upgrading packages
The longlinks patch is upstream and and be removed now

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-01 23:59:42 +00:00
Nitin A Kamble
e1a9c8fb03 mklibs-native: new recipe for optimizing size of library files
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-02-01 23:59:42 +00:00
Nitin A Kamble
0322d4c01b distro_tracking: update latest upstream versions
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-02-01 23:59:41 +00:00
Jingdong Lu
bbfd012c1a cups: add cups 1.4.6
This package has been added from meta-openembedded committed by Koen Kooi.
Changes from the meta-openembedded version:
* Add SUMMARY
* Change dependence name: libusb
* Add PR

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2011-02-01 23:59:41 +00:00
Jingdong Lu
c0811670ab libxml2: Enable "--with-legacy" for LSB test.
Enable "--with-legacy" in order to pass library check of LSB.

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2011-02-01 23:59:41 +00:00
Jingdong Lu
0a12a3c0d2 msmtp: add msmtp 1.4.23
This package has been added from Open Embedded in order to replace sendmail.
Changes from the Open Embedded version:
* Update version to 1.4.23
* Add SUMMARY, LIC_FILES_CHKSUM

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2011-02-01 23:59:41 +00:00
Jingdong Lu
2254fd9645 mailx: add mailx 12.4
This package has been added from Open Embedded.
Changes from the Open Embedded version:
* Update version to 12.4(mailx has been replaced by heirloom-mailx)
* Add SUMMARY, LIC_FILES_CHKSUM
* Remove patch(install.patch)

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2011-02-01 23:59:41 +00:00
Kevin Tian
ab3161839a at: allow normal user to use 'at'
fix [BUGID #675]

Similar to previous cronie changes, so far 'at' environment is also not
complete and only root user could trigger delayed tasks. Similar permission
changes are required for:
	/etc/at.deny
	/usr/bin/at
	/var/spool/at/

/usr/bin/at is setgid to 'daemon', to differentiate with cronie. So move
'at' out of 'cron' (/var/spool/cron/at -> /var/spool/at)

another fix is to rename /etc/init.d/at to atd which is more widely used
in other distros (also required by LTP test cases)

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-02-01 23:59:40 +00:00
Kevin Tian
ede0009e7c cronie: enable multi-user crontab usage and make cron environment complete
fix [BUGID #673]

several cron related test cases in LTP reveals that our current cron recipe
is not complete:

a) a complete cron hierarchy better have:
     /etc/crontab
     /etc/cron.d
     /etc/cron.hourly
     /etc/cron.daily
     /etc/cron.weekly
     /etc/cron.monthly

b) for a normal user to use crontab command:
     add a new group - crontab
     /usr/bin/crontab is setgid to root:crontab
     /var/spool/cron is owned by root:crontab

below are optional, and thus not included in the default setup:
     /etc/cron.deny
     /etc/cron.allow

cronie by default only allows root user to use crontab, if neither cron.deny
nor cron.allow exists. They are controlled by final policy deployed on the
product.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-02-01 23:59:40 +00:00
Dexuan Cui
d0bf83cc9b distro_tracking_fields.inc: update pixman
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-02-01 23:59:40 +00:00
Dexuan Cui
cfe132799f pixman: downgrade from development release 0.21.4 to stable release 0.20.2
pixman's stable releases have even minor version numbers, e.g., 0.18.x, 0.20.x.
Odd minor version numbers mean development snapshots that may contain bugs and
experimental features.
The next stable release should be 0.22.0.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-02-01 23:59:40 +00:00
Zhai Edwin
18acdfb7d4 mutter: Upgrade to 2.29.1 via git
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-02-01 23:59:40 +00:00
Zhai Edwin
fd03e8a682 gdk-pixbuf: Fix the native png load error and remove duplicated recipe
Native gdk-pixbuf-csource failed to load png file as the "loaders.cache" was
not properly set by gdk-pxibuf-query-loaders when install. This patch use the
wrapper script rather than query-loaders binary as required libtool library was
not installed when do_install_append.

Also remove dedicated recipe for gdk-pixbuf-native.

[sgw: Added PACKAGES_DYMAMIC_virtclass-native]
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-01 23:59:39 +00:00
Zhai Edwin
4e8e8a7128 clutter-box2d: Upgrade to 0.10.1 via git
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-02-01 23:59:39 +00:00
Zhai Edwin
551174c789 clutter-gst-1.0: Upgrade to 1.3.4 (clutter 1.4 series)
Install the example binary needed for poky-image-clutter.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-02-01 23:59:39 +00:00
Zhai Edwin
1357d22238 clutter-gtk-1.0: Upgrade to one version prior to 0.90.2 (clutter 1.4 series)
0.90.2 depends on unstable gtk+-2.90.x that is not in poky, so pick up one
version prior to it. Also rebase disable_deprecated.patch to keep the API
compatibility with gtk+ and install example binary for poky-image-clutter.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-02-01 23:59:39 +00:00
Zhai Edwin
3bb0b9ae97 clutter-1.0: Upgrade to 1.4 - latest stable version
* Use tar ball release rather than git, as it is more stable. Added dependence
on gettext, and one patch to fix the cross-compile failure due to
conformance-test.

* configure "--with-json=check" avoid extra dependence on external json lib.

* rename examples package (clutter-examples-1.x => clutter-1.x-example) to lead
the right deploy package name

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-02-01 23:59:39 +00:00
Mei Lei
ba06cc8943 distrodata.bbclass: Imporve the checkpkg task more precisely and generate data for pkg-report-system
Imporve some regular expression when checking recipes' upstream version, reduce the number of invalid recipes' upstream version and imporve the precision
Generate some data for package report system.

Signed-off-by: Mei Lei<lei.mei@intel.com>
2011-02-01 23:59:38 +00:00
Lianhao Lu
d22b4357c9 populate_sdk.bbclass/meta-toolchain: Made populate_sdk task more generic
Move the populate_sdk task out of meta-toolchain. Made it more generic
to support rpm/deb package format.

This commit is dependant on a series of commit:
2ea0406e4516fc59dff86cb4adc35c82cb774c2f
7ffa45b7cfea24dae1b51f40cfc807bf78b21b66
bf201a74c243942af3fcae6f174496bdd819dbc0
3d29933f2925efe8a84f10efdf50396031c33ae4
3d29933f2925efe8a84f10efdf50396031c33ae4
9c724dbf57e610a9e06bbdce38383dee3ac49281

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-02-01 23:59:38 +00:00
Lianhao Lu
63e220c1e8 populate_sdk_ipk.bbclass: Added ipk support in populate_sdk task.
This is a preparation commit for adding ipk support in populate_sdk
task.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-02-01 23:59:38 +00:00
Lianhao Lu
5571753a5d populate_sdk_deb.bbclass: Added deb support for populate_sdk task.
This is a preparation commit for adding deb support in populate_sdk
task.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-02-01 23:59:38 +00:00
Lianhao Lu
8b6626abbf populate_sdk_rpm.bbclass: Added rpm support for populate_sdk task.
This is preparation commit to support using rpm in populate_sdk task.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-02-01 23:59:38 +00:00
Lianhao Lu
382075a9c2 rootfs_rpm/package_rpm.bbclass: Move func from rootfs_rpm to package_rpm
package_deb.bbclass:
1. Modified package_update_index_rpm() and package_generate_rpm_conf()
to generate sperate depsolver db and rpm configuration, for target
packages and host packages respectively.

2. Added new function package_install_internal_rpm() to install a list
deb packages to a specified root directory, with the specified package
architecutre information.

3. Added new function resolve_package_rpm() to resolve package names to
filepaths.

rootfs_deb.bbclass:
Used the above new functions to install the rootfs.

[sgw: merged changes for createrepo]
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-01 23:59:37 +00:00
Lianhao Lu
b94f9ccd05 rootfs_ipk/package_ipk.bbclass: Move func from rootfs_ipk to package_ipk
package_ipk.bbclass:
Added new function package_install_internal_ipk() to install a list of
ipk packages to a specified root directory, with the specified package
architecutre information.

rootfs_ipk.bbclass:
Used the above new functions to install rootfs.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-02-01 23:59:37 +00:00
Lianhao Lu
f23e67f172 rootfs_deb/package_deb.bbclass: move func from rootfs_deb to package_deb
package_deb.bbclass:
1. Added new function package_update_index_deb() to generate package
index files.

2. Added new function package_install_internal_deb() to install a list
deb packages to a specified root directory, with the specified package
architecutre information.

rootfs_deb.bbclass:
Used the above new functions to install the rootfs.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-02-01 23:59:37 +00:00
Dexuan Cui
cc0b8f491f gdk-pixbuf: add jpeg into DEPENDS
This fixes the following error:
| checking for jpeg_destroy_decompress in -ljpeg... no
| configure: WARNING: *** JPEG loader will not be built (JPEG library not found) ***
| configure: error:
| *** Checks for JPEG loader failed. You can build without it by passing
| *** --without-libjpeg to configure but some programs using GTK+ may
| *** not work properly
| FATAL: oe_runconf failed

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-02-01 23:59:37 +00:00
Dexuan Cui
dbcddc3e9c xkeyboard-config: upgrade from 2.0 to 2.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-02-01 23:59:37 +00:00
Scott Garman
1e4827517e distro_tracking_fields.inc: added docbook-utils and dependencies
These are distro tracking field additions for recipes used for
creating documentation: sgml-common, docbook-sgml-dtd,
docbook-dsssl-stylesheet, sgmlspl, opensp, openjade, docbook-utils

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-01 23:59:37 +00:00
Scott Garman
62337be30b iputils: enable generation of man pages
Enable documentation generation.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-01 23:59:36 +00:00
Scott Garman
8b5e600141 docbook-utils: new recipe v0.6.14
Recipe derived from OpenEmbedded. Converted to use BBCLASSEXTEND.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-01 23:59:36 +00:00
Scott Garman
3c7183135d openjade: new recipe v1.3.2
Recipe derived from OpenEmbedded.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-01 23:59:36 +00:00
Scott Garman
edca98225b opensp: new recipe v1.5
Recipe derived from OpenEmbedded. Removed old-style staging
and converted to BBCLASSEXTEND.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-01 23:59:36 +00:00
Scott Garman
60450eb353 sgmlspl: new recipe, v1.03ii
Recipe derived from OpenEmbedded.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-01 23:59:36 +00:00
Scott Garman
942b3b1d37 docbook-dsssl-stylesheets: new recipe v1.79
Recipe migrated from OpenEmbedded.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-01 23:59:35 +00:00
Scott Garman
b2abf1c534 docbook-sgml-dtd: new recipes - v3.1, v4.1, v4.5
These are recipes for DTDs commonly used when generating
documentation for free software. Recipes dervied from the
versions in OpenEmbedded.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-01 23:59:35 +00:00
Scott Garman
b8bb770e96 sgml-common: new recipe v0.6.3
Recipe derived from OpenEmbedded.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-01 23:59:35 +00:00
Richard Purdie
05954ef4d7 bitbake/fetch2: Ensure the local revision counter takes a default value of 0, not None
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-01 23:33:19 +00:00
Richard Purdie
c7c4c6678b Revert "perl-native: Update for userelocatableinc and non-shared libperl"
This reverts commit fe59ca31ac.

This broke builds for various people as reported in the bugzilla and on the
mailing list so we're reverting the change until Tom has a chance to make it
work properly for 5.12 (5.10 seems to work differently).

The DEPENDS change is left in since that part was valid.
2011-02-01 23:20:47 +00:00
Paul Eggleton
4c8f498624 qt4: set RRECOMMENDS correctly for qt4 demos and examples packages
The demos and examples require a few optional plugins to operate correctly
(e.g. SQLite and JPEG support). The demos package requires the documentation
package to show descriptions for each demo/example, and assistant to show
the documentation.

Fixes [BUGID #492] and [BUGID #452].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 17:46:32 +00:00
Richard Purdie
19e1f4f672 meta-toolchain-qte: Append to the toolchain env script and remove code duplication
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-01 17:39:10 +00:00
Richard Purdie
ec740ac770 Revert "quilt: fix patch version detection"
This reverts commit bc31351f69.

This change is already applied against configure, not configure.ac. This change forces a
reautoconf of quilt-native before we've built autoconf and if "git-desc" isn't present it
can result in further problems. The simplest solution is to revert this change.
2011-02-01 17:34:59 +00:00
Paul Eggleton
f33d78ffef qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded
Differences from OE versions:

task-qte-toolchain-target.bb:
 * Depend on task-poky-standalone-sdk-target instead of task-sdk-bare
 * Add LIC_FILES_CHKSUM
 * Correct libsqlite3-dev dependency for Poky
 * Remove dependency on libts-dev
 * Remove QtDeclarative as it does not build for 4.6.3. (This will need
   to be addressed in a future update.)

task-qte-toolchain-host.bb
 * Fix for Poky directory structure
 * qt4-tools-sdk -> qt4-tools-nativesdk

meta-toolchain-qte:
 * Fix for Poky directory structure
 * Use "tar --owner=root" instead of fakeroot
 * Remove angstrom-specific suffix

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 16:32:43 +00:00
Paul Eggleton
f0a81bbe04 avahi: prevent unnecessary runtime dependency on gtk+
* Move avahi-discover-standalone to avahi-ui-utils as it's a GUI tool
* Split out avahi-ui dev files from avahi-dev to a libavahi-ui-dev package
  (using the new nodeprrecs flag to avoid automatic RRECOMMENDS calculation
  for avahi-dev)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 16:28:40 +00:00
Paul Eggleton
c75ad4694c package.bbclass: add nodeprrecs flag to RRECOMMENDS_pkgname
Setting this flag disables the normal additions to RRECOMMENDS for a package
(useful when splitting dev / dbg packages).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 16:26:03 +00:00
Paul Eggleton
7a0c927c99 qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded
Differences from OpenEmbedded qt4-tools-sdk:

* Convert to nativesdk and make fixes necessary to build
* Use .inc file in 4.6.3 version
* Add LIC_FILES_CHKSUM
* Fix LICENSE to match other Qt4 recipes
* Use http source URL to match other Qt4 recipes
* Whitespace fixes

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 16:25:11 +00:00
Paul Eggleton
0e6608ba88 dbus: extend to nativesdk
BBCLASSEXTEND dbus to nativesdk for meta-toolchain-qte, and disable the
dependency on libsm when building in this context (thus avoiding a number of
sub-dependencies).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 16:19:44 +00:00
Paul Eggleton
7bb96b87a8 glib-2.0: extend to nativesdk
This needs to be added to nativesdk for meta-toolchain-qte.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 16:18:25 +00:00
Paul Eggleton
abb87d455d qt4-tools-native: update from OpenEmbedded
Differences from OE version:
* Add source checksums
* Correct LICENCE and move to .inc file
* Update HOMEPAGE
* Don't specify DEFAULT_PREFERENCE
* Remove S and SRC_URI from 4.7.1 (duplicates of .inc file values)
* Use http source URL to match other Qt4 recipes
* Don't add back tools previously disabled in poky

Differences from current (plus the above):
* Add Qt 4.7.1 recipe
* Specify -embedded to remove dependency on X (as we are only building tools)
* Disable some other options to reduce dependencies
* Specify -no-freetype / -no-fontconfig in .inc file rather than in .bb
* Use INC_PR
* Whitespace fixes
2011-02-01 16:14:01 +00:00
Paul Eggleton
51b5081892 qt4: add 4.7.1 version from meta-openembedded
Differences from meta-openembedded version:
* Change the order of includes so that embedded/x11 overrides take precedence
* Move contents of do_install_append from qt-${PV}.inc to do_install in
  qt4.inc as this is the same for 4.6.3 and 4.7.1 and gets in the way of
  do_install_append in qt-embedded.inc.
* Don't add qte.sh to SRC_URI in qt-4.7.1.inc (this is embedded-specific)
* Don't specify DEFAULT_PREFERENCE
* Use http source URL to match other Qt4 recipes

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 16:10:36 +00:00
Paul Eggleton
7263adda21 qt4: add qt4-embedded 4.6.3 from meta-openembedded
Changes from the meta-openembedded version:
* Change the order of includes so that embedded takes precedence (ensuring
  SRC_URI additions from qt-embedded.inc work)
* Specify -embedded in qt-embedded.inc
* Remove SRC_URI and S which should come from qt-${PV}.inc
* Remove QT_DIR_NAME and QT_LIBINFIX as these come from qt4e.bbclass
* Correct LICENSE
* Set DESCRIPTION instead of SUMMARY as SUMMARY will inherit by default
* Add qthelp-lib-qtclucene.patch (required to build)
* Whitespace fixes

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 16:10:11 +00:00
Paul Eggleton
c5998e6def qt4: Bring in improvements from meta-openembedded
Differences from meta-openembedded version:
* SRC_URI and S now come from qt-${PV}.inc since these are version specific
* Source checksums are also now in qt-${PV}.inc
* Remove do_compile as this is handled in qt-${PV}.inc
* Move contents of do_install_append from qt-${PV}.inc to do_install in
  qt4.inc as this is the same for 4.6.3 and 4.7.1 and will get in the way of
  do_install_append in qt-embedded.inc.
* Don't enable PostgreSQL, MySQL or SQLite 2.x plugins as we don't currently
  have recipes for these DBMSs in Poky. These can be re-enabled easily when
  or if we do.
* Use INC_PR in qt4-x11-free_4.6.3.bb
* Don't always specify -embedded config option in qt4.inc
* Don't add qte.sh to SRC_URI in qt-4.6.3.inc (this is embedded-specific)

Differences from what we have currently in Poky (plus the above):
* Set DESCRIPTION based on embedded/X11
* Move out arch-specific settings to qt4-arch.inc
* Add qt4x11.bbclass which can be inherited by application recipes to select
  the X11 version (this makes more sense once the embedded version is added).
* Update HOMEPAGE

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 15:57:26 +00:00
Paul Eggleton
70ce04977c Add directfb 1.4.6 from meta-openembedded
This package has been added from meta-openembedded in order to be able to
build qt4-embedded. The only change was to remove do_install() which was
exactly the same as autotools_do_install().

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-02-01 15:39:22 +00:00
Qing He
bc31351f69 quilt: fix patch version detection
Fixes [BUGID #690]

Signed-off-by: Qing He <qing.he@intel.com>
2011-02-01 14:55:18 +00:00
Tom Zanussi
d6f4d682c0 site/x86_x64: add entry to fix x86_64 compile errors
Add entries for va_copy and __va_copy to fix rpm 5.4.0 compile errors
on x86_64.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2011-02-01 14:54:39 +00:00
Richard Purdie
47f8b56f6d libxft: Drop explict package_do_package call and use anonymous python instead
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-01 12:49:53 +00:00
Richard Purdie
2d9cc7ec31 kernel.bbclass: Add fix from OE.dev for tmpnam() usage
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-01 12:27:20 +00:00
Lianhao Lu
5b7e96d852 image/package_xx/rootfs_xx.bbclass: move rootfs_xx_log_check().
Move function rootfs_xx_log_check() from rootfs_xx.bbclass to relevant
package_xx.bbclass. (Where xx is rpm/ipk/deb).

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-31 16:58:15 +00:00
Richard Purdie
21f2dae46b libgcc: Explicitly wait for the libc packaging to occur before libgcc packages
libgcc can link against the libc and libc can be dynamically renamed
so we ensure we package after libc. There was code in the gcc core
for this in the ipk case but it wasn't moved as part of the libgcc
split, this change fixes that oversight.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-31 16:37:32 +00:00
Tom Rini
0e70557c92 poky-{glibc,uclibc}.inc: Add libc-foo OVERRIDES
This brings things back in sync with OpenEmbedded and will
help with recipe porting.

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-31 16:30:44 +00:00
Tom Rini
fe59ca31ac perl-native: Update for userelocatableinc and non-shared libperl
Rather than using a wrapper switch to using upstreams support for
relocation.  While in here, bring in the mangling to use
/usr/bin/env perl rather than /full/path/to in order to work
in deep directory paths.

Also drop the DEPENDS on gpbm and db since we disable these in the configure
and don't use them.

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-31 16:29:50 +00:00
Qing He
a9dda28e3f createrepo: fix native binary
Signed-off-by: Qing He <qing.he@intel.com>
2011-01-31 16:27:14 +00:00
Richard Purdie
eed008baf2 package.bbclass: Disable EXPORT_FUNCTIONS for do_package
As discovered by Lianhao Lu and Kevin Tian:
"""
do_package checksum changes with switching the order In PACKAGE_CLASSES, e.g:

From
PACKAGE_CLASSES = "package_rpm package_ipk"
To
PACKAGE_CLASSES = "package_ipk package_rpm"

This is undesired since the order only matters for final rootfs generation. The actual
cause is related to how do_package is generated, which depends on when
package.bbclass is first brought in.
"""

Since we never need the EXPORT_FUNCTIONS funcationality for do_package we just drop
it which removes this problem and stablisised checksums.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-31 16:22:14 +00:00
Kevin Tian
eb879e2ef8 license.bbclass: don't mark it as 'nostamp'
'nostamp' is normally used for some standalone tasks like clean, checkuri, etc.
It doesn't make sense to mark do_populate_lic as 'nostamp', which is depended
by do_package. No stamp file in the build dependency chain implicates that
do_package needs to be reinvoked and thus further do_package_write* stuff.

This together with another sstate bug fully confused recent master, that people
keep observing unnecessary do_package rebuilt with or without change. Below is
a short explanation for two behaviors we observed:

a) a fresh build, and then bitbake same target w/o any change. User will observe
one unnecessary rebuild and then later rebuild is fine:
    [1st rebuild]
    * do_populate_lic has no stamp, and thus do_package is thought not current
    * do_package_setscene is then invoked with stamp file created
    * then later do_package_write*** also are rebuilt
    [2nd and later rebuild]
    * do_populate_lic has no stamp, and thus do_package is thought not current
    * do_package_setscene has stamp file and thus no need to re-execute setscene
    * thus no further rebuild required

b) a fresh build, and then adjust order of PACKAGE_CLASSES. There's one bug
regarding to PACKAGE_CLASSES and do_package_setscene, that only switch the
order in PACKAGE_CLASSES generates different checksum. In this case user may
observe up to 3 rebuilds when switching package_rpm/package_ipk back and forth.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-31 16:21:48 +00:00
Joshua Lock
7e206c6477 scripts/bitbake: remove bashisms
As the BitBake script is the initial entry point for the system we need to
ensure it can run in as many places as possible, including systems which
aren't yest optimally configured for running Poky.
Remove some bashisms from the script so that it can run under Dash.

Pointers from: https://wiki.ubuntu.com/DashAsBinSh
Errors before this patch: http://pastie.org/1502136

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-01-31 11:38:35 +00:00
Joshua Lock
92f1b4976b license.bbclass: handle | (or) in the LICENSE field
The class strips out operators from the LICENSE field and to reduce it to a
list of license, | was missing but is quite frequently used so add it to the
list of replaced characters.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-01-31 11:11:30 +00:00
Mark Hatle
612d59f7d1 package_rpm: Fix package-split summary
The package-split summaries were being pulled in from the main package, not
the split package metadata.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-30 12:09:53 -08:00
Qing He
e67698743e creating the rpmrepo metadata
This includes two method for build rpm repo:
  1. create the metadata in rootfs_rpm
  2. standalone binary for building the metadata

Not both of them are needed, generally #2 fits more for the purpose,
but #1 may have its use on rootfs creation using zypper.

Both share some problems and are subjected for future improvement:
  1. the createrepo now builds metadata for the whole directory,
     if there are more than one arch, it builds for all, which means
     rootfs_rpm may run longer if more builds have been run.
  2. createrepo builds metadata for stale rpms

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-30 12:09:52 -08:00
Qing He
f6fc1f3475 createrepo: add new recipe
version 0.4.11

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-30 12:09:52 -08:00
Qing He
114cee75bd zypper: upgrade to newer git version
this works with rpm 5.4.0

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-30 12:09:52 -08:00
Qing He
483ee172cf libzypp: upgrade to newer git version
this works with rpm 5.4.0

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-30 12:09:52 -08:00
Mark Hatle
2c32f494cc sat-solver: upgrade to newer git version
This works with rpm 5.4.0

Signed-off-by: Qing He <qing.he@intel.com>

Update the CMAKE configuration file to find the proper DB library as used
by RPM5 within Poky.

Disable checking for Fedora and Debian, as this might lead to incorrect
results.

Merge the dso_linking_change_build_fix with the other cmake changes.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-30 12:09:52 -08:00
Saul Wold
ffd12fc476 sat-solver: Add db as DEPENDS and bump PR
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-29 07:16:44 -08:00
Saul Wold
78569af501 linux_2.6.33.2: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-28 10:18:33 -08:00
Richard Purdie
74cffe7a91 poky-image.bbclass: If not including package management, ensure the basics to handle postinstalls in images are present
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 18:00:28 +00:00
Richard Purdie
36f8aa6dc8 poky-image-minimal: Since we don't include package system data, we only need the package system bootstrap dependencies
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 17:59:01 +00:00
Richard Purdie
be4ad69f4a rootfs_rpm: Drop bogus inclusion of the run-postinsts package
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 17:57:23 +00:00
Qing He
fc5b38e709 rpm: suggested change
Signed-off-by: Qing He <qing.he@intel.com>
2011-01-28 17:52:56 +00:00
Mark Hatle
e7fb63bf6b rootfs_rpm: Setup the platform configuration
The RPM platform configuration file lists all of the supported architectures,
while RPM itself doesn't use this information, other tools may use it to
determine compatibility.  The first item is the default architecture for a
system, while the following items specify alternative compatible architectures.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-28 17:52:56 +00:00
Mark Hatle
f6ddba2a9d rpm: Uprev to RPM 5.4.0
Update RPM to the latest release, RPM 5.4.0.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-28 17:52:55 +00:00
Richard Purdie
a606ad5022 poky.conf: Update gdk-pixbuf provider after gtk+ upgrade
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 17:49:46 +00:00
Wolfgang Denk
97d80dd990 x11-common: Fix unusable serial console
The serial console port is basicly unusable in images containing X.
Login works fine, but at the shell prompt only one out of N input
characters (N usually between 2 and 10) gets through to the shell.

dbus-launch (running as "dbus-launch --sh-syntax --exit-with-session")
is also reading from /dev/console and "eating" the missing characters.

As soon as I stop the Xserver ("sh /etc/init.d/xserver-nodm stop")
the serial console starts wroking fine (because dbus-launch is not
running any more).

This patch addresses the problem.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 17:28:24 +00:00
Lianhao Lu
a7937d740e apt-native: Added licence checksum.
Added licence checksum for apt-native.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-28 17:01:22 +00:00
Lianhao Lu
e8dfc44a0c cross-canadian.bbclass: Correct deb package arch.
Set DPKG_ARCH to make debian package to be generated with correct
architecture.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-28 17:00:59 +00:00
Dexuan Cui
673f7abde2 distro_tracking_fields.inc: update the info for some recipes
They are
gccmakedep, mdadm, screen, quota, gnome-vfs, gnome-doc-utils,
xproxymanagementprotocol, galago-daemon, ttf-bitstream-vera,
libart-lgpl, liblbxutil, libxpm, libxprintapputil, libxprintutil,
libxtrap, cronie, powertop, latencytop, xorg-minimal-fonts,
liberation-fonts, freetype, liburcu, lttng-ust, lttng-viewer,
pixman, dmxproto, printproto, xineramaproto, xf86driproto,
xf86vidmodeproto, libxp, xkeyboard-config, libunique.

mdadm, screen: there are duplicate descriptions -- removed them.
fix a typo in the description of quota.

Added RECIPE_MANUAL_CHECK_DATE_pn for
cronie, powertop, latencytop, xorg-minimal-fonts, liberation-fonts.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:16 +00:00
Dexuan Cui
65a5c10f6b preferred-xorg-versions.inc: remove libfs, update xvinfo, pixman, dmxproto, printproto, xineramaproto, xf86driproto, xf86vidmodeproto, libxp
libfs doesn't exist in poky now.
xvinfo has been upgraded to 1.1.1 and there isn't 1.0.2 now.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:16 +00:00
Dexuan Cui
c27622e164 libunique: update DESCRIPTION, HOMEPAGE, BUGTRACKER
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:15 +00:00
Dexuan Cui
3fbe386ad7 libxp: upgrade from 1.0.0 to 1.0.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:15 +00:00
Dexuan Cui
e692278edb xf86vidmodeproto: upgrade from 2.3 to 2.3.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:15 +00:00
Dexuan Cui
cf3106d4de xf86driproto: upgrade from 2.1.0 to 2.1.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:15 +00:00
Dexuan Cui
9d9edb4d2d xineramaproto: upgrade from 1.2 to 1.2.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:15 +00:00
Dexuan Cui
25e7822fdc printproto: upgrade from 1.0.4 to 1.0.5
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:14 +00:00
Dexuan Cui
98d5a20979 dmxproto: upgrade from 2.3 to 2.3.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:14 +00:00
Dexuan Cui
903ef2693a pixman: upgrade from 0.21.2 to 0.21.4
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:14 +00:00
Dexuan Cui
7e2f36814e lttng-viewer: upgrade from 0.12.35 to 0.12.36
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:14 +00:00
Dexuan Cui
e8f2bfcfda lttng-ust: upgrade from 0.8 to 0.11
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:14 +00:00
Dexuan Cui
8aaa0f689d liburcu: upgrade from 0.4.8 to 0.5.2
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:13 +00:00
Dexuan Cui
0b60fa1d15 freetype: upgrade from 2.4.3 to 2.4.4
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:13 +00:00
Dexuan Cui
af5cdac730 gnome-doc-utils: upgrade from 0.20.2 to 0.20.4
Also fix DEPENDS on gettext for native casea -- this is to fix the
following failure(that occasionally occurs in my local tests):
configure.in:44: warning: AM_NLS is m4_require'd but not m4_defun'd
| aclocal.m4:1826: IT_PROG_INTLTOOL is expanded from...
| configure.in:44: the top level
| configure:3327: error: possibly undefined macro: AM_NLS

Also remove a trailing space char in LIC_FILES_CHKSUM.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-28 16:49:13 +00:00
Yu Ke
0e879c25dc xf86-video-omapfb: upgrade to 044617665d6737f4909aab96
Also apply four patches from Koen to fix four issus:
- The tv-out gets added last and the driver tries to reconfigure dvi to TV resolutions, which fails
- The new DSS mode breaks XV, so force plain mode
- Picture is garbled after switching resolutions
- Virtual size too big

CC: Koen Kooi <koen@dominion.thruhere.net>

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-28 16:49:13 +00:00
Beth Flanagan
4bda50f289 Initial commit of license reporting:
This is an intial commit for the license reporting system. A few notes:
The LICENSE fields needs to be standardized throughout poky. As it
stands, we throw a warning if the license file is not found (either
because it does not exist or because LICENSE_FILE_CHKSUM is munged)
in the generic license directory. This should eventually become an
error.

I've seen a few places where Apache-v2.0 is written differently and
I'm sure this will throw the above warning. This does not put the
license data on the rootfs. Also, I provide both the actual license
text and a link to the best guess of the generic_license. That guessing
is not very robust and I'm loath to get into a bunch of pattern matching
rather than standardize LICENSE.

This adds one new param to poky.conf and one new to license.bbclass:

LICENSE_DIR: the base directory we copy all the license results to (set
in license.bbclass)
COMMON_LICENSE_DIR: this is the directory that holds all the common
generic license files. currently meta/files/common-licenses (set in
poky.conf)

TODO:
- We should verify the common-licenses. I stripped these from my Ubuntu
  10.10 system.
- We should allow the capability of licenses on the rootfs, although the
  resulting image created would be a lot larger.
- More common-licenses. I don't include bzip, zlib, ICS.... I should,
  but that means tracking down a lot of licenses.
- General cleanup of licensing and standardization of names. We should
  standardize on a naming convention. What's in licenses.conf should
  match up with what is in the recipes which should match with what is
  in common-licenses. Outside the scope of this though. See:
  http://bugzilla.pokylinux.org/show_bug.cgi?id=650
2011-01-28 16:49:13 +00:00
Kevin Tian
c7b489c22b task-poky-sdk: add 'file' and 'ldd'
these two are useful in the development environment, and also required
by two LTP test cases (ld and ldd).

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-28 16:49:13 +00:00
Kevin Tian
ce9d6ebf34 bash: use /bin/bash as default shell when bash is included
though bash is included in LSB profile, it doesn't use update-alternative
to take effect and thus it's still busybox behaving as /bin/sh.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-28 16:49:12 +00:00
Kevin Tian
abc25cb885 base-files: remove ending colon from default $PATH for root user
now the PATH for root user defined in a problematic way
    PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:

from eglibc:
    /* Two adjacent colons, or a colon at the beginning or the end
       of `PATH' means to search the current directory.  */

that means current directory is always searched as the last path,
which could generate undesired behavior.

One example is found in LTP cron_deny01 test, which always complains
    "sh: cron_deny01 not found"

cron_deny01 is a shell script which setups the initial test preparation
and then invokes itself for real test under a different user:
    su $TEST_USER1 -c "$0"

'su' doesn't inherit PATH into the sub-shell, and thus $0 has to
be an absolute path to have right script found.

ltp appends the path of cron_deny01 to $PATH before running the test:
    export PATH="${PATH}:${LTPROOT}/testcases/bin"

In ideal way "${LTPROOT}/testcases/bin/cron_deny01" is found and becomes
$0, which works well.

However due to the ending colon in original PATH:
    PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin::${LTPROOT}/testcases/bin
$0 becomes 'cron_deny01' w/o leading path which makes sub-shell under 'su'
failed to locate cron_deny01.

remove ending colon then fixes this problem.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-28 16:49:12 +00:00
Zhai Edwin
1b26bce967 matchbox: Convert all the matchbox components' repo from svn to git including:
matchbox-wm
matchbox-panel-2
matchbox-terminal
matchbox-config-gtk
matchbox-stroke
matchbox-desktop
matchbox-keyboard
matchbox-themes-extra
libfakekey
settings-daemon

Also remove some old recipes.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-28 16:49:12 +00:00
Zhai Edwin
5612838d7e distro tracking: Add info after upgrading gtk+, libuser and leafpad
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-28 16:49:12 +00:00
Zhai Edwin
7951a7b4db libuser: Upgrade from 0.56.18 to 0.57.1
This can fix the vulnerable issue @ http://secunia.com/advisories/42891/

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-28 16:49:12 +00:00
Zhai Edwin
9eb6dbc18c leafpad: Upgrade from 0.8.17 to 0.8.18.1
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-28 16:49:11 +00:00
Richard Purdie
bce90ed586 scripts/bitbake: If pseudo isn't in staging for some reason, force a build of it directly
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 11:01:11 +00:00
Richard Purdie
7261f25a07 scripts/bitbake: We only need pseudo-native in the sysroot, we can ignore any other pieces of the dependency tree
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 10:44:15 +00:00
Richard Purdie
8cae183a22 staging.bbclass: Only clean out the sysroot if we rerun configure, not at setscene time
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 10:28:19 +00:00
Richard Purdie
c7ad2dada7 sstate: Ensure stale stamp files are removed as part of sstate_clean()
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 10:28:06 +00:00
Richard Purdie
06c6db7929 bitbake/runqueue.py: Avoid starvation of events to the server
The server UI was reading 1024 bytes, then sleeping for 0.25 seconds. Since
most new LogRecord events are larger than this it leads to a build up of data
which is only processed slowly, leading to a bottleneck and a slow down of
all bitbake processes.

Thanks to Dongxiao Xu <dongxiao.xu@intel.com> for the great work in debugging
this. A large value has been left in for the read() command just to ensure some
fairness amongst process handling if a task tries to log truly huge amounts of
data to the server, or goes crazy and ensures the main loop doesn't stall.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 10:21:41 +00:00
Richard Purdie
754047b6ec sstate.bbclass: Fix stupid typo
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 23:26:10 +00:00
Richard Purdie
021cf7dabf sstate.bbclass: No need to dump the contents of the sstate package to stdout
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 22:38:11 +00:00
Richard Purdie
bb7a42ee4e sstate.bbclass: Handle whitespace in the list of files to 'fixup' to resolve log warning
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 22:34:52 +00:00
Mark Hatle
e77207ccdf BerkleyDB: Uprev db from 4.2 to 5.1.19
The latest version of Berkley DB (5.1.19) is required by RPM.  This version
is backwards compatible with the 4.2 version that was enabled previously.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-27 21:53:24 +00:00
Saul Wold
156405e578 ofono: Fix missing dependency on udev
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-27 21:53:11 +00:00
Yu Ke
3cc784e417 iputils: upgrade to s20101006
- change the src_uri md5/sha256 checksum
- remove the CVE patch, since it is already in upstream

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-27 21:52:58 +00:00
Zhai Edwin
deec6fa8d0 webkit-gtk: upgrade to 1.3.7
Also update some local files from upstream, and add nodolt.patch to fix build error.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-27 21:52:24 +00:00
Zhai Edwin
ef6cc9af8c eds-dbus: Do not disable old API after upgrading gtk+
This avoid build error due to defination missing.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-27 21:52:10 +00:00
Zhai Edwin
7c9c78bebd gtk+: Update to 2.22.1
Remove disable-gio-png-sniff-test.diff as it alreay in upstream. gdk-pixbuf in
gtk+ is separated as another stand-alone package, so remove it.

In future need only pick up stable version(even number like 2.20.x, 2.22.x).

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-27 21:52:01 +00:00
Richard Purdie
8a6e8623b4 sstate.bbclass: Optimise to check if the manifest exists without taking locks
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 20:52:33 +00:00
Joshua Lock
a17dc8b66d external-python-tarball: include multiprocessing module
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-01-27 15:27:20 +00:00
Dongxiao Xu
b02a4addca perl: Remove ${MACHINE} dependency in compile and package.
The judgement on ${MACHINE} is meaningless, remove it in order to avoid
being rebuild on second machine.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-27 11:25:17 +00:00
Richard Purdie
c34913ea5a bitbake/build.py: When looking up extra stamp info for setscene tasks, use the real taskname
(Fixed based on a bug reported by Dongxiao Xu <dongxiao.xu@intel.com>)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 11:20:58 +00:00
Richard Purdie
e8e9f56057 rm_work.bbclass: Update to convert stamps to setscene stamps
We need to manipulate the stamps when removing WORKDIR to indicte that
tasks like compile or install can't just rerun. The most effective method
to do this is to convert the layout to match that which would have been the
case had the system been build from sstate packages.

For example, we'd task stamps like:

xxx-1.4.7-r3.do_compile
xxx-1.4.7-r3.do_configure
xxx-1.4.7-r3.do_fetch
xxx-1.4.7-r3.do_generate_toolchain_file
xxx-1.4.7-r3.do_install
xxx-1.4.7-r3.do_package.emenlow
xxx-1.4.7-r3.do_package_write
xxx-1.4.7-r3.do_package_write_ipk
xxx-1.4.7-r3.do_package_write_rpm
xxx-1.4.7-r3.do_patch
xxx-1.4.7-r3.do_populate_sysroot.emenlow
xxx-1.4.7-r3.do_setscene
xxx-1.4.7-r3.do_unpack

and after rm_work, we'd have stamps of:

xxx-1.4.7-r3.do_package_setscene.emenlow
xxx-1.4.7-r3.do_package_write_ipk_setscene
xxx-1.4.7-r3.do_package_write_rpm_setscene
xxx-1.4.7-r3.do_populate_sysroot_setscene.emenlow

We also need to handle stamps in the form xxx-1.4.7-r3.do_package.MACHINE.TASKHASH
as used by some signature generators.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 11:10:57 +00:00
Richard Purdie
7476df3fa2 autotools.bbclass: Drop unused autotools_stage_dir dummy function
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 11:10:57 +00:00
Richard Purdie
35d44a438d autotools.bbclass: Only include aclocal directories if the exist, no point in creating them
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27 11:10:57 +00:00
Darren Hart
4e23e8f9d0 send-pull-request: ensure a proper FROM header is included
Commit 94629f2521 removes the FROM header when
sending via sendmail to avoid sending mail as the original change committer (as
opposed to the local user). This resulted in mail going out without any FROM
header, which some mailing lists correct by adding the *bounce address as the
FROM.

Correct this by reading FROM from the environment, from a new -f argument, or
from the git user.name and user.email config settings, in that order of
preference. Also display the FROM that will be used prior to the send
confirmation.

This has no effect if the -g (send via git) argument is specified, other than
printing the git sendemail.from config setting.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Reported-by: Saul Wold <saul.wold@intel.com>
2011-01-26 09:49:07 -08:00
Richard Purdie
8ae1f88214 meta-toolchain: Fix tar command
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 12:23:10 +00:00
Richard Purdie
5f866ac84f bitbake/unlockfile: Fix exception handling
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 12:20:14 +00:00
Richard Purdie
6a0abfa82d crosssdk: Drop PACKAGES setting as its set in cross.bbclass already
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 12:06:52 +00:00
Richard Purdie
4c55d2bd04 sstate.bbclass: Correctly handle empty sstate packages
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 12:02:30 +00:00
Richard Purdie
82745e4f32 cross.bbclass: Move sysroot_stage_all function to the only place that uses it now (gcc-cross-intermediate)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 11:37:32 +00:00
Richard Purdie
70301cc433 staging.bbclass: No need to create these directories any more, also remove invalid comment
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 11:37:32 +00:00
Richard Purdie
87a258fe5c meta-toolchain: Use --owner and --group options instead of using pseudo's overhead for a simple task
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 11:37:32 +00:00
Richard Purdie
d332f1881f perl: Remove MACHINE reference in do_configure, it causes perl to be rebuild many times
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-26 11:37:31 +00:00
Bruce Ashfield
db9b8bc9a3 kern-tools: update to the new repository
As the first of several changes to the kern-tools coupled to
the branch management in the yocto kernels the repository
is being renamed to it proper name. This change switches us to
that newly created repo.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-25 12:01:13 -08:00
Scott Rifenbark
74c24e08af documentation/yocto-project-qs/yocto-project-qs.xml: Added note to poky-qemu command
Depending on the architecture you are booting and the profile of the
filesystem image QEMU might come up in a new shell, and existing shell,
have a GUI, or be in command-line mode.  I added a note indicating this
behavior.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2011-01-25 11:58:52 -08:00
Scott Rifenbark
63e6319bd1 documentation/yocto-project-qs/yocto-project-qs.xml: Updated <arch> value for environment setup command
The value for the 64-bit architecture was "x86-64" and not "x86_64".
Changed it to be correct.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2011-01-25 11:58:51 -08:00
Scott Rifenbark
bcce31b495 documentation/yocto-project-qs/yocto-project-qs.xml: Updated list introducing pre-built section
The section that introduces the using a pre-built binary section needed
more items in the list.  I added text for setting up the environment
and for starting QEMU.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2011-01-25 11:58:50 -08:00
Scott Rifenbark
dc124306b5 documentation/yocto-project-qs/yocto-project-qs.xml: Added sub-sections to pre-built image section
The pre-built image section was one long section that naturally
broke into several areas.  I inserted some sub-sections for better
organization.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2011-01-25 11:58:48 -08:00
Scott Rifenbark
d0be418074 documentation/yocto-project-qs/yocto-project-qs.xml: Corrected environment setup command
I added the exact architecture strings for each of the five supported
architectures as part of the /opt/poky/environment-setup.... commands
resulting from installing the toolchain tarballs.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2011-01-25 11:58:47 -08:00
Bruce Ashfield
c8f4bb5257 linux-yocto/stable: perf: hard-code NO_LIBPERL/NO_LIBPYTHO
Updating SRCREVs to reflect:

    perf: hard-code NO_LIBPERL/NO_LIBPYTHON

    ExtUtils::Embed ccopts is getting the host's -I/usr/local/include and
    using it to compile perf, which results in a compilation error that
    started appearing just recently.

    This turns the code that makes use of ExtUtils::Embed off and simply
    hard-codes NO_LIBPERL.

    It does the same for LIBPYTHON while we're at it, since it probably
    suffers from a similar underlying problem and just by chance hasn't
    broken anything yet.

    This will be re-enabled after I familiarize myself with the perf
    recipe and am able to create a proper fix.

    Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-25 11:58:46 -08:00
Richard Purdie
e60cbed247 util-linux.inc: Fix DEPENDS on gettext for native case
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-25 19:52:04 +00:00
Saul Wold
567958d9ab distro_tracking: Update for poky-image-sdk renaming
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-25 17:31:45 +00:00
Saul Wold
4c0448fc97 poky-image-sdk* renamed to poky-image-sato-sdk*
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-25 17:31:12 +00:00
Jessica Zhang
ad4b709c83 meta-toolchain-sdk: Rename meta-toolchain-sdk to meta-toolchain-gmae
Change the name from toolchain-sdk to toolchain-gmae,
which is more accurate to what meta-toolchain-sdk generates

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-25 17:29:09 +00:00
Joshua Lock
630b5de0d3 util-linux: tidy up metadata
Apply a couple of best practices to the recipe:
1) use the gettext class to ensure the right versions of gettext are
used for the recipe variants (target, native, etc).
2) use layout variables rather than absolute paths in the package FILES_
definitions.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-01-25 15:08:37 +00:00
Richard Purdie
222796ed93 sanity/sstate: Due to the sysroot layout changes, the toolchain bootstrap process changes and the recent pseudo bug, bump the tmpdir layout version number and the sstate version numbers
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-25 12:32:50 +00:00
Yu Ke
029f8584d5 bitbake/fetch2: Instrument fetchers when making network access
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:32:50 +00:00
Yu Ke
098e8ded33 bb.fetch2: add "BB_NO_NETWORK" option
Sometime user want a purely local fetching, i.e. using local mirror without
any remote netowrk access. BB_NO_NETWORK option is introduced for this purpose

check_network_access() is the guard for BB_NO_NETWOKR option. it should be
put in any place that fetcher use network access

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:32:49 +00:00
Yu Ke
733de7596c bb.fetch2: remove the obsolate Fetch.try_mirrors referrence
Fetch.try_mirrors is no longer exists, so the code is obsolate

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:25:47 +00:00
Yu Ke
ef918a72de git.py: split download to download() and build_mirror_data()
the download is to fetch the source from URL, the build_mirror_data is
to create the mirror tar ball. the original go() method mix them together,
it is more clean to split them.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:25:47 +00:00
Yu Ke
e2ac26e7b1 base/sstate.bbclass: Rename fetcher "go" method to "download" when using fetch v2
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:25:47 +00:00
Yu Ke
e05918937c bb.fetch2: rename "go" with "download" to better reflect its functionality
no functional change

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:25:47 +00:00
Yu Ke
8615b0e282 base.bbclass: use bb.fetch2 unpack API
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:25:47 +00:00
Yu Ke
f12e714845 bb.fetch: add fetch version to distinguish bb.fetch and bb.fetch2
there is case that we need to distingush bb.fetch and bb.fetch2,
and use different API for bb.fetch and bb.fetch2. so it is necessary
to add version info for distinguish purpose

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:25:46 +00:00
Yu Ke
84ff79413a bb.fetch2: revise the Fetch.unpack API
change the unpack to use the urldata and rootdir parameter
- urldata is the FetchData instance
- rootdir is the dir to put the extracted source. the original unpack
  use current dir (os.getcwd) as destination dir, which is not flexible
  and error-prone (error will occur if caller not chdir to dest dir)

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:25:46 +00:00
Yu Ke
d8698b92ff bb.fetch2: add unpack method in fetcher
copy exactly the base.bbclass:oe_unpack_file() to bb.fetch2 as the code base

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25 12:25:46 +00:00
Dongxiao Xu
6dc6791536 emenlow: Change PACKAGE_EXTRA_ARCHS and BASE_PACKAGE_ARCH to core2
After machine specific sysroot is implemented, emenlow and atom-pc
could build together as one architecture. Thus change emenlow
architecture back to core2.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-25 12:25:46 +00:00
Dongxiao Xu
7f41f1a888 bitbake: machine specific sysroots implementation
This commit changes the sysroots path to be machine specific.

Changes includes:

1) STAGING_DIR_TARGET and STRAGING_DIR_HOST points to machine specific
paths.

2) task stamp files. Adding ${MACHINE} info into stamp files for
do_populate_sysroots and do_package tasks. Add a BB_STAMPTASK_BLACKLIST
to keep native, nativesdk, crosssdk, and cross-canadian stamp unchanged.

3) siteconfig path. Separate the site config path for different machines
to avoid one machine adopting the cache file of another machine.

4) sstate. Add machine name to sstate manifest file.
Change relocation code for sstate paths since sysroot is machine.
Keep native, nativesdk, crosssdk, and cross-canadian unchanged.

5) toolchain scripts. Change the environment path to point to machine
specific sysroots in toolchain scripts bbclass.

6) Relocate la files when populating to a different machine of the same
architecture.

7) Exclude STAGING_DIR_TARGET and STAGING_DIR_HOST parameter from sstate
siginfo since they contain ${MACHINE} information.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-25 12:25:46 +00:00
Jingdong Lu
b0df35f47f base-files: Add to make some directories needed by LSB.
LSB will check some directories,eg, "/usr/local/" and need to make them for LSB test.

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2011-01-25 12:25:46 +00:00
Jingdong Lu
562789455d liburi-perl: Rename liburi-perl
Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2011-01-25 12:25:45 +00:00
Mark Hatle
3b37116728 pseudo: Revert msg cache changes
The message cache code in pseudo seems to be causing problems.  So we have
finally decided to revert that optimization.

(The revert is in the upstream pseudo.)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-25 12:25:45 +00:00
Richard Purdie
c0e1272d15 gcc/libc: Change bootstrap to use an intermediate sysroot and hence no longer overwrite files
Based upon patches from Dexuan Cui <dexuan.cui@intel.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-25 12:25:45 +00:00
Dexuan Cui
23cb814b27 gcc-cross-intermediate, gcc-crosssdk-intermediate: change CROSS_TARGET_SYS_DIR and install into new locations
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-25 12:25:45 +00:00
Dexuan Cui
34729e4f82 gcc-cross-initial, gcc-crosssdk-initial: change CROSS_TARGET_SYS_DIR and insall into new locations
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-25 10:59:18 +00:00
Dexuan Cui
46395d4856 sstate.bbclass: allow each step of toolchain bootstrap processes to do populate_sysroot independently
Some steps (like gcc-cross-initial, gcc-cross-intermediate and eglibc-initial)
will install to new locations to avoid file overwriting.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-25 10:59:17 +00:00
Dexuan Cui
7109712a25 cross.bbclass: make MULTIMACH_TARGET_SYS adjustable for bindir, libdir, libexecdir
This will be used by gcc-cross-initial and gcc-cross-intermediate.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-25 10:59:17 +00:00
Scott Garman
beb9166b3a distro_tracking_fields: Updated sudo tracking data
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-24 14:48:45 -08:00
Scott Garman
9eb6df725b sudo: upgrade to 1.7.4p6
Addresses CVE-2011-0010

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-24 14:48:44 -08:00
Saul Wold
c52e13a5a6 beagleboard: Not ready for 2.6.37 kernel yet, use stable instead
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-24 14:42:55 -08:00
Bruce Ashfield
5233908cd8 linux-yocto: update SRCREVs for emenlow
The emenlow has been ported/tested on 2.6.37. Updating the SRCREVs
to reflect the change.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-24 14:42:55 -08:00
Bruce Ashfield
97cb3124ec linux-yocto: allow multiple BSPs per branch
By default the linux-yocto recipes operate on the current branch
and use it as a trigger to locate the description of a board. This
model works well when using the git repo outside of a build system
since the commands can be simply invoked and will do something
useful. However, it does mean that you can't have two BSPs that
differ only by configuration, building out of a single branch
in the repository.

This means that you must have many branches for very similar
BSPs. This model is still preferred, but having the choice of
branching strategies is better.

With this change we can have multiple BSPs using a single branch
with the preferred description being hinted from the build
system by passing the $machine value to updateme/configme.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-24 14:42:55 -08:00
Saul Wold
e144427cb9 update-rc.d.bbclass: Changed RDEPENDS for native
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-24 14:09:14 -08:00
Darren Hart
94629f2521 send-pull-request: send all patches as the local user
When using sendmail to send patches, patches would appear to be from the
original author as git adds a From: header in the generated patches.  This patch
changes this behavior to match that of git-send-email, where the email From:
header is that of the current sender (according to sendmail) and a "From:
Original Author <email>" line is inserted into the body of the message.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-01-24 14:09:13 -08:00
Scott Garman
75748b6f09 send-pull-request: unset $TO and $CC from environment
Darren Hart and I discovered that when $CC is set (which
our meta-toolchain environment script sets up), the value
leaks into the use of this script. Unsetting $TO as well
just to be thorough.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-24 14:09:13 -08:00
Bruce Ashfield
aee1d50802 linux-yocto/stable: update beagleboard SRCREV
Updating beagleboard SRCREV to pickup:

commit 8e15b884ecf768fd9f898da5acf24938dfe81a83
Author: Koen Kooi <koen@beagleboard.org>
Date:   Tue Jan 11 17:13:35 2011 +0000

    omap3: beaglexm: fix EHCI power up GPIO dir

    commit a5624323866c06156ca548b8515d9347fdd5188e angstrom-linux

    EHCI enable power pin is inverted (active high) in comparison
    to vanilla beagle which is active low. Handle this case conditionally.

    Without this fix, Beagle XM 4 port EHCI will not function and no
    networking will be available

    [nm@ti.com: split up, added descriptive changelogs]
    Signed-off-by: Nishanth Menon <nm@ti.com>
    Signed-off-by: Koen Kooi <koen@beagleboard.org>
    Signed-off-by: Tony Lindgren <tony@atomide.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-24 14:09:13 -08:00
Bruce Ashfield
575d8bf637 linux-yocto/stable: update crownbay kernel configuration
Updating the meta branch to contain the latest crownbay
configuration tweaks.

e1f85a4 wrs_meta: turn on OHCI USB config option
8be8e45 wrs_meta (crownbay): turn on AHCI SATA option

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-24 14:09:13 -08:00
Bruce Ashfield
e1c7800012 linux-yocto/stable: update beagleboard SRCREV
Bumping the SRCREV to pickup some missing functionality:

ebbca89 omap: Beagle: no gpio_wp pin connection on xM
671fd89 omap: Beagle: only Cx boards use pin 23 for write protect
dccdf8a omap: Beagle: revision detection

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-24 14:09:13 -08:00
Zhai Edwin
d47d9aa5ac distro tracking: Add more info for qemu, gdk-pixbuf...., after last interation
of upgrade

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-24 14:09:13 -08:00
Paul Eggleton
3b980c5749 nfs-utils, e2fsprogs, mtd-utils, libsm: bump PR
This ensures package runtime dependencies are up-to-date after splitting
out libuuid and libblkid in util-linux recipe

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
2011-01-24 14:09:13 -08:00
Paul Eggleton
a377ce0a80 gst-plugins-base: add util-linux to DEPENDS
gst-plugins-base requires libuuid, so add util-linux to DEPENDS.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
2011-01-24 14:09:12 -08:00
Qing He
a9cb5cb041 util-linux: fix lscpu packaging
lscpu in util-linux 2.17.2 is specially under GPLv3, ensure it's
packaged separately if it's being built.

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-24 14:09:12 -08:00
Qing He
8ee25e2462 util-linux: fix dangling symlinks
shutdown and swapon should be in $base_sbindir instead of $sbindir

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-24 14:09:12 -08:00
Qing He
036e4a920f util-linux: separately packaging blkid and uuid
To avoid full set of util-linux included by library dependencies.

Fixes [BUGID #661].

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-24 14:09:12 -08:00
Nitin A Kamble
ff02b36428 apt: revert the dso_linking_change patch as the new linker fixes it
The newer binutils recipe of version 2.21 has a fix for ld which avoids an
issue where weak symbols like pthread_cancel were causing linking to fail wh
--no-add-as-needed parameter was passed to ld.

See more information here: http://bugs.debian.org/591405

This makes some of the fixes for breakage after gcc dso linking change
unnecessary and this is one of them.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-24 14:09:12 -08:00
Nitin A Kamble
6281264ebe libzypp: revert the dso_linking_change patch as the new linker fixes it
The newer binutils recipe of version 2.21 has a fix for ld which avoids an
issue where weak symbols like pthread_cancel were causing linking to fail when
--no-add-as-needed parameter was passed to ld.

See more information here: http://bugs.debian.org/591405

This makes some of the fixes for breakage after gcc dso linking change
unnecessary and this is one of them.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-24 14:09:12 -08:00
Nitin A Kamble
1ef70572f9 libmusicbrainz: revert the dso_linking_change patch as the new linker fixes it
The newer binutils recipe of version 2.21 has a fix for ld which avoids an
issue where weak symbols like pthread_cancel were causing linking to fail when
--no-add-as-needed parameter was passed to ld.

See more information here: http://bugs.debian.org/591405

This makes some of the fixes for breakage after gcc dso linking change
unnecessary and this is one of them.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-24 14:09:12 -08:00
Scott Garman
57392afdbb poky-extract-sdk: allow relative paths for extract-dir
psuedo needs a full path to its pid file, so convert
relative extract-dir paths to full ones.

The symptom of this bug is receiving the following error:

pseudo: Couldn't open relative/path/to/var/pseudo/pseudo.pid: No such file or directory

This fixes [BUGID #670]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-24 14:09:11 -08:00
Richard Purdie
74783fec56 bitbake/utils: Ignore OSError in unlockfile
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-24 14:26:50 +00:00
Richard Purdie
a3cb784945 Drop remaining bootcdx86 references, the -live images for qemux86 and atom-pc replace this
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-24 14:07:13 +00:00
Richard Purdie
070b7ee367 package_deb: Remove access to the D directory which isn't used and might not exist (same problem as the previous patch to package_ipk fixes)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-21 16:47:01 +00:00
Dongxiao Xu
9e7eb5955a package_ipk: Do not depend on the existence of "D" to create ipk package
If build from sstate results, the ${D} will not be installed. In this
case the creation of ipk package will be skipped, which will cause
the build failure.

Fix the issue by removing the judgement of ${D} existence.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-21 16:44:09 +00:00
Richard Purdie
f3677d679e glib-2.0: Add missing DEPENDS on dbus
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-21 13:37:30 +00:00
Richard Purdie
6702c43f87 dbus: Drop now unneeded DEPENDS on glib-2.0
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-21 13:37:15 +00:00
Richard Purdie
e40c2cabaa util-linux: Drop now unneeded DEPENDS on udev
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-21 13:36:43 +00:00
Saul Wold
daabbc6306 poky-image*-dev: Add -dev Images contianing headers and libraries
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-21 11:18:37 +00:00
Dongxiao Xu
bc9d2fbfd4 staging: Use relative path in sysroot-destdir for target recipes
Original we used absolute path in sysroot-destdir for both native and
target recipes. This commit changes target recipes to use relative path
which is same as the image directory.

[sgw: merged with libtool sysroot work]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-21 11:18:37 +00:00
Yu Ke
b1025bd538 distro tracking: add graphics recipes tracking data
add required filed for package report system to generate
more acurate report

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-21 11:18:36 +00:00
Darren Hart
0ca738448f README.hardware: add beagleboard documentation
Document the install and boot process for the Beagleboard xM with
provisions for the C4. I need someone with a C4 board to validate
the steps.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
CC: Scott Rifenbark <scott.m.rifenbark@intel.com>
2011-01-21 11:18:36 +00:00
Darren Hart
5da38d224e u-boot-omap3: remove in favor of upstream u-boot
This repository is stale, the u-boot_git.bb recipe uses the upstream
repository. Remaining machines using this recipe have already been
converted to using u-boot_git.bb.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-21 11:18:36 +00:00
Darren Hart
f1902976e5 overo: use the new upstream u-boot recipe
In preparation to remove the u-boot-omap3 recipe, update the overo
machine to use the new upstream u-boot recipe.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-21 11:18:36 +00:00
Darren Hart
fb07e93b8e beagleboard: add x-load and u-boot depends
The Beagleboard xM requires x-load and u-boot to be installed
on the MMC as it has no NAND (as of rev B and onward).

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-21 11:18:36 +00:00
Darren Hart
f2dc7fadd8 u-boot: Add a new upstream u-boot recipe
uboot-omap3 appears to be fairly stale (last commit in April 2010) while
the upstream u-boot is making regular tagged releases. Add a new recipe
using the upstream u-boot repository.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-21 11:18:36 +00:00
Darren Hart
b6cbf223d8 x-load: us TI upstream repository, update recipes accordingly
TI is now maintaining an upstream x-loader git repository and
sakoman will no longer be maintained. Current upstream
includes signGP and incorporates it into the Makefile. The new
Makefile ift target builds the universal MLO binary. The armv7-a
patch is included.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-21 11:18:35 +00:00
Kevin Tian
bcb1873836 siggen.py: better print for task hash comparison
current bitbake-diffsigs simply print out the whole 'runtaskdeps' when there's mismatch, which
is not very readable. On the other hand, 'runtaskhashes' comparison is broken which assumes
same key existing in two sides. This commit provides better output by figuring out differences
from addition, removal or hash change.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-21 01:36:17 -08:00
Kevin Tian
6299e9664f bitbake.conf: add USERNAME to BB_HASHBASE_WHITELIST
previously only USER is in the whitelist, however both are possible on different distros

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-21 01:36:17 -08:00
Qing He
1c0f01f602 resolvconf: upgrade to version 1.48
from 1.43

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-21 01:36:17 -08:00
Qing He
3900a23f92 zaurusd: upgrade to svn revision 426
Signed-off-by: Qing He <qing.he@intel.com>
2011-01-21 01:36:17 -08:00
Qing He
310556e158 dbus: upgrade to version 1.4.1
from 1.4.0

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-21 01:36:17 -08:00
Qing He
13e92c840b libnfsidmap: upgrade to version 0.24
from 0.23

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-21 01:36:16 -08:00
Qing He
c0d1ccad65 coreutils: upgrade to version 8.9
from 8.5

coreutils now depends on gmp

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-21 01:36:16 -08:00
Qing He
5ee3d0921f distro-tracking: update some tracking fields
removing some dated items to make the fields more concise.

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-21 01:36:16 -08:00
Scott Garman
6d8fe5b333 poky-default.inc: bump binutils preferred version to 2.21
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:16 -08:00
Scott Garman
4d387c3c0e binutils: fix library RPATHs
This integrates the RPATH fixes we recently applied to libtool.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:16 -08:00
Scott Garman
68a9d3dd5a binutils: Fix QA staging errors for target binutils
* The spurious paths were caused by a -L on commandline which pointed to
  build dir. So we dont use -L <wordir> -liberty instead use the
  libiberty.a directly on commandline effects are same but .la does not
  have the workdir path in deplibs

Patch obtained from OpenEmbedded, written by Khem Raj.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:15 -08:00
Scott Garman
ce175a948e binutils: forward-port the binutils-poison.patch
Update the binutils-poison.patch to apply cleanly on binutils
2.21

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:15 -08:00
Scott Garman
c15f20a124 binutils: upgrade to 2.21 and add libtool sysroot support
* Upgraded binutils to v2.21
* Incorporated libtool sysroot patches from OE
* Removed patches no longer needed or obsoleted by OE patches

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:15 -08:00
Scott Garman
6656381714 insane.bbclass: skip checks on .la installed status
Enabling libtool sysroot support triggers these errors but they
are a valid change in behavior.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:15 -08:00
Scott Garman
14770205c1 staging.bbclass, utils.bbclass: remove la mangling code
libtool v2.4 --with-libtool-sysroot eliminates the need for
la mangling.

Based on Khem Raj's OE commits.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:15 -08:00
Scott Garman
1a7509d673 autotools.bbclass: libtool sysroot support changes
We do not do it for native recipes, as the native compiler should
fall back to a prefix of /usr and not solely depend on the sysroot.
Otherwise we end up staging everything in the native sysroot before
we start to build target recipes.

Also remove la mangling code, which is no longer necessary.

Commit derived from Khem Raj's OE commits.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:15 -08:00
Scott Garman
ded899b580 libtool: fix library RPATHs
Enabling sysroot support exposed a bug where the final library
had an RPATH encoded into it which still pointed to the sysroot.
This works around the issue until it gets sorted out upstream.

Fix suggested by Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:14 -08:00
Scott Garman
62dc23953d libtool: Changes to enable sysroot support
* Added OE patches by Khem Raj which enable sysroot support
  and rename the command line option --with-sysroot to
  --with-libtool-sysroot to avoid conflicts with binutils and
  gcc
* Removed obsolete cross_compile.patch
* Changed SRC_URI_append to SRC_URI +=
* PR bump for all recipes

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-21 01:36:14 -08:00
Richard Purdie
66988ee0a2 libtool: Move common version specific data to a common include file
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-21 01:36:14 -08:00
Scott Garman
4a62f3fc5f libtool: Small cleanups of metadata
[based on sections of a patch by Scott Garman extracted by Richard]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-21 01:36:14 -08:00
Zhai Edwin
576e136d9d qemu: Upgrade from 0.12.4 to 0.13.0
Patch status:
-- Removed --
arm-cp15-fix.patch
arm_timer-fix-oneshot-mode.patch
arm_timer-reload-timer-when-enabled.patch
cursor-shadow-fix.patch
-- They are already in upstream or some new changes make them useless.

-- Added --
parallel_make.patch:     Fix "make -j(>=6)" failure
wacom-tablet-fix.patch:  Fix seg fault of usb tablet.
port92_fix.patch:        Fix boot failure on ppc due to port 0x92 conflict.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-21 01:36:14 -08:00
Saul Wold
7d9a8fc931 distrodata.bbclass: add .xz file type
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 16:56:04 -08:00
Dongxiao Xu
20925a6c40 meta-environment: Remove the recursive dependency on do_compile
It is not needed to have dependency on each do_compile of its recursive
depend tasks.

This problem is triggered by building meta-toolchain-sdk from prebuilt
result. Some packages like quilt-native, which is already been populated
and packaged by do_populate_sysroot_setscene and
do_package_write_xxx_setscene, however this recursive dependency of
do_compile triggers the tasks flow of "do_setscene --> do_fetch -->
do_unpack --> ..." again and do_setscene removes all the quilt-native
files, making the other recipes failed while do_patch.

Thanks for Kevin's help in root causing this issue.

CC: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-20 23:29:43 +00:00
Dongxiao Xu
5da9423217 bitbake: fix parameter order for flaglist()
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-20 23:29:25 +00:00
Richard Purdie
d4f537965b bitbake/providers.py: Fix runtime providers problems
Take a real world testcase where you have two recipes, each of which
contains PACKAGES_DYNAMIC = "gdk-pixbuf-loaders-*" and recipes which
RDEPEND on some gdk-pixbuf-loaders-xxx package. To select between these
you need to set a PREFERRED_PROVIDER.

These are specified in the PN namespace so the locgical conclusion is
that setting PREFERRED_PROVIDER_gdk-pixbuf = "gtk+" should work. It
doesn't and instead checks crazy things.

The code was correctly finding the two possible providers, gtk+ and
gdk-pixbuf. It was however only accepting PREFERRED_PROVIDER_gtk+
= "gdk-pixbuf" to resolve this problem which reads as the exact
opposite to what was wanted.

This patch changes the code to do something that makes sense. I suspect
that before these changes it was pretty much a null operation rubber
stamping the single provider case. For Poky at least it exposes a few
cases where -nativesdk recipes were providing the same things as their
normal counterparts but these are genuine bugs in the metadata.

I've also attempted to make the multiple provider error message human
readable as I counldn't understand it and I doubt anyone else could
either.

Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-20 22:44:33 +00:00
Richard Purdie
1d1f2d36c4 poky.conf: Correctly set gdk-pixbuf PREFERRED_PROVIDER
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-20 22:44:11 +00:00
Richard Purdie
f3f89be396 opkg: Stop opkg-nativesdk providing update-alternatives-cwrorth and libopkg
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-20 22:43:25 +00:00
Richard Purdie
60ee8b569c eglibc-package.inc: Stop eglibc-nativesdk providing eglib-thread-db and locale-base-*
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-20 22:42:34 +00:00
Richard Purdie
d1597fa627 poky.conf: Add PREFERRED_PROVIDERs for gdk-pixbuf-loaders after gdk-pixbuf updates
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-20 21:42:32 +00:00
Nitin A Kamble
546ef7bb6d apt: fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libpthread library explicitely for linking to work
without errors.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:05 +00:00
Nitin A Kamble
746173daad zypper: fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libpthread library explicitely for linking to work
without errors.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:05 +00:00
Nitin A Kamble
cff67292a2 libzypp: fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libpthread library explicitely for linking to work
without errors.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:04 +00:00
Nitin A Kamble
a849ef5f24 screenshot: fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libX11 libgdk-x11-2.0 and libgdk_pixbuf-2.0 libraries
explicitely for linking to work without errors.

This is identified as a libtool issue. While creating the libshot.la
file, libtool should have added these needed libraries in there.
 A bug has been created for this issue:
   http://bugzilla.pokylinux.org/show_bug.cgi?id=664

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:04 +00:00
Nitin A Kamble
a698372e9b matchbox-stroke: : fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libxrender library explicitely for
linking to work without errors.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:04 +00:00
Nitin A Kamble
e6d4c253a8 dates: fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libm and libpango-1.0 libraries explicitely for
linking to work without errors.

This is identified as a libtool issue. While creating the libgtkdatesview.la
file, libtool should have added these needed libraries in there.
 A bug has been created for this issue:
   http://bugzilla.pokylinux.org/show_bug.cgi?id=664

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:04 +00:00
Nitin A Kamble
958fd5a649 fstests: fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libX11 library explicitely for linking to
work without errors.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:04 +00:00
Nitin A Kamble
2560d0e83f blktrace: fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libXrender library explicitely for linking to
work without errors.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:04 +00:00
Nitin A Kamble
52691e7284 xtscal: fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libXrender library explicitely for linking to
work without errors.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:03 +00:00
Nitin A Kamble
5a91224e9c matchbox-desktop: fix build issue with gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libX11 library explicitely for linking to
work without errors.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:03 +00:00
Nitin A Kamble
8327a9d278 settings-daemon: fix build error with new gcc dso linking change
All the libraries needs to be specified explicitely with the new gcc dso
linking change patch. This was causing build errors for this
recipe. Specifying the libX11 library explicitely for linking to work
without errors.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:03 +00:00
Nitin A Kamble
d9276d4a04 oprofileui: fix the build failure after gcc dso change
With a change in gcc all the libraries needs to be specified explicitely
for linking. That breaks compile for this package as libm is not
explicitely specified. This commit fixes that linking  issue.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:03 +00:00
Nitin A Kamble
f7c568941a libmusicbrainz: fix the build failure caused by gcc dso linkcing change
The libraries for linking are not determined automatically now. All
the needed libraries must be specified explicitly.

This patch fixes the issue for missing libpthread library in the linker
script.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:03 +00:00
Nitin A Kamble
59986bd748 sat-solver: fix the build failure caused by gcc dso linkcing change
The libraries for linking are not determined automatically now. All
the needed libraries must be specified explicitly.

This patch fixes the issue for missing librpmmisc library in the linker
script.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:02 +00:00
Nitin A Kamble
95fc6ae164 gcc_4.5.1: add DSO linking change patch
This patch changes gcc's (ld's) linking behavior. It passes
--no-add-needed flag to ld. Because of it ld does not try to find
related libraries for linking, causing link failures. And these
link failures can be fixed by specifying the library to be linked
explicitely on the gcc command line.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-20 21:37:02 +00:00
Saul Wold
b46ce7cacd gdk-pixbuf-native: add jpeg-native as a dependency
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:37:02 +00:00
Jingdong Lu
d075d14b7d perl: Add GDBM module for perl
Add GDBM_File module and add it into perl extension in config.sh in order to fix failure of lsb-perl-test.

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2011-01-20 21:37:02 +00:00
Jingdong Lu
e261c1760d python: Fix failures of LSB python-runtime tests.
Fix failues of LSB python-runtime tests.
test_largefile: add "ac_cv_sizeof_off_t=8" option explicitly into configure options in order to enable "LFS".
test_codecs, test_re, test_unicode: "--with-wctype-functions" will cause these tests failed, so remove it for LSB.
test_builtin, test_getargs: "sitecustomize.py" cause default encoding changed from "ascii" into "utf8" and it will cause these tests failed, so remove this file for LSB.

Signed-off-by: Jingdong Lu<jingdong.lu@windriver.com>
2011-01-20 21:37:02 +00:00
Jingdong Lu
426de6589b poky-lsb: Add poky-lsb.conf as distro of lsb image
Signed-off-by: Jingdong Lu<jingdong.lu@windriver.com>
2011-01-20 21:37:02 +00:00
Jingdong Lu
39e239bb1d libxml2: Enable "--with-docbook --with-debug --with-catalog" for LSB test.
Enable options "--with-doc --with-debug --with-catalog" in order to pass LSB test.

Signed-off-by: Jingdong Lu<jingdong.lu@windriver.com>
2011-01-20 21:37:01 +00:00
Jingdong Lu
df38d6cbf8 glib-2.0: Enable debug option for LSB test.
Enable "debug" option of glib-2.0 and make "glib_mem_profiler_table" and "g_mem_profile" enabled for LSB test.

Signed-off-by: Jingdong Lu<jingdong.lu@windriver.com>
2011-01-20 21:37:01 +00:00
Jingdong Lu
811a9f7a33 qt4: Enable accessibility and sm option for LSB.
LSB library checks will look for some symbols of qt4 libraries. Enable "accessibility" and "sm" in order to pass the LSB test.

Signed-off-by: Jingdong Lu<jingdong.lu@windriver.com>
2011-01-20 21:37:01 +00:00
Scott Rifenbark
9da1e13e73 documentation/yocto-project-qs/figures/using-a-pre-built-image.png: Updated figure
Changed the figure so that "File System" is "Filesystem"

Signed-off-by: Scott Rifenbark <scott@scott-desktop.(none)>
2011-01-20 21:37:01 +00:00
Scott Rifenbark
75ee154c64 documentation/yocto-project-qs/yocto-project-qs.xml: General edits to YP QS.
Revised the manual for better grammar and more technically accurate wordings.
Worked closely with Scott Garman on the revision.

Signed-off-by: Scott Rifenbark <scott@scott-desktop.(none)>
2011-01-20 21:37:01 +00:00
Paul Eggleton
6d5adf1048 documentation/poky-ref-manual: expand discussion of PR and INC_PR
Expands a little on PR and INC_PR.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-01-20 21:37:00 +00:00
Paul Eggleton
321d70e186 documentation/bsp-guide/bsp.xml: fix typo in variable name
FILESEXTRAPATH -> FILESEXTRAPATHS

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-01-20 21:37:00 +00:00
Koen Kooi
6f31e13e81 distutils(-common-base) bbclass: sync with OE
When using python recipes imported from OE (e.g. python-cheetah) parsing only succeeds when python has already been built due to the PYTHON_DIR references.

This commit syncs the classes with OE to make it work, but keeps the *.pyo removal from yocto.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:37:00 +00:00
Koen Kooi
943f80f2aa python-dir bbclass: import from OE
This will be used later on when updating the distutils classes

A small deviation from OE is the use of PYTHON_BASEVERSION instead of non-deterministic python code. See https://lists.yoctoproject.org/pipermail/poky/2011-January/002320.html for some background info

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:37:00 +00:00
Koen Kooi
7cb39ad37f setuptools bbclass: import from OE
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:37:00 +00:00
Jessica Zhang
fe9f7162f9 sanity.bbclass: remove SDK_ARCH check
remove sanity check for SDK_ARCH=i686 due to recent fixes in cross toolchain areas, etc. the old issue no longer exists

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2011-01-20 21:36:59 +00:00
Gary Thomas
a1ab102ac3 linux-igep: Add required LIC_FILES_CHKSUM
[sgw@linux.intel.com: added linux-igep to synopsis]
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:36:59 +00:00
Ilya Yanok
81f1457d7e openssl: drop the valgrind patch that introduce a security hole
debian/valgrind.patch is the 'famous' Debian OpenSSL patch responsible
for everyone using Debian and derivatives changing their keys. All keys
generated with the patched OpenSSL are compromised so at very least we
have to drop this patch for good.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:36:59 +00:00
Ilya Yanok
05cb09b2ff linux-dummy: add license and LIC_FILES_CHKSUM
This package fails to build because of missing LIC_FILES_CHKSUM option.
This patch adds GPL and LIC_FILES_CHKSUM to this recipe.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:36:59 +00:00
Paul Eggleton
297f2a7afc base.bbclass: fix parse error on recipes with '++' in their name
Fixes "multiple repeat" or "nothing to repeat" errors when parsing recipes
with '++' in the file name.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:36:59 +00:00
Darren Hart
238c13f106 meta-rt: atom-pc support
Add support for the atom-pc machine to the meta-rt layer. This has
been boot tested on the Intel n450 development board (Black Sand).

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-20 21:36:58 +00:00
Darren Hart
8734754b3e machine/qemu: Allow for users to override the preferred kernel version
The linux-yocto-rt kernel has been boot tested on qemux86-64. Unlock
the preferred provider for virtual/kernel so it can be selected and
used.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-01-20 21:36:58 +00:00
Darren Hart
212b6874d1 meta-rt/poky-image-*rt: Add initial PREEMPT_RT image recipes
Add poky-image-minimal-rt* image recipes. They are based on the minimal recipe
and add rt-tests for basic evaluation of a board with a PREEMPT_RT kernel.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Tom Zanussi <tom.zanussi@intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-20 21:36:58 +00:00
Darren Hart
0b17496c44 meta-rt/rt-tests: add the PREEMPT_RT rt-tests testsuite and recipes-tests directory
The rt-tests test-suite is a collection of tests meant to measure the latency
and determinism of the Linux PREEMPT_RT kernel.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Tom Zanussi <tom.zanussi@intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-20 21:36:58 +00:00
Darren Hart
0d7d566650 meta-rt: Initial PREEMPT_RT layer and kernel recipes
The meta-rt layer provides a preempt_rt kernel recipe
using the linux-yocto-stable git tree. It overrides
the virtual/kernel provider and defines the compatible
machines and per-machine SRCREVs. The initial layer
supports only qemux86-64.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Tom Zanussi <tom.zanussi@intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-20 21:36:58 +00:00
Mark Hatle
4de544015b sanity.bbclass: Disable TERMCMD checking with noop patching
If PATCHRESOLVE is set to "noop", then it isn't supposed to try and
resolve patches at all, and thus does not need TERMCMD. Therefore,
make sure Poky doesn't check for (and possibly fail at finding)
TERMCMD if it isn't needed in the first place.

Signed-off-by: Derek Buitenhuis <dbuitenh@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-20 21:36:58 +00:00
Lianhao Lu
5246c996e9 libtool: Adjusted content of various libtool packages.
[BUGID #562] fixing:
1. Adjusted the content of various packages generated by libtool.
2. Added libtool-nativesdk into task-sdk-host.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-20 21:36:57 +00:00
Saul Wold
8cd693f32a task-poky-tools: move systemtap to machine specific tasks
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-20 21:36:57 +00:00
Tom Zanussi
96e513f758 systemtap: new package
Add systemtap, a general-purpose script-directed dynamic tracing and
performance analysis tool for Linux.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2011-01-20 21:36:57 +00:00
Jiajun Xu
3e052919c9 qemuimagetest: Use same image during sanity testing instead of copying a new image for each case
To reduce the time on sanity testing, we remove variable SHARE_IMAGE and use
a new variable TEST_SERIALIZE in local.conf. It is by default set to 1. Poky
will copy and boot the to-be tested image for only once. It will not remove
or kill the image and test cases will be serialized executed against the same
image. If it is set to 0, image is always be copied for each cases, which takes
much time. I had a experiment that latest qemuppc sato only takes 7 minutes to
finish 9 sanity test cases, which takes more than 20 minutes before.

I also removed sanity case "boot" from sato/sdk/lsb because the other cases for
these targets already cover the check point of "boot".

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-01-20 21:36:57 +00:00
Zhai Edwin
50b2086129 apr-util: Update to 1.3.10
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-20 21:36:57 +00:00
Zhai Edwin
aa36087734 apr: Update to 1.4.2
Add buildconf_fix.patch of removing new libtool detection method to avoid config
failure.  Handled build/libtool.m4 & apr_rules.mk after configure to take place
of "top_builddir" by "apr_builddir", as these files would be reused by apr-util.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-20 21:36:57 +00:00
Zhai Edwin
552169e89a gdk-pixbuf: Add 2.22.1 as new recipe
Updating gtk+ to 2.23.2 requires gdk-pixbuf, which is originaly a module in gtk+.
Borrow hardcoded_libtool.patch from original gtk+, and add configure_fix.patch
to fix build failure in cross-compile environment.

As gdk-pixbuf is a stand-alone package now, gdk-pixbuf-csource-native can be
safely removed. So extend gdk-pixbuf with native support, and make related
packages depend on it.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-20 21:36:56 +00:00
Bruce Ashfield
8f23c1413a linux-yocto: update validate_branches to detected invalid commit IDs
The previous implementation of invalid commit ID checks would
error early when a bad object was detected. Rather than changing
to set +e for the entire routine, we'll capture the output and
do an explicit check for a bad object and throw a useful error
message when it is detected.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-19 11:36:27 -08:00
Bruce Ashfield
432e7619a7 linux-yocto: streamline new BSP creation
By setting BOOTSTRAP to the branch that should be used for a
currently undefined BSP a build can be completed and an
environment for streamlining the BSP created.

With the appropriate machine.conf, and a defconfig any MACHINE
can be built against and inherit the configuration of the
standard yocto kernel.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-19 11:36:27 -08:00
Bruce Ashfield
37c4345197 linux-yocto: beagleboard enablement
Enable beagleboard support for 2.6.37. The only non-kernel related
change for the board is to update the serial console designation.

The Beagleboard use omap serial driver, so we replace ttyS2 with ttyO2.
This is described in following link:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg40838.html

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Liming Wang <liming.wang@windriver.com>
2011-01-19 11:36:27 -08:00
Richard Purdie
fd88588df0 bitbake/utils.py: Teach unlockfile about shared mode lockfiles
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-19 13:30:14 +00:00
Richard Purdie
542cebbc32 sstate.bbclass: Ensure clean/setscene sstate functions run under appropriate locking
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-19 11:48:55 +00:00
Richard Purdie
ede381d56b package.bbclass: Take a shared lock when reading to improve do_package parallelism
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-19 11:04:15 +00:00
Richard Purdie
7857834691 bitbake/utils.py: Add option of holding shared lockfiles
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-19 11:01:54 +00:00
Mei Lei
e5a629f314 psplash_svn.bb: Change poky boot logo to yocto logo
Change the boot logo to yocto logo

Signed-off-by:Mei Lei <lei.mei@intel.com>
2011-01-18 17:54:52 +00:00
Saul Wold
51a2afe390 distro-tracking: update manual checking
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-18 17:54:52 +00:00
Saul Wold
ec3b4403cf puzzles: SRC_URI Checksum disabled
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-18 17:54:52 +00:00
Scott Rifenbark
163581fe32 documentation/yocto-project-qs: Updated the Packages section.
Added the packages autoconf and automake to both the Debeian-based
host and the RPM-based host example commands.  During a fresh
development host system test run I found these packages were
necessary to develop Yocto projects using Eclipse IDE.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2011-01-18 17:54:52 +00:00
Mark Hatle
a72f0aaabe Workaround issue with latest version of pseudo.
The latest version of pseudo occasionally caches on an execvp.  This should
resolve the issue.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-18 17:54:52 +00:00
Mark Hatle
26396016ae pseudo: Update to the latest upstream version
Update pseudo to the latest version to resolve a number of optimization defects.

The problems were present on both 64-bit and 32-bit systems, but generally only
caused issues on 32-bit hosts.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-18 17:54:51 +00:00
Yu Ke
57bab3315c xserver-xf86-dri-lite: upgrade to 1.9.3
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:03 -08:00
Yu Ke
5a93778d3c mesa: add mesa 7.8.2
The latest mesa 7.10 has dependency on GPLv3 library talloc, so it is still necessary to keep one old non-GPLv3 mesa.And the latest non-GPLv3 version is mesa 7.8.2, so this patch add it.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:03 -08:00
Yu Ke
20bdd1764f mesa-glsl: add mesa glsl 7.8.2
mesa glsl is required by mesa 7.8.2, so add it.

Signed-off-by: Yu Ke <ke.y@intel.com>
2011-01-18 07:38:03 -08:00
Yu Ke
0b62bd8a95 mesa: upgrade to mesa 7.10
- add SRC_URI checksum
- remove the DEFAULT_PREFERENCE for atom_pc, since mesa 7.10 has dependency on GPLv3 talloc. the latest non-GPLv3 one is mesa 7.8.2, atom_pc can use that vesion.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:03 -08:00
Yu Ke
82c8fde5a1 cairo: upgrade to 1.10.2
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:03 -08:00
Yu Ke
9ffa1a79fc xf86-video-intel: upgrade to 2.14.0
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:03 -08:00
Yu Ke
1029b86231 xwininfo: upgrade to 1.1.1
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:03 -08:00
Yu Ke
63fa986f7c libdrm: upgrade to 2.4.23
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:02 -08:00
Yu Ke
89ca547284 xf86-input-synaptics: upgrade to 1.3.0
- update license checksum due to commit "COPYING: add three missing authors listed in synaptics.c". the license type is unchanged.
- Pass correct "sdkdir" value for cross compiling

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:02 -08:00
Yu Ke
b75c4db7bb xf86-input-evdev: upgrade to 2.6.0
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:02 -08:00
Yu Ke
75e9e0af7a xkbcomp: upgrade to 1.2.0
- also pick one patch from upstream to fix the cross compiling error during the do_configure. it can be safely removed in the next upgrade.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:02 -08:00
Yu Ke
a447c328dc xf86-input-keyboard: upgrade to 1.5.0
- update license checksum due to commit "Sun's copyrights now belong to Oracle". the license type is unchanged.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:02 -08:00
Yu Ke
2a69187e06 xdpyinfo: upgrade to 1.2.0
- update license checksume due to the commit "COPYING: replace stub with actual copyright notice". it provide more accurate license info. the license type is unchanged.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:02 -08:00
Yu Ke
bacfa12b01 mkfontscale: upgrade to 1.0.8
- update license checksum, due to commit "Sun's copyrights now belong to Oracle". the license type is not changed.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:02 -08:00
Yu Ke
00ecccca36 xprop: upgrade to 1.2.0
- LICENSE_CHECKSUM changed due to the commit "COPYING: replace stub with copyright notices". this commit add more accurate license info, and the license type is still MIT-X.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:01 -08:00
Yu Ke
70fe42942b bigreqsproto: upgrade to 1.1.1
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:01 -08:00
Yu Ke
c39b3aa2c2 xinit: upgrade to 1.3.0
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:01 -08:00
Yu Ke
d7c300f1d1 mkfontdir: upgrade to 1.0.6
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:01 -08:00
Yu Ke
5f1d51e32c xhost: upgrade to 1.0.4
- LICENSE checksum changes due to that "Sun's copyrights now belong to Oracle". it is corp name change only, the license is still MIT-X.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-18 07:38:01 -08:00
Saul Wold
d3341e3ea4 task-sdk-host: add libtool-nativesdk to meta-toolchain
This address [BUGID #652]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-18 07:38:01 -08:00
Otavio Salvador
241d553e51 meta-environment.bb: fix comments typos
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-18 12:50:46 +00:00
Dongxiao Xu
80cf3e405c bitbake: Introduce stamp-extra-info task flag into stamp filenames
For certain tasks, we need additional information in build stamp file
other than the task name and file name. stamp-extra-info is introduced as
a task flag which is appended to the stamp file name.

[Code simplifcations/tweaks from Richard]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-18 12:50:04 +00:00
Otavio Salvador
740ea68258 poky-init-build-env: unset BBPATH
When using OpenEmbedded and Yocto I had it previously set to OE and
this made bitbake to get confused. This was difficult to figure out
and then it seems safer and cleaner if the script unset it to avoid
this confusing behaviour.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-18 00:20:21 +00:00
Richard Purdie
72b452ecf2 bitbake/build.py: Allow FuncFailed error to have an optional message
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-17 23:54:28 +00:00
Dongxiao Xu
4cd1118a09 staging: relocate *.la paths in destination dirs
Keep the la files in source directories unchanged,
and do relocation in destination directories (sysroot-destdir).

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-17 22:10:11 +00:00
Dexuan Cui
dca67e0bc6 libc-package.bbclass: should not rm scsi/*.h
{e}glibc should install the scsi/*.h files, which are needed by hal.
Currently hal can build because eglibc-initial (which has its own do_install)
installs the files. In future eglibc will have its own sysroot, so hal
won't build.

BTW: in OE side, eglibc's do_install also doesn't remove the files.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-17 22:05:10 +00:00
Dexuan Cui
0df3c48130 libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o
Currently gcc-runtime installs the files, but actually gcc-runtime's
do_configure checks if the files are available, so before we build gcc-runtime,
we should have some recipe install the files first! -- currently
gcc-cross-intermediate actually does that(gcc-cross also installs the files,
but it installs into the gcc-build-internal* directory), but
gcc-cross-intermediate will have its own sysroot in future, after that,
gcc-runtime won't build. So let us add this new target recipe and move the
installation of the files from gcc-runtime into it.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-17 22:04:50 +00:00
Bruce Ashfield
2ce2c1e6f9 linux-yocto: enable arch ARM config settings for KARCH based boards
The switch to KARCH meant that the arch arm settings were not
being applied to all boards. This commit adds the new option
along with the existing one to cover all boards.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-17 21:55:32 +00:00
Bruce Ashfield
2fa6f421f0 linux-yocto-stable: add atom-pc preempt_rt support
Updating the SRCREV to capture this commit to the 2.6.34 kernel:

    linux-2.6-windriver: atom-pc-preempt_rt meta-data

    The following patch adds support for the preempt_rt kernel type
    for the atom-pc machine. It should be applied to the wrs_meta
    branch.

    Signed-off-by: Darren Hart <dvhart@linux.intel.com>
    CC: Bruce Ashfield <bruce.ashfield@windriver.com>
    CC: Tom Zanussi <tom.zanussi@intel.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-17 21:55:32 +00:00
Bruce Ashfield
55ab96dc2b linux-yocto: add systemtap config to -stable and -dev kernels
Enable the parameters required for systemtap for all BSPs based
off the standard kernel type.

CONFIG_KPROBES=y
CONFIG_RELAY=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_FS=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-17 21:55:32 +00:00
Richard Purdie
0388f0758f bitbake/build.py: Rename message field to avoid DeprecationWarning: BaseException.message warning
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-17 15:52:06 +00:00
Richard Purdie
a7fa6dbb91 perl-native: Ensure the wrapper appends to any existing PERL5LIB
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-17 15:15:13 +00:00
Tom Zanussi
d38ad32718 linux-yocto: hard-code NO_LIBPERL/NO_LIBPYTHON
ExtUtils::Embed ccopts is getting the host's -I/usr/local/include and
using it to compile perf, which results in a compilation error that
started appearing just recently.

This turns the code that makes use of ExtUtils::Embed off and simply
hard-codes NO_LIBPERL.

It does the same for LIBPYTHON while we're at it, since it probably
suffers from a similar underlying problem and just by chance hasn't
broken anything yet.

This will be re-enabled after I familiarize myself with the perf
recipe and am able to create a proper fix.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2011-01-14 15:18:10 -08:00
Saul Wold
9c6b313acb puzzles: Update SRC_URI Checksum
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-14 15:16:54 -08:00
Jiajun Xu
2119274314 qemuimagetest: Use the same image in sanity testing to fix the timeout issue on autobuilder
Fixes [BUGID #595]

Because of the QEMU booting slowness issue(see bug #646 and #618), autobuilder
may suffer a timeout issue when running sanity test. We introduce variable
SHARE_IMAGE here to fix the issue. It is by default set to 1. Poky will copy
latest built-out image and keep using it in sanity testing. If it is set to 0,
latest built-out image will be copied and tested for each case, which will take
much time.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-01-14 08:09:26 -08:00
Koen Kooi
897530621f external-python-tarball: add LIC_FILES_CHKSUM
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-14 15:51:27 +00:00
Richard Purdie
e427f251a4 image.bbclass: Use the dedicated BB_WORKERCONTEXT, not bitbake internals to detect context
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-14 11:57:48 +00:00
Richard Purdie
aa45f90162 glib-2.0: Fix path problems with libtool 2.4
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-13 16:17:06 +00:00
Richard Purdie
b939ff53ed insane.bbclass: Make sure QA issues are reported as warnings
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-01-13 16:17:06 +00:00
Richard Purdie
d82f205cfa dpkg: Add dependency on perl since otherwise the module can be installed to an incorrect directory leading to build failures
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-13 01:14:59 +00:00
Richard Purdie
34bf835168 kernel.bbclass: Remove a binary generated by recent kernel versions
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 17:30:44 +00:00
Richard Purdie
fad5c8a332 perl-native: Wrap the perl binary and set the LIB directory correctly removing the need to hardcode the paths and rebuild it
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 17:29:40 +00:00
Richard Purdie
17d13a5eef bitbake.conf: Whitelist FILESPATH as a variable not to include in taskhashes
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 16:04:32 +00:00
Richard Purdie
4988dd7281 bitbake.conf: Whitelist MACHINE variable in PACKAGE_ARCHS
PACKAGE_ARCHS represents all compatible architectures for a given machine.
It makes no sense for this variable to change any task checksums as it doesn't
inject any machine dependency into any known task. Multimachine means machine
specific packages will be detected through other variables.

Before this patch, even native packaging tasks were ending up being marked as
machine specific.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 16:00:57 +00:00
Richard Purdie
25b3d39612 bitbake/siggen.py: Fix whitelisted variable handling
Even when a variable was whitelisted, any dependencies of that variable
could still creep into the task hash due to the way the whitelisting
code worked. This patch changes thing to ensure that when whitelisted,
that whitelisting applies to the variable and any dependencies it has.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 15:58:48 +00:00
Koen Kooi
041adc9712 kernel bbclass: add 'perf' to kernel-modules blacklist
This makes 'kernel-modules' installable again when perf isn't enabled in the kernel config

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 15:55:25 +00:00
Bernhard Reutner-Fischer
bff1d2ba06 build: remove duplicate import of utils
(Bitbake rev: 86c6434f093ce5e55d1febfb424a8e595ffc2d17)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 13:47:18 +00:00
Bernhard Reutner-Fischer
2ef204dcdd *: use utils.remove() some more
(Bitbake rev: d3489b141cac1197324661680fe38b8a88bc49b4)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 13:47:14 +00:00
Bernhard Reutner-Fischer
c405a3a13e codeparser: fix spacing in diagnostic messages
(Bitbake rev: 8c5555f5ed6d61db57de80d2820c8cec64a27239)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 13:47:08 +00:00
Richard Purdie
3f08b7f1ea bitbake/knotty.py: Ensure task note messages are only surpressed at default log levels
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 13:45:39 +00:00
Beth Flanagan
d4731a3f7d Adding check for DL_DIR permissions: sanity.bbclass
Check to ensure that DL_DIR is set and that if it exists that it
is user writeable.

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
2011-01-12 12:09:33 +00:00
Joshua Lock
ac5c28a462 bitbake/goggle: don't drop events
We had a logic inversion that meant we where dropping quite a
significant number of events on the floor.... Fixed!

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-01-12 11:43:50 +00:00
Joshua Lock
e21150f2b1 bitbake/depexp: closing progress dialog kills gui
It seems safe to assume a user hitting the close button
on the dialog wants to kill the whole UI.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-01-12 11:43:50 +00:00
Joshua Lock
c9bb30b232 bitbake/goggle: closing the progress dialog kills the UI
It's unlikely that someone wants to close the progress dialog
yet leave the UI (and BitBake process) running, so hook up
the progress dialogs delete-event to exit gtk.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-01-12 11:43:50 +00:00
Joshua Lock
749ca68709 bitbake/uievent: fix queueing of events for xmlrpc before UI has loaded
The recent change to Queue up events before the UI is spawned (in
26eda93337) broke the xmlrpc server because the
uievent implementation of BBUIEventQueue expects pickled strings for its
queue_event() method.

This is because the RPC exposed event.send() method must accept pickled
strings, but for xmlrpc event.send() is just mapped to queue_event().

Work around this by adding a send_event method which unpickles strings and
hands them off to queue_event() which can then be used for the remapping.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2011-01-12 11:43:50 +00:00
Lianhao Lu
f5a1f1d7f0 meta-environment: Remove c++ include dir from CXXFLAGS.
[BUGID #651]. c++ include dir is no longer needed in the environment
files due to commit f13cb20.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-12 11:17:47 +00:00
Koen Kooi
060a9d090b wpa-supplicant 0.7.3: fix dbus service activation
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-12 00:55:49 -08:00
Koen Kooi
1717cd9277 wpa-supplicant 0.7: fix GNU HASH QA issue
The recipe was unsetting LDFLAGS, resulting in:

NOTE: QA Issue: No GNU_HASH in the elf binary: '/OE/tentacle/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/wpa-supplicant-0.7.3-r0/packages-split/wpa-supplicant/usr/sbin/wpa_supplicant'

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-12 00:55:49 -08:00
Darren Hart
e5e3fb23a2 bbvars.py: add a script to look for undocumented variables
bbvars.py will compare recipes in meta directories with documentation files
and report on variables that don't appear to be documented. It reports the
number of times a variable is used as well as any doctags present in the
documentation config file.

The output of this is intended to aid in determining where documentation may
be lacking, but it is not perfect, and does generate some false positives. An
experienced eye and careful attention to count and doctag should be applied to
the results.

$ ./bbvars.py -d ../../documentation/poky-ref-manual/poky-ref-manual.html -m ../../meta -t ../../meta/conf/documentation.conf -T  | head -n 10
Found 1413 undocumented bb variables (out of 1578):
VARIABLE                              COUNT DOCTAG
===================================================
BUILD_ARCH                            4     The name of the building architecture. E.g. i686.
BUILD_CC_ARCH                         2     FIXME
BUILD_PREFIX                          4     FIXME
BUILD_SYS                             13    FIXME
BUILD_VENDOR                          2     FIXME
CACHE                                 1     The directory holding the cache of the metadata.
COMPATIBLE_HOST                       19    A regular expression which matches the HOST_SYS names supported by the package/file. Failure to match will cause the file to be skipped by the parser.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-12 00:55:49 -08:00
Liping Ke
514e59c780 adt-intaller feature implementation, including the bitbake recipe file for creating the intaller tar file under /tmp/deploy/sdk, and the adt-installer script files and config files, set the reference to adt repo entry empty before it's setup
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2011-01-12 00:55:49 -08:00
Bruce Ashfield
03072100f1 linux-yocto: add routerstation pro and mpc8315e-rdb support
The routerstation pro and mpc8315e-rdb have been validated
on 2.6.37 so we can switch their preference to linux-yocto
and update the machine compatibility to add them to the support
list.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-12 00:55:49 -08:00
Darren Hart
deca05d27b trace-cmd: Bump SRCREV and recipe PV and PR values.
Upgrade to 6c696cec3f264a9399241b6e648f58bc97117d49 which
includes fixes to the Makefile to allow for user override of
CC and AR via the environment as well as python SWIG wrapper
fixes.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
2011-01-12 00:55:48 -08:00
Nitin A Kamble
cebc043e2e libxml-simple-perl: fix build failure with perl 5.12.2
for hostperl needing to load .so files (for module scalar::util) the host/native
perl library path is placed 1st in the @INC with the -I parameter to perl.
  Otherwise hostperl gives error can not load module scalar::util.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-12 00:55:48 -08:00
Nitin A Kamble
d52b9ff86d cpan.bbclass: add a new parameter EXTRA_PERLFLAGS
We use host perl while building target perl modules. When some of the
prebuilt perl modules such as scalar::util are used in the build process
directly or indirectly, perl needs to load the arch specific .so library
file. If perl can not find the .so library files, then perl
tries to use the target pm files which ends up in circular perl module
depedancy causing build time perl invocation to fail.

Adding this new parameter viz EXTRA_PERLFLAGS to cpan.bbclass allows perl
module recipes to specify the location of such host .so files for hostperl,
so that build time invocation of perl does not fail.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-12 00:55:48 -08:00
Nitin A Kamble
83796edd29 cpan.bbclass: use LIBDIR instead of DATADIR
perl 5.12.2 does not use /usr/share/perl path, and all that stuff goes
in /usr/lib/perl. This commit fixes cpan class which depends on
/usr/share/perl.

cpan.base/build.bbclass: change /usr/lib/perl5 to /usr/lib/perl

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-12 00:55:48 -08:00
Nitin A Kamble
f57e9daf74 perl, perl-native: upgrade from 5.8.8 to 5.12.2
Deleted these patches as they are part of the upstream code now.
    deleted:    files/perl-5.8.8-gcc-4.2.patch
    deleted:    perl-5.12.2/makedepend-dash.patch
    deleted:    perl-5.12.2/native-no-gdbminc.patch
    deleted:    perl-5.12.2/54_debian_perldoc-r.patch

And rebased these patches to the newer source code
    modified:   files/letgcc-find-errno.patch
    modified:   perl-5.12.2/Makefile.patch
    modified:   perl-5.12.2/asm-pageh-fix.patch
    modified:   perl-5.12.2/native-nopacklist.patch
    modified:   perl-5.12.2/native-perlinc.patch
    modified:   perl-5.12.2/Makefile.SH.patch
    modified:   perl-5.12.2/installperl.patch
    modified:   perl-5.12.2/perl-dynloader.patch
    modified:   perl-5.12.2/09_fix_installperl.patch

get patches from debian perl ver 5.12.2-2
   the fakeroot.diff patch from debian is conflicting with our
   Makefile.SH.patch, hence disabling the fakeroot patch

use newly created config files
   Created with current milestone branch on qemu machines
      modified:   config.sh
      modified:   config.sh-32
      modified:   config.sh-64

get some changes from oe's perl 5.10.1 recipe
   fix the Makefile.SH.patch use miniperl instead of perl
   import a OE 5.10.1 patch: uudmap_cross

fix install issues
   add /usr in the destdir, so that perl gets installed in
   /usr/bin/perl and not in /bin/perl

   link /usr/lib/perl to /usr/lib/perl5 so that operations with
   /usr/lib/perl path in them keep on working.

Fix/Improve perl packaging
   avoid perl-module-module-* kind of packages
   recreate perl-rdepends_5.12.2.inc file with new set of packages
   import from oe perl-rprovide_5.12.2.inc
   combine all unicore perl scripts in one package
   simplify perl-lib
   reduce no of perl recipe packages greatly.

Add zlib to depedancy

fix buildtime host contamination

This also fixes [BUGID #384]

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-12 00:55:48 -08:00
Saul Wold
fde91acaf7 puzzles: update SRC_URI Checksum due to file changing upstream
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-12 00:55:48 -08:00
Richard Purdie
4b055ed937 runqueue.py: Renable check_stamp_fn() for now since we still fork for task execution (as per bitbake-upstream)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 22:36:23 +00:00
Richard Purdie
0b3d443fc1 bitbake/runqueue.py: Simplify hashdata storage since we're not using an external script for tasks anymore, in line with bitbake-upstream
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 22:32:46 +00:00
Chris Larson
4428aabc92 msg: no need to hardcode the logging levels
(Bitbake rev: 8385bfb7da3a3b71f340a787d7f1502ba61c5b81)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 22:10:53 +00:00
Chris Larson
d967f3b731 vim: properly highlight python inside of ${@}
(Bitbake rev: 4210eb0b783bf9bbdf80b6c6806f66f3e6ec1e77)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 22:10:41 +00:00
Chris Larson
cbcd8e5296 vim: handle highlighting exports without assignment
(Bitbake rev: f36354a1bfd3f92979c5ad61a1e5d796f8246f60)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 22:10:30 +00:00
Chris Larson
55606ce78d vim: add an ftplugin for indentation settings
(Bitbake rev: 29ce70ac857a155b27f1909286bc3a0f7429bea0)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 22:10:12 +00:00
Chris Larson
810e139fd3 Inject taskpid into log records via our log handler
It turns out that while log filters added with addFilter are only associated
with that logger, and not its children, handlers are inherited, and handlers
can be filters.   So, let's add filtering to our existing LogHandler class
which dispatches our log records as bitbake events.

(Bitbake rev: 0153ace246e7c88366f45c8f035a2b4505a1c115)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 22:09:11 +00:00
Richard Purdie
48e567bb47 bitbake/runqueue.py: Fix del_stamp calls and -f option to bitbake with the BasicHash siggen code
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 21:59:34 +00:00
Richard Purdie
2bd6e7ce9c Merge branch 'srifenbark/docs' of ssh://git.pokylinux.org/poky-contrib 2011-01-10 21:09:33 +00:00
Bruce Ashfield
084dd95ca8 linux-yocto: update to 2.6.37
Fixes [BUGID: 620]

Update the SRCREVs to include the full 2.6.37 release plus the
forward port of the alternate RPC port patch. With this fix,
we can complete usermode NFS booting of all the qemu* targets.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-10 21:04:44 +00:00
Bruce Ashfield
e9e966ebe5 kern-tools: create generic variables for platform/board/kernel
Update the SRCREV to pickup changes to update the use of
WRS_* to be K* to provide more generic names for the
platform/board/kernel configuration options.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-10 21:04:44 +00:00
Bruce Ashfield
3f2902c9c9 linux-yocto: update SRCREV to pickup debug/ftrace config changes
Updating to reflect the changes from Darren Hart:

[
    linux-yocto-2.6.37: Add debugfs and ftrace features to standard ktype meta-data

    ftrace provides low impact tracing facilities and should be made
    available on the main kernel - as opposed to a debug or tracing
    kernel which often add enough overhead to mask subtle bugs.

    These features are available on the 2.6.34 yocto kernel.

    Boot and trace-cmd tested on qemux86-64.

    Signed-off-by: Darren Hart <darren@dvhart.com>
    CC: Bruce Ashfield <bruce.ashfield@windriver.com>
    CC: Tom Zanussi <tom.zanussi@intel.com>
]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-10 21:04:44 +00:00
Bruce Ashfield
a9f5feaf51 routerstation: disable command line overrides
Fixes [BUGID #581]

The initial routerstation pro BSP went out with with command line
overrides enabled. We'd need to be able to set the command line
from Redbot, so we should disable the forcing of the built in
variant.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-10 21:04:44 +00:00
Bruce Ashfield
1759fee638 kernel-yocto: pass the build directory to configme
configme used to be able to calculate the output/build directory
when branches were always <machine>-<kernel type>. Branch names
can now be widely different and to avoid embedding complexity
in the scripts it is easier to just pass ${B} from the build system
down to the scripts.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-10 21:04:44 +00:00
Yu Ke
2b2dbf7612 Fetcher: only set __BB_DONT_CACHE when SRCREV = "${AUTOREV}"
we should cache SRCREV whenever possible, the only exception is
when SREREV is auto rev. so change the logic to only set __BB_DONT_CACHE
at SRCREV = "${AUTOREV}" case

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-10 20:37:37 +00:00
Yu Ke
1589a1172f Fetcher: break the "SRCREVINACTION" deadlock
Current fetcher has annoying "SRCREVINACTION" deadlock,
which occurs when SRCREV=${AUTOREV}=@bb.fetch.get_srcrev():
get_srcrev()->setup_localpath()->srcrev_internal_helper()
->evaluate SRCREV->get_srcrev()

current fetcher resolve the deadlock by introducing a
"SRCREVINACTION" condition check. Althoguh it works, it is
indeed not clean.

This patch use antoehr idea to break the deadlock: break
the dependency among SRCREV and get_srcrev(), i.e. assign
a specific keyword "AUTOINC" to AUTOREV. when Fetcher meet
this keyword, it will check and set the latest revision to
urldata.revision. get_srcrev later can use the urldata.revision
for value evaluation(SRCPV etc). In this case, SRCREV no longer
depends on get_srcrev, and there is not deadlock anymore.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-10 20:24:33 +00:00
Yu Ke
550c3bd821 bb.fetch2.bzr: add bzr urldata_init
move the bzr specific urldata init from localpath to urldata_init
so that it can be called early

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-10 20:22:12 +00:00
Yu Ke
f684ff18a2 bb.fetch2.hg: add hg urldata_init
move the hg specific urldata init from localpath to urldata_init
so that it can be called early

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-10 20:21:59 +00:00
Yu Ke
7420e70f4f bb.fetch2.svn.py: add urldata_init
move the svn specific urldata init from localpath to urldata_init
so that it can be called early

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-10 20:21:48 +00:00
Yu Ke
54e34f6e25 bb.fetch2.git.py: add git urldata_init
move the git specific urldata init from localpath to urldata_init
so that it can be called early

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-10 20:21:35 +00:00
Yu Ke
2892cbfb11 bb.fetch2: add urldata_init call for Fetch class
FetchData has some fetch method specific data, and only fetch method knows how
to initialize it. originally it is mostly initialized in Fetch.localpath().
But now there is requirement to call Fetch.latest_revision() before
Fetch.localpath(), thus require another earlier place for initialization. so
urldata_init is introduced for this purpose. it will be called in FetchData:__init__
and make all the Fetch functions useable after that.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-10 20:21:15 +00:00
Yu Ke
9e3a92c04a BBHandler: remove bb.fetch referrence
BBHandler.py no longer use bb.fetch, so remove its import statement

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-10 20:20:24 +00:00
Koen Kooi
38b25eed95 machines: move PACKAGE_EXTRA_ARCHS to tune files
This gets us closer to making including tune-<arch>.inc "just work".
Moving the TARGET_ARCH definitions is something for a follup patch.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 18:18:43 +00:00
Richard Purdie
c02f89fe24 bitbake: For poky only, force the use of fetch2 codebase
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 18:13:53 +00:00
Richard Purdie
af06e4a8ef bitbake: Switch to fetch2 fetcher code based on the environment variable BBFETCH2
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 18:12:53 +00:00
Yu Ke
c64b445f38 bb.fetch2: replace bb.fetch with bb.fetch2 in the bb.fetch
bb.fetch2 is copied from bb.fetch, and has many bb.fetch referrence.
Fix these referrence with bb.fetch2 referrence

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 18:05:07 +00:00
Richard Purdie
6b212ad3c3 bitbake/fetch/git: Add backwards compatibility code for branch name handling
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 14:27:30 +00:00
Yu Ke
4dccd92439 bitbake: copy bb.fetch to bb.fetch2 as initial code base for fetcher overhaul
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 14:23:36 +00:00
Richard Purdie
f46cdcbbae bitbake/poky.conf: Add TARGET_LINK_HASH_STYLE option to TARGET_LDFLAGS as per OE.dev
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:05 +00:00
Richard Purdie
c036d1a5a0 bitbake/codeparser: Fix import to match upstream bitbake
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:05 +00:00
Chris Larson
a17d271db2 utils: show the actual exception in better_exec
(Bitbake rev: a148e6a63c842ac586ac1dddbd9008f93cdea297)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:04 +00:00
Richard Purdie
cd382f9546 runqueue.py: Drop unneeded import and improve quieterrors handling as per upstream bitbake
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:04 +00:00
Richard Purdie
2c2d160c88 bitbake: Update event queue handling to match upstream bitbake
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:04 +00:00
Richard Purdie
9336ba1fd2 bitbake/runqueue.py: Sync with changes in upstream bitbake
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:04 +00:00
Richard Purdie
5cc720aac2 bitbake/fetch: Sync up logger/whitespace improvements
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:04 +00:00
Richard Purdie
8d6800bc8e bitbake/utils.py: Drop unused function extend_deps()
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:04 +00:00
Richard Purdie
c186419173 bitbake: Sync environment handling function names and comments with upstream alterations
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:03 +00:00
Chris Larson
b127874ee6 parse: pass filename, lineno into the ast
We will be needing this information to improve the tracebacks of python code
from the metadata, as well as to give the user information about where
variables were defined, so they know how it ended up the way it is.

(Bitbake rev: 9615c538b894f71a2d1a0ba6b3f260db91e75786)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:03 +00:00
Chris Larson
f305e95840 cache: don't expand variables for skipped recipes
Errors can result from these expansions, but for skipped recipes, we
shouldn't care about those failures.  This fixes the same issue which
Richard Purdie fixed in poky, commit 847b717.

(Bitbake rev: 96ee6840010c1ae1080e6bf7ff0f4eb2d361e84b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 13:24:03 +00:00
Richard Purdie
b22e345e05 bitbake/knotty.py: Don't show log messages of NOTE and below for task processes
This cleans up the knotty console messages to be a lot quieter and cleaning,
in keeping with the expectations of most users.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-08 00:02:00 +00:00
Richard Purdie
f8e7215f6c bitbake/__init__.py: Add taskpid to all LogRecords (subclassed to be BBLogRecords)
This allows us to identify which task messages are from.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-08 00:02:00 +00:00
Richard Purdie
a13352cfaf bitbake/msg.py: Add named definitions for all logging levels
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-08 00:01:59 +00:00
Saul Wold
b7eb324326 xserver-xf86-common: Remove COMPATIBLE_HOST as it was wrong solution
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-07 10:46:14 -08:00
Richard Purdie
26cd5c2af0 insane.bbclass: Enable the package_qa_hash_style check
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-07 16:27:16 +00:00
Richard Purdie
5c69fab405 bitbake/runqueue.py: Remove duplicate TaskStarted event fire()
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-07 16:23:29 +00:00
Richard Purdie
359e31c37e xvinfo: Fix LIC_FILES_CHKSUM
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-07 16:23:28 +00:00
Richard Purdie
6fe79e263f libcanberra: Fix LIC_FILES_CHKSUM
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-07 16:23:28 +00:00
Richard Purdie
5da9747024 bitbake/build.py: Fix del_stamp work correctly after recent stamp function changes
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-07 14:03:27 +00:00
Richard Purdie
0e26f53f9e bitbake/cooker.py: Fix merge conflict with upstream which was preventing clean bitbake shutdown
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-07 13:54:50 +00:00
Richard Purdie
847b717862 bitbake/cache.py: Expansion of variables in skipped recipes should not be attempted as they can trigger errors
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-07 12:56:06 +00:00
Lianhao Lu
6f454c10bc bitbake/data.py: corrected the output for shell syntax.
[BUGID# 645], modify the emit_var()
1. Added "#" to the beginning of each line if the comment contains
multiple lines.

2. Added "\" to the end of each line if the shell variable value
contains multiple lines.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-07 11:14:22 +00:00
Kevin Tian
dc10e1688e bison-native: create a wrapper script for sstate installation
bison-native encodes M4 and PKGDATA staging path in its binary, which
breaks sstate installation in a new build environment. Use create_wrapper
similar as flex-native to solve this issue

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-07 11:09:49 +00:00
Kevin Tian
d835488c52 flex-native: create a wrapper script for sstate installation
flex-native encodes M4 staging path in its binary, which breaks sstate
installation in a new build environment. Use create_wrapper to create
a wrapper script which explicitly set M4 environmental variable to the
new path

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-07 11:09:48 +00:00
Kevin Tian
16fa641f99 perl: use ${CCLD} instead of its own LD definition
perl explicitly assigns LD to a bogus value:
    oe_runmake perl LD="${TARGET_SYS}-gcc"
which breaks sstate-based build when toolchain is not generated locally,
due to lacking of --sysroot option. Use ${CCLD} instead to make this
relocatable.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-07 11:09:48 +00:00
Richard Purdie
97789a160a bitbake/siggen.py: Add a signature generator which adds the hash to the stamp files
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-07 11:04:38 +00:00
Scott Rifenbark
bcb5849243 documentation/yocto-project-qs/yocto-project-qs.xml: Corrections to Using Pre-Built Binaries and QEMU section.
Made several small changes:

 - Added a period to three-bullet list for consistency
 - grammar fix to sentence
 - Added clarification for getting stuff from qemu URL
 - Fixed the forms for the image and the file system image

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2011-01-06 16:21:12 -08:00
Scott Rifenbark
bc127e0ec9 documentation/bsp-guide/bsp.xml: Commented out three sections.
There are some sections now that don't correspond one-to-one with the
standard file structure presented in section 1.1.  So I am commenting them
out for now.  Since I am still in the process of iterating on this
manual I don't want to just delete the information.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2011-01-06 16:21:05 -08:00
Richard Purdie
3f78c071b7 base.bbclass: Use the new stampfile function in bitbake to determine the path to the stampfile
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 19:49:17 +00:00
Richard Purdie
df8569b4d8 bitbake/runqueue.py: Fix a bug where do_setscene dependencies would be ignored
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 19:48:47 +00:00
Richard Purdie
66c6200ff3 bitbake build/siggen/runqueue: Fix stampfile parameters
The current parameters are not useful to the stampfile generator function
as they can't uniquely define a task. This updated things so the
parameters can identify unique tasks.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 19:47:03 +00:00
Richard Purdie
ec6e4793dc bitbake build.py: Stamp handling improvements
* Move stamp file deletion out of the internal stamp helper function
* Add a new function to return the path to a stamp for a given task

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 19:43:56 +00:00
Richard Purdie
4a10a5b438 bitbake build.py: Use localdata for stamp handling, not d
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 19:40:41 +00:00
Richard Purdie
81e29fbfac poky-ref-manual: Fix my email address
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 15:43:25 +00:00
Richard Purdie
51a2e8712a bitbake/build.py: Ditch the extract_stamp function as its just going to complicate improving the stamp handling functions
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 15:41:39 +00:00
Chris Larson
37391f667f parse.ast: drop __word__ regular expression
We can use the string split method for this instead.

(Bitbake rev: aa9646717b3ee1006628246a7c495f601e62391c)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 10:49:29 +00:00
Chris Larson
1204ed79fc parse.ast: avoid code duplication for inherit
(Bitbake rev: 0b11a3d4eab84b372fd45b9537cf0327008daf8d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 10:49:01 +00:00
Chris Larson
74653168c0 event: use BBLogFormatter in print_ui_queue
This ensures that when a failure occurs very early on in bitbake startup, the
message formatting ematches that used by the UIs.

(Bitbake rev: c8ff0fd3e9f050a668f1a069cf37ee37db3664fa)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 10:47:08 +00:00
Chris Larson
e7febaa343 build: use logger.isEnabledFor, not getEffectiveLevel
I think this is less confusing, and avoids needing to know about the *range*
of logging levels, instead simply asking what we really want to know.

(Bitbake rev: dc2264387617586b5c0a61e126c75edde5e7abcd)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-06 10:46:54 +00:00
Yu Ke
9b5c770cbd recpies: use SRCPV instead of SRCREV for PV
SRCPV is intended being used by PV, some recipes still use
SRCREV for PV, which is not correct. This patch fix all the
misusage.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-06 10:37:30 +00:00
Jiajun Xu
601af9f8ea qemuimagetest: Remove connman test for lsb image and fix one warning in Test_Create_Qemu
There is no connman in LSB image. So we need to remove connman test from it.
And when we check if ip address fetched by Test_Fetch_Target_IP is valid,
we should use "==" operator for string comparison.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-01-06 10:06:32 +00:00
Saul Wold
d2d5456cd3 insane.bbclass: Fix message for LIC_FILES_CHKSUM Errors
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-06 10:06:32 +00:00
Nitin A Kamble
b91c0f435b python-dbus: upgrade from 0.83.1 to 0.83.2
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-06 10:06:32 +00:00
Nitin A Kamble
5611fe864e byacc: upgrade recipe from 20100610 to 20101127
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-06 10:06:31 +00:00
Nitin A Kamble
a4976d5bee git: upgrade from 1.7.3.2 to 1.7.3.4
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-06 10:06:31 +00:00
Nitin A Kamble
76b5dc8f8c distro-tracking: update recently updated recipes
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-06 10:06:31 +00:00
Saul Wold
34b067eebf modutils: Extend gcc4 patch for obj_ppc.c
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-06 10:06:31 +00:00
Saul Wold
1539ecf265 xserver: Add COMPATIBLE_MACHINE
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-06 10:06:31 +00:00
Saul Wold
c3a14b32bb rpm: Bump PR to force rebuild due to new beecrypt
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-06 10:06:31 +00:00
Scott Garman
2ee6b1a314 distro_tracking_fields.inc: update apmd, blktool, dbus-glib, libgdbus, and pax-utils
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-06 10:06:30 +00:00
Scott Garman
27bdee593f dbus-glib: upgrade to version 0.92
Includes some minor recipe formatting changes.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-06 10:06:30 +00:00
Scott Garman
2aa8ebb62d dbus-glib: delete unused patch
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-06 10:06:30 +00:00
Scott Garman
47a1cc90d9 libgdbus_git: metadata fixes and minor formatting changes
* Added DESCRIPTION, SECTION, PRIORITY, and PR fields
* Updated SUMMARY and HOMEPAGE fields to reflect more accurate info

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-06 10:06:30 +00:00
Scott Garman
39387f3823 blktool: minor formatting changes
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-06 10:06:30 +00:00
Scott Garman
4842fc511e apmd: added HOMEPAGE, minor formatting changes
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-06 10:06:29 +00:00
Scott Garman
0aa3472e56 apmd: delete unused patch
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-06 10:06:29 +00:00
Scott Garman
6f774d38cf pax-utils: upgrade to version 2.2.2
* Upgrade to latest upstream release
* Minor cosmetic recipe changes

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-01-06 10:06:29 +00:00
Kevin Tian
73cc14980c binutils: use default ${CC} instead of defining it own
binutils.inc exports its own ${CC} which is similar to default ${CC}
but missing ${TOOLCHAIN_OPTION}, which makes --sysroot option lost
when compiling target binutils which then further breaks sstate.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-06 10:06:29 +00:00
Darren Hart
3930538586 kernelshark: add ftrace gui viewer
The trace-cmd source includes a graphical trace viewer, but we
don't want to make the trace-cmd recipe depend on gtk+. This
patch adds a second recipe in the meta/recipes-kernel/trace-cmd
directory which uses the trace-cmd SRCREV and RDEPENDS on trace-cmd
to ensure compatibility.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
CC: Saul Wold <sgw@linux.intel.com>
2011-01-06 10:06:29 +00:00
Darren Hart
6564097952 glib-2.0: fix g_once_init_enter compile failure
Kernelshark trips over a compile bug in glib-2.0 addressed by Open Embedded
back in the 2.22 timeframe. It appears to still be present in 2.27.

http://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg00529.html

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
2011-01-06 10:06:28 +00:00
Darren Hart
40be3e1e97 trace-cmd: license file updates
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-01-06 10:06:28 +00:00
Darren Hart
b4090f287c trace-cmd: fix cross-compilation
The trace-cmd Makefile forces certain variables, such as CC and AR.
It was using the host gcc and loader, fix it to use the poky-built
cross-compiler and linker.

inherit pkgconfig to ensure we don't use the host pkg-config.

Remove unecessary variables from the oemake commands, such as ARCH
and LD which aren't used by the Makefile.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
2011-01-06 10:06:28 +00:00
Dexuan Cui
baab6f69fe distro_tracking_fields.inc: update for lastest package updates
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:28 +00:00
Dexuan Cui
26a0877234 preferred-xorg-versions.inc: updated for lastest package updates
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:28 +00:00
Dexuan Cui
f11bcc10ae librsvg: upgrade from 2.32.0 to 2.32.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:28 +00:00
Dexuan Cui
a86c5dea19 libxxf86misc: upgrade from 1.0.2 to 1.0.3
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:27 +00:00
Dexuan Cui
e166d62eb7 libdmx: upgrade from 1.1.0 to 1.1.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:27 +00:00
Dexuan Cui
e348e6e622 pixman: upgrade from 0.20.0 to 0.21.2
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:27 +00:00
Dexuan Cui
840ca22947 scrnsaverproto: upgrade from 1.2.0 to 1.2.1
Add "--enable-specs=no" to disable doc generation -- I doubt we really need
it, and it doesn't work well due to

SEVERE: Error with opening URL 'http://docbook.sourceforge.net/release/images/draft.png'.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:27 +00:00
Dexuan Cui
ca4f1099a3 resourceproto: upgrade from 1.1.0 to 1.1.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:27 +00:00
Dexuan Cui
3512680535 compositeproto: upgrade from 0.4 to 0.4.2
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:26 +00:00
Dexuan Cui
c7ca70ee30 xproto: upgrade from 7.0.19 to 7.0.20
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:26 +00:00
Dexuan Cui
b08bfdace5 inputproto: upgrade from 2.0 to 2.0.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:26 +00:00
Dexuan Cui
cd9ae9927b renderproto: upgrade from 0.11 to the latest version 0.11.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-06 10:06:26 +00:00
Zhai Edwin
6f7ee849db matchbox-wm-2: Upgrade to svn r2106
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-06 10:06:26 +00:00
Zhai Edwin
1afd9d9b58 metacity: Upgrade to 2.30.3
Revised one patch from openembed to make host native binary for build.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-06 10:06:26 +00:00
Zhai Edwin
fbd6f9f45f libcanberra: Upgrade to 0.26
Remove nofallbackfix.patch it as already in upstream. Remove
autoconf_version.patch as already have new version of autoconf and no inbuild
libltdl now.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-06 10:06:25 +00:00
Zhai Edwin
c19c5b49be xvinfo: Upgrade to 1.1.1
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-06 10:06:25 +00:00
Zhai Edwin
b0783ec2fd beecrypt: Update to 4.2.1
Rebased disable-icu-check.patch & fix-security.patch. Removed x64fix.patch as
it is already in upstream. Also some configure changes: removing "--with-arch"
as it can't cowork with expert mode, adding "--disable-openmp" to avoid
unnecessary dependency.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-01-06 10:06:25 +00:00
Darren Hart
21fafc889e rootfs_rpm: fix rootfs generation rm error
During a poky-image-minimal build I ran into the following error:
rm: cannot remove `/vol/1/dvhart/poky.git/build/tmp/work/atom-pc-poky-linux/poky-image-minimal-initramfs-1.0-r0/rootfs/install': Is a directory

This is caused by a missing -r (recursive) argument to rm. This patch
adds that to the rm command of rootfs_rpm.bbclass.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-05 16:50:43 -08:00
Richard Purdie
5e384038cb rootfs_rpm.bbclass: Remove temporary work files in install directory, saving the manifests as logfiles into ${T}
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-05 18:57:07 +00:00
Richard Purdie
6ded4e0ae7 bitbake: build.py: Logging of None was losing the logs so force this to stdout so we can see function execution failures
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-05 18:57:07 +00:00
Lianhao Lu
a47c6415bd scripts/bitbake: Skip building pseudo if necessary.
Fixed [BUGID# 625]. Skip building pseudo if necessary by parsing the
options to bitbake.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-05 14:24:00 +00:00
Richard Purdie
d7a6a01ed7 usbutils: Don't install the uncompressed version of usb.ids, the compressed version will suffice
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-05 13:35:03 +00:00
Richard Purdie
a3158fa684 pciutils: Don't install the uncompressed version of pci.ids, the compressed version will suffice
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-05 13:34:49 +00:00
Richard Purdie
0f70631544 bitbake: Misc syncups with bitbake upstream, mostly whitespace and a missed line from the last UI commit
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-05 11:24:14 +00:00
Bob Foerster
2e0ef25a50 Resurrect alternative UIs
The various alternative UIs have been updated to once again be functional
with the latest bitbake internals.  Each of the UIs still have much room for
functional improvement.

In particular, they have been updated to:
 - interact with the new process based server
 - handle the current set of events and notifications fired from the server
   and its associated subsystems

(Bitbake rev: b947e7aa405966262c0614cae02e7978ec637095)

Signed-off-by: Bob Foerster <robert@erafx.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-05 11:13:48 +00:00
Richard Purdie
25ac24e02e bitbake: build.py logging updates
python tasks calling shell functions using exec_func() would show the log
file as /dev/null. It makes most sense for all the task logging to be setup
centrally by exec_task(), at least with the current code base in Poky.

This commit will need discussion in relation to upstream bitbake and the
IO redirection could be better handled using a context manager (although
task contexts shouldn't ever nest).

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-05 00:58:24 +00:00
Richard Purdie
03679364a9 bitbake: Fix process.py to accept None as the log option
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-05 00:58:24 +00:00
Chris Larson
e9f4ed0173 Update persist_data usage to the new API
(Bitbake rev: 9723a1c474b72b096c5a3136bf446ed69f3a749e)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-05 00:58:24 +00:00
Chris Larson
478677fb62 persist_data: resurrect the lock wait for selects
Think this got inadvertantly dropped when switching to the new API.

(Bitbake rev: 628c5159d1151b89f2b7210c8819489e8dc9a84d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-05 00:58:23 +00:00
Chris Larson
2671bb4197 Rework the persist_data API
Rather than having to run .addDomain() and then .getValue(domain, key),
.setValue(domain, key), etc, now it just works as mappings.

As an example:

    setValue(domain, key) -> persist[domain][key] = value

It also arranges things so we can construct objects of this type using any
arbitrary filename/path for the sqlite3 database, rather than being so
tightly bound to the metadata.

(Bitbake rev: d9e8b8af308ae871efdc8ef0782be30af8c1f894)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-05 00:58:23 +00:00
Chris Larson
3069c0b258 Revert "persist_data: cache connection and use cursor"
Caching the database connection can cause serious issues if it results in
multiple processes (e.g. multiple tasks) simultaneously using the same
connection.

This reverts commit 8a6876752b90efd81d92f0947bfc9527d8260969.

(Bitbake rev: 60b9b18eafad5ac46c7cf1048d749d673c2ee0ad)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-05 00:58:23 +00:00
Yu Ke
30d27115ec base.bbclass: add lock file for do_unpack task
This patch intend to fix the random unpack failure of linux-libc-headers-yocto
and linux-yocto.

The root cause of the unpack failure is that: these two recpies has the same URL, thus
has the same dest file during the fetch and unpack phase:
do_fetch  : create tar ball ${DL_DIR}/git_git.pokylinux.org.linux-yocto-2.6.37.tar.gz
do_unpack : extract tar ball ${DL_DIR}/git_git.pokylinux.org.linux-yocto-2.6.37.tar.gz
fetch phase is protected by lockfile, so it works fine. but unpack phase is not lock protected,
thus there is race condition like: when linux-yocto do_unpack is extracting the tar ball,
linux-libc-headers-yocto do_fetch starts to create tar ball thus overwrite linux-yocto's
tar ball and cause linux-yocto do_unpack failure

To fix this issue, do_unpack also need to be protected by lock

Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-04 09:46:37 -08:00
Koen Kooi
ca148f4627 sstate.bbclass: fix multimachine builds when PACKAGE_ARCH = MACHINE_ARCH
previously you could only build one set of packages for multiple machines:

MACHINE=foo bitbake task-base
MACHINE=bar bitbake task-base

would only create task-base packages for foo, but not for both foo and bar.
Doing MACHINE=bar bitbake task-base -c cleanall would remove the packages for foo.

The solution is to use MULTIMACH_ARCH as suggested by Richard Purdie.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-04 09:46:26 -08:00
Bernhard Reutner-Fischer
641fc9bad0 ConfHandler: commentary typo fixes
(Bitbake rev: 089dc31932a85455ed0fec8209d0451af4310f94)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 15:00:25 +00:00
Bernhard Reutner-Fischer
c0a11db877 event: fix unicode handler registration
(Bitbake rev: 413af91e56a6d2368f6cbe22c0e2a337e1289e55)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 15:00:22 +00:00
Bernhard Reutner-Fischer
aae8532528 cache: defer marking fn as clean
Only mark fn as clean if it is clean.
This saves us from removing (prematurely added) fn from our clean set
and saves me a few percent of runtime (and misleading debugging output
from remove()).

(Bitbake rev: 884365228fcaac07421ac1440d4946693fb628c5)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 15:00:18 +00:00
Bernhard Reutner-Fischer
c9d4807662 BBHandler: use basename directly in handler()
(Bitbake rev: 739a8ce6ac688061afd55cd3c980d0e9e45c5930)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 15:00:15 +00:00
Bernhard Reutner-Fischer
83f0b79f43 data: fewer newlines for (un)export
Previously we emitted two newlines for export and unexport.
One newline for export and unexport is enough (and makes the scripts
look better and a tad smaller).

(Bitbake rev: ba060160fdf1278a273fb2b77d36b8c681807ecf)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 15:00:11 +00:00
Bernhard Reutner-Fischer
9ed8e9f371 parse: Use constants from stat instead of magic numbers
(Bitbake rev: bcabe2dfb587042e139890329ff52d9bb9201cf4)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 15:00:07 +00:00
Richard Purdie
0090a798eb bitbake: Sync a load of whitespace and other non-functionality changes with bitbake uptream
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:54 +00:00
Richard Purdie
e8c48e668c bitbake/contrib: Sync with bitbake upstream
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:54 +00:00
Chris Larson
043adbfa09 process: fix handling of the input argument
When using a logfile, we weren't sending input to the child process.

(Bitbake rev: 5ec4ca7e45bdf6d259503fc67155395e89ba6329)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:53 +00:00
Bob Foerster
572bf4b382 depexp: add sorting of all package lists
Without sorting, it's very difficult to find the information you're
looking for.  Now, the lists are all sorted alphabetically for easy
viewing.

(Bitbake rev: 80e3d3a130b9dee72c11c6946bb5ff7705111d7c)

Signed-off-by: Bob Foerster <robert@erafx.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:53 +00:00
Chris Larson
8eee4221db pysh: add missing os.path import
(Bitbake rev: 6fb448a6cfb00aeb5dfc6c047915e0941e754348)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:53 +00:00
Bernhard Reutner-Fischer
1949d4f5e8 runqueue: fix typo in documentation of calculate_task_weights
(Bitbake rev: 5cde120003af97a5cf5c6eff2a02bb1480f9414b)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:53 +00:00
Bernhard Reutner-Fischer
4d4d1355d0 runqueue: use fewer newlines in error path
(Bitbake rev: 7498466f0e42beea6f5f411209a892b636c7783c)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:53 +00:00
Chris Larson
4a6d4d258c logger usage cleanup
(Bitbake rev: 976e4f84a8147ad762442df7ff4820611a21d227)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:53 +00:00
Bernhard Reutner-Fischer
e890b86ebd utils: fix typo in error message
(Bitbake rev: 99cdb61b30d0c75c8f831c78346cc9f8ca7945dd)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:53 +00:00
Chris Larson
d951aa40a0 Move LAYERDIR expansion hack into DataSmart
(Bitbake rev: 40778a6e9e82c7ea4673a74fc19574430fa63e8d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:52 +00:00
Chris Larson
717f13d63c parse: use bb.utils.which
(Bitbake rev: 2bc893dc407bf608cac7e12673161b75b712da83)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:52 +00:00
Chris Larson
760b82e732 Fix logging level names for post-server-ui-split
(Bitbake rev: dc5a5c39291ec223cd761dce59d29eee7316cb70)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:52 +00:00
Chris Larson
93e20c51c4 Use os.devnull, not /dev/null
(Bitbake rev: ce5ab0fc524a1c2c48c4c39d6fc8aae23019207b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:52 +00:00
Bernhard Reutner-Fischer
4dc97cb845 utils: don't overwrite builtin dir() function
(Bitbake rev: 6dc863f714beda6ca7ff8cd3e830a9bc8a39123d)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:52 +00:00
Bernhard Reutner-Fischer
9bf3cf103c bzr: use utils.remove instead of os.system
(Bitbake rev: 0ef8a9b3780525a28567ebe42956e5cae79ada8c)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:52 +00:00
Chris Larson
240b597ff2 utils: drop unnecessary debug msgs from mkdirhier
(Bitbake rev: 4b36be445a05a544cd3a456acd1dcc8f962359e2)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:51 +00:00
Bob Foerster
2735a70ece Show the user progress when loading the cache
(Bitbake rev: bdd7813d8eecf7b6b636322e748ca6bf69118513)

Signed-off-by: Bob Foerster <robert@erafx.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:51 +00:00
Chris Larson
89a1b59d9a knotty: exit with 1 if we see a critical log message
(Bitbake rev: d527ca441539618c990291fb8340f552ac760bce)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:51 +00:00
Chris Larson
2984877989 cooker: don't swallow recipe parse errors
(Bitbake rev: 1f5d49ce64e5e1c7705edbfa3c8e19649c21edd2)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:51 +00:00
Andreas Oberritter
2f0c23d28d manual: document scmdata=keep for CVS, SVN and Git
(Bitbake rev: f42e6d33b986183eee2c74aa7b1bbc9b339276a9)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:51 +00:00
Andreas Oberritter
bd34e7d6df fetchers: Add parameter scmdata=keep to include .git/ and others in generated tarballs.
* Allows generating version information from SCMs during build.
* Note that tar doesn't need to use --exclude '.git', because
  git checkout-index doesn't clone the repository.

(Bitbake rev: 05cbc1d1a01c667c77688f36fbc5b61c5f452a3a)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:51 +00:00
Chris Larson
7bbde5b149 build: fix FuncFailed for the no logfile case
(Bitbake rev: 3a4b5eb20e41bd3cecd9d7e8dff7d076d8a7bb9a)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:50 +00:00
Chris Larson
ddf2c687d8 process: handle OSErrors other than file not found
(Bitbake rev: 7d80a5355cb540aae8d3082c1efebb72da4f93c6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:50 +00:00
Chris Larson
3d51fd2b7d build: ensure LogTee has a valid name property
(Bitbake rev: 0ebb46e25261cfc85aaef2790cba7c1ec057c306)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:50 +00:00
Chris Larson
ea91b1dd87 Fix PWD issue with new exec_func_shell
The previous attempt was incorrect.  The issue isn't that subprocess fails to
set PWD, it's that PWD is in the metadata, inherited from the environment, and
is re-exported, overwriting the actual accurate one in the shell environment
with the old one from the metadata.  So, ensure that PWD in the metadata is
not exported.

We can ditch this when the environment handling is reworked (e.g. poky's
commit to do so).

(Bitbake rev: 2c8683234acf514706b2b69f5b29405485e664dd)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:50 +00:00
Chris Larson
9260c08e1d Ensure that the invalid UI error goes to stderr
(Bitbake rev: 76aeea2c23a518046d0b26f1a6fc43287a180a9d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:50 +00:00
Chris Larson
e05d6fa927 build: set PWD in the subprocess preexec hook
(Bitbake rev: efa5485c8f9d488ba058c40734cc55296d3de6eb)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:50 +00:00
Richard Purdie
2b7c2a8420 bitbake: Transfer noexec runqueue messages to the UI
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:49 +00:00
Chris Larson
fcba92f354 Move the runq task start/failed messages to the UI
(Bitbake rev: ab831e867f09b47001cb8da2f8f060e04febf237)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:49 +00:00
Chris Larson
23735bb765 Silence python 2.7 nested context manager warning
(Bitbake rev: 1c38f19fb8da2e6c55394162d0142e7146387e54)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:49 +00:00
Chris Larson
098f63d672 Rename command events, adjust compareRevisions
- Moved the logic for comparing revisions from cooker into command
- Removed 'Cooker' from the event names
- Renamed the 'ExitCode' event into CommandExit, and changed CommandFailed to
  be a subclass of CommandExit

(Bitbake rev: c51ed5d7a9971fad6019dac6c35a71b8a54ab16a)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:49 +00:00
Chris Larson
5a92e67b86 event: use cPickle for events
(Bitbake rev: b16c0c1dc3b7e03b02555e9803767a0d695e67f1)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:49 +00:00
Chris Larson
d2123cc395 utils: fix 'lock' variable reference
(Bitbake rev: f57f8f3cc980e3ae1693c2e065227e951ed0b1c0)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:49 +00:00
Chris Larson
212414b13f bb.event: fix MsgBase ref in fire_class_handlers
(Bitbake rev: db7f960e5f103a424a4319f1867fb540e643c1ec)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:48 +00:00
Chris Larson
3d3af810fa Kill the uncaught exception handler
We now wrap the main() in a try/except, ensuring that both the main portion of
bin/bitbake and the UI raising an exception will be shown to the user.  For
the server and workers, we can ensure in the server itself that exceptions are
handled correctly.

(Bitbake rev: 240d4a7ae80a6636c302ae84266ddfed7a7fcedd)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:48 +00:00
Chris Larson
6f80455777 build: fix -D with shell functions
(Bitbake rev: 1c8be64732fdf4f3a608c090b3dc92065d6058d6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:48 +00:00
Chris Larson
aaa55880ac build: send logging messages to the log file for python functions
(Bitbake rev: ee1cce6ab21ddda60a7a070d03e98ff8485a5e71)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:48 +00:00
Chris Larson
25e519a80f utils: fix calls to close() in the lock/unlock functions
(Bitbake rev: 4262c26d36d1c1b6801ac422716a227c1f6b9589)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:48 +00:00
Chris Larson
e2363f3cdd build: use a contextmanager for locks
Also don't bother passing logfile to exec_func_python, at least until we start
adding the logfile as a file handler to the bitbake logger.

(Bitbake rev: f99ee4680c9f67b7ed13fc06044ba2382f9a782c)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:48 +00:00
Chris Larson
b4eff9fcef build: use bb.process instead of os.system
(Bitbake rev: 53740977521bc81ffa37adfa7bbeb8f2a80ea165)

build: write logfiles per task, not per function
Based on d14f9bf6 from poky, reworked for master and other cleanup.

(Bitbake rev: beadff2eca1eb95f0411115dd72ddb4c3c44c604)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:48 +00:00
Chris Larson
87b6cdf547 process: add subprocess-based bits
(Bitbake rev: c63e55564a8840083dbd8634b10fe6f76d1f1354)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:47 +00:00
Chris Larson
c8d2dad049 Rename the ui 'init' method to 'main'
As these may run the UI in a blocking fashion and then return the exit code,
'init' was an inappropriate name, and 'main' is more appropriate.

(Bitbake rev: 4d081a0ed759bd526ab01849d650bd9e8d80ddd1)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:47 +00:00
Chris Larson
72c6953488 cooker: use re match, not search in re_match_strings
We want to match the requested pattern at the beginning of the string,
otherwise things behave in an unintuitive manner wrt ASSUME_PROVIDED (e.g.
ASSUME_PROVIDED += "gtk+" will also assume foo-gtk+ is provided), and the user
can always use '.*gtk+' to get the old behavior.

(Bitbake rev: 5670134ab2eb573d39df3c3231677cdb1a1dfc72)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:47 +00:00
Chris Larson
431160caf1 taskdata: use 'any' in re_match_strings
(Bitbake rev: e48e9a2150ee76aaf151f6d5bc9e86e6ae4de514)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:47 +00:00
Chris Larson
246bd18613 cooker: add shutdown/stop methods
(Bitbake rev: fc64eff03fe1f41e59128cb3df0ef2161e24a8cb)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:47 +00:00
Chris Larson
825e5045f4 cooker: merge cookerState and cookerAction
(Bitbake rev: c7c8945ef7ca9465312e630b7fa5f0a87ac8b6c7)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:47 +00:00
Chris Larson
ac4d926f41 cooker: use a pool, abort on first parse error
(Bitbake rev: 9caf65e79f95fe0045e727391e974c4c1e7411ff)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:46 +00:00
Chris Larson
e5624a4ed3 knotty: use enumerate for task waiting
(Bitbake rev: 89ce8df075ac8c9a5478c86405e6e6b60346a51c)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:46 +00:00
Chris Larson
7ffd6f88b8 knotty: shift non-interactive progress into a class
(Bitbake rev: c3d005cbbae3d56da9926666cfb1501c2bf96ea7)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:46 +00:00
Chris Larson
7ea3c96938 Fix the <100 recipe progress fix
(Bitbake rev: 424428a764651183218f9cc93bc05496867aa5de)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:46 +00:00
Chris Larson
1e3b83f96b Error more pleasantly when trying to use python2.4
(Bitbake rev: 57402ee727c8c1d8f5017534fb0f5e0b20aaaa5b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:46 +00:00
Chris Larson
7481c11e34 Don't show a traceback for a python version error
(Bitbake rev: 44c325306e55336b7b416fd88b39874012a3f603)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:46 +00:00
Chris Larson
c4e07bc033 cooker: don't choke on <100 recipes to parse
(Bitbake rev: 2be5169a01e57bcfcb1f75cbd6bac3bf0f230edd)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:45 +00:00
Chris Larson
b8aedaa6b5 cooker: no cached in progressbar and add ETA
Rather than updating the progress bar based on the recipe being processed
(whether cached or parsed), consider only parsed recipes.  This reduces the
instability in progress rate introduced by the cached entries, and allows the
ETA to be resurrected and be a bit more useful.

(Bitbake rev: 618480f7739f6ae846f67a57bee5a78efb37839d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:45 +00:00
Chris Larson
b890c19a33 cache: change to more incremental format
(Bitbake rev: 4fe4ffbef3885887c97eebe021edc3f23feab9ea)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:45 +00:00
Chris Larson
5bff22988c cooker: pass back child exceptions to the server
(Bitbake rev: 0f68f8bcd0e0aa944f76f88a4a85c9bcc1e42bee)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:45 +00:00
Chris Larson
8faec0b672 vercmp: don't choke on empty first version components
(Bitbake rev: e75aa94e9477933c5a40021b2a8e844db54f29da)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:45 +00:00
Chris Larson
6810622484 Use __file__, not sys.argv[0]
(Bitbake rev: 97e92abe49663eee189c89c1dc91fe69891faf73)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:45 +00:00
Chris Larson
8a938d567f cache: ensure 'pn' is included in the pkgvars
(Bitbake rev: cefc28a2aa1e5703119dacfd885c8c159a1e47a3)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:44 +00:00
Chris Larson
a92caf45c8 knotty: drop the ETA from the progressbar for now
Currently, the progress bar is an indication of the processing of our recipes,
which includes loading the cache file, then for each recipe, either adding the
existing cached information to the CacheData or parsing the recipe from disk.
These tasks clearly take different amounts of time, so the ETA is unreliable
today.  We'll resurrect this functionality after we revamp the progress
handling, fully incorporating the load of the cache file.

(Bitbake rev: 80867372dcbef91ebaf7d77a77ca871741dd3f74)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:44 +00:00
Chris Larson
7a7e2f4e59 cooker: ensure that the cache sync completes
Without explicitly joining the thread, it's possible for the process to end
(e.g. after a bitbake -p) and kill off the thread without waiting for it to
exit cleanly.  So, register the thread join with atexit.

(Bitbake rev: 97ce57e6f860d3e6f34cc7a603ed1eeac4f423d3)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:44 +00:00
Chris Larson
f4a06aac98 cooker: get number of threads in constructor
(Bitbake rev: e7fd259d1528f48b0812fb7b0a54dd6d5d22f4a9)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:44 +00:00
Chris Larson
a519031f23 cooker: don't add info for skipped recipes
(Bitbake rev: ac596d55de4ad86e1cdc84dabfea1350dd54efd0)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:44 +00:00
Chris Larson
60226ff35c cooker: show progress bar before initializing the cache
This ensures that the time spent loading the cache from disk occurs with the
progress bar up.  Though the progress bar stays at 0% during this period, I
think this is an improvement over the multi-second stall which occurred
previously before the progress bar came up.  Ideally, we'd integrate cache
loading from disk into the progress display, but this is a first step.

(Bitbake rev: f6d0a5c219f9deb84f702450d30d868ba6271f77)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:44 +00:00
Chris Larson
6cd15a1ea0 cooker: save progress chunk value (total/100)
(Bitbake rev: 09333737cbeeb9875d938521ddcd519fc808bcc3)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:43 +00:00
Chris Larson
739bb5a2d1 cooker: stop loading the cache for -b
Previously, the cache was actually being loaded from disk twice whenever using
-b or -e -b.  This also moves the bb_cache instance into the CookerParser, as
it's not needed by the cooker itself at all.

(Bitbake rev: dd0ec2f7b18e2a9ab06c499b775670516bd06ac8)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:43 +00:00
Bob Foerster
065da895d2 cooker: don't fire unnecessary parse progress events
(Bitbake rev: 7cf7d5f14405681496fced3640a50a20ef1acac1)

Signed-off-by: Bob Foerster <robert@erafx.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:43 +00:00
Chris Larson
7846d8db11 cache: don't add info to cache if cache is disabled
(Bitbake rev: f12bb303f3d86a68d0b3dda1112dd654b9251704)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:43 +00:00
Chris Larson
7c9444e9a5 cache: sync the cache file to disk in the background
This version uses a thread rather than a process, to avoid problems with
waitpid handling.  This gives slightly less overall build time reduction than
the separate process for it did (this reduces a -c compile coreutils-native by
about 3 seconds, while the process reduced it by 7 seconds), however this time
is quite insignificant relative to a typical build.

The biggest issue with non-backgrounded syncing is the perceived delay before
work begins, and this resolves that without breaking anything, or so it seems.

(Bitbake rev: 5ab6c5c7b007b8c77c751582141afc07c183d672)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:43 +00:00
Chris Larson
95d2f56126 Simplify cache syncing
Rather than adding nocache items to the cache, then copying the cache and
removing them to sync it, don't add them in the first place.  Also use 'with'
for the cachefile.

(Bitbake rev: 343b6f6255ad020c39e30742175a241f0859a5a6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:43 +00:00
Chris Larson
9ffbd9fe27 Experimental usage of the 'progressbar' module
(Bitbake rev: 64feb03bc2accecb49033df65e0a939ef5ab5986)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:42 +00:00
Chris Larson
32ea766871 Implement parallel parsing support
This utilizes python's multiprocessing module.  The default number of threads
to be used is the same as the number of available processor cores, however,
you can manually set this with the BB_NUMBER_PARSE_THREADS variable.

(Bitbake rev: c7b3ec819549e51e438d293969e205883fee725f)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:42 +00:00
Chris Larson
570bec37a8 cache: don't write out the cache unnecessarily
If the only recipes's we reparsed this run were those flagged as not to be
cached, there's no point in re-saving the cache, as those items won't be
included anyway.

(Bitbake rev: 1e0c4dbcbec886a30b89f8b4bb365c3c927ef609)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:42 +00:00
Chris Larson
acca344057 cache: create and use a RecipeInfo class
This class holds the particular pieces of information about a recipe which are
needed for runqueue to do its job.

By using it, I think we improve code clarity, reduce method sizes, reduce
overuse of primitive types, and prepare for parallel parsing.  In addition,
this ditches the leaky abstraction whereby bb.cache attempted to hide the
difference between cached data and a full recipe parse.  This was a remnant
from the way things used to be done, and the code using it had to know the
difference anyway.  If we choose to reimplement caching of the full recipes,
we can do it in bb.parse, in a completely transparent way.

(Bitbake rev: 992cc252452221f5f23575e50eb67528b2838fdb)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:42 +00:00
Bob Foerster
c6328564de Prefer xrange over range for small performance gain.
range() allocates an actual list when called.  xrange() is just an iterator
and creates the next range item on demand.  This provides a slight
performance increase.

In python 3, range will do what xrange does currently, but the upgrade will
be handled by the 2to3 tool.

(Bitbake rev: 73b40f06444cb877a5960b2aa66abf7dacbd88f0)

Signed-off-by: Bob Foerster <robert@erafx.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:42 +00:00
Chris Larson
e81fc749f3 Revert "svn fetcher: warn people to switch to SRCREV"
1) too spammy
2) can be implemented in the metadata instead

This reverts commit 8da9744fcdf856abebcfbe9e3bc1b8cf07bc317b.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:42 +00:00
Chris Larson
66b364cf8e cache: make loadDataFull a classmethod
(Bitbake rev: 16a9d689e61c35cfca94bbecd9772eab3c5072ba)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:41 +00:00
Bernhard Reutner-Fischer
81a81a163c svn fetcher: warn people to switch to SRCREV
as noted by rp in ac00ca89a4e43cd4f38ba86455079d31be78e644

(Bitbake rev: 8da9744fcdf856abebcfbe9e3bc1b8cf07bc317b)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:41 +00:00
Bernhard Reutner-Fischer
4df0d6adca fetch: be more pythonic
no functional changes

(Bitbake rev: e88834fb7c6821cc29c12d296f2edd51f6eb3746)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:41 +00:00
Bernhard Reutner-Fischer
b7d667f252 fetch: use os.path.join
(Bitbake rev: c360b01df18d90a513a3d61d395f905102e7568e)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:41 +00:00
Bernhard Reutner-Fischer
87b6f7d27a fetch: add common helper _strip_leading_slashes()
Several fetcher need a way to strip leading slashes off a local path.
This helper-function consolidates all such occurances.

(Bitbake rev: 823a02185ed109054c6c1ae366221aaed0353f24)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:41 +00:00
Bernhard Reutner-Fischer
d0d67a9fe2 fetch: rename suppports_srcrev to supports_srcrev
osc had it already spelled correctly?!

(Bitbake rev: b8bb4433de7a981c6826173e926ca34705c4ac70)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:41 +00:00
Chris Larson
814c80f53c cache: Add debug msg for a nonexistant dep file
If a recipe depends on a file, and that file is out of date, we show a
message, but if that file was removed, we do not, until now.

(Bitbake rev: 67984ba0ac2db79874541bc031f2e3e9ff7a6c32)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:41 +00:00
Chris Larson
84f02831a7 cache: use new style classes
(Bitbake rev: e084430446be2544dd1a6b627088f888c37cc7f0)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:40 +00:00
Chris Larson
c4d939079e cache: pyflakes/pep8/pylint cleanup
(Bitbake rev: 06420ff839ffc37de3e42474b8b0e47c4608a985)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:40 +00:00
Chris Larson
77d52cb1b8 cache: use set for clean, checked
(Bitbake rev: 3a776ef947e23b1a04bdd9e78a3a0c4616249b0e)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:40 +00:00
Chris Larson
f207bb7c93 cache: make use of defaultdict
(Bitbake rev: 7171019b11ad656d0edb979564941fcf92ab0a02)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:40 +00:00
Chris Larson
9c7c18d06f Pre-explode rundeps/runrecs in CacheData
(Bitbake rev: 0c8e0f3191252ccedb83c431c48e5c7d905e2717)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:40 +00:00
Chris Larson
3a2176fe73 persist_data: handle locked db for SELECT
Parallel processes interacting with the persist_data db can quite easily
explode without this.

(Bitbake rev: b3d5432cff0ff28f4c8a5bcf10efa3e383b4fd4d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:39 +00:00
Bernhard Reutner-Fischer
f565258368 BBHandler: use os.path in inherit()
(Bitbake rev: 5b85de2c71973ba490b95a5d9ab634635f395142)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:39 +00:00
Bernhard Reutner-Fischer
b44100eafc BBHandler: simplify supports()
(Bitbake rev: 858d704d713d15bf97053eb1374758c74b0d8874)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:39 +00:00
Bernhard Reutner-Fischer
1d8a9b8856 bb.cache: only log if the respective action was taken
This avoids alot of misleading log-messages like "Removing FOO from cache"
if FOO was not in the cache and as such is not a removal candidate.

(Bitbake rev: de34a403e206867e09410ad4925c7b9cff04fee6)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:39 +00:00
Chris Larson
7e1b709231 bb.pysh: add Case support to format_commands
(Bitbake rev: 6e24f573a0e95068eb9237c1d264ad1148b2f690)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:39 +00:00
Chris Larson
32b4bd9224 bb.pysh: fix writing pyshtables all over the place
(Bitbake rev: ff4753e362714a3c4c759c2fad8a9e5b8fe5bef5)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:39 +00:00
Chris Larson
4addbd191d Move the pysh package into the bb package
The pysh we're using is modified, and we don't want to risk it conflicting
with one from elsewhere.

(Bitbake rev: 1cbf8a9403b4b60d59bfd90a51c3e4246ab834d6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:39 +00:00
Peter Chubb
489d17596d Allow mercurial fetcher to follow tip
There are occasions when developing when I want a package always to
grab the latest copy of a package.  Witht eh CVS fetcher you can do
this by setting the `date' tag to `now'.  This patch adds similar
functionality to the mercurial fetcher: if the revision to fetch is
`tip' then always grab from the server, and don't use the cached
tarball.

Oh, and I fixed a typo in the Class comment.

(Bitbake rev: 01b85608d8a37f8af66dfd80133e950120679079)

Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:38 +00:00
Chris Larson
17ea152990 Fix GraphViz .dot output for rdepends and rrecs
Use bb.utils.explode_deps to break up the rdepends and rrecommends strings.
This fixes the same issue which was fixed by a number of patches floating
around, but uses explode_deps rather than regular expressions.

(Bitbake rev: 83cdb23f8b89453a3527a276bd0b4deb85d63deb)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:38 +00:00
Chris Larson
14889f9cca Make 'cache is clean' message debug
(Bitbake rev: 92637a355d55cb66de91b4314bc0e7cf1ac64ade)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:38 +00:00
Eric BENARD
3f7000cd3a bitbake: lib/bb/fetch/hg: fix fetching from a mercurial repository
* without this fix, we get :
updating working directory
74 files updated, 0 files merged, 0 files removed, 0 files unresolved
abort: There is no Mercurial repository here (.hg not found)!

(Bitbake rev: 75ea005ac8fc05b2b3afca803d77a6b5f558efee)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Tested-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:38 +00:00
Chris Larson
493f0cff71 Resurrect display of failed files
This was inadvertantly removed when trying to reduce the amount of duplicated
information the user sees when a failure occurs.

(Bitbake rev: 850d6158ea9daa58e896fd6b258d586df797dcf4)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:38 +00:00
Chris Larson
283b0a20c2 Access metadata vars as locals in python snippets
Example:
FOO = "bar"
BAR = "${@FOO + '/baz'}"

${BAR} == "bar/baz"

(Bitbake rev: 606fa1fd97cbd47a6a7ebdc7a2e6aa93a8f65cf5)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:38 +00:00
Chris Larson
f3406dd288 Fix __getitem__ for DataSmart
Ensure it raises KeyError for a missing key, this is required to use this as a
mapping in various places, e.g. as locals in an eval.

(Bitbake rev: 8d661ce0c303e8d69f17c1d095545d5ed086d1d5)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:37 +00:00
Khem Raj
6491ed9e2e fetchers: Use tar --exclude pattern to remove SCM files
This option will exclude the SCM metadata from tar files.

Tested with gcc where svn tar which used to be 156M for gcc 4.5
is now 77M

(Bitbake rev: f264cb6d43472525ad787b0887764ea696ec52ba)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:37 +00:00
Chris Larson
c81cd1be64 Fix syntax issue and don't include 'd' in ui_queue
(Bitbake rev: bed8e09971dc577f5443ad3d89aa14634c54eb16)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:37 +00:00
Chris Larson
26eda93337 Queue up events before the UI is spawned
- Queue up any events fired to the UI before the UI exists
- At exit, check if UIs exist, and if not, flush the queue of LogRecords to
  the console directly.
- When establishing a connection from the UI to the server, flush the queue of
  events to the queue in the server connection, so the UI will receive them
  when it begins its event loop.

(Bitbake rev: 73488aeb317ed306f2ecf99cc9d3708526a5933c)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:37 +00:00
Chris Larson
30cef6bade Fix another little bug with undefined var from cache
(Bitbake rev: f29ceb22b6a79ff62287a1eb398811fd81ec5c18)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:37 +00:00
Chris Larson
a964761283 bb.cache: fix bug from last commit with loading from cache
(Bitbake rev: 99c324fe7395a44da78403c615797104413503a5)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:36 +00:00
Chris Larson
3f40a2efe8 Reduce bb.cache memory usage a bit
- Don't store key/value pairs when the value is None
- Delete the depends_cache when we're done with it

This reduces the memory usage after sync on initial parse by roughly 11.5% on
this machine.

(Bitbake rev: c7eb4c989459d182fdf9c81a627d32b7ef11626b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:36 +00:00
Chris Larson
666513982f Fix FuncFailed construction
(Bitbake rev: 085e66f9c14123ea2c0f1e34f7737cf77071f86d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:36 +00:00
Chris Larson
136a631b2e Restore FuncFailed argument compatibility
(Bitbake rev: c07cc08f7fd503ac3013ccc43c79198c4c3b7b29)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:36 +00:00
Chris Larson
311c9f5042 Only reference logfiles that exist
(Bitbake rev: 760f647ba044009150ee219869fc9dea171a7535)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:36 +00:00
Chris Larson
c90bfa57f5 Fix bitbake -k issue introduced by build exception cleanup
A SystemExit from a python function wasn't being raised as a FuncFailed, which
resulted in it not being caught by the exception handlers in the runqueue for
the worker process, which resulted in a SystemExit exit, rather than os._exit,
which causes all manner of problems when used in a forked process.  This fixes
it by ensuring we raise a FuncFailed when seeing exceptions which aren't
instances of Exception.

(Bitbake rev: dafe92fe9f387450d9f9e9ff41c99388998b7495)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:36 +00:00
Chris Larson
bfe4bec8ad Don't show tracebacks for SystemExit or KeyboardInterrupt
(Bitbake rev: d71984b3934c3dd9791c3bc00f332b79a1985a05)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:35 +00:00
Chris Larson
7afe34e2c2 Fix exit code display for task failure
Per the python documentation, os.waitpid returns the exitcode shifted up by 8
bits, and we weren't compensating, resulting in a display of 'failed with 256'
when a worker process exits with a code of 1.

(Bitbake rev: 90c2b6cb24dc9c82f0a9aa9d23f2d1ed2e6ff301)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:35 +00:00
Richard Purdie
7011ae3f78 FIXUP: runqueue bb.debug refs
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:35 +00:00
Chris Larson
9897d56861 Simplify build exception handling
- Drop EventException
- Use FuncFailed as the primary function failure exception, using TaskFailed
  for the event (leaving it up to the process running exec_{func,task} to
  display the more detailed information available in the exception).
- Switch InvalidTask to an exception rather than an event, as that's a
  critical issue.
- Reduce the number of messages shown to the user when a task fails -- they
  don't need to be told it fails 12 times.  Work remains in this area though.

(Bitbake rev: 06b742aae2b8013cbb269cc30554cff89e3a5667)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:35 +00:00
Chris Larson
1e7204a7b5 Turn Event into a new style class
(Bitbake rev: b42221cabeb1193ade134d1d3c0318203ab8eb93)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:35 +00:00
Chris Larson
39d61dc498 Work around issue with pickling of traceback objects
(Bitbake rev: 82928613256bad92fde9f4071244a53e20fc89ee)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:34 +00:00
Chris Larson
0533a8465b Don't show uncaught exception message for KeyboardInterrupt
(Bitbake rev: 29634acd262b06fd14f6ef1e134346f274cf448f)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:34 +00:00
Chris Larson
a4b195f180 Apply fix for issue where the loggers were constructed with the wrong class
(Bitbake rev: 1b21daf052c49f3126dac001712ec01ad63c5f60)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:34 +00:00
Chris Larson
9c2bcae35e Fix providerlog NameError
(Bitbake rev: 992e460f24d4da707c76d6e6d74d3684c9646279)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:34 +00:00
Chris Larson
fc27334d1a Drop 'fn' arguments to bb.msg functions
(Bitbake rev: 8341458e3d21b45db84e46bd32f8ad270000ce3c)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:34 +00:00
Chris Larson
55c0b36e36 Add pending deprecation warnings to the bb.msg functions
(Bitbake rev: 60293a42b5500b6139bcd912bf294f862ef9936b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:34 +00:00
Chris Larson
ecc68fa4fb Switch bitbake internals to use logging directly rather than bb.msg
We use a custom Logger subclass for our loggers

This logger provides:
- 'debug' method which accepts a debug level
- 'plain' method which bypasses log formatting
- 'verbose' method which is more detail than info, but less than debug

(Bitbake rev: 3b2c1fe5ca56daebb24073a9dd45723d3efd2a8d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:33 +00:00
Chris Larson
d3a45c7d41 Use logging in the knotty ui, and pass the log record across directly
This kills firing of Msg* events in favor of just passing along LogRecord
objects.  These objects hold more than just level and message, but can also
have exception information, so the UI can decide what to do with that.

As an aside, when using the 'none' server, this results in the log messages in
the server being displayed directly via the logging module and the UI's
handler, rather than going through the server's event queue.  As a result of
doing it this way, we have to override the event handlers of the base logger
when spawning a worker process, to ensure they log via events rather than
directly.

(Bitbake rev: c23c015cf8af1868faf293b19b80a5faf7e736a5)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:33 +00:00
Chris Larson
4855548ffb Use the python logging module under the hood for bb.msg
(Bitbake rev: 47ca82397bc395b598c6b68b24cdee9e0d8a76d8)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:33 +00:00
C Michael Sundius
3e57e63b2d Allow %20 in a file name in the SRC_URI
(Bitbake rev: f7c181a0f6ab0b4d33bf80a0e24a788de441f82b)

Signed-off-by: C Michael Sundius <msundius@sundius.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:33 +00:00
Chris Larson
5c50d43cfa Ignore python warnings that come from places we don't care about
Only shows warnings that come from bb, oe, or <string>

(Bitbake rev: 57018687f60b222ab220dd904c4bf870780171e9)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:33 +00:00
Chris Larson
2dd8c01513 Make DataSmart inherit the MutableMapping ABC
Provide __len__, __iter__, and the getitem/setitem/delitem methods, and its
mixed in versions of keys(), values(), items(), etc will automatically behave,
making the DataSmart act more like a real mapping.

(Bitbake rev: 89b5351c656d263b0ce513cee043bc046d20a01e)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:32 +00:00
Chris Larson
ebe3850bee Split out 'find next buildable task' into a separate generator function
It needs to be a generator, so scheduler subclasses have the option to skip
buildable tasks and return a later one.

(Bitbake rev: a8c61e41bc6277222e4cde667ad0b24bd1597aa0)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:32 +00:00
Chris Larson
0d1034d2ea Let the RunQueueScheduler control the number of active tasks
(Bitbake rev: 1387423e747f59866fd1cb99a7d90605e668823f)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:32 +00:00
Chris Larson
384c5cc8ac Add the ability to use runqueue schedulers from the metadata
If you create a runqueue scheduler class in a python module, available in the
usual python search path, you can now make it available to bitbake via the
BB_SCHEDULERS variable, and the user can then select it as they select any
other scheduler.

Example usage:

    In a test.py I placed appropriately:

        import bb.runqueue

        class TestScheduler(bb.runqueue.RunQueueScheduler):
            name = "myscheduler"

    In local.conf, to make it available and select it:

        BB_SCHEDULERS = "test.TestScheduler"
        BB_SCHEDULER = "myscheduler"

(Bitbake rev: 4dd38d5cfb80f9bb72bc41a629c3320b38f7314d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:46:32 +00:00
Holger Hans Peter Freyther
902b5da3f6 misc: Update the email address to a working one.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:36:54 +00:00
Chris Larson
36318110da Fix IndexError encountered when a 'depends' flag references a nonexistant task
(Bitbake rev: 4b0fd70539e73d99282fa89d47ad2d5f642ca4f4)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:36:54 +00:00
Chris Larson
151c4a7a33 Drop the 'ui failed to start' message, as the ui_init does more in knotty
(Bitbake rev: 39087138ffd5d427f07ecaa580a40885c5ffaff3)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:36:54 +00:00
Chris Larson
bac0c60b61 Make realfile optional for better_exec, using the existing fn in the code object
(Bitbake rev: 499a2d28d578cdd6df7cd30ccb79cc2b2796fb65)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2011-01-04 14:36:54 +00:00
Bruce Ashfield
947577a77d linux-yocto/stable: update SRCREVs for 2.6.34.x -stable update
Paul Gortmaker maintains the upstream 2.6.34.x -longerm tree. The
yocto stable kernel tracks this tree and incorporates those nominated
changes.

This commit updates the BSP SRCREVs to the latest 2.6.34.x
merge and picks up 260 -stable commits for each BSP.

The combined diffstat between 2.6.34.7 and this update follows:

 arch/alpha/kernel/err_marvel.c              |    6 +-
 arch/arm/kernel/entry-common.S              |    2 +
 arch/arm/mach-at91/at91sam9g45_devices.c    |    2 +-
 arch/ia64/include/asm/compat.h              |    2 +-
 arch/ia64/kernel/fsys.S                     |   30 ++-
 arch/ia64/kernel/msi_ia64.c                 |    2 +-
 arch/ia64/sn/kernel/msi_sn.c                |    2 +-
 arch/mips/include/asm/atomic.h              |   24 +-
 arch/mips/include/asm/compat.h              |    2 +-
 arch/mips/mti-malta/malta-pci.c             |    2 +
 arch/mips/nxp/pnx8550/common/pci.c          |    1 +
 arch/mips/nxp/pnx8550/common/setup.c        |    2 +-
 arch/mips/pci/ops-pmcmsp.c                  |    1 +
 arch/mips/pci/pci-yosemite.c                |    1 +
 arch/parisc/include/asm/compat.h            |    2 +-
 arch/powerpc/include/asm/compat.h           |    2 +-
 arch/powerpc/kernel/head_64.S               |   18 +-
 arch/powerpc/kernel/ppc970-pmu.c            |    2 +
 arch/s390/include/asm/compat.h              |    2 +-
 arch/sparc/include/asm/compat.h             |    2 +-
 arch/sparc/include/asm/oplib_64.h           |   27 +--
 arch/sparc/prom/cif.S                       |   16 +-
 arch/sparc/prom/console_64.c                |   48 +++-
 arch/sparc/prom/devops_64.c                 |   36 +++-
 arch/sparc/prom/misc_64.c                   |  314 +++++++++++++++++++--------
 arch/sparc/prom/p1275.c                     |  102 +---------
 arch/sparc/prom/tree_64.c                   |  210 +++++++++++++-----
 arch/um/drivers/ubd_kern.c                  |    9 +-
 arch/x86/ia32/ia32entry.S                   |   22 ++-
 arch/x86/include/asm/amd_iommu_proto.h      |    6 +
 arch/x86/include/asm/amd_iommu_types.h      |   12 +
 arch/x86/include/asm/compat.h               |    2 +-
 arch/x86/include/asm/cpufeature.h           |    2 +-
 arch/x86/include/asm/io.h                   |    1 +
 arch/x86/include/asm/kvm_host.h             |   24 --
 arch/x86/include/asm/smp.h                  |    9 +-
 arch/x86/include/asm/tsc.h                  |    2 +
 arch/x86/kernel/Makefile                    |    2 +
 arch/x86/kernel/amd_iommu.c                 |    4 +-
 arch/x86/kernel/amd_iommu_init.c            |   67 ++++--
 arch/x86/kernel/apic/io_apic.c              |   15 +-
 arch/x86/kernel/cpu/common.c                |    4 +-
 arch/x86/kernel/cpu/cpu.h                   |    1 +
 arch/x86/kernel/cpu/intel.c                 |    1 +
 arch/x86/kernel/cpu/mcheck/mce_amd.c        |    9 +-
 arch/x86/kernel/cpu/mtrr/cleanup.c          |    2 +-
 arch/x86/kernel/crash_dump_64.c             |    3 +-
 arch/x86/kernel/hpet.c                      |    2 +-
 arch/x86/kernel/olpc.c                      |    5 +-
 arch/x86/kernel/reboot.c                    |    2 +-
 arch/x86/kernel/smp.c                       |   15 +-
 arch/x86/kernel/tsc.c                       |   38 ++++
 arch/x86/kvm/paging_tmpl.h                  |   30 +++-
 arch/x86/kvm/svm.c                          |   17 +-
 arch/x86/kvm/vmx.c                          |   28 +--
 arch/x86/kvm/x86.c                          |    2 +-
 arch/x86/oprofile/nmi_int.c                 |   27 ++-
 arch/x86/power/cpu.c                        |    2 +
 arch/x86/xen/enlighten.c                    |    2 +-
 arch/x86/xen/smp.c                          |    6 +-
 block/bsg.c                                 |    2 +-
 drivers/acpi/acpica/aclocal.h               |    1 +
 drivers/acpi/blacklist.c                    |   16 ++
 drivers/acpi/processor_core.c               |    6 -
 drivers/ata/libata-core.c                   |   14 +-
 drivers/ata/libata-eh.c                     |    4 +
 drivers/ata/sata_mv.c                       |   44 +++-
 drivers/bluetooth/hci_ldisc.c               |    7 +
 drivers/char/agp/sis-agp.c                  |    8 -
 drivers/char/mem.c                          |    3 +-
 drivers/char/pcmcia/synclink_cs.c           |    2 +
 drivers/dma/mv_xor.c                        |    2 +-
 drivers/gpu/drm/drm_crtc_helper.c           |    4 +-
 drivers/gpu/drm/i915/i915_dma.c             |   12 +-
 drivers/gpu/drm/i915/i915_gem.c             |    1 +
 drivers/gpu/drm/i915/intel_display.c        |    5 +-
 drivers/hwmon/f75375s.c                     |    6 +-
 drivers/hwmon/k8temp.c                      |   35 +++-
 drivers/i2c/busses/i2c-pca-isa.c            |   12 +-
 drivers/i2c/busses/i2c-pca-platform.c       |   11 +-
 drivers/infiniband/hw/cxgb3/iwch_cm.c       |    6 +-
 drivers/input/joydev.c                      |    3 +
 drivers/input/serio/i8042.c                 |    2 +-
 drivers/media/video/cx231xx/cx231xx-cards.c |   14 +-
 drivers/media/video/v4l2-compat-ioctl32.c   |   32 ++-
 drivers/message/fusion/mptscsih.c           |    2 +
 drivers/misc/sgi-xp/xpc_uv.c                |   17 ++
 drivers/mmc/host/sdhci-s3c.c                |    6 +-
 drivers/mmc/host/tmio_mmc.c                 |    7 +-
 drivers/mmc/host/tmio_mmc.h                 |   13 +-
 drivers/net/atlx/atl1.c                     |    5 +-
 drivers/net/b44.c                           |    4 +-
 drivers/net/bonding/bond_3ad.c              |    3 +
 drivers/net/bonding/bond_alb.c              |    3 +
 drivers/net/cxgb3/cxgb3_main.c              |    2 +
 drivers/net/eql.c                           |    2 +
 drivers/net/netxen/netxen_nic_init.c        |    3 -
 drivers/net/r8169.c                         |   12 +-
 drivers/net/skge.c                          |   18 ++-
 drivers/net/tun.c                           |    3 +-
 drivers/net/usb/hso.c                       |    2 +
 drivers/net/wireless/ath/ath5k/base.c       |   11 +-
 drivers/net/wireless/ath/ath9k/eeprom.h     |    2 +-
 drivers/net/wireless/ath/regd.h             |    1 -
 drivers/net/wireless/hostap/hostap_pci.c    |    1 +
 drivers/net/wireless/p54/eeprom.c           |    4 +-
 drivers/net/wireless/p54/p54usb.c           |   15 ++-
 drivers/net/wireless/p54/txrx.c             |    2 +-
 drivers/oprofile/buffer_sync.c              |   27 ++-
 drivers/oprofile/cpu_buffer.c               |    2 -
 drivers/pci/intel-iommu.c                   |   90 ++++----
 drivers/pci/msi.c                           |   27 +++-
 drivers/pci/quirks.c                        |   20 ++
 drivers/power/apm_power.c                   |    1 +
 drivers/scsi/gdth.c                         |    8 +
 drivers/scsi/libsas/sas_ata.c               |    1 +
 drivers/scsi/scsi_lib.c                     |    3 +-
 drivers/scsi/scsi_sysfs.c                   |    3 +-
 drivers/scsi/sd.c                           |   15 +-
 drivers/staging/hv/RingBuffer.c             |    3 +-
 drivers/staging/hv/StorVscApi.h             |    4 +-
 drivers/staging/hv/netvsc_drv.c             |    3 +
 drivers/staging/hv/storvsc_drv.c            |    9 +-
 drivers/staging/usbip/usbip_event.c         |   16 +-
 drivers/staging/usbip/vhci_hcd.c            |    2 +
 drivers/staging/vt6655/wpactl.c             |   11 +-
 drivers/usb/class/cdc-acm.c                 |   24 ++-
 drivers/usb/core/file.c                     |   35 ++--
 drivers/usb/core/hub.c                      |    9 +-
 drivers/usb/core/message.c                  |   15 +-
 drivers/usb/gadget/atmel_usba_udc.c         |    3 +
 drivers/usb/gadget/rndis.c                  |   10 +-
 drivers/usb/host/ehci-ppc-of.c              |   12 +-
 drivers/usb/musb/blackfin.c                 |    4 +-
 drivers/usb/musb/musb_gadget.c              |   22 ++-
 drivers/usb/musb/musb_gadget.h              |    2 +
 drivers/usb/musb/musb_gadget_ep0.c          |    9 +
 drivers/usb/serial/cp210x.c                 |   12 +-
 drivers/usb/serial/ftdi_sio.c               |   43 ++++-
 drivers/usb/serial/ftdi_sio_ids.h           |   51 +++++-
 drivers/usb/serial/mos7720.c                |    3 +
 drivers/usb/serial/mos7840.c                |   35 ++-
 drivers/usb/serial/opticon.c                |    6 +-
 drivers/usb/serial/option.c                 |   23 ++-
 drivers/video/sis/sis_main.c                |    3 +
 drivers/video/via/ioctl.c                   |    2 +
 drivers/xen/events.c                        |   21 ++-
 fs/aio.c                                    |    3 +
 fs/binfmt_misc.c                            |    2 +-
 fs/char_dev.c                               |    4 +-
 fs/cifs/dns_resolve.c                       |    2 +-
 fs/cifs/dns_resolve.h                       |    2 +-
 fs/exec.c                                   |   14 ++
 fs/ext4/dir.c                               |    4 +-
 fs/ext4/ext4.h                              |  129 ++++++++++--
 fs/ext4/ext4_jbd2.h                         |    8 +-
 fs/ext4/extents.c                           |  140 +++++++++----
 fs/ext4/file.c                              |    2 +-
 fs/ext4/fsync.c                             |   33 +++-
 fs/ext4/ialloc.c                            |   89 ++++----
 fs/ext4/inode.c                             |   88 +++++---
 fs/ext4/ioctl.c                             |   25 ++-
 fs/ext4/mballoc.c                           |  108 +++++++---
 fs/ext4/migrate.c                           |    2 +-
 fs/ext4/move_extent.c                       |    4 +-
 fs/ext4/namei.c                             |   12 +-
 fs/ext4/super.c                             |   65 +++---
 fs/ext4/xattr.c                             |    4 +-
 fs/fuse/dev.c                               |   16 +-
 fs/nfs/client.c                             |    2 +-
 fs/notify/inotify/inotify_fsnotify.c        |    3 +
 fs/notify/inotify/inotify_user.c            |    7 +-
 fs/ocfs2/inode.c                            |    6 +-
 fs/ocfs2/symlink.c                          |    2 +-
 fs/partitions/ibm.c                         |   13 +-
 fs/pipe.c                                   |    2 +-
 fs/proc/task_mmu.c                          |    3 +-
 fs/sysfs/file.c                             |    2 +-
 fs/xfs/linux-2.6/xfs_ioctl.c                |    2 +
 include/drm/drm_pciids.h                    |    2 +-
 include/linux/compat.h                      |    3 +
 include/linux/cpuset.h                      |   16 +-
 include/linux/libata.h                      |    1 +
 include/linux/mm.h                          |   14 +-
 include/linux/mmzone.h                      |   13 +
 include/linux/msi.h                         |    2 +
 include/linux/pci_ids.h                     |    3 +
 include/linux/sched.h                       |    5 +-
 include/linux/socket.h                      |    2 +-
 include/linux/vmstat.h                      |   22 ++
 include/net/tcp.h                           |   36 +++-
 kernel/compat.c                             |   21 ++
 kernel/cpu.c                                |   18 +-
 kernel/cpuset.c                             |   67 ++++--
 kernel/exit.c                               |    5 +-
 kernel/futex.c                              |   31 ++--
 kernel/gcov/fs.c                            |  244 +++++++++++++++------
 kernel/groups.c                             |    5 +-
 kernel/hrtimer.c                            |   13 +-
 kernel/sched.c                              |  180 +++++++---------
 kernel/sched_fair.c                         |  106 +++++----
 kernel/sched_idletask.c                     |    3 +-
 kernel/sched_rt.c                           |    5 +-
 kernel/sys.c                                |    2 +
 kernel/trace/ftrace.c                       |   19 ++-
 kernel/trace/ring_buffer.c                  |    2 +-
 mm/bounce.c                                 |    2 +-
 mm/memory.c                                 |   15 +-
 mm/memory_hotplug.c                         |   16 +-
 mm/mlock.c                                  |    6 -
 mm/mmap.c                                   |    3 -
 mm/mmzone.c                                 |   21 ++
 mm/page_alloc.c                             |   33 ++-
 mm/percpu.c                                 |    2 +-
 mm/vmalloc.c                                |    9 +
 mm/vmstat.c                                 |   15 ++-
 net/bridge/br_netfilter.c                   |    9 +-
 net/core/ethtool.c                          |    4 +-
 net/core/iovec.c                            |    5 +-
 net/core/skbuff.c                           |    6 +-
 net/core/stream.c                           |    8 +-
 net/ipv4/ip_output.c                        |   19 +-
 net/ipv4/route.c                            |    7 +-
 net/ipv4/tcp.c                              |   41 ++--
 net/ipv4/tcp_input.c                        |    2 +
 net/ipv4/tcp_timer.c                        |    8 +-
 net/ipv4/xfrm4_policy.c                     |    2 +-
 net/ipv6/ip6_output.c                       |   18 +-
 net/ipv6/route.c                            |   28 ++-
 net/irda/af_irda.c                          |    4 +-
 net/irda/irlan/irlan_common.c               |    2 +-
 net/llc/af_llc.c                            |    3 +-
 net/phonet/pep.c                            |    3 +-
 net/rds/page.c                              |   27 +--
 net/rds/recv.c                              |    2 +-
 net/rose/af_rose.c                          |    4 +-
 net/sctp/output.c                           |    1 -
 net/sctp/sm_make_chunk.c                    |    4 +-
 net/sunrpc/auth_gss/auth_gss.c              |    9 +-
 net/sunrpc/rpc_pipe.c                       |    6 +-
 net/unix/af_unix.c                          |   15 +-
 net/wireless/wext-compat.c                  |    3 +
 net/wireless/wext-core.c                    |   16 ++
 net/wireless/wext-priv.c                    |    2 +-
 security/keys/keyctl.c                      |    6 +-
 security/keys/process_keys.c                |    6 +-
 sound/core/control.c                        |    5 +
 sound/core/rawmidi.c                        |    4 +-
 sound/core/seq/oss/seq_oss_init.c           |    9 +-
 sound/pci/hda/patch_analog.c                |    1 +
 sound/pci/hda/patch_realtek.c               |    8 +-
 sound/pci/oxygen/oxygen.c                   |    4 +
 sound/pci/rme9652/hdsp.c                    |    1 +
 sound/pci/rme9652/hdspm.c                   |    1 +
 tools/perf/util/callchain.h                 |    1 +
 255 files changed, 2861 insertions(+), 1415 deletions(-)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-03 09:23:33 -08:00
Saul Wold
abebecacbd dtc: add patch to remove -Os for PPC
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-02 01:25:41 -08:00
Saul Wold
33d91c0737 xserver-kdrive: add DEPENDS for libdrm
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-02 01:25:41 -08:00
Saul Wold
78cb0e61c3 mutter: Add COMPATIBLE_MACHINE list to prevent PPC build
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-02 01:25:41 -08:00
Saul Wold
f93fd69a63 lttng-ust: add COMPATIBLE_HOST to prevent ARM/MIPS world build
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-02 01:25:41 -08:00
Bruce Ashfield
d6c4b83ca7 linux-yocto: update to 2.6.37-rc8
Updating the board SRCREVs to 2.6.37-rc8.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-02 01:25:41 -08:00
Qing He
d02e19ac91 lzo: upgrade to version 2.04
from 2.03

lzo: fix LIC_FILES_CHKSUM

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-02 01:25:41 -08:00
Qing He
5a859fcadc ncurses: upgrade to version 5.7
from 5.4

Largely based on the recipe from OpenEmbedded project
ncurses: fix LIC_FILES_CHKSUM

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-02 01:25:40 -08:00
Kevin Tian
f13cb20ed1 gcc-4.5.1: make c++ include path relative to "--sysroot"
So far c++ include path is not relative to "--sysroot", which brings
trouble if we want to use the toolchain in a new environment where
the original build directory generating that toolchain is not
available. It's firstly exposed in multiple SDK sysroots support, and
then in the case when sstate packages are used, where c++ standard
headers are missing because gcc tries to search original build dir.

This patch makes c++ include path now relative to "--sysroot", and
then once "--sysroot" is assigned correctly in new environment, c++
include paths can be searched as expected.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2011-01-02 01:25:40 -08:00
Jiajun Xu
2e3cdcb067 qemuimagetest: Add basic function check for connman
Add one case for connman sanity test. We check if connmand is running
in background after booting and if there is always one connmand process
running even connmand is executed by several times.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-01-02 01:25:40 -08:00
Jiajun Xu
62caed8237 qemuimagetest: Add basic function check for gcc/g++/make command in target
Add one case for compile tools sanity test in target, including gcc/g++/make.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-01-02 01:25:40 -08:00
Jiajun Xu
bcf8853e45 qemuimagetest: Add basic function check for rpm command
Add one case for rpm query sanity test.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-01-02 01:25:40 -08:00
Jiajun Xu
f6442e68cc qemuimagetest: Add basic function check for zypper command
Add two cases for zypper sanity test.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-01-02 01:25:40 -08:00
Qing He
4c6d5a6015 augeas: upgrade to version 0.7.4
from 0.7.3

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-02 01:25:40 -08:00
Qing He
6db06e1384 gnutls: upgrade to version 2.10.4
from 2.8.6

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-02 01:25:40 -08:00
Qing He
a3a94a90fd libtasn1: upgrade to version 2.9
from 2.8

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-02 01:25:39 -08:00
Qing He
8dcba8014d parted: upgrade to version 2.3
from 1.9.0

license checksum is changed due to one extra line in the COPYING

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-02 01:25:39 -08:00
Tom Zanussi
a2d092159e distro_tracking_fields.inc: add fields for sysprof
Add distro tracking fields for sysprof recipe.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2011-01-02 01:25:39 -08:00
Tom Zanussi
560591ec10 distro_tracking_fields.inc: add fields for blktrace
Add distro tracking fields for blktrace recipe.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2011-01-02 01:25:39 -08:00
Saul Wold
e5e173031b man-pages: fixup LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-31 11:38:37 -08:00
Richard Purdie
cb79459c30 base.bbclass: Add error message for base_do_unpack failures
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-31 11:13:45 +00:00
Richard Purdie
9e912c7303 unfs-server: Fix PV issues
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-31 11:13:45 +00:00
Chris Larson
96e7518472 When shutting down, send SIGTERM, not SIGINT
SIGINT should be from the user, not a script.  It also doesn't work as
reliably to shut down processes, as it's not always interpreted as a
termination request.  In addition, it causes KeyboardInterrupt exceptions in
the worker processes, which can interfere with our exception handling.

(Bitbake rev: e5f6e0e9de4c6d1dfdd269d2bf7f83c00c415a27)

Signed-off-by: Chris Larson <clarson@kergoth.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-31 10:34:08 +00:00
Richard Purdie
58507838bb python-pygobject: Fix DEPENDS and RDEPENDS for native recipe
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-31 10:07:04 +00:00
Richard Purdie
8f7fc82fbd gtk+: Fix BASE_RECOMMENDS, it doesn't need a PN suffix
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-31 09:51:18 +00:00
Richard Purdie
278aad440e base.bbclass: Correct bb.debug parameters
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-31 09:51:18 +00:00
Richard Purdie
33f67ee2fc classes: Drop Handled/NotHandled eventhandler keywords, they don't do anything
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-31 09:51:18 +00:00
Richard Purdie
b75330e99b bitbake.conf: Set a default hash policy globally, not just in the poky distro config
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-30 12:24:18 +00:00
Richard Purdie
a270c0e5fa patch.bbclass: Move vardepsexclude flag to be along side the function using the variable
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-30 12:22:52 +00:00
Dongxiao Xu
78584e193b distro_tracking: update pulseaudio, ofono, netbase, etc.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:29 +00:00
Dongxiao Xu
2bf07e7e9d connman-gnome: update service name
Since connman-0.64, the D-BUS service name changed from
"org.moblin.connman" domain to the "net.connman" one.

Thus change connman-gnome accordingly.

This fixes [BUGID #619].

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:29 +00:00
Dongxiao Xu
a6faa8fb19 connman: upgrade to version 0.65
upgrade from 0.64 to 0.65

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:29 +00:00
Dongxiao Xu
fef3f7dc4c tremor: upgrade to rev 17636
upgrade from 17572 to 17636

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:29 +00:00
Dongxiao Xu
c7b9695555 linux-firmware: upgrade to rev 40c0f950be7040614dc45df54e25e54d00e3b73b
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:29 +00:00
Dongxiao Xu
e3cdceaae9 libogg: upgrade to version 1.2.2
upgrade from 1.2.1 to 1.2.2

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:29 +00:00
Dongxiao Xu
5ca40691d0 telepathy-mission-control: upgrade to version 5.7.1
upgrade from 5.7.0 to 5.7.1

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:28 +00:00
Dongxiao Xu
37b15d184b glib-2.0: upgrade to version 2.27.5
upgrade from 2.27.3 to 2.27.5

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:28 +00:00
Dongxiao Xu
ea9f82f33b dpkg: upgrade to version 1.15.8.7
upgrade from 1.15.8.5 to 1.15.8.7

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:28 +00:00
Dongxiao Xu
cd522f9005 telepathy-python: upgrade to version 0.15.19
upgrade from 0.15.18 to 0.15.19

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:28 +00:00
Dongxiao Xu
55643cc182 telepathy-idle: upgrade to version 0.1.7
upgrade from 0.1.6 to 0.1.7

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:28 +00:00
Dongxiao Xu
69c1e98cb7 telepathy-glib: upgrade to version 0.13.6
upgrade from 0.13.5 to 0.13.6

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:28 +00:00
Dongxiao Xu
2ad649c7e1 gst-plugins-good: upgrade to version 0.10.26
upgrade from 0.10.25 to 0.10.26

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:28 +00:00
Dongxiao Xu
a943bea9ce gst-plugins-base: upgrade to version 0.10.31
upgrade from 0.10.30 to 0.10.31
Remove make-382.patch since the fix is already in upstream

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:07:28 +00:00
Dongxiao Xu
494b678dea gstreamer: upgrade to version 0.10.31
upgrade from 0.10.30.
Remove make-382.patch since the fix is already in upstream.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:06:53 +00:00
Dongxiao Xu
aba871fcad bluez4: upgrade to version 4.82
upgrade from 4.79 to 4.82.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:06:53 +00:00
Dongxiao Xu
cf359fbe02 netbase: upgrade to version 4.44
upgrade from 0.43 to 0.44

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:06:53 +00:00
Dongxiao Xu
675541b646 ofono: upgrade to version 0.37
upgrade from 0.33 to 0.37

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:06:53 +00:00
Dongxiao Xu
ac36c6305a pulseaudio: upgrade to version 0.9.22
upgrade from 0.9.21 to 0.9.22

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-30 12:06:53 +00:00
Saul Wold
40806b1696 distro tracking updates
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-30 12:06:53 +00:00
Saul Wold
f1f14be264 man-pages: update to 3.32
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-30 12:06:53 +00:00
Saul Wold
4c96022aef gthumb: update to 2.12.1
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-30 12:06:53 +00:00
Saul Wold
68fa94433d libgdata: Updated to 0.7.1
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-30 12:06:53 +00:00
Saul Wold
5dd8644879 bind: update to 8.7.2-P3
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-30 12:06:53 +00:00
Saul Wold
8494db7478 man: updated to 1.6f, fixed patches
Rebased patches for 1.6f:
  - lzma - modified for xz support
  - ro_usr & whatis2 fixed up

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-30 12:06:52 +00:00
Saul Wold
c0e6d3ea6a matchbox-theme-sato-2: Updated to svn rev164 and add patch
Patch was added because the png file was renamed from
background.png to template.png.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-30 12:06:52 +00:00
Saul Wold
3f07975359 qt: add fotowall back into qt task
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-30 12:06:52 +00:00
Saul Wold
16cd831898 qmmp: Update qmmp to 0.4.1
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-30 12:06:52 +00:00
Saul Wold
a5370af97a mc: update to 4.7.3
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-30 12:06:52 +00:00
Richard Purdie
1b765b3bf6 linux-tools.inc: Userspace tools should be compiled with the userspace compiler, not the kernel one
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-30 10:19:08 +00:00
Richard Purdie
14762f71b9 kernel.bbclass: Ensure TOOLCHAIN_OPTIONS is passed to KERNEL_CC and KERNEL_LD
This fixes various incorrect sysroot usages observed by people with sstate.
Thanks to Kevin Tian for figuring out where the problem was and Gary Thomas
for confirming the fix.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-30 10:16:35 +00:00
Richard Purdie
59ad91a880 unfs-server: Fix PV so it obeys the version number policy
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-30 10:12:14 +00:00
Richard Purdie
acf3b8e884 gtk+.inc: Drop stale moblin override
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-30 10:05:28 +00:00
Richard Purdie
8e7680b629 update-rc.d: Allow the primary deamon package to be specified in UPDATERCPN, update gsmd to use this
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-30 10:03:10 +00:00
Koen Kooi
0e8f0f0a03 RDEPENDS, RRECOMMENDS -> RDPEPENDS_${PN}, RRECOMMENDS_${PN}
For these recipes the dependencies listed in RDEPENDS and RRECOMMENDS only apply to ${PN}

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-30 10:03:10 +00:00
Tom Zanussi
35e3443b57 task-poky-tools.bb: re-enable blktrace
The commit for BUGID #581 fixes the blktrace build errors - it should
now be safe to re-enable the blktrace recipe.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-12-30 09:38:05 +00:00
Tom Zanussi
3156e757f2 blktrace: Fix parallel make issue
Fixes [BUGID #581]

When PARALLEL_MAKE is used with the current blktrace Makefile, the
btreplay and btrecord object files can end up being built multiple
times in parallel, which occasionally causes the linker to pick up the
object files in intermediate and seemingly corrupt states, and causes
the spurious link errors in the bug report.

This fix restricts the recursive btreplay invocations to building only
btreplay or btrecord as appropriate, not both.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-12-30 09:37:39 +00:00
Yu Ke
6ee0c26e21 bb.utils: check if lock file is writable, to fix bug 606
Bug 606 report that if $DL_DIR is read-only, do_fetch will
simply hang without any error message.

The root cause is that: bb.fetch.go()->bb.utils.lockfile()
will try to lock file ${DL_DIR}/xxxxx.lock. Since ${DL_DIR}
is read-only, it will cause IOError exception. Although
lockfile() can catch the exception, currently code simply
ignore all the exception and continue the loop. it make
sense if the exception is caused by locking contention,
but in the read-only $DL_DIR case, it cause endless waiting
unfortunately.

So this patch add read-only check for lockfile to avoid the
silent hang.

Fix [BUGID #606]

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-30 09:28:45 +00:00
Bruce Ashfield
93043c55dd yocto/meta: update to 2.6.37-rc7
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-28 22:47:52 -08:00
Bruce Ashfield
54d4b8e861 yocto-kernel: fix kmachine to deal with overrides
BSPs are built from a particular branch of the kernel repository
which is specfied via the mapping of MACHINE to KMACHINE. Unless
a global branch is being forced (like libc headers), KMACHINE
is an override on a per machine basis.

Because KMACHINE is typically override we must first try the
most specific variant KMACHINE_<machine> and if that is undefined
look for a fallack default. This allows any combination of
variables to work (and at the time the anonymous python
executes) safely and get us a properly defined branch for the
fetcher and build.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-28 22:47:52 -08:00
Qing He
22cf272eb6 attr: fix SRC_URI
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-28 22:45:59 -08:00
Kevin Tian
3996510cca acl: use correct Savannah download link
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-28 22:45:30 -08:00
Saul Wold
c7718d83ea cdrtools: Fix LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-28 21:06:47 -08:00
Saul Wold
badeccac4f cdrtools: add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-26 07:22:39 -08:00
Saul Wold
3c87fa57f8 xserver-xf86: fix LIC_FILES_CHKSUM spelling and location
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-26 07:22:10 -08:00
Richard Purdie
e4a8d4f08e poky-image-live.inc: Add LIC_FILES_CHKSUM
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-25 19:56:30 +00:00
Richard Purdie
b089cf9a45 libsdl: Add LIC_FILES_CHKSUM
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-25 19:51:26 +00:00
Richard Purdie
e54f08dac5 meta-toolchain Add LIC_FILES_CHKSUM
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-25 19:45:18 +00:00
Richard Purdie
a6bdae0738 qemu-helper-nativesdk: Add LIC_FILES_CHKSUM and update LICENSE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-25 19:43:40 +00:00
Richard Purdie
c6fae98730 task-sdk-host: Add LIC_FILES_CHKSUM
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-25 19:43:01 +00:00
Richard Purdie
30d01a676d task-cross-canadian: Add LIC_FILES_CHKSUM
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-25 17:56:06 +00:00
Richard Purdie
08e3d29459 xserver-kdrive: Add missing DEPENDS on pixman
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-25 17:50:22 +00:00
Saul Wold
9951a44e6d u-boot: add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-25 00:11:36 -08:00
Saul Wold
f6e8c338c4 xserver-kdrive: add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-24 17:20:58 -08:00
Richard Purdie
f54168be7e ldconfig-native: Add LIC_FILES_CHKSUM
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-24 10:04:00 +00:00
Richard Purdie
a1735511fd poky-image.bbclass: Set LIC_FILES_CHKSUM
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-24 09:51:44 +00:00
Dongxiao Xu
67d1fd9869 distro_tracking: Add RECIPE_LAST_UPDATE info
Also removed distro tracking fields that recipe no longer exists.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-24 09:48:50 +00:00
Richard Purdie
8c3a7ebac8 rootfs_ipk: The most recent opkg errors upon file overwrite. Until we fix package conflicts, disable this for now
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-24 01:12:56 +00:00
Richard Purdie
cab983b0d0 qemuimage-testlib: Improve quoting causing problems under certain circumstances
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-24 01:03:47 +00:00
Richard Purdie
6e63f4ea75 linux-yocto: Fix branch name on behalf of Bruce after recent renaming
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-23 23:59:35 +00:00
Richard Purdie
11833f7002 qemuimage-testlib: Fix the check for running qemu processes
Previously, any active command containing the word "qemu" including
in the command path would trigger a "success" result for detecting
the qemu process. This change fixes the check to search for commands
starting with "qemu" and ignores pathnames.

It also shortens the timeout for the qemu process to appear to 10
seconds. If it doesn't appear in that time there is always a problem.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-23 17:28:47 +00:00
Richard Purdie
df74cf25f0 qemuimage-testlib: Ensure TOPDIR/BUILDDIR are set
The recent environment changes mean TOPDIR/BUILDDIR need to be exported
specifcially to the enviromnent so the qemu scripts can find the correct
build directory.

Without this, qemu can fail to run.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-23 17:27:14 +00:00
Paul Eggleton
d21090934d qmmp: fix dependencies and packaging
* Don't drag in all of Qt as runtime dependencies
* Use cmake instead of qmake. This ensures plugins are configured correctly.
* Split out vorbis and mad input plugins into separate packages
* Fix main package to include an output plugin and various other base files.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-23 16:15:05 +00:00
Paul Eggleton
db2389ef78 quicky: fix Qt4 runtime dependencies
Avoid dragging in all of Qt4

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-23 16:14:31 +00:00
Paul Eggleton
ba3e466d8c fotowall: fix runtime Qt4 dependencies
Fix the runtime dependencies of fotowall so it doesn't drag in the whole of
Qt4. As a bonus the appropriate Qt image plugins for loading jpeg, gif & tiff
files are now installed with fotowall making it actually usable.

Fixes [BUGID: #524]

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-23 16:14:17 +00:00
Paul Eggleton
6a3b7c65e9 qmake2.bbclass: add space to end of DEPENDS_prepend
There needs to be a space at the end of DEPENDS_prepend or otherwise it can
collide with the contents of DEPENDS. The OE version of this file has this.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-23 16:13:53 +00:00
Scott Garman
b3a195d1e8 binutils*.inc: Recipe format cleanup
Cleanup some simple whitespace / line break issues.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-12-23 16:07:00 +00:00
Scott Garman
674f999540 binutils: delete unused patches
These patches are not used by any current binutils recipe.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-12-23 16:06:45 +00:00
Jiajun Xu
236faced1d qemuimage-testlib: Add check for existence of image and correctness of ip address
Fixes [BUGID #612, #611]

Add check for existence of image to be tested in qemuimage-testlib.
This ensures that sanity test returns failure immediatly when there is
no image found. And also add check for the correctness of ip address.
If the ip address returned by function Test_Fetch_Target_IP is 0, it
means qemu starts up failed and no valid ip address found.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-12-23 15:52:37 +00:00
Saul Wold
2ed75cff6a apr-util: add --without-odbc to EXTRA_OECONF
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 15:52:15 +00:00
Saul Wold
b0a2c6da95 unifdef: add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 15:52:06 +00:00
Saul Wold
7ac4b54270 qemu-helper: add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 15:51:56 +00:00
Richard Purdie
6dca14314a eglibc: Only package ld.so.conf, not /etc/rpc which then conflicts with netbase
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-23 15:50:31 +00:00
Saul Wold
21bc438c78 cross-localedef: add LIC_FILES_CHKCSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 15:26:53 +00:00
Saul Wold
89fc010c06 linux-yocto: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:25 +00:00
Saul Wold
45e026555d xserver-xf86: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:25 +00:00
Saul Wold
564b7781f2 gtk: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:25 +00:00
Saul Wold
e553c793f5 qemu-helper: Add LIC_FILE_CHKSUMS
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:24 +00:00
Saul Wold
84c5aacadd gdb: Add LIC_FILE_CHKSUMS
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:24 +00:00
Saul Wold
cd3708abfd bootst-jam: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:24 +00:00
Saul Wold
3fbbb6975e tzcode: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:24 +00:00
Saul Wold
6af087704b unifdef Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:24 +00:00
Saul Wold
4df34661bd python: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:24 +00:00
Saul Wold
2b95a00b71 icon-naming-utils: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:23 +00:00
Saul Wold
46adc1ef47 desktop-file-utils: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:23 +00:00
Saul Wold
4773a66b90 guilt: add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:23 +00:00
Saul Wold
4b53a2ee5d python-pygobject: remove older install of generate-constants and add BBCLASSEXTEND
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:31:23 +00:00
Saul Wold
8b08c0d398 perl: Add LIC_FILES_CHKSUM to native recipe
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:28:22 +00:00
Saul Wold
635fd19da2 xf86-input-vmmouse: add COMPATIBLE_HOST set to x86*
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:28:22 +00:00
Saul Wold
8330be8071 db: add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:28:22 +00:00
Saul Wold
3f6b329c1e connman: Update to 0.64 to solve build issue with .37 kernel headers
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:28:22 +00:00
Saul Wold
5929ead20b apr: add configure for NODELAY to mips-common
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:28:22 +00:00
Saul Wold
1c75a5df68 insane.bbclass: make LIC_FILES_CHKSUM failures report errors
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:28:22 +00:00
Bruce Ashfield
06b7c2e9a9 linux-yocto: add dropped qemuppc configuration
The _ to - mass change mangled a config file name, which was
dropped from the update. This adds the fixed file back to the
meta branch of the kernel.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-23 14:28:22 +00:00
Zhai Edwin
983bd9a77e qemu: Add some checks before enabling KVM
Check the missing modules and permission with informative output.

[BUGID #599] got fixed.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-23 14:28:22 +00:00
Zhai Edwin
3aa1cfc5a8 matchbox-stroke: Make as singleton
Multiple matchbox-stroke instances would occupy whole screen and cause end user
confusing. Making matchbox-stroke singleton is one work around.

This patch allow only one instance of matchbox-stroke based on some mechanism
in matchbox-desktop.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-23 14:28:21 +00:00
Zhai Edwin
4efbda8439 matchbox-keyboard: Make as singleton
Multiple matchbox-keyboard instances would occupy whole screen and cause X
window segfault. Making matchbox-keyboard singleton is one work around.

This patch allow only one instance of matchbox-keyboard based on some mechanism
in matchbox-desktop. In future, an applet and GTK-IM modules in
matchbox-keyboard can be used to automatically map/unmap the virtual keyboard
on demand.

[BUGID #509] got fixed.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-23 14:28:21 +00:00
Bruce Ashfield
9bf19c0e1b linux-yocto: update to 2.6.37-rc6
Fixes [BUGID #596]

Updating the SRCREVs of the target branches in the linux-yocto
development kernel to point to 2.6.37-rc6 content.

At this point branches have been switched from _ to - and we
are able to remove the old branch names.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-23 14:28:21 +00:00
Bruce Ashfield
88d27ef448 qemu: match kernel headers to preferred kernel
As the yocto-kernel advances, the libc headers must also
advance. This commit fixes the SRC_URI and SRCPV to work
properly with the latest linux-yocto kernel. It also switches
the qemu* targets to prefer this libc recipe.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-23 14:28:21 +00:00
Bruce Ashfield
f93147633e linux-yocto-stable: fix qemux86 branch name
The mapping of qemu to kernel branch name for the stable
kernel had a small leak from the devel kernel. Nothing
broke since qemux86 prefers the 2.6.37 kernel and this was
hidden.

This fixes the mapping for anyone who does want a 2.6.34 based
qemux86 kernel.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-23 14:28:21 +00:00
Saul Wold
b241f633a3 apr: update x86_64 site config file
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:20:50 +00:00
Saul Wold
66fd56ddf9 apt: update use-host patch to support x86_64
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-23 14:20:50 +00:00
Darren Hart
585c506cd8 send-pull-request: allow users to select git-send-email or sendmail
Some users find it easier to use their git sendmail setup over a local
MTA to deliver mail with the send-pull-request script. If you would
like to do this, please read the git-send-email man page and set
the relevant entries in your git config. In particular, be sure to
set sendemail.from to avoid being asked each time.

Reported-by: Khem Raj <raj.khem@gmail.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-12-23 14:20:50 +00:00
Tom Zanussi
eca21e6359 meta-emenlow: update to the new BSP layout
This modifies the meta-emenlow BSP layer to reflect the new BSP
standard layout as defined in the latestYocto BSP Developer's Guide.

There's no change in functionality here - this simply moves things
around, adds a README, and makes the SRCREVs local.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-12-23 14:20:50 +00:00
Joshua Lock
ab83f5f266 bitbake/depexp: fix early exit
Stupdi typo/thinko from me had depexp exiting once recipes had parsed
as I'd used a return the while loop where I'd meant a continue...

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-22 18:36:37 +00:00
Richard Purdie
b1a2255b2d opkg: Update to svn r590 to fix symbolic link issues
See the longlinksfix patch for details but symlinks over 100 chars long
were broken in sdk tarballs and its due to problems in the inbuilt tar in
libbb in opkg.

The patch fixes this and switched to svn r590 which already had partial fixes.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-22 18:30:24 +00:00
Joshua Lock
01cb362dd0 owl-video-widget: bump PR after recent patch
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-22 11:32:15 +00:00
Richard Purdie
642dd32920 poky.bbclass: Move mirrors/premirrors to poky.conf
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-21 17:18:48 +00:00
Richard Purdie
3bda5b1301 bitbake/fetch: Fix fetch error
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-21 15:15:42 +00:00
Joshua Lock
9c4e63b18b gnome-doc-utils: use BBCLASSEXTEND for native variant
A recent patch from me created a native variant of gnome-doc-utils with a new
recipe file. This is uneccesarry. BBCLASSEXTEND is the brighter future.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-21 14:41:40 +00:00
Richard Purdie
68030f43f8 sanity.bbclass: Add check for '.' in PATH and error if found (see bug #572)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-21 14:06:41 +00:00
Scott Rifenbark
a034fad8d0 documentation/bsp-guide/bsp.xml: Spell checked the file.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:46 +00:00
Scott Rifenbark
94f7dd2629 documentation/bsp-guide/bsp.xml: Updated Linux Kernel Configuration section.
Another round of feedback from Tom Z applied.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:46 +00:00
Scott Rifenbark
1d671c41df documentation/bsp-guide/bsp.xml: replaced the append file line in the template
Section 1.1 has the example filesystem layout.  The last line of the
example filesystem layout had linux-wrs.  It has been changed to
linux-yocto-stable.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:45 +00:00
Scott Rifenbark
6224858276 documentation/bsp-guide/bsp.xml: Updated the Linux Kernel Configuration section
These changes are another round of edits from Tom Z.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:45 +00:00
Scott Rifenbark
885dbc7364 documentation/bsp-guide/bsp.xml: Added reference to Kernel documentation.
I added a reference to the specific section in the kernel documentation
that describes how to create a BSP Based on an existing similar
BSP.  The tools we have that create the PDF manuals from the DocBook
XML do not support cross-referencing to another PDF manual.  So, I was
left with adding a clunky text-based reference to the section and a link
to the docs page on the web-site.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:45 +00:00
Scott Rifenbark
3ad6173f78 documentation/bsp-guide/bsp.xml: Updated Linux Kernel Configuration section.
I have re-written this section extensively based on a phone call with
Tom Z.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:45 +00:00
Scott Rifenbark
5b5fe28ee0 documentation/bsp-guide/bsp.xml: Updated Display Support Files section.
Added wording to indicate this directory as optional if the BSP had
special requirements for graphics support.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:45 +00:00
Scott Rifenbark
6534947d6b documentation/bsp-guild/bsp.xml: Updated Miscellaneous Recipe Files section
Found a mis-spelling that I corrected.
Also added wording to indicate this directory is optional.
Put in a note telling that defaults are set if a formfactor is
not found.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:45 +00:00
Scott Rifenbark
8505df2614 documentation/bsp-guide/bsp.xml: Updated Layer Configuration File Section
Added wording to be sure user knows to replace "bsp" and "_bsp" in the
boilerplate template example with the actual BSP name (i.e. <bsp_name>).

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:45 +00:00
Scott Rifenbark
8e947f92ad documentation/bsp-guide/bsp.xml: Changed numbering scheme.
It makes more sense to have the sections that describe the various
parts of the common structure as sub-sections to that.  That pulls
out the click-through licensing into a higher-level section.
This is better overall section organization.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:45 +00:00
Scott Rifenbark
27ff33fce5 documentation/bsp-guide/bsp.xml: Commented out three sections.
There are some sections now that don't correspond one-to-one with the
standard file structure presented in section 1.1.  So I am commenting them
out for now.  Since I am still in the process of iterating on this
manual I don't want to just delete the information.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:44 +00:00
Scott Rifenbark
7f18ffe313 documentation/bsp-guide/bsp.xml: Updated Linux Kernel Configuration section.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:44 +00:00
Scott Rifenbark
23f5c9482b documentation/bsp-guide/bsp.xml: Added a Display Support Files section.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:44 +00:00
Scott Rifenbark
6eed8ff107 documentation/bsp-guide/bsp.xml: Removed the recipes-bsp/formfactor directory from the common structure.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:44 +00:00
Scott Rifenbark
eddd579546 documentation/bsp-guide/bsp.xml: Added a Miscellaneous Recipe Files section
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:44 +00:00
Scott Rifenbark
7527f7597d documentation/bsp-guide/bsp.xml: Updated the Hardware Configuration Options section
I combined the tuning stuff into this section.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:44 +00:00
Scott Rifenbark
1e68ee5b65 documenation/bsp-guide/bsp.xml: Updated the Layer Configuration File section.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:44 +00:00
Scott Rifenbark
b3b9476dc5 documentation/bsp-guide/bsp.xml: Updated the Pre-built User Binaries section.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
e71027eaf2 documentation/bsp-guide/bsp.xml: Added the README section.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
0ab1b2c31c documentation/bsp-guide/bsp.xml: Added new "License Files" section.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
cd9dc32945 documentation/bsp-guide/bsp.xml: Updated the introductary paragraph to the sections.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
581bf7fd7f documentation/bsp-work/bsp.xml: Added crownbay BSP example to section 1.1.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
6e82f12f79 documentation/bsp-guide/bsp.xml: Updated common form for file structure.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
91cf2634c7 documentation/bsp-guide/bsp.xml: Inserted text before the file structure example
Added some text in section 1.1 explaining that the file structure example
is an example and that the file structure of specific BSPs could differ.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
49ebf6b85c documentation/bsp-guide/bsp.xml: Created better BSP example base names
Lowered the "E" for the "meta-emenlow" BSP.
Removed the "oaktrail" one, which is an Intel code name and replaced
it with "beagleboard", which is a non-Intel board.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
e2b180ab54 documentation/bsp-guide/bsp.xml: Added information about /binary
Added information in the section about Pre-built User Binaries.
In the first paragraph I stated that this directory would contain
the Application Development Toolkit and minimal live images when the
BSP is "tarred" up and placed on the Yocto Project website.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
775b4aea12 documentation/bsp-guide/bsp.xml: Fixed typo
Two lines had been earlier turned into a single sentence but the
capitalization of the second line still remained.
I switched "The" into "the".

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
5405b3de3e documentation/bsp-guide/bsp.xml: Added note qualifying BSP file structure.
Inserted a note that states the BSP file structure shown is an example
only and that a given BSP could have different files.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:43 +00:00
Scott Rifenbark
7e4b55b098 documentation/bsp-guide/bsp.xml: Changed meta naming convention
Replaced meta-<bsp_name>/recipes-<bsp_name> with meta-<bsp_name>/recipes-bsp.
This conforms to how the BSP standard will be working.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-21 12:49:42 +00:00
Richard Purdie
4cd40dbaa8 Revert "consolekit: Update to 0.4.3" - was a duplicate commit
This reverts commit 47a1f50d17.
2010-12-21 11:48:50 +00:00
Saul Wold
127b82bdb6 task-poky-clutter: remove clutter-box2d from default build
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-21 09:29:14 +00:00
Saul Wold
5f50a9ff90 libacpi: remove patch that is no longer needed by upstream
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-21 09:29:13 +00:00
Saul Wold
7b93c57fa3 python-pygobject: add --disable-introspection
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-21 09:29:13 +00:00
Saul Wold
0077ae62e9 python-pygobject: Fix SRC_URI checksums
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-21 09:29:13 +00:00
Saul Wold
e591958957 puzzles: Fix SRC_URI checksums
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-21 09:29:13 +00:00
Saul Wold
d1a225cf4b patch: Fix SRC_URI[sha256]
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-21 09:29:13 +00:00
Saul Wold
5cfc36bea4 web-webkit: Updated SVN Rev to 130 & added LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-21 09:29:13 +00:00
Saul Wold
fbf360b930 gtk-theme-darkilouche: moved to meta-extras
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-21 09:29:12 +00:00
Dongxiao Xu
cb1f3e0881 connman-gnome: Remove the applet and properties desktop icons
Remove the applet and properties desktop icons, since the
connman-properties program should be invoked by tool bar,
while connman-applet is launched by autostart.

This fixes [BUGID #506]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-21 09:29:12 +00:00
Bruce Ashfield
eb74a0506a linux-yocto: remove or adjust to _ in branch names
The existing 2.6.34 kernel tree uses _ where poky typically
uses -. This is a historical artifact, since working with
gnu Make and shells means avoiding - is wise. The opposite
is true in Yocto.

To avoid using the _ reserved character wherever possible
we can simply remove it from the branch names in the
new 2.6.37 kernel, but to keep the content stable in the
0.9 2.6.34 kernel, we map _ to - for the purposes of
packaging.

To further faciliate this switch, the branch names no
longer need to be shortened in the KMACHINE mappings, but
can be fully specified and the tools/processing adapt as
required. This gives us the flexibility to map multiple
boards to a single branch for building.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-21 09:29:12 +00:00
Darren Hart
703148fde6 send-pull-request: Use current date in mail headers
Some users experience problems viewing the pull requests as a sequential
mail series due to the script using the git commit date for the patches
and today's date for the cover letter.

Address this by renaming the email Date: header to Old-Date: and adding
a new Date: header with a current timestamp.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Reported-by: Gary Thomas <gary@mlbassoc.com>
Cc: Josh Lock <josh@linux.intel.com>
2010-12-21 09:29:12 +00:00
Scott Garman
2d65d832dd gettext: Add source and license checkums
Also clean up whitespace issues.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-12-21 09:29:12 +00:00
Joshua Lock
a09fbe3c68 gnome-doc-utils: ensure a native variant exists for document generation
gnome-doc-utils-native must be available to do the build time generation of
documentation however most gnome projects will do a pkgconfig check for the
host version of gnome-doc-utils.

This patch adds gnome-doc-utils-native and makes gnome-doc-utils depend on it
so that recipe writers can just add gnome-doc-utils to their DEPENDS and the
system will do the right thing.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-21 09:29:11 +00:00
Joshua Lock
3b5461535f gnome-common: add native variant via BBCLASSEXTEND
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-21 09:29:11 +00:00
Joshua Lock
c914a02dc7 gst-plugins: fix for make 3.82
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-21 09:29:11 +00:00
Lianhao Lu
6a31a2a89e meta-environment: Added package of meta-environment-${TARGET_ARCH} for
environment files.

[BUGID #565] Fixing bug #565, added package of
meta-environment-${TARGET_ARCH} for environment files used by
cross-canadian toolchain.

Also corrected the situation of empty config site file for target.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2010-12-21 08:53:20 +00:00
Kevin Tian
05963b0a1b runqueue.py: set BB_TASKHASH approriately after moving to fork()
In previous exec() model, cooker is re-initialized from scratch with environmental
variable exported accordingly. Now in fork() model, environmental variables are
not exported again, and thus original method to export BB_TASKHASH doesn't apply
now which breaks all sstate packages. Now we can set data variable directly instead.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-21 08:48:17 +00:00
Richard Purdie
67d6814b77 rm_work: With the recent pseudo changes, this no longer makes sense
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-21 00:59:17 +00:00
Richard Purdie
2d1007b33f bitbake/fetch: Only checksum downloads when they're first downloaded and a checksum is present
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-21 00:52:10 +00:00
Richard Purdie
52aada2eaf bitbake/runqueue.py: Somehow the python environment mapping is failing so do it manually
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-21 00:51:24 +00:00
Mark Hatle
60ccdaa0ea poky-init-build-env: Enable all POSIX shells
Update the script so that it will work in more then just bash.  If bash
is not used, it will assume the PWD is the Poky location.  (This is because
BASH_SOURCE is a bash-ism, and equivalent functionality is not available in
other shells).

This has been verified with dash (see comment in the code), ksh, zsh and
of course bash.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-12-20 23:00:51 +00:00
Mark Hatle
86b6b09337 poky-init-build-env: Breakup the environment script
Break up the scripts/poky-env-internal into two parts:
  1) Chunk that is sourced and sets up the environment
  2) Chunk that is executed and configures the build directory

OEROOT configuration was moved into the initial poky-init-build-env script.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-12-20 23:00:25 +00:00
Richard Purdie
9975c00c1a perl-native: Make the sstate checksum for perl depend on the hardcoded path until this is fixed
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 22:45:01 +00:00
Richard Purdie
2e94e9a4fe kernel.bbclass: Use KERNEL_IMAGE_BASE_NAME variable instead of the expanded equivalent. Fixes sstate rebuild issue
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 21:13:26 +00:00
Richard Purdie
1e40bc8272 rootfs_rpm: Add --ignoresize option when performing DB operations on a rootfs
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 20:38:11 +00:00
Richard Purdie
0fb111b7ea fakeroot/fakechroot: These have been replaced by pseudo, move to meta-extras
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 20:35:00 +00:00
Paul Eggleton
3f814ff9c4 sstate.bbclass: delete sstate files when doing cleanall
This fixes the cleanall task to actually delete the sstage cache files. This
was not working correctly before due to attempting to use the current task's
hash in the package file name to be deleted, which of course is the hash of
the cleanall task when doing cleanall. The siginfo files are now deleted as
well.

Signed-off-by: Paul Eggleton <paul.eggleton@intel.com>
2010-12-20 17:54:16 +00:00
Richard Purdie
d4ba59c87e bitbake/fetch: Add missing return so if a checksum isn't present, it isn't checked
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 17:38:03 +00:00
Richard Purdie
7abdf3e5c3 bitbake/fetch: Checksum validity fixes
If the checksum check failed, the .md5 stamp file would still have been created
meaning subsequent builds would proceed with the corrupt file. Reorder the calls
to avoid this. Also raise a specific error for the checksum not specified error
case.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 16:04:51 +00:00
Richard Purdie
cf410542f9 shasum-native: Drop recipe since we have internal handling in python for this now
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 15:46:16 +00:00
Richard Purdie
edd290bd1a base/utils.bbclass: Drop former checksum code now bitbake is handling this for us
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 15:34:50 +00:00
Yu Ke
b8d69d6f6e FetchData: add SRC_URI checksum
This patch add the per-recipe SRC_URI checksum verification.

- SRC_URI format
The format of SRC_URI checksum follow OE definition:

1. SRC_URI has single src
SRC_URI = "http://some.domain/file.tar.gz"
SRC_URI[md5sum] = "xxxxxxxxxxxxxxx"
SRC_URI[sha256sum] = "xxxxxxxxxxxxxxxxxxxxxx"

2. SRC_URI has multiple src, every src need specify name
SRC_URI = "http://some.domain/file1.tar.gz;name=name1 \
           http://some.domain/file2.tar.gz;name=name2 "
SRC_URI[name1.md5sum] = "xxxxxxxxxxxxxxx"
SRC_URI[name1.sha256sum] = "xxxxxxxxxxxxxxxxxxxxxx"
SRC_URI[name2.md5sum] = "xxxxxxxxxxxxxxx"
SRC_URI[name2.sha256sum] = "xxxxxxxxxxxxxxxxxxxxxx"

- SRC_URI checking invocation:
the checksum checking is invoked in do_fetch phase,
so it can be invoked manually by

# bitbake -f -c fetch <recipe_name>

if recipes has no SRC_URI checksum item, bitbake will show warning:
"
WARNING: Missing SRC_URI checksum for xxxx.tar.gz, consider to add
SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
"
thus recipe author can add it to recpie file after SRC_URI

- control variable BB_STRICT_CHECKSUM
when SRC_URI checksum is missing, this variable decide pass or not
if BB_STRICT_CHECKSUM = "1", bitbake should fatal in this case, otherwise bitbake just pass

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-20 15:24:52 +00:00
Paul Eggleton
670c18c3ef sanity.bbclass: add check for creation of long filenames
Detect and fail if filesystem in use for TMPDIR or SSTATE_DIR has an
unreasonably short file name length limit (eg. eCryptFS). This can cause
"file name too long" errors during poky builds (e.g. when writing sstate
files for packages with a git revision as the version).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-20 14:54:13 +00:00
Paul Eggleton
1993ca1f87 sanity.bbclass: allow minimisation of impact of more invasive sanity checks
Add a mechanism to avoid running more invasive checks every time bitbake is
invoked. Adds a file in conf/ (i.e. under user's build directory) that
tracks a new variable SANITY_VERSION (set in sanity.conf) as well as TMPDIR
and SSTATE_DIR, allowing checks to be run when these are changed.

Fixes [BUGID #562]

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-20 14:54:02 +00:00
Paul Eggleton
2ec7757a48 sanity.bbclass: make indenting consistent
Use four spaces throughout the file

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-20 14:51:22 +00:00
Kevin Tian
834f0c5a8d siggen.py: print taskname when seeing mismatched hash in cache
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-20 14:50:22 +00:00
Yu Ke
63dcec95b7 distro_tracking: change owner of some recipe
People already help Kevin to maintain the recipes he owned,
so change the tracking field owner for more accurate tracking.

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 14:48:33 +00:00
Yu Ke
2e73759ca5 distro_tracking: Fix name inconsistency
in distro_tracking_fields.inc, my name has two version: "Ke Yu <ke.yu@intel.com>",
and "Yu Ke <ke.yu@intel.com>". this patch unify it to be "Yu Ke <ke.yu@intel.com>".

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 14:48:29 +00:00
Lu Jingdong
995d4679d4 ed: Change bin path
LSB states that ed should be in /bin/ and change bin path of ed from
usr/bin into bin for LSB.

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 14:45:29 +00:00
Scott Rifenbark
eac0898c4e documentation/yocto-project-qs/yocto-project-qs.xml: Fixed grammar problem
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 14:43:56 +00:00
Scott Rifenbark
ba3b0db61f documentation/kernel-manual/figures/kernel-architecture-overview.png: updated figure
Updated the figure to not use "preempt_rt".  Now uses "preempt-rt".

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 14:41:44 +00:00
Richard Purdie
1f3e313fd5 bitbake Revert bitbake exec() and go back to fork() for performace wins (first draft)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-17 18:25:06 +00:00
Richard Purdie
81f3d46fa5 pseudo: Fixup for cache problem
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-17 16:14:08 +00:00
Richard Purdie
3abc81b798 bitbake.conf/poky-env-internal: Adjust PSEUDO variables to match pseudo enabled/disabled modes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-17 16:14:07 +00:00
Richard Purdie
f04e6a59b4 scripts/bitbake: Add wrapper script which ensures pseudo is built and available
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-17 16:14:06 +00:00
Richard Purdie
38a4698bb3 poky-default-revisions.inc: Update pseudo revision to include exec/fork improvements and speed optimisations
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-17 15:48:27 +00:00
Richard Purdie
68ddced930 poky-env-internal: Search scripts before the bitbake directory so we can override bitbake's main script
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-17 13:25:11 +00:00
Richard Purdie
a86f960f65 bitbake/runqueue: Revert previous setscene noexec changes and ensure setscene stamp exists for setscene noexec tasks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-17 10:47:02 +00:00
Richard Purdie
56ef2a01be bitbake/runqueue: Clean up message log levels
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-17 10:47:02 +00:00
Alex deVries
b7b40edddf Update to the latest swabber.
Signed-off-by: Alex deVries <alex.devries@windriver.com>
2010-12-17 10:47:02 +00:00
Alex deVries
84263dbf43 Calculate CCACHE_DIR by calling host's ccache config.
Signed-off-by: Alex deVries <alex.devries@windriver.com>
2010-12-17 10:47:02 +00:00
Alex deVries
4c72af62b9 Swabber's update_distro automatically updates the blob now.
Signed-off-by: Alex deVries <alex.devries@windriver.com>
2010-12-17 10:47:02 +00:00
Alex deVries
b544d01c23 Stop using hardcoded paths, use new Ubuntu and generic filters.
Signed-off-by: Alex deVries <alex.devries@windriver.com>
2010-12-17 10:47:02 +00:00
Saul Wold
8021200c3e lsbsetup: add missing directory install
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-16 17:55:14 -08:00
Nitin A Kamble
137286b36c distro_tracking: update status for upgraded recipes
distro_tracking: chaning owner of python-pygtk
As the python-pygtk's version is tightly connected to the gtk+ recipe version.
changing the recipe ower to Edwin who is the gtk+ recipe owner.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-16 17:55:14 -08:00
Saul Wold
111146c456 distro_tracking_fields: Update entries with corrections
* fix VERSION Misspellings and add missing recipe versions

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-16 17:55:03 -08:00
Saul Wold
3a569bb2d8 Revert "gst-plugins: fix for make 3.82"
This reverts commit 06570b84e4.
These versions of gst-plugins-* already have been fixed upstream
for the make 3.82 problems, so this patch detects already applied
and bails

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-16 17:48:11 -08:00
Joshua Lock
ac43646986 gst-plugins-base: add avahi to DEPENDS
Base plugins try to link against avahi so ensure it is available

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-16 17:36:01 +00:00
Joshua Lock
06570b84e4 gst-plugins: fix for make 3.82
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-16 17:36:01 +00:00
Joshua Lock
258f8ceed2 contacts: fix for make 3.82
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-16 17:36:01 +00:00
Joshua Lock
3f64aed210 dates: fix for Make 3.82
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-16 17:36:01 +00:00
Joshua Lock
3188c6aa0f web-webkit: fix for make 3.82
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-16 17:36:01 +00:00
Joshua Lock
a9ce04f22d owl-video-widget: fix Makefile for super strict make 3.82
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-16 17:36:00 +00:00
Joshua Lock
67622b41cb libowl-av: fix for Make 3.82
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-16 17:36:00 +00:00
Joshua Lock
8fc07ca039 gstreamer: fix to comply with make 3.82's stricter parser
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-16 17:36:00 +00:00
Richard Purdie
ece252c42a udev: Add rule to create /dev/fb to fix igep0020 platform X boot issue
Integrate patch from david.barksdale@adcedosolutions.com to ensure
/dev/fb exists which is required by the igep00200 platform to start X

[BUGID #541]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-16 17:28:06 +00:00
Nitin A Kamble
d9314e1549 distro_tracking: update status for upgraded recipes
distro_tracking: chaning owner of python-pygtk
As the python-pygtk's version is tightly connected to the gtk+ recipe version.
changing the recipe ower to Edwin who is the gtk+ recipe owner.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-16 17:20:08 +00:00
Nitin A Kamble
3df335abd8 python-pygobject: upgrade from 2.21.1 to 2.27.0
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-16 17:18:41 +00:00
Nitin A Kamble
d476a237ef gcc_4.5.1: Move the license related information in the right file
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-16 17:18:20 +00:00
Saul Wold
3faa3c7f79 distrodata: fix message
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-16 17:18:07 +00:00
Nitin A Kamble
d436d3bf49 eglibc: organize the recipes lic and other meta data in common file
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-16 17:17:53 +00:00
Darren Hart
310b6e4df7 README.hardware: Add Atom PC image flashing documentation
Cover the basics of flashing images to physical media for the Atom PC MACHINE,
as well as dealing with BIOSs that can only boot USB media in USB-ZIP mode.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-12-16 17:14:50 +00:00
Richard Purdie
6ae9a633c4 world-broken.inc: Fix override values to include correct prefix
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-16 16:10:48 +00:00
Nitin A Kamble
31d804f320 fstests: upgrade to svn revision #426
Also add license checksums, update PR & license fields

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-16 15:53:10 +00:00
Nitin A Kamble
a7f3a2fa27 patch-2.6.1: implement new patch recipe with latest upstream
This commit patch recipe based on latest upstream code. This is GPLv3
code based. Hence the earlier patch-2.5.9 recipe is left intact for
GPLv2 needs.

Patches from 2.5.9 patch recipe are rebased to this new recipe except
these exceptions:

unified-reject-files.diff: dropped
  This patch implements this new parameter:
     "  --unified-reject-files  Create unified reject files."
  And upstream has implemented very similar parameter like this:
     "  --reject-format=FORMAT  Create 'context' or 'unified' rejects."
  Hence this patch is dropped for the 2.6.1 recipe.

global-reject-file.diff: rebased
  This patch is rebased to the newer upstream codebase.

install.patch: dropped
  Newer upstream code now includes code form this patch.

debian.patch: dropped
  This huge (10k lines) patch was specific for 2.5.9 version of GPLv2 patch.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-16 15:53:09 +00:00
Nitin A Kamble
f528a1530e patch_2.5.9: clean up the recipe
Earlier the recipe was using 2.5.4 tar ball and a patch for upgrading to
2.5.9. Replaces these with pointer to 2.5.9 tarball.

Also noted that both 2.5.4 & 2.5.9 are GPLv2 sources.

Updated checksums and license of the recipe

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-16 15:53:09 +00:00
Dongxiao Xu
e9d82dfd95 gst-ffmpeg: upgrade to version 0.10.11
Derived the recipe from openembedded.

For poky, we use the ffmpeg lib contained in the package, while
openembedded use the system ffmpeg library.

Removed the PATH_prepend since the latest version of gst-ffmpeg
install program will be called with "-s" unless expilcitly with
"make install-strip".

Update recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-16 15:53:09 +00:00
Jessica Zhang
e78d586006 Introduce SDK_VERSION which is based on DISTRO_VERSION for fixing bug 586
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2010-12-16 15:53:09 +00:00
Joshua Lock
fcd14a2307 external-python-tarball: add chrpath to the tarball
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-16 15:53:09 +00:00
Joshua Lock
c2f93b959e chrpath: add nativesdk variant
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-16 15:53:09 +00:00
Liping Ke
ae4f5c942e Add extra parameters options for poky-qemu scripts
In order to support qemu user's flexibility requirement, we add extra
parameter options, user can add extra params such as "<-m 256>"
in poky-qemu script command.

Signed-off-by: Liping ke <liping.ke@intel.com>
2010-12-16 15:53:09 +00:00
Saul Wold
fded7535b7 distrodata: add eventhandler for checkpkg task
Change group column to Owner Column for checkpkg output

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-16 15:53:09 +00:00
Saul Wold
605f8c9655 distro_tracking: fix VERSION Misspellings and add missing recipe versions
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-16 15:53:09 +00:00
Mark Hatle
af3be580da recipes-multimedia: Update SUMMARY and DESCRIPTIONS
Add SUMMARY and update DESCRIPTIONS as appropriate

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-12-16 15:53:09 +00:00
Mark Hatle
5c850643ed recipes-kernel: Update SUMMARY and DESCRIPTION
Add missing SUMMARY and updated DESCRIPTION fields if necessary

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-12-16 15:53:09 +00:00
Mark Hatle
cda749d2b8 recipes-graphics: Add SUMMARY and update DESCRIPTION
Add the missing SUMMARY fields and update DESCRIPTION fields if necessary

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-12-16 15:53:08 +00:00
Mark Hatle
04e811c2a8 recipes-gnome: Add Summary and Description information
Add Summary and update description information as necessary.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-12-16 15:53:08 +00:00
Mark Hatle
f992d6b434 recipes-extended: Add Summary information
Add Summary information and update descriptions as necessary.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-12-16 15:53:08 +00:00
Mark Hatle
8bcb64c073 recipes-devtools: Add Summary information
Add Summary information and update Descripts as necessary.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-12-16 15:53:08 +00:00
Mark Hatle
2e0a8afe98 avahi: Fix typo in summary
Fix a simple typo in the summary.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-12-16 15:53:08 +00:00
Saul Wold
2c37d41ab1 Add glossary for PACKAGE_DESCRIPTION and PACKAGE_SUMMARY for binary packaging
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-16 15:52:50 +00:00
Kevin Tian
cc8ea76d06 kernel.bbclass: Set vardepsexclusive for KERNEL_IMAGE_BASE_NAME
Exclude the DATETIME variable from the KERNEL_IMAGE_BASE_NAME variable.

This avoids the last road block linux-yocto for sstate.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2010-12-16 15:37:40 +00:00
Kevin Tian
c9df637486 kernel.bbclass: Rename do_deploy so the function can be overridden in recipes
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2010-12-16 15:36:15 +00:00
Kevin Tian
aa1a780d84 siggen.py: make sure stamp directory existing
or else "bitbake -S" from scratch may report "No such file or directory" error.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-16 15:33:44 +00:00
Paul Eggleton
15f45b314c openssl: restore -Wall flag
The -Wall flag was unintentionally removed from the end of the CFLAG var in
089612794d by me. This patch puts it back in.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-16 15:30:56 +00:00
Jiajun Xu
b99fd0374e sanity.bbclass: Check if DISPLAY is set when IMAGETEST is set
Fixes [BUGID: 594]

In imagetest-qemu.bbclass, we depend on DISPLAY to start qemu in
a X desktop. When user wants to run qemu sanity test, we need to
check if the variable is set.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-12-16 15:27:14 +00:00
Richard Purdie
ace52b0da3 bitbake/runqueue.py: We should just failoutright in scenequeue for noexec tasks, not skip them so stamps are created
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-16 15:14:13 +00:00
Richard Purdie
e497b89cf3 scripts/poky-qemu: Improve tmp layout assumption
If someone has changed TMPDIR in local.conf to a non-standard location, the
poky-qemu script currently doesn't handle this and assumes if BUILDDIR is set,
$BUILDDIR/tmp will exist.

Its simple to check if this exists and if not, to ask bitbake where the
directory is so this patch changes the code to do that.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-15 23:22:16 +00:00
Kevin Tian
bb783afd4d runqueue.py: use correct task ID when checking validity of setscene tasks
sstate hash validation is done at initialization of RunQueueExecuteScenequeue.
However the index of 'valid' list returned from the validation doesn't
correspond to setscene task ID. It's just an intermediate namespace between
runqueue and sstate hash func. Use it as setscene task ID fully mess the flow.
Previously this doesn't cause trouble because all setscene tasks are passed. Commit
58396a5d24 add 'noexec' concept to setscene
tasks which grabs some tasks out of the list and thus trigger this problem

Without this fix there're ~50 recipes (gzip-native, glib, ...) rebuilt weirdly
with a minimal build, even though existing sstate packages could accelerate them.

there's another typo using wrong task ID in a debug message which further hide
this issue

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-14 22:40:16 +00:00
Paul Eggleton
5fadc9b8be poky.conf: adjust variable whitelisting to fix sstate checksums
After some analysis of task dependencies I have adjusted the global whitelist
used to filter out variables that would otherwise cause unwanted changes in
task checksums for sstate packages.

The following changes have been made to BB_HASHBASE_WHITELIST:

 * Fix typo: FILESEXTRAPATHS not FILESEXTRPATHS
 * Add variables FILE_DIRNAME HOME LOGNAME SHELL TERM USER
 * Remove variables DATE and TIME (these are referred to by a number of tasks
   where they should affect the checksum, e.g. because they influence PV)
 * Remove variable _ (not found in dependencies)

Additionally DATE and SRCDATE are excluded but only explicitly for
patch_do_patch, which uses these only to provide a warning if patches are
out of date.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-14 22:36:32 +00:00
Paul Eggleton
80e6408b9f bitbake: add optional expansion to getVarFlag()
Add a parameter to getVarFlag() to auto-expand the value of the flag. This
makes getVarFlag() more consistent with getVar(), and allows expansion of
vardeps and vardepsexclude (which has been done in this commit).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-14 22:36:19 +00:00
Paul Eggleton
a52e4063f4 bitbake: allow excluding dependencies of variables
Adds a vardepsexclude flag that can be used to exclude a dependency of
a variable (the opposite of vardeps). This will allow the exclusion of
variables from the hash generation much more selectively than blanket
whitelisting using BB_HASHBASE_WHITELIST.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-14 22:35:50 +00:00
Scott Rifenbark
27c117141f documentation/bsp-guide/bsp.xml: General edits.
1. Edited to incorporate new file system naming structure per Saul Wold.  This
   is the version I am sending him and Tom Z. to review.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>

Conflicts:

	documentation/bsp-guide/bsp.xml

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-14 13:43:55 -08:00
Darren Hart
e7f5bc2504 bsp-guide: correct BBPATH example
The BBPATH example was missing a : to separate the path elements.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-12-14 13:43:55 -08:00
Scott Rifenbark
ef8e0d6f38 documentation/kernel-manual/kernel-how-to.xml: added newline character
There was a git checkout and git push command that did not have a newline
character between the two line in a literallayout block.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-14 13:43:55 -08:00
Scott Rifenbark
22cd27dac4 documentation/kernel-manual/kernel-how-to.xml: fixed typo bug 588
removed the ";" character that was part of the git log --pretty=oneline
command example.  This fixes bug [BUGID# 588].

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-14 13:43:54 -08:00
Dexuan Cui
e8017dc3cb gnome-desktop: add --disable-desktop-docs
autobuilder logs show the below failure:

| xsltproc -o lgpl-vi.omf --stringparam db2omf.basename lgpl --stringparam
db2omf.format 'docbook' --stringparam db2omf.dtd "-//OASIS//DTD DocBook XML
V4.1.2//EN" --stringparam db2omf.lang vi --stringparam db2omf.omf_dir
"/usr/share/omf" --stringparam db2omf.help_dir "/usr/share/gnome/help"
--stringparam db2omf.omf_in ...
| http://www.oasis-open.org/docbook/xml/4.1.2/dbpoolx.mod:632: parser warning :
PEReference: %notation.class; not found
| ...
| unable to parse oc/lgpl.xml
| make[3]: *** [lgpl-oc.omf] Error 1

However this issue can't be reproduced in my Ubuntu 9.04 system. I suppose
it's because on autobuilder the newer libxml has a stricter syntax requirement
about the related xml files.

Actually before commit b8b13dcbb7 upgraded
gnome-desktop to 2.32.1, we also didn't build desktop-docs. The commit removed
no-desktop-docs.patch but didn't notice the Makefile.am depends on
--disable-desktop-docs to decice whether desktop-docs will be built.

So we should continue to make sure desktop-docs is not built.

Fixes [BUGID: 587]

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-12-14 09:46:34 -08:00
Bruce Ashfield
497b759d42 linux-yocto/stable: add blktrace configuration to standard branch
Enable the kernel configuration values required for blktrace
by default. Individual boards can opt out as required.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-14 09:00:17 -08:00
Saul Wold
a836ac47a2 rpm: Fix LIC_FILES_CHKSUM to use COPYING.LIB
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-14 08:53:19 -08:00
Saul Wold
526da3b499 lsbsetup: fix install process
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-14 08:53:19 -08:00
Saul Wold
b3b25c84e9 clutter-box2d: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-14 08:53:19 -08:00
Saul Wold
2f845aeb20 libsoup: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-14 08:53:19 -08:00
Saul Wold
8d77988392 libexif: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-14 08:53:19 -08:00
Saul Wold
f69986d0da gst-meta-base: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-14 08:53:19 -08:00
Saul Wold
4f257517aa libxscrnsaver: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-14 08:53:18 -08:00
Saul Wold
b100969b79 task-poky-clutter: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-14 08:53:18 -08:00
Saul Wold
e1e5c83037 mutter: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-14 08:53:18 -08:00
Saul Wold
198baafc3a table: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-13 12:27:48 -08:00
Saul Wold
c6115dcbca clutter: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-13 12:27:47 -08:00
Saul Wold
9ad63ed328 gtkhtml2: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-13 12:27:47 -08:00
Saul Wold
8da7be2f33 rpm: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-13 12:27:47 -08:00
Saul Wold
153d79a866 patch: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-13 12:27:47 -08:00
Saul Wold
984162eb60 meta-ide-suppport: Add LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-13 12:27:47 -08:00
Bruce Ashfield
69ad383525 linux-yocto: fix machine compatibility
During the last phase of the recipe factoring, the board compatibility
lists ended up in the wrong place, which meant we had an incomplete
list of boards, and the same set of boards for both kernels (stable
and devel).

To fix this, I've yanked the compatibility to the recipes themselves and
updated the emenlow to have a -stable bbappend.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-13 01:23:56 -05:00
Bruce Ashfield
a6e6af91a9 qemuppc: update 2.6.37 SRCREV
Fixes [BUGID: 585]

The qemuppc irq handling was only partially updated to 2.6.37,
this completes the job. qemuppc builds and boots with this
change.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-13 00:36:15 -05:00
Richard Purdie
3a78838d4f usbinit: Fix License checksum issue
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-10 22:01:48 -08:00
Richard Purdie
a15eff0086 qemu-config: Fix License checksum issues
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-10 22:01:47 -08:00
Richard Purdie
56973ee18b update-modules/udev-extraconf: Fix license checksum handling
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-10 22:01:47 -08:00
Darren Hart
98d5b914ab linux-libc-headers: Correct license checksum
Correct a typo in LIC_FILES_CHKSUM for linux-libc-headers as well as update
the md5sum.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-12-10 22:01:46 -08:00
Darren Hart
fd3e7d3db3 tcl: Correct license checksums
Correct a typo in LIC_FILES_CHKSUM in the tcl recipe and the changed md5sums
that appeared during a test build.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-12-10 22:01:45 -08:00
Darren Hart
03ae4a68cb Correct LIC_FILES_CHKSUM typos
An investigation into undocumented variables uncovered a handful
of LIC_FILES_CHKSUM spelling errors

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-12-10 22:01:44 -08:00
Darren Hart
042ba68b82 image-swab: Correct PARALLEL_MAKE typo
An investigation into undocumented variables uncovered a mispelled
instance of PARALLEL_MAKE in image-swab.bbclass.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-12-10 22:01:43 -08:00
Darren Hart
d9573b40b1 Correct DESCRIPTION typos in various recipes
An investigation into undocumented variables uncovered a few mispellings
of the variable DESCRIPTION.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-12-10 22:01:42 -08:00
Saul Wold
1b26331d68 distro_tracking_fields: added missing quote
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-10 22:01:41 -08:00
Saul Wold
33fccd7037 task-poky-lsb: removing missing packages
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-10 22:01:41 -08:00
Xiaofeng Yan
f39dae9f15 creat-lsb-image: download lsb test suite and creat a image with lsb test suite
If we make a test with lsb test suite, then we must creat a large image with lsb test suite.
three function in this script:
1 download lsb test suite
2 creat a block file with 3G
3 install file system of poky-image-lsb, modules of driver and lsb test suite

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2010-12-10 22:01:40 -08:00
Xiaofeng Yan
bc61818ac0 lsbsetup: Set up lsb test environment on target platform
This is a script which uses for setting up lsb test environment and install packages of lsb test suite

[sgw@linux.intel.com: moved the recipe to a more logical location]
Signed-off-by: Xiaofeng Yan<xiaofeng.yan@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-10 22:01:39 -08:00
Bruce Ashfield
aac5f5c788 qemu: update arm timer handling
commit e388771458b4ff3ad81ab70e390b24d069647da4 in the upstream
kernel factored/cleaned the SP804 timer code. This commit exposed
issues in the qemu timer emulation that was dependent on the
old behaviour. As a result, no kernel past 2.6.34 would boot on
qemu-system-arm.

The quick fix is to backport two patches from the latest qemu
repositories that fix the timer handling under emulation. Long
term, these will be dropped when qemu is upreved.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-10 22:01:38 -08:00
Bruce Ashfield
48d00ad8d5 linux-libc-headers-yocto: use common linux-yocto routines
Modify linux-libc-headers-yocto to use the common linux-yocto
routines, so headers exported to userspace will track the
branches in the yocto kernel git repository.

This commit also switches supported boards to prefer the
yocto libc headers.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-10 22:01:37 -08:00
Bruce Ashfield
0e7d9956a0 yocto-kernel: factor common routes, update to 2.6.37 and branch renaming
In order to extend and create more kernel recipes based on the
supported yocto kernel common routines need to be placed in
re-usable blocks.

To accomplish this meta/recipes-kernel/linux/linux-yocto_git.bb
is broken into three parts:

 - meta/classes/kernel-yocto.bbclass: contains common routines
   for checking out and configuring a yocto kernel git repository.
   This should be inherited by recipes that need this functionality.

 - meta/recipes-kernel/linux/linux-yocto.inc: Contains the machine
   mappings, compatibility, build directives and common task
   definitions for a yocto kernel based recipe. This inherits
   kernel-yocto, and is the typical point of entry for other recipes.

 - meta/recipes-kernel/linux/linuux-tools.inc: tasks and function definitions
   for kernel recipes that want to build/export perf

It also updates the linux-yocto recipe to default to 2.6.37.

As part of the update to 2.6.37 the branch naming and conventions
have been modified to show inheritance, and be more generic.

For example:

  master
  meta
  yocto/base
  yocto/standard/arm_versatile_926ejs
  yocto/standard/base
  yocto/standard/beagleboard
  yocto/standard/common_pc/atom-pc
  yocto/standard/common_pc/base
  yocto/standard/common_pc_64
  yocto/standard/fsl-mpc8315e-rdb
  yocto/standard/intel_atom_z530
  yocto/standard/intel_core_qm57_pch
  yocto/standard/mti_malta32_be
  yocto/standard/preempt_rt/base
  yocto/standard/preempt_rt/common_pc
  yocto/standard/preempt_rt/common_pc_64
  yocto/standard/preempt_rt/intel_atom_z530
  yocto/standard/preempt_rt/intel_core_qm57_pch
  yocto/standard/qemu_ppc32
  yocto/standard/routerstationpro

In this structure:

  master: tracks the mainline kernel
  meta: meta information for the BSPs and kernel features
  yocto/base: baseline kernel branch
  yocto/standard/base: 'standard' kernel, contains features
                        and configs for all BSPs
  yocto/standard/<machine>: represents a BSP with specific
                            features or configurations

The tools, tree and libc-headers have all been updated to
deal with this new structure. Also in addition to dealing with
the new structure, they continue to work with the existing
tree and will adapt at runtime to the differences.

The linux-yocto-stable_git.bb recipe continues to build the
2.6.34 based tree,and linux-yocto_git.bb builds 2.6.37. As
boards are enabled for the new kernel they will move from
-stable to the development kernel. As of now, only the
emulated targets have moved to 2.6.37-rcX

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-12-10 22:01:36 -08:00
Qing He
3ca38b7c10 update-modules: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-10 22:01:36 -08:00
Qing He
a14c3855a6 usbinit: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-10 22:01:35 -08:00
Qing He
f68895d0b1 qemu-config: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-10 22:01:34 -08:00
Qing He
f3fa12b976 udev-extraconf: add license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-10 22:01:33 -08:00
Qing He
937812c8f7 diffutils: upgrade to version 3.0
original version 2.8.1 is reserved for GPLv2

Signed-off-by: Qing He <qing.he@intel.com>
2010-12-10 22:01:32 -08:00
Qing He
b3412078f7 fakechroot: upgrade to version 2.13.1
from 2.9

changes:
 - remove debian diff, since there is no diff.gz for 2.13.1
 - remove fix-readlink.patch, the patch doesn't seem to make sense now

Signed-off-by: Qing He <qing.he@intel.com>
2010-12-10 22:01:32 -08:00
Qing He
082c4e2440 fakeroot: upgrade to version 1.14.5
from 1.14.4

changes:
 - install to ${includedir} instead of ${STAGING_INCDIR}
 - fakeroot has long been under GPLv3

Signed-off-by: Qing He <qing.he@intel.com>
2010-12-10 22:01:31 -08:00
Qing He
1901134554 udev: upgrade to version 164
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-10 22:01:30 -08:00
Tom Zanussi
8d702d76ff sysprof: add system-wide performance profiler for Linux.
[sgw@linux.intel.com: alpha'ed poky-default-revision.inc and fix commit message]
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-10 22:01:29 -08:00
Scott Rifenbark
732a117c77 documentation/poky-ref-manual/ref-bitbake.xml: Completed general edits.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:29 -08:00
Scott Rifenbark
be622ae87e documentation/kernel-manual/kernel-concepts.xml: Re-worded a note to state best practices for organizing shared features.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:28 -08:00
Scott Rifenbark
579b5c2947 documentation/kernel-manual: Added Bruce Ashfields review comments.
Comments covered some minor points.  We did remove the "Creating
a Transition Kernel Layer" section however.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:27 -08:00
Scott Rifenbark
9f4c630dbd documentation/poky-ref-manual: changes applied from a patch submitted by Cyril Humbert.
Cyril submitted a patch via email form for several spelling corrections.  The master docs, however, are not up-to-date with what I have on my contrib area.  Many of Cyril's corrections were already addressed.  A few were not and I have updated them here with this commit.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:27 -08:00
Scott Rifenbark
111f0678ee documentation/poky-ref-manual: General edits up the Parsing section.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:26 -08:00
Scott Rifenbark
fcbacff683 documentation/poky-ref-manual: Changed spelling of bitbake to "BitBake" when used in text.
There is inconsistent use of how BitBake is spelled.  Sometimes it uses no capitalization, just a leading "B", or "BitBake".  I looked at the BitBake manual and it seems that "BitBake" is the correct way to refer to it.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:25 -08:00
Scott Rifenbark
252cecf379 documentation/poky-ref-manual: English scrub performed for consistency.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:25 -08:00
Scott Rifenbark
57d38a7e7a documentation/poky-ref-manual: Updated Mailing Lists and IRC sections in Appendix I
I pulled the openembedded mailing list information and provided information for yocto@yoctoproject.org, yocto-announce@yoctoproject.org, and poky@yoctoproject.org.  I also updated the IRC section to include both #poky and #yocto channels.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:24 -08:00
Scott Rifenbark
11cdfab9cd documentation/yocto-project-qs: Added the gnome-doc-utils package to the Fedora required pacakge list.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:24 -08:00
Scott Rifenbark
4fe7cb5b21 documentation/poky-ref-manual: Fixed two typo's
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:23 -08:00
Scott Rifenbark
2f4db319b0 documentation/poky-ref-manual: Fixed to mis-spellings
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:22 -08:00
Scott Rifenbark
6d46bc3fcf documentation/poky-ref-manual: Updated the list of links to include a link to the Yocto Project site.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:22 -08:00
Scott Rifenbark
23dcc1bf97 documentation/kernel-manual: Added an image to the authorgroup so a title would display in the HTML version of the manual.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:21 -08:00
Scott Rifenbark
ddbd172dd8 documentation/kernel-manual/kernel-how-to.xml: Completed scrub to the text.
This version represents the completed first draft with all of Bruce Ashfield's comments applied and a good scrubbing of the text.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:20 -08:00
Scott Rifenbark
5bda926c80 documentation/kernel-manual/kerenel-how-to.xml: Edits to clean up text.
Re-writing up to the "Export for External (Upstream) Submission" section.
I am cleaning up the English and style.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:19 -08:00
Scott Rifenbark
1722898e16 documentation/kernel-manual/kernel-manual.xml: Changed the copyright statement to conform to sharing.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:19 -08:00
Scott Rifenbark
14a8edb09c documentation/kernel-manual/kernel-concepts.xml: Updated the text so that the conceptual figure showing the kernel is out.
Feedback indicated by Dave suggested getting rid of this.  So I commented out the text around it and modified the reminder text so it did not reference a figure.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:18 -08:00
Scott Rifenbark
15cf572f3e documentation/kernel-manual: Modified to call new chapter structure.
The make process for the kernel book now includes multiple chapters instead of a single chapter.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:17 -08:00
Scott Rifenbark
2a993a0dac documentation/kernel-manual: Added these files so the book could have chapters.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:17 -08:00
Scott Rifenbark
d2e540116f documentation/kernel-manual/yocto-project-kernel-manual.xml: Removed this file so manual could be structured into a book with chapters.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:16 -08:00
Scott Rifenbark
c272830d8c documentation/poky-ref-manual/poky-ref-manual.xml: Changed the revision date to 24 November 2010
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:16 -08:00
Scott Rifenbark
62ef8bdc57 documentation/kernel-manual/Makefile: changed the pdf, tgz, and html output files to be named "kernel-manual"
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:15 -08:00
Scott Rifenbark
ce3f71ac0a poky/.gitignore: updated the lines for the kernel manual
Ended up renaming these so they are all named 'kernel-manual"

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:15 -08:00
Scott Rifenbark
05c8e137e4 documentation/kernel-manual/Makefile: changed the name of the PDF output file to "kernel-manual.pdf"
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:14 -08:00
Scott Rifenbark
c479301fca documentation/kernel-manual/kernel-manual.xml: added this file so that PDF could be built.
This is inline with how the other docs are built.  kernel-manual.xml
is called by xsltproc from the Makefile.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:14 -08:00
Scott Rifenbark
fe994deb41 poky/.git/.gitignore: added the yocto-project-kernel-manual.pdf file
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:14 -08:00
Scott Rifenbark
d468cc4e49 documentation/kernel-manual/yocto-project-kernel-manual.xml: removed the code that inserts the image.
I made this file similar to the bsp.xml file so that it would build into
a PDF file.  It was throwing an error because of the imagedata tag
that was up front.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:13 -08:00
Scott Rifenbark
5ed39a3770 documentation/kernel-manual/Makefile: Added code to create a PDF version.
Code now calls a new file called kernel-manual.xml that in turn
includes the yocto-project-kernel-manual.xml file.  This is in line
with how the other docs are built.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:13 -08:00
Scott Rifenbark
5d64bb0193 documentation/kernel-manual/figures/kernel-title.png: Added a PNG file to display in the PDF version on the title page.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:12 -08:00
Scott Rifenbark
b89a971761 documentation/kernel-manual/yocto-project-kernel-manual.xml: Added a new section called "BSP: Creating:
this section is based on an email that Bruce Ashfield sent me.  It replaces
what was in there in the form of sub-sections for creating a new BSP,
cloning one and bsp bootstrapping.
2010-12-10 22:01:12 -08:00
Scott Rifenbark
7dbdd91eb9 documentation/kernel-manual/style.css: Changed h2 through h6 styles.
I needed more demarcation for these section titles.  They were not visually
different enough.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:11 -08:00
Scott Rifenbark
5b10a72004 documentation/kernel-manual/yocto-project-kernel-manual.xml: Removed sections not fit for 0.9 release.
These sections were commented out after a review by Bruce Ashfield.  They
need to be revisited as we continue with the 1.0 work.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:10 -08:00
Scott Rifenbark
db8214415b .git/.gitignore: Added files for the new kernel document.
added the HTML and TAR files to this ignore file.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:10 -08:00
Scott Rifenbark
2982e7c405 documentation/kernel-manual/yocto-project-kernel-manual.xml and yocto-project-kernel-manual-customization.xsl: Renamed files with correct spelling for kernel.
I had to rename these files because I had kernel mis-spelled when I committed
the original manual files.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:09 -08:00
Scott Rifenbark
bad46abb89 documentation/kernel-manual/yocto-project-kernal-manual.xml: and yocto-project-kernal-manual-customization.xsl removed from tree.
I noticed I had mis-spelled kernel for these files names after committing
the new kernel manual.  I renamed the files and had to remove these two.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:09 -08:00
Scott Rifenbark
3e7a8a64af documentation/kernel-manual/Makefile: fixed mis-spelling of kernel for files
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:08 -08:00
Scott Rifenbark
000f052765 documentation/kerenl-manual: New directory and files for kernel manual.
This is the first draft of the Yocto Project Kernel manual.  The
manual consists of two sections: concepts and a practical section that
has examples.  It is based of Bruce Ashfield's kernel theory paper.
This first draft has been re-written and organized through the
concepts section.  The remainder was just placed in as-is due to
time constraints for getting some kernel documentation up on the website.
The manual still needs scrubbing and organization in the latter half.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:07 -08:00
Scott Rifenbark
aa58345393 documentation/yocto-project-qs/yocto-project-qs.xml: Corrected poky-qemu command example in the 'Using Pre-Build Binaries and QEMU' section.
Added fstype to the command form and also inserted an example use.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:07 -08:00
Scott Rifenbark
eccaafa620 documentation/poky-ref-manual/development.xml: Fixed orderedlist and itemizedlist spacing.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:06 -08:00
Scott Rifenbark
a20a167cf7 Poky Reference Manual: General edits to the developing chapter.
Completed the second half edits to this chapter.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:06 -08:00
Scott Rifenbark
8feae13423 Poky Reference Manual: Added INC_PR documentation.
Added an entry in the glossary for INC_PR.  Also updated section
"Package Revision Incrementing" to mention the use of INC_PR in conjuntion
with the PR and PV variables.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:05 -08:00
Scott Rifenbark
e7e12483e4 BSP Guide and BSP Chapter: Sync'ed these two files
After moving BSP Guide into its own folder for documentation I discovered
a consequence of that.  There are two separate bsp.xml files now:  one
in the poky-ref-manual folder and one in the bsp folder.  I had done some
good cleanup work in the version in the poky-ref-manual folder.  This
commit reflects a 'meld' operation where I re-sync'ed the bsp.xml
file in the bsp-guide folder to be the same (almost) as the one in the
poky-ref-manual folder.  There is still one slight difference between the
two files due to one's context as a stand-alone manual and the other as
a section in a larger book.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:05 -08:00
Scott Rifenbark
12d1378990 BSP Developers Guide: Edits to text
I made several spelling corrections and rewrote a sentence or two for
better structure.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-12-10 22:01:04 -08:00
Jingdong Lu
0e4df9592b Enable '-opengl' option for qt4 in order to generate libQtOpenGL.so
qt4-x11-free: Only build opengl for x86 platforms since only these have GL support at present

[sgw@linux.intel.com: merged and fixed Signed-off-bys]

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-10 21:57:08 -08:00
Jingdong Lu
4806041a85 liburi-perl: Add perl-uri
Add perl-uri in order to enable graphic LSB test(OLVER-Core test).

[sgw@linux.intel.com: fixed name and LICENSE]
Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-10 23:13:00 +00:00
Jingdong Lu
d905d18fe7 libxml-perl: Add libxml-perl
Add libxml-perl in order to enable graphic LSB test(OLVER-Core test).

[sgw@linux.intel.com: fixed LICENSE]
Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-10 23:13:00 +00:00
Jingdong Lu
0d5e71e741 libxml-parser-perl: Fix bug of empty package of libxml-parser-perl.
Becaues of the error library path definition in cpan-base.class, libxml-parser-perl package is empty.

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2010-12-10 23:13:00 +00:00
Jingdong Lu
6e4bfac48a perl: Fix adding GDBM_File module for LSB test.
No GDBM_File module will cause 2 perl test cases of LSB failed.

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2010-12-10 23:13:00 +00:00
Jingdong Lu
56c897d8d0 texinfo: Add new package
Texinfo is a documentation system that can produce both online information
and printed output from a single source file.

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2010-12-10 23:13:00 +00:00
Zhai Edwin
47a1f50d17 consolekit: Update to 0.4.3
Rebased nopolkit.patch.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-10 23:13:00 +00:00
Richard Purdie
f07b1a2756 Drop variables that do nothing
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-10 22:51:19 +00:00
Richard Purdie
05053efa86 cross-canadian: Update after PN changes to include TARGET_ARCH
This patch massively simplifies the canadian packaging and allows
multiple toolchain targets to be parallel installed into the same
nativesdk sysroot without package name conflits. Since we now do
this, we can simplify cross-canadian to become more like nativesdk.

This is a first pass over this task, similar changes would be
desireable to cross and the whole MULTIMACH_ARCH mess can then
probably be similified much further.

Signed-off-by: Richgard Purdie <rpurdie@linux.intel.com>
2010-12-10 16:57:21 +00:00
Richard Purdie
88ee037741 task-cross-canadian: Ensure it reflects TARGET_ARCH in PN
If this recipe doesn't reflect TARGET_ARCH in its name, only
one flavour of cross toolchain can be installed at once.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-10 16:56:08 +00:00
Lianhao Lu
2021e2a74f Using TRANSLATED_TARGET_ARCH instead of TARGET_ARCH.
Using TRANSLATED_TARGET_ARCH instead of TARGET_ARCH for
cross-canadian packages. This is due to the TARGET_ARCH of x86_64
would results incorrect packaging in cross-canadian packages.

The pacakge name appendix of x86_64 target in cross-canadian
packages is x86-64.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2010-12-10 15:36:48 +00:00
Lianhao Lu
322d6ab299 cross-canadian: pkg name includes target arch
This commit fixes Bug #528.

1. Added the target arch name to the pkg name of gcc-cross-canadian,
gdb-cross-candian and bintuils-cross-candian.

2. Move the cross-canadian pkgs out of task-sdk-host into a new task
task-cross-canadian.

3. Added the RDEPENDS of task-cross-canadian into meta-toolchain.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2010-12-10 15:36:30 +00:00
Richard Purdie
c47cfc56c7 bitbake/bitbake-runtask: Since the parent has set the environment up cleanly we don't need to filter this ourselves anymore
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-10 12:40:23 +00:00
Joshua Lock
47efcfdf79 poky.conf: move the SDK install into version directories
It's desirable to be able to have SDK toolchains installed from multiple
versions of Poky, enable this by installing the toolchains into a subdirectory
of /opt/poky/ based on the distro version.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-09 09:20:06 -08:00
Zhai Edwin
a1175b8906 qemu: Enable KVM support on x86/x86-64 host
User need build kvm module for native kernel and install them by "modprobe
kvm_intel". Then add "kvm" option to poky-qemu to enable it.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-09 08:18:18 -08:00
Saul Wold
3d08b9f2c6 SRC_URI Checksums Additionals
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-09 08:18:17 -08:00
Scott Garman
ba5e0b9531 Make poky-qemu and related scripts work with arbitrary SDK locations
* No longer assume SDK toolchains are installed in /opt/poky
* [BUGFIX #568] where specifying paths to both the kernel and fs
  image caused an error due to POKY_NATIVE_SYSROOT never being
  set, triggering failure of poky-qemu-ifup/ifdown
* Cosmetic improvements to usage() functions by using basename

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-12-09 15:00:45 +00:00
Gary Thomas
7581654a03 poky-env-internal: Allow the environment variable POKYCONF to provide the basis for the working "conf" directory.
By using the POKYCONF variable, a meta layer can provide the basic setup for files to
be used during a build.  This is similar to the default values stored in the main meta
tree, .../meta/conf/local.conf.sample, etc

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-09 14:44:13 +00:00
Richard Purdie
c91caeea89 devshell: Clean up devshell code so this task doesn't polute the global namespace
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-09 13:16:32 +00:00
Richard Purdie
0ba9a9fffe bitbake: Overhaul environment handling
Currently, anything whitelisted in the environment makes it into the worker
processes. This is undesireable and the worker environment should be as
clean as possible. This patch adapts bitbake sosme variables are loaded into
bitbake's datastore but not exported by default. Any variable can be exported
by setting its export flag.

Currently, this code only finalises the environment in he worker as doing so
in the server means variables are unavailable in the worker. If we switch
back to fork() calls instead of exec() this code will need revisting.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-09 13:16:14 +00:00
Kevin Tian
39dd60462c poky.conf: add more hash whitelist
DATE are referenced by patch_do_patch
TIME are referenced by do_distro_check/do_checkpkg
BBPATH/THISDIR/_ impacts the scenario when using different source path.
DL_DIR/SSTATE_DIR are listed as dependency too, by pstaging_fetch
FILESEXTRPATHS is referenced by .bbappend files

Some tasks may not contribute to sstate packages, e.g. do_checkpkg. But for
safety all of them are whitelist this time.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-09 13:07:43 +00:00
Dongxiao Xu
4745ff6a6e hostap-conf: update LICENSE and LIC_FILES_CHKSUM info
Import GPLv2 COPYING file.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-09 13:07:43 +00:00
Dongxiao Xu
73232c7d05 bluez-dtl1-workaround: update LIC_FILES_CHKSUM info
Import GPLv2 COPYING file.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-09 13:07:43 +00:00
Dongxiao Xu
3c4ebf05f5 orinoco-conf: update LICENSE and LIC_FILES_CHKSUM info
Import GPLv2 COPYING file.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-09 13:07:43 +00:00
Dongxiao Xu
409ac23702 makedevs: update LIC_FILES_CHKSUM info
Import GPLv2 COPYING file.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-09 13:07:43 +00:00
Joshua Lock
c538ef33aa bitbake/cooker: fix idle command processing in servers
idle command processing in each of the servers does not handle an explicit
None return value, which means the goggle UI ends up repeatedly adding
"Tasks Summary:" rows to the list.

This patch modifies BBCooker.buildTargets.buildTargetsIdle to return False
when BuildCompleted is fired, as is done in BBCooker.buildFile.buildFileIdle.
It may be that the correct way to fix this is to change the idle command
processing in the servers.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-09 12:41:44 +00:00
Saul Wold
fdd034d0e8 world-broken: Update with Clutter items
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-09 12:37:11 +00:00
Paul Eggleton
089612794d openssl-native: disable execstack flag to prevent problems with SELinux
The execstack flag gets set on libcrypto.so by default which causes SELinux
to prevent it from being loaded on systems using SELinux, which includes
Fedora. This patch disables the execstack flag. (Note: Red Hat do this in
their openssl packaging.)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-09 12:37:11 +00:00
Yu Ke
0f716e64c4 xserver-xf86-config: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-09 12:37:11 +00:00
Yu Ke
a1d635bc1c xserver-nodm-init: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-09 12:37:11 +00:00
Yu Ke
c344349a98 x11-common: add license checksum
it is local file recipe and no GPLv2 license file, so
add a patch to add GPLv2 license file

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-09 12:37:10 +00:00
Dongxiao Xu
b9694bd41d distro_tracking: update gupnp, gst-ffmpeg, gst-fluendo-mp3, etc.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-09 12:37:10 +00:00
Dongxiao Xu
033e4303d3 pulseaudio: upgrade to version 0.9.21
There is a bug in pulseaudio uptream which uses new instructions on old
arm platform. So we keep arm version of pulseaudio unchanged.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-09 12:37:10 +00:00
Dongxiao Xu
2c05c868a0 gst-fluendo-mpegdemux: upgrade to version 0.10.62
Add m4 path from common folder.

Fix recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-09 12:37:10 +00:00
Dongxiao Xu
71e11d61e4 gst-fluendo-mp3: upgrade to version 0.10.15
Remove configure_fix.patch since the original logic is not exist in
upstream code.

Fix recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-09 12:37:10 +00:00
Dongxiao Xu
f84c6d2cca gupnp: upgrade to version 0.14.0
Derive introspection.m4 from gobject-introspection package to solve the
autoreconf issue.

Add option "--disable-introspection" since gobject-introspection breaks
cross compile.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-08 15:02:09 -08:00
Dongxiao Xu
2628ea7066 gssdp: upgrade to version 0.9.0
Derive introspection.m4 from gobject-introspection package to solve the
autoreconf issue.

Add option "--disable-introspection" since gobject-introspection breaks
cross compile.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-08 15:02:09 -08:00
Mei Lei
b45b75bdc0 modutils-initscripts:Add license checksum to bb file
Add Public Domain license file as a patch, and add checksum to bb file

[sgw@linux.intel.com: fixed the license text and the checksum]
Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-08 15:02:09 -08:00
Saul Wold
6592cdcd50 libart-lgpl: add mips art_config.h
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-08 14:07:57 -08:00
Richard Purdie
918ebfb0c1 telepathy-python: Make sure py files are packages correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-07 22:58:02 +00:00
Richard Purdie
aa5822b59a gnome-icon-theme: Disable PACKAGE_ARCH='all' until we unbreak it for multiarch builds
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-07 22:50:22 +00:00
Paul Eggleton
2feaffab27 poky.conf: add BB_TASKHASH to BB_HASHBASE_WHITELIST
At the time of creating the hash, BB_TASKHASH can't really be valid and
should be excluded from the environment variable list used to create the
hash.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2010-12-07 14:41:28 +00:00
Joshua Lock
5526a64f4e bitbake/goggle: add a ProgressBar for parse progress
Construct a ProgressBar and pass it to the RunningBuild.handle_event() so
that goggle users are notified of metadata parsing progress.

UI's with status make users less nervous

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-07 13:53:06 +00:00
Joshua Lock
48e27575eb bitbake/goggle: automatically show most recently added message
It seems likely that the user would want to view the most recently emitted
messages so this patch sets the message dislay treeview to scroll to any
newly added rows.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-07 12:53:05 +00:00
Joshua Lock
b9617bf6e1 bitbake/xmlrpc: Modify xmlrpc server to work with Python 2.7
Python 2.7's library changes some of xmlrpclib's internal implementation such
that interacting with a proxy to BitBakes SimpleXMLRPCServer would cause
BitBake to crash.

The issue was traced to changes in the xmlrpclib.Transport implementation and
Python bug #8194 (http://bugs.python.org/issue8194).

This patch introduces a workaround by create a subclass of
xmlrpclib.Transport, which overrides the offending methods with the Python
2.6.6 implementation copy and pasted from the Python 2.6.6 xmlrpclib, and
using this BBTransport implementation for both xmlrpclib.Server objects we
create.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-07 12:51:59 +00:00
Joshua Lock
84384aa8a9 bitbake/crumbs: add optional pbar parameter to RunningBuild.handle_event()
Defaults to None, but if set will pass the ParseProgress sofar and total to
pbar's update() method.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-07 12:51:16 +00:00
Joshua Lock
1307d64286 bitbake/depexp: Factor ProgressBar into a separate class in crumbs/
ProgressBar will be useful in other UI elements so make it it's own class.
Make ProgressBar a subclass of gtk.Dialog, rather than gtk.Window, so that we
can suggest the window manager parent the ProgressBar to the widget passed at
as parent.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-07 12:50:55 +00:00
Joshua Lock
8cbaa9f0d9 bitbake/goggle: interaction tweaks
Set the goggle window to a more sane default size (640x480) and hook up the
close button.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-07 12:50:38 +00:00
Joshua Lock
cb6eff7c80 bitbake/crumbs: fix the event name determination
Due to some recent change *somewhere* we need to explicitly look at the
name attribute on the instances class, rather than the name attribute of
the instance.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-07 12:50:09 +00:00
Joshua Lock
bd8ff30da0 bitbake/crumbs: do the test for ignored messages sooner
Move the test for ignored messages to the start of the message handling loop to
avoid doing work for messages which are only going to be ignored.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-07 12:49:38 +00:00
Joshua Lock
96da2ea1f9 bitbake/crumbs: Fix crumbs UI for bitbake event class name changes
Some of the events we where trying to look for have had their class names
changed, fix these references.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-07 12:49:09 +00:00
Kevin Tian
4336d676d4 siggen.py: fix the wrong usage on BB_TASKHASH_WHITELIST
BB_TASKHASH_WHITELIST is expected to filter out native tasks from the
dependency list for target recipe's checksum. However current code
actually implements the opposite. All native sstate packages end up
to have empty task dependency while target sstate packages still have
native tasks counted into the checksum.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-07 12:45:08 +00:00
Richard Purdie
55859b9c3d imagetest-qemu: Allow the task to run after any rootfs is created and also standalone
One bitbake invocation can cause multiple images to be generated. We should test
each one and we cna do this by running after the rootfs task. Running the tests
standlone is also still possible with a new separate standlone task.

Acked-by: Scott Garman <scott.a.garman@intel.com>
Acked-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-07 12:31:09 +00:00
Richard Purdie
7aacc310b5 bitbake/data_smart: Refactor _append/_prepend code to remove duplication
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-07 12:25:24 +00:00
Richard Purdie
c354955d26 bitbake/data_smart: Fix append/prepend/override ordering issue
Where a variable name consisted of an append/prepend combined with an override
and there was also an append/prepend to the variable, the override could be lost
if the override was not in OVERRIDES.

For example:

FOO = "A"
FOO_append = "B"
FOO_append_virtclass-native = "C"

could result in "AB" even though virtclass-native was in OVERRIDES.

With this patch applied, the result is "ABC" as would be expected.

The problem was the deletion of the _append/_prepend flag was happening
if *any* append/prepend was procesed, the result should really be that
it should contain any unprocessed append/prepend.

Kevin Tian deserves credit for looking into this and working out the
problem here.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-07 12:16:16 +00:00
Scott Garman
9d0d2b044e Remove unused tunctl-src/Makefile from scripts/
Removing leftover cruft

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-12-07 00:48:39 -08:00
Scott Garman
01da08097a Add sanity test scenarios for -lsb images
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-12-07 00:48:03 -08:00
Saul Wold
47cb074774 task-poky-tools: disable blktrace due to build failures
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-06 21:31:06 -08:00
Saul Wold
392b3ea887 gupnp: add gnome-icon-theme to DEPENDS
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-06 22:02:28 +00:00
Joshua Lock
63b85e74a3 sanity.bbclass: Warn people when TERMCMD is set to a non-installed program
We default to gnome-terminal for TERMCMD (and TERMRUNCMD) so should check that
this program actually exists during sanity checking.

As a corollary document how to change these variables in the local.conf

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-06 22:02:28 +00:00
Joshua Lock
d5f08073f5 local.conf.sample: Note extra variables required when disabling en_US locale
When changing which locales are generated for libc it may also be neccessary to
change IMAGE_LINGUAS and LIMIT_BUILT_LOCALES

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-12-06 22:02:27 +00:00
Saul Wold
1b679bf14b libart-lgpl: Add config.h for x86_64
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-06 22:02:27 +00:00
Qing He
b407939530 libnl: fix typo in the Makefile fix
change .$(OBJEXT) to .lo in the rule to reflect libtool setup

Signed-off-by: Qing He <qing.he@intel.com>
2010-12-06 22:02:27 +00:00
Saul Wold
6940c96874 preferred-xorg-versions: Update to match new versions
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-06 22:02:27 +00:00
Zhai Edwin
beb4b515ee eee-acpi-scripts: Update to 1.1.11
Rebased remove-doc-check.patch

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:26 +00:00
Nitin A Kamble
587873796d distro_tracking_fields: update fields for devel/toolchain recipes
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-06 22:02:26 +00:00
Nitin A Kamble
bc02b535ed subversion: upgrade from 1.5.5 to 1.6.13
And update recipe checksums

rebased neon-detection.patch:
upstream code has some of the changes similar to the changes in the
patch. Removing the duplicate changes from the patch file.

subversion: update LIC_CHKSUM_FILES field

Noticed this change in the COPYING file:

$ diff -u COPYING /tmp/COPYING
--- COPYING	2006-05-28 07:41:18.000000000 -0700
+++ /tmp/COPYING	2010-12-03 11:16:15.000000000 -0800
@@ -10,7 +10,7 @@
 on), you may use a newer version instead, at your option.

 ================================================================
-Copyright (c) 2000-2006 CollabNet.  All rights reserved.
+Copyright (c) 2000-2009 CollabNet.  All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-06 22:02:26 +00:00
Zhai Edwin
f20cb303ac gtk-engines: Update to 2.20.2
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:26 +00:00
Zhai Edwin
06aacf6226 gnome-icon-theme: Update to 2.31.0
Rebased the patch iconpath-option.patch

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:26 +00:00
Zhai Edwin
b8b13dcbb7 gnome-desktop: Update to 2.32.1
Removed no-desktop-docs.patch, as it is already in upstream.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:25 +00:00
Zhai Edwin
b651203e7f web: Update to svn r129
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:25 +00:00
Zhai Edwin
25283b963e x11vnc: Update to 0.9.12
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:25 +00:00
Zhai Edwin
d0c0128971 x11perf: Update to 1.5.2
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:25 +00:00
Zhai Edwin
48ba76afdf puzzles: Update to svn r9023
Removed makedist_hack.patch, as makedist.sh is no longer exist in upstream and
mkfiles.pl is called directly now.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:25 +00:00
Zhai Edwin
ccdd26d18a ethtool: Update to 2.6.36
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:25 +00:00
Zhai Edwin
f49a3c4944 consolekit: Update to 0.4.3
Rebased nopolkit.patch.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:24 +00:00
Zhai Edwin
4fd6d32578 acpid: update to 1.0.10
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:24 +00:00
Zhai Edwin
3e597cdd71 tidy: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:24 +00:00
Zhai Edwin
443178d3d3 pointercal: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-06 22:02:24 +00:00
Dongxiao Xu
88697edaaa bluez-hcidump: update LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:24 +00:00
Dongxiao Xu
4bbb8a9267 task-poky-boot: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:24 +00:00
Dongxiao Xu
cb2c6b88e7 task-poky-nfs: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:23 +00:00
Dongxiao Xu
f3dc033b81 ppp-dialin: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:23 +00:00
Dongxiao Xu
e24849eee1 task-poky-qt: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:23 +00:00
Dongxiao Xu
a26cd44768 task-poky-standalone-sdk-target: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:23 +00:00
Dongxiao Xu
95a9d52f46 task-poky-apps-x11-pimlico: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:23 +00:00
Dongxiao Xu
4371159fc2 telepathy-glib: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:23 +00:00
Dongxiao Xu
4f6cde5642 task-poky-basic: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:22 +00:00
Dongxiao Xu
58dac9a48b task-poky-sdk-gmae: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:22 +00:00
Dongxiao Xu
90b69e9d4a task-poky-standalone-gmae-sdk-target: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:22 +00:00
Dongxiao Xu
28cd1e7eed task-poky-tools: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:22 +00:00
Dongxiao Xu
0c7a4e04c8 task-base: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:22 +00:00
Dongxiao Xu
a02edf1a1c task-poky-x11-sato: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:21 +00:00
Dongxiao Xu
7d6f03c75f formfactor: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:21 +00:00
Dongxiao Xu
2e671b5375 task-poky-sdk: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:21 +00:00
Dongxiao Xu
3b32bebc01 task-poky-lsb: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:21 +00:00
Dongxiao Xu
f003c9f5ae task-poky: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:21 +00:00
Dongxiao Xu
70c63bbb1a run-postinsts: update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-06 22:02:21 +00:00
Nitin A Kamble
da8154587f distro_tracking_fields: update fields for devel/toolchain recipes
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-06 22:02:20 +00:00
Nitin A Kamble
4b791501ed tcl: upgrade from 8.5.8 to 8.5.9
Rebased this patch to the newer upstream code.
  modified:    fix_non_native_build_issue.patch

Deleted following patch as the newer upstream code includes it already.
  deleted:    tcl/mips-tclstrtod.patch

tcl: update checksums

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-06 22:02:20 +00:00
Nitin A Kamble
37b6d8bcc7 git: upgrade from 1.7.2.1 to 1.7.3.2
And also updated the src_uri checksums.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-06 22:02:20 +00:00
Nitin A Kamble
bd7244481d makedepend: upgrade from 1.0.2 to 1.0.3
And also update the recipe checksums.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-06 22:02:20 +00:00
Nitin A Kamble
01e53cad77 m4: upgrade from 1.4.13 to 1.4.15
And update recipe checksums

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-12-06 22:02:20 +00:00
Scott Garman
88dbadfa45 distro_tracking_fields.inc: update insserv and libatomics-ops
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-12-06 22:02:20 +00:00
Scott Garman
34329848a7 libatomics-ops: recipe updates, fix build for mips
* Added another patch from Gentoo/OE to allow package to build for
  mips arches
* Added SUMMARY, HOMEPAGE, and SECTION fields
* Added source checksums

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-12-06 22:02:19 +00:00
Scott Garman
1f427822e3 insserv: upgrade to version 1.14.0
* Removed obsolete patches
* Disabled make check tests which cannot be run when cross-compiled
* Added SUMMARY, DESCRIPTION, and PRIORITY fields
* Added source checksums

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-12-06 22:02:19 +00:00
Mei Lei
9aef79e3a0 keymaps:Add license checksum and update the GPL information
Add a patch to generate COPYING file and get the COPYING file checksum to bb file, update the "GPL" to "GPLv2" according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-06 22:02:19 +00:00
Mei Lei
32662fdfa3 fstests:Add license checksum and update the GPL information
Add source file license checksum to bb file and update the "GPL" to "ZLIB" according to the license information

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-06 22:02:19 +00:00
Mei Lei
d1cd2fd60b initramfs-live-boot:Add license checksum to bb file
Add COPYING.MIT file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-06 22:02:19 +00:00
Mei Lei
a12aa5a7c7 initramfs-boot:Add license checksum to bb file
Add COPYING.MIT file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-06 22:02:18 +00:00
Mei Lei
7adf2aa0d3 initramfs-live-install:Add license checksum to bb file
Add COPYING.MIT file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-06 22:02:18 +00:00
Mei Lei
e78c78977a initscripts:Add a patch of GPLv2 license and its checksum to bb file
Add this GPLv2 patch for local recipes license checksum

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-06 22:02:18 +00:00
Kevin Tian
ccd590bf9d siggen.py: set 'runtaskdeps' correctly
Now 'runtaskdeps' is assigned before taskhash whitelist is filtered out, and thus
always contains original task dependencies. This causes problem to diagnose sstate
related problem. So fix it by appending filtered dep to 'runtaskdeps' in the fly.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-12-06 01:15:39 +00:00
Richard Purdie
a0033b622e bitbake/utils.py: Improve traceback to be more helpful/clear to users
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-05 22:52:44 +00:00
Richard Purdie
1a0c39e050 bitbake/utils.py: Ensure the last lines of functions are printed in tracebacks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-05 22:51:38 +00:00
Richard Purdie
a80a839dc9 Drop AUTOTOOLS_STAGE_PKGCONFIG variable as its not used anywhere
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-05 20:40:03 +00:00
Saul Wold
1d505f2e10 Revert "qemugl: upgrade to git commit 33466cd83c2a9d7d3fb9fe437fb6a4d6fbd866b9"
This reverts commit 4bcba3fb12.
The qemugl is not building so I am reverting this update until
it's resolved.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-03 13:16:05 -08:00
Saul Wold
13edb279ed Revert "gssdp: Upgrade to version 0.9.0"
This reverts commit 0cd2a26ff6.
This does not build, so reverting

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-03 13:15:59 -08:00
Saul Wold
0284df3926 Revert "gssdp: Disable gobject introspection explicitly"
This reverts commit 35c948f384.
There is not --disable-interospection

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-03 13:15:52 -08:00
Gary Thomas
cdc640f822 libart-lgpl: Add missing config file - allows builds on PowerPC
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-03 13:15:38 -08:00
Adrian Alonso
5592bf2d0f librsvg: fix gdk-pixbuf-query-loaders not found in path
* Fix configure: error: gdk-pixbuf-query-loaders not found in path
* Bump PR
[sgw@linux.intel.com: cleaned up patch whitespace issues]

Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
Signed-off-by: Saul Wold <sgw@linux.intel.com>

svg

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-03 13:15:23 -08:00
Qing He
d2de3dc850 libnl: fix parallel make
lex/yacc generated header file should be explicitly listed for
makefile dependency

also add flex-native and bison-native for the recipe

Signed-off-by: Qing He <qing.he@intel.com>
2010-12-03 13:15:15 -08:00
Mei Lei
b82ef69ca3 opkg-config-base:Add license checksum to bb file
Add COPYING.MIT file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 06:01:12 -08:00
Richard Purdie
35c948f384 gssdp: Disable gobject introspection explicitly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-02 05:57:53 -08:00
Saul Wold
0dc60700f9 table move missing patch back to correct location
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-02 05:24:59 -08:00
Saul Wold
0c1d76ff1c task-poky-clutter: remove cairo packages
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-02 05:24:59 -08:00
Saul Wold
0dddee5111 preferred-xorg-versions: updated for lastest package updates
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-02 05:24:59 -08:00
Saul Wold
b60681e56e world-broken: cleanup post reorg and world cleanup
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-02 05:24:59 -08:00
Qing He
7e4e45a669 dhcp: fix cross build
the new internal bind9 is not cross compiling friendly, use
the external library

Signed-off-by: Qing He <qing.he@intel.com>
2010-12-02 05:24:59 -08:00
Qing He
070f173bdc bind: add new recipe
version 9.7.2-P2
based on bind recipe from openembedded

the exportlib is used by building dhcp

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-02 05:24:59 -08:00
Saul Wold
d36f6f4f40 table.inc: correct version number
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-02 05:24:58 -08:00
Saul Wold
b721e08466 eds-tools: Fix SRCREV and add LIC_FILE_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-02 05:24:58 -08:00
Saul Wold
ce4d631aea gobject-introspection: Fix pathfix.patch to correct glibconfig.h location
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-02 05:24:58 -08:00
Yu Ke
4bcba3fb12 qemugl: upgrade to git commit 33466cd83c2a9d7d3fb9fe437fb6a4d6fbd866b9
qemugl has no update since May 2009. Compared to current SRCREV, there is 3 new commit in upstream. So simply upgrade the SRCREV to the latest commit of May 2009, to include the 3 new commits.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:58 -08:00
Yu Ke
a3a4960122 mesa-dri-glsl-native: upgrade from 7.8.2 to 7.9
with the following changes
- add license checksum
- add dependency of talloc-native, because mesa 7.9 start to use talloc to manage its memory.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:58 -08:00
Yu Ke
5358036d5f mesa-demo: add new recpies mesa demo 8.0.2
mesa-demo is originally part of mesa in 7.8 or earlier version. But starting from 7.9, mesa-demo become a seperate tar ball and has its own version 8.0.2, so this commit add new recipe for mesa-demos

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:58 -08:00
Yu Ke
3562f2b776 glew: add new recipes glew 1.5.7
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform.

mesa-demos requires glew, so port it from OE, with the following changes:
- upgrade it from 1.5.1 to 1.5.7
- add license checksum

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:57 -08:00
Yu Ke
5d17116f5e mesa: enable glu
GLU is needed by glew, which in turn needed by mesa-demos

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:57 -08:00
Yu Ke
770cbc076e mesa-xlib: upgrade from 7.8.2 to 7.9
- starting from mesa 7.9, mesa-demos is not bundled with mesa in upstream, so remove the mesa demo in mesa recipes. there will be a seperate recipes to build mesa-demos

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:57 -08:00
Yu Ke
742f217ac2 mesa-dri: upgrade from 7.8.2 to 7.9
with the following changes:

- remove mesa-demos, because starting from mesa 7.9,
  mesa-demos becomes a standalone src tar ball in
  upstream, so there will be a seperate recipes to
  build the mesa-demos

- add dependency of talloc and libxml2-native

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:57 -08:00
Yu Ke
2e95941ef0 talloc: add new recipes talloc 2.0.1
talloc is a hierarchical, reference counted memory pool system with destructors.
It is the core memory allocator used in Samba. Mesa7.9 also depends on it,so add
it for mesa7.9.

It is ported from OpenEmbedded, with some format modification.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:57 -08:00
Yu Ke
032553036d libxml2-native: remove the --without-debug option
mesa 7.9 build script es_generator.py use libxml2 API xmlLsCountNode,
which only available in debug module, so remove the --without-debug
option for mesa 7.9

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:57 -08:00
Yu Ke
af03613564 sqlite: upgrade from 3.6.23 to 3.7.3
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:57 -08:00
Dongxiao Xu
21866d75bc zeroconf: Fix LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:56 -08:00
Dongxiao Xu
ba500f07cb telepathy-idle: Fix LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:56 -08:00
Dongxiao Xu
192c44e205 pulseaudio: Fix LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:56 -08:00
Dongxiao Xu
7bd5e70fd0 libtelepathy: Fix LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:56 -08:00
Dongxiao Xu
f58ff34a4c libsamplerate0: Fix LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:56 -08:00
Dongxiao Xu
cebfbaed90 libomxil: Fix LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:56 -08:00
Dongxiao Xu
0f95bdbe73 gupnp: Update LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:55 -08:00
Dongxiao Xu
a3c1bb3408 gst-fluendo-mpegdemux: Fix LICENSE info
Add LIC_FILES_CHKSUM information

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:55 -08:00
Dongxiao Xu
1d579ec75c gst-fluendo-mp3: Update LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:55 -08:00
Dongxiao Xu
fa3f028e8c gst-ffmpeg: Update LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:55 -08:00
Dongxiao Xu
efc0643405 clutter-gst: Update LICENSE and LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:55 -08:00
Dongxiao Xu
9cdb0adf5f linux-firmware: Update LIC_FILES_CHKSUM info
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:55 -08:00
Mei Lei
57fdd84ef7 gthumb:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:55 -08:00
Zhai Edwin
429a526e35 qemu: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:54 -08:00
Zhai Edwin
aabb6eea1f matchbox-stroke: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:54 -08:00
Zhai Edwin
6697812d45 matchbox-session-sato: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:54 -08:00
Zhai Edwin
20c52b0630 libfakekey: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:54 -08:00
Zhai Edwin
d505b06c19 xvinfo: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:54 -08:00
Zhai Edwin
027c385290 metacity: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:54 -08:00
Zhai Edwin
818cb805e1 matchbox-wm-2: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:53 -08:00
Zhai Edwin
5209a73d3b libgalago: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:53 -08:00
Zhai Edwin
d41496a2eb libcanberra: Add license check sum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:53 -08:00
Zhai Edwin
4bcce424f0 gtk-theme-torturer: Add license check sum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:53 -08:00
Zhai Edwin
a9ad7259cb gtk-doc: Add license checksum
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:53 -08:00
Dongxiao Xu
cab03efc7d distro_tracking: gupnp-av, gupnp-tools, ofono, etc.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:53 -08:00
Dongxiao Xu
760675e008 libgsmd: Upgrade to rev 5394
Rebase fix_machine_init.patch to latest version.
Fixed recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:52 -08:00
Dongxiao Xu
363fd6e0e5 gupnp-av: Upgrade to version 0.7.0
Fix recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:52 -08:00
Dongxiao Xu
a52de6f29b ofono: Upgrade to version 0.33
Fixed recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:52 -08:00
Dongxiao Xu
0cd2a26ff6 gssdp: Upgrade to version 0.9.0
Fix recipe metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:52 -08:00
Dongxiao Xu
91eec68c74 gupnp-tools: Upgrade to version 0.8
Fix recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:52 -08:00
Dongxiao Xu
a2042b573e gst-openmax: Upgrade to version 0.10.1
Fixed recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:52 -08:00
Dongxiao Xu
c5cfd67cdf wpa-supplicant: Upgrade to version 0.7.3
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:51 -08:00
Dongxiao Xu
35793fdd7d minicom: Upgrade to version 2.4
Fixed its metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:51 -08:00
Dongxiao Xu
a5de5a7dfe connman: Upgrade to version 0.63
Add build dependency iptables.

Fix recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:51 -08:00
Dongxiao Xu
8399ca4d70 telepathy-mission-control: Upgrade to version 5.7.0
Remove the patch since the logic is not exist in latest version.

Fix recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:51 -08:00
Dongxiao Xu
d239fef8ad telepathy-python: Upgrade to version 0.15.18
The new version uses autotool, therefore inherit autotools.bbclass.

Fixed recipe metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:51 -08:00
Dongxiao Xu
63aaa4ed41 gypsy: Upgrade to version 0.8
Fixed recipe metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:51 -08:00
Dongxiao Xu
07d5f6c80e cmake-native: Upgrade to version 2.8.3
Fixed its metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-12-02 05:24:51 -08:00
Mei Lei
36baa90be0 flex:Add license checksum and add the license information
Add COPYING file checksum to bb file and add the "BSD" information according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:50 -08:00
Mei Lei
c942f83960 base-files:Add license checksum to bb file
Add GPL-2 file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:50 -08:00
Mei Lei
00c5be8944 qmmp:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:50 -08:00
Mei Lei
e2444d6362 mc:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:50 -08:00
Mei Lei
6d70138787 libxml-simple-perl:Add license checksum to bb file
Add README file checksu  to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:50 -08:00
Mei Lei
a82702db5a libtheora:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:50 -08:00
Mei Lei
dcf68c33d9 dtc:Add license checksum and add the GPL information
Add GPL file and libfdt.h file checksum to bb file and add the "GPLv2|BSD" according to the License file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:49 -08:00
Mei Lei
c373cfca74 lsof:Add license checksum to bb file
Add 00README file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:49 -08:00
Mei Lei
85266fa8de make:Add license checksum and update the GPL information
Add COPYING file and COPYING.LIB file checksum to bb file and add the "GPLv3" "GPLv2" according to the license file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:49 -08:00
Mei Lei
c4c11d9d80 quilt:Add license checksum and update the GPL information
Add COPYING file checksum to bb file and add "GPLv2" information according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:49 -08:00
Mei Lei
d5132c5f35 python-scons:Add license checksum and update the GPL information
Add LICENSE.txt file checksum to bb file and update the "GPL" to "MIT" according to the License file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:49 -08:00
Mei Lei
5d378ef3c8 python-pyrex:Add license checksum and update the License information
Add LICENSE.txt file checksum to bb file and update the "GPL" to "Apache License Version 2.0" according to the License file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:49 -08:00
Mei Lei
f48c8d8563 python-pygtk:Add license checksum and update the GPL information
Add COPYING file checksum to bb file and update the "LGPL" to "LGPLv2.1" according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:49 -08:00
Mei Lei
d5e9c266b2 python-pygobject:Add license checksum and update the GPL information
Add COPYING file checksum to bb file and update the "LGPL" to "LGPLv2.1" according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:48 -08:00
Mei Lei
373e5c2a81 python-imaging:Add license checksum to bb file
Add README file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:48 -08:00
Mei Lei
6b306bcabc python-dbus:Add license checksum to bb file
Add LICENSE file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:48 -08:00
Mei Lei
75f93fe26e python:Add license checksum to bb file
Add LICENSE file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:48 -08:00
Mei Lei
246daac749 prelink:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:48 -08:00
Mei Lei
96a1ab021b perl:Add license checksum to bb file
Add Copying file and Artistic file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:48 -08:00
Mei Lei
7eca517d2f mpfr:Add license checksum and update the GPL information
Add COPYING file and COPYING.LESSER file checksum to bb file and add the "GPLv3" to "LGPLv3" according to the license file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:47 -08:00
Yu Ke
7a2f8ad4e9 xf86-video-omapfb: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:47 -08:00
Yu Ke
499b73aa75 xf86-video-intel: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:47 -08:00
Yu Ke
155b0aa1b2 xf86-input-synaptics: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:47 -08:00
Yu Ke
4d22fc5bf9 xf86-video-vesa: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:47 -08:00
Yu Ke
05c4828721 qemugl: add license checksum
also correct the license type according to the src

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:47 -08:00
Yu Ke
e8127b7c9a libdrm: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:46 -08:00
Yu Ke
b6f8686561 iputils: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:46 -08:00
Yu Ke
5f4801b819 fotowall: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-02 05:24:46 -08:00
Zhai Edwin
3c3c8d765f libgdata: Add 0.6.5 as new recipe
Upgrading eds-dbus to 2.32.1 requires libgdata >= 0.6.3 (0.7.0 breaks the API)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-12-02 05:24:46 -08:00
Mei Lei
97f78fef28 gcc:Add license checksum and update the GPL information
Add COPYING COPYING3 COPYING.LIB COPYING3.LIB COPYING.RUNTIME files checksum to bb file and add the "GCC RUNTIME LIBRARY EXCEPTION"
 "GPLv3" "GPLv2" "LGPLv2" "LGPLv3" information according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:46 -08:00
Mei Lei
ed40911dd8 gdb:Add license checksum and update the GPL information
Add COPYING COPYING3 COPYING.LIB COPYING3.LIB files checksum to bb file and add the "GPLv3" "GPLv2" "LGPLv2" "LGPLv3" information according
to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:46 -08:00
Mei Lei
8eea67c13b gnu-config:Add license checksum and update the GPL information
Add config.guess file checksum to bb file and update the "GPL" to "GPLv1+" according to the license file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:46 -08:00
Mei Lei
0727e29db1 libconvert-ans1-perl:Add license checksum and update the GPL information
Add README file checksum to bb file and update the "GPL" to "GPLv1+" according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:45 -08:00
Mei Lei
9a5cf01b2a libtimedate-perl:Add license checksum and update the GPL information
Add README file checksum to bb file and update the "GPL" to "GPLv1+" according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:45 -08:00
Mei Lei
41b9ce7d81 libxml-parser-perl:Add license checksum to bb file
Add README file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:45 -08:00
Mei Lei
8d23d2a6e6 console-tools:Add license checksum and update the GPL information
Add COPYING.kbd file checksum to bb file and update the "GPL" to "GPLv2" according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:45 -08:00
Mei Lei
6230d87838 gobject-introspection:Add license checksum to bb file
Add COPYING.lib and COPYING.tools files checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:45 -08:00
Mei Lei
76ca305fcb consolekit:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:45 -08:00
Mei Lei
b4b4f0214e poky-feed-config-opkg: Add license checksum to bb file
Add COPYING file checksum to bb file

[sgw@linux.intel.com: changed to use ${POKYBASE} instead of L
Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-02 05:24:44 -08:00
Mei Lei
7bb3e4fad4 opkg-collateral:Add license checksum to bb file
Add COPYING.MIT file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:44 -08:00
Mei Lei
2de0ee1a9a modutils-collateral:Add license checksum to bb file
Get md5sum of COPYING.MIT file which under the meta directory, because this recipe is a local recipe, so we need to find the license file under the meta.
Import a new varible "L" to record the license file path. [sgw@linux.intel.com: removed]

[sgw@linux.intel.com]: remove changes to insane.bbclass and bitbake.conf, use the ${POKYBASE} variable instead.

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-01 20:47:05 -08:00
Mei Lei
16c22c65b3 quicky:Add license checksum to bb file
Add version.h file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-01 20:47:05 -08:00
Qing He
b9e40013b1 u-boot-mkimage: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:05 -08:00
Qing He
409b710e88 ubootchart: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:05 -08:00
Qing He
f5c6912fc4 yaffs2-utils: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:05 -08:00
Qing He
b9031a65ba zaurusd: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:04 -08:00
Qing He
f03b233fe5 v86d: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:04 -08:00
Qing He
713262b95b tinylogin: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:04 -08:00
Qing He
39611d322d tiff: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:04 -08:00
Qing He
02807a0e10 setserial: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:04 -08:00
Qing He
3fe19025fd resolvconf: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:04 -08:00
Qing He
e90278a7b7 parted: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:04 -08:00
Qing He
f8fe6482a0 ncurses: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:04 -08:00
Qing He
bc1d78d1ad hdparm: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:03 -08:00
Qing He
7fdffffba1 fakechroot: update license info
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:03 -08:00
Qing He
11566ac453 diffutils: update license
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:03 -08:00
Qing He
97951e9751 aspell: update license
Signed-off-by: Qing He <qing.he@intel.com>
2010-12-01 20:47:03 -08:00
Saul Wold
611ea2ff2f xrandr: fix License Checksum
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-12-01 20:31:22 -08:00
Kevin Tian
386a1f75c1 xproto: disable spec generation
it's simply broken with below errors:

| /usr/bin/xmlto: line 343: echo: write error: Broken pipe
| Making portrait pages on letter paper (215.9mmx279.4mm)
| Making portrait pages on letter paper (215.9mmx279.4mm)
| [warning] /usr/bin/fop: Unable to locate servlet-api in /usr/share/java
| [warning] /usr/bin/fop: Unable to locate servlet-api in /usr/share/java
| Nov 29, 2010 8:42:16 AM org.apache.fop.apps.FOURIResolver resolve
| SEVERE: Error with opening URL 'http://docbook.sourceforge.net/release/images/draft.png': No route to host

So temporarily disable it until we have a better solution for doc generation later

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-11-29 03:50:55 -08:00
Kevin Tian
b7ab194d93 libfontenc: add dependency on font-util
it's enforced by libfontenc configuration script

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-11-29 03:50:55 -08:00
Kevin Tian
9e87cbdd1e librsvg: append SRC_URI after inherit
or else gnome.bbclass overrides SRC_URI and the patch is not applied at all.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-11-29 03:50:22 -08:00
Richard Purdie
108925753d font-alias: Drop patch already applied upstream
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-29 03:43:15 -08:00
Richard Purdie
9a3f25dfb7 package-index: Fix after noexec changes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:54:33 -08:00
Richard Purdie
6e440f84f9 native.bbclass: Mark various package functions as noexec since they don't do any work
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:54:32 -08:00
Richard Purdie
58396a5d24 bitbake/runqueue: Teach scenequeue about noexec tasks (since they don't do anything we can assume they're always successful
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:54:32 -08:00
Richard Purdie
8044fc3347 native.bbclasS: Add handing to remap RDEPENDS fields and avoid crossed target and native dependency trees
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:54:32 -08:00
Richard Purdie
2bcbb2f93f font-alias: Set RDEPENDS to exclude encodings in the native case
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:54:32 -08:00
Richard Purdie
a146aa1e7e font-util: Set RDEPENDS for virtclass-native to exclude encodings to copy DEPENDS
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:54:32 -08:00
Richard Purdie
d4125bcac0 bitbake: Simplfy pre and post cooker hooks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:54:31 -08:00
Richard Purdie
c020207142 utility-tasks: Switch listtasks to use bb.plain() for printing output
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:54:31 -08:00
Richard Purdie
8a391c3d71 rm_work: Set BB_SCHEDULER as done in OE.dev to ensure disk space is freed sooner rather than at the end of the build
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:54:31 -08:00
Paul Eggleton
144d1b525d qemu: fix failure to find zlib header files during configure
Corrects problems during configure of qemu-native due to the BUILD_CFLAGS
not being included when attempting to compile the test program for zlib
within the configure script.

Signed-off-by: Paul Eggleton <paul.eggleton@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 14:39:19 +00:00
Richard Purdie
91ef6ae3fc curl: Fix gnutls option (append ordering was incorrect)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 14:10:53 +00:00
Richard Purdie
971fc21b8e scripts: Remove obsolete stage-manager scripts
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:14:21 +00:00
Richard Purdie
e1ab1e9ae1 scripts/poky-env-internal: Further cleanups
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 13:11:57 +00:00
Richard Purdie
f5e142abd6 scripts/poky-env-internal: Remove unset variables
These variables are not on any bitbake environment whitelist so will never make it into
the environment. This is legacy code which is not required any more so remove it.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 12:57:27 +00:00
Richard Purdie
bfa66493eb scripts/poky-env-internal/image-swab.bbclass: Remove OEROOT references
OEROOT isn't used outside the init script so stop exporting it into the environment
where it can "corrupt" sstate packages.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 12:41:09 +00:00
Richard Purdie
a39f335f59 bitbake/runqueue.py: Fix stamp handling for noexec tasks
This means the noexec messages are only shown once as the stamp files are now
correctly created.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-28 12:10:17 +00:00
Scott Garman
32d1125525 distro_tracking_fields.inc: update sudo, libpam, and mtools
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-11-24 13:25:21 -08:00
Scott Garman
70be879f01 mtools: add version 4.0.15
This is the latest release of mtools, which is also GPLv3. Leaving
the previous recipe as-is since it is GPLv2.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-11-24 13:25:21 -08:00
Scott Garman
698cef8322 libpam: upgrade to version 1.1.3
* Removed obsolete crossbinary patch
* Added source checksums
* Added LIC_FILES_CHKSUM and SUMMARY entries

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-11-24 13:25:21 -08:00
Scott Garman
c144f1693c sudo: upgrade to version 1.7.4p4
* Upgraded sudo to v1.7.4p4
* Removed obsolete patches
* Makefile.in no longer strips binaries, removed do_configure_prepend()
  section which used to remove the -s
* Updated HOMEPAGE to canonical URL for project
* Added SUMMARY field
* Added checksums for source tarball
* Added patch for correcting paths to libtool scripts in m4/
* Corrected typos in LIC_FILES_CHKSUM (use of startline was invalid)
  and included updated checksums - no license text has actually changed

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-11-24 13:25:21 -08:00
Saul Wold
345f77772b preferred-xorg-versions: Updated to reflect recipe updates
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 13:25:21 -08:00
Saul Wold
80f592c252 liberation-fonts: Added version 1.06, PREFERRED_VERSION is still 1.04
The new recipe requires fontforge, which is not added yet,
so the preferred version remains 1.04, when we have fontforge native
then we can remove this.

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 13:25:21 -08:00
Saul Wold
b43d82dcae gnome-doc-utils: Update to version 0.20.2
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 13:25:21 -08:00
Saul Wold
5094074899 cronie: Update to version 1.4.6
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 13:25:21 -08:00
Saul Wold
333ca679f2 libgnome-vfs: Update to version 2.24.4
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 13:25:20 -08:00
Saul Wold
b3934f3a5b libart-lgpl: Update to version 2.3.21
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 13:25:20 -08:00
Saul Wold
4127ac1ba2 librsvg: Update to version 2.32.0
Add doc/Makefile patch

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 13:25:01 -08:00
Saul Wold
cfb06f9a07 freetype: Update to version 2.4.3
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:36 -08:00
Saul Wold
da7c644173 libxcb: Update to version 1.7
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:36 -08:00
Saul Wold
eb0ca3f7d3 xrandr: Update to version 1.3.4
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:36 -08:00
Saul Wold
c653713706 encodings: Update to version 1.0.4
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:35 -08:00
Saul Wold
96dc0e20b9 font-alias: Update to version 1.0.3
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:35 -08:00
Saul Wold
3b044b670d font-util: Update to version 1.2.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:16 -08:00
Saul Wold
46f52285d5 libfontenc: Update to version 1.1.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:16 -08:00
Saul Wold
000eb8ac15 libice: Update to version 1.0.7
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:15 -08:00
Saul Wold
8debd91399 libpciaccess: Update to version 0.12.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:15 -08:00
Saul Wold
ffb24af2fd libsm: Update to version 1.2.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:15 -08:00
Saul Wold
3ecef7603e libxau: Update to version 1.0.6
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:15 -08:00
Saul Wold
fb0bd9aac1 libxcomposite: Update to version 0.4.3
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:15 -08:00
Saul Wold
80d2d053c0 libxcursor: Update to version 1.1.11
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:15 -08:00
Saul Wold
767ba224d5 libxdamage: Update to version 1.1.3
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:15 -08:00
Saul Wold
cd60f3d08b libxdmcp: Update to version 1.1.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:15 -08:00
Saul Wold
08f3edfdc8 libxext: Update to version 1.2.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:15 -08:00
Saul Wold
d65517a972 libxfixes: Update to version 4.0.5
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:14 -08:00
Saul Wold
9e79a55248 libxfont: Update to version 1.4.3
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:14 -08:00
Saul Wold
ca1f5d4d09 libxft: Update to version 2.2.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:14 -08:00
Saul Wold
287ec4bd2e libxi: Update to version 1.4.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:14 -08:00
Saul Wold
0071b8be66 libxinerama: Update to version 1.1.1
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:14 -08:00
Saul Wold
5f6f88603f libxkbfile: Update to version 1.0.7
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:14 -08:00
Saul Wold
69cdecf588 libxmu: Update to version 1.1.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:14 -08:00
Saul Wold
0ad8d9a598 libxpm: Update to version 3.5.9
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:14 -08:00
Saul Wold
e966497428 librandr: Update to version 1.3.1
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:14 -08:00
Saul Wold
690c9bd3ad librender: Update to version 0.9.6
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:13 -08:00
Saul Wold
23737dc14a libres: Update to version 1.0.5
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:13 -08:00
Saul Wold
eb8aa75e4c libxt: Update to version 1.0.9
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:13 -08:00
Saul Wold
129a3a83a7 libxtst: Update to version 1.2.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:13 -08:00
Saul Wold
aea4b37e66 libxv: Update to version 1.0.6
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:13 -08:00
Saul Wold
5d83b77cb0 xkeyboard-config: Update to version 2.0
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:13 -08:00
Saul Wold
56e6da4679 libxxf86dga: Update to version 1.1.2
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:13 -08:00
Saul Wold
d1840783ec libxxf86vm: Update to version 1.1.1
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:13 -08:00
Saul Wold
ed874edc9f xtrans: Update to version 1.2.6
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:13 -08:00
Saul Wold
3e07bee446 xproto: Update to version 7.0.19
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:12 -08:00
Saul Wold
2b4650f963 util-macros: Update to version 1.11
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:12 -08:00
Saul Wold
df8d8893b3 lttng-control: Update to version 0.88
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:12 -08:00
Saul Wold
af67762011 lttng-ust: Update to version 0.8
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:50:12 -08:00
Saul Wold
5de3fbc022 liburcu: Update to version 0.4.8
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-24 12:46:13 -08:00
Mei Lei
f35839e4d6 makedepend:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 18:50:21 +08:00
Mei Lei
0b43623364 m4:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 18:44:14 +08:00
Mei Lei
7ef481cf6c libpcre:Add license checksum to bb file
Add LICENSE file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 18:35:55 +08:00
Mei Lei
d4d2e21bcb libmpc:Add license checksum and update the GPL information
Add COPYING.LIB file checksum to bb file and add the "LGPLv2.1" according to the COPYING.LIB file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 18:32:10 +08:00
Mei Lei
693e593575 intltool:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 18:25:39 +08:00
Mei Lei
2cad70df05 gmp:Add license checksum and add the GPL information
Add COPYING file and version.c file checksum to bb file and add the "GPLv3" "LGPLv3" information according to the License files

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 18:21:12 +08:00
Mei Lei
4928ad8338 distcc:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 18:04:27 +08:00
Mei Lei
cb45aa05e0 diffstat:Add license checksum to bb file
Add install-sh file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 18:02:28 +08:00
Mei Lei
d68efb6152 byacc:Add license checksum and add the GPL information
Add copyright file checksum to bb file and add the license information according to the copyright file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 17:49:50 +08:00
Mei Lei
a9489ba771 bison:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 17:19:32 +08:00
Mei Lei
c8efa818d4 automake:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 17:17:26 +08:00
Mei Lei
dae0331779 autoconf:Add license checksum and add the GPL information
Add COPYING file and COPYINGv3 file checksum to bb file and add the "GPLv2" "GPLv3" according to the license file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 17:12:51 +08:00
Mei Lei
0b87aa1eaa psmisc:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 15:17:40 +08:00
Mei Lei
9e4e8ce475 pax-utils:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 14:46:44 +08:00
Mei Lei
ab2596d8cf mtools:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 14:35:04 +08:00
Mei Lei
20fbe9f33b modutils:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 14:29:20 +08:00
Mei Lei
56fa05a6d5 libpam:Add license checksum to bb file
Add COPYING file and copyright information in pam_loginuid.c checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 14:27:05 +08:00
Mei Lei
0b35808bbf libgdbus:Add license checksum and update the GPL information
Add COPYING and COPYING.LIB files checksum to bb file and update the "GPL" to "GPLv2", "LGPL" to "LGPLv2.1" according to the license files

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 13:53:41 +08:00
Mei Lei
890e14cff0 libffi:Add license checksum to bb file
Add LICENSE file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 13:46:23 +08:00
Mei Lei
5e1c8ff9ef libatomics-ops:Add license checksum and update the GPL information
Add COPYING file and LICENSING.txt checksum to bb file and the  "GPLv2" according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-24 11:16:10 +08:00
Mei Lei
429d583790 libacpi:Add license checksum to bb file
Add LICENSE file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:47:03 -08:00
Mei Lei
b2ff1cd01a insserv:Add license checksum and update the GPL information
Add COPYING file checksum to bb file and update the "GPL" to "GPLv2" according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:47:02 -08:00
Mei Lei
483ab5b54a gssdp:Add license checksum and update the GPL information
Add COPYING file checksum to bb file and update the "LGPL" to "LGPLv2" according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:47:02 -08:00
Mei Lei
f3a3b93e3a expat:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:47:02 -08:00
Mei Lei
a391494645 dosfstools:Add license checksum and update the GPL information
Add COPYING file checksum to bb file and update the "GPL" to "GPLv2" according to the COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:47:02 -08:00
Mei Lei
8ca67f7995 chrpath:Add license checksum and update the GPL to bb file
Add COPYING checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:47:02 -08:00
Mei Lei
78801f4460 beecrypt:Add license checksum and update the GPL to bb file
Add COPYING and COPYING.LIB checksum to bb file,add the "LGPLv2.1" according to COPYING.LIB

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:47:02 -08:00
Mei Lei
75921860df apt:Add license checksum to bb file
Add COPYING.GPL file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:47:02 -08:00
Mei Lei
7f9cf21642 apr-util:Add license checksum to bb file
Add LICENSE file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-23 16:46:50 -08:00
Mei Lei
0ec2c235df apr:Add license checksum to bb file
Add LICENSE file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:46:50 -08:00
Mei Lei
8ad0cb04a4 acpid: Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:46:50 -08:00
Mei Lei
b2470c8df5 minicom: Add license file checksum and update the GPL information to bb file
Add COPYING checksum to bb file and update the "GPL" to "GPLv2" according to COPYING

Signed-off-by: Mei Lei<lei.mei@intel.com>
2010-11-23 16:46:50 -08:00
Mei Lei
69c498387c dpkg:Add license file checksum to bb file
Add COPYING checksum to bb file

Signed-off-by: Mei Lei<lei.mei@intel.com>
2010-11-23 16:46:49 -08:00
Mei Lei
7d3a380d5a lttng:Add license file checksum and update the GPL information
Add COPYING checksum to bb file and update the "GPL" to "GPLv3" according to COPYING

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:46:49 -08:00
Mei Lei
2d72fd53fe libxtrap:Add license file checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:46:49 -08:00
Mei Lei
91c1a0f904 ttf-bitstream-vera:Add license file checksum to bb file
Add COPYRIGHT.TXT checksum to bb file

Signed-off-by: Mei Lei<lei.mei@intel.com>
2010-11-23 16:46:49 -08:00
Mei Lei
d383c46e4b libxprintutil:Add license checksum to bb file
Get the license checksum information from src/xprintutil.c

Signed-off-by: Mei Lei<lei.mei@intel.com>
2010-11-23 16:46:49 -08:00
Mei Lei
a3475041e3 libxprintapputil:Add license checksum to bb file
Get the license checksum information from the /src/xpapputil.c

Signed-off-by: Mei Lei<lei.mei@intel.com>
2010-11-23 16:46:49 -08:00
Mei Lei
5b38a2a8a0 libxpm: Add license file checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei<lei.mei@intel.com>
2010-11-23 16:46:48 -08:00
Mei Lei
2050a7257d libunique:Add license file checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei<lei.mei@intel.com>
2010-11-23 16:46:48 -08:00
Mei Lei
e2b9cab0e3 liberation-fonts:Add license file checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:46:48 -08:00
Mei Lei
533a0038d1 libart-lgpl:Add license file checksum and update the GPL information
Add COPYING file checksum and update the "LGPL" to "LGPLv2" according to COPYING file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:46:48 -08:00
Mei Lei
4cf8bff64c gnome-doc-utils:Add LGPL file and GPL file checksum to bb file
Add COPYING.GPL and COPYING.LGPL checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:46:48 -08:00
Mei Lei
34d0256db7 gccmakedep: Add license checksum to bb file
Add the license checksum information from Makefile.am to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:46:48 -08:00
Mei Lei
67b232f0d5 galago-daemon: Add license file checksum and update GPL information
Add COPYING file checksum to bb file and update the "GPL" to "GPLv2" according to the COPYING

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-11-23 16:46:48 -08:00
Saul Wold
d249f41334 task-poky-tools: fix up blktool
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-23 16:25:28 -08:00
Tom Zanussi
998ceaeaf1 blktrace: new package
Add blktrace, a tool for generating traces of the I/O traffic on block
devices.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-11-22 22:34:39 -08:00
Saul Wold
34660ef990 libsndfile: remove patches that are no longer required by upstream
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-22 22:11:52 -08:00
Dongxiao Xu
53aff7d677 utility-tasks.bbclass: Move distro related tasks to distrodata.bbclass
Most of the d.keys() used in file parsing are variables in
distro_tracking_fields.inc, which are not used in normal build.
Therefore remove the inclusion of distro_tracking_fields.inc from
poky.conf. Besides, move distro related tasks to distrodata.bbclass,
which includes that tracking field file.
By this change, the file parsing time could save about 25%.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-22 10:38:15 -08:00
Yu Ke
836b290732 imake: upgrade from 1.0.2 to 1.0.4
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-22 10:35:01 -08:00
Yu Ke
8de3400317 pango: upgrade from 1.28.0 to 1.28.3
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-22 10:33:08 -08:00
Yu Ke
e9d144f77e cairo: upgrade from 1.8.10 to 1.10.0
several chagnes are made:

- hardcoded_libtool.patch is removed, because the code (dolt logic) it
  applys to have been removed. dolt is originally introduced to
  accelerate libtool, it is later removed by commit 9de25a0297c due to
  libtool is fast enough. so this patch can be removed too.

- explicitly specify the package name as libcairo2. In 1.8.10, the debian
  rename hook (meta/classes/debian.bbclass:debian_package_name_hook )
  will automatically rename the package to libcairo2. When upgrade to
  1.10.0, the name changes to cairo, because the package contains not
  only library, but also bin executable. This name change will cause
  dependency  failure to thos package which depends on libcairo-1.8.10.
  so it is necessary to keep name as libcairo2 by explicitly specifing.

- specify extra package: libcairo-gobject2, libcairo-script-interpreter2
  and cairo-perf-utils. it is newly added in 1.10.0. The name schema is
  from Debian.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-22 10:33:08 -08:00
Qing He
89ab1ace5d curl: fix native dependency
disable gnutls for -native
also fix --with-gnutls parameter for target

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-22 10:30:30 -08:00
Paul Eggleton
4d6a8d2574 sanity.bbclass: add wget to required utilities
Signed-off-by: Paul Eggleton <paul.eggleton@intel.com>
2010-11-22 09:56:09 -08:00
Saul Wold
94b1fda096 web_svn: Fixup Patching and add libowl
libowl was missing from the link library list
There where patches being pulled in from the SVN trunk that confused
quilt, so we remove the patches directory before doing the patching
Added LIC_FILES_CHKSUM

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-22 15:37:21 +00:00
Saul Wold
cfe12efb5e Meta: Recipe Reogranization
This is the next stage of recipe reorganization, in this stage
many recipes where moved to a new meta-demoapps layer since this
is more appropriate for demo usage then the core. Additional some
recipes were moved to meta-extras to indicate they may be depercated
at a future time.

A number of recipes were modified since dependencies need to be
corrected.

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-22 13:57:13 +00:00
Saul Wold
762fd6b7b3 pimlico-tasks: remove patch
This patch is already applied in the newer upstream

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-22 10:25:36 +00:00
Saul Wold
f92b248d96 ed: fix patch and LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-22 10:25:35 +00:00
Saul Wold
869a677483 libfm: rename patch directory for package update
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
228159f6a0 distro tracking: Updates for libgpg-error...
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
77bc8d296b pcmanfm: Update to 0.9.8
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
b2277d168e libfm: Update to 0.1.14
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
deb39ecfbe gnome-keyring: Update to 2.32.1
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
cbd12b4698 libgnome-keyring: Update to 2.32.0
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
ea8a7e7704 matchbox-panel-2: Update to svn r2111
Also removed fix_sync_funcname.patch as we have it after update.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
e0a2dfd36e libsoup-2.4: Update to 2.32.1
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
45d3350c86 atk: Update to 1.32.0
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
5b74c1377d tasks: Update to 0.18
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
c4fe98746b libowl-av: Update to svn r416
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
6ea9cb9b7c avahi: Update to 0.6.28
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:35 +00:00
Zhai Edwin
e101a71e1b ed: Update to 1.5
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:34 +00:00
Zhai Edwin
32860b9e61 xz: Update to 5.0.0
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:34 +00:00
Zhai Edwin
411d39952b libuser: Update to 0.56.18
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:34 +00:00
Zhai Edwin
83586fb91c libassuan: Update to 2.0.1
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-11-22 10:25:34 +00:00
Zhai Edwin
f8e4c11ff3 libgpg-error: Update to 1.9
[sgw@linux.intel.com: removed duplicate LICNESE line]
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-22 10:25:34 +00:00
Yu Ke
5d5db6ccba pixman: upgrade from 0.18.2 to 0.20.0
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-22 10:25:34 +00:00
Yu Ke
161490f105 xrandr: upgrade from 1.3.2 to 1.3.4
Also remove the patch resolve_symbol_clash.patch,
because the code it applies to has been removed from
1.3.4, by commit ccb3f8a42b: "Remove --clone / --extend
support code", so this patch is no longer needed.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-22 10:25:34 +00:00
Yu Ke
685cfa94a3 xserver-xf86-dri-lite: upgrade from 1.9.0 rc4 to 1.9.2
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-22 10:25:34 +00:00
Yu Ke
1e2f122a17 xf86-video-intel: upgrade from 2.12.0 to 2.13.0
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-22 10:25:34 +00:00
Yu Ke
41111d4ff5 libdrm: upgrade from 2.4.21 to 2.4.22
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-22 10:25:34 +00:00
Scott Garman
063dae4f5e distro_tracking_fields.inc: update tar and openssh
Updated to include recent tar upgrade.
Also fixes inaccurate info in openssh.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-11-22 10:25:34 +00:00
Scott Garman
f8afc369a8 tar: upgrade to version 1.25
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-11-22 10:25:34 +00:00
Dongxiao Xu
aa70226d0e distro_tracking: Update distro tracking fields for pm-utils, netbase, etc.
pm-utils
netbase
mtd-utils
glib-2.0
msynctool
polkit
polkit-gnome

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-22 10:25:33 +00:00
Dongxiao Xu
433447c858 polkit-gnome: Upgrade to version 0.99
Fixed its metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-22 10:25:33 +00:00
Dongxiao Xu
db3ce4f7f6 polkit: Upgrade to version 0.99
Add some missing files while do_package.
Also fix its metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-22 10:25:33 +00:00
Dongxiao Xu
878878af89 msynctool: Upgrade to version 0.38
Fixed its metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-22 10:25:33 +00:00
Dongxiao Xu
9cc3ea6579 mtd-utils: Upgrade to version 1.4.1
Remove add-oobsize-64-and-writesize-4096-as-normal-nand.patch
since the original code logic no longer exists.

Do not include fix-ignoreerrors-git.patch since variable
"ignoreerrors" is not defined in current code.

Fix recipe metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-22 10:25:33 +00:00
Dongxiao Xu
a2ede09151 netbase: Upgrade to version 4.43
Fixed its metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-22 10:25:33 +00:00
Dongxiao Xu
d80c854c70 pm-utils: Upgrade to version 1.4.1
Fixed its metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-22 10:25:33 +00:00
Kevin Tian
4ad20191b6 poky.conf: add "virtual:native:" to BB_HASHTASK_WHITELIST
native signatures are not counted in dependency chain as they're bound
to build system.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-11-21 18:19:34 +00:00
Kevin Tian
ad0e271a03 update-alternatives.bbclass: don't expand var when appending do_install
Or else absolute paths may be expanded which then breaks sstate signature
comparison.

I'm not sure whether pre/post funcs can be expanded or not. They are
invoked at image build or on the target, and thus need be expanded some
place. But if one recipe does use directories under TMP in its postinst
helpers, this would be an issue again.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-11-21 18:17:24 +00:00
Saul Wold
bd3b63179c linux-emenlow: Correct KMACHINE after kernel rename
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-20 17:11:15 -08:00
Saul Wold
f6e0a5b027 libxvmc: Upgrade to 1.0.6
fix LIC_FILES_CHKSUM

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-19 11:49:53 +00:00
Saul Wold
48a6e9c356 glproto: fix LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-19 11:49:53 +00:00
Mei Lei
9b9472ad24 distro_tracking_fields.inc: remove some invalid packages information from it
This commit fix [BUGID #514]

Some packages were removed from the world, but their information also exist in the distro_tracking_fields.inc.

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-19 11:49:53 +00:00
Dongxiao Xu
dfc8bf318f libfm: add missing definitions and declarations
Some macro definitions are missing in the new glib headers, which are
needed by libfm. Add these to fix the libfm build issue.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:28 -08:00
Dongxiao Xu
a79165c616 matchbox-panel: Change function name "sync" to avoid conflict
/usr/includes/unistd.h also has a function named sync().
Change sync() in matchbox-panel-2 to sync_applet().

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:28 -08:00
Dongxiao Xu
0a751b7dc2 gst-plugins-base: Fix build error
The latest tremor has dropped its internal libogg2, which
gst-plugins-base is depend on.

Remove the "-DTREMOR" in gst-plugins-base Makefile.am to
fix the build issue.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:28 -08:00
Dexuan Cui
aef25de421 Distro Tracking: update distro tracking field for recipes of Graphics libs
They are:

damageproto
fixesproto
fontsproto
glproto
kbproto
randrproto
recordproto
scrnsaverproto
videoproto
xcmiscproto
xextproto

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:28 -08:00
Dexuan Cui
3311471be0 xextproto: upgrade from 7.1.1 to the latest version 7.1.2
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:28 -08:00
Dexuan Cui
a6810e6c2c xcmiscproto: upgrade from 1.2.0 to the latest version 1.2.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:28 -08:00
Dexuan Cui
24c4edc5e7 videoproto: upgrade from 2.3.0 to the latest version 2.3.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:28 -08:00
Dexuan Cui
94454047be scrnsaverproto: upgrade from 1.2.0 to the latest version 1.2.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:27 -08:00
Dexuan Cui
4438620b41 recordproto: upgrade from 1.14 to the latest version 1.14.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:27 -08:00
Dexuan Cui
882d8e8a68 randrproto: upgrade from 1.3.1 to the latest version 1.3.2
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:27 -08:00
Dexuan Cui
ca4e362e20 kbproto: upgrade from 1.0.4 to the latest version 1.0.5
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:27 -08:00
Dexuan Cui
3500a64990 glproto: upgrade from 1.4.11 to the latest version 1.4.12
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:27 -08:00
Dexuan Cui
480cf8c542 fontsproto: upgrade from 2.1.0 to the latest version 2.1.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:27 -08:00
Dexuan Cui
c081c06a3f fixesproto: upgrade from 4.1.1 to the latest version 4.1.2
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:27 -08:00
Dexuan Cui
0272e2463a damageproto: upgrade from 1.2.0 to the latest version 1.2.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-18 13:30:27 -08:00
Qing He
5c1e52c1fe openssl: upgrade to version 0.9.8p
from 0.9.8o

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-18 13:30:27 -08:00
Qing He
9600b79f27 sysstat: upgrade to version 9.1.5
from 9.1.4

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-18 13:30:27 -08:00
Qing He
8afecaa635 dhcp: upgrade to version 4.2.0
from 4.1.1-P1

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-18 13:30:26 -08:00
Qing He
7227aafcce dbus-glib: upgrade to version 0.88
from 0.86

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-18 13:30:26 -08:00
Qing He
9c0cecbf6a dbus: upgrade to version 1.4.0
from 1.2.24

 - fix-install-daemon is removed since two binaries can be handled
   correctly by Makefile

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-18 13:30:26 -08:00
Qing He
aaa29fff39 busybox: upgrade to version 1.17.3
from 1.16.2
update license info: add checksum and change gplv2+ to gplv2

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-18 13:30:26 -08:00
Qing He
07b8765e0d syslinux: upgrade to version 4.03
from 3.86
rebased the patch

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-18 13:30:26 -08:00
Qing He
a57838dace libtasn1: upgrade to version 2.8
from 2.7

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-18 13:30:26 -08:00
Qing He
a7db6e872e libnl: upgrade to version 2.0
from 1.1
removed outdated patches

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-18 13:30:26 -08:00
Saul Wold
621f573569 taglib: fix SRC_URI
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:26 -08:00
Saul Wold
ba6a6da725 taglib: Change upstream location due to failing fetch
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:26 -08:00
Nitin A Kamble
5958098e4f linux-libc-headers: upgrade from 2.6.34 to 2.6.36
The upstream code has changed, and it does not need these fixes
anymore.

Removed these patches:
    hayes-gone.patch
    ppc_glibc_build_fix.patch

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-18 13:30:25 -08:00
Nitin A Kamble
563953df47 libtool upgrade from 2.2.10 to 2.4
Taking out of this code from patch as the newer upstream code has fix,
and this patch is not needed.

cross-compile.patch:
-Index: libtool-2.2.10/libltdl/config/ltmain.m4sh
+Index: libtool-2.4/libltdl/config/ltmain.m4sh
 ===================================================================
---- libtool-2.2.10.orig/libltdl/config/ltmain.m4sh
-+++ libtool-2.2.10/libltdl/config/ltmain.m4sh
-@@ -5147,8 +5147,14 @@ func_mode_link ()
-           absdir="$abs_ladir"
-           libdir="$abs_ladir"
-         else
--          dir="$libdir"
--          absdir="$libdir"
-+          # Adding 'libdir' from the .la file to our library search
paths
-+          # breaks crosscompilation horribly.  We cheat here and don't
add
-+          # it, instead adding the path where we found the .la.  -CL
-+          dir="$abs_ladir"
-+          absdir="$abs_ladir"
-+          libdir="$abs_ladir"
-+          #dir="$libdir"
-+          #absdir="$libdir"
-         fi
-         test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
-       else

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-18 13:30:25 -08:00
Nitin A Kamble
aa5befab23 poky-default.inc: update gcc & linux-libc-headers versions
This would avoid warnings like these:
NOTE: preferred version 4.5.0 of gcc-runtime not available
libgcc-dev)
NOTE: preferred version 2.6.34 of linux-libc-headers not available
item linux-libc-headers-dev)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-18 13:30:25 -08:00
Nitin A Kamble
b1dd356f5e gcc: upgrade from 4.5.0 to 4.5.1
Removed these patches which are not needed anymore.
  gcc-4.5.0_to_svn_162697.patch.bz2 : All the commits in this patch is
          part of the 4.5.1 branch. So moving to 4.5.1 makes this patch
          obsolete
  gcc_revert_base_version_to_4.5.0.patch: moving to 4.5.1 removes need
          of this patch
  gcc-pr43698-arm-rev-instr.patch: upstream has this fix.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-18 13:30:25 -08:00
Nitin A Kamble
caf8fe3749 task-poky-sdk: add tcl package in the sdk image
poky-image-sdk target does not build tcl package. This commit fixes it.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-18 13:30:25 -08:00
Saul Wold
0c02e2db99 clutter-gtk-1.0: Fix build issues for world build
Added a patch to enable GTK_WIDGET macros properly
Added LIC_FILES_CHKSUM
Fixed up LICENSE Metadata

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:25 -08:00
Saul Wold
32f0537565 python-gst: Fix the configure patch & add LIC_FILE_CHKSUM
Fixed the acinclude.m4 patch for the py_prefix to correct a host contamination check
Added LIC_FILE_CHKSUM for COPYING
LICENSE Update

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:25 -08:00
Saul Wold
252a42486f .gitignore: update for new bsp-guide location
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:25 -08:00
Saul Wold
227c1f8154 web_svn: make it buildable for world build
libowl was missing from the link library list
There where patches being pulled in from the SVN trunk that confused
quilt, so we remove the patches directory before doing the patching
Added LIC_FILES_CHKSUM
Updated LICENSE Metadata

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:25 -08:00
Saul Wold
9807ad25e5 subversion: Fix host contamination
The with-sasl check was looking into /usr/local, so a prepend_configure
was added to modify the /usr/local to ${STAGING_DIR} in build/ac-macros/sasl.m4

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:25 -08:00
Saul Wold
1b3dab588b telepathy: Update telepathy-glib and telepathy-idle for world build
Updated telepathy-glib to 0.9.2
Updated telepathy-idle to 0.1.2
Added LIC_FILES_CHKSUM and corrected LICENSE metadata

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:24 -08:00
Saul Wold
041fc758e2 libsndfile: Upgrade to 1.0.23
Renamed and moved to recipes-multimedia

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-18 13:30:24 -08:00
Mei Lei
48c8100cc1 distro_tracking_fields.inc: remove some packages information from it
This commit fix [BUGID #514]

Some packages were removed from the world, but their information also exist in the distro_tracking_fields.inc.
[sgw@linux.intel.com: merged with head]

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:24 -08:00
Dongxiao Xu
cd3daabd37 distro_tracking: update distro tracking fileds for bluez4, neon, etc.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:24 -08:00
Dongxiao Xu
d4cebfa345 libmusicbrainz: Upgraded to version 3.0.3
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:24 -08:00
Dongxiao Xu
21f7117ad0 taglib: Upgraded to version 1.6.3
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:24 -08:00
Dongxiao Xu
494afcb2fe glib-2.0: Upgraded to version 2.27.3
Remove gatomic-proper-pointer-get-cast.patch since the logic
is already in latest upstream.
Rebase other patches to fit the latest code.

[sgw@linux.intel.com: Fixed LIC_FILES_CHKSUM]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:24 -08:00
Dongxiao Xu
f4c814606f valgrind: Upgraded to version 3.6.0
Remove valgrind_3.5.0-svn_r11264.patch.bz2 which replaces version
3.5.0 to r11264.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:24 -08:00
Dongxiao Xu
726746f400 tremor: Upgraded to rev 17572 (2010/10/27)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:24 -08:00
Dongxiao Xu
bfc2842237 libproxy: Upgraded to version 0.4.6
Remove the disable_Os_option.patch since the latest code doesn't
use Os option.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:23 -08:00
Dongxiao Xu
7d0a0f95e9 libical: Upgraded to version 0.46
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:23 -08:00
Dongxiao Xu
d97ea06801 kexec_tools: Upgraded to version 2.0.2
Remove the patch since the fix is already in latest upstream.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:23 -08:00
Dongxiao Xu
3936e0a7cb quota: Upgraded to version 4.00-pre1
[sgw@linux.intel.com: Fixed LIC_FILES_CHKSUM]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-18 13:30:23 -08:00
Dongxiao Xu
28d05b700f libvorbis: Upgraded to version 1.3.2
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:23 -08:00
Dongxiao Xu
edc7f3e845 libogg: Upgrade to version 1.2.1
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:23 -08:00
Dongxiao Xu
170985eff1 neon: Upgraded to version 0.29.5
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:23 -08:00
Dongxiao Xu
f7b34692de bluez4: Upgraded to version 4.79.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-18 13:30:23 -08:00
Yu Ke
23769357b9 distro tracking: update the info for upgrade recpies
they are:
xmodmap
cracklib
xf86-input-evdev
xf86-input-mouse
xf86-video-vmware
sqlite3
xf86-input-vmmouse
xwininfo
xset
xauth

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-18 13:30:23 -08:00
Yu Ke
20b05e5d4a cracklib: upgrade from 2.8.16 to 2.8.18
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-18 13:30:22 -08:00
Bruce Ashfield
c70816cb90 linux-wrs: rename to linux-yocto
The existing preferred yocto kernel wasn't named appropriately
and needs to be updated.

In keeping the changes small and isolated, this commit simply
renames the recipe and some internal variables. Future commits
will refactor the code into more usable blocks.

Now that linuy-wrs has been renamed linux-yocto, we need
to rename and update an board configurations and append
files.

Now that linux-wrs has been renamed linux-yocto, we need to
update the SRCREVs to have the new name.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-18 13:30:22 -08:00
Nitin A Kamble
771d890d08 eglibc: rebase a nativesdk patch to the newer code
After the eglibc svn commit bumping, this nativesdk recipe's patch is
failing. This commit rebases it to the newer code.

and bump PR.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-18 10:38:35 -08:00
Kevin Tian
eaa188f3b9 siggen.py: fix comparison around runtaskdeps
two dep lists should be sorted before the comparison, or else it just
causes false-positive confusion.

Also fix 'taskdeps' to 'runtaskdeps' when printing out the difference.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-11-15 23:04:06 +00:00
Scott Rifenbark
62f93ac42d Poky Reference Manual: General edits up to the "Debugging with GDB Remotely" section.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:26 +00:00
Scott Rifenbark
175be120f3 Poky Reference Manual: Added a glossary definition for BBPATH.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:26 +00:00
Scott Rifenbark
444597f44e Poky Reference Manual: Task wording made consistent
I am using "xxxxxx" task as the way to call out a specific task in the
text.  Previously a mix of <function>xxxxxx</function> and the "xxxxxx"
methods were being used.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:26 +00:00
Scott Rifenbark
8914519565 Poky Reference Manual: General edits for English.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
c2f7ed472c Poky Reference Manual: Removed the bsp.xml file.
Because I am single-sourcing the bsp.xml file that is used both as
chapter 4 in the Poky Reference Manual and as the singe file in the BSP
Guide I removed the bsp.xml file that was local to the poky-ref-manual
folder.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
b1f69283b3 BSP Guide and BSP Chapter in Poky Reference Manual: Changed wording
I created wording in the second paragraph of this file so that it can
fit both the context of the BSP Guide and the BSP chapter of the
Poky Reference Manual.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
2cf5aafc28 Poky Reference Manual: Changed source location of the bsp.xml file
Because BSP chapter (bsp.xml) is identical to the single file used
in the BSP Guide (also bsp.xml but in the bsp-guide folder) I have decided
to change where the Poky Reference Manual get the bsp.xml file.  This commit
causes it to get the file from the bsp-guide folder instead of an identical
but separate bsp.xml file local to the poky-ref-manual folder.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
4e6a8212c0 Poky Reference Manual: Fixed list tag.
There was a mis-matched list element in an ordered list near the end
of the chapter.  I had an <orderedlist> tag matched with an </itemizedlist>
tag preventing the make.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
f30a2a7e4d BSP Guide: Fixed tag mis-match.
There was a errant tag mis-match where I had used <orderedlist> and
ended it with </itemizedlist>.  This was preventing the make.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
2d6441d17e BSP Guide and BSP Chapter: Sync'ed these two files
After moving BSP Guide into its own folder for documentation I discovered
a consequence of that.  There are two separate bsp.xml files now:  one
in the poky-ref-manual folder and one in the bsp folder.  I had done some
good cleanup work in the version in the poky-ref-manual folder.  This
commit reflects a 'meld' operation where I re-sync'ed the bsp.xml
file in the bsp-guide folder to be the same (almost) as the one in the
poky-ref-manual folder.  There is still one slight difference between the
two files due to one's context as a stand-alone manual and the other as
a section in a larger book.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
89e64dbe9e Poky Reference Manual: Added XSL Customization layer file
The xsltproc command in the Makefile now uses the XSL Customization
layer style sheet poky-ref-manual-customization.xsl for the style
sheet parameter.  This method will allow for customization of the
HTML version formatting that might be unique for the manual. I have
added the new file to the file structure.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
c08140c0c8 Poky Reference Manual: Added XSL Customization layer use
The xsltproc command now uses the XSL Customization layer style sheet
poky-ref-manual-customization.xsl for the style sheet parameter.  This
method will allow for customization of the HTML version formatting that
might be unique for the manual.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
0a23df95f7 Poky Reference Manual: Clean up Makefile
I moved the XSLTOPTS variables to the top of the file so they will
be defined first.  This is an attempt to fix the seemingly random
HTML runtime errors I am getting during the 'make html' command.
It seems to be consistently working now.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
5dc7082f8f Poky Reference Manual: Fixed broken link in Ref Images appendix.
In the Ref Images appendix there was a link to the section
"External Development Using the Poky SDK" section that did not work
due to the section id string changing.  I fixed the link.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
b978c8e251 Poky Reference Manual: Added BBFILE_PRIORITY glossary term.
The Extending Poky chapter referenced this non-existent term.  I
added it.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
ab92ec1a87 Poky Reference Manual: Added BBFILE_COLLECTIONS glossary term.
The Extending Poky chapter was referencing a non-existent BBFILE_COLLECTIONS
glossary term.  I added the term.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
4a671e54cc Poky Reference Manual: Added BBLAYERS to glossary.
Added an entry for BBLAYERS in the ref-variables (glossary) appendix.
The Extending Poky chapter was referencing this variable and it did not
exist.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:25 +00:00
Scott Rifenbark
731cedfb35 Poky Reference Manual: Spell check performed.
Found and corrected about 6 or 7 mis-spelled words.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
3f9700a286 Poky Reference Manual: Added consistency to literallayout text.
I added some indentation for better presentation of the literal text.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
a915d0105d Poky Reference Manual: Cleaned up and checked all XML tags.
Just a few minor changes like creating consistent indentation.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
00b5b4dff7 Poky Reference Manual: XML tag clean up and command example text indentation.
Removed a couple of redundant </ulink> tags.
Also indented the literallayout text by five spaces for formatting.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
d16bbc076a Poky Reference Manual: A couple more minor fixes.
I found another redundant </ulink> tag.
I removed the word sections from within a section link in a couple of places.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
bf3ae7f66a Poky Reference Manual: Clean up of the XML tags
Added a section id to the 'welcom to poky' section that was missing.
Removed a redundant </ulink> tag that was not needed.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
63596cbfb1 BSP Guide: Updated xsltproc command to pass the bsp-guide-customization.xsl style sheet.
Because I created the file 'bsp-guide-customization.xsl' to try and eliminate odd
HTML runtime errors and to allow for customized XSL layer of formatting, it was necessary to
update the Makefile to call the new file as the XSL style sheet.
The Yocto Project Quickstart uses this technique and has no HTML build
problems.

HTML build errors seem to be eliminated so far.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
6e3576c0aa BSP Guide: I created a new figure for the title page.
Since the BSP Guide is under its own cover I thought it would be good
to have its title page not have the Poky Handbook PNG image.  I created
this BSP image for use with the stand-alone BSP Guide.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
d68613e05d BSP Guide: Created new file for XSL customization expansion.
I created the file 'bsp-guide-customization.xsl' to try and eliminate odd
HTML runtime errors and to allow for customized XSL layer of formatting.
The Yocto Project Quickstart uses this technique and has no HTML build
problems.

HTML build errors seem to be eliminated so far.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
5ca54c6269 BSP guide: Updated the book id.
I updated the string used for the book id from 'poky-handbook' to
'bsp-guide'

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
440894bb6f BSP Guide Makefile: HTML generation debugging edits.
I am getting occasional errors while attempting to make the HTML version
of this manual.  The error is generated from line 367 of the html.xsl
style sheet and seems to come from confusion of not finding the css
style sheet parameter.  Here is the error from the shell window.

scottrif@scottrif-desktop:~/poky/documentation/bsp-guide$ make html
xsltproc --stringparam html.stylesheet style.css --stringparam  chapter.autolabel 1 --stringparam  section.autolabel 1 --stringparam  section.label.includes.component.label 1 --xinclude -o bsp-guide.html http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl bsp-guide.xml
Note: namesp. cut : stripped namespace before processing
WARNING: cannot add @xml:base to node set root element.  Relative paths may not work.
Note: namesp. cut : processing stripped document
runtime error: file http://docbook.sourceforge.net/release/xsl/current/xhtml/html.xsl line 367 element choose
Variable 'generate.css.header' has not been declared.
make: *** [html] Error 10

The odd think is that running "make html" immediately again could cause the
make to be entirely successful.

So this commit involved moving the XSLTOPTS parameters to the top of the
make file and the *_URI parameter declarations to the top as well.  This
takes them out of the "pdf" area of the make file and they should be
more universal.  The reason I tried this is because I have no such issues
when building the yocto-project-qs HTML file.

However, even with these changes the occasional runtime error (shown above)
still occurs.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
7066eff0bd BSP Developers Guide: Edits to text
I made several spelling corrections and rewrote a sentence or two for
better structure.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
d7f70e0c20 Added a new PNG file into the tar command.
Since this manual is about BSP and not Poky as is the Poky Reference
Manual I updated the title page to include the title combined with the
Yocto Project logo.  So for the background-image url in the .authorgroup
style I replaced the poky-ref-manual.png file with bsp-title.png.
Updates affect both the PDF and HTLM versions of the BSP Guide.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
00c23106d4 Added a new PNG file (bsp-title.png) as the imagedata tag.
Since this manual is about BSP and not Poky as is the Poky Reference
Manual I updated the title page to include the title combined with the
Yocto Project logo.  Updates affect both the PDF and HTLM versions
of the BSP Guide.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Rifenbark
7c2735f509 Added a new PNG file into the tar command.
Since this manual is about BSP and not Poky as is the Poky Reference
Manual I updated the title page to include the title combined with the
Yocto Project logo.  Updates affect both the PDF and HTLM versions
of the BSP Guide.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-15 22:25:24 +00:00
Scott Garman
a4a896165c poky-qemu: Fix issues when running Yocto 0.9 release images
This fixes two bugs with poky-qemu when it is run from a
standalone meta-toolchain setup.

[BUGFIX #535] and [BUGFIX #536]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-11-14 21:08:28 -08:00
Bruce Ashfield
c01e2a68dd linux-wrs: BSP bootstrap
Updating the kern-tools SRCREV to pickup changes required for
BSP bootstrapping:

commit 9722d8decacd2b750f079b3fde7918810700f80e
Author: Bruce Ashfield <bruce.ashfield@windriver.com>
Date:   Thu Nov 11 01:28:33 2010 -0500

    createme: improve BSP bootstrapping

    To streamline BSP bootstrapping, createme now actually
    creates the required branch rather than only dumping it
    in a .scc file. Later phases of the build will create
    the .scc file, so it isn't required here.

    Also, a BSP with a '-' in the name would break the parent
    branch detection. Improving the parsing of this allows more
    flexibile branch naming.

    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

commit c7d222b4cffb5108d9b14298fc4dc4cae31b784f
Author: Bruce Ashfield <bruce.ashfield@windriver.com>
Date:   Thu Nov 11 01:27:33 2010 -0500

    updateme: improve parent and target parsing

    A BSP with a '-' in the name would break the parent branch
    detection. Improving the parsing of this allows more
    flexibile branch naming.

    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-14 21:08:28 -08:00
Bruce Ashfield
9aaa15c8ed linux-wrs: implement BSP bootstrapping via fallback branches
When creating a new BSP there isn't always an upstream branch
to validate SRCREVs against. Therefore, creating a new BSP
required extra manipulations of the git repository, even though
the branch for the build would be dynamically created.

To fix this, provide a fallback to the 'standard' branch if
WRMACHINE is not assigned a specific value for the given MACHINE.
The fallback saved in KBRANCH, and represents the branch that
we should build, even if no fallback is required. Some substeps
of the recipe have been updated to use KBRANCH rather than
enforcing MACHINE-KERNELTYPE.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-14 21:08:28 -08:00
Joshua Lock
0ec9475c6f image-swab: update swabber command for latest version
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-11-14 21:08:28 -08:00
Joshua Lock
6e3a1cd30e poky-default-revisions: bump swabber version
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-11-14 21:08:28 -08:00
Joshua Lock
9f0e14619f gitignore: ignore the default downloads directory
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-11-14 21:08:27 -08:00
Joshua Lock
d77e755574 image-swab: introduce a class for generating swabber reports
Add a postprocess command to rootfs generation which generates a swabber
report.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-11-14 21:08:27 -08:00
Joshua Lock
9545130576 bitbake-runtask-strace: simple shell script to wrap tasks in a strace call
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-11-14 21:08:27 -08:00
Nitin A Kamble
b7ce75703a poky-fixed-versions: update version for python recipe
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-14 21:08:27 -08:00
Nitin A Kamble
20298d1c34 distro_tracking: update as per current state of devel/toolchain recipes
clean up the tracking data for devel/toolchain recipes

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-14 21:08:27 -08:00
Nitin A Kamble
c02fae6675 eglibc: update svn checkout commit
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-14 21:08:27 -08:00
Nitin A Kamble
d94f4c65a9 lsof: upgrade from 4.83 to 4.84
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-14 21:08:26 -08:00
Nitin A Kamble
793bb465b3 python, python-native upgrade from 2.6.5 to 2.6.6
Removed these patch:
    python-native-2.6.5/00-fix-bindir-libdir-for-cross.patch
    python/00-fix-bindir-libdir-for-cross.patch

The upstream code has changed, and it does not need the above 2 patches
(fixes) anymore.

Patches rebased to the newer code:
   python/01-use-proper-tools-for-cross-build.patch
   python/04-default-is-optimized.patch
   python/06-avoid_usr_lib_termcap_path_in_linking.patch
   python/99-ignore-optimization-flag.patch

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-14 21:08:26 -08:00
Nitin A Kamble
a7af5c516e python-gst: upgrade from 0.10.18 to 0.10.19
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-14 21:08:26 -08:00
Nitin A Kamble
e5f5090cc0 gdb upgrade from 7.1 to 7.2
Add new patch:
  gdb/fix_for_build_error_internal_error_call.patch : this avoids a
build error.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-14 21:08:26 -08:00
Nitin A Kamble
5319e5f05d diffstat: upgrade from 1.47 to 1.54
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-14 21:08:26 -08:00
Nitin A Kamble
13c47d76bf Make upgrade from 3.81 to 3.82
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-14 21:08:26 -08:00
Nitin A Kamble
bebb90b298 bison upgrade from 2.4.2. to 2.4.3
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-11-14 21:08:25 -08:00
Dongxiao Xu
5171c07ffc distro_tracking: Update distro tracking for gstreamer and gst-* recipes
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-14 21:08:25 -08:00
Yu Ke
f96088a51c xauth: upgrade from 1.0.4 to 1.0.5
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-14 21:08:25 -08:00
Yu Ke
cf062bf456 xset: upgrade from 1.1.0 to 1.2.1
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-11-14 21:08:25 -08:00
Yu Ke
d67ede746b xwininfo: upgrade from 1.0.5 to 1.1.1
LIC_FILES_CHKSUM Changed due to Sun -> Oracle License Change

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-14 21:08:25 -08:00
Yu Ke
72ce1a2983 xf86-input-vmmouse: upgrade from 12.6.9 to 12.6.10
Fixed LIC_FILES_CHKSUM due to license change from Sun -> Oracle

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-14 21:08:25 -08:00
Yu Ke
614f946de2 xf86-video-vmware: upgrade from 11.0.1 to 11.0.3
Fixed LIC_FILES_CHKSUM due to license change from Sun -> Oracle

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-14 21:08:25 -08:00
Yu Ke
cf17e43612 xf86-input-mouse: upgrade from 1.5.0 to 1.6.0
Fixed LIC_FILES_CHKSUM due to license change from Sun -> Oracle

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-14 21:08:24 -08:00
Yu Ke
7844f7a948 xf86-input-evdev: upgrade from 2.4.0 to 2.5.0
Fixed LIC_FILES_CHKSUM due to license change from Sun -> Oracle

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-14 21:08:24 -08:00
Yu Ke
c3db9a6799 xmodmap: upgrade from 1.0.4 to 1.0.5
LIC_FILES_CHKSUM Changed due to Sun -> Oracle License Change

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-14 21:08:24 -08:00
Dongxiao Xu
75760390d2 gst-plugins-ugly: Upgraded to version 0.10.16
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-14 21:08:24 -08:00
Dongxiao Xu
4a0bc34186 gst-plugins-bad: Upgraded to version 0.10.20
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-14 21:08:24 -08:00
Dongxiao Xu
c6145ce0b4 gst-plugins-good: Upgraded to version 0.10.25
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-14 21:08:24 -08:00
Dongxiao Xu
0362b29bf9 gst-plugins-base: Upgraded to version 0.10.30
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-14 21:08:23 -08:00
Dongxiao Xu
cb7df0ce2d gstreamer: Upgrade to version 0.10.30
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-11-14 21:08:23 -08:00
Dongxiao Xu
7e7bb24b85 sstate.bbclass: Remove the temp sstate-build-* directories in WORKDIR
Remove the temp sstate-build-* directoies.
Take poky-image-minimal as an example, this saves about 17% disk space.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-14 21:08:23 -08:00
Saul Wold
2c1792f0a6 task-poky-lsb: add new LSB Recipe
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-14 21:08:23 -08:00
Xiaofeng Yan
03d9a14cfb LSB: Add a new package
This package is needed by lsb test
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2010-11-14 21:08:23 -08:00
Saul Wold
3810bdf28b iproute2: update LIC_FILES_CHKSUM
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-14 21:08:23 -08:00
Saul Wold
8e3046d8bd git: Update recipe for git to include configure options
Updated LICENSE
Added LIC_FILES_CHKSUM

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-14 21:08:23 -08:00
Jiajun Xu
d64c7ae88c imagetest-qemu: Add sanity test cases for scp/shutdown in target
scp test is to check if file copying via network work or not in target.
shutdown test is to check if target can be poweroff with qemu process off.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-11-14 21:08:22 -08:00
Gary Thomas
2078af333d image.bbclass/initscripts: Make /etc/timestamp usage consistent.
Timestamp is kept in UTC
 Remove superfluous 'create_etc_timestamp()' function
 - seems to be a duplicate of 'rootfs_update_timestamp()'
 Remove External function reference

[sgw@linux.intel.com: merged 2 patches and cleanup commit message]

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-14 21:08:22 -08:00
Qing He
85bd3d644a insane.bbclass: fix qa_configure and qa_staging
fix the typo in `postfuncs' and effectively re-enables
qa_configure and qa_staging

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-14 21:08:22 -08:00
Qing He
7f4f40fdec libnss-mdns: fix package removal
Fixes [BUGID #510]

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-14 21:08:22 -08:00
Qing He
3155cdeb0d procps: upgrade to version 3.2.8
from 3.2.7
also update license info
[sgw@linux.intel.com: added gmake-3.82 patch to correct location]

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-14 21:07:45 -08:00
Qing He
1a76da9a2d iptables: upgrade to version 1.4.9
from 1.4.8

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-14 16:50:19 -08:00
Qing He
ec7811e889 iproute2: upgrade to version 2.6.35
from 2.6.34

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-14 16:50:19 -08:00
Qing He
b24ca397c4 pciutils: upgrade to version 3.1.7
from 3.1.5

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-14 16:50:19 -08:00
Qing He
efa037b655 nfs-utils: upgrade to version 1.2.3
from 1.2.2

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-14 16:50:19 -08:00
Qing He
8c898918ce curl: upgrade to version 7.21.2
from 7.21.0

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-14 16:50:18 -08:00
Qing He
f12f38afc1 tzdata: upgrade to version 2010o
from 2010j

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-14 16:50:18 -08:00
Qing He
f9c840f427 shared-mime-info: upgrade to version 0.80
from 0.71

also move PR out of .inc file

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-14 16:50:18 -08:00
Saul Wold
50911329d4 base.bbclass/poky.conf: Fix INCOMPATIBLE_LICENSE Whitelist checking
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-14 16:50:18 -08:00
Richard Purdie
ddbf5e9c48 poky-init-build-env: Fix to show the error message with simple sh based shells
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-13 22:26:46 +08:00
Richard Purdie
e445fcf5dd poky-ref-manual: Drop non-commercial clause
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-13 22:13:00 +08:00
Richard Purdie
05ba6fc7cb bitbake: Rewrite profiling code so its functional for both none and xmlrpc backends
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-13 21:23:54 +08:00
Richard Purdie
89929e1f28 bitbake/fetch: Allow checking of a single url at a time (massive sstate speed improvement)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-13 20:10:53 +08:00
Richard Purdie
caa7fe2284 bitbake/fetch: Fix handling of mirrors when checking for url validity
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-13 20:10:04 +08:00
Richard Purdie
d6e8f7d8a6 sstate.bbclass: Only create symlinks to different localpath urls if the fetch succeeded
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-13 20:08:23 +08:00
Richard Purdie
7333328c48 Revert "bitbake/fetch/local: Also check DL_DIR for files since they could already exists there"
These changes were incorrect.

This reverts commit ae98f7eacb.
2010-11-13 20:03:13 +08:00
Richard Purdie
aa81dda4d4 Revert "bitbake/fetch/local: Fix os.exists reference"
These changes were incorrect.

This reverts commit f8e3397935.
2010-11-13 20:02:38 +08:00
Richard Purdie
f8e3397935 bitbake/fetch/local: Fix os.exists reference
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-13 10:23:15 +08:00
Richard Purdie
ae98f7eacb bitbake/fetch/local: Also check DL_DIR for files since they could already exists there
[BUGID #533]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-13 07:28:55 +08:00
Joshua Lock
857534f943 procps: fix for build against make 3.82
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-11-12 16:55:41 +00:00
Darren Hart
2e0ab8c18f git-pull: add send-pull-request script
send-pull-request facilitates sending pull requests generated by
create-pull-request. The primary role of this script is to harvest email
addresses from the patches and send them out. A working installation of sendmail
(exim, postfix, msmtp, etc.) is required to use this script.

You can explicitly specify To addresses with the -t option. As this can be
tedious, the -a option will scan all the patches for To, CC, and *-by lines and
the collected addresses to the To and CC headers for each patch.

This script uses an identical recipients list for every patch, including the
cover letter. This is by design. Existing tools will auto-generate the CC header
for individual patches, but since they don't apply it to the other patches, the
recipients can lack the necessary context to provide a meaningful review. This
is especially true of the cover letter.

The pull directory generated by the create-pull-request script is specified
using the -p option.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Nitin A Kamble <nitin.a.kamble@intel.com>
CC: Richard Purdie <rpurdie@linux.intel.com>
CC: Saul Wold <saul.wold@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-10 21:22:27 +08:00
Darren Hart
1f0e2cf16a git-pull: add the new create-pull-request script
The previous create-pull-request only generated a cover letter. When used to
send to the list, it did not include the patches, which made it difficult
to perform peer review. A pull request without patches is typically only sent
by a maintainer. As we are not all maintainers, we need a means to easily
submit patches for review.

As we are accustomed to making pull requests, this script retains a
git-pull-style cover letter, while sending the relevant patches as responses
to the pull. This will provide the necessary context for peer review, and still
allow people to collapse threads and see no more mail than they were previously.

This version retains the relative_to, commit_id, and contrib_branch arguments
from the original, along with their default values. It adds several more,
resulting in a highly flexible tool.

The script creates a pull directory (pull-$$ by default, configurable via the -o
option) and populates it with a git-format-patch generated patch series and
cover letter. The cover letter is modified to include the git and http pull URLs
and branch name, as well as a basic signature from the author pulled from git's
user.name and user.email config. git-format-patch provides the shortlog and
diffstat of the series.

Breaking a bit from the original, this script maintains the [PATCH] subject
prefix in the cover letter (as opposed to [GIT PULL]. This is better suited to
the majority of developers (who are not maintainers). This prefix is
configurable with the -p option, allowing you to create an [RFC PATCH]
prefix, for example.

By default, the generated cover letter with contain "*** SUBJECT HERE ***" and
"*** BLURB HERE ***" tokens which you should replace with something
appropriate prior to sending the messages.

When developing multiple versions of a patch series, it can save time to
maintain a message.txt file, rather than having to retype the message body of
the cover letter every time. The -m option allows you to specify a message file
and replace the "*** BLURB HERE ***" token of the cover letter with the contents
of the message file.

Finally, the -s option will replace the "*** SUBJECT HERE ***" token in the cover
letter with the specified subject.

The generated patches are suitable for sending via sendmail.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Nitin A Kamble <nitin.a.kamble@intel.com>
CC: Richard Purdie <rpurdie@linux.intel.com>
CC: Saul Wold <saul.wold@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-10 21:22:27 +08:00
Darren Hart
09ee361d42 git pull: remove the existing create_pull_request script
The patches to follow completely rewrite the existing create-pull-request.
Rather than have an initial diff of the two files (which are not at all
similar) remove the original, and then create the new one.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Nitin A Kamble <nitin.a.kamble@intel.com>
CC: Richard Purdie <rpurdie@linux.intel.com>
CC: Saul Wold <saul.wold@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-10 21:22:27 +08:00
Jingdong Lu
a5bbeeed0d tcltk: Fix moving libtcl8.5.so into tcl-lib.
Move /usr/lib/libtcl8.5.so into tcl-lib package.

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2010-11-10 21:22:27 +08:00
Bruce Ashfield
422a017e62 kernel: prefer the kernel produced uImage
The custom uImage produced by the kernel classes by default
does not universally boot and working with existing uboot
configurations and setups.

This changes the preference to the uImage constructed by
the kbuild processes and falls back to the other techniques
if uImage is requested by the kernel does not produce one.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-10 21:22:27 +08:00
Bruce Ashfield
570cf02a83 linux-wrs: rename force_revisions and allow override
It is useful to override revision checking from a layer or other
recipe. In order to show the global nature of the variable rename
it KERNEL_REVISION_CHECKING and make it a weak assignment.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-10 21:22:27 +08:00
Bruce Ashfield
bca56bfcc9 wrs_meta: add USB options for wacom tablet support
Fixes [BUGID: #394]

    qemumips: Added wacom tablet support to mti_malta32_be bsp config

    Signed-off-by: J. Aaron Gamble <john.gamble@windriver.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-10 21:22:27 +08:00
Bruce Ashfield
e0194e3c91 qemumips: re-enable wacom and standard USB UI options
Fixes [BUGID #394]

Now that the qemu/mti mips kernel branches have been fixed
for wacom USB interaction, we can re-nable the standard set
of qemu UI options for qemumips.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-10 21:22:26 +08:00
J. Aaron Gamble
a8b11645e4 tslib: 32bit big endian support
Fixes [BUGID #394]

patch added from: https://launchpad.net/ubuntu/+source/tslib/1.0-7

Enables wacom tablet/touchscreen support on qemumips

Signed-off-by: J. Aaron Gamble <john.gamble@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-11-10 21:22:26 +08:00
J. Aaron Gamble
93eae97ca2 Added qemumips /etc/pointercal file for touchscreen calibration
Fixes [BUGID #394]

Signed-off-by: J. Aaron Gamble <john.gamble@windriver.com>
2010-11-10 21:22:26 +08:00
Beth Flanagan
32f241a51c quilt: Fixed configure test for patch --version.
OpenSuSE 11.3 uses GNU patch 2.6.1.81-5b68 which breaks quilt's
configure test for patch version.

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
2010-11-10 21:22:26 +08:00
Saul Wold
77cb80cc31 poky.conf: Default Locale Generation
Add en-us and POSIX to default locale generation

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-10 21:22:26 +08:00
Saul Wold
ffce440e97 eglibc: add en-us locale generation
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-10 21:22:26 +08:00
Dexuan Cui
5ea93132ce eglibc: install the missing /etc/ld.so.conf into target
${sysconfdir} should be added into FILES_${PN}.

Fixes [BUGID #511]

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-10 21:22:25 +08:00
Saul Wold
ff2448a6c4 ld.so.conf: create empty file
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-10 21:22:25 +08:00
Dexuan Cui
da9970806b busybox: enable more options for tar to support more file formats.
Fixes [BUGID #495]

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-11-10 21:22:25 +08:00
Qing He
a0fb0c2090 bzip2: upgrade to version 1.0.6
resolves security bug CVE-2010-0405

Signed-off-by: Qing He <qing.he@intel.com>
2010-11-10 21:09:22 +08:00
Jiajun Xu
12a861359a imagetest-qemu: Add test case for dmesg check in target
Add a test case for error log check with command dmesg in target. The
case introduces a new folder in target, "/opt/test", which holds test
scripts running in target.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-11-10 21:09:22 +08:00
Saul Wold
53b775b496 poky.conf: Change default locale to POSIX
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-10 21:09:22 +08:00
Saul Wold
d856b80cde task-sdk-gmae: fix typo in SDK-EXTRAS and convert to ?= for assignment
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-11-10 21:09:22 +08:00
Richard Purdie
25c00dae8e python: Fix hardcoded python references which should refer to PN, removing duplicate providers warning
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-10 21:08:28 +08:00
Joshua Lock
4f6d91ec21 busybox: import upstream patch for make 3.82
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-11-09 14:10:31 +00:00
Joshua Lock
6ac1365aa5 eglibc: fix build of eglibc-initial for make 3.82
Make 3.82, as shipped with Fedora 14, fixes some holes in the parser which in
turn breaks behaviour of some Makefiles. Most notably eglibc's.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-11-09 14:09:54 +00:00
Kevin Tian
d9ff2f897a package.bbclass: make sure 'sysroots' created before lockfile
package sstate requires a lock under sysroots/, which however may not be
created when sstate_setscene functions are executed and then causes failures.
here we make sure 'sysroots' created before do_package_setscene is executed.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-11-07 20:40:06 +00:00
Kevin Tian
26ade54fa4 poky.conf: add PWD to BB_HASHBASE_WHITELIST
Without doing this I can't reuse prebuilts generated from one directory in another
build directory which is really not comfortable for developers. Due to difference
on PWD variable, base hash becomes different for every sstate package.

So here PWD is added to the hase base whitelist, which makes most prebuilts reusable
now in a different build directory. However there still remains one issue about
do_populate_sysroot sstate package. Absolute path is encoded in this task which
then blocks reuse on them. Perhaps we need some redesign for do_populate_sysroot into
two stages, with all absolute path related operations moved to the 2nd stage. This
way then the 1st stage can be reused.

Partially fix [BUGID #522]

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-11-07 20:39:14 +00:00
Richard Purdie
5ae5a145dd bitbake.runqueue.py: Fix no exec task handling to correct counter housekeeping
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-07 20:33:12 +00:00
Richard Purdie
8e2150e5dc meta/classes: Mark do_package_write and do_build as noexec tasks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-06 14:33:45 +00:00
Richard Purdie
b80a8d28f8 bitbake: Add support for 'noexec' tasks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-06 14:33:05 +00:00
Richard Purdie
a59935fb3a bitbake/siggen: Allow siggen code to control final stampfile format
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-06 12:20:33 +00:00
Richard Purdie
87c2b700be .gitignore: Update after documentation layout changes 2010-11-06 12:19:51 +00:00
Richard Purdie
be132ca72a docmentation/poky-ref-manual: Remove unused Indexes title
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-04 21:17:29 +00:00
Scott Rifenbark
4243a61e98 Performed general edits to this chapter.
many english corrections performed.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-04 21:14:08 +00:00
Scott Rifenbark
09ef6a4e13 Poky Reference Manual: Completed editing pass of Chapter 3.
I completed the editing pass of this chapter by doing sections 3.3.3 on.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-04 21:12:46 +00:00
Scott Rifenbark
890a794e38 Created a new folder to hold the BSP Guide
I created a new sub folder to hold the BSP Guide by itself so there are
three folders now for each of the Yocto manuals: BSP Guide, quick start
and poky ref manual.  The new folder for the BSP guide is 'bsp-guide'.
It contains the bsp.xml file, its own Makefile, a bsp-guide.xml file,
and its own 'Figures' directory.  The 'bsp-guide.xml' file that was
in the poky reference folder was deleted.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-04 20:54:30 +00:00
Scott Rifenbark
4b7f1eee28 General edits to the using poky and Extending Poky chapters.
I completed general edits to the second chapter of the poky reference
manual.  These edits went from section 2.4.5 through the end of the
chapter.  They consist of text rewrites for more active voice and follow
general technical writing principles.

I completed the same types of edits in the third chapter of the manual
from the beginning through section 3.3.2.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-04 20:20:06 +00:00
Scott Rifenbark
30e92723e1 General text edits through section 2.4.4 "General Bitbak Problems"
Extensive language and consistency edits being applied to the manual.
During the 0.9 push I did not have time to make a pass through the
document.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-04 20:20:06 +00:00
Scott Rifenbark
ceef5c20cf Changed a source command to have the correct source.
Changed "source poky-4.0/poky-init-build-env poky-4.0-build"
to be "source poky-laverne-4.0/poky-init-build-env poky-4.0-build"

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-04 20:20:06 +00:00
Scott Rifenbark
f7a3a5fe85 Changed the title and wording of the section about pre-built binaries.
There was a grammatical error in the title and redundancy in the
first sentence of this section.  Cleaned up the title and wording.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-04 20:20:06 +00:00
Scott Rifenbark
e53470656e Editing pass through the Introduction chapter.
I did a complete edit pass through this chapter.  The manual has
not been fully edited from its original state.  One critical technical
correction was corrected where the green-3.3 release was referenced.
I changed this to laverne 4.0.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-04 20:20:06 +00:00
Scott Rifenbark
81d3811b2f Figure changed for building an image and yoctolinux removed
I changed the figure that goes along with building an image based on
Kevin's input.  Also, removed several URLs that had 'yoctolinux' in them
along with a 'tar' command example with the same string.  LF does
not want these in there.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-11-04 20:20:06 +00:00
Koen Kooi
8e51f52dc5 cross-canadian bbclass: replace hardcoded -pokysdk with SDK_VENDOR
Signed-off-by: Koen Kooi <k-kooi@ti.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-03 12:58:23 +00:00
Richard Purdie
eb9c2b0cc9 openssl: Use STAGING_BINDIR_NATIVE as the path to perl, not bindir which can point to incorrect places
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-03 10:06:02 +00:00
Richard Purdie
ecf2eb1efa sstate: Provide a temporary mechanism to stop collisions between toolchain components in builds from scratch using sstate
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 13:18:07 +00:00
Richard Purdie
88f6f3fadf bitbake/siggen: Provide better warnings about empty tasks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 13:17:06 +00:00
Richard Purdie
6a8fec9675 external-python-tarball: Include SDKMACHINE in tarball name
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 13:15:42 +00:00
Richard Purdie
d45af98d01 external-python-tarball: Add ability to generate an externally usable standalone python tarball
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 13:11:37 +00:00
Richard Purdie
30feed75df openssl/db/gdbm: Extend to provide BBCLASSEXTEND nativesdk
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 13:10:36 +00:00
Richard Purdie
8238ee666e python: Remove hardcoded python references and replace with PN, allowing use of BBCLASSEXTEND=nativesdk
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 13:08:49 +00:00
Richard Purdie
a9c46e44d4 base/utils.bbclass: Sync up overlapping functions
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 11:50:50 +00:00
Richard Purdie
26a4b23220 utils.bbclass: Add functions from OE.dev
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 10:33:52 +00:00
Richard Purdie
c299112c95 gnome.bbclass: Remove autotools_stage reference
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 10:15:27 +00:00
Richard Purdie
55999637d6 gnome.bbclass: Use BPN instead of PN and set SRC_URI name similar to OE.dev
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 10:11:05 +00:00
Richard Purdie
01518ada4b meta-emenlow: Rename packages to recipes in line with main repository
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 10:08:00 +00:00
Richard Purdie
c90c0ceca5 base-files: Allow a basic issue file to be extended by the code, following the method now used by OE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 09:20:46 +00:00
Richard Purdie
904ccfe1c6 base-files: Allow issue and hostname generation to be overridden
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02 09:08:11 +00:00
Richard Purdie
f71326ef9f src_distribute: Set EXPORT_FUNCTIONS correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-01 10:48:43 +00:00
Richard Purdie
dc13a6197f bitbake/siggen: Fix finalise call arguments
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-01 10:23:09 +00:00
Richard Purdie
724088189e Poky -> Yocto name change
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-27 07:54:03 +01:00
Richard Purdie
5dfe9b7d4d documentation: Update copyright to the Linux Foundation
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-27 07:51:04 +01:00
Richard Purdie
9fbef508c1 documentation/yocto-qs: Fix references to a poky-qemu package and replace with the yocto toolchain tarball
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-27 07:51:03 +01:00
Scott Rifenbark
d9fea40f9f Removed text from section 5.1.2.1.1.
Removed several blocks of text from section 5.1.2.1.1
"Installing and Setting up the Eclipse IDE".  This text according
to Jessica was no longer needed.
2010-10-27 07:51:03 +01:00
Scott Rifenbark
4ededb2549 Corrected the package command for Debian-based hosts.
Corrected a typo listing the package libsdl1.2-dev as libsdll.2-dev.
Also added the package mercurial.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:51:03 +01:00
Scott Rifenbark
fd832c02eb Added package installation requirements.
Added commands to support package installation of RPM-based host systems
to the example.  Input based on feedback from Dirk.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:51:03 +01:00
Scott Rifenbark
86384c1623 Re-inserted Poky Image as part of the front matter.
I have inserted the Poky image in the front matter again because the
book is a Poky Guide.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:51:03 +01:00
Richard Purdie
b7ae212e28 documentation/poky-ref-manual: Fix image makefile to reference the image
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-27 07:51:03 +01:00
Scott Rifenbark
bf77ed9545 Moved the Poky image file to the "Figures" folder.
The image file was in the same directory as the main reference manual
files.  So I moved the file into subdirectory "Figures" with other
figures.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:51:02 +01:00
Scott Rifenbark
2ccf2b358d Re-installed the Poky Handbook image at the top of the manual
I could not get the Yocto Project logo to appear correctly in the book
after the title.  I also decided that since Poky is by no means
going away that this book should have that image associated with it
as it is the Poky Reference Manual.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:51:02 +01:00
Scott Rifenbark
27e2d19e6d Updated the yocto-environment picture and added example command edits.
When scaled to fit the page the picture had a black vertical line
artifact to the right.  I snipped out the image a little tigher to
eliminate this line.

I also incorporated Dirk's comments tightening up the sequence of
example commands to do the build.  I incorporated Fedora 14 note
and addition of the BB_NUMBER_THREADS and PARALLEL_MAKE variables.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:51:02 +01:00
Richard Purdie
aea5da08ff docmentation/yocto-project-qs: Fix Yocto Environment graphic
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-27 07:51:02 +01:00
Scott Rifenbark
e4d0ba820e Removed first link to openembedded and replaced with more general text.
The link to openembedded was used to reference Linux distributions supporting
Yocto Project.  The link has been removed and replaced with more generic
text so as to not have to link to openembedded.  Text used is
"A Host system running a supported Linux distribution (i.e. recent releases
of Fedora, OpenSUSE, Debian, and Ubuntu)."

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:51:02 +01:00
Scott Rifenbark
ca822c5396 Updated the first figure in the quick start.
This conceptual figure has been replaced by a more detailed work
flow representing YP.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:51:01 +01:00
Scott Rifenbark
03c72a9e4a Corrected link to the yocto website.
This link was incorrect and has been changed to yoctoproject.com.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:51:01 +01:00
Scott Rifenbark
7fba85a6aa Updated supporting text to reflect new poky-4.0-build directory in example
The example commands that build an image were updated to reflect the
real 4.0 release.  I updated the paragraph after the example commands
to refer to the new release used in the command examples.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:51:01 +01:00
Richard Purdie
5bebcef517 documentation-project-qs: Remove stray ]
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-27 07:51:01 +01:00
Richard Purdie
962e548d1c documentation/qs-guide: Fix urls for release
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-27 07:51:01 +01:00
Scott Rifenbark
7af5e26383 Edits as described below:
1) Wording change based on Darren's input of making Linux kernel sound like the only open source part of YL

2) Removal of the "v" option for the tar command example.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:50:34 +01:00
Scott Rifenbark
5434a49f3d Review changes applied.
1. Added Richard Purdie's general editing feedback to the "Welcome" and
"Introducing the Yocto Project Development Environment" sections.

2. Added Kevin Tian's feedback:  1) changed "Sudo" to "sudo", 2) reversed
the order of the sample "cd" and "source" commands since the "source" command
builds the directory structure first so changing to the directory before running
"source" made no sense, 3) removed the "bitbake qemu-native" command.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:50:34 +01:00
Scott Rifenbark
11686d07a2 Updated figure.
Feedback from Kevin Tian suggested that the outer box be labeled "QEMU" rather
than "Target."  Also that the two inner boxes be "Set of Emulated Devices" and
"Target CPU."  Final change was the use of "Yocto Project Scripts" rather than
"Yocto Linux Scripts."

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:50:34 +01:00
Scott Rifenbark
9692685753 Updated this figure to correctly capaitalize opkg, zyper, and app-get
Feedback from Kevin Tian suggested "OPKG" should be lower-case.
Also, use of "zypper" instead of "YUM."  I also lower-cased
"apt-get."

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:50:33 +01:00
Scott Rifenbark
cb9376f79a Removed reference to pre-build in section 5.3.2, "Using OprofileUI".
The "Using OprofileUI" section had a description of how to use a
pre-built UI and how to download and build one.  Feedback from Jessica
Zhang suggested removing the instruction for using a pre-built UI.
All that remains in the first paragraph now is instruction on how
to download and build the UI.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:50:33 +01:00
Scott Rifenbark
95a85f5688 Added the Anjuta Plug-in information
Added section 5.1.2.2 "The Anjuta Plug-in" into the Poky Reference Manual.
    This section consists of sub-sections 5.1.2.2.1 "Setting Up the Anjuta
    Plug-in", 5.1.2.2.2 "Configuring the Anjuta Plug-in", and 5.1.2.2.3 "Using
    the Anjuta Plug-in".  This information was in the original Poky Handbook
    but had been removed by me since I thought it was not going to be supported
    for the 0.9 Yocto Release.  It has now been restored with a note indicating
    that Anjuta will not be supported post 0.9 release.

    I did some general text editing in each section for readability.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-27 07:50:33 +01:00
Richard Purdie
4999f78874 documentation/pokt-ref-manual: Update with Yocto branding
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-27 07:50:33 +01:00
Richard Purdie
00e061b564 documentation: Add Yocto quickstart guide
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-27 07:50:33 +01:00
Richard Purdie
74e47d42d6 rm_work.bbclass: Handle case where pseudo directory doesn't exist
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-23 00:56:38 +01:00
Richard Purdie
c5fab99a6f bitbake/fetch: When fetchers return errors, ensure any partial download is cleared
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-23 00:22:54 +01:00
Richard Purdie
ab718b337c package_deb: The packaging command itself is run under fakeroot so these lines are totally unneeded
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 23:05:45 +01:00
Zhai Edwin
8109db28bb Fix adding new contact failure when starting contacts for the 1st time
When contacts called for the 1st time, adding new contact always failed but
worked after restart. The reason is e-addressbook-factory used to handle
addressbook leads a segmentation fault. Root cause is that factory would
create the data base if not exist, but use it without proper
initialization.

[BUGID #455] got fixed by this.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-10-22 17:00:25 +01:00
Richard Purdie
48b42dae51 classes: Only enable fakeroot on setscene tasks with packaging
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 16:34:06 +01:00
Richard Purdie
535a77a9b6 bitbake/fetch: Make URL checking slightly less verbose (distracting with the sstate code)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 14:48:54 +01:00
Richard Purdie
3f599b3f6a sstate: Fix mirror handling for file:// urls
The fetcher has special handling for file:// mirror urls, being efficient and
just providing an updated path. Unfortunately the sstate fetching code wasn't
able to handle this. This patch detects this and injects a symlink to ensure
everything works. It also fixes some datastore references to be correct and
ensures the sstate download directory exists if it doesn't already.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 14:48:54 +01:00
Joshua Lock
eef1d813b7 documentation/bsp: update to reference FILESEXTRAPATHS
It's no longer neccesarry to define THISDIR and FILESPATH in each bbappend
recipe. Should you need to reference extra files you should use FILESEXTRAPATHS

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-22 13:56:31 +01:00
Richard Purdie
36f1ae42fe pseudo/fakeroot: Move the pseudo directory creation into bitbake
If sstate was used to accelerate a build, the pseudo directory might not have
been created leading to subsequent task failures.

Also, sstate packages were not being installed under pseudo context meaning
file permissions could have been lost.

Fix these problems by creating a FAKEROOTDIRS variable which bitbake ensures
exists before running tasks and running the appropriate setscene tasks under
fakeroot context.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 13:00:40 +01:00
Richard Purdie
00a96a2099 package_deb: Fix a typo meaning the debian packaging was not running in the fakeroot evnironment
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 12:59:54 +01:00
Richard Purdie
13f116b1ad package_rpm: Don't check for the existence of dvar as its never used
If a sstate package exists for the package task but not for the rpm packaging
task, the output from the package task will be used. The directory pointed
to by dvar will not exist under this scenario.

Since the directory is never used by the packaging process remove the
check, substituting the pkgd variable which is always present and used.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 12:56:20 +01:00
Richard Purdie
6e277cb014 base.bbclass: Ensure an empty do_build tasks exists to silence a warning
The message "WARNING: Function do_build doesn't exist" doesn't look professional,
so fix the underlying problem even if this warning is harmless.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 12:53:36 +01:00
Richard Purdie
f806c499c0 sstate: Fix broken plaindirs support
When installing a sstate package, directories tracked by plaindirs were being installed
to the incorrect location. With the current implementation this was limited to
the do_package task.

This patch ensures plaindirs tracked files are created in the correct location, fixing
the bug where these files would go missing.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 12:51:35 +01:00
Mark Hatle
08425b597c at: Fix nonstripbinaries.patch
The commit '0e0d14ed1e88ebff876abb3d00b08627a3879e8d' introduced a new patch
nonstripbinaries.patch, the filename format caused the patch to not apply.
Simple fix made by correcting the path.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-22 10:25:33 +01:00
Dexuan Cui
0068e55d8f libtheora: add DEPENDS on libogg
This is used to fix the following build failure:

 checking for oggpackB_read... no
| configure: error: newer libogg version (1.1 or later) required

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-10-22 10:24:10 +01:00
Richard Purdie
fd4457199e base/sstate: Add cleanall task to remove downloads and sstate cached files
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 10:22:34 +01:00
Richard Purdie
2a69c58046 local.conf.sample: Default to not building 32 bit libs on 64 bit systems as most people don't need it and it confuses them
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-21 23:28:14 +01:00
Richard Purdie
d5504a4275 metadata_scm: Ensure that if an SCM isn't present, we dont print a revision of 'fatal:' as it looks bad
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-21 23:26:40 +01:00
Mark Hatle
f1a209b142 busybox/sysklogd: syslog.conf files
The format of the syslog.conf files is different between busybox and sysklogd.

Use the alternatives method to ensure we get the correct config file for
any specific configurations.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-21 14:05:57 +01:00
Bruce Ashfield
70c7712308 gst-ffmpeg: powerpc build errors
Fixes [BUGID #501]

While building the poky-image-sato target, gst-ffmpeg failed when
it attempted to run altivec tests on the host. We can live without
this optimization, so the easiest fix is to simply disable it.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-21 13:52:01 +01:00
Bruce Ashfield
8aa0c8c6cf mpc8315e-rdb: align PACKAGE_EXTRA_ARCHS with tuning
Fixes [BUGID #500]

While the tuning for the mpc8315e is 603e, the PACKAGE_EXTRA_ARCHES
was ppce300. This created a mismatch and resulted in rootfs assembly
issues due to missing locales.

We align both at 603 and can revist a better tuning in the future.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-21 13:52:01 +01:00
Mei Lei
0e0d14ed1e at: remove nonrootinstall patch and modify some relevant files
remove nonrootinstall patch, and use a patch named nonstripbinaries to modi
fy the /at-3.1.10.2/Makefile.in, so it can also handles stripping of the bi
naries

Fix [BUG 246]

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-10-21 13:52:01 +01:00
Joshua Lock
27d06858b5 gnome-icon-theme: fix build
Duplicate the patch from sato-icon-theme which enables the path to the
icon-name-mapping tool to be specified.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-20 22:30:01 +01:00
Richard Purdie
980e0cec49 bash: There is no such configure option as --with-ncurses and --with-curses breaks the build
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-20 21:55:51 +01:00
Joshua Lock
1d5567c43d poky-default-revisions: define SRCREV for pseudo-nativesdk
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-20 17:49:59 +01:00
Qing He
5ee6384d99 nfs-utils: fix nfs server initscript
fixes [BUGID #483]

Signed-off-by: Qing He <qing.he@intel.com>
2010-10-20 10:27:34 +01:00
Qing He
9393ff833f bash: fix job control
job control can't be automatically detected when cross-compiling,
enable it explicitly.

Fixes [BUGID #487]

Signed-off-by: Qing He <qing.he@intel.com>
2010-10-20 10:27:19 +01:00
Richard Purdie
340ff263ca task-sdk: Fix lttng-ust dependency to include the -dev version so headers are included
[BUGID #425]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-19 20:52:49 +01:00
Yu Ke
4f7d621db6 sysklogd: correct the syslog link and conf file
This commit fix [BUGID #482]

Two issues cause bug 482:
- firsty, there are two version of syslog: sysklogd and busybox.
  the busybox one is directly installed as /etc/init.d/syslog,
  and the sysklogd one is installed by update-alternative. the
  update-alternative will thus fail because the /etc/init.d/syslog
  (busybox one) already exist and not a link. so the correct way
  is to install busybox one by update-alternative, the layout will be:
  /etc/init.d/syslog.busybox
  /etc/init.d/syslog.sysklogd
  /etc/init.d/syslog -> syslog.busybox or
  /etc/init.d/syslog -> syslog.sysklogd

- secondly, sysklogd default conf is not comply with poky. Its dir /var/adm/
  does not exist. Check the debian /etc/syslog.conf and find it is more
  sophiscated and suitable, so port /etc/syslog.conf from debian.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-10-19 20:29:59 +01:00
Bruce Ashfield
c41fe30640 wrs_meta: emenlow updates
Fixes [BUGID #465]

    wrs_meta: add logbuf size feature

    A 16k kernel log buffer size is too small for emenlow and atom-pc -
    boot messages are routinely lost with the current setting.  Increase
    the size to something more reasonable - 64k seems to be a good
    compromise.

    Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>

    emenlow: add cmdline option for reboot quirk

    The default reboot options don't work for emenlow i.e. kbd + triple
    results in a reboot hang.  According to the emenlow chipset manual,
    port CF9 is supported, so let's use that.

    Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-19 20:29:25 +01:00
Richard Purdie
6562e7cdd0 documentation/poky-ref-manual: Update packages references to recipes and make sure bbappend files are included in example BBFILES lines
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-19 20:18:32 +01:00
Richard Purdie
08cec50330 bitbake/fetch/git: Ensure fullclone repositories are fully fetched
The git fetcher was failing to pull in new branches into a git
repository mirror tarball as the git fetch command being used didn't
add new remote branches.

This patch uses "git fetch --all" for fullclones to ensure any
new remote branches are cloned correctly.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-19 17:17:41 +01:00
Richard Purdie
05c8ee60f1 bitbake/fetcher: Deal with a ton of different bugs
The more we try and patch up the fetcher code, the more things break. The
code blocks in question are practically unreadable and are full of corner
cases where fetching could fail. In summary the issues noticed included:

a) Always fetching strange broken urls from the premirror for "noclone"
   git repositories
b) Not creating or rewriting .md5 stamp files inconsistently
c) Always fetching git source mirror tarballs from the premirror even
   if they already exist but the checkout directory does now
d) Passing "None" values to os.access() and os.path.extsts() checks under
   certain circumstances
e) Not using fetched git mirror tarballs if the preexist and always
   try and fetch them.

This patch rewrites the sections of code in question to be simpler and
more readable, fixing the above problems and most likely other odd
corner cases.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-19 12:47:45 +01:00
Richard Purdie
1077021f70 bitbake/fetch/git.py: Fix git fetcher to correctly use mirror tarballs
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-19 00:19:34 +01:00
Saul Wold
ef670167cd rpm: Change pcre to use internal library [BUGID #404]
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-18 11:33:27 -07:00
Kevin Tian
daca4c7469 sed: use ALTERNATIVE_LINK
update-alternatives.bbclass assumes /usr/bin/sed if ALTERNATIVE_LINK is not
specified, however sed has changed its default installation directory to
/bin/sed. This causes below errors at the first boot of lsb image:

update-alternatives: Error: cannot register alternative sed to /usr/bin/sed
since it is already registered to /bin/sed

This fixes [BUGID #478]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-10-18 10:10:36 -07:00
Dongxiao Xu
644e54fef9 gstreamer: add support for theora plugins
Add theora codec and its corresponding lib recipe (import from OE).
This fixes [BUGID #476].

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-10-18 11:27:31 +01:00
Bruce Ashfield
f8c6335e95 wrs_meta: update SRCREV for netfilter options
Fixes [BUGID #199]

Updating the SRCREV for wrs_meta to import a set of default
netfilter options, which can then be applied to any BSP. This
keeps the default BSP configs small, while allowing the
functionality to be available.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-18 01:17:46 -04:00
Bruce Ashfield
3d91a51a8e kernel tools: update SRCREV
Fixes [BUGID #199]

To allow optional features to be enabled for a given BSP, we
need to re-enable this functionality in the kernel tools. The
following commit in that repo fixes a problem when passing
feature names:

  [
  commit 140693a6b0d81b7ba7175b6cfce11c6c22f81e24
  Author: Bruce Ashfield <bruce.ashfield@windriver.com>
  Date:   Sun Oct 17 01:22:00 2010 -0400

    updateme: do not expand directories

    If a directory is passed to updateme, do NOT expand it to a
    full path, the compilation phase will search and do this
    while applying some special logic to find properly named
    features.

    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
  ]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-18 01:17:46 -04:00
Bruce Ashfield
64bb014ea6 linux-wrs: pass netfilter options as an addon feature
Fixes [BUGID #199]

Although an optional feature to a base BSP, most of the machines
currently supported want/need the netfilter options. To enforce
this configuration, it is temporarily forced in the kernel
recipe itself, but can move to machine configurations in the
future.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-18 01:17:46 -04:00
Bruce Ashfield
1dc2a4c17b linux-wrs: allow optional features via KERNEL_FEATURES variable
Fixes [BUGID #199]

Reinstate the ability to specify optional/additional kernel features
when updating the tree.

This is done via the variable KERNEL_FEATURES which specifies
a list of features to be appended to the current branch and
config. These features are part of the wrs_meta branch in the
kernel repository and hence are self contained within the
kernel tree waiting to be activated. This saves multiple
branches simply to allow a machine to have many profiles.

The kernel patching/configuration phases will locate these
features and add them to the meta_series, which in turn
modifies the tree.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-18 01:17:46 -04:00
Saul Wold
77176d56fd distrodata: Modify Distro tracking spreadsheet
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-15 13:55:46 -07:00
Saul Wold
2c40e13634 distro_tracking: Update Distro Aliases
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-15 13:55:45 -07:00
Richard Purdie
8fc871a814 task-poky-sdk: Add lttng-ust
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 11:28:00 -07:00
Richard Purdie
fd59449f5b libtasn1: Comment out the RREPLACES as it causes problems with rpm backend
Since we've never distributed binary feeds this isn't a problem for now
for Poky and as it stands this line breaks images.

[BUGID #442]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 16:38:24 +01:00
Richard Purdie
d3099f8f5c poky.conf: Add qemu-config dependency for qemux86-64
After booting qemux86-64 sato image, there is no icon for shutdown on the
desktop which is caused by missing the qemu-config package on this machine.

[BUGID #458]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 16:34:40 +01:00
Richard Purdie
20b4aa30c9 shared-mime-info: Don't run the util for the native version of the package
The whole point of building a native version of this package is
to provide the share-mime-info binary so using it in do_install
of the native package is incorrect. Add a modified do_install for
the native version of the package to avoid this.

[BUGID #466]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 16:30:41 +01:00
Richard Purdie
80eba26fb1 documentation/poky-ref-manual: Various tweaks to the text
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 15:07:06 +01:00
Richard Purdie
0be66f0e88 documentation/tools: Add comments to script
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 15:07:05 +01:00
Joshua Lock
879ac8fb9f libffi: fix the uri
It had the previous version hard-coded

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-15 14:43:10 +01:00
Richard Purdie
95cf36fbd1 documentation: Complete poky-handbook -> poky-ref-manual rename
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 12:45:09 +01:00
Richard Purdie
37eb4e2b93 documentation/handbook: Tweak Makefiles and paths after path changes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 12:14:28 +01:00
Richard Purdie
94c2a3c0ab handbook/poky-ref-manual: Makefile tweaks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 11:57:01 +01:00
Richard Purdie
2208328791 handbook: Move into documentation directory
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 11:55:59 +01:00
Dongxiao Xu
13a702e9e5 Use gdk_threads_enter/gdk_threads_leave to ensure gtk multithread safe
If the video player tries to play an unknown type file, it will enter
the error_cb() function, which is called in another thread.
Use gdk_threads_enter/gdk_threads_leave to ensure the safe of gtk
multi-thread operation.

This fixes [BUGID #474]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-10-15 11:30:49 +01:00
Joshua Lock
485839d873 libffi: bumpt to version 3.0.9
3.0.8 is incompatible with the autotools versions we use in Poky

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-15 11:10:07 +01:00
Joshua Lock
d036f97b62 make: enable make-native
Fedora 14 ships with a version of make which doesn't work with the Makefiles
shipped in our busybox and eglibc versions. Enable make native as a workaround.

This is a low risk fix for [BUGID #467]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-15 11:10:07 +01:00
Scott Rifenbark
ce8932d28d handbook: Fix the Ubuntu version requirement
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-15 10:40:48 +01:00
Scott Rifenbark
f0500bc699 handbook: Fix section numbering
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2010-10-15 10:40:23 +01:00
Darren Hart
03ecd2a3f4 atom-pc: remove kernel video mode parameters
The kernel video mode parameters are not needed with the atom-pc linux-wrs
configuration. Without them, we boot up with a standard 80x25 text display
until the Intel i915 driver is initialized, at which point we switch to a
higher resolution text mode. Afterwards, a sato image will start the splash
screen and successfully boot to X.

Tested on the Toshiba NB305 netbook and the Black Sand development board.

[BUGID #450]

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
CC: Richard Purdie <rpurdie@linux.intel.com>
2010-10-15 10:13:26 +01:00
Bruce Ashfield
3a8d109c85 linux-wrs: update SRCREV for mpc8315e-rdb
Fixes [BUGID: 423]

The mpc8315e-rdb BSP failed to build due to -Os being used
in the boot code. The fix that doesn't involve changing
the compiler is to remove -Os in the powerpc code and keep
it contained on the BSP branch.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-15 10:10:55 +01:00
Scott Garman
12477ad2b2 gupnp: fix broken SRC_URIs
This fixes [BUGID #469]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-15 10:10:08 +01:00
Bruce Ashfield
95fb69bb24 emenlow: add 8250 serial options
The emenlow didn't have the default 8250 serial ports.
Including the common serial config fragment fixes this
problem.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-14 20:12:04 +01:00
Scott Garman
9a2ae44380 poky-qemu-internal: make the -no-reboot qemu option mandatory
This fixes [BUGID #100]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-14 20:12:04 +01:00
Scott Garman
7d7d35f369 poky-qemu: miscellaneous bugfixes
In scenarios where the POKY_NATIVE_SYSROOT env variable hasn't been
set up, bug #427 can still be triggered. This fixes it by running
setup_tmpdir(). This fixes [BUGID #427].

Also, the qemu tap dev lock directory needs to be chmod 777 so that
multiple users can create and delete lock files.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-14 20:12:04 +01:00
Scott Garman
af404b1372 poky-qemu: add nographic option for disabling video console
This fixes [BUGID #408]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-14 20:12:03 +01:00
Tom Zanussi
65954baaa3 atom-pc: get rid of undefined video mode prompt on bootup
Temporary fix for [BUGID #450]

This fixes the video mode number to the expected value for this video
setting, but the setting itself needs to be fixed along with matching
config options - this patch is just a temporary fix for RC2.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-10-14 20:12:03 +01:00
Saul Wold
deba7adc4b sysvinit: add check for no X11 to disbale psplash
Add a check to the rc script to check if the /etc/init.d/xserver-nodm
script exists and is executable and not disable psplash if it is,
otherwise disable pspalsh since we do not have X installed.

Fixed [BUG #457]

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-14 20:12:03 +01:00
Saul Wold
cb34a1496a task-poky-qt: Re-Enable MIPS Build and disable fotowall
This address a number if issues with fotowall not being ready
and [BUGID #462] Qt missing for Mips build

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-14 20:12:03 +01:00
Richard Purdie
229b6630af bitbake-runtask: Ensure logging settings take effect in the worker process (and pass verbose setting)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-14 20:07:15 +01:00
Richard Purdie
fa91404055 pseudo: Update to revision 489ed5e89f040febcb605f22187968f597211205
This fixes various issues with modern coreutils which use *xattr() syscalls
which pseudo wasn't catching causing permissions problems.

[BUGID #463]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-14 20:03:58 +01:00
Richard Purdie
462aef73fa eglibc-nativesdk: Add patch to change the search path of the dynamic linker
Change the search path of the dynamic linker to search ld.so.cache as a last resort when
trying to find libraries at runtime. This means libs in /opt/poky are used in preference
but any host libs such as libGL can also be found. See the patch for a more detailed
description.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-14 11:46:39 +01:00
Richard Purdie
9eb2de9163 Revert "meta-toolchain: Update the way ld.so.cache is handled"
This change didn't work as expected as ld.so.cache doesn't preseve any search
path ordering, therefore revert the change.

This reverts commit b2c3ce6d17.
2010-10-14 11:46:39 +01:00
Bruce Ashfield
a2337a3435 linux-wrs: update SRCREVs
Fixes [BUGID #432, #438, #437, #422]

    [atom-pc: switch to the atom-pc branch

    The atom-pc has a dedicated branch and merged kernel commits.
    Swtich the kernel recipe to use the fully integrated BSP

    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>]

    [atom-pc: add kernel config options needed for -live images

    Fixes [BUGID #432]

    Live images require VFAT filesystem and loop device support - this
    adds the required kernel config options for them.

    Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>]

    [atom-pc: Add netbook wireless networking support for NB305 and eee901

    Add the atom-pc-wifi.cfg to enable wireless networking support for the netbooks
    mentioned in the atom-pc machine config file.

    Note: this adds a staging tree driver (rt2860sta) for the eee901 wifi.

    [BUGID #438]

    Signed-off-by: Darren Hart <dvhart@linux.intel.com>
    CC: Tom Zanussi <tom.zanussi@intel.com>
    CC: Richard Purdie <rpurdie@linux.intel.com>
    CC: Bruce Ashfield <bruce.ashfield@windriver.com>]

    [atom-pc: Add netbook wired networking support for NB305, Aspire One, and eee901

    Add the atom-pc-eth.cfg to enable wired networking support for the three
    netbooks mentioned in the atom-pc machine config file.

    [BUGID #437]

    Signed-off-by: Darren Hart <dvhart@linux.intel.com>
    CC: Tom Zanussi <tom.zanussi@intel.com>
    CC: Richard Purdie <rpurdie@linux.intel.com>
    CC: Bruce Ashfield <bruce.ashfield@windriver.com>]

    [routerstationpro: add missing kernel patches

    [BUGID: #422]

    Add the kernel patches required for routerstaion pro boot

    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>]

    [netbook: allow hardisk booting

    [BUGID: #445]

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

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-13 21:38:51 -07:00
Bruce Ashfield
cbeb72b90d atom-pc: switch to the atom-pc branch
The atom-pc has a dedicated branch and merged kernel commits.
Swtich the kernel recipe to use the fully integrated BSP

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-13 21:38:51 -07:00
Bruce Ashfield
48755c4bc6 emenlow/linux-wrs: merge emenlow configuration
Complete the merge of the emenlow BSP, by removing the external
configurations from the emelnow layer and merging them into
the wrs_meta branch of the kernel tree. This also allows the
emenlow to drop the tools config fragement and use the common
definitions shared by BSPs maintained in the kernel.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-13 21:38:51 -07:00
Bruce Ashfield
5e558a17f2 linux-wrs: remove external x86 config fragment
[BUGID #363]

Integrate the x86 gfx options into the existing x86 graphics
options for the common_pc and common_pc_64 boards.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-13 21:38:51 -07:00
Tom Zanussi
d3fbeb9833 emenlow: update formfactor keyboard setting
Fixes [BUGID #447]

We expect the emenlow to normally have a keyboard so tell the
formfactor so and avoid the keyboard pop-up.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-10-13 21:38:50 -07:00
Dongxiao Xu
41ad94640b libowl-av: Fix music player crash if adding unknown type files
Using bus message to call function flush_head/feed_head in main thread
to protect private data operation.

A better fix may be to listen to bus message "CODEC_NOT_FOUND" and
"MISSING_PLUGIN" directly to avoid hooking into "unknown-type" signal.
We will revisit it in next period.

This fixes [BUGID #296]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-10-13 11:29:13 -07:00
Zhai Edwin
e1f257af7b tzdata: install zone.tab and iso1366.tab
These files are removed in libc-package.bbclass. Missing of zone.tab cause
get_zone_directory in libical return NULL for strlen, which leads seg fault
of dates & tasks.

Openembedded has similar patch.

[BUGID #420] got fixed by this.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-10-13 11:29:13 -07:00
Richard Purdie
b2c3ce6d17 meta-toolchain: Update the way ld.so.cache is handled
Fix the library search path so that libs in the toolchain in /opt/
have priority over those in base system but ones from the base system
can still be found.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-13 17:41:29 +01:00
Joshua Lock
271bd9d8f9 sanity.bbclass: ensure 32it libc is correctly detected
Fix to work for both Ubuntu and Fedora multilib paths.

Fixes [BUGID #454]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-13 15:31:12 +01:00
Scott Garman
d393edda26 poky-qemu-internal: enforce a 128M memory limit for qemuarm
This fixes [BUGID #433]

Also set a sane default for the ifconfig command, which simplifies
our autobuilder sanity test setup.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-12 17:21:39 +01:00
Richard Purdie
99c0cbd6d6 rm_work: Fix interaction issues with pseudo
This class needs to wipe out the contents of the pseudo database but also
ensure the pseudo directory exists for any subsequent tasks and also ensure
any pseudo server has shut down before removing the database. This patch
does all of these things.

[BUGID #222]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-12 15:52:07 +01:00
Joshua Lock
1958497f00 poky-default-revisions: fixups
Entries should be alphabetised and use weak weak assignment

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-12 13:56:35 +01:00
Joshua Lock
27e785cb28 swabber: new recipe
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-12 13:41:08 +01:00
Joshua Lock
c6a6eb18c2 strace: use BBCLASSEXTEND to enable a native package
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-12 13:32:36 +01:00
Joshua Lock
812f8835d2 bitbake/runqueue: make the runtask program configurable
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-12 13:32:27 +01:00
Joshua Lock
35f36bac42 Update gitignore
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-12 13:32:18 +01:00
Jessica Zhang
04ace8380c Add recipe for sdk directdisk target
Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
2010-10-11 23:46:50 +01:00
Bruce Ashfield
c9b6051f2c linux-wrs: add initial beagleboard support
BUGID: 421

Create the infrastructure to build the beagleboard against the
linux-wrs kernel.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-11 22:57:20 +01:00
Bruce Ashfield
5ae1e2c9e8 mpc8315e-rdb: create machine and tuning configuration
BUGID: 423

Introduce the basic mpc8315e BSP. By default this BSP uses
the basic 603 tuning and soft-float. There are issues with
the e300 tuning and eglibc, and the compiler. Subsequent
commits will further tune this BSP.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-11 22:57:00 +01:00
Bruce Ashfield
149f226213 routerstationpro: create machine conf and compatibility
BUGID: 422

Add the machine configuration and kernel infrastructure for building
the routerstation pro BSP.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-11 22:56:28 +01:00
Nitin A Kamble
b5f744c5d6 python: fix for host contamination issue while cross compiling
This fixes [BUGID #385]

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-10-11 22:53:45 +01:00
Richard Purdie
6b53fbcc20 xpsb-glx: Fix compile issues on 64 bit machines without 32 bit headers/binaries
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-11 22:44:25 +01:00
Scott Garman
364aaa6dfa poky-qemu: fix for handling full path to rootfs
This fixes [BUGID #427]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-11 22:24:23 +01:00
Yu Ke
cecd1bdf6f qemugl: remove obsolate /usr/X11R6/lib lib directory
qemugl makefile has "-L/usr/X11R6/lib" to specifiy the X lib dir.
it is actually obsolate in poky now, because poky use Xserver from
X.org (X11R7.x), and its libs are in standard /usr/lib.

Meanwhile,the -L/usr/X11R6/lib will cause warning: library search path
"/usr/X11R6/lib" is unsafe for cross-compilation. so better to remove it.

Fix [BUGID #386]

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-10-11 22:16:42 +01:00
Mark Hatle
75732f5443 recipes-connectivity: Cleanup package descriptions and summaries
[BUGID #281]

Evaluate and update each package in recipes-connectivity to ensure they
have a consistent summary and description.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-11 22:15:48 +01:00
Mark Hatle
daa21c1e0a recipes-bsp: Cleanup package descriptions and summaries
[BUGID #281]

Evaluate and update each package in recipes-bsp to ensure they have a
consistent summary and description.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-11 22:15:37 +01:00
Mark Hatle
fa647b9176 recipes-core: Cleanup package descriptions and summaries
[BUGID #281]

Evaluate and update each package in recipes-core to ensure they have a
consistent summary and description.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-11 22:15:10 +01:00
Mark Hatle
b2f2590e6c Add Summary/Description support to packaging
[BUGID #281]

Add the ability for the deb, ipk and rpm classes to use the new summary
and description fields.  The Description is wrapped around 75 characters
to ensure a reasonably nice, presentable description.

(Summary defaults to the description if Summary is not defined.)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-11 22:13:14 +01:00
Tom Zanussi
5783e717ee Subject: [PATCH] emenlow: add kernel config options for sdk tools
Fixes [BUGID #261]

Adds kernel config options for latencytop, powertop, oprofile, and
lttng.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-10-11 10:18:32 -05:00
Tom Zanussi
86b30f722e emenlow: fix SRC_URI in linux-wrs_git.bbappend
Restrict it to emenlow so it doesn't conflict with other machines.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-10-11 10:16:25 -05:00
Richard Purdie
d4c86791aa linux-wrs/emenlow: Fix FILESPATH so as not to corrupt other machines
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-11 14:32:16 +01:00
Richard Purdie
56be122d35 linux-wrs: move config fragment to the correct location
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-11 14:32:01 +01:00
Richard Purdie
d14f9bf6c4 bitbake/build.py: Write logfiles on a per task basis, not per function
Per function logging made it hard to track down what was happening so
switch to logging on a per task basis.

[BUGID #383]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-11 12:53:54 +01:00
Richard Purdie
ff539b11ac bitbake-runtask: Ensure logging options are inherited from the parent
[BUGID #291]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-11 12:52:57 +01:00
Kevin Tian
efe55d749a linux-wrs: Change the kernel configuration to enable psplash.
Init scripts assume uvesafb as module, and also need CONFIG_FRAMEBUFFER_CONSOLE
to set some mode parameter, else wrong parameter cause psplash's mmap failure.

This is just a quick fix as we don't know how to change the wrs kernel config
in a clean way. Should revert it with clean way of changing.

[BUGID #363] fixed by this

Signed-off-by: Tian Kevin <kevin.tian@intel.com>
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-10-11 12:25:53 +01:00
Dongxiao Xu
771fb55d6b connman: Do not take over ethernet interface if target is boot by nfs
Detect if target system is booting by nfs, connman will
not take over the ethernet interface.

This fixes [BUGID #364]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-10-11 12:22:39 +01:00
Richard Purdie
ded2919f19 rootfs: Update ROOTFS_PKGMANAGE to include atp/zypper
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-11 12:18:02 +01:00
Richard Purdie
df41bd46dd package_rpm: Disable nativesdk/canadian package indexes for now as these are being incorrectly used for target rootfs generation, breaking the images
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-11 12:13:43 +01:00
Richard Purdie
e9af61e9c2 dpkg-native: Don't install update-alternatives as it isn't cross rootfs capable
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-11 11:44:42 +01:00
Dongxiao Xu
b9728f63c6 dpkg: fix package_deb error for linux-wrs
The new dpkg will report linux-wrs version parse error,
since there is a '_' inside. This patch fixes this issue.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-10-09 10:15:50 -07:00
Richard Purdie
7836c45267 linux-wrs: emenlow has its own branch, use it
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-09 18:12:37 +01:00
Richard Purdie
115514b5eb bitbake/fetch: Ensure SRCREV is still set correctly if the pn-X override has been expanded
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-09 17:24:16 +01:00
Richard Purdie
a743e823bc base.bbclass: Fix spelling mistakes and change log level
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-09 16:25:03 +01:00
Richard Purdie
b8ce8c72d1 poky-default-revisions.inc: Work around weak assignment operator bad interaction with SRCREV
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-09 16:24:30 +01:00
Richard Purdie
b825febaeb linux-wrs/emenlow: Set WRMACHINE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-09 16:23:12 +01:00
Richard Purdie
2f55ec4a52 atom-pc: Switch from linux-netbook to linux-wrs
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-09 16:00:57 +01:00
Tom Zanussi
b8d75d2a50 emenlow: switch kernel from "linux" to "linux-wrs"
Fixes [BUGID #396]

Make the emenlow machine point to the windriver kernel instead.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-10-09 16:00:26 +01:00
Tom Zanussi
627fb75407 emenlow: remove psb-kernel-source dependency from xserver-psb package
Fixes [BUGID #396]

With the switchover to linux-wrs, xserver-psb no longer depends on the
external modules contained in psb-kernel-source (which have been moved
in-tree).

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-10-09 16:00:08 +01:00
Tom Zanussi
ee1c802ae2 emenlow: add linux-wrs_git.bbappend
Fixes [BUGID #396]

Add emenlow as a compatible machine for linux-wrs and pick up the
defconfig (which will be pared down if necessary in a later patch).

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-10-09 15:59:37 +01:00
Darren Hart
fe9c556f56 atom-pc: enable CONFIG_FRAMEBUFFER_CONSOLE
Add CONFIG_FRAMEBUFFER_CONSOLE to the i915.cfg config fragment for
the atom-pc machine. This allows the BlackSand to boot to the sato
desktop with text after the fb switch as well as the poky splash
screen.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
CC: Richard Purdie <rpurdie@linux.intel.com>
2010-10-09 15:58:52 +01:00
Darren Hart
6f66fc15c7 Add default revision for linux-wrs common_pc-standard HEAD
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-10-09 15:58:27 +01:00
Darren Hart
d7a1ebc81e atom-pc: 8250 config fragment
Add serial port support for atom-pc.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-10-09 15:56:52 +01:00
Darren Hart
1bc382586a linux-wrs: Add support for atom-pc
Add the option of using linux-wrs as the kernel provider for atom-pc. This
patch uses poky to apply config fragments to the common_pc-standard branch
of the linux-wrs kernel. A follow-on patch will remove these once linux-wrs
has an atom-pc branch and the config fragments are present in the kernel
repository.

This configuration boots to a prompt on the BlackSand, but panics unable
to find the root partition on the Toshiba NB305 where the "rootwait"
kernel boot option appears to be being ignored.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-09 15:55:06 +01:00
Dongxiao Xu
ca664ee35d dpkg: upgrade to version 1.15.8.5
Rebase several patches to fit the latest version
Fix a compile issue related with snprintf.
dpkg: bump PR

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-09 07:40:04 -07:00
Richard Purdie
144e7b461d udev: Don't install unused links.conf file (thanks Joe Sauer for spotting)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-09 15:08:09 +01:00
Richard Purdie
939e2fe270 gettext: Move files to the correct place
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-09 15:05:09 +01:00
Bruce Ashfield
530fb7fdea linux-wrs: fix emenlow and wrs_meta SRCREV values
Fixes [BUGID #395, #396]

The initial commit for emenlow support dropped a character on the
SRCREV and missed the wrs_meta update. this fixes both those issues.

There are still pending commits and issues with emenlow support, but
these values are wrong and should be fixed now.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-09 15:02:51 +01:00
Dexuan Cui
30f77f6182 distro_tracking_fields: remove the duplicate line for oprofile
In the same file, there is alrealy a line for oprofile.

Also add an empty line before oprofileui.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-10-09 14:44:07 +01:00
Dexuan Cui
1d7c9a9828 attr: fix the hardcoded search path in the AC_PATH_PROG
We should respect $PATH.

The patch is from Qing.

Fixes [BUGID #369].
BTW: the bug was triggered on a build host that didn't install gettext.

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-10-09 14:44:07 +01:00
Scott Garman
c805a6ed28 poky-qemu-internal: implement file locking in bash
There does not appear to be a universal lockfile utility that
meets our needs. For example:

* 'lockfile' is part of the procmail pacakge in Ubuntu, a
  requirement we don't want to impose on our users
* lockfile-[create|remove] from the Ubuntu lockfile-progs
  package does not appear to be available in Fedora/openSUSE

So, the most portable way to do this is just to implement it
in bash. The likelihood of race conditions is minimal for
what we need this for.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-08 14:48:20 -07:00
Scott Garman
7cd824a538 poky-qemu: fix handling of some rootfs types
This allows the user to specify a rootfs type
(e.g, poky-image-sato) without typing out the full filename
and path (assuming we can infer a valid MACHINE and FSTYPE).

This fixes [BUGID #415]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-08 14:47:54 -07:00
Saul Wold
e72e7b2fdc rootfs_deb: Fix problem with pseduo and rootfs location
This address [BUGID #401] to complete dpkg rootfs support

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-08 13:51:44 -07:00
Dongxiao Xu
0ae7e9e2cb dpkg: upgrade to version 1.15.8.5
Rebase several patches to fit the latest version
Fix a compile issue related with snprintf.
Reset PR in dpkg.inc

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-08 13:51:29 -07:00
Darren Hart
c449c78c25 Rename MACHINE=netbook to MACHINE=atom-pc
In preparation for the more generic atom-pc, rename the netbook machine and all
the relevant overrides. Leave the linux-netbook kernel recipe intact and as the
default kernel for the atom-pc machine.  A future patch will convert this over
to linux-wrs and likely remove the linux-netbook kernel recipe.

Cc: Tom Zanussi <tom.zanussi@intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-08 16:56:44 +01:00
Saul Wold
5f17c07331 gststream commercial: modified recipes and tasks to add commercial identifier
Modified DEPENDS and RDEPENDS in these recipes and tasks to make packages
which have potential license implications opt in through options in
poky/local.conf.

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-08 16:47:19 +01:00
Saul Wold
7d42965565 base.bbclass: add support for commercial license check
This addresses [BUGID #410], require implict action by someone to enable
functionality that may have license implications.

By default this diables mp3 and mpeg decoding

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-08 16:46:33 +01:00
Saul Wold
c47132ae66 gettext: Add GPLv2 version 0.14.1
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-08 16:46:33 +01:00
Richard Purdie
45e05c1316 meta-toolchain: Fix symlink path
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-08 16:45:50 +01:00
Richard Purdie
ad042da703 meta-toolchain: Fix libGL.so not found issues
Fix libGL.so not found issues by making sure ld.so.cache from the host system
is used to locate libraries.

Also, fix a /usr/ reference that should be /var to keep the installation
tarball clean.

[BUGID #228]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-08 15:20:42 +01:00
Richard Purdie
93c19abbc2 unfs-server: Fix DEPENDS for native/nativesdk cases
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 23:40:05 +01:00
Nitin A Kamble
2f19e2a1e6 libc-package.bbclass, eglibc, glibc: enable locales generation using cross-localedef
Along with qemu this provides another option to generate locales for
[e]glibc. The new method is to use cross-localedef with appropriate arch
specific parameters.

The cross-localedef method is found to be 15 times faster than qemu's
emnualted method.

LOCALE_GENERATION_WITH_CROSS-LOCALEDEF : This is new config variable
introduced to selet qemu or cross-localedef method for locale generation.

Thanks to Mark Hatle from Windriver for providing the rich
information for cross locale generation.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-10-07 22:53:28 +01:00
Nitin A Kamble
2e04061897 cross-localedef-native: tool for cross generation of locales
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-10-07 22:11:36 +01:00
Scott Garman
7b079e1d08 Update meta-ide-support dependencies
Using poky-qemu with our new tap networking and/or unfs support
required too many additional build steps. This updates the
meta-ide-support dependencies so all features are built and
available to use.

Specifically, this adds psuedo-native, qemu-helper-native, and
unfs-server-native to the dependency chain for meta-ide-support.

This fixes [BUGID #392]

Also add poky-gen-tapdevs and remove runqemu-nfs from the
qemu-helper-native recipe, and update some qemu control script
error messages to suggest building meta-ide-support.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-07 22:07:45 +01:00
Richard Purdie
bda24caa5c poky-fixed-revisions.inc: Clean up pointless PREFERRED_VERSION statements
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 21:51:29 +01:00
Richard Purdie
ddb5d4c9af librsvg: Drop old versions
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 21:44:48 +01:00
Richard Purdie
519b7c0dd3 pulseaudio: Add back after it was lost in meta-moblin removal (and dependencies)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 21:38:47 +01:00
Richard Purdie
02445fca7b poky-default-revisions.inc: Move SRCREV settings into this file
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 21:24:11 +01:00
Scott Garman
0f973ed665 Merge runqemu features into poky-qemu
This merges the functionality of the runqemu script into poky-qemu.
It also removes the requirement to order command line args to poky-qemu
in any particular order.

This fixes a slew of runqemu-related bugs by making the runqemu script
obsolete (and fixing the issues in the new poky-qemu), including
[BUGID #294] [BUGID #295] [BUGID #371] and [BUGID #324].

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-07 19:57:34 +01:00
Scott Garman
e70c8981f2 Allow running of multiple QEMU nfs instances
These changes allow multiple instances of the userspace NFS server
to run, when brought up by consecutive instances of the poky-qemu
control script.

This fixes [BUGID #393]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-07 19:55:50 +01:00
Scott Garman
8532405c1d poky-gen-tapdevs: script to create a 'bank' of tap interfaces
This script can be used to create and configure a 'bank' of tap
interfaces that can be used by the poky-qemu script.

It is useful in locked-down enterprise environments where developers
do not have sudo access, but need to be able to run QEMU with
networking. A sysadmin would then use this script to bring up a
number of tap interfaces for the user to make use of.

This fixes [BUGID #391]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-07 19:53:46 +01:00
Scott Garman
62625d0ca0 poky-qemu-internal: use lockfile-progs for network interface locking
The 'lockfile' utility originally used comes from the procmail
package, which users shouldn't have to install. This uses the
more general lockfile-progs utilities to acheive the same end.

This fixes [BUGID #389]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-07 19:52:32 +01:00
Scott Garman
fcbd67c047 poky-qemu: integrate userspace nfsroot support
This is the first phase of some refactoring the poky-qemu control
scripts are getting. This integrates userspace nfsroot support into
poky-qemu, making runqemu-nfs obsolete.

This fixes [BUGID #295]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-07 19:51:36 +01:00
Scott Garman
c8a181e847 poky-qemu-ifup/ifdown: Require root privileges to run
This fixes [BUGID #232], requiring root privileges to run these scripts
and giving an error prompt when that requirement is not met.

The tunctl uid fallback code has also been removed, as we can rely on
the specific version of tunctl run from the native sysroot.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-10-07 19:48:17 +01:00
Bruce Ashfield
fb24302125 kern_tools: update SRCREV for defconfig fixes
Fixes [BUGID #399]

During BSP work it was noticed that some defconfigs weren't being
pulled into BSPs. This was due to a bad test that ended up
allowing a defconfig to exclude itself. The test has been tightened
to only kernel feature files, and defconfigs are now always
pulled in.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-07 08:24:37 -07:00
Nitin A Kamble
bf1a37e40c xf86-video-intel_git: fix COMPATIBLE_HOST definition
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-10-07 08:24:37 -07:00
Nitin A Kamble
f938a4199b syslinux: fix COMPATIBLE_HOST definition
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-10-07 08:24:37 -07:00
Nitin A Kamble
50ba9c4d40 nasm: fix COMPATIBLE_HOST definition
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-10-07 08:24:37 -07:00
Nitin A Kamble
8a4298c71c libacpi: fix COMPATIBLE_HOST definition
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-10-07 08:24:37 -07:00
Saul Wold
7160dce02e formfactor: mv emenlow formfactor config to machconfig
Fixes [BUGID #398]

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-07 08:24:36 -07:00
Richard Purdie
bee7c21f6e bitbake/runqueue.py: Fix invalid variable reference fixing the -f option with setscene tasks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 15:45:02 +01:00
Richard Purdie
240b6636f9 sstate: Fix SSTAGE_MIRRORS handling and improve example in local.conf.sample
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 15:42:56 +01:00
Richard Purdie
24ad63979f bitbake/fetch/__init__.py: Abstract mirror variable handling and enhance to accept \n delimitation in variables
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 15:42:15 +01:00
Richard Purdie
0e0fadb400 rootfs_rpm: Add lock file in the rpm deploy directory to allow mutliple rootfs creation tasks to coexist without breaking each other
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 15:41:17 +01:00
Richard Purdie
fafb40364d gcc: Fix c++ search path for target system compiler making everything consistent
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 11:06:32 +01:00
Richard Purdie
11ebcec445 local.conf.sample: Until bug 227 is resolved, ipk packaging is needed for meta-toolchain so enable by default
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 10:23:30 +01:00
Darren Hart
0a20caf090 Export ALL_PROXY for bitbake commands
We already export http,ftp,https proxy environment variables. Some environments,
GNOME for instance, place the socks proxy in ALL_PROXY and all_proxy. Export it
as well.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-10-07 10:18:25 +01:00
Darren Hart
e12c57e877 handbook: corrent RRECOOMENDS spelling in ref-variables
Correct MACHINE_EXTRA_ESSENTIAL_RRECOOMENDS to
MACHINE_EXTRA_ESSENTIAL_RRECOMMENDS.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2010-10-07 10:17:56 +01:00
Mark Hatle
60beb398cc pseudo: Update to the latest version of pseudo
[BUGID #403]

The latest version of pseudo has a workaround for an extended attribute
problem that may show up with certain configurations of modern coreutils.

Specifically cp -p does not use chmod to change the permissions, but instead
uses fsetxattr to change the permissions.  fsetxattr (and extended attributes)
are not supported within pseudo.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-07 10:16:17 +01:00
Richard Purdie
5eee854f53 qt4-tools-native: Fix compile failures
fontconfig/freetype are not listed in the dependencies, neither are any of the
X components yet this recipe appears to be building the whole UI framework, not
just the tools.

It turns out this is a dependency for uic3 and qdbus. Since at this time we don't
require these, remove them from the build.

Its likely cross versions of those specific tools would need to be added due to
their dependency on the windowing system compilation.

[BUGID #390]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-06 15:17:14 +01:00
Richard Purdie
35d095c282 bitbake/sstate: Implement a lookup function to speed up setscene processing
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-05 22:26:33 +01:00
Richard Purdie
2d93cb0a0d Revert "classes: Disable setscene tasks for initial testing"
This reverts commit 084ec86402.
2010-10-05 22:26:33 +01:00
Richard Purdie
425435f403 base.bbclass: Implement PRINC, a way to increment the PR variable in .bbappend files
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-05 22:26:32 +01:00
Richard Purdie
904ae4a753 Improve FILESPATH usage in .bbappend recipes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-05 22:26:32 +01:00
Joshua Lock
0ee7a9e6bd bitbake/fetch: if mirror fetching fails, ensure exception is raised
We catch any exception raised by the fetchers go() method and attempt to work
around it by trying any (post) mirrors which are configured. However, should
the mirrors fail the exception is lost and the fetch is assumed to have
completed successfully.

Instead, save the exception and if the local file does not exist after trying
the mirrors re-raise the exception.

Fixes [BUGID #362]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-05 16:54:10 +01:00
Saul Wold
8e5c0841ea rootfs_deb: fix parsing a shell cmd
This fixes [BUGID #360] parsing failure when using package_dep
as rootfs generator.

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-04 16:24:01 -07:00
Bruce Ashfield
a4f2e2af1b kernel: update SRCREVs for emenlow and blacksand/Kconfig
Fixes [BUGID #395, #396]

Add the emenlow-standard branch to the SRCREV list, and update
all the branch revisions to include the fix for defconfig processing,
that was exposed by work on the blacksand BSP.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-04 16:24:01 -07:00
Bruce Ashfield
12b0f4903a createme/patchme: use kgit-checkpoint to restore meta data
Fixes [BUGID: #390]

The custom de-checkpoint routines used in createme/patchme
destroyed data each run. This meant that incremental and
expermental work couldn't be done directly in the kernel source
tree itself. Using the more robust kgit-checkpoint allows that
data to be persistent (until a clean is done).

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-04 09:40:59 +01:00
Bruce Ashfield
1225cc4486 kern_tools: allow patching on autocreated/empty branches
Fixes [BUGID #388]

Even if we aren't creating the branch from scratch, it is possible
that it has never been patched before. So let's make sure the
infrastructure for patching is always in place.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-04 09:40:59 +01:00
Richard Griffiths
2fac07aa98 qemumips: Add formfactor file so the mouse works correctly
Fixes [BUGID #99]

Signed-off-by: Richard Griffiths <rgriffit@windriver.com>
2010-10-04 09:40:59 +01:00
Richard Griffiths
546ffc5fa5 x11-common: correct the syntax for the -mouse arg to Xfbdev
Fixes [BUGID #99]

The mouse option as passed to Xfbdev was correct for most
targets, except mips (and a PS/2 mouse). Modifying the
syntax of the option fixes the mips case, and has no impact
on other users.

Signed-off-by: Richard Griffiths <rgriffit@windriver.com>
2010-10-04 09:40:58 +01:00
Richard Griffiths
ce7101b1f0 qemumips: override default UI options.
Fixes [BUGID #99]

The mouse, usb and cursor devices don't work for the
qemumips machine. There's no easy way to 'undo' the
defaults, or dynamically remove them, so we simply
don't use the default UI options for this machine type.

Mouse and pointer are provided via ps/2 and not via
the usb and wacom tablet driver.

Signed-off-by: Richard Griffiths <rgriffit@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-10-04 09:40:58 +01:00
Daniel Díaz
8223e50582 ncurses: Fix export of LD_LIBRARY_PATH.
This fixes the following error on do_install:
> line 175: export: `=': not a valid identifier
> line 175: export: `[...]/usr/lib': not a valid identifier

Signed-off-by: Daniel Díaz <yosoy@danieldiaz.org>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-04 09:21:42 +01:00
Richard Purdie
31bd1412e5 gitignore: Add meta-extras and meta-m2
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-02 22:34:08 +01:00
Richard Purdie
ce25e933a9 meta-openmoko: Drop as this code is very stale
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-02 22:33:24 +01:00
Richard Purdie
0cab41aac3 meta-gnome: Remove libgnome, libgnoneui and update gthumb adding libunique dependency
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-02 22:32:45 +01:00
Richard Purdie
4163767c00 ncurses: Only set LD_LIBRARY_PATH within the do_install
If this is done as a global export it can affect the whole task and the
wrong python libraries can be found for example.

[BUGID #335]

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-02 18:09:14 +01:00
Mark Hatle
dd81d5882b insane: Update the insane class to check for host contamination
[BUGID #376]

Update to the insane class to detect the new gcc and binutils poison
messages located within the config.log.  (Continue to scan for the old
style message.)

Add a new compile and install log check to the package_qa that scans the
logs for the same types of messages "unsafe for cross-compilation".

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-01 18:45:32 +01:00
Mark Hatle
8e429accb8 build.py: Add a symlink for the logging
[BUGID #375]

When configuring for the log file output, we generate a symlink to the
target filename.  This link uses the same file naming, but without the
active pid, making it easier to see which log file is the last one
generated.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-01 18:45:32 +01:00
Joshua Lock
df07008f56 python-pygtk: Use correct paths at build time
Fix the paths in configure.ac to use the target libraries and generators for
building pygtk. Fix taken from OE.

Thanks to Gary Thomas for providing a first stab at this.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-01 16:47:38 +01:00
Gary Thomas
ce5e891d51 Python gst package needs pygtk at runtime
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-01 16:47:38 +01:00
Joshua Lock
b9369741db poky-qemu-internal: only check mmap_min_addr when running arm images
No need to force users to poke /proc/sys when they don't need to.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-01 16:47:38 +01:00
Gary Thomas
8fdc5ff4c1 Fix packaging error (util-linux-sfdisk could not be built)
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-01 16:47:37 +01:00
Joshua Lock
7cdddd1887 local.conf.sample: include notes on generating fewer LIBC locales
libc locale generation is very time consuming so document the
GLIBC_GENERATE_LOCALES variable in the sample local.conf

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-10-01 16:47:37 +01:00
Mark Hatle
c112368e6f siteconfig: Fix mkdir
[BUGID #379]

In a strange configuration, siteconfig could have already generated it's
directory, but decided it needs to regenerate the site config.  The lack
of -p in the mkdir causes a failure.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-01 16:32:33 +01:00
Mark Hatle
4a19330709 binutils: Update the poison patch
[BUGID #374]

Previously the poison directories patch was present, but not enabled due
to the lack of the configure option being set, and also the fact configure
itself was not being patched.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-01 16:32:19 +01:00
Mark Hatle
23f522e7a5 gcc: Update poisoned include path checking
[BUGID #374]

The poison directory patch that was included with gcc-4.5.0 was not previously
enabled due to the lack of the configure file changes.

The patch has been updated to include the configure fragment.  It was also noted
that this patch preformed nearly the same functions as the
zecke-no-host-includes patch, but with slightly different directories.

The directories scanned were added from the zecke-no-host-includes patch to
the new gcc-poison-dir-extend.patch.

The other difference with the zecke patch is that poisoned headers is no longer
an immediate fatal error.  There may be instances where someone wants to do
this.

Adding -Werror=poison-system-directories to the CFLAGS would restore the
behavior.

Also fix a small problem where --help=warnings on gcc wouldn't return the
poison-system-directories as a valid option, even though it was.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-01 16:30:43 +01:00
Mark Hatle
9a1d4d0c8d augeas: Add missing dependency on readline
[BUGID #381]

Augeas apparently has a readline dependency.  Add this to the DEPENDS.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-01 16:30:19 +01:00
Richard Purdie
ca5fff3806 sstate: Deal with a potential race when cleaning packages
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-01 14:07:18 +01:00
Richard Purdie
c0c657bd92 Split meta-extras and meta-moblin out of the main repository
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 22:16:10 +01:00
Richard Purdie
e71a306f9c task-base: Drop wifi fw
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 22:16:10 +01:00
Richard Purdie
c09cae578e Move prism-firmware, spectrum-fw, python-urlgrabber, python-iniparse and yum-metadata to meta-extras
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 22:16:10 +01:00
Saul Wold
a51df11c15 Distro Tracking: Remove private directory since it's merged to one file now
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 13:57:42 -07:00
Richard Purdie
e3d7890cac Make invalid LICENSE fields fatal
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 20:46:23 +01:00
Richard Purdie
c0281fa49b libopensync: Fixup a couple of LICENSE fields
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 20:46:23 +01:00
Richard Purdie
008c59cf83 external-toolchain: Set LICENSE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 20:46:23 +01:00
Richard Purdie
96235897e6 moblin-proto: Move to meta-extras
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 20:46:11 +01:00
Zhai Edwin
27b68f9f4c qemu: introduce vmware vga FIFO rewind patch to fix qemu hang
In some circumstance guest driver got interrupted before inserting all args
for one command, so that qemu get an invalid args and hang. GL patch
doesn't consume these missing args, which further cause FIFO disorder.

This commit reverts wrong behavior of GL patch, and introduces a qemu
upstream patch to rewind FIFO unpon detecting incomplete command.

[BUGID #111] fixed by this.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-30 12:32:10 -07:00
Zhai Edwin
7f17d12cfd linux-libc-header: Sync CONNECTOR_MAX_MSG_SIZE with wrs kernel
Currently default header is linux-libc-header, which leads the dismatch
with wrs kernel.

The different headers for same file cause trouble between kerenl module and
user level binary. E.g. segfault in v86d due to different
CONNECTOR_MAX_MSG_SIZE in connector.h from the one used by uvesafb.

This fix is work around to sync with wrs kernel headers, and should be removed
after switching to linux-libc-headers-wrs.

[BUGID #279] fixed by this.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-30 12:32:10 -07:00
Saul Wold
9c9c8eb835 gdb: add EXPAT to resolve gdbserver comm issues
[BUGID #346]

Added EXPAT = "--with-expat" to allow gdb to correctly
communicate with the gdbserver

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 12:30:18 -07:00
Saul Wold
bf1747b4e5 gst-openmax: Add LICENSE field
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 12:30:18 -07:00
Richard Purdie
a4762f928a gobject-introspection: Add LICENSE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 19:58:10 +01:00
Richard Purdie
84a4ef2df8 spectrum-fw: Set LICENSE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 19:55:26 +01:00
Richard Purdie
4ec740dded puzzles: Set LICENSE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 19:00:19 +01:00
Saul Wold
d4feb66a75 libfribidi: added LICENSE field
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:22:27 -07:00
Saul Wold
d8915153e2 beeycrypt: added LICENSE field
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:22:11 -07:00
Saul Wold
c649698d90 libffi: added LICENSE field
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:21:46 -07:00
Saul Wold
a00a840fb7 tzcode-native: added LICENSE field
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:21:30 -07:00
Saul Wold
784f0cfee7 polkit-gnome: added LICENSE field
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:21:12 -07:00
Saul Wold
8c7dfe89e1 diffstat: Added LICENSE field
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:20:14 -07:00
Saul Wold
3e5cf5f884 libopensync: Added LICNESE fields to plugins
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:19:56 -07:00
Saul Wold
fe64be2fac farsight: Added LICENSE field
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:19:20 -07:00
Dexuan Cui
6b1c260fa3 elfutils: add zlib into DEPENDS
This patch fixes the build failure I met with.
Thanks a lot to Qing He and Kevin Tian for pointing this out!

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-30 10:18:00 -07:00
Kevin Tian
2a066e7ca9 gcc: fix check for target libc ssp support
gcc uses hardcoded path "${with-build-sysroot}/usr/include" to check target
libc ssp support. Based on GLIBC version strings in features.h in that search
path, gcc knows whether target (e)glibc implements stack protector itself.

However this breaks meta-toolchain, which actually has target libc headers
installed under {with-build-sysroot}/opt/... This way features.h is not found
and thus gcc-crosssdk-intermediate thinks that target (e)glibc doesn't support ssp.

Later when building eglibc-nativesdk, undefined reference to "__stack_chk_guard"
occurs which was caused by:

  o eglibc do_configure found that gcc-crosssdk-intermediate supports ssp,
    and thus enable -fstack-protector for nscd

  o eglibc itself supports stack smash proctection for some architectures such
    as i386, x86-64, etc. It's expected to use its own method to provide stack
    protection, instead of relying on gcc. So eglibc rtld.os doesn't export
    __stack_chk_guard to other modules

  o then when installing nscd objects, gcc-crosssdk-intermediate sees the
    flag "-fstack-protector", while it thought this eglibc doesn't implement
    ssp itself, so gcc turns to the alternative to find a valid
    __stack_chk_guard exported. eglibc doesn'g export it, while
    gcc-crosssdk-intermediate itself disables libssp.

Then the undefined reference happens. If enabling libssp for gcc-crosssdk-
intermediate, it may also work-around this issue. But the ideal fix is still
to replace hard coded path with the actual one where target libc gets installed.

glibc-nativesdk doesn't encounter this issue because it thinks gcc doesn't
support ssp, and thus doesn't enable "-fstack-protector" for nscd. Don't know
the reason yet

This fix [BUGID #366]

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-30 10:18:00 -07:00
Yu Ke
b07cc5a74a initrdscripts: remove the incorrect moblin message (Bug 368)
When install the live image into netbook/emenlow, the install tool prompt:
# Found drive at /dev/sda. Do you want to install moblin there ? [y/n]
The "moblin" here should be replaced by "poky".

Fix [BUGID #368]

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-09-30 10:14:07 -07:00
Yu Ke
aca435f238 qmmp: add qmmp into image (Bug 301)
qmmp is not included any image before, because it depends on one moblin recipe taglib. Since now the taglib is included into meta/recipes-support, it is safely to add qmmp into the task-poky-qt.

This commit also add an build time dependency for qmmp, because qmmp use some head files from taglib. Without this, qmmp build failure is occationally observed.

Fix [BUGID #301]

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-09-30 10:14:06 -07:00
Bruce Ashfield
1526b9d4d9 kern-tools: add BSP bootstrap support
Part of [BUGID #373]

Update the default revisions for kern_tools to pull in the updates
required to support BSP bootstrapping.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-30 10:08:55 -07:00
Bruce Ashfield
5848cc4db6 linux-wrs: pass ARCH to updateme
Part of [BUGID #373]

In order to generate BSP definitions for new boards, we need
to know the architecture. So we'll arrange to pass it to
updateme.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-30 10:08:55 -07:00
Bruce Ashfield
8d5b2224bd linux-wrs: validate commits when forcing branches
Fixes [BUGID #372]

If for some unknown reason, the kernel git repository hasn't been properly
updated and is *older* than the revisions listed in default-revisions the
branch sanity checking kicks in and tries to force branches to the right
revs. The problem is, the revisions it is looking for don't exist in the
tree.  As a result, error messages are thrown about invalid commit IDs.
These aren't helpful, and are simply confusing for the user.

Instead we can test for the commit ID, and if it isn't valid, indicate
that the commit ID isn't valid and that the tree is potentially out
of sync.

This situation is not common, but it is an easy test and the extra
sanity checking is useful.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-30 10:08:55 -07:00
Saul Wold
06c19f0cd0 mc: add to extended, but not part of any image
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:06:24 -07:00
Saul Wold
4c9f98b4c7 Distro tracking: Add info for lighttpd
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-30 10:06:24 -07:00
Mark Hatle
41f19342f1 rpm_5.1.10.bb: The upstream location has changed
rpm_5.1.10.bb: bump PR
[BUGID #357]

The upstream distribution location for the Poky 5.1.10 version of RPM
has changed.  Correct it to the new location.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:06:24 -07:00
Mark Hatle
ce373c7cc3 rpm_5.1.10: Disable dependency loop message
[BUGID #332]

Disable the dependency loop message that looked like an error had
occured.  This is really a debug message.

Also remove the "remove: " debug message about which side of the
dep loop it is removing to resolve the circular dependency.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-30 10:05:43 -07:00
Mark Hatle
fad896d4ea rootfs_rpm.bbclass: Add Dirnames configuration
[BUGID #327]

RPM attempts to validate all of the directories on the system are
owned by a package.  While the root "/" directory was not owned, so
in some cases an error could be thrown.  Resolve this by informing
RPM that yes, "/" is in fact a directory on the system that was
properly constructed and is "owned".

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-30 10:01:34 -07:00
Saul Wold
c9e6f53a11 distro_tracking_fields: Updated with distro alias information
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-30 10:01:34 -07:00
Richard Purdie
82a42c6457 pointercal: Add LICENSE field
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 18:02:36 +01:00
Richard Purdie
66bb71a25a udev-extraconf: Fix LICENSE field
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 18:02:36 +01:00
Richard Purdie
041fe173cc pong-clock: Fix LICENSE field
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 18:02:36 +01:00
Richard Purdie
ced8cb0809 signgp: Add licence info from OE.dev
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 18:02:36 +01:00
Richard Purdie
bb1b3cfd53 task-poky-lsb/basic: Add LICENSE fields
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 18:02:36 +01:00
Richard Purdie
69c650c277 run-postinsts: Add LICENSE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 18:02:36 +01:00
Richard Purdie
1d52fa5269 bitbake/bitbake-sigdiff: Extend to handle dumping single state siginfo files
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 18:02:35 +01:00
Richard Purdie
1c91f32f5e bitbake/siggen: Fix issue where excluded dependencies caused exceptions
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 18:02:35 +01:00
Richard Purdie
adcb01d091 poky.conf: Add BB_HASHBASE_WHITELIST to ignore variables which don't influence sstate packages (Initial Population)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-30 18:02:35 +01:00
Joshua Lock
7f7c185cf1 Revert "Drop vm_mmap_min_addr checks from scripts and sanity class"
This reverts commit 138df217ef.

We still need the vm_mmap_min_addr set to 0 to run locale generation for
qemu-arm

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-29 17:10:41 +01:00
Joshua Lock
62fe6dc755 sstate: list directories in child first order in the manifest file
The directory list in the manifest file needs to be sorted such that child
directories are deleted first. Fortunately as the list is generated by walking
the directory tree achieving this is as simple as reversing the directory list.

Fixes [BUGID #269]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-29 17:10:41 +01:00
Kevin Tian
e88a8951be procps: use new batch update-alternatives feature
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-29 16:42:43 +01:00
Kevin Tian
b797a842ba diffutils: use new batch update-alternatives feature
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-09-29 16:42:33 +01:00
Kevin Tian
2b18117820 bzip2: use new batch update-alternatives feature
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-29 16:42:19 +01:00
Kevin Tian
22cbcd964f update-alternative.bbclass: add batch alternatives support
With new batch ability, we can use below simple 2 lines for multiple alternatives
updates:

ALTERNATIVE_LINKS = "${bindir}/cmd1 {sbindir}/cmd2 ..."
ALTERNATIVE_PRIORITY = "100"

Then for each command "/path/cmd" listed in ALTERNATIVE_LINKS, below is done
automatically:

    ${D}/path/cmd is renamed to ${D}/path/cmd.{PN}
    a new alternative named 'cmd' is created which:
        links /path/cmd to /path/cmd.{PN} with priority specified in ALTERNATIVE_PRIORITY

This way the recipe with multiple alternatives could be simplified a lot. There
are still some cases where above assumptions may break, but I expect more recipes
should benefit from this simple enhancement

Fix [BUGID #257]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-29 16:42:15 +01:00
Gary Thomas
5f289ac80f e2fsprogs: Don't change ownership of the patches directory
Patches can be symlinks and changing their ownership may not be possible.
Therefore stop doing this.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29 16:25:47 +01:00
Gary Thomas
53bfbe6b06 gstreamer: Ensure correct orcc version is used
Taken from a patch from the OE list posted by Michael Smith, submitted
to Poky by Gary Thomas.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29 16:22:40 +01:00
Richard Purdie
a598c15636 handbook/bsp-guide: Fix typo
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29 15:29:32 +01:00
Richard Purdie
2624b61814 poky-doc-tools: Remove unnecessary autotools usage and simplfy structure
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29 15:27:04 +01:00
Richard Purdie
1e0e6f1185 sstate.bbclass: Add signature hash to sstate package names
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29 12:12:53 +01:00
Richard Purdie
624924bdcd bitbake/bitbake-runtask: Signatures are needed in task context and have little overhead so enable in worker context
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29 12:12:26 +01:00
Richard Purdie
97dec8410b sstate.bbclass: Update to use SSTATE variables everywhere and remove the now unneeded complicated paths from the sstate files
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29 12:12:26 +01:00
Richard Purdie
dd28a9c516 sstate.bbclass: pstage -> sstate name changes (no global implications)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29 12:12:26 +01:00
Richard Purdie
7087fb788a sstate.bbclass: Rename PSTAGE2 -> SSTATE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29 12:12:26 +01:00
Richard Purdie
9747616600 bitbake/siggen: Ensure full signature data is not held unless needed, reducing memory consumption
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29 10:47:17 +01:00
Dongxiao Xu
8976fa69d0 connman: fix the issue that connman could not disconnect from shutdown AP
Upstream has a fix for MeeGo/Carrick which has the same
phenomenon as our side, therefore port the patch into poky.
This fixes [BUGID #266] and [BUGID #267].

Remove the option "--enable-fake" since it sometimes causes
offline mode failure.

Launch connmand in initlevel 3.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-28 15:51:27 -07:00
Saul Wold
65ace927bd task-poky-basic.bb: fix lighttpd typo
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-28 15:25:18 -07:00
Saul Wold
d6c4088f10 task-poky-basic.bb: add lighttp to basic image type for webserver
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-28 08:45:07 -07:00
Saul Wold
8860ef2449 local.conf.sample: set RPM as default package and rootfs image creation
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-28 08:44:37 -07:00
Zhai Edwin
a1d1e4e47d lighttpd: Add 1.4.28 as new recipe.
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-28 08:26:53 -07:00
Richard Purdie
ec4d6b989a bitbake: Pass task hash information to subprocesses
Pass task has informaiton to work processes, allowing full manipulation of
the hash data in the task context allowing checksums to be usable.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-28 15:34:27 +01:00
Joshua Lock
15ceaaaaf7 bitbake/fetch: fix logic to prevent fetches when the file already exists
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-28 14:07:08 +01:00
Richard Purdie
d85dc37b73 codeparser.py: Fix storing of hash values as object references can be corrupted
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-28 12:05:15 +01:00
Saul Wold
cf09c7a1e3 iproute2: Disable PARALLEL_MAKE
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-27 09:19:58 -07:00
Dexuan Cui
dd5ad1840d eglibc: add FILESPATH to avoid failure on unpack
Actually Kevin identified the issue:
without this fix, "bitbake eglibc-initial-nativesdk" would fail on unpack.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-27 09:12:02 -07:00
Dexuan Cui
aa8dea4829 poky-default.inc: change the hardcoded glibc-initial to ${POKYLIBC}-initial
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-27 09:12:02 -07:00
Scott Garman
2cb33a983a distro_tracking_fields.inc: update cpio info
Reflects current status of cpio recipes.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-09-27 09:08:38 -07:00
Scott Garman
928e6ca664 cpio: add version 2.11 (GPLv3)
This is the most recent version of cpio. Recipe derived from
OpenEmbedded's recipe for cpio v2.5.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-09-27 09:08:38 -07:00
Saul Wold
661e864a03 trace-cmd_git.bb: remove DEPENDS of glibc since there is a system default for
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-27 09:08:16 -07:00
Scott Garman
3b7110b519 distro_tracking_fields.inc: update grep info
Reflects current status of grep, including new recent release
information.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-09-27 09:07:47 -07:00
Scott Garman
5c46570185 grep: add version 2.7 (GPLv3)
This is the most recent version of grep. Recipe derived from
OpenEmbedded's recipe for grep v2.6.3.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-09-27 09:07:47 -07:00
Saul Wold
62432db79d task-poky-clutter.bb: removed examples
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-27 08:59:53 -07:00
Saul Wold
63ec0c2632 distro_tracking: Update tracking info
Add additional aliases and tracking fields for missing packages

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-27 08:59:17 -07:00
Saul Wold
055a720359 distro_check.py: Added additional support for distro checking
Now tells which section a macth occurs (main vs contrib)
    Keywords for Poky, OpenedHand, ...

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-27 08:59:16 -07:00
Yu Ke
7531480bbb QEMU: Fix the mouse shadow issue (bug 170)
the root cause is that the qemu cursor array is hardcoded to 256 bytes, while the sato use cursor of the size 64*64=4096, thus lead buffer overflow and abnormal mouse.

A qemu patch is introduced to dynamically allocate qemu cursor array to fix this issue. BTW, qemu upstream already redesign the cursor interface and implementation, and this issue does not occur in upstream, so no need to push this patch to upstream. and when upgrade the qemu, this patch can be safely removed.

Fix [BUGID #170]

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-09-27 08:59:16 -07:00
Qing He
59646974ab qemux86-64: remove -march for 64bit common pc
Fixes [BUGID #347].

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-27 08:59:16 -07:00
Qing He
998a8316a2 task-poky-tools: add rsync in target image
rsync is needed by debugging using SDK, add it as dependency
of task-poky-tools-debug, this fixes [BUGID #345]

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-27 08:59:16 -07:00
Qing He
0f55d28a4d glibc & eglibc: fix mips DT_MIPS_RLD_MAP checking
On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic
section if a --version-script sets _RLD_MAP to local. This is apparently
a binutils bug, but libc shouldn't segfault in this case.

Add sanity check on the entry to avoid segfault, fixes [BUGID #287].

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-27 08:59:16 -07:00
Dongxiao Xu
5c8fad6544 poky-qemu-internal: Add userspace nfs support for mips and ppc
Add userspace nfs support for mips and ppc architecture.
This fixes [BUGID #343]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-27 08:59:15 -07:00
Dongxiao Xu
ce456306da gcc: enable poison parameters detection
If not configured with --enable-target-optspace, gcc will report
errors if there is '-Os' optimization in parameters.

This fixes [BUGID #342]

Also add "--enable-target-optspace" option to arm gcc configuration.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-27 08:59:15 -07:00
Zhai Edwin
b3ef7f59e2 xtscal: Fix the endless loop when starting X
xtscal script in Xsession.d would lead endless loop if /etc/pointercal is
missing, which make the system hang.

This fix adds a counter for loop.

[BUGID #251] got fixed by this.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-27 16:01:49 +01:00
Saul Wold
239a368d57 netbook: Correct netbook build by moving netbook configuration from moblin to meta
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-24 16:43:21 -07:00
Saul Wold
c5b9525263 taglib: move from moblin to recipes-support to support qmmp
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-24 16:40:10 -07:00
Saul Wold
09f1f6939e man-pages_3.25.bb: Fix SRC_URI to contain Archive directory
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-23 12:42:06 -07:00
Saul Wold
233af81e77 distro_tracking_fields.inc: merged fixes
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-22 18:35:29 -07:00
Dongxiao Xu
460954b1b3 upgrade gcc to 4.5.0 for mips architecture
Fix the out of memory when building webkit-gtk with gcc-4.5.0

The new feature added after 4.3.3
"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
will cause cc1plus eat up all the system memory when build webkit-gtk.
The function mips_get_pic_call_symbol keeps on recursively calling itself.
Disable this feature to walk aside the bug.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-22 09:52:41 -07:00
Dongxiao Xu
b80483094f meta-ide-support: Fix PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_PATH
Fix PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_PATH to make them point
to the correct directory path.

This fixes [BUGID #340].

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-22 09:52:41 -07:00
Bruce Ashfield
c9e52b05d5 qemuarm: remove NFS_ROOT override
During the debug of disk booting on the qemuarm target, the
NFS_ROOT default settings were incorrectly overriden. This
removes the overide and allows the default / global settings
to be processed.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-22 09:30:57 +01:00
Yu Ke
efd25901aa Add DISTRO_PN_ALIAS for 95 packages
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-09-22 00:06:09 +01:00
Xiaofeng Yan
23bfe02542 [#BUG298]:Fix some bugs during compiling based on x86_64
fix a problem that compliation failed for groff on machine x86_64
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2010-09-22 00:03:00 +01:00
Richard Purdie
3c5984a5ba bitbake.conf/documentation.conf: Start using SUMMARY variable and document it
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-21 23:53:07 +01:00
Darren Hart
4a10634a88 Correct js jsautocfg.h and install jsproto.tbl
I'm adding mediatomb packages and ran into a couple build issues with js.

The first complained that jsapi.h wasn't found/usable. This turned out to
be because jsautocfg.h was including "../conf.h" instead of "conf.h" as
they are installed in the same directory in the sysroot. I believe the correct
fix for this would involve the configure.ac script which is used to generate
the jsautocfg.h header file we store in the recipe. Commit
f25d26de77 (js: fix configure) added conf.h,
Qing can you comment here?

The second failure is due to jsproto.tbl not being installed but being
referenced by another header file.

This patch corrects the jsautocfg.h header directly and adds the jsproto.tbl
to the do_install() recipe function.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Qing He <qing.he@intel.com>
2010-09-21 23:40:17 +01:00
Darren Hart
1cf456611d Wrap output at 80 columns for poky-env-internal
The output of:

$ source poky-init-build-env

would wrap on 80 character terminals, making the output difficult to read.
Replace the somewhat clumsy repeated usage of "echo" with bash here documents,
limiting line length to 80 characters. The use of here documents simplifies this
by removing any leading commands or indentation from the output being generated.
A bash'ism should be acceptable here as poky-init-build-env already aborts if
the shell is not bash.

Signed-off-by: Darren Hart <darren@dvhart.com>
2010-09-21 23:38:00 +01:00
Dexuan Cui
f342f3ba68 poky.conf: use eglibc rather than glibc
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-21 23:37:29 +01:00
Dexuan Cui
8c33bfc84a [e]glibc-package.inc: fix multiple providers for glibc-gconv-iso8859-1
This commit fixes the following error while doing this:
bitbake poky-image-sato

ERROR: Conflicting PREFERRED_PROVIDER entries were found which resulted in an attempt to select multiple providers (['virtual:nativesdk:/distro/dcui/dexuan/meta/recipes-core/eglibc/eglibc_2.12.bb', '/distro/dcui/dexuan/meta/recipes-core/eglibc/eglibc_2.12.bb']) for runtime dependency glibc-gconv-iso8859-1 The entries resulting in this conflict were: ['PREFERRED_PROVIDER_virtual/libc-nativesdk = eglibc-nativesdk', 'PREFERRED_PROVIDER_virtual/libc = eglibc']
NOTE: multiple providers are available for runtime glibc-gconv-iso8859-1 (eglibc, eglibc-nativesdk, glibc-nativesdk, glibc, external-csl-toolchain, external-poky-toolchain)
NOTE: consider defining a PREFERRED_PROVIDER entry to match glibc-gconv-iso8859-1

And bumped PR.

This partly fixes [BUGID #329]

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-21 23:36:59 +01:00
Dexuan Cui
11a92051e7 poky-eglibc.inc: fix multiple providers for virtual/libc-nativesdk and other
This commit fixes the following error while doing this:
bitbake poky-image-minimal

NOTE: multiple providers are available for virtual/libc-nativesdk (glibc-nativesdk, eglibc-nativesdk)
NOTE: consider defining a PREFERRED_PROVIDER entry to match virtual/libc-nativesdk
NOTE: multiple providers are available for virtual/i586-pokysdk-linux-libc-initial-nativesdk (glibc-initial-nativesdk, eglibc-initial-nativesdk)
NOTE: consider defining a PREFERRED_PROVIDER entry to match virtual/i586-pokysdk-linux-libc-initial-nativesdk

And bumped PR.

This partly fixes [BUGID #329]

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-21 23:36:37 +01:00
Tom Zanussi
73049a3431 handbook: add BSP click-through licensing section
Add a section to the BSB Developer's Guide outlining the motivation
and procedures for click-through BSP licensing support.

The corresponding build system support hasn't been implemented yet;
this is being added now mainly as a guideline wrt future intentions.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-09-21 23:36:05 +01:00
Tom Zanussi
c0317494aa Fix some typos and grammatical errors in Poky handbook
While going through the BSP section, I noticed some minor problems -
these are my cleanup fixes.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2010-09-21 23:35:36 +01:00
Bruce Ashfield
7450c1a2db linux-wrs: update SRCREVs
The following are the highlights of the latest updates to the
2.6.34 kernel tree:

086d819 selinux: fix parallel compile error
0bffbc5 MIPS: Audit: Fix hang when starting audit
e49491e ucc_geth: fix ethtool set ring param bug
53b9f33 params: don't hand NULL values to param.set callbacks.
eb3b13c irda: Correctly clean up self->ias_obj on irda_bind() failure.
b4aee0b crypto: fix missed kfree for crypto_req
f8490d8 x86-64, compat: Test %rax for the syscall number, not %eax
c3acc43 x86-64, compat: Retruncate rax after ia32 syscall entry tracing
5c21faf compat: Make compat_alloc_user_space() incorporate the access_ok()
afc2a18 Merge commit 'v2.6.34.7' into standard
f423469 Linux 2.6.34.7

Built and booted on all architectures.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-21 13:38:25 +01:00
Qing He
68772b9103 zypper: fix runtime dependency
add procps as runtime recommendation, since pgrep is used by zypper
binary

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-21 13:37:57 +01:00
Qing He
eede7208aa libzypp: RDEPENDS sat-solver
rpmdb2solv provided by sat-solver is executed from within libzypp,
RDEPENDS sat-solver to get the utility included, fixes [BUGID #328]

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-21 13:37:38 +01:00
Richard Purdie
d8137c014f eglibc: Add in libc_cv_slibdir setting as used by glibc to fix 64 bit builds
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-21 00:16:15 +01:00
Richard Purdie
d08f922083 recipes-tbd: Drop old external CSL toolchains and no obsolete staging-linkage recipe
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-20 14:20:06 +01:00
Richard Purdie
79a4501a2e Complete packages -> recipes transition
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-20 14:18:45 +01:00
Dongxiao Xu
03d9669cbc distro_track: add dpkg, m4, and cmake tracking fields
distro_tracking_fields.inc: moved updates to master file

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-17 14:21:28 -07:00
Dongxiao Xu
0ff070bbf1 gcc: upgrade gcc for powerpc to version 4.5.0
Fix one parameter order issue for base_contains function,
which impacts glibc build under new gcc.

Add new judge code to determine whether <altivec.h> is needed.
This fixes the mpeg2dec build failure under new gcc.

Use O2 as the optimization flag to tinylogin as it will meet
segfault if compiled by gcc-4.5.0 when enable both frename-registers
and Os options. Use O2 instead.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-17 11:41:58 -07:00
Zhai Edwin
8e9caafd0b formfactor: Add machconfig in qemux86-64 to avoid HAVE_KEYBOARD unset.
This prevent matchbox-kerboard starting as daemon automatically.

Also fix minor issue of netbase on qemux86-64, and add the machine in
local.conf.sample

[BUGID #308] fixed by this.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-17 11:33:26 -07:00
Tom Zanussi
a50dd612ad perf: Add libelf to dependencies
Fix for unresolved libelf error when running perf:

perf: error while loading shared libraries: libelf.so.1: cannot open
shared object file: No such file or directory

Signed-off-by: <tom.zanussi@intel.com>
Signed-off-by: <bruce.ashfield@windriver.com>
2010-09-17 11:32:38 -07:00
Scott Garman
87cac1db8c bblayers.conf.sample: remove meta-moblin from default layers
This fixes [BUGID #273]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-09-17 11:32:00 -07:00
Saul Wold
0be92981b3 poky-qemu-internal: fix locking of tap lockfile
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-17 11:30:44 -07:00
Saul Wold
a67d9dcaa9 distro_tracking_fields.inc: Merged tracking data
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-17 11:30:44 -07:00
Dexuan Cui
089b1860c7 Distro tracking: update mdadm, screen, oprofile; add libsdl
Add tracking info for libsdl;
Move oprofile from distro_toolchain_devel.inc to distro_toolchain_devel.inc;
Add RECIPE_MAINTAINER_pn for mdadm, screen, oprofile, libsdl.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-17 11:30:43 -07:00
Saul Wold
ad972a787c Distro Tracking: Updated and add Poky Alias info
distro_check.py: Add DISTRO_PN_ALIAS check for Poky, OpenedHand,
                 Intel and Upstream, to mark packages that are
                 not in known upstreams
distro_tracking_fields.inc:
                Merged private files into 1 master file
                Added additional Maintainer Info
                Added Distro Alias information for Poky and OpenedHand

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-17 11:30:43 -07:00
Qing He
3a0b3da57b distro-track: zypper related packages
add tracking fields for zypper related packages

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-17 11:30:43 -07:00
Qing He
7c99ba8470 avahi: explicit depends on libcap
This avoids possible host contamination, fixes [BUGID #288]

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-17 11:30:43 -07:00
Yu Ke
6295c9add5 distro field: add distro fields for some graphcis recipes
they are:
	imake
	fotowall
	libdrm-poulsbo
	mesa-dri-glsl-native
	qt4-tools-native
	quicky
	xf86-video-vesa

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-09-17 11:30:43 -07:00
Zhai Edwin
83c005da5a distro tracking: Add info for gobject-introspection, gdk-pixbuf-csource-native and qemu-helper-native...
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-17 11:30:43 -07:00
Saul Wold
3197bcfcbc distro data: Update distro data tracking data
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-17 11:30:42 -07:00
Richard Purdie
d1ff9aa4f3 toolchain-scripts: Add POKY_TARGET_SYSROOT variable for SDK usage
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-16 15:35:28 +01:00
Richard Purdie
5b02bbcc32 local.conf.sample: Fix commented value to match the default download directory
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-16 15:16:01 +01:00
Richard Purdie
f47ae202af toolchain-scripts: Export TARGET_PREFIX and GDB variables for SDK usage
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-16 15:16:01 +01:00
Richard Purdie
fe0f86e15c bitbake/runqueue: Remove now unneeded indentation
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-13 21:00:10 +01:00
Richard Purdie
474c2a2817 bitbake/runqueue.py: Optimise delay values to avoid unneeded delays
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-13 16:57:13 +01:00
Richard Purdie
e888596636 sstate: Trigger generation of siggen info when building sstate packages
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-13 15:41:07 +01:00
Richard Purdie
19d9435a32 bitbake/siggen: Allow generation of siggen data from task context
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-13 15:40:31 +01:00
Richard Purdie
89c7260931 bitbake/build.py: Set BB_FILENAME to represent the .bb file being built (including any virtual prefix)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-13 15:39:07 +01:00
Richard Purdie
d94f0f74c1 bitbake/siggen.py: Improve debugging of checksums
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-13 12:17:33 +01:00
Richard Purdie
4aec2155a5 bitbake/data.py: Allow variables to suplement dependencies using the vardep flag
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-13 12:16:46 +01:00
Joshua Lock
c01e8760ba bitbake/fetch: ensure the go() method completes when not using premirrors
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-10 18:36:35 +01:00
Richard Purdie
dc4d33cf0f poky-default-revisions.inc: Add missing SRCREV for dtc-native
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 18:32:19 +01:00
Bruce Ashfield
919ae74811 qemu_x86_64/conf: enable E1000 by default
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-10 17:36:01 +01:00
Richard Purdie
6a16ff4c92 dtc: Drop unneeded SRCREV
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 13:01:45 +01:00
Adrian Alonso
6cbc2c3b56 dtc: device tree compiler recipes
* Device tree compiler recipes from OE
* v2 reorder patchset
* remove BBCLASSEXTENDDED from dtc-native.inc
* v3 remove installing dtc in ${STAGING_BINDIR}
* fix PR variable follow Poky guidelines
* v4 fix PV variable

Signed-off-by: Adrian Alonso <aalonso00@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 13:00:49 +01:00
Adrian Alonso
c541b598c8 poky-default-revisions: set default dtc srcrev
* Set default devicetree SRCREV version

Signed-off-by: Adrian Alonso <aalonso00@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 13:00:20 +01:00
Adrian Alonso
9619df0969 linux: add binary devicetree generation
* Add binary devicetree generation support
* Taken from OE
* v2 reorder patch set
* v3 remove package_stagefile_shell
* v4 rename devicetree_image function to install_append
* remove pkg_postinst_kernel-devicetree,
  pkg_postrm_kernel-devicetree functions
* Update KERNEL_DEVICETREE_FLAGS use "-p" option instead
  of "-S" which is deprecated

Signed-off-by: Adrian Alonso <aalonso00@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 13:00:15 +01:00
Jeff Polk
be11510e21 ncurses: rename site_config that was mis-merged when ncurses moved
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-10 12:57:34 +01:00
Jeff Polk
2e9d981d76 autotools: enable siteconfig by default
eglibc glibc ncurses uclibc zlib: remove explicit siteconfig

Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-10 12:57:16 +01:00
Jeff Polk
c3269e20bf siteinfo: add SITECONFIG_SYSROOTCACHE definition in place of hard-coded path
siteconfig: use SITECONFIG_SYSROOTCACHE and use sstate-interceptfuncs

Use the new sstate-interceptfuncs functionality to interpose do_siteconfig
between the sstate_install and package.

Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-10 12:56:56 +01:00
Jeff Polk
27dd7f82c9 sstate: Add sstate-interceptfuncs called between install and package
Adds the ability to impose intercept function call(s) after
sstate_install and before sstate_package in sstate_task_postfunc.

Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-10 12:55:34 +01:00
Nitin A Kamble
d6e8013a8c [e]glibc-package.inc: fix providers for libsegfault and other
[e]glibc-nativesdk should not be providing libsegfault.

This commit fixes the following error while doing this:
bitbake poky-image-minimal-initramfs

DEBUG: providers for libsegfault are: ['glibc-nativesdk', 'glibc',
'eglibc-nativesdk', 'external-csl-toolchain', 'eglibc',
'external-poky-toolchain']
DEBUG: selecting
virtual:nativesdk:/rphome/poky/meta/recipes-core/glibc/glibc_2.10.1.bb
as PREFERRED_VERSION 2.10.1 of package glibc-nativesdk (for item
libsegfault)
DEBUG: selecting /rphome/poky/meta/recipes-core/glibc/glibc_2.10.1.bb as
PREFERRED_VERSION 2.10.1 of package glibc (for item libsegfault)
NOTE: checking PREFERRED_PROVIDER_glibc-nativesdk
NOTE: checking PREFERRED_PROVIDER_glibc-nativesdk-2.10.1
NOTE: checking PREFERRED_PROVIDER_glibc-nativesdk-2.10.1-r3
NOTE: checking PREFERRED_PROVIDER_virtual/libc-nativesdk
NOTE: selecting glibc-nativesdk to satisfy runtime libsegfault due to
PREFERRED_PROVIDER_virtual/libc-nativesdk = glibc-nativesdk

And bumped PR.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 12:53:46 +01:00
Nitin A Kamble
b273ca2be0 libc-package.bbclass: fix qemu issue with pseudo
This solution is what Mark Hatle recommended.

To disable pseudo, while already running, you need to set:
PSEUDO_RELOADED=YES, and then exec something...

This causes pseudo to disable itself from LD_PRELOAD, and thus fall
out of memory on the exec.

This Fixes [BUGID #226]

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-09-10 12:53:10 +01:00
Mark Hatle
b4c5b953c8 pseudo: Update pseudo to latest revision
Fix bug 231 by changeing to the latest revision of pseudo.

The latest revision of pseudo includes the following changes:

2010-09-08:
  * (seebs) handle mkfifo without guaranteeing an EINVAL response.

2010-09-02:
  * (seebs) fix errno for getcwd() with insufficient size
  * (seebs) Add an RPATH entry to the pseudo binary to find the sqlite3
    library.

2010-09-01:
  * (seebs) add missing casts to even more printf arguments

2010-08-31:
  * (seebs) add missing casts to printf arguments, after being warned
    about them a mere twenty or thirty thousand times.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-10 12:51:16 +01:00
Mark Hatle
d87034e41a rootfs_rpm: Fix workaround
The exit 0 in the workaround seems to have causes the filesystem creation
process to stop.  Instead change it to an if that can never succeed.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-10 12:50:43 +01:00
Richard Purdie
75bffcd47a handbook: Drop USB Networking section, its no longer appropriate
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 12:44:56 +01:00
Richard Purdie
ad30f2cc4e handbook: Various minor fixes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 12:32:48 +01:00
Yu Ke
0a217cd18f handbook: review and update CH1(introduction) and CH2(using Poky)
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-10 12:32:13 +01:00
Dexuan Cui
8627258ac3 handbook: review and modify Appendix A, D and E
Major change are about the structure of Poky source tree, which has been
changed a lot recently

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-10 12:23:21 +01:00
Zhai Edwin
8c7e1aced8 handbook: review and modify CH4 (BSP) and Appendix B
Besides basic corrections, also add .bbappend to bsp introduction
and update bitbake help to match latest output

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-10 12:20:44 +01:00
Dongxiao Xu
2beaecb351 handbook: Fix some errors in Appendix F/G
CVS_TARBALL_STASH and SHELLRCCMD is not found in current poky.
Fix some grammar issues.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
2010-09-10 12:18:00 +01:00
Lianhao Lu
276abb19ce handbook: review and correct CH5(development)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Liping Ke <liping.ke@intel.com>
2010-09-10 12:17:48 +01:00
Qing He
a6e7652944 handbook: update appendix C/H/I
The following is suggested but not changed:
 - adding documentation of cmake.bbclass
 - remove src_distribute_local.bbclass

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-10 12:14:02 +01:00
Kevin Tian
3c6e1d7c62 handbook: review and correct CH3(extend poky) in handbook
Fix inaccurate descriptions.
Update recipe examples to make sure they do build
Add some examples for better guidance

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Ke Yu <ke.yu@intel.com>
2010-09-10 11:57:31 +01:00
Bruce Ashfield
7ef8658402 linux-wrs/meta: fix qemuarm boot issues with 2.6.34.6
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-10 11:55:52 +01:00
Bruce Ashfield
1ea9ad4df2 qemu: add qemu-mipsel to the list of simulators
Add qemu-mipsel to the list of generated simulators. Obviously
this is needed to build a MIPS little endian system.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-10 11:55:37 +01:00
Dongxiao Xu
30c2b0bb84 connman-gnome: Add some functionality.
Add offline mode.
Add ethernet/wifi enable/disable functionality.
Classify each service (ethernet, wifi) into certain group.
Do some code clean up.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-10 11:52:50 +01:00
Zhai Edwin
566de26cf5 bitbake: Add proxy variables to standard export list
With "no_proxy" exported to bitbake, both internal and externel file mirror can
be used. "https_proxy" enable fetching "https://" file through proxy.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-10 11:47:38 +01:00
Zhai Edwin
3a530fb3a3 Fix the matchbox-panel seg fault on netbook & emenlow
netbook & emenlow use "-march=core2"(in tune-atom.inc) instead of "=i586"(for
qemux86), plus the "-fomit-frame-pointer" in default FULL_OPTIMIZATION, this
cause strange seg fault when starting matchbox-panel.

seg fault happened @ tmp_reset_bg (gtk+-2.20.1/gdk/x11/gdkwindow-x11.c), which
is inline function extended inside _gdk_x11_window_tmp_unset_bg. When expanding
GDK_DRAWABLE_XID(obj->bg_pixmap) with gcc 4.5.0 optimization, a function call
is missing. Saving a local var to stack also disappeared, but still tried to
restore it from stack, which cause seg fault after getting a worng value.

This fix avoid "-fomit-frame-pointer" in gtk+ on netbook & emenlow.

[BUGID #224] fixed by this.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-10 11:47:21 +01:00
Richard Purdie
c4fb6982c0 netbase: Don't hardcode the qemu IP config
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 11:38:34 +01:00
Richard Purdie
f7f044c220 scripts/runqemu: Drop broken toolchain symlink code
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 10:45:55 +01:00
Richard Purdie
c4ff5f3038 scripts/poky-qemu-ifup: Ensure the host has a route to it
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 10:45:55 +01:00
Richard Purdie
8e43883f97 scrtips/poky-qemu: Fix network interface device numbering
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 10:45:55 +01:00
Richard Purdie
3dd36ababd poky-qemu-internal: Fix ifdown script to use the correct variable
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 10:45:55 +01:00
Richard Purdie
3d4089ca5e gnu-config: Fix target version to contain all the substitutions and not overwrite the first half with the second set of changes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 10:45:55 +01:00
Kevin Tian
082976c05f libzypp: change /usr/lib64 to /usr/lib
similar to previous sat-solver fix, we use /usr/lib for x86-64 target

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-09 16:56:37 +01:00
Richard Purdie
9402f934b6 linux-wrs: Update now SRCREV variable order is fixed
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-09 15:19:23 +01:00
Bruce Ashfield
8fe347a851 linux-wrs: validate branches against known revisions
It is possible for the git repository to have commits on branches
that are ahead of the SRCREVs for those branches. Since the
kern tools will simply checkout and build, we can end up building
a different kernel than what is expected.

It is up to the recipe to ensure that the branches are at the
correct commits. To do this, we simply check the current machine
branch against the SRCREV and if they don't match we move the
existing branch and do a checkout at the desired commit.

Note: This probably needs to be disabled with AUTOREV.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-09 15:18:30 +01:00
Richard Purdie
be74657ced poky-default-revisions.inc: Fix variable order for linux-wrs recipes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-09 15:17:50 +01:00
Richard Purdie
f7b1c1056e bitbake/__init__.py: Fix named SRCREVS variable name ordering with backwards compatibility
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-09 15:09:50 +01:00
Bruce Ashfield
1e65495801 trace-cmd: add to profiling recommends
Make trace-cmd available by adding it to RECOMMENDS_task-poky-tools-profile

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-09 15:03:32 +01:00
Saul Wold
5b803e65d3 task-poky-lsb: Remove man-pages due to build failures
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-08 23:54:41 -07:00
Saul Wold
102e24d31a task-poky-lsb: add man-pages, which will pull man and groff
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-08 16:36:53 -07:00
Saul Wold
1f65837e78 image.bbclass: change IMAGE_EXTRA_SPACE to IMAGE_OVERHEAD_FACTOR
This change allows the IMAGE_OVERHEAD_FACTOR (default to 1.2) to
adjust dynamicly how much space to add for each image, thus there
is 20% overhead space by default.

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-08 16:36:53 -07:00
Xiaofeng Yan
7400ece674 man-pages:Add new man-pages package
The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2010-09-08 16:36:53 -07:00
Xiaofeng Yan
ef8d4dc7d5 groff:Add new groff package
groff allows for a short reference for the GNU roff language

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2010-09-08 16:36:53 -07:00
Xiaofeng Yan
3f71edc3ef man: Add new man package
A set of documentation tools: man, apropos and whatis

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2010-09-08 16:36:53 -07:00
Dexuan Cui
e3f492603e Distro tracking: add package aliases
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-08 16:36:53 -07:00
Saul Wold
b98154a851 at: Disable PARALLEL_MAKE for at and add back to task-basic
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-08 16:36:53 -07:00
Nitin A Kamble
cdbbc68d08 gcc_4.5.0: add --enable-poison-system-directories option to cross
recipes

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-09-08 16:36:52 -07:00
Nitin A Kamble
75b90f1d6d binutils: add binutils_poison.patch
and also correct the license field in the recipe

This fixes [BUGID #245]

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-09-08 16:36:52 -07:00
Joshua Lock
3e7db72216 bitbake: save the initial PATH for use when starting a subprocess
It was possible for bitbake-runtime to be run against a semi-installed
python-native resulting in tracebacks with ImportError's.

To prevent this we stash the initial PATH in the BBConfiguration when bitbake
is started and then set this in the env when launching bitbake-runtask through
subprocesses Popen() call.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-08 19:22:37 +01:00
Joshua Lock
8be5593777 kernel.bbclass/linux-wrs: move definition of perf package to kernel class
By defining the perf package in the shared kernel class bitbake will be able to
find the package provider even when the preferred kernel doesn't build perf,
preventing dependency resolution failures.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-08 16:42:52 +01:00
Richard Purdie
fac3ca94a2 package.bbclass: Ensure all packages package when running a build
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-08 15:55:10 +01:00
Joshua Lock
04b8511614 bitbake/fetch/git: fix try_premirror() definition .Method takes 4 parameters.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-08 15:14:07 +01:00
Joshua Lock
3341e47b52 bitbake/fetch: fix by moving try_premirror() to the right place
The previous commit didn't define the method as part of the Fetch object

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-08 15:09:07 +01:00
Dexuan Cui
3010c96a3f powertop: fix a typo: REPENDS ==> RDEPENDS
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-08 14:48:11 +01:00
Kevin Tian
c519aec68c libzypp: workaround to pass mips build
libzypp failed due to GCC "internal compiler error: segmentation fault" error on
MIPS target. The cause is about boost tribool type usage. If having assignement
within conditional check as below:

	if ( (a = b) )
		...
<a is a tribool type, b is a normal bool type>

then gcc4.3.3 throws internal error. Then the workaround is to move assignement
out of the conditional check.

However I didn't find same case from web.

We can come back to recheck this issue after upgrading to gcc4.5.0 for MIPS. If
this issue is still there, we'll need more analysis to decide whether to report
to gcc upstream or to libzypp upstream.

This fixes [BUGID #277]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-08 14:39:00 +01:00
Kevin Tian
7892add2de sat-solver: change /usr/lib64 to /usr/lib
we use /usr/lib for x86-64 target, but sat-solver will use /usr/lib64 if 64bit
target arch is detected. This finally causes libzypp failed to find libsatsolver.a.
use "-DLIB=lib" to explicitly enforce the requirement

fix [BUGID #286]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-08 14:38:37 +01:00
Joshua Lock
7117a4458b bitbake/fetch: add try_premirror method and special case git fetcher
Add a new method, try_premirror, to the Fetch object which checks to see
whether the file needs to be fetched from a premirror.
Override this in the Git fetcher to only require a pre-mirror fetch when the
clone directory does not exist.

Fixes [BUGID 290]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-08 14:25:24 +01:00
Richard Purdie
7b580b488c bitbake/bitbake-runtask: Ensure signals to the parent don't pass to the children directly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 23:54:15 +01:00
Richard Purdie
7ef65593aa qemu: Apply fix for armv6 locale generation using TLS registers
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 22:29:28 +01:00
Richard Purdie
51dd0269bc ldconfig-native: Set LICENSE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 18:08:01 +01:00
Richard Purdie
e8518d4b2e poky-image: Set LICENSE field for the image recipes (note this doesn't apply to the image contents, just the recipe and code used
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 18:05:16 +01:00
Richard Purdie
fb617bed6e poky-image: Set LICENSE field for the image recipes (note this doesn't apply to the image contents, just the recipe and code used
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 18:03:51 +01:00
Richard Purdie
8ee9aff079 tasks: Set LICENSE field
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 17:55:00 +01:00
Yu Ke
b49bfb2244 QT4 mips: disable the LDFLAGS "-Bsymbolic-functions"
"-Bsymbolic-functions" flag makes ld to bind the global function symbol of shared library at compiling time, thus reduce the runtime relocation cost.

However, this flag in binutil 2.20 cause QT4 mips building failure, which is "final link failed: Bad value" error in libQtWebKit.so linking stage. If downgrad to binutil 2.19, this error disappears.

so before binutil new release is out, it is better to disable this flag for QT4 mips.

Fix [BUGID #271]

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-09-07 15:58:10 +01:00
Richard Purdie
b86a5977e1 linux: Fix the compulab image post deploy function by making it a postfunc
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 15:16:31 +01:00
Richard Purdie
e8fdc98779 sstate: Make sure the sstate function is the last to run, not the first
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 15:16:31 +01:00
Richard Purdie
7e46fc81d4 pseudo: Honour the NO32LIBS variable
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 15:16:31 +01:00
Richard Purdie
647713050b bitbake/codeparser: Deal with functions with trailing whitespace
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 14:33:53 +01:00
Richard Purdie
1c24729697 udev: Drop old versions
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 12:10:26 +01:00
Richard Purdie
85cf6f3e97 poky-default.inc: Use standard udev version for PPC, seems to work fine
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 12:10:26 +01:00
Joshua Lock
9b800fe261 scripts: use the exported POKY_NATIVE_SYSROOT variable
Rather than trying to determine things through guess-work use the newly
exported variables to determine where the native binaries reside and
whether we are running in a build directory or not.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-07 11:22:54 +01:00
Joshua Lock
c97f3a5df4 toolchain-scripts: export extra variables for use by scripts
Export the location of the native sysroot for use in the scripts to
determine the location of native binaries.

Also add a POKY_DISTRO_VERSION to the external toolchain environment as a
method of determining if we're running under a build directory or not
i.e. not if the variable is empty

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-07 11:22:54 +01:00
Joshua Lock
13ef707ab1 runqemu-nfs: check for required programs
The unfs server requires either rpcbind or portmap to be installed and
running to start so check for their presence in the script.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-07 10:48:21 +01:00
Richard Purdie
f57a3d9508 linux-wrs: Ensure S directory exists else task can fail
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-06 23:18:28 +01:00
Richard Purdie
d17a09376d gcc-crosssdk-initial: Ensure native dependencies are built, these can differ accross different gcc versions causing build failures
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-06 22:55:49 +01:00
Bruce Ashfield
fea28c22f4 kernel/wrs: update SRCREV for v2.6.34.6 + changes
Updating the SRCREVs for the recent port of bug fixes for all boards
and the integration of qemux86-64 config and connector changes.

Now that the qemux86-64 changes are in tree, we can drop them from
the linux-wrs recipe.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-06 16:15:31 +01:00
Kevin Tian
e359e25dc7 task-poky-tools.bb: avoid multiple RRECOMMENDS to override each other
there're two RRECOMMENDS_task-poky-tools-profile both using direct assignment,
which makes 'perf' overriden by "kernel-module-oprofile"

Fix [BUGID #97]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-06 15:59:45 +01:00
Richard Purdie
95b2d9395e poky-default-revisions.inc: Move SRCREVs to correct locations, fix whitespace
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-06 14:56:57 +01:00
Joshua Lock
b78d5368cc fetch: fix setting of localpath in SRC_URI parameters
When setting localpath in the SRC_URI parameters the basename should be set
explicitly as the localpath() method is not called.

Fixes [BUGID #81]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-06 14:32:31 +01:00
Richard Purdie
aa3d81f67c poky-default.inc: Make sure sdk version of gcc is fixed and doesn't change
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-06 14:31:35 +01:00
Saul Wold
e013185ac1 tasks-poky-basic and tasks-poky-qt: bump PR and remove at
Remove at since it's failing build
Add Zypper to lsb image

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-04 17:12:55 -07:00
Saul Wold
18ea4d2a30 task-poky-qt.bb: Exclude mips from building
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-03 18:40:23 -07:00
Scott Garman
d970584799 clutter-mozembed: move patches back into meta-moblin
These patches were mistakenly moved into meta/recipes-graphics/clutter
during the metadata reorg. This moves them back where they belong.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-09-03 18:33:25 -07:00
Mark Hatle
c849ec75e7 rpm: Fix autoconf/libtool usage
In order to resolve a host-contamination problem, we re-work the way that
autoconf and friends are invoked during the compilation of RPM.

This has a side effect of fixing another bug where RPM was being renamed
HOST_ARCH-HOST_OS-rpm.  So we remove the "fixes" for that behavior as well.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-03 18:30:47 -07:00
Mark Hatle
a9b715736f rootfs_rpm: Workaround for checksum changes
With the new checksum changes, the system is no longer able to determine
if the function resolve_package is used.  So it doesn't get emitted.  The
workaround resolves this by triggering an exit 0, followed by a bogus usage
of the function.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-03 18:30:47 -07:00
Qing He
7b017195a3 zypper: add new package
Signed-off-by: Saul Wold <saul.wold@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
2010-09-03 18:30:17 -07:00
Qing He
162c652a2c libzypp: add new package
Signed-off-by: Saul Wold <saul.wold@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
2010-09-03 18:30:16 -07:00
Qing He
1fb94b77f8 sat-solver: added new package
Signed-off-by: Saul Wold <saul.wold@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
2010-09-03 18:30:16 -07:00
Qing He
079b70a76c augeas: add new package
version 0.7.3

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-03 18:30:03 -07:00
Scott Garman
63f7b0a703 Fix broken references to libcheck
* check has been renamed to libcheck

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-09-03 23:31:07 +01:00
Richard Purdie
0843607a2b rpm: Change the way the python version is determined so its sane and works with checksumming
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-03 23:23:09 +01:00
Saul Wold
3e38d633c9 task-poky-qt: create a task and add to poky-image-sdk
Fixes [BUGID #260]

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-03 18:31:52 +01:00
Kevin Tian
41d02d40ed bootmisc.h: use "date -s" to set time
without "-s", 201009031653 would be interpreted incorrectly by date
and then we saw below warning:
	date: invalid date 165320100903

Fix [BUGID #265]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-03 18:17:45 +01:00
Dexuan Cui
e5fe433b14 distro-tracking: update lttng-ust, lttng-viewer
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-03 18:17:44 +01:00
Dexuan Cui
02c122cb5e lttng-viewer: upgrade to the latest version 0.12.35
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-03 18:17:44 +01:00
Dexuan Cui
ee3e622999 lttng-ust: upgrade to the latest version 0.7
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-03 18:17:44 +01:00
Richard Purdie
33e2b4a8a7 poky.conf: Set hash policy
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-03 16:25:24 +01:00
Richard Purdie
8d764de25f bitbake: Add missing signature files
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-03 16:11:45 +01:00
Richard Purdie
43595fabbe bitbake: Implement signatures
Includes functionality to find out what changes between two different singature data dumps.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-03 16:08:32 +01:00
Richard Purdie
453d8f49ac bitbake/codeparser: Ensure cached sheel entries return the correct dependencies
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-03 16:08:32 +01:00
Richard Purdie
e8ed1454ae bitbake/ast: Ensure function definitions are always added to the dictonary
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-03 16:08:31 +01:00
Richard Purdie
a6ce10e83e sstate: Handle symlink directory entries correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-03 15:28:27 +01:00
Mark Hatle
7e36135a7e rpm: Raise the number of potential rescans before aborting with a dep loop
Within Poky we have a large number of self-referencing packages.  So we
need to raise the number of rescans before triggering a dependency loop
error.  100 seems like a reasonable number.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-03 13:59:01 +01:00
Jeff Polk
a2116860eb eglibc: Add siteconfig cache generation
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-03 10:50:03 +01:00
Jeff Polk
1f1aac7a84 uclibc: Add siteconfig cache generation
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-03 10:50:03 +01:00
Jeff Polk
cd9379c390 ncurses: Add siteconfig cache generation
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-03 10:50:02 +01:00
Jeff Polk
7f286e28ec zlib: Add siteconfig cache generation
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-03 10:50:02 +01:00
Jeff Polk
f5389267b0 glibc: Add siteconfig cache generation
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-03 10:50:02 +01:00
Jeff Polk
d2febcce2b siteconfig: generate configuration data caches for autoconf
siteinfo: Use configuration caches when available

Generate cached configuration data for autoconf for the package
based on a list of header, types, and functions to eliminate the
need for all subesequent package builds to do the actual tests
via the cross compiler and sysroot.  The cache files are
stored in the sysroot in ${STAGING_DATADIR}/${TARGET_SYS}_config_site.d.
Siteinfo appends any files it finds in that directory to the normal
CONFIG_SITE.  All of the cache values set the variables only if not
already set so they may be overridden by any of the normal site files.

Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-03 10:50:02 +01:00
Mark Hatle
d6c45f0f11 rootfs_rpm: Support install_all_locales
Support installing all locales similarly to how it is done within the ipk
support.  This has had basic testing, but it's not a normally used function
so there could still be some flaws.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-03 09:45:29 +01:00
Mark Hatle
2f68de1e88 roots_rpm: Enable installation of recommended packages
Within RPM there is a field called "Suggests".  This filed behaves like
"Recommends" does in ipk.  So we write out the packages using the Suggests
field with the Poky 'Recommends' values... and then use the arbitrary tags to
capture the Poky 'Suggests' within a new "Recommends" tag.

Slightly confusing, but the end result is a functioning install.

Also some performance enhancements were add at the same time.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-03 09:44:56 +01:00
Mark Hatle
84e1f5a689 package_rpm: Start packaging directories
Match ipkg behavior and unconditionally include directories in the packages

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-03 09:43:14 +01:00
Kevin Tian
9f60a6fbfb glibc-package.inc: disable build-time locale generation for nativesdk
The idea of build-time locale generation is documented in glibc-package.inc:

    Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
    is set. The idea is to avoid running localedef on the target (at first boot)
    to decrease initial boot time and avoid localedef being killed by the OOM
    killer which used to effectively break i18n on machines with < 128MB RAM.

However it doesn't make sense to do same thing for glibc-nativesdk, as the
build system is powerful. More importantly is that ideally host_arch running
sdk may even be out of the support list of target_arch by qemu-native.

Regarding to above rationale, this commit disables build time locale
generation to avoid following error when asking qemu to run localdef:

NOTE: /opt/poky/sysroots/i586-pokysdk-linux/lib/ld-linux.so.2: No such file or directory

nativesdk binaris have opt path hardcoded to avoid mess with host bits, which
is another reason that build time locale generation is not feasible here.

This fixes [BUGID #264]

also add 'nativesdk' to eglibc per RP's suggestion

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-03 09:30:26 +01:00
Richard Purdie
3d7431b71b eglibc: Set BBCLASSEXTEND to include nativesdk
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-03 09:29:36 +01:00
Kevin Tian
7e80c6e446 udev: don't reference parent sysfs node directly
udev warns direct reference to parent sysfs, which is not necessary and
may break future kernel. Actually udev will handle parent nodes automatically
for ATTRS key.

This fixes [BUGID #113]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-03 08:58:25 +01:00
Kevin Tian
5c1638ced3 kern-tools: add dependency on guilt-native
Fix [BUGID #262]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-03 08:57:57 +01:00
Saul Wold
9bf90ab9dd rpcbind: move patch to correct location
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 15:19:34 -07:00
Saul Wold
893713352a linux-libc-headers: update hayes-gone patch to remove HAYES ioctls from mips
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 15:19:34 -07:00
Saul Wold
c840412b69 setserial: add patch to fix missing stdlib header
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 15:19:34 -07:00
Xiaofeng Yan
3be379dea3 mingetty: Add new mingetty package
mingetty allows for a compact getty program for virtual consoles only

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2010-09-02 15:19:34 -07:00
Xiaofeng Yan
47423b530f logrotate: Add new logrotate package
logrotate allows for the rotation, compression and removal of system log file

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2010-09-02 15:19:34 -07:00
Dexuan Cui
dea8d65f3c distro-tracking: update cronie
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-02 15:19:33 -07:00
Dexuan Cui
c398c16aa5 cronie: add the latest version 1.4.4
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-02 15:19:33 -07:00
Saul Wold
883b09fefe task-poky-basic: add cron, logrotate, mingetty
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 22:17:23 +01:00
Nitin A Kamble
2eeb0943ac at: fix for parallel build issue & bug #180
parallel build was failing inconsistently due to missing dependancy
specification in the make file. Fixed it with a new patch.

Bug 180 reported this issue:
| arm-poky-linux-gnueabi-gcc -march=armv5te -mtune=arm926ej-s -c -I.
-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2
-ggdb
-feliminate-unused-debug-types -DHAVE_CONFIG_H -DVERSION=\"3.1.12\"
-DETCDIR=\"/etc\" -DLOADAVG_MX=0.8 -DDAEMON_USERNAME=\"daemon\"
-DDAEMON_GROUPNAME=\"daemon\" -DLFILE=\"/var/spool/cron/atjobs/.SEQ\"
-Wall
atd.c
| atd.c:511:2: error: #error "No mail command specified."
| make: *** [atd.o] Error 1

Fixed it with the recommended solution of defining SENDMAIL as /bin/true

Fixes [BUGID #180]

Reorganized the recipe file for cleanlyness.
Add the init script for at

As per Scott's wiki instructions added the this init script for at:
http://git.buildroot.net/buildroot/tree/package/at/S99at

add libpam to dependancy
And bumped PR.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-09-02 22:17:11 +01:00
Saul Wold
558ef57097 rpcbind: add patch to fix host include path
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 11:59:08 -07:00
Joshua Lock
a6c83e0620 qemu: build qemu-x86-64 binary for use in locale generation
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-02 14:07:11 +01:00
Bruce Ashfield
1ff9c93e49 updateme: detect and prepare patches
The big part of this commit is to detect and prepare any
"free floating" patches into a kernel feature that will be
automatically applied to the kernel tree. These patches will
be pushed onto the BSP branch via guilt, and then built as
part of the normal build/deploy cycle.

There are other grouped cleanups, such as tabs instead
of spaces, and the removal of the unused decheckpoint
function.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-09-02 11:02:55 +01:00
Jiajun Xu
80993c4e1b qemuimage-testlib: kill qemu process according to its pid, instead of process name
poky-qemu-internal will set up a tap lockfile when creating tap device. The lockfile
will be released when a TERM signal is received. In previous code, function
Test_Kill_Qemu uses pkill to kill all process named "qemu". This may cause lockfile
release function not work in poky-qemu-internal. Then poky-qemu-internal will be
hang when user start QEMU the second time. To prevent the issue, the new function
Test_Kill_Qemu kills all child pid with a given parent process ID.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-09-02 11:00:08 +01:00
Mark Hatle
4b611b6674 package_rpm: Enable debian style tags
Enable debian style tags including suggests, enhances, recommends

Note, these are not yet used by the dependency resolver.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-02 10:01:22 +01:00
Mark Hatle
379ba0e9d7 rootfs_rpm: Optimize rpm database processing
Optimize the creation of the solverdb by disabling fsyncs and
database caches that are not used when generating a solution.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-02 10:01:22 +01:00
Mark Hatle
84f7f70308 package_rpm: Enable per file dependencies
Switch the per file dependency handing to passing the information to
rpm via the standard 'external' dependency scripting.  This ensures that
the dependencies found by RPM exactly match the ones presented by
package.bbclass.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-02 10:01:22 +01:00
Zhai Edwin
431c97533b Add qemu-ppc in qemu-native, required by eglibc
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-02 09:53:49 +01:00
Zhai Edwin
0d7bcdf9fd libmatchbox: Fix the matchbox environment start failure on x86-64 target.
x86 target works well. Root cause is libmatchbox use "0"(int) as termination
indicator when calling XftFontOpen, which in turn called FcPatternVapBuild(in
fontconfig). It try to get the "0" as char* and fetch wrong value, as int and
char* has different size on x86-64. This patch forces a NULL pointer as
terminator to fix it.

[BUGID #234] is fixed by this

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-02 09:53:49 +01:00
Zhai Edwin
36aa00b6f7 pointercal: add config file for x86-64 target
Currently no config file for x86-64 target, which cause
/etc/X11/Xsession.d/30xTs_Calibrate.sh run into an infinate loop to block
following scripts to start matchbox.

Copy x86 config file to x86-64.
[BUGID #242] is fixed by this

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-02 09:53:49 +01:00
Yu Ke
a7e14518ee distro tracking field: add NO_UPDATE_REASON for cairo
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-09-02 09:53:49 +01:00
Nitin A Kamble
7b3f400a36 distro-tracking: update devel/toolchain data
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-09-02 09:53:46 +01:00
Nitin A Kamble
561d875404 libc-package.bbclass: merge glibc & eglibc class files
Other enhancements:
 print qemu's stdio & error on failure
 glibc: enable locale generation for all arches
 eglibc: enable binary locale generation for mips

And cleanup of code based on the code review.

[e]glibc: move common definition in the common file

bitbake was complaining about duplicate definition of
get_libc_fpu_setting in eglibc.inc & glibc.inc
files.

And bump PRs

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-02 09:52:31 +01:00
Scott Garman
436d590c4a openssh: new recipe addition
OpenSSH v5.6p1, derived from OpenEmbedded's recipe.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-09-02 09:52:31 +01:00
Saul Wold
a206fce2ba task-poky-lsb: add sysklogd, libaio, mdadm, screen, watchdog
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:52:31 +01:00
Saul Wold
a8339e56e1 tcl: fix from missing sys/fpu.h and undefined mipsCR
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:52:30 +01:00
Dongxiao Xu
d3fd98efd5 distro_tracking: add alias for bluez4, libgsmd, and zeroconf
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-02 09:52:30 +01:00
Dongxiao Xu
748b7da6ab distro_tracking: sed, rpcbind, libtirpc
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-02 09:52:27 +01:00
Dongxiao Xu
429015a47f rpcbind: add new recipe version 0.2.0
Introduce rpcbind utility into poky which is a server that converts
RPC program numbers into universal addresses.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-02 09:50:50 +01:00
Dongxiao Xu
0bd7fc55a1 libtirpc: add new recipe version 0.2.1
libtirpc is depended by rpcbind, so introduce it into poky.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-02 09:50:50 +01:00
Dongxiao Xu
3f7f13da8c which (GPLv3): inherit update-alternatives to handle install priority
inherit the update-alternatives class to handle install priority issue,
which is recommended by poky.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-02 09:50:50 +01:00
Dongxiao Xu
c4ecd356d1 sed: Upgraded to the latest version 4.2.1
sed version 4.2.1 is under GPLv3 license
inherit update-altenatives to handle the install priority issue

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-02 09:50:50 +01:00
Dongxiao Xu
8232e01437 sed: Inherit update-altenatives to handle the install priority
This method is simple and preferred by poky

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-02 09:50:50 +01:00
Dongxiao Xu
c56bab6b25 dpkg: fix powerpc and mips build failure
set dpkg va_copy value in corresponding site files for powerpc and mips
Fixes [BUGID #219]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-09-02 09:50:49 +01:00
Nitin A Kamble
2c54c5574e at: gplv2 recipe at version 3.1.12
Took the 3.1.10.2 version of the gplv2 recipe from the master branch,
and upgraded it to 3.1.12 version and then replaced the gplv3 files
viz posixtm.[ch] by gplv2 files to make the recipe gplv2.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-09-02 09:50:49 +01:00
Saul Wold
e384d62afa at: remove GPLv3 version
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:50:49 +01:00
Saul Wold
ff9f1021c8 mdadm: add patch to fix passing linker options to cc
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:50:49 +01:00
Qing He
118c36466c libaio: add new recipe
version 0.3.107
from open embedded

changes:
  - use $(AR) and $(RANLIB) instead of ar and ranlib

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-02 09:50:49 +01:00
Qing He
dd5509458f valgrind: fix perl scripts
svn version of valgrind uses #! @PERL@ for several perl
scripts. However, PERL in autoconf doesn't distinguish
host perl and target perl, causing STAGING_DIR_NATIVE be
written in the output scripts.

This causes unrunnable scripts, and fails FILERDEPENDS
mechanism (thus also do_rootfs_rpm).

Uses /usr/bin/perl instead to fix it.

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-02 09:50:49 +01:00
Dexuan Cui
33ed325337 distro-tracking: update powertop, lttng-ust, lttng-viewer, liberation-fonts
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-02 09:50:48 +01:00
Dexuan Cui
6c098ebe42 powertop: fix segfault in dump mode
The cause is: in dump mode, setup_windows() is not invoked so the
*_window variables, like cstate_window, are still NULL; later in
main() -> show_cstates(), the functions, like wrefresh(), will trigger
segfault.

After discussing in PowerTop mailling list, I think the right solution is
we should stub out the ncurses calls in dump mode.

(The patch was also sent to upstream PowerTop mailling list.)

This fixes [BUGID #195]:
Bug 195 - [sdk] powertop segfault when running with dump option

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-02 09:50:48 +01:00
Dexuan Cui
f2011318ec powertop: upgrade from 1.11 to the latest version 1.13
update HOMEPAGE;
add RRECOMMENDS_${PN} = "pciutils" as powertop 1.13 needs lspci;
add EXTRA_OEMAKE = "VERSION=\"${PV}\" to make the build succeed;
fix coding style: 4 SPACEs --> 1 TAB.

fix RRECOMMENDS to RDEPENDS

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:50:48 +01:00
Yu Ke
df894c658d sysklogd: add sysklogd 1.5
sysklogd implements two system log daemons: syslogd, klogd.
this commit adds sysklogd 1.5. it is ported from OE with some cleanup.

sysklogd: move to recipes-extended

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:50:48 +01:00
Saul Wold
8cbf96aeaf runqemu: add poky-image-basic and poky-image-lsb to recognized images
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:50:48 +01:00
Dexuan Cui
45c8f613cf distro-tracking: add mdadm and screen
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-02 09:50:48 +01:00
Dexuan Cui
2426f14285 screen: add the latest version 4.0.3
The recipe is borrowed from OE, with the following changes:
- upgrade the version from 4.0.2 to 4.0.3
- add HOMEPAGE, BUGTRACKER, LICENSE and LIC_FILES_CHKSUM
- reset PR to "r0"
- update the patch name: screen_4.0.2-4.1sarge1.diff --> screen_4.0.3-11+lenny1.diff.gz
- rebase the original configure.patch against screen-4.0.3's configure.in

screen: move to recipes-extended

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:50:47 +01:00
Dexuan Cui
8289cd4170 mdadm: add the latest version 3.1.4
The recipe is borrowed from OE, with the following changes:
- upgrade the version from 2.5 to 3.1.4
- simplify DESCRIPTION
- add HOMEPAGE, BUGTRACKER, LICENSE and LIC_FILES_CHKSUM, PR
- remove INHIBIT_AUTO_STAGE
- fixing coding style issue: 4 SPACES --> 1 TAB

mdadm: move to recipes-extended

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:50:47 +01:00
Zhai Edwin
93914e120c distro tracking: Add info for libuser and xz
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-02 09:38:36 +01:00
Zhai Edwin
094d5d7891 Distro tracking: Add package alias for xf86-video-intel
On behalf of Yu Ke

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-02 09:38:36 +01:00
Zhai Edwin
131d268752 Distro tracking: Add package alias for puzzles, eds-dbus...
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-09-02 09:38:36 +01:00
Kevin Tian
65a490585e distro-track: add ownership for 4 recipes
modutils
  cdrtools-native
  shasum-native
  tzcode-native

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-02 09:38:35 +01:00
Kevin Tian
a4141e1c11 xset: move DISTRO_PN_ALIAS to distro .inc file
also use space as the delimiter instead of semicolon. fix handbook accordingly

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-02 09:38:35 +01:00
Saul Wold
68385456af distro_check: fix for natives, cross, and initial recipe types
datetime checking is changed to be once per day

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

distro_check: fix for natives, cross, and initial recipe types

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:38:35 +01:00
Kevin Tian
444e448065 distro_check: use space as the delimiter for aliases
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-02 09:38:34 +01:00
Kevin Tian
d59456563e distro-track: add alias name for 89 recipes
some recipe names in Poky are different from other distros (Ubuntu,
Meego, Debian, ...). Here totally 89 recipes are added with specific
alias name in major distros. Then they could be found in match with
other distros.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-02 09:38:34 +01:00
Saul Wold
c52fcafe55 DistroData: add eventhandler to correctly setup log file
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:38:34 +01:00
Richard Purdie
d62ee7eaf2 packages: Separate out most of the remaining packages into recipes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-01 19:09:57 +01:00
Richard Purdie
caab7fc509 Drop chroot usage as its not well used, tested and is broken
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-01 15:08:45 +01:00
Joshua Lock
232ef8430e bitbake/fetch: ensure the mirrored repository is updated as required
If we fetch a tarball from a mirror it's entirely possible that the
mirror will have been from before the required tag/branch/etc was included
in the repository. To that end use forcefetch() as a way of testing whether
the repository is up to date and if not fetch updates.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-01 11:14:57 +01:00
Joshua Lock
5c229f921f bitbake/git: define a forcefetch method
The git fetcher should force a fetch if the required tag is not present in
the local clone, or if the fullclone parameter is set.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-01 11:14:41 +01:00
Joshua Lock
b54e95fd06 bitbake/fetch: Respect forcefetch even when pulling from a mirror
When pulling from a premirror we would prefer a local tarball even when the
caller had specified the forcefetch parameter.
Add an extra parameter 'force' to try_mirrors, defaulting to False. If set
the mirrors will be tested even if the file exists locally.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-09-01 11:14:23 +01:00
Saul Wold
94f2946679 powerpc-common: add working_getline to gettext
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-31 17:33:35 +01:00
Dexuan Cui
d5bc20830d which (GPLv2): inherit update-alternatives
by this, we can avoid the pkg_postinst/postrm in the recipe file.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-31 17:22:19 +01:00
Dexuan Cui
dc5f45c4e1 lttng-viewer: upgrade from 0.8.84 to 0.10.0
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-31 17:22:03 +01:00
Saul Wold
b36e98043e task-poky-basic.bb: add at and watchdog
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-31 17:21:43 +01:00
Scott Garman
8a13529172 at: run daemon as root user
Permission problems are encountered when running atd as the default
(daemon) user, so run it as root instead. These options are also
used in the OpenEmbedded recipe for at.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-31 17:21:32 +01:00
Dongxiao Xu
43938f11af sqlite3: fix multiple provider warning
Use ${PN} to replace the original hardcode name in recipe PACKAGES line
This fixes multiple provider warning of sqlite3 (sqlite3 and
sqlite3-nativesdk)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-31 17:21:13 +01:00
Yu Ke
9c1d256783 gawk: add gawk 3.1.8, GPLv3 version
move to meta/recipes

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-31 17:20:45 +01:00
Dongxiao Xu
1a326e97c0 gst-meta-base: Enable some video and audio codec
Enable mpeg-1 mpeg-2 video format
Enable wav, flac audio format
Fix [BUGID #151]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-31 17:20:21 +01:00
Qing He
be291999de cmake.bbclass: sync from openembedded
this fixes:
  - toolchain detection error (e.g. ar and ranlib)

changes from openembedded:
  - reformatting
  - cmake modules search path
  - use 'cat <<EOF' instead of echos for clarity

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-31 17:19:53 +01:00
Qing He
a0b72c2971 rpm: compatiblity and header fix
changes:
  - add headerAddOrAppendEntry in lib/rpm4compat.h for compatibility
  - fix rpmbag.h introduced in rpm 5.1.10

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-31 17:19:19 +01:00
Qing He
adfd0e0434 boost: upgrade to 1.44.0
from version 1.36.0
which won't compile with gcc 4.5.0

also moved to meta form meta-moblin

changes:
  - .so files should go to -dev instead of sub packages
  - create libboostX-mt.{so,a} symlinks for compatibility
  - meta package 'boost' should set ALLOW_EMPTY
  - fix a bug that caused boost-dev being automatically renamed to
    libboost_prg_exec_monitor-dev, packages boost, boost-dev and
    boost-test now work as intended
  - rebased patch arm-intrinsic

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-31 17:18:55 +01:00
Qing He
d1f7c3f9cc libcheck: upgrade to version 0.9.8
from 0.9.5
moved from meta-moblin to meta
renamed to libcheck for clarity

changes:
  - --enable-plain-docdir is obsolete
  - remove the unnessary patch

Signed-off-by: Saul Wold <saul.wold@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
2010-08-31 17:17:43 +01:00
Zhai Edwin
09bffb70de Add qemu-i386 in qemu-native, required by eglibc
Adding i386-linux-user in target-list is enough in theory, but our gl stuff is
not friendly to linux-user code. So disable it when compiling linux-user.

[BUGID #218] fixed by this.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-31 16:48:53 +01:00
Dongxiao Xu
1f0ba7c2b0 sed: Fix ppc build failure
sed will firstly check whether there is a working getline function
in system, if not (ppc), it use its self-defined getline().
However in 4.1.2, this function definition is not match with its
declaration. Fixes [BUGID #243]

Also fixes metadata.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-31 16:45:38 +01:00
Saul Wold
4c00be1ecb distro_tracking_fields.inc: add distro_commands.inc
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-31 16:39:08 +01:00
Kevin Tian
c595743e3f toolchain-scripts.bbclass: inherit siteinfo
or else 'siteinfo_get_files undefined' error occurs

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-31 16:38:40 +01:00
Kevin Tian
e055544ce1 sstate: fix dir name in manifest
dir name in manifest is incorrect:

/media/disk/builds/master-arm/tmp/sysroots/usr/
/media/disk/builds/master-arm/tmp/sysroots/lib/
/media/disk/builds/master-arm/tmp/sysroots/include/

Also add one debug note when removing manifest entries

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-31 16:38:20 +01:00
Kevin Tian
03983e9647 sstate: make do_cleanup really working
there's a bug in creating manifest_pattern, which means actually with
new sstate do_cleanup hasn't worked yet

We can use PSTAGE2_MANFILEPREFIX easily for this purpose.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-31 16:37:49 +01:00
Mark Hatle
3aa6e464aa pseudo: Update to latest version
From the changelog:

2010-08-27:
  * (seebs) fix a bug caused by memcmp with wrong length
  * (seebs) stop hand-coding lengths of memcmp (torek was right...)
2010-08-31 16:24:58 +01:00
Richard Purdie
9897b81e56 bitbake/codeparser: Implement persistent cache
For a given input to this code, the output doesn't change to implement a persistent
cache of the data to speed up parsing.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-31 14:49:14 +01:00
Richard Purdie
332c33af18 bitbake/data.py: Add emit_func() and generate_dependencies() functions
These functions allow generation of dependency data between funcitons and
variables allowing moves to be made towards generating checksums and allowing
use of the dependency information in other parts of bitbake.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-31 12:47:41 +01:00
Richard Purdie
3492bff64a bitbake: Add codeparser for parsing shell and python functions
This commit is derived from Chris Larson's checksum work, turned into a
standalone piece of code for parsing python and shell functions.

The deindent code has been replaced with code to work around indentation
for speed. The original NodeVisitor in the ast was replaced with a faster
class walk call.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-31 12:41:23 +01:00
Richard Purdie
13fdd4ae5d bitbake/BBHandler: Save python functions into the dictonary
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-31 12:08:51 +01:00
Richard Purdie
f7627e4f67 bitbake/data_smart.py: Allow the data expand function to keep track of references (including those from python code)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-31 12:06:18 +01:00
Richard Purdie
e6566322bd meta/classes: Fix whitespace mismatch and broken functions
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-31 12:02:24 +01:00
Qing He
e300aa0485 libproxy: disable perl bindings
cmake findperl and findperllibs use execution based approach to
locate perl executable and others like module paths and -lperl,
which does not work properly under cross compilation. Disable it
with -DWITH_PERL=no until cmake is fixed.

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-30 18:05:41 +01:00
Dongxiao Xu
4a65458eba distro_tracking: connman, connman-gnome, wpa-supplicant, etc.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-27 15:50:12 +01:00
Dongxiao Xu
ca4a58a4eb connman: Use connman as default network management tool
Upgrade connman to version 0.56
Modify connman-gnome to match the recent version of connman
Deprecate networkmanager

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-27 15:46:55 +01:00
Dongxiao Xu
f6917ad47b wpa-supplicant: Add latest stable version 0.6.10
Connman doesn't work well with wpa-supplicant development
version 0.7.2, thus import its latest stable version.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-27 15:37:03 +01:00
Richard Purdie
29d6678fd5 Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things
and is generally overwhelming. This commit splits it into several
logical sections roughly based on function, recipes.txt gives more
information about the classifications used.

The opportunity is also used to switch from "packages" to "recipes"
as used in OpenEmbedded as the term "packages" can be confusing to
people and has many different meanings.

Not all recipes have been classified yet, this is just a first pass
at separating things out. Some packages are moved to meta-extras as
they're no longer actively used or maintained.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-27 15:29:45 +01:00
Yu Ke
da49de6885 quicky: add QT app quicky, a simple note-taking application
Add quicky from qt-apps.org to validate and demo qt library. quicky is a simple note-taking application with Wiki-style syntax and behaviour.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-27 13:29:52 +01:00
Yu Ke
923f920a7c qmmp: add QT app qmmp, an QT audio-player
Add qmmp from qt-apps.org to validate and demo qt library. qmmp is an audio-player, written with help of Qt library

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-27 13:29:52 +01:00
Yu Ke
43e62c4493 fotowall: add QT app fotowall, an QT photo tool
Add fotowall from qt-apps.org to validate and demo qt library. fotowall is a creative tool that allows you to layout your photos or pictures.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-27 13:29:52 +01:00
Yu Ke
46bdf066a4 qt4 core lib: add qt4 core library x11 version.
QT is a comprehensive cross-platform C++ application framework. this commit add QT4 library compiled with X11 options.

The code is ported from OE version, with following changes:
   - remove the obsolate configure options, e.g. -embedded, -qdbus, etc
   - remove the poky unsupported configuree option, e.g. mysql, postgresql etc
   - revise the arch detection func, to support powerpc, x86_64
   - other format cleanup

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-27 13:29:51 +01:00
Yu Ke
51e05bbe6c qmake2.bbclass: update for QT4
qmake2 bbclass is a class to make QT appplication. This commit update qmake2 bbclass for QT4. The code is from OE with minor cleanup.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-27 13:29:51 +01:00
Yu Ke
7aa5f112b8 qt-tools-native: add QT4 tool to build qt application
QT4 provides tools like moc (meta object compiler), uic (user interface compiler) etc.. to build qt application. This commit add the qt4 tools. The recipe is from OE with minor cleanup.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-27 13:29:51 +01:00
Scott Garman
dd30a64fc1 grep: new recipe v2.5.1a
This is the last GPLv2 version of grep. This recipe was dervied from
OpenEmbedded's version.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-27 13:29:51 +01:00
Scott Garman
119b69dd26 distro_commands.inc: Add maintainer information
Also removed mailx package tracking, as this recipe was recently
removed from our requirements.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-27 13:29:50 +01:00
Dongxiao Xu
4c86c99be8 readline: Split GPLv2 version from shared inc file
Do not share common inc file with GPLv3 version of recipe
Fix the issue of multiple provider warning

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-27 13:29:50 +01:00
Kevin Tian
98bd03a508 coreutils (GPLv3): add latest version (8.5)
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-27 13:29:50 +01:00
Yu Ke
cc0a7034c2 sysstat: add sysstat 9.1.4
sysstat is a collection of performance monitoring tools. this commit adds sysstat 9.1.4.
the recipe is ported from OE, with following changes:

- upgrade to 9.1.4
- use populate-volatile to populate /var/log/sa

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-27 13:29:50 +01:00
Qing He
5bb55610f3 cmake.bbclass: sync from openembedded
this fixes:
  - toolchain detection error (e.g. ar and ranlib)
  - cmake modules search path

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-27 13:29:49 +01:00
Yu Ke
6bfeb80d57 gawk: add 3.1.5 (GPLv2 version)
this commit add GNU Awk 3.1.5, the most recent GPLv2 version.
the recipe is from OE, and upgrade to 3.1.5

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-27 13:29:49 +01:00
Scott Garman
8927e93ccd cpio: new recipe v2.8
This is the last GPLv2 version of cpio. The recipe was derived from
OE's v2.5 one.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-27 13:04:38 +01:00
Scott Garman
7c301b9640 at.inc: remove unneeded LIBS setting
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-27 13:04:38 +01:00
Scott Garman
e08ae7ea65 tar_1.17: eliminate a patch by setting CFLAGS instead
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-27 13:04:38 +01:00
Qing He
9a60cbcf48 file: reinstate 5.04 upgrades with modifications
reinstate the patch since rpm recipe has been upgraded

> commit 21d586b47c
> Author: Qing He <qing.he@intel.com>
> Date:   Tue Jul 6 13:19:10 2010 +0800
>
>     file: upgrade to version 5.04
>
>     from 4.18
>
>     changes:
>       - remove native-fix.patch and sed line in do_configure_prepend,
>         AM_CONDITIONAL(IS_CROSS_COMPILE, ...) works well
>       - fix the bug of not packaging ${datadir}/misc/magic.mgc,
>         without this file, this utility isn't very useful
>       - add zlib as explicit build dependency
>
>     Signed-off-by: Qing He <qing.he@intel.com>

new changes:
  - string/B is not supported in file 5.04, add an alias to string/W
  - '>=' and '<=' was not supported, add an extension for existing
    usage

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-27 13:04:38 +01:00
Zhai Edwin
6b039d0bb7 libuser: add 0.56.16 as new recipe
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-27 13:04:38 +01:00
Zhai Edwin
c3232ed2da base.bbclass: Add xz-native as depends when finding *.xz in SRCURI
Just adding xz-native as DEPENDS in one bb file could not make its unpack run
after xz-native build done.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-27 13:04:38 +01:00
Zhai Edwin
63f33efdb9 xz: add 4.999.9beta as new recipe
Requies xz-native to unpack the tarball of libuser

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-27 13:04:38 +01:00
Kevin Tian
cb73e943aa bash (GPLv2): remove metadata sharing from GPLv3 recipe
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-27 13:04:38 +01:00
Kevin Tian
37f914dd72 findutils (GPLv2): remove metadata sharing from GPLv3 recipe
to avoid inadvertent contamination in the future, GPLv2 recipe is
fully split its v3 buddy. This way we can enforce strong isolation
for GPLv2 code.

also remove one unnecessary patch

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-27 13:04:38 +01:00
Dexuan Cui
084eb5a04d rsync: split GPLv2 version from GPLv3 by fixing the GPLv2 recipe
remove the "require rsync.inc", and copy the .inc file into the GPLv2 recipe,
and adjust it properly;

mkdir rsync-2.6.9 and copy files/rsyncd.conf into rsync-2.6.9/rsyncd.conf.
BTW: the .conf file originated from OE in 2006:

commit c2a4b021eb04924f8c8b0e0af1fac337a04cbcae
Author: Raymond Danks <raymond@edanks.com>
Date:   Tue Apr 18 01:43:08 2006 +0000

    rsync: Add rsyncd.conf

http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=c2a4b021eb04924f8c8b0e0af1fac337a04cbcae

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-27 13:04:38 +01:00
Dexuan Cui
9f03fdd5c7 which: add GPLv2 version 2.18
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-27 13:04:38 +01:00
Kevin Tian
03df313715 coreutils: upgrade to latest GPLv2 version (6.9)
Before adding latest coreutils GPLv3 version, first we upgrade existing
recipe to latest GPLv2 version here.

To ensure a clean process, all bits are coded from scratch including
patches and recipe, except that in recipe lines about update-alternative
are reused from previous 5.3.0. All new patches are licensed under
GPLv2.

Tested simple features with most coreutils commands

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-27 13:04:38 +01:00
Jiajun Xu
7303807ef1 test: Add scenario file for each target and support single case running
Different test cases are needed for different targets. A folder "scenario"
is created under scripts/qemuimage-tests to hold scenario files for different
targets.

Single case running is supported now. User can run single case together with
a whole test suite by setting variable TEST_SCEN in local.conf.

By default test cases in sanity suite will be ran. If you want to run other
test suite or specific test case(e.g. bat or boot test case under sanity suite),
list them like following.
TEST_SCEN = "sanity bat sanity:boot"

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-08-27 13:04:37 +01:00
Saul Wold
192d6994cb task-poky-basic: added new packages to basic task for LSB
further tweaked by Kevin Tian, with simple boot test. 'at' is disabled
as it depends on mail of build system which needs to be fixed

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-27 13:04:37 +01:00
Bruce Ashfield
e76f76a37d ftrace: add trace-cmd for ftrace control and config
Rather than manually configuring ftrace, trace-cmd was created
to provide a more user friendly interface to the tracer.

Some examples are:

 # ./trace-cmd record -e all ls /bin

Then to see the information:

 # ./trace-cmd report

To see just a subsystem:

 # ./trace-cmd record -e irq ls /bin

To list the available trace events:

 # ./trace-cmd list -e

You can also trace a single trace point with one of two methods:

 # ./trace-cmd record -e sched:sched_wakeup ls /bin

Or simply:

 # ./trace-cmd record -e sched_wakeup ls /bin

This tool also works with tracers (plugins) as well as events

 # ./trace-cmd list -p

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-08-27 13:00:06 +01:00
Bruce Ashfield
70cd1ff43f linux-wrs: update to 2.6.34.5
edd8801 Linux 2.6.34.5
4070f43 vmware: fix build error in vmware.c
57cbde5 mm: fix up some user-visible effects of the stack guard page
4def7ce mm: fix page table unmap for stack guard page properly

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-08-27 13:00:05 +01:00
Richard Purdie
4b2a355a31 sstate/utility-tasks: Ensure do_clean functions correctly and removes shared state
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-27 12:33:58 +01:00
Richard Purdie
5c7531f78c sstate: Run sstate_cleanall() as part of do_setscene()
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-27 12:29:01 +01:00
Mark Hatle
4a310f203d qemu: On some older machines SDL is available
On some older machines SDL is available, even if a pkgconfig
file for SDL is not there.  (See RHEL5.1)

Extend the check, to see if the primary SDL header is there, if
the pkgconfig check fails.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-26 14:30:36 -07:00
Mark Hatle
18c0da3c17 pseudo: Update to the latest git version of pseudo
Latest git version includes:

2010-08-26:
* (seebs) make offsets.c slightly less useless
* (seebs) don't overwrite LD_LIBRARY_PATH values that include us

2010-08-25:
* (seebs) fix the signal mask restore

2010-08-24:
* (seebs) try to restore signal mask before calling exec()
* (seebs) move errno restoration after code which could set errno

2010-08-19:
* (seebs) handle insane edge case involving regcomp/regexec

2010-08-17:
* (seebs) create speculative-deletion logic
* (seebs) remove crackpot theories about cross-device renames

2010-08-16:
* (rp) Fix ld_preload/ld_library_path mixup.
* (seebs) Handle failed allocations.
* (seebs) Fix logic for dropping empty LD_PRELOAD.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-26 14:30:10 -07:00
Joshua Lock
dd0fb80917 meta-toolchain: fix for recent opkg change
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-26 18:06:17 +01:00
Joshua Lock
e10703aa5b meta-toolchain: update to reflect opkg state directory move
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-26 09:18:24 +01:00
Kevin Tian
8ea7fa6d4c opkg: finalize the change to var directory
commit 1d0757f16b changes opkg run state from
/usr/lib/opkg to /var/lib/opkg, which however is incomplete and still many
important information is kept under old directory including postinst methods.
This makes latest boot into a mess.

So finalize this movement to /var here. Fix [BUGID #229]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-26 08:54:55 +01:00
Joshua Lock
d46c362a46 sstate: fix architecture of sstate archives
Using TARGET_ARCH as the pacakge architecture for sstate archives lead to some
issues when using two machines with different BASE_PACKAGE_ARCH's but the same
TARGET_ARCH such as netbook and qemux86 machines.

Probable fix for [BUGID #223]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-25 18:01:23 +01:00
Joshua Lock
b66dc67c62 xf86-video-intel: fix COMPATIBLE_HOST entry, this was preventing building
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-25 11:37:29 +01:00
Joshua Lock
66790ecb4a poky-qemu: check for existence of required libraries
We need some libraries installed to run the built qemu, check for their
existence before trying to run the program. Fixes [BUGID #201]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-25 11:15:16 +01:00
Joshua Lock
196f6f2d20 qemu.inc: ensure helper programs are built when building for qemu machines
QEMU machine images are useless without qemu-native and qemu-helper-native

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-25 11:15:16 +01:00
Joshua Lock
1d0757f16b opkg: use var for state files, not libdir
Fixes [BUGID #221]

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-25 11:15:16 +01:00
Richard Purdie
53ff069611 bitbake/runqueue.py: Ensure rqexe always exists and that empty task lists cause a graceful exit
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-25 00:59:13 +01:00
Mark Hatle
9a8b6447c6 package_rpm: Temporary workaround for perfile dependencies
Until the pseudo code is fully integrated, we need to roll up the
per file dependencies into package dependencies for rpm.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-23 21:04:20 +01:00
Mark Hatle
59a3e98b04 rootfs_rpm: Enable multi dep solverdbs
Update package_rpm.bbclass to generate dep solver databases for each
package arch.  Following the example of the deb and ipk integration

Revise the rootfs_rpm to solve the installation based on the multiple
dep solvers.

Note, recommends, locale and attemptonly pckages are still to be
implemented.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-23 20:56:47 +01:00
Mark Hatle
55a046bd4c package_rpm: Rewrite the way the spec files are generated
Use a single spec file to generate all of the split packages.  This allows
us to ensure the RPM package source package meta data is correct, and also
speeds up the package generation process.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-23 20:55:14 +01:00
Mark Hatle
f29f9364a3 package.bbclass: Fix per-file dependency generation
The overall file list was being constructed with the wrong variable, it
should have had FLIST in the name.

Also it was possible to construct the system with some illegal variable
names.  Names that would have include "[]".  So translate these away...

Finally fix an issues where a filename with an _ could cause a package
variable conflict.  Again translate this away..

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-23 20:52:45 +01:00
Mark Hatle
e37ee51157 rpm_5.1.10.bb: Update macros
Fix some additional macro definitions to enable rpmdeps usage

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-23 20:52:45 +01:00
Jeff Johnson
f0f911a10d rpm: use rpm-5.1.10 from SNAPSHOT URI.
rpm-5.1.10 snapshot adds support for multiple aid databases

revert slashDepth patch, now included in 5.1.10

Signed-off-by: Jeff Johnson <n3npq@mac.com>
Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-23 20:52:45 +01:00
Joshua Lock
0741c3b8cb Ensure all packages which should have x86_64 in COMPATIBLE_HOST
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-23 20:52:44 +01:00
Richard Purdie
ca95d02ce0 package.bbclass: Fix shlibs race
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-23 15:41:21 +01:00
Richard Purdie
203bf3f772 bitbake.conf: Add DESCRIPTION for -dev, -dbg and -doc packages
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-23 15:27:36 +01:00
Richard Purdie
47f704ea74 insane.bbclass: Update to match the packaging classes when handling OVERRIDES
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-23 15:27:36 +01:00
Mark Hatle
b9f4ff1386 package.bbclass: Fix do_shlibs
The current packages shlibs processing is written to a local temporary file.
This file is not consulted when evaluting the provider of the dependency,
instead we need to cache the local values into the dictionary while we write
the temp file.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-23 15:27:36 +01:00
Richard Purdie
5977534d5f devshell.bbclass: export the FAKEROOTENV so it can be accessed within the devshell task
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-23 13:04:03 +01:00
Richard Purdie
71a46a44a2 utils.py: Fix bb.copyfile to change the permissions of the file back correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-23 13:01:05 +01:00
Richard Purdie
86c2b56705 package.bbclass: If files are unreadable, add read access for stripping
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-22 00:28:28 +01:00
Richard Purdie
ac9e6822f1 lib/oe/path: Use bb.utils.copyfile as shutils can't cope with copying unreadable files
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-22 00:27:55 +01:00
Mark Hatle
87dba4254b utils.py: Add a new extend_deps() to easily merge two dependency lists
Add a new extend_deps function to more easily merge two dependency lists.
This avoids adding duplicates, unless the value of the dependency is
different.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-20 23:46:08 +01:00
Mark Hatle
54e3a82d9c package.bbclass: Add perfile dependency identification
Using the rpmdeps commands, we enable the discovery of per-file dependencies.
These dependencies are generated for all packages, and may or may not be used
by any given packaging mechanism.  Currently RPROVIDES and RDEPENDS are
generated in this process.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-20 23:39:55 +01:00
Mark Hatle
b4bef9ad8e bitbake.conf: Add shared/pkgconfig files to standard -dev glob
Add the pkgconfig files that may appear into the shared directory into
the -dev globbing.

Also change the udev integration to remove the manual instance of the
shared directory .pc file.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-20 23:39:43 +01:00
Mark Hatle
5d2e88c3c2 rpm: Update the rpm integration to support per-file dependencies
Update the RPM package integration to support per-file dependencies

This adds additional configuration options to RPM, as well as provides
a helper script "perfile_rpmdeps.sh" that the build system can use to
gather the dependency information.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-20 23:39:31 +01:00
Nitin A Kamble
6c12afd57d glibc: bring back needed patches from older recipes
while removing old glibc recipes some needed patches from
older recipes got wiped out. Bringing them back.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-20 23:26:40 +01:00
Saul Wold
179e056519 base.bbclass: Initial work to add GPLv2 Only Build with Whitelist for GPLv3 Native tools
[tweaks from Richard Purdie]

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-20 16:53:36 +01:00
Bruce Ashfield
e7e01e7831 linux-wrs: allow packed refs to be present
The code which creates a working tree from the source
Wind River Linux git repository manipulates the refs
to make non-tracking, local branches. packed-refs remove
the files from refs, making this code break and the builds
fail.

To fix this, if we detect the packed refs we simply create
the local refs from the remote branches.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-08-20 16:36:26 +01:00
Bruce Ashfield
a33579dc71 kernel: update branch revisions for 2.6.34.4
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-08-20 16:35:59 +01:00
Bruce Ashfield
2cf104f7e0 guilt: import guilt for kernel patch management
The Wind River kernel is "patched" via guilt to provide
both git integration and quilt like patch management
(if that is of interest).

This is a modified 0.33 guilt with some changes to
streamline interactions with the way that the Wind
River kernel is constructed. That being said, the
common semantics of guilt are not changed, and it
can be used for other purposes.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-08-20 16:35:39 +01:00
Dexuan Cui
15543017ec distro-tracking: add info for watchdog
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-20 16:20:13 +01:00
Dexuan Cui
91818ff699 watchdog: add the latest version 5.9
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-20 16:20:13 +01:00
Dexuan Cui
e8231e0950 poky-qemu-internal: fix the echo of KERNCMDLINE
Without the fix, when the commandline is printed with the "echo" command,
it loses the quotes and this confuses people.

Thanks Richard for pointing this out.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-20 16:20:13 +01:00
Zhai Edwin
9cb1b87640 distro tracking: Add info for pax
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-20 16:20:12 +01:00
Zhai Edwin
ce2e0a027b distro tracking: Updated version info for owl-video, matchbox-desktop, webkit-gtk...
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-20 16:20:12 +01:00
Scott Garman
d7d803fa1c poky-qemu-internal: fix broken call to poky-qemu-ifup
The poky-qemu-ifup script now requires a path to the native
sysroot as an argument. This fixes a case where the argument
was missing.

Also, set up NATIVE_SYSROOT_DIR when running runqemu.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:12 +01:00
Yu Ke
3a0eeb8155 python-pycairo: upgrade to 1.8.10
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-20 16:20:12 +01:00
Yu Ke
89ae21775c iputils: add iputils package
iputils are utilities for the IP protocol, including traceroute6, tracepath, tracepath6, ping, ping6 and arping.

this commit add iputils 20100418. code is borrowed from open embedded and debian, with following changes:
- upgrade from s20071127 to s20100418
- update the do_compile (add VPATH) to make s20100418 pass
- disable man since it depends docbook while poky don't have

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-20 16:20:12 +01:00
Scott Garman
070096ec70 runqemu-nfs: boot QEMU using nfsroot and local unfs export
This script automates the booting of QEMU using an nfsroot exported
by our userspace NFS tools. The rootfs should be created using
poky-extract-sdk.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:11 +01:00
Scott Garman
313bda1d87 poky-export-rootfs: script for exporting userspace nfsroots
This script automates the exporting of a root filesystem (created
with the poky-extract-sdk utility) using pseudo and the native
userspace NFS server. That filesystem can then be booted using
nfsroot with either QEMU or the target hardware using one of our
kernels.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:11 +01:00
Scott Garman
c23da3d37e poky-extract-sdk: script for extracting sdk images using pseudo
This script automates the creation of a rootfs area using pseudo so
it can be used by a QEMU nfsroot boot.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:11 +01:00
Scott Garman
f203df83a5 poky-qemu-internal: fixes for userspace NFS booting
Including a number of cases where the script could exit before
releasing a tun/tap lockfile.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:11 +01:00
Jeff Dike
81ff1ee237 poky-qemu-internal: Support use of a preconfigured tap device
This patch makes poky-qemu-internal check for the existence of an
available preconfigured tap device before running poky-qemu-ifup to
make a new one.

Locking is handled with a lockfile in /tmp/qemu-tap-locks/.  This uses
the lockfile utility, so that needs to be present on the host.  On
exit, this script removes the lock file so that the tap device may be
reused.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-08-20 16:20:10 +01:00
Jeff Dike
4df9f11171 poky-qemu-internal: Support NFS boots better
The image specification can now be in the form nfs-server:directory.
This makes it possible to nfs-boot from servers other than the host.
poky-qemu-internal will properly construct the kernel command line
given such a specification.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-08-20 16:20:10 +01:00
Jeff Dike
6ea1ed5f7b poky-qemu-[ifup|ifdown]: Use native tunctl
poky-qemu-ifup can run standalone by root in order to configure a bank
of tap devices for later qemu use.

These devices will, if possible, be owned by a specified group to
which qemu users must belong.

If the kernel is too old to support TUNSETGROUP, then it falls back to
setting the tap device to be owned by a particular user, and that user
will be the only one allowed to use it.

Also overall usability improvements to the scripts, usage() help, etc.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:10 +01:00
Scott Garman
f35a8d4079 poky-find-native-sysroot: helper script for locating the native sysroot path
Various poky scripts make use of binaries from the native sysroot.
This helper script can be used to reduce code duplication, and sets
up some environment variables you can use to identify and obtain
the correct filesystem path to the native sysroot.

It works for both in-tree Poky setups as well as toolchain
installations.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:10 +01:00
Jeff Dike
e4bc3e36e4 tunctl: Added an tunctl which supports TUNSETGROUP
TUNSETGROUP is needed in order to preconfigure a set of tap devices
that can be used by non-root users.  The requirement is that the qemu
users be members of whatever group the tap devices are assigned to.

Include tunctl in the qemu-helper package, and add a -native version.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:09 +01:00
Jeff Dike
d9aa25a337 poky-qemu-ifup: allow multiple tap devices
This patch bases the tap IP address on the device number, providing
each device with its own IP address.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-08-20 16:20:09 +01:00
Jeff Dike
c791544bb0 qemu: Use a TAP device instead of slirp for networking
With this patch, a persistent TAP device is set up by poky-qemu-ifup,
which is now run before qemu.  The qemu command line now uses the
device that was constructed (rather than the hard-coded tap0) and it
is told not to run any networking scripts.

When qemu shuts down, poky-qemu-ifdown removes the TAP device.

sudo use - sudo is used to run poky-qemu-ifup.  sudo is no longer used
to run qemu, as qemu no longer needs privileges to set up networking.
poky-qemu-ifdown is run without privileges, as you can remove a TAP
device which you own.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-08-20 16:20:09 +01:00
Scott Garman
b5b3825ce6 unfs-server: new userspace nfs recipe
This is a simple userspace NFS server, derived from one which was
previously used in openSUSE 10.x. Wind River contributed many of the
patches.

This package is not intended for target installations, only -native
and -nativesdk use.

Enabling nativesdk for readline, sqlite3, and pseudo was required, as
well as a few new autoconf siteconfig entries.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-08-20 16:20:09 +01:00
Nitin A Kamble
735210556d glibc: remove all old recipes
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-20 16:07:43 +01:00
Nitin A Kamble
7e8f14d2d8 valgrind: upgrade for eglibc 2.12
the current version only works with libc upto 2.10
hence upgraded to support eglibc 2.12

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-20 16:03:56 +01:00
Kevin Tian
4cdaa1789a gdb: disable installation of bfd/iberty/opcodes
Those are assumed to be provided by binutils, so we disable installation
here. Without doing so, a broken libbfd.la from gdb is installed to sysroot
which overrides binutils version and then hurt other packages such as
oprofile

also fix --with-readline to --with-system-readline

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-20 16:03:07 +01:00
Richard Purdie
75b57d573c bitbake/utils.py: Allow copyfile to copy files which aren't readable
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-20 15:11:44 +01:00
Richard Purdie
ac3452c431 bitbake/utils.py: Improve better_exec debug output
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-20 12:52:43 +01:00
Richard Purdie
616e75523b bitbake: Correctly route events from the worker to the server
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-20 12:26:19 +01:00
Richard Purdie
9708f9cba7 bitbake/knotty: Exiting as soon as a fatal is seen is not desirable as the stacktrace won't be seen
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-20 12:26:19 +01:00
Richard Purdie
ca09a6f08c bitbake/cooker.py: Don't init the fetcher in the worker case
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-20 11:26:14 +01:00
Richard Purdie
fac06aaf2a bitbake/persist_data: Attempt to fix locking issues
It appears the timeout sometimes has no effect and we see database access failures. Combat
this by wrapping the execute function in all cases and retrying manually ourselves.

Thanks to Kevin Tian for help debugging this.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-20 11:24:02 +01:00
Richard Purdie
604f12722a bitbake/data.py: Handle exceptions in export_bars in the same way as emit_var()
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-20 09:42:31 +01:00
Richard Purdie
9b8ae6ba45 bitbake/server: Raise a shutdown event if we're seeing exceptions
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-20 09:42:31 +01:00
Richard Purdie
4a8fe7fc99 bitbake/runqueue.py: Ensure the flush happens as late as possible to avoid data mixups
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 23:39:19 +01:00
Richard Purdie
6e3a3816d5 bitbake/utils.py: Give useful debug information when no lineno information is available
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 23:27:08 +01:00
Richard Purdie
f070ee959c Rename packaged-staging2 -> sstate and remove the old empty class
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 22:48:17 +01:00
Richard Purdie
657188bfef Revert "base.bbclass: Temporarily disable fakeroot for install/package until other fixes get merged"
This reverts commit 2225e12142 and reenables
the functionality now its safe to do so.
2010-08-19 22:41:00 +01:00
Richard Purdie
084ec86402 classes: Disable setscene tasks for initial testing
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 22:36:26 +01:00
Richard Purdie
7a0f6ceb81 sanity.bbclass: Don't run the handler in worker context
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 22:36:26 +01:00
Richard Purdie
3c539be84c package_*.bbclass: Always run these tasks under fakeroot
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 22:36:26 +01:00
Richard Purdie
6739a629e9 bitbake/runqueue.py: Fix runqueue UI issues
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 22:36:26 +01:00
Richard Purdie
b6bfe14205 bitbake: Switch to use subprocess for forking tasks and FAKEROOTENV to run shell and python under a fakeroot environment
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 22:36:25 +01:00
Richard Purdie
a45e1d54e1 Remove packaged-staging.bbclass
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 20:06:25 +01:00
Joshua Lock
369920107e deploy.bbclass: use new style staging for deploy tasks
All tasks which implement a do_deploy should inherit this class to have the
changes in the deploy task staged.

Update recipes which include a do_deploy function to inherit this class and
to use DEPLOYDIR rather than DEPLOY_DIR_IMAGE.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-19 20:06:25 +01:00
Richard Purdie
29ca893649 package.bbclass: Implement packaged-staging2
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 20:06:25 +01:00
Richard Purdie
c28973c160 staging.bbclass: Convert to packaged-staging
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 20:06:25 +01:00
Joshua Lock
0769e847cb package_(deb|rpm): Update to use packaged-staging2
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-19 20:06:25 +01:00
Richard Purdie
14801197f9 package_ipk.bbclass: Convert to new task based staging
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 20:06:25 +01:00
Richard Purdie
c7a8029570 Start sstate
Add pre clean hook
Add sstate_installpkg
sstate: Tie all pieces together with a setscene function
Use pythonic functions rather than os.system()
Implement sstate_clean function
package_ipk: clean shared state in prestate
packaged-staging2: implement fetching packages from mirror
Copy add staging_fetch() from packaged-staging.bbclass
packaged-staging2: make the output slightly friendlier
packaged-staging2: handle directories in the shared state
Add directories to the manifest when installing and remove them if empty when
cleaning.
Move most of the sstate code into the class itself removing the need for heavy boilderplate

packaged-staging2: Programatically ensure directories are last in the manifest
packaged-staging2: add cleanall
packaged-staging2.bbclass: Connect in cleanall function to do_clean

We want to ensure that directories appear at the end of the manifest so that
when we test to see if they should be deleted any contents added by the task
will have been removed first.

pstage2: Use oe.path.copytree
packaged-staging2: support lockfiles and plaindirs

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-19 20:06:25 +01:00
Richard Purdie
787c1cf811 bitbake: Initial scenequeue implementation (needs major fixes)
bitbake: scenequeue: Skip setscene if the underlying task already ran
bitbake/setscene: Make sure uneeded dependencies are removed recursively

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 20:06:25 +01:00
Nitin A Kamble
41a364f59f gcc_4.5.0: fix for arm kernel failure
From this bugzilla:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44129
gcc 4.5.0 has target space optimization issues on arm also.

Added a fix similar to ppc.

This should fix
[BUGID #212]

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-19 20:04:01 +01:00
Mark Hatle
84d96bac33 elfutils: Add GNU_HASH support to elf*_xlatetof
Add GNU_HASH and LIB types to the size table used by elf*_xlatetof in order
to avoid a divide by zero error.
Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-19 20:00:36 +01:00
Kevin Tian
f5dcdf9181 net-tools: add new recipe (1.60-23)
Borrow from OpenEmbedded with below difference:
  - use Debian as the SRC_URI
  - instead of copying all Debian locally, handle it in recipe automatically
    which eases our maintenance effort in the future
  - enable gettext

It's said the net-tools is deprecated by iproute2. However not all utilities
are replaced yet, such as hostname, domainname, netstat, slattach, ...

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-19 13:11:25 +01:00
Zhai Edwin
26f34098c8 pax: add 3.4 as new recipe
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-19 13:10:09 +01:00
Zhai Edwin
f626b8fc55 gzip: Add 1.3.12(GPLv2) as new recipe
Remove AC_USE_SYSTEM_EXTENSIONS to fix autoconf error, and rename a function to
avoid duplicated defination between gblic and gunlib

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-19 13:09:50 +01:00
Kevin Tian
6752cdfbf8 distr-tracking: add MAINTAINER and version info for rest recipes
This commit add basic distro-tracking fields (status/maintainer/latest_ver)
for rest recipes in world target. There may still have some missing, but
most have been made up this time

In total 279 pacakges are touched

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-19 13:08:51 +01:00
Richard Purdie
86af749b5b xinetd: Drop INHIBIT_AUTO_STAGE, this does nothing in Poky
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 13:08:18 +01:00
Yu Ke
23552a40fc xinetd: add xinetd
xinetd is highly configurable, modular and secure inetd. this commmit add xinetd 2.3.14.
The receipts is borrowed from OE, with following changes:
- upgrade the version from 2.3.13 to 2.3.14
- pick three patches from debian xinetd 2.3.14-7.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-19 13:06:56 +01:00
Richard Purdie
90e8bc75e3 autotools.bbclass: Drop a number of legacy functions that shouldn't be (and aren't) used in poky now
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 12:51:37 +01:00
Yu Ke
372f2f40c0 mktemp: add mktemp package
Mktemp is a small program to allow safe temporary file creation from shell scripts. this commit add mktemp 1.7.

it is borrowed from open embedded with following changes:
- upgrade from 1.6 to 1.7
- remove the patch add_destdir.patch, since this patch is already included in 1.7.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-19 12:36:37 +01:00
Yu Ke
ec22c6287c cracklib: add new package
cracklib is a pro-active password checker library
this commit add cracklib from scratch.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-19 12:35:53 +01:00
Dongxiao Xu
a57add5307 ed: add GPLv2 version.
Add the latest GPLv2 of ed (0.5) into poky system

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-19 12:29:15 +01:00
Nitin A Kamble
8cfecea699 eglibc: recipe cleanup
This removes unneccesary dependancys. And avoids glibc being built when
eglibc is configured.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-19 12:28:54 +01:00
Nitin A Kamble
75c781ad95 distro_tracking: update maitanier for toolchain/devel recipes
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-19 12:28:24 +01:00
Qing He
e6743f8416 rsync: explicitly disable xattr and acl
Signed-off-by: Qing He <qing.he@intel.com>
2010-08-19 12:28:10 +01:00
Qing He
30b01f94c3 gamin: add glib-2.0 as dependency
Signed-off-by: Qing He <qing.he@intel.com>
2010-08-19 12:27:55 +01:00
Richard Purdie
3ce480de27 bitbake/runqueue.py: Factor task skipping code into a function
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 11:41:44 +01:00
Richard Purdie
65b068a5f8 bitbake/runqueue.py: Create RunQueueExecute and RunQueueExecuteTasks classes, further splitting up runqueue
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 11:41:44 +01:00
Richard Purdie
96ec9f8a60 bitbake/cooker.py: Allow idle handlers to pass through a true value
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 11:41:44 +01:00
Richard Purdie
1db9ee5e8d bitbake/runqueue.py: Drop duplicated class
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 11:39:59 +01:00
Richard Purdie
d39434bcfc task-poky-tools: Add perf to tools-profile package
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 11:39:59 +01:00
Richard Purdie
efadb43d67 native.bbclass: Ensure EXTRA_NATIVE_PKGCONFIG_PATH has a default value
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-18 15:30:35 +01:00
Richard Purdie
84d31b8970 apmd: Add back libtool patch as the issue the patch fixed reappeared
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-18 15:30:20 +01:00
Richard Purdie
22bf3344b5 xserver-xf86-dri-lite: xorg-minimal-fonts is responsible for this symlink
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-18 15:30:08 +01:00
Richard Purdie
418cce9ee9 bitbake.conf: Set FAKEROOTENV
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-18 15:29:54 +01:00
Richard Purdie
9ba6043530 linux-wrs: Make sure kern-tools-native is built before do_patch
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-18 11:49:58 +01:00
Richard Purdie
5d9f37873d bitbake: Split Runqueue into two classes, a data processor and the execution part
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-18 11:49:58 +01:00
Saul Wold
d7bc9b8ece DistroData: Cleanup Version numbers and add DistroData Parser
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-17 23:12:33 +01:00
Saul Wold
26350bbd22 aspell: moved from meta-moblin to meta to support enchant dependency
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-17 23:12:33 +01:00
Yu Ke
912480a3f6 distro tracking fix: cairo qemugl
fix the version format

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-08-17 23:12:33 +01:00
Kevin Tian
72ccda630e distro-tracking: fix versions format
dbus-wait
  shadow

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-17 23:12:33 +01:00
Kevin Tian
54d6d75445 update-rc.d.bbclass: adjust order on tweaking postinst
So far unlike prerm/postrm, update-rc.d has its own postinst method prepended
to pkg_postinst, which may result "System startup links for xxx already exist"
warning in the 1st boot of target image. Some pkg_postinst requires to run on
the target, and thus prepend here makes update-rc.d method executed twice: one
in rootfs creation and the other in the 1st target boot. So adjust the order
to append.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-17 22:57:33 +01:00
Kevin Tian
7025e6496e pam: add missing bits from previous commit
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-17 22:56:12 +01:00
Kevin Tian
db5c145af1 udev: use relative path when creating dev.tar
this effectively removes below warning:
  tar: removing leading '/' from member names

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-17 22:55:44 +01:00
Dexuan Cui
07adcbaf97 lttng-ust: disable MIPS build since liburcu doesn't build on MIPS
lttng-ust depends on liburcu.
Unluckily upstream liburcu doesn't support MIPS now.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-17 22:51:57 +01:00
Nitin A Kamble
94f63fa564 gcc_4.5.0: import a missing patch from gcc_4.3.3
[BUGID #208]

Thanks to Edwin Zhai for reproducing issue and narrowing it down to the
segmentation fault in the floorf function of libstdc++-v3

And

Thanks to RP for pointing out that this is a known issue with the fix
already in the gcc 4.3.3 recipe

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard@openedhand.com>
2010-08-17 22:50:47 +01:00
Joshua Lock
514d768673 poky-default: fix a warning caused by preferred libc-initial being unset
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-17 22:50:21 +01:00
Joshua Lock
67239d4251 kernel.bbclass: Fix adding module dependencies to RDEPENDS
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-17 22:49:39 +01:00
Richard Purdie
cb5d51a485 cross-canadian.bbclass: Set TOOLCHAIN_OPTIONS to point at the correct sysroot
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-17 19:55:39 +01:00
Joshua Lock
e624b2700a build/conf: move sample conf files to meta/conf
Currently rm -fr build breaks things badly but will work if we move the sample
configuration files to meta/conf - this patch does so.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-17 17:41:20 +01:00
Richard Purdie
2225e12142 base.bbclass: Temporarily disable fakeroot for install/package until other fixes get merged
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-17 12:13:31 +01:00
Kevin Tian
a4aaaee39d tcl: fix native build
commit a2e6b265ed introduced one patch
to fix non-native build, which however breaks native build.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-17 09:34:46 +01:00
Richard Purdie
8e8316c8f0 bitbake/utils.py: Allow explode_dep_versions to handle the commas join_deps can introduce into strings
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-17 09:29:08 +01:00
Nitin A Kamble
bfaeda03be binutils: fix the installed location of libiberty.a file
This fixes:
  [BUGID #209]

the libiberty was getting installed in usr/lib/lib64 path which was
leaving prelink-native recipe wondering where to get libiberty.
  Fix the path and prelink-native recipe is building fine now.

Patch added:
 libiberty_path_fix.patch
2010-08-13 17:19:16 -07:00
Jiajun Xu
8c498e5338 testlib: Add support for qemumips/qemuppc/qemux86-64, and add support for testing with images from autobuilder
Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-08-13 23:42:03 +01:00
Saul Wold
6fc5bdd1bb task-poky-basic: enabled ethtool as part of build
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-13 23:38:17 +01:00
Zhai Edwin
03ee90660e distro_x11_apps_1.inc, distro_x11_ux.inc: Add maintainer info
Also add RECIPE_NO_UPDATE_REASON for the package that not updated to latest.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-13 23:38:17 +01:00
Dongxiao Xu
cedd774ced distro_tracking: Add maintainer information
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-13 23:38:16 +01:00
Yu Ke
b8f64fe44c distro_x11_core.inc, distro_x11_apps_2.inc: add maintainer info
Sigined-off-by: Yu Ke <ke.yu@intel.com>
2010-08-13 23:38:16 +01:00
Kevin Tian
26db53b91f gmp: add GPLv2 version (4.2.1)
The latest GPLv2 version of gmp is 4.2.1, which was released in 2006/05.

This GPLv2 recipe is written in clean house approach, w/o looking at
either v3 source code and recipe.

One patch (disable-stdc.patch) is added, which is also written from
scratch and licensed under GPLv2

test with 'calc' which is shipped by gmp package

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-13 23:38:16 +01:00
Kevin Tian
f53504d28c ethtool: add new recipe 2.6.34
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-13 23:38:16 +01:00
Kevin Tian
2d394b224a distro-tracking: update MAINTAINER info for base group
also add NO_UPDATE_REASON for packages marked #OK to stay with
an older version

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-13 23:38:16 +01:00
Nitin A Kamble
675259c82c sdk-task: make libc dependancies generic
This change specifies the libc dependancies in a generic fashion.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-13 23:37:31 +01:00
Nitin A Kamble
512d3b713c eglibc: import eglibc_2.12 recipe from OE
use http proto for svn checkout
cosmetic cleanups to metadata

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-13 23:37:30 +01:00
Saul Wold
2c11926528 procps: Move from meta-moblin to meta-lsb
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-13 23:37:30 +01:00
Saul Wold
e8ac5a76d9 Add glossary entry for SUMMARY for binary packaging
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-13 23:37:30 +01:00
Nitin A Kamble
a2e6b265ed tcl: fix a build issue
This fixes:
 [BUGID #210]

This commit addes a native recipe & a patch for tcl to fix the
following build issue

| Installing message catalogs
| /bin/sh: line 2: ./tclsh: cannot execute binary file
| make: *** [install-msgs] Error 126
| FATAL: oe_runmake failed
NOTE: package tcl-8.5.8-r0: task do_install: Failed

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-13 23:37:30 +01:00
Joshua Lock
aeb73bdf20 linux-wrs: Fix qemux86-64
Use the fragment support provided by kern-tools in the linux-wrs recipe to add
some extra modules required for qemux86-64 such as evdev and uvesafb.

Add a patch to increase CONNECTOR_MAX_MESSAGE_SIZE as uvesafb was sending
larger messages than the kernel would accept.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-13 17:25:39 +01:00
Joshua Lock
1c4cc60e28 kernel-arch: x86-64 is no longer a valid architecture, map it to x86
Also use the exported (and re-mapped) ARCH rather than TARGET_ARCH in the
linux-wrs recipe.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-13 17:16:19 +01:00
Joshua Lock
2e0d6df6c1 git: update to get features required for wr-kernel-tools
Update to 1.7.2.1, wr-kernel-tools requires --no-merged option for git branch
which was introduced in git 1.5.6

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-13 17:16:11 +01:00
Jeff Dike
bdb9da4847 emenlow: add support for the r8169 network card
This was reported by a user (Gary Thomas) on his board.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-08-13 14:42:20 +01:00
Jeff Dike
ed5194052e emenlow: Add Intel sound support
This adds CONFIG_SOUND, CONFIG_SND, and CONFIG_SND_HDA_INTEL to the
emenlow deconfig.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-08-13 14:42:03 +01:00
Richard Purdie
bb75c18104 Move byacc, which, libconvert-asn1-perl and libtimedate-perl to meta-lsb
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-13 13:56:49 +01:00
Kevin Tian
5abb132fec distro-tracking: update MAINTAINER info for base group
also add NO_UPDATE_REASON for packages marked #OK to stay with
an older version

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-13 13:36:06 +01:00
Saul Wold
1766b2bc22 tasks: updated tasks and images to reflect distro lsb requirments
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-13 13:36:05 +01:00
Dexuan Cui
cca5090408 distro-tracking: update MAINTAINER info for x11_libs and sdk_tools.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-13 13:36:05 +01:00
Dexuan Cui
7b6700f5b8 distro tracking: add liburcu, lttng-ust, upgrade lttng-control and lttng-viewer
Move lttng-control and lttng-viewer from distro_toolchain_devel.inc to
distro_sdk_tools.inc.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-13 13:36:05 +01:00
Dexuan Cui
295e142488 task-poky-tools: fix RDEPENDS_task-poky-tools-profile and add lttng-ust into it
Here the "_append" must appear just after RDEPENDS_task-poky-tools-profile, or
else, valgrind and lttng-ust won't be built into the target image.

At present we only build lttng-ust on
qemux86/qemux86-64/qemuppc/qemumips/emenlow/netbook since upstream liburcu
(which is required by lttng-ust) may not build on other platforms, like
qemu ARMv5te that poky uses now.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-13 13:36:05 +01:00
Dexuan Cui
56c5f2a679 lttng-ust: add the latest version 0.5
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-13 13:36:04 +01:00
Dexuan Cui
80ec77731b liburcu: add the latest version 0.4.6
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-08-13 13:36:04 +01:00
Qing He
5f199e8b51 distro-track: add maintainer info
also adds trackinf fields for gamin

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-13 13:36:04 +01:00
Qing He
0eb96abfc9 gamin: put into meta-lsb
changes:
  - gamin now also PROVIDES fam, moved to meta-lsb
  - separate out libgamin

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-13 13:36:04 +01:00
Qing He
3a7c857064 distro-track: tcp-wrappers
add a new recipe: tcp-wrappers

Singed-off-by: Qing He <qing.he@intel.com>
2010-08-13 13:36:03 +01:00
Qing He
304f88f408 nfs-utils: enable tcp-wrappers support
Signed-off-by: Qing He <qing.he@intel.com>
2010-08-13 13:36:03 +01:00
Qing He
22ae6b193d portmap: enable tcp-wrappers support
this enables the hosts access control facility (i.e. /etc/hosts.allow
and /etc/hosts.deny)

changes:
  - enable tcp-wrappers by change make flags and cppflags
  - rename patch no-tcpd-support to avoid confusion
  - minor cleanups

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-13 13:36:03 +01:00
Qing He
6ffc4f2e04 tcp-wrappers: add new package
version 7.6
based on tcp-wrappers recipe of openembedded

changes from openembedded version:
  - set -DUSE_GETDOMAIN in NETGROUP to fix build error
  - install libwrap into ${base_libdir}, since it's required by
    some essential components (e.g. portmap is in ${base_sbindir})
  - distribute libwrap.a as well in libwrap-dev

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-13 13:36:02 +01:00
Kevin Tian
199177bc29 distro-tracking: update tracking fields for libpam and shadow
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-13 13:36:02 +01:00
Kevin Tian
f6535ea12a shadow: add new recipe 4.1.4.2
(borrow from OpenEmbedded with below tweaks)

Enhance login_defs_pam.sed according to shadow source, to ensuer we don't
leave any unknown definitions in /etc/login.defs when pam is enabled

no need for --disable-account-tools-setuid which is detected upon pam
automatically, and no specific CFLAGS append

move shadow site options to generic site files

adjust indention

RDEPENDS on a list of pam-plugins since they're separately packaged

test with both pam enabled and pam disabled. when pam is enabled, tried
some same tweak with desired effect.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-13 13:36:02 +01:00
Kevin Tian
44d7c5678f staging.bbclass: mangle *.la for ${base_libdir} too
currently staging.bbclass mangle *.la to ensure sysroot prefix attached to
dependency_libs if other *.la is referenced, however it only happens on
${libdir}. libpam is special with its libraries under ${base_libdir}. So
this extends mangle to ${base_libdir} too

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-13 13:36:02 +01:00
Kevin Tian
46771a85b0 pam: rename to libpam and add core config files
So far pam is not really functional as there no pam config files exists, here
we borrow from openembedded to setup core /etc/pam.d to make it functional:

  * change 'pam' to 'libpam' following Debian naming convention, and change
    (R)DEPENDS in other recipes

  * borrow openembedded libpam-base-files with changes:
    - rename to libpam-runtime to follow Debian naming
    - only keep common-* core files which can be traced back to Debian
      libpam-runtime-1.0.1 for license track. Other service specific files
      (such as atd, cron, ...) are removed because either they may contaminate
      the license or it's right thing to have their own packages providing them
    - use same libpam recipe instead of creating a new. This way other /etc/
      stuff are all contained by libpam-runtime

  * like openembedded, we package each pam plugin into seperate package now,
    with some differnce though:
    - Some ${sbindir} binaries are bound to specific PAM plugin. So better to
      package them together with corresponding plugin package
    - populate_sysroot_prepend is invoked before actual populate_sysroot, at
      that time ${D} binaries haven't been tripped. So it's difficult to specify
      -dev for those plugin pacakges from _prepend which are simply empty.
      actually one -dev/-doc per recipe is one good exercise here.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-13 13:36:01 +01:00
Nitin A Kamble
59e30ad05f distro_tracking: add meta data for additional devel packages
Added entries for
byacc
libtimedate-perl
libconvert-asn1-perl
libxml-parser-perl

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-13 13:36:01 +01:00
Nitin A Kamble
72aa55b762 libconvert-asn1-perl: create new recipe
the latest is 0.22 which is failing to build
while the previous version 0.21 just works.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-13 13:36:01 +01:00
Nitin A Kamble
4f90c0c8c8 libtimedate-perl: create a new recipe
imported this recipe from OE

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-13 13:36:01 +01:00
Nitin A Kamble
ab902e0d68 byacc: added new recipe in to the tree
Imported OE recipe and then upgraded it to the latest version

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-13 13:36:00 +01:00
Nitin A Kamble
eaf2a94e11 libproxy: upgrade from 0.4.2 to 0.4.3
Upgraded to fix this issue on fedora 13
http://code.google.com/p/libproxy/source/detail?r=684

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-13 13:36:00 +01:00
Saul Wold
e5052c493b minicom: Update to 2.3 (from OE)
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-13 13:36:00 +01:00
Saul Wold
1280503a59 minicom: move from meta-extras to meta-lsb
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-13 13:36:00 +01:00
Zhai Edwin
858c0d930f Distro tracking: Update tracking fields for bc and ed
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-13 13:35:59 +01:00
Zhai Edwin
a1a35a3668 ed: add 1.4 as new recipe
Add a patch(should be GPLv3) to fix the compile issue, otherwise only produce
binary for build system in cross-compile environment. Simple function test
done.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-13 13:35:59 +01:00
Dongxiao Xu
a44754d9d6 distro_tracking: enchant, cwautomacros, which, and quota
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-13 13:35:59 +01:00
Dongxiao Xu
806cc3d049 which: Add new recipe
Add which-2.20, which is licensed under GPLv3.

The installation will override the busybox "which" command.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-13 13:35:59 +01:00
Qing He
070f8f5fd8 distro-track: new package placeholder
fam libaio sysstat sysklogd tcp_wrappers gawk

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-13 13:35:58 +01:00
Qing He
4897393c05 distro-track: update for package upgrades
newly added
acl pciutils usbutils

updated
js rsync udev

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-13 13:35:58 +01:00
Richard Purdie
0e60d04436 linux-wrs: Enable tracking of the secondary wrs_meta branch in PV
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-13 11:35:11 +01:00
Richard Purdie
6cbd557cf5 base: Allow unpack to handle localpath=None
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-13 11:35:11 +01:00
Richard Purdie
f3292fa117 bitbake/git.py: Make sure different branches can have different revisions without triggering build count increases
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-13 11:35:11 +01:00
Richard Purdie
a18e9b4f93 bitbake/git.py: Allow tracking of branches in SRC_URI without cloning for use with fullclone
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-13 11:35:11 +01:00
Richard Purdie
0ea4b89649 bitbake/git.py: Make sure a full clone checkout always updates
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-13 11:35:11 +01:00
Joshua Lock
76a17c1b5e meta-ide-support: don't pull in unneeded nativesdk tasks
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-13 09:56:23 +01:00
Saul Wold
2e0e656a15 dbus-wait: Updated License File Checksum
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-08-13 08:57:52 +01:00
Mark Hatle
07582c7761 pseudo: Fix pseudo build
Revert the change from 28d70bcddb.

Change the upstream commit to id: d30de158c1986d2161647629f279018702a42750.

This fixes the const is read-only issue when compiling.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-13 08:57:25 +01:00
Richard Purdie
28d70bcddb pseudo: Fix segfaults
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 23:12:49 +01:00
Richard Purdie
6c7bc9e2eb package.bbclass: Document the process followed in the class from a high level
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 21:35:48 +01:00
Richard Purdie
268b8cf263 dbus-wait: Update LICENSE after changes upstream
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 16:28:22 +01:00
Mark Hatle
d428c9f9e1 prelink: Enable image wide prelinking
Add the ability to specify user level classes via the local.conf.

Use this new capability to add an image-prelink class that does an
image wide cross-prelink activity.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-12 15:54:39 +01:00
Mark Hatle
1c9f061d1f pseudo: Upgrade pseudo and correct problems
Fix an issue where pseudo could try to compile incorrectly on an
x86_64 host system.  Now it verifies that it should be trying to build
a 32-bit library, and if so the necessary prereqs are available.

Also uprev to the latest version of pseudo changes to enable wrapping
of execl, local variable storage and misc fixes.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-12 15:47:02 +01:00
Kevin Tian
e101642a61 populate-volatile.sh: cleanup duplicated invocations and remove boot warning
For one, populate-volatile.sh is itself a rcS script which is invoked earlier
than package's own postinst method (last one in rcS). If package has already
installed their volatile files correctly, it doesn't make sense to update volatile
again in postinst since nothing is changed.

On the other hand, dbus/hal are special since their user/group are only created
in the target. If they pre-install volatiles like others, populate-volatile.sh
will report "undefined user" since at that time their user/group haven't been
created. The better way solving this is to generate their volatile in the fly
after user/group are created, and then update volatiles.

This fix [BUGID #121]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-12 15:39:24 +01:00
Qing He
cf1e754b3f libxml2: fix python binding
--with-python= should be followed by the path to python binary, not
prefix, also export several environment for passing building,
fixes [BUGID #69]

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-12 15:10:12 +01:00
Richard Purdie
bb175ec208 bitbake.conf: Fix up OVERRIDES documentation (some bits from OE) and also add forcevariable OVERRIDE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 15:06:14 +01:00
Richard Purdie
9ef9b5e1a7 bitbake/build.py: Note when calling functions that don't exist. Should probably error
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:44:07 +01:00
Richard Purdie
36e81a844b bitbake/cooker: Make sure no locks are held before we start forking workers
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:32 +01:00
Richard Purdie
e4c1c8c92e utility-tasks.bbclass: Use python functions for do_clean instead of os.system, remove pointless [dirs] flag
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:31 +01:00
Richard Purdie
19be6b407c lib/oe/path.py: Add copytree function that works
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:31 +01:00
Joshua Lock
a5884df90d lib/oe: support wildcards in path.remove
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-12 14:41:31 +01:00
Richard Purdie
dfd7e1f76b bitbake/build.py: Set the current taskname in the BB_CURRENTTASK variable
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:31 +01:00
Richard Purdie
a525b27d00 relocatable.bbclass: Cover libexecdir
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:30 +01:00
Richard Purdie
9e9d45124a bitbake.conf: Set PKG_CONFIG_LIBDIR
If this isn't set, pkg-config will use its inbuilt paths which mean it can
end up looking in the native sysroot.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:30 +01:00
Richard Purdie
889c8ed31a sato-icon-theme: Make sure the native icon mapping script is found and used correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:30 +01:00
Richard Purdie
6124cccddf bitbake.conf: Always specific the sysroot in TOOLCHAIN_OPTIONS
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:30 +01:00
Richard Purdie
9e2600b6b9 gcc-package-cross: Make the libexec symlinks use relative paths so they're reclocatable
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:29 +01:00
Richard Purdie
53f22c9b8b gdb: Make sure expat is not accidentally included
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:29 +01:00
Joshua Lock
f05fd8dc5c meta-ide-support: A dummy recipe to install everthing for target development
Move the environment-setup script generation into a separate class and adapt
meta-toolchain to use it.

Add a new dummy target, meta-ide-support, to install an appropriately
configured script to TMPDIR and ensure all of the required packages for target
development are available.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-11 18:04:52 +01:00
Richard Purdie
69ac39b90e kernel.bbclass: do_deploy should use ${B}, not ${S} (which is what ${B} defaults to)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-11 11:14:43 +01:00
Joshua Lock
cb67b6d236 kern-tools-native: add scc
Add scc to the list of installed programs, as it's required by updateme

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-10 17:15:39 +01:00
Richard Purdie
15bf2d5d31 gcc: Fix 4.5.0 patch rejects
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-10 15:51:07 +01:00
Richard Purdie
a0dd61eb2b package.bbclass: Use --preserve-dates option when stripping kernel modules
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-10 15:36:29 +01:00
Qing He
c33529794a pciutils: upgrade to version 3.1.5
from 3.0.3

changes:
  - rebased patch configure.patch and pcimodules-pciutils.diff
  - fix a bug in parameter order in config that causes invalid
    search path and library version
  - remove unnecessary kernel version reference in configure
  - use DESTDIR mechanism for build and installation
  - pciutils should RDEPENDS on pciutils-ids
  - enable shared library build and package a new package series,
    libpci
  - conceive a new patch to fix shared library build, default build
    would embedd invalid library dependencies
  - add another patch to fix build on arm
  - fix a bug in previous do_install_depends that used invalid
    installation mode
  - symbolic link /usr/sbin/pciutils to /usr/bin, so non-root user
    can use it as well

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-10 15:31:19 +01:00
Richard Purdie
650319cd74 kernel.bbclass: Exclude scripts/dtc object files
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-10 15:29:43 +01:00
Richard Purdie
6ef17f4b31 poky-default.inc: Make gcc 4.5.0 the default but not for mips and powerpc yet
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-10 15:09:33 +01:00
Nitin A Kamble
1842635ee8 gcc-4.5.0: import some ppc & mips fixes from oe recipes
for ppc glibc build failes with -os (optimize for size) gcc option. so
 the fix disables this gcc options on ppc.

MIPS fix is added in the hope of helping webkit-gtk build failure (gcc
seg fault).

And fix the PR bumps for all affected recipes

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-10 15:02:09 +01:00
Nitin A Kamble
8fd7cc38b5 gcc-4.5.0: newer patch for svn revision 162697
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-08-10 15:02:09 +01:00
Richard Purdie
d3630f8174 kernel/package.bbclass: Handle kernel module stripping centrally
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-10 14:47:41 +01:00
Richard Purdie
708db1ef52 kernel.bbclass: Clean up kernel packaging output
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-10 12:02:04 +01:00
Qing He
f25d26de77 js: fix configure
use autoconf to generate jsautocfg.h instead of preparing
different headers for different archs

size_of and align_of tests also work under cross-compilation.

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-10 15:51:59 +08:00
Richard Purdie
15ecd98c54 linux-wrs: perf needs python and perl at runtime, not buildtime
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-09 18:04:09 +01:00
Richard Purdie
a52dc8a26a linux-wrs: Make sure install_perf runs before do_package
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-09 17:27:05 +01:00
Richard Purdie
e710b42a00 linux-wrs: Make sure install_perf happens for do_package
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-09 17:21:57 +01:00
Bruce Ashfield
7994c9a00e kern_tools: update default revision
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-08-09 17:20:36 +01:00
Bruce Ashfield
a924ea57ff perf: performance analysis tools for Linux
Performance counters for Linux are a new kernel-based subsystem
that provide a framework for all things performance analysis. It
covers hardware level (CPU/PMU, Performance Monitoring Unit) features
and software features (software counters, tracepoints) as well.

To enforce the coupling between userspace and kernel, this
commit introduces perf as a subpackage of the linux-wrs tree.

perf is built directly inside the kernel tree (and hence picks
up all appropriate patches), but is packaged as a separate
utility that can be added to the rootfs and used to analyze
the kernel.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-08-09 17:20:36 +01:00
Bruce Ashfield
55011c1f4b kern_tools: add updateme and patchme
Adding new kern_tools to allow the compilation of a meta series
and the patching of a kernel tree.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-08-09 17:20:36 +01:00
Bruce Ashfield
eaacd258d8 kernel: add dynamic configuration and patching
This change adds the ability to dynamicaly modify a git based
linux repo during the do_patch and do_configure changes.

The bulk of the work is done by the kern_tools, and the recipe
simply needs to add createme and modifyme scripts to go along
with the existing configme.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-08-09 17:20:35 +01:00
Qing He
601464b497 nfsroot: allow nfsroot to survive netbase init
The patch adds a script in /etc/network/if-pre-up.d,
the script returns 1 (effectly skip the ifup on the iface) iff:
  1. there is a "* / (nfs|nfs4) *" entry in the /proc/mounts
  2. the addr field in that entry is routed using $IFACE

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-09 16:54:08 +01:00
Richard Purdie
bca283671f pseudo: Only build 32 bit lib version if 32 bit development headers are available
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-09 12:13:24 +01:00
Qing He
0025bbb903 acl: add new package
version 2.2.49

  - reuse attr build system include file
  - the default build will add attr's rpath into libacl.so, a
    hack is used here to prevent that hardcode. The hack is ugly
    but simple, without the need to do considerable autoconf hacks.
    An alternative approach is to use chrpath, but it doesn't have
    support for multilib thus not usable in its current state.
  - manual fix to .la

Singed-off-by: Qing He <qing.he@intel.com>
2010-08-06 22:21:48 +01:00
Kevin Tian
607709f78d xserver-xf86-config: add qemux86-64 xorg.conf
copy from qemux86 to make xserver works on qemu x86-64 platform. However
full GUI doesn't pop up yet due to other keycode/theme problems in matchbox.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-06 18:33:51 +01:00
Kevin Tian
f4cb0870ac module-init-tools: fix depmod caused segfault issue
memset is required after malloc in grab_module, or else random segfault
may happen. The fix is from Mark Hatle <mark.hatle@windriver.com>.
Upstream bug is reported as:
https://bugzilla.kernel.org/show_bug.cgi?id=16528

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-06 18:33:15 +01:00
Richard Purdie
45d237b3bf quote/cwautomacros: Move to meta-lsb
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-06 18:32:16 +01:00
Zhai Edwin
8f284e4c05 bc: add 1.06 version as new recipe
Simple function test done.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-06 18:28:28 +01:00
Dongxiao Xu
0cc9ac7b72 quota: Add new recipe
Introduce quota version 3.17 to poky.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-06 18:28:28 +01:00
Dongxiao Xu
a9d468c98d cwautomacros: Add new recipe.
cwautomacros is a set of m4 files, and package "which" will use it.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-06 18:28:28 +01:00
Dongxiao Xu
bdcf666d5b enchant: Upgraded to version 1.6.0
Move enchant from meta-moblin to meta
Remove "S" since it is same as default path.
Also fix the metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-08-06 18:28:27 +01:00
Qing He
662f136795 udev: enable udev-extras
changes:
  - enable extras, this includes pci/usb and acl related utilities
  - pci.ids automatic search doesn't work, specifying manually
  - package udev glib binding into libgudev{,-dev,-dbg}
  - libudev RDEPENDS on udev, this is somehow counter-intuitive:
    libudev is the library to access udev information
  - should RRECOMMENDS usbutils-ids and pciutils-ids

bug: RDEPENDS (RRECOMMENDS) on a specific version still doesn't work

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-06 18:28:27 +01:00
Qing He
0bb1016de1 usbutils: upgrade to version 0.86
from 0.72

changes:
  - package new usbutils.pc
  - move binaries into /usr/{bin,sbin} as default. udev uses only
    usb.ids instead of binaries
  - remove DEFAULT_PREFERENCE
  - symbolic link /usr/sbin/lsusb to /usr/bin, lsusb can be used by
    non-root, inspired by Debian
  - separate usb.ids to a new package usbutils-ids, for finer grained
    control, inspired by pciutils, also usbutils RDEPENDS on
    usbutils-ids
  - don't rm ${S}/libusb any more, since usbutils now doesn't bundle
    an included libusb

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-06 18:28:27 +01:00
Qing He
680f8bf8ae attr: various improvements
changes:
  - separate the build system to ea-acl.inc, it is also used by
    upcoming acl (ea stands for extended attributes)
  - the .so.* is moved to /lib, so it can be used by packages like
    udev
  - change absolute symbolic links to relative path, code inspired
    by udev
  - manual fix to .la

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-06 18:28:26 +01:00
Qing He
28d52a2f7a js: upgrade to version 1.8.0~rc1
from 1.5
use version string 1.7.0+1.8.0rc1
aka. spidermonkey

changes:
  - rebase jsautocfg.h to add JS_HAVE_LONG_LONG, fixing the build
    failure
  - document the limitation of jsautocfg.h
  - jskwgen is a host script, and should be built by BUILD_CC
  - remove dependency of readline. readline or editline is only
    used in standalone js command line, which is not shipped in
    package. Removing the dependency to avoid any concern of
    GPL3-ization
  - set BUILD_OPT=1 for optimized build

Note on version choice:
   js is known to have long rc cycles. e.g. the version 1.5:
     js-1.5-b1:   12/16/1999,  js-1.5-rc1:     03/17/2000,
     js-1.5-rc6a: 06/16/2004,  js-1.5 release: 10/22/2005

   Current release version is 1.7.0: 10/19/2007, latest version
   1.8.0-rc1: 03/09/2009, so 1.8.0-rc1 is used.

Note on standalone js vs. xulrunner:
   xulrunner also includes a js version, that is more updated than
   standalone spidermonkey. It also uses autotools so jsautocfg.h
   patch may not be necessary. However the version of xulrunner is
   different from js, and it's difficult to identify the mapping
   between them. It needs further investigation on xulrunner's
   bundled js

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-06 18:28:26 +01:00
Zhai Edwin
56bbb27bb0 pcmanfm: re-update it to 0.9.7
Previous update was reverted due to some reason. This commit re-introduce the
update after following efforts:

* rebase owl-window-menu.patch - Translate the menu of gtk_ui_manager to
  original gtk menu, to enable owl feature.

* fix cross-compile issue - 0.9.7 use a temp binary, built from its own source
  code, to optimize the data file size. This binary for target can't run on
  build system. As this size optimization only gain 0.2K improvement for one
  data file(used for about dialog), disable it to work around this issue. No
  perf drop found after this fix.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-08-06 18:28:26 +01:00
Mark Hatle
2c2e5dc146 pseudo: Enable dual 32-bit and 64-bit support
On an x86_64 host, both 32-bit and 64-bit libraries need to be generated.
It is fairly common that a user will have at least a few 32-bit programs
on their x86_64 host system, so a pseudo wrapper for 32-bit is required
to allow those programs to be successfully wrapped.

Signed-off-by: Mark Hatle <Mark.Hatle@windriver.com>
2010-08-06 06:56:03 -07:00
Mark Hatle
4e2c84f6b4 pseudo: Change pseudo integration to better support local DBs
Change the pseudo integration:
  * Uprev to latest open source version
  * Restructure the patches to allow for many local DBs, as well as
    pseudo specific lib dirs.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-04 15:40:56 -07:00
Mark Hatle
aed7ee04fd base.bbclass: Enable fakeroot (pseudo) usage during install and packaging
Use the virtual fakeroot program when installing a package and also
during packaging.  This is important as it allows us to track full
permissions, owners, groups and special files generated by packages.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-04 10:40:49 -07:00
Richard Purdie
f4322c6adb package_ipk.bbclass: Fix variable name
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-04 18:18:48 +01:00
Richard Purdie
16d299c6ce cooker.py: Fix case of -b option with a full filepath
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-04 16:12:46 +01:00
Bernhard Reutner-Fischer
8105d4381f *: Fix typo in documentation
s/dictonary/dictionary/

(Bitbake rev: 0cc632761e75f66a8ce5ca2fe370f7551ccbfdf0)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-04 16:12:39 +01:00
Joshua Lock
9383074deb gcc: Fix dynamic linker location for x86_64
gcc hard codes the linker path to lib64 for x86_64 machines, update our
64bithack patch to change this to lib.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-04 11:43:12 +01:00
Joshua Lock
1fbcd2ca17 lib/oe: sync with OE.dev
Most notable change is the move to creating symlinks to patches in the metadata
tree rather than copying them.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-04 11:43:12 +01:00
Richard Purdie
7b74364120 icu: Make sure changes apply to Makefile and Makefile.in to fix build failure
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-04 11:43:12 +01:00
Richard Purdie
12f88767bc package_ipk: Clean up initial variables
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-04 11:43:12 +01:00
Richard Purdie
0f516fe9a0 bitbake/build.py: Add support for pre and postfuncs for tasks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-04 11:43:12 +01:00
Richard Purdie
b83179c87e kernel.bbclass: Simplify shell syntax so pysh can cope with it
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-04 11:43:12 +01:00
Richard Purdie
f6ae8a4b3e packaged-staging: Fix architecture of nativesdk and cross-canadian packages. Also remove now unneeded path from native packages
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-04 11:43:12 +01:00
Richard Purdie
ec8f5299d9 cross-canadian: Move binaries into a subdirectory of bin to allow multimachine installs and update users accordingly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-03 20:04:33 +01:00
Richard Purdie
b3e41b5d1e packaged-staing.bbclass: Make sure python function is marked as such
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-03 14:32:32 +01:00
Bernhard Reutner-Fischer
ad8c5b61a4 utils: Fix number of arguments to bb.msg functions
the 'fn' argument of them is not used, should be removed anytime:
sed -i -e
'/^def.*fn/s/,[[:space:]]*fn[[:space:]]*=[[:space:]]*None[[:space:]]*)/)/g'
lib/bb/msg.py

(Bitbake rev: 1cb72e371322c271ee7f2d008c6f7899fb38b4fd)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-03 14:07:11 +01:00
Bernhard Reutner-Fischer
0e3fc6dff2 *: cosmetic whitespace removal
(Bitbake rev: 2ed36a3d57de25e1af31d657a7b0b14857e5056a)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-03 14:06:40 +01:00
Chris Larson
191a288349 Add pysh, ply, and codegen to lib/ to prepare for future work
(Bitbake rev: d0a6e9c5c1887a885e0e73eba264ca66801f5ed0)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-03 14:06:07 +01:00
Chris Larson
e6b6767369 Let the runqueue find the user selected scheduler dynamically
Searches the module (bb.runqueue) for any new style classes which are
instances of RunQueueScheduler, and uses the one whose 'name' attribute
matches the value of BB_SCHEDULER.

(Bitbake rev: 6497cedf9cfc03201250af816995dd2bd85c36ef)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-03 14:03:41 +01:00
Joshua Lock
29b4c2945f apt: fix builds with modern GCC
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-02 18:08:30 +01:00
Joshua Lock
fa8c028fd0 scripts: add qemux86-64 support to the qemu scripts
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-02 17:54:20 +01:00
Kevin Tian
d9b1d4312c mesa-dri: fix x86-64 target compilation
mesa-dri first generates glsl compiler and then use it to compile GL
shader sources. Target glsl compiler can't run on build system, and
thus port from openembedded by introducing a native recipe dedicated
to creating a native glsl-compiler.

This has to be an explicit -native recipe since its un-native sibling
is already part of mesa-dri

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-02 16:33:51 +01:00
Saul Wold
a235e4195e hal: PR needs to be bumped for change to take effect
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-07-31 00:18:13 -07:00
Nitin A Kamble
983b094ed0 opkg: take out the bad patch on crack
opkg_unarchive.patch: This patch was trunkating the filenames silently
for no reason. took it out.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-31 00:03:13 +01:00
Nitin A Kamble
fe69012c2c libgcrypt: upgrade from 1.4.5 to 1.4.6
This resolves the build issue on mips while compiling with gcc-4.5.0

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-31 00:02:25 +01:00
Nitin A Kamble
24132e4cf1 libmad: fix for building on mips with gcc-4.5.0
added a patch:
 fix_for_mips_with_gcc-4.5.0.patch

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-31 00:02:24 +01:00
Nitin A Kamble
4460087b83 enchant: fix a dependancy issue affecting the build
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-31 00:02:24 +01:00
Saul Wold
40f50303c5 emenlow: Add BASE_PACKAGE_ARCH and modification to hal.inc for emenlow
[BUGID #171] [Netbook] Xserver version mismatch makes mouse/keyboard not work

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-07-30 14:53:37 -07:00
Richard Purdie
54bb4b4abd site/x86_64: Add entries to allow various programs to compile
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-30 18:11:06 +01:00
Scott Garman
ba6a07b76c local.conf.sample: Use ?= when setting SDKMACHINE
This is a more sensible default which is also needed when using our
autobuilder configuration, which changes SDKMACHINE between builds by
setting an environment variable.

Also made spacing around = more consistent for a couple of other
variables.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-30 14:52:18 +01:00
Jeff Dike
e4d743e0da xserver-xf86-config: netbook - merge the two ServerFlags sections
A previous commit added AutoAddDevices as a separate ServerFlags
section. This is apparently overridden by the one at the end of the
file, so they need to be merged.

[BUGID #141]

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-07-30 14:50:31 +01:00
Yu Ke
71bf22d9db distro tracking field: iputils, mktemp, xinetd, cracklib
these four are new packges. so add basic tracking filed first.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-30 14:50:31 +01:00
Kevin Tian
8f756a7bfd distro-tracking: for new packages
gzip
	iptables
	ethtool
	net-tools
	shadow
	coreutils
	libuser
	bc
	ed
	pax
	quota
	which
	watchdog

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-30 14:50:31 +01:00
Kevin Tian
b8589c9fde iptables: new package 1.4.8
Create a new recipe based on openembedded 1.4.7 with cleanup suitable
for poky acceptance.

The tricky thing is to figure out which set of kernel modules are
recommended for a basic iptable functions

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-30 14:50:31 +01:00
Kevin Tian
754c54818d pam: use volatile to avoid /var/run population in do_rootfs
also disable doc rebuild to reuse existing man pages.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-30 14:50:31 +01:00
Dexuan Cui
8362a98b8e tcf-agent: fix the init script: remove the "-s SSL:" option
[BUGFIX#158] tcf-agent launched with misleading options
In the commit 90e80aafbd, with the image built by
poky-image-sdk(MACHINE=qemux86), tcf-agent is launched automatically with
the option "-s SSL:" in script /etc/init.d/tcf-agent, which is misleading to
users. This option tells the agent to use SSL instead of TCP for communication.
Because tcf-agent is not built with the SSL option enabled (libssl is not
installed in the target), the agent will fall back to TCP.

This could be misleading to users, so we may as well remove it.

Thanks Lianhao Lu for reporting the bug and clarifying it.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-30 14:50:31 +01:00
Dexuan Cui
cdece36231 distro tracking: add distro_sdk_tools.inc, add lttng-ust
Add conf/distro/include/private/distro_sdk_tools.inc;
Move some sdk tools from distro_x11_libs.inc to the new .inc file;
Add tracking info for lttng-ust.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-30 14:50:31 +01:00
Qing He
5fba534b15 dhcp: fix $PATH environment for dhclient-script
CLIENT_PATH is the only environment variable of dhclient-script,
change it to include major run path, [BUGFIX#132]

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-30 14:50:31 +01:00
Nitin A Kamble
1acae1c500 libmusicbrainz: fix a build issue with gcc 4.5.0
Added a new patch
   fix_build_issue_for_gcc_4.5.0.patch

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-30 14:50:31 +01:00
Nitin A Kamble
620aece563 gcc-4.5.0: import an arm fix patch from OE
And bump PRs of affected recipes

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-30 14:50:31 +01:00
Nitin A Kamble
7325781e35 gcc-4.5.0: apply the lib64 path 64bithack.patch
Bump the PR for all the affected recipes

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-30 14:50:30 +01:00
Nitin A Kamble
067863d38d distro tracking: add tracking for libmpc
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-30 14:50:30 +01:00
Yu Ke
8658f478b7 rootfs_ipk.bbclass: add keyword "Collected errors" for log error check
Once ipk meet errors, the log will show "Collected errors:\n xxxx ".
so keyword "Collected errors" is more general to catch errors.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-30 14:50:30 +01:00
Yu Ke
16877ce14b avahi: fix the /var/run conflict with other package
avahi will create an empty /var/run dir, which will conflict with base-files package.
This patch fix this by using populate-volatiles.sh approach recommended by OE handbook.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-30 14:50:30 +01:00
Jeff Dike
ae035f151f emenlow - boot to a GUI
Here are a couple of small fixes that allow an emenlow image to boot
to a GUI.

The X server now RDEPENDS on the packages that need to be in the
image.

xserver-xorg-video-psb needed a name change to depend on
libdrm_poulsbo.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-07-30 14:50:30 +01:00
Zhai Edwin
d9f22d4024 binutils: Fixed cross-compile issue for 64b build + arm target
Incoportate RP's patch, which seems to be lost when update.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-30 14:50:30 +01:00
Richard Purdie
da1332a7dd bonono/orbit2: Move to meta-extras
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-30 14:43:47 +01:00
Richard Purdie
7f8c1bfb08 libjana: Drop duplicate copy from meta-openmoko
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-30 14:41:46 +01:00
Richard Purdie
049aaa0233 staging: Remove now unused legacy staging code
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-30 14:41:45 +01:00
Jeff Dike
ab37f53c7b xserver-xf86-config: Add a netbook xorg.conf with an extra option
The X server on some netbooks don't interact well with HAL with their
keyboard or mouse and consequently one or both is unusable.  This
patch adds AutoAddDevices = False to a new netbook-specific
xorg.conf.  If this breaks any systems which currently work, we'll
have to figure out what's really going on with hotplug and the X
server.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-07-27 22:51:34 -07:00
Jeff Dike
9d4a4295db emenlow: linux - add enough config options to boot a live image
USB_STORAGE is needed to see a USB key in the first place.
BLK_DEV_INITRD and RD_GIP are needed to read the initrd in the image.
BLK_DEV_RAM and BLK_DEV_LOOP enable the ramdisk and loop devices used
during boot.
NLS_CODEPAGE_437 and NLS_ISO8859_1 are needed by vfat in order to
mount the filesystem on the key.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-07-27 22:51:34 -07:00
Kevin Tian
637ad7ef8c bitbake.conf: change inode calculation for genext2fs [BUGFIX#138]
genext2fs 1.4.1 creates minimal inode number based on specified rootfs
directory. This is desired in some embedded devices as storage/memory
are precious. However it's not suitable in development phase where target
rootfs may be changed heavily on the fly (remote debug, test, ...).
Sometimes this may even cause "No space on device" error due to limited
free inodes exhaulted at the 1st boot.

Here a new option is added to allow falling back to original 1.3 behavior,
i.e caculating inode number based on specified bytes-per-inode parameter.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-27 22:51:34 -07:00
Kevin Tian
218e441dd5 utility-tasks.bbclass: miscellaneous fix
Fix parse error with packages such as spectrum-fw whose name has no
version string. Later we may have per-recipe option to disable automatic
check for those known with troubles, to reduce complexity in this part.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-07-27 22:51:34 -07:00
Kevin Tian
ea3cfbaf26 cmake: only search root directory for FIND_***
default cmake behavior for FIND_***, is to first search listed directories prefixed
with CMAKE_FIND_ROOT_PATH, and if not found then go to unprefixed directories. This
is not desired as build system may be referenced.

this commit refine the search path only on prefixed directories, and thus fix
libmusicbrains build failure on some systems

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-27 22:51:34 -07:00
Dexuan Cui
106de1f41c distro tracking: add tcf-agent
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-27 22:51:33 -07:00
Dexuan Cui
90e80aafbd tcf-agent: add the latest version 0.3.0+svnr1078
install a proper script /etc/init.d/tcf-agent
make it autostart in runlevels 3 and 5

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-27 22:51:33 -07:00
Richard Purdie
c62be5367c site/x86_64: Add missing site config for glib-2.0
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-27 22:45:41 -07:00
Richard Purdie
fb10983b99 qemux86-64: Add new emulation machine for 64bit x86
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-27 22:45:41 -07:00
Richard Purdie
752435eb3b x86-64: Fix up COMPATIBLE_HOST defintions for x86-64
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-27 22:45:41 -07:00
Richard Purdie
4a51ea5508 xspb-glx: Fix libdrm naming issues
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 18:15:22 +01:00
Richard Purdie
95e40d33f1 libdrm-poulsbo: Fix naming to be consistent
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 18:14:26 +01:00
Richard Purdie
b01f7d73aa libva: Add missing DEPENDS on libxext
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 16:49:19 +01:00
Richard Purdie
faf6b2d33e cross-canadian.bbclass: Tweak secondary toolchain path component to account for multimachine
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 15:42:56 +01:00
Richard Purdie
2685863618 rm_work.bbclasS: Don't remove the pseudo database as it causes problems with meta-toolchin
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 15:27:16 +01:00
Richard Purdie
78292128a6 emenlow.conf: All tune-atom users need to share the same TARGET_ARCH, fix. Need to revisit this issue later
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 15:20:58 +01:00
Richard Purdie
7a18558925 gcc: For 64 bit targets don't use lib64
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 15:04:35 +01:00
Richard Purdie
43b8e66467 Revert "pcmanfm: Update to 0.9.7"
This reverts commit d6ba72ac34.

This recipe is not cross compile safe and failes on non0x86 builds.
2010-07-25 13:40:17 +01:00
Richard Purdie
7edde59de4 bitbake: cache: If one virtual of a recipe is uncached, remove all versions from the cache
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 11:33:11 +01:00
Richard Purdie
36cfff8ed5 bitbake: fetch: Only mark srcrev recipes as uncached when outside of SRCREV caching mode
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 11:32:42 +01:00
Richard Purdie
0babe2c507 cross-canadian.bbclass: Add in the target compiler paths as well as the sdk compilers
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 01:37:53 +01:00
Richard Purdie
0b60744a00 gcc-configure-sdk.inc: Remove hardcoded util paths
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 01:37:06 +01:00
Richard Purdie
42df9e99a4 cross-canadian: Fix toolchain path
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 01:12:06 +01:00
Richard Purdie
3a526152d9 gcc-runtime: Fix stashed libs path for nativesdk
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 00:41:45 +01:00
Richard Purdie
ae2836692f pseudo: Fix path length issues and resulting chdir issues
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-25 00:33:30 +01:00
Richard Purdie
ff0e858780 gcc-cross: Remove obsolete hacks from 4.5 version
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-24 23:08:04 +01:00
Richard Purdie
2e5df820ce nativesdk.bbckass: Fix toolchain path
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-24 23:07:07 +01:00
Richard Purdie
53b11611e1 pseudo: Make sure log/pid/lock/socket files are covered by data directory moves
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-24 10:55:51 +01:00
Richard Purdie
bcba4515e5 binutils: Remove zlib DEPENDS as it causes circular references
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-24 09:50:38 +01:00
Jeff Dike
c28cbe7fed emenlow: Change libdrm-poulsbo to libdrm_poulsbo
It turns out to be a lot easier to generate library names with
underscores than with dashes.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-07-24 02:01:59 +01:00
Nitin A Kamble
17326346ff elfutils: add nativesdk target
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-24 01:38:36 +01:00
Nitin A Kamble
c7c5c34188 gcc family : upgrade to 4.5.0
Imported OE patches into the poky recipes.
	- Use elfutils instead of libelf

Converted OE's svn source into tar ball & a patch.

Added a patch to revert the baseversion to 4.5.0

Merge OE & poky extra_oeconf_options

Fix the zlib (inside gcc)  make issue by providing the --with-system-zlib switch in EXTRA_OECONF

Found out that some header file dirs were soft linked to non-existing
locations like c_std. Changed the configure options to point them to
existing locations like c_global.

gcc-cross-canadian_4.5.0: fix configure issue

Thanks to Saul Wold for providing poky gcc patches rebased to the 4.5.0
sources.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-24 01:38:36 +01:00
Nitin A Kamble
722e27e448 libmpc: bring for gcc 4.5.0
Import the recipe from OE
Upgrade from 0.8.1 to 0.8.2, and it solved the build failure
Cleaned up the libmpc-native recipe for poky tree
Add nativesdk target for gcc-cross-canadian_4.5.0

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-24 01:38:36 +01:00
Mark Hatle
4f19548bfb prelink: Add prelink-native
Add the new cross prelink support as the prelink-native integration.

Set the prelinker to use the prelink-cross.git repository as the upstream.

Note: libiberty.a is required on the host at this time

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-07-24 01:23:53 +01:00
Mark Hatle
5e3da1b94e elfutils: add elfutils native
Add elfutils native, also change the binaries being installed to be
prefixed with 'eu-' to avoid conflict with binutils

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-07-24 01:23:53 +01:00
Richard Purdie
33ee4079a2 binutils: Add native version and tweak
Enable use of BBCLASSEXTEND to generate a native verison of binutils for the
libiberty, libbfd and libopcodes libs.

Also stop installing useless libs in the cross-canadian recipe.

Partially based on a patch by Mark Hatle <mhatle@windriver.com>.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-24 01:07:54 +01:00
Richard Purdie
8b3f94e27d binutils: Set DEPENDS correctly and remove unneeded PACKAGES setting
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-24 00:57:29 +01:00
Richard Purdie
7069fb8542 binutils: Drop FILESPATHPKG, its no longer needed
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-24 00:53:15 +01:00
Mark Hatle
62540b2a15 meta/conf/bitbake.conf: Configure pseudo to not expand symlinks
When using the fake chroot ability of pseudo, it will expand absolute
symlinks to their full non-fake path by default.  The simple change disables
that behavior, as it is undesired when generating a rootfs.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-07-24 00:50:10 +01:00
Mark Hatle
d668b80e86 meta/classes/rootfs_rpm.bbclass: re implement base on rpm5
Re implement the rootfs generation using rpm5.  This also gets rid of the
need for yum, and handles all dep resolving internal to the script itself.

The new file scripts/rootfs_rpm-extract-postinst.awk comes from the original
yum integration work.  It has been unchanged, but since yum is no longer used
we needed to move the script somewhere else.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-07-24 00:46:57 +01:00
Joshua Lock
8760cde94a rpm: switch to using RPM 5
Switch to RPM5 as our rpm provider of choice and update the recipe to the latest
stable release.

Signed-off-by: Joshua Lock <josh@linux.intel.com>

Modify the package_rpm.bbclass to understand the macro and command line changes
present in rpm5.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-07-24 00:46:57 +01:00
Joshua Lock
60fa21d157 beecrypt: upgrade to version 4.1.2
Add new patches to fix visiblity of C++ methods and to disable running a
program to detect the ICU version.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-24 00:46:57 +01:00
Joshua Lock
9fcba301fe libpcre: move from meta-moblin to meta and update to 8.10
Move the libpcre from meta-moblin, update to the latest release and enable
native build.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-24 00:46:57 +01:00
Joshua Lock
a4fb2c9666 pseudo: Enhancements
Enable changing the data directory on the fly from the environment and then use
this feature within poky to confine pseudo usage to each WORKDIR.

This fixes issues that could be seen under heavy inode reusage e.g.
with rm_work.

Work based mainly off a patch from Joshua Lock but finished by Richard
Purdie.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-24 00:39:58 +01:00
Saul Wold
7de5081857 task-poky-basic: Enable at and tar for basic image
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-07-24 00:07:34 +01:00
Scott Garman
ac5a021032 tar: New recipe additions 1.17 and 1.23
* tar 1.23 is GPLv3
* tar 1.17 is latest GPLv2

Recipes and patches dervied from OpenEmbedded and Debian

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-07-24 00:07:31 +01:00
Scott Garman
80986444aa at: New recipe additions 3.1.10.2 and 3.1.12
* at 3.1.12 is GPLv3
* at 3.1.10.2 is latest GPLv2

Recipes and patches derived from OpenEmbedded

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-07-24 00:07:31 +01:00
Zhai Edwin
d6ba72ac34 pcmanfm: Update to 0.9.7
New dependency on libfm & menu-cache, which are added in previous commits

following patches are removed as they either don't apply or this new version
has no those problems:
	desktop.patch
	no-fam.patch
	no-warnings.patch
	pcmanfm-mips-fix.patch

the pending one is aowl-window-menu.patch, which need more work as the sources
have changed a lot. So far w/o this patch it still works. but we need more
verification later

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-24 00:07:31 +01:00
Qing He
cbea4ae33f udev: upgrade to version 158
older versions are kept untouched for now

changes:
  - udev has diverged a lot, the udev.inc was based on a quite dated
    version, thus doesn't reflect current status of udev, create a
    new include file udev-new.inc to adapt
  - separate libudev{,-dev,-dbg} apart from udev
  - --with-udev-prefix is removed. change ${libexecdir} to
    ${base_libdir}/udev, which is described in INSTALL file.
  - udev.pc is provided in ${datadir}/pkgconfig, since it's used
    to indicate the existence of udev itself instead of development
    headers and libs, pack it in udev instead of udev-dev
  - udev-extras is disabled since we are missing libacl, this also
    means gudev is missing as for now
  - other cleanups, e.g. do_stage, do_install, EXTRA_OEMAKE

todo:
  - udev-extras
  - remove old udev versions
  - rebase udev-145 on udev-new.inc as well

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-24 00:07:30 +01:00
Zhai Edwin
3a1c456172 webkit-gtk: Update to 1.3.2
* Update the following files with 1.3.2 version in upstream:
    GNUmakefile.am
    Makefile
    Makefile.shared
    autogen.sh
    configure.ac

* Update the .bb with the one in openembeded(91eefa1e)

* inherit pkgconfig and remove dolt stuff according to RP's comments

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-24 00:07:19 +01:00
Scott Garman
b0b3468b95 tar: New recipe additions 1.17 and 1.23
* tar 1.23 is GPLv3
* tar 1.17 is latest GPLv2

Recipes and patches dervied from OpenEmbedded and Debian

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-07-24 00:01:28 +01:00
Scott Garman
0d333290a5 at: New recipe additions 3.1.10.2 and 3.1.12
* at 3.1.12 is GPLv3
* at 3.1.10.2 is latest GPLv2

Recipes and patches derived from OpenEmbedded

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-07-24 00:01:28 +01:00
Saul Wold
6da4a6688c meta-lsb: Add basic infrastructure to create lsb image
Move tar and at to meta-lsb

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-07-24 00:01:28 +01:00
Scott Garman
18b33a2ce5 distro tracking: Additional core command packages
New file for tracking the following new packages:

* at
* cpio
* cronie
* crontabs
* grep
* mailx
* openssh
* tar

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-07-24 00:01:27 +01:00
Dongxiao Xu
36186e8dd6 distro_tracking: fix tracking field for db
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-24 00:01:27 +01:00
Kevin Tian
0ff62b0462 expat: use gzip-native for unpack
expat 2.0.1 archive is generated with DOS format, which causes CRC
error for some version of gzip (<1.4), e.g. on Unbuntu 10.04. This
commit adds do_unpack dependency to gzip-native, and thus to use
local compiled binary to address this issue. Since 1.4 is a known
version solving this issue, also specify a default version for
gzip-native

also move most lines into expat.inc as cleanup

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-24 00:01:23 +01:00
Kevin Tian
f23b594087 gzip: new package
borrow from OE gzip 1.3.13 after some cleanups:
  - no ${S} redefinition
  - configure.patch is not required

also add native support

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-24 00:01:11 +01:00
Yu Ke
d91b4f5c36 opengl: audit the bb file
- repleace SRCREV with SRCPV in PV definition
- Fix the "patch=1" style

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-23 23:53:31 +01:00
Qing He
d007137a04 distro-track: update hal, udev et al
libusb, libusb1, libusb-compat
  remove libusb, upgrade libusb1 and libusb-compat. libusb-compat
  now provides libusb

util-linux
  update the latest version to 2.17.2

hal
hal-info
udev
dhcp

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-23 23:53:31 +01:00
Qing He
95bb97aeb6 dhcp: upgrade to 4.1.1-P1
from version 4.1.0

changes:
  original .bb file is based on dhcp3, whose build system differs from
  dhcp 4.x, add a new dhcp4.inc and preserve dhcp3.inc for reference,
  this should fix the conf file location bug of dhclient/dhcpd 4.1.0

  - defining _PATH_DHC{LIENT,PD}_CONF in make parameter no longer works,
    put these definition to includes/site.h
  - delete upstream version of conf files, which are not used, and
    with an installation path hardcoded to ${sysconfdir}
  - similar thing happen for leases file, use new configure option to
    specify
  - RANLIB, LIBDIR, etc. as make parameter are no longer necessary

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-23 23:53:30 +01:00
Qing He
00a42b73b6 util-linux: upgrade to version 2.17.2
from 2.17

changes:
  - clarify license. the package does contains a standalone utility
    called lscpu that is under GPLv3+, fortunately it's note packaged
    as for now
  - the installation path of getopt has changed

todo:
  - move libblkid and libuuid into separate packages

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-23 23:53:30 +01:00
Qing He
ec6705a488 hal-info: upgrade to version 20091130
from 20090414

changes:
  - consolidate hal-info.inc and hal-info_git.bb, git version is used
    as a reference and is not preferred
  - preferred version updated to 20091130

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-23 23:53:30 +01:00
Qing He
8bad275174 hal: upgrade to version 0.5.14
from 0.5.13

changes:
  - udev rules dir has been changing to /lib/udev/rules.d in udev
    upstream, add an override to stay in /etc/rules.d for compatibility
  - consolidate hal.inc and hal_git.bb, hal_git.bb is used as a
    reference thus should have a negative preference
  - change preferred version of hal to 0.5.14
  - remove hal_0.5.11+0.5.12rc1
  - remove RRECOMMENDS on udev-utils, the package is to be removed

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-23 23:53:30 +01:00
Qing He
63d5652355 libusb-compat: upgrade to version 0.1.3
from 0.0.9, also remove libusb recipe (see below)

changes:
  - remove some unnecessary logics derived from libusb-0.1
  - now PROVIDES libusb
  - bluez4 depends on libusb instead of libusb-compat

libusb-0.1 vs. libusb-compat

libusb-compat is intended to be a drop-in replacement of libusb-0.1,
building on top of libusb-1.0 (which has different API from -0.1).

Few known packages don't work with libusb-compat, notable example
is libmtp. Since most packages work very well with libusb-compat,
and libusb-compat doesn't suffer from power consumption issue of
libusb-0.1 (which is often very important for embedded systems),
drop libusb-0.1 and move to libusb-compat completely. If we see
any problems in the future, either the package should be fixed
or we can add back libusb-0.1 as needed.

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-23 23:53:29 +01:00
Qing He
74388f763a libusb1: upgrade to version 1.0.8
from 0.9.2

changes:
  - the previous recipe was derived from libusb-0.1 and thus had many
    inconsistencies, e.g. binconfig and lib_packages are not necessary,
    libusb1 doesn't provide libusb++, etc. Remove these legacies
  - remove the patch 0.9.0-gcc3.4-compat-fix

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-23 23:53:29 +01:00
Zhai Edwin
6b1dae9a03 distro tracking: Updated version info for oh-puzzles, dates, contacts...
Also add tracking fileds for menu-cache and libfm after adding them

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-23 23:53:29 +01:00
Zhai Edwin
623017e9bb libfm: Add 0.1.12 as new recipe
Required when updating pcmanfm to 0.9.7

[with cleanup from Richard Purdie]

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 23:42:04 +01:00
Zhai Edwin
e1a6b7394f menu-cache: add 0.3.2 as new recipe
required when adding libfm

[with cleanup from Richard Purdie]

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 23:41:45 +01:00
Richard Purdie
cf3f5debc0 startup-notification: Drop unneeded do_configure_prepend
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 23:24:50 +01:00
Dexuan Cui
e7dc96abd5 distro tracking: add xcb-util and startup-notification, fix xorg-minimal-fonts
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-23 23:19:53 +01:00
Dexuan Cui
4129415ef7 startup-notification: upgrade to the latest version 0.10
updated DESCRIPTION, BUGTRACKER, LIC_FILES_CHKSUM;
updated the comment (sn-utils.c -> sn-util.c);
reset PR to "r0";
updated DEPENDS: added xcb-util.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-23 23:19:53 +01:00
Dexuan Cui
e4f98097bc xcb-util: add the latest version 0.3.6
startup-notification_0.10 depends on xcb-util, so I add this package.

xcb-util.inc and xcb-util_0.3.6.bb are based on recipes from OpenEmbedded;
The changes I made are: updating HOMEPAGE,BUGTRACKER,LICENSE and
LIC_FILES_CHKSUM, and changing "include xcb-util.inc" to
"require xcb-util.inc", and using the latest version 0.3.6.

add gperf dependency and remove do_staging

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-23 23:19:53 +01:00
Richard Purdie
39d8556e04 gst-meta-base: Fix vorbis plugin reference
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 23:16:20 +01:00
Richard Purdie
a167678d14 gaku: Fix plugin name
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 22:59:54 +01:00
Richard Purdie
c0a63c58cd gst-plugins: Fix module splitting
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 22:52:32 +01:00
Richard Purdie
95454d710d linux-wrs: Bump PR and fix some quoting
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 22:32:49 +01:00
Richard Purdie
4c373043e4 webkit: Bump PR
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 22:28:47 +01:00
Richard Purdie
066535608e binutils: Disable libbfd and remove unneeded copies of tools in dangerous paths. gcc now has symlinks to handle this
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 18:06:15 +01:00
Richard Purdie
28f8e3034c binutils.inc: This bug has since been fixed, drop the hack
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 18:05:33 +01:00
Richard Purdie
66d7b58f22 bitbake.conf/cross.bbclass: Inject MULTIMACH_TARGET_SYS into the toolchain paths to prevent multimachine cross contamination
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 18:04:59 +01:00
Richard Purdie
bf8023237c gcc-package-cross.inc: Setup symlinks in the libexec directory to our cross tools so the toolchain finds them correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 18:03:54 +01:00
Richard Purdie
ab82312433 gcc-cross-intermediate.inc: Make sure libgcc goes into the target sysroot
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 18:03:09 +01:00
Richard Purdie
23f94ad59d gcc-cross-initial/intermediate: Drop now unneeded symlink hacks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 18:02:14 +01:00
Richard Purdie
989d2f794f gcc-cross: Use MULTIMACH_TARGET_SYS instead of TARGET_SYS in staging path
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 17:58:00 +01:00
Richard Purdie
3f5d3d7b99 gcc-configure-common.inc: Disable multilib for now
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-23 17:58:00 +01:00
Joshua Lock
b98e3e9c3f poky-env-internal: re-add OEROOT to the whitelisted environment variables
We don't want Bitbake to clean OEROOT from the environment as users may have
old layer configurations which require it set.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-23 12:50:25 +01:00
Richard Purdie
fbf2022c9a sanity.conf: Update layer version after the last commit
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 23:56:36 +01:00
Richard Purdie
2efba78f9b Add meta-emenlow to the default layers list
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 23:28:24 +01:00
Richard Purdie
f887d02527 bitbake.conf: Increase the image generation free space
The current free space doesn't leave much room for using the image,
increase it. Patch from Saul Wold with tweaks.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 23:22:33 +01:00
Richard Purdie
dbc8892b09 latencytop: Move from meta-moblin to meta
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 23:19:30 +01:00
Jeff Dike
833390e533 libdrm-poulsbo: Provide libdrm-poulsbo instead of libdrm
In order to allow this package to be build alongside the regular
libdrm, it was made to export libdrm-poulsbo and its users make to use
libdrm-poulsbo instead of libdrm. libva and xserver-psb were make to
build against libdrm-poulsbo. While I was in there, I changed a couple
of misspellings of COMPATIBLE and removed a bunch of ';patch=1'.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-07-22 23:18:26 +01:00
Richard Purdie
b18f1216b0 package_deb.bbclass: Make sure the controldir is always cleaned out
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 18:26:54 +01:00
Nitin A Kamble
7459068915 scripts/poky-env-internal: preserve the git proxy env var
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-22 17:11:54 +01:00
Joshua Lock
0d18597ae7 rootfs_ipk: error when dependencies cannot be satisfied
Per bpo#109 dependency failure during rootfs generation did not cause an error
despite that it would cause errors later on in the process. This patch updates
the key phrases searched for in the log checking function.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-22 17:04:39 +01:00
Richard Purdie
c017d0eeb9 eds-dbus: Add missing DEPENDS on gperf-native
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 16:15:43 +01:00
Kevin Tian
b4cc2b7829 pkgconfig_staging.bbclass: remove it
this is one existing for stale reason when package's own Makefile doesn't
handle .pc correctly. After previous commits to remove unnecessary inheritage
on it (sqlite3, libpng), the only remaining is libgcrypt. Libgcrypt itself
doesn't ship a .pc and poky generates one. In this case, simply move the
manual installation to its own do_install.

Then it's safe to remove this class file

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-22 15:57:31 +01:00
Dexuan Cui
1808105808 distro tracking: fix font-alias
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-22 15:57:31 +01:00
Dexuan Cui
b7be3bab5b font-alias: fix metadata
Pull a upstream commit to fix COPYING.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-22 15:57:31 +01:00
Yu Ke
5eb1eece2f distro tracking data: fix gconf-dbus, vte, xserver-nodm-init, qemugl, spectrum-fw
per the checking result of distro tracking tool

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-22 15:57:31 +01:00
Dongxiao Xu
671f05a07f distro_tracking: Fix tracking fields for networkmanager, networkmanager-applet, and glibc
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-22 15:57:31 +01:00
Zhai Edwin
23707b04a4 distro tracking: Updated version info for oh-puzzles, dates, contacts...
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-22 15:57:31 +01:00
Kevin Tian
33911454d2 distro-tracking: fix two typos
below 2 are actually upgraded to latest version:
  psplash, icu

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-22 15:57:31 +01:00
Joshua Lock
408f124c86 handbook: update SDK paths
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-22 15:47:41 +01:00
Joshua Lock
410fc8dde8 meta-toolchain: set appropriate compiler flags in the environment script
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-22 15:47:01 +01:00
Richard Purdie
c9602c5feb emenlow: Set COMPATIBLE_MACHINE where needed
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 15:26:48 +01:00
Richard Purdie
e35762d971 xpsb-glx: Add missing dependency on makedepend-native
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 15:26:03 +01:00
Richard Purdie
90ac746dcd xserver-xf86-config: Fix emenlow append to coexist with existing users
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 15:24:43 +01:00
Richard Purdie
dc54b7787f meta-emenlow/formfactor: Make sure the files work well with the existing recipe files
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 15:21:33 +01:00
Richard Purdie
83cc54944e poky-env-internal: Print some further information for the user
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 13:21:13 +01:00
Richard Purdie
9832fd3e22 poky-env-internal: Cleanup after the recent layer improvements
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 13:19:24 +01:00
Richard Purdie
c2f71a86f5 poky-env-internal/runqemu: Move BUILD_SYS handling which is runqemu specific into runqemu
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 13:14:24 +01:00
Richard Purdie
2b84008bc9 moblin.conf: Collapse to an overlay of poky.conf
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 12:29:24 +01:00
Richard Purdie
7af8cb9d02 poky.conf: gcc 2.95 died a long time ago, thankfully
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 12:28:52 +01:00
Richard Purdie
6d3a5ac679 meta/layer.conf: Fix PATH to use POKYBASE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 12:24:56 +01:00
Richard Purdie
ade4c8a3b2 meta-moblin: Remove now unneeded moblin POKYMODE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 12:20:28 +01:00
Richard Purdie
7219087e6a Move less useful xorg-app and xorg-data to meta-extras
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 12:15:29 +01:00
Richard Purdie
d977cb25e5 meta-extras: Remove obsolete android goldfish code
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 12:13:26 +01:00
Richard Purdie
3073a73214 mc: 4.6.0 -> 4.7.3 with significant recipe cleanups and updates
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 12:10:48 +01:00
Richard Purdie
c9076342fc meta-moblin: Remove old psb driver
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 11:53:01 +01:00
Richard Purdie
897a8b5abc stagemanager: Move functionality into the scripts directory
Since scripts is now in PATH thanks to the layer functionality there is
no longer any need to have this recipe full of special cases, the scripts
can just be placed there.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 11:44:28 +01:00
Richard Purdie
dc807f54f8 Finally deprecate all legacy do_stage functions. This changes the existing warning
into a fatal error if any legacy do_stage functions are found.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 11:44:28 +01:00
Joshua Lock
5c63f8a249 poky-env-internal: unbreak existing build setups
Many users have an existing build confifured using OEROOT, re-enable exporting
of this variable to unbreak their builds.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-22 10:42:47 +01:00
Kevin Tian
d9babfed3c latencytop: add dependency on gtk+ and bump PR
or else latencytop may be built earlier than gtk+...

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-22 09:30:15 +01:00
Kevin Tian
ba8fad4058 opkg-utils: add do_install after NATIVE_INSTALL_WORKS
NATIVE_INSTALL_WORKS implicates an explicit do_install required or else
its binaries are not installed to sysroot, which result in error like:
   sh: opkg-build not found

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-22 09:30:15 +01:00
Richard Purdie
b02be74889 Drop old broken menlow machine (replaced by emenlow)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-22 09:22:15 +01:00
Richard Purdie
c358150799 emenlow: Make sure the provider of virtual/kernel is set
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-21 22:50:24 +01:00
Richard Purdie
595bdde07c opkg-utils: Set NATIVE_INSTALL_WORKS otherwise we'd use legacy staging which is not correct
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-21 22:48:48 +01:00
Richard Purdie
bbdc79881f linux-wrs: Add COMPATIBLE_MACHINE definition to stop parsing errors on unsupported machines
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-21 22:48:16 +01:00
Jeff Dike
e8e3ac9b1e meta-emenlow: Layer for eMenlow-based systems.
This layer provides a kernel suitable for booting on eMenlow-based systems,
plus support for Poulsbo graphics.  The Poulsbo support includes a
kernel patch for the graphics driver, a couple of libraries, the 2D
and 3D X drivers, and a properly configured X server.

The closed portions of this support are in the 3D driver, xpsb-glx.
This package contains the binaries for the libraries that communicate
with the kernel driver and a mesa library which uses those libraries.

There is a README in meta-emenlow/ describing how to enable this layer.

Where possible, the recipes use bitbake's new .bbappend facility in
order to avoid copying recipes from meta/.

There are checksums and license information for all of the new packages.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-07-21 22:39:43 +01:00
Saul Wold
0c3b1aa0a5 scripts/runqemu: Path fixes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-21 21:49:09 +01:00
Kevin Tian
1df4e34d14 distro-tracking: correction for previous recipes
libpng
  module-init-tools
  apmd
  prism-firmware
  initramfs-live-boot

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-21 21:44:47 +01:00
Kevin Tian
d8db718b89 sqlite3: no need to inherit pkgconfig_stage
since its makefile does right steps to install .pc now

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-21 21:44:37 +01:00
Kevin Tian
b376a803ca module-init-tools: upgrade to 3.12
[Patches]
  KEEP    _ignore_arch_directory_: ignore /etc/modprobe.d/arch, not sure reason now.
                                   keep it and to be verified later
  REMOVE  _module-init-tools-remove-index.patch_: in upstream
  NEW     _disable_man.patch_: a simpler patch to replace below removed two
  REMOVE  _manpagesopt_: due to above new patch
  REMOVE  _no_man_rebuild_: ditto
  KEEP    _modutils_extension_: poky has its own name convention and thus need such knowledge
                                in code

[Recipe]
  - adjust indention
  - remove some old lines like ${S} and EXTRA_OECONF

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-21 21:44:37 +01:00
Kevin Tian
8a251accbf libpng: upgrade to 1.2.44
although the latest version is 1.4.3, some API changes happen which are not
compatible to some packages (such as libmatchbox using png_check_sig which
is abandoned in 1.4 version). I didn't check fully about other broken places,
and then be conservative to choose 1.2.44 as the target instead atm.

[Patches]
  REMOVE    _makefile_fix.patch_: a specific fix for libtool2.2.2. with 2.2.10, it's
                                  not required then
[Recipe]
  - add license checksum
  - remove old do_install and do_package
  - clean up package split
  - remove inherit pkgconfig_stage, since its own Makefile handles it well

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-21 21:44:37 +01:00
Kevin Tian
d86e127ea0 libidn: upgrade to 0.6.14(GPLv2), and 1.19 (GPLv3)
libidn changed to GPLv3 since 2007 (its 1.0 release), so this upgrade includes two:

0.6.14 (GPLv2):
  - change SRC_URI as original doesn't work
  - remove original do_configure_prepend, which doesn't make any sense when inheriting
    autotools
  - this version includes a local copy of AC_USE_SYSTEM_EXTENSIONS which conflicts with
    latest autoconf. Actually it's not necessary and remove all references to local version

1.19 (GPLv3):
  - split a new package 'idn' for command line tools, which are licensed under GPLv3.
    keep other bits in libidn licensed under LGPLv2.1

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-21 21:44:37 +01:00
Kevin Tian
856769b001 gperf: upgrade to 3.0.4
[Patches]
  REMOVE    _autoreconf.patch_: no need to duplicate acinclude.m4 in every subdirectory

[Recipe]
  - Keep original 3.0.3 version for GPLv2 requirement. 3.0.4 has bumped to GPLv3+
  - add gperf.inc for common lines
  - instead of duplicating acinclude.m4 in every subdirectory, use " -I ${S}" to
    ensure acinlude.m4 successfully found by m4_include

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-21 21:44:37 +01:00
Kevin Tian
98cdb30558 dbus-glib: add license checksum
it's missing in last upgrade

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-21 21:44:37 +01:00
Kevin Tian
afdebdb0c7 dbus: add license checksum
it's missed in last upgrade.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-21 21:44:37 +01:00
Kevin Tian
75fff51661 apmd: upgrade to 3.2.2-14
[Patches]
  KEEP    _unlinux.patch_: remove reference to build system paths
  DISABLE _libtool.patch_: this patch adds a "--tag=CC" to be compatible with libtool2.2.4.
                           however with latest 2.2.10 libtool, w/o this patch it still works. From
                           the manual, CC is the default tag actually. So disable it for now, and once
                           same error happens again, it'll be re-neabled and if necessary push to upstream
  DISABLE _workaround.patch_: a SIGUSR1 is hooked to signal suspend event as a so-called 'workaround'.
                              however no exact commit is found for exact usage case. So disable it.
  REMOVE  _debian.patch_: in upstream

[Recipe]
  Add license checksum

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-21 21:44:37 +01:00
Richard Purdie
cb249ed2f0 cmake.bbclass: Make sure EXTRA_OECMAKE has a sane default
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-21 21:43:38 +01:00
Jeff Dike
0e0830109c libproxy: Disabled webkit support
This package changed from autoconf to cmake during the last recipe
upgrade.  This made the existing EXTRA_OECONF, which disabled wekbit
support among other things, non-functional, which in turn, broke the
build.

This patch disables webkit in a CMAKE way by adding EXTRA_OECMAKE to
the cmake class description, and setting it to "-DWEBKIT=no" in the
libproxy recipe and also reproduces the EXTRA_OECONF settings.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-07-21 21:23:21 +01:00
Joshua Lock
314fbb1c05 gcc-cross-canadian/meta-toolchain: Fix C++ compiler location and path issues
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-21 20:21:22 +01:00
Yu Ke
1d0d3e4462 distro tracking: gconf-dbus, elfutils, spectrum-fw and sqlite3
update the distro tracking field.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-21 16:01:00 +01:00
Yu Ke
929169be0f sqlite3: upgrade to 3.6.23.1
also remove the cross-compile.patch and ldflags.patch,
since they are no longer used.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-21 16:01:00 +01:00
Yu Ke
12c929683f spectrum-fw.bb: Change SRC_URI to somewhere fetchable.
Borrow code from open embedded spectrum-fw.bb

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-21 16:00:59 +01:00
Yu Ke
f193588428 elfutils: upgrade to version 0.148
reuse the open embedded elfutils_0.143.bb recipe to fix
the cross compiling issue.

Also pick patches from debian elfutils-0.148-1 pkg

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-21 16:00:59 +01:00
Yu Ke
6cb27d8b5b gconf-dbus: upgrade to SVN r705
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-21 16:00:59 +01:00
Dongxiao Xu
9f5e302741 distro_tracking: Add tracking field for db, opkg, and opkg-utils
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-21 16:00:59 +01:00
Dongxiao Xu
cb1a0a46c9 opkg-utils: Upgraded to revision 4747
Update the default revision for opkg-utils in poky-default-revisions.inc
Remove "inherit autotools" since opkg-utils is not autotools based
Fix recipe metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-21 16:00:58 +01:00
Dongxiao Xu
36bc4592f4 opkg: Upgraded to version 0.1.8
Use stable release as default recipe.
Remove logfix.patch since the logic is already in latest version package
Also fix the metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-21 16:00:58 +01:00
Zhai Edwin
21fae7e2ec distro tracking: Update fileds for gnome-vfs, avahi, libassuan, liboil...
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:58 +01:00
Zhai Edwin
7dcb5a2ea6 gpgme: Update to 1.3.0
gpgme 1.3.0 requires gpgconf&g13 from gnupg, otherwise got configure failure.
Adding gnupg need a lot of efforts and still has issue:g13 only exist in
development branch. So add a patch to disable the check error, just like
non-cross-compile environment.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:58 +01:00
Zhai Edwin
3668c10acb libassuan: Update to 2.0.0
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:57 +01:00
Zhai Edwin
4c2bb35fe1 libgpg-error: Update to 1.8
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:57 +01:00
Zhai Edwin
9618d56c29 liboil: Fix the meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:57 +01:00
Zhai Edwin
2601e6d383 avahi: Update to 0.6.27
Add "--disable-gtk3" to fix build error

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:57 +01:00
Zhai Edwin
1763f004bb gnome-vfs: Update to 2.24.3
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:56 +01:00
Dexuan Cui
3deb487daa distro tracking: update distro tracking field for font-alias and liberation-fonts.
font-alias: change the RECIPE_STATUS to green as the license issue is clarified.
liberation-fonts: add "# OK" to indicate we don't update it from 1.04 to 1.05.2.20091019 for now.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-21 16:00:56 +01:00
Dexuan Cui
6b2eec3657 linux: 2.6.33.2: turn on CONFIG_OPROFILE and CONFIG_LATENCYTOP for netbook and qemux86
profile/profileui and latencytop need the kernel supports.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-21 16:00:56 +01:00
Dexuan Cui
31c0972265 distro tracking: add distro tracking field for oprofileui, powertop, latencytop.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-21 16:00:56 +01:00
Dexuan Cui
fcabff2f2f task-poky-tools: add latencytop into RDEPENDS_task-poky-tools-profile
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-21 16:00:56 +01:00
Dexuan Cui
912a5c9c6a latencytop: upgrade from 0.4 to the latest version 0.5
Add BUGTRACKER
Rebase the patch latencytop-makefile.patch and update the patch folder's name
Add LIC_FILES_CHKSUM
Reset PR to "r0"

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-21 16:00:55 +01:00
Dexuan Cui
61d808bf4a powertop: upgrade from 1.10 to the latest version 1.11
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-21 16:00:55 +01:00
Dexuan Cui
e2fa1ec4e9 oprofile: fix metadata
Add HOMEAPGE,BUGTRACKER
Fix LICENSE and add LIC_FILES_CHKSUM
Update PREFERRED_VERSION_oprofile

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-21 16:00:55 +01:00
Dexuan Cui
47a60ccef0 oprofileui: upgrade from r194 to the latest version r197
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-21 16:00:55 +01:00
Dexuan Cui
fb92046d99 task-poky-tools: fix RDEPENDS_task-poky-tools-profile_qemux86
Change
RDEPENDS_task-poky-tools-profile_qemux86 += "valgrind"
to
RDEPENDS_append_task-poky-tools-profile_qemux86 = "valgrind", or else
RDEPENDS_task-poky-tools-profile would be overriden and only holds valgrind,
as a result, the 5 packages oprofile/oprofileui-server/powertop/... aren't
built into the target image at all.

Thanks Kevin a lot for tracking the issue down.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-21 16:00:54 +01:00
Zhai Edwin
ce8cb734a0 Distro tracking: Update the eds-dbus, jpeg, webkit-gtk....
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:54 +01:00
Zhai Edwin
b8b678f010 jpeg: Update to 8b
Original patch status:

ldflags.patch:
paths.patch:
libtool_tweak.patch:
    Dropped as the issues got fixed in 8b

debian.patch:
    This patch comes from debian distro. Original version can't apply, so
    replace it by latest version

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:54 +01:00
Zhai Edwin
37eb35995f eds-dbus: Update to 2.30.2 from git repo
Also backport a patch from upstream(f001953f7d60) to compile imapx provider
optionally, which is the default behavior of current version. Else we get build
error when compiling imapx.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:54 +01:00
Zhai Edwin
2d63185175 web-webkit: Update to 110
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:53 +01:00
Zhai Edwin
dc5bcf7f94 oh-puzzles: Fix the meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-21 16:00:53 +01:00
Dongxiao Xu
521edcf978 distro_tracking: valgrind, formfactor, makedevs, and bluez-dtl1-workaround.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-21 16:00:53 +01:00
Dongxiao Xu
5f3e66d5c2 valgrind_3.5.0.bb: Fix recipe metadata
Fix LICENSE information
Add BUGTRACKER and LIC_FILES_CHKSUM

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-21 16:00:53 +01:00
Dongxiao Xu
c7c3b48486 makedevs_1.0.0.bb: Fix recipe metadata
Fix LICENSE information

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-21 16:00:52 +01:00
Dongxiao Xu
69c907d39e formfactor_0.0.bb: Fix recipe metadata
Add LICENSE information

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-21 16:00:52 +01:00
Mark Hatle
ad0ac0ecd3 pseudo: Uprev to the latest git version
Uprev pseudo to the latest head version to resolve a number of issues
on older hosts such as RHEL 5.  In addition sqlite was changed to link
statically into pseudo to avoid a potential LD_LIBRARY_PATH issue.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-07-21 15:43:15 +01:00
Joshua Lock
971907567c Enable build dir outside of the poky directory
You need to first set up the build directory by sourcing the poky build script,
after that builds can be run in that directory so long as bitbake is in $PATH
removing the need to source the init script for each build.

i.e:
$ . poky-init-build-env ~/my-build
$ bitbake some-image
<<later, in a different shell>>
$ cd ~/my-build
$ export PATH=/path/to/bitbake/bin:$PATH
$ bitbake an-image

This patch also removes use of OEROOT in recipes, etc.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-21 15:39:53 +01:00
Joshua Lock
50629b3746 bitbake.conf: move PSTAGE_DIR and DL_DIR with build output
Having PSTAGE_DIR be a top level directory by default doesn't make sense, move
it to be a child of the build directory so that it lives with all other built
output. Also move DL_DIR to a child of the build directory for the use case of
an unwriteable $OEROOT.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-21 15:39:52 +01:00
Bruce Ashfield
df563f0d28 linux_wrs: update SRCREVs for 2.6.34.1 2010-07-21 15:24:54 +01:00
Bruce Ashfield
f5495cf973 linux_wrs: remove duplicate PV
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-21 15:24:54 +01:00
Richard Purdie
4dc54a274d layer.conf: Set BBPATH correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-20 14:20:04 +01:00
Bruce Ashfield
d39ae18df2 qemu/mips: arrange for vmlinux to be bootable
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-19 11:59:51 -04:00
Bruce Ashfield
ae6c323a0b qemu: update kernel mapping to return x86 for i586 TARGET_ARCH
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-19 11:59:51 -04:00
Bruce Ashfield
9ee1fbb720 qemu machines: Switch to use linux-wrs
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-19 11:59:51 -04:00
Bruce Ashfield
f0af0ba94a kernel: create base recipe for Wind River Linux kernel building
This base recipe implements support for building a git based
Wind River Linux kernel repository.

There are several restrictions in this first import:

  - no patching (needs guilt)
  - missing Wind River features (config audit, etc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-19 11:59:51 -04:00
Bruce Ashfield
15624d13d0 kern_tools: wrs kernel manipulation tools
These tools are largely unused at the moment, but represent
a baseline set of functionality for working with a Wind River
Linux kernel.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-19 11:59:38 -04:00
Bruce Ashfield
3e86c5e644 linux-libc-headers: create a libc-headers based on Wind River kernel
Put PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers-wrs"
in your configuration, and this package will be used to generate a
set of kernel headers from the -standard branch of the Wind River kernel.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-19 11:03:13 -04:00
Yu Ke
68974e8e9f vte: upgrade to 0.24.3 to fix security vulnerability
The detail of the security vulnerablility is in
http://secunia.com/advisories/40635

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-19 12:29:02 +01:00
Nitin A Kamble
6915c7e8be cpan-base.bbclass: fix perl version finding function
Now perl version is in two digits like 12 in 5.12.1. Fix the old
function to work with multi digit version strings.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:38:12 +01:00
Qing He
a30162bac9 distro-track: update fields for base section
new upgrades:
  genext2fs
  pcmciautils
  pkgconfig
  shared-mime-info

add missing:
  util-linux
  libusb1

misc:
  latest version typo in libusb
  add # OK flag to openssl
  clarify tinylogin

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-16 16:25:17 +01:00
Qing He
549a171917 rsync: upgrade to version 3.0.7
from 2.6.9
2.6.9 is also preserved as the last known GPL2 version

changes:
  - 3.0.7 has some new change to the autotools scripts, it uses
    and configure.sh and checks its existence in Makefile, adapt
    this by adding do_configure_{prepend,append}
  - aclocal.m4 now also contains custom m4 macros, add acinclude.m4
    in the files/
  - add popt as build dependency. Besides, rsync can also link to
    libacl and libattr. Possibly need to add them in the future, for
    now, document the dependency

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-16 16:25:17 +01:00
Qing He
dd05d05044 pcmciautils: upgrade to version 017
from 014

changes:
  - put LEX=flex into EXTRA_OEMAKE, from openembedded project
  - add RDEPENDS only to ${PN}, from openembedded project
  - remove modalias_update patch, it's in upstream
  - rebase the other two patches
  - starting from 017 (or maybe 016), two helper binaries are put
    into /usr/lib/udev instead of /sbin, adapt this change by adding
    the new path into package

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-16 16:25:17 +01:00
Qing He
e17f8f7e40 shared-mime-info: upgrade to version 0.71
Signed-off-by: Qing He <qing.he@intel.com>
2010-07-16 16:25:17 +01:00
Qing He
46039a37ab pkgconfig: upgrade to version 0.25
from 0.23

changes:
  - remove sysrootfix patch, it's now in upstream
  - use external popt instead of the included one

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-16 16:25:17 +01:00
Qing He
231f58590e genext2fs: upgrade to version 1.4.1
from version 1.3

changes:
  - autotools adaption
  - remove the patches since their base 1.3 diverges considerably
    from the latest version

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-16 16:25:17 +01:00
Yu Ke
aff51932d1 distro tracking field: fix xserver-xf86-config version
the trailing comments is not compatible with tracking tool,
so remove it

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-16 16:25:17 +01:00
Yu Ke
b3e901c78c xserver-nodm-init: fix distro tracking data
the trainling comment is not compatible with tracking tool,
so remove it.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-16 16:25:17 +01:00
Yu Ke
5e53061c13 xf86-input-vmmouse: upgrade to 12.6.9
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-16 16:25:17 +01:00
Yu Ke
8078a305aa distro tracking: add distro tracking field for qemugl, vte and web-webkit
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-16 16:25:17 +01:00
Dongxiao Xu
84efdfb16a distro_tracking: Add/change tracking fields for glibc, tremor, libproxy
Add "# OK" to indicate the recipe is not upgraded to the latest version

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-16 16:25:17 +01:00
Dongxiao Xu
e4f0d88caf wpa-supplicant: Upgraded to version 0.7.2
Removed local patches since the changes have accpeted in latest version
Rename wpa-supplicant-0.5.inc to wpa-supplicant-0.7.inc
Modify ${S} since the new code structure is changed
Also fixed recipe metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-16 16:25:17 +01:00
Dongxiao Xu
397793a0a4 libproxy: Upgraded to version 0.4.2
Remove the patch since build tool has changed from autotool to cmake
Export poky variable to system environment since cmake needs it
Also fix the metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-16 16:25:17 +01:00
Dongxiao Xu
d47fc7a107 cmake-native: Upgraded to version 2.8.2
Also fix the metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-16 16:25:17 +01:00
Dexuan Cui
a6ba63c70e Distro Tracking: update distro tracking field for recipes of Graphics libs
libxsettings-client: the latest version should be "0.10" rather than "0.1";
font-util: the license has been updated;
xorg-minimal-fonts: the license has been updated;
randrproto: fix the latest version: it should be "1.3.1" rather than "0.11";
libxfont: the package has been upgraded from "1.4.1" to "1.4.2" recently;
libxcalibrate: fix the git version's format.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-16 16:25:17 +01:00
Dexuan Cui
0ba8e6f951 xorg-minimal-fonts: fix metadata
There is no explicit license info in the local directory.

I used "fontforge" to open the fontdata file (.pcf.gz file) in the
xorg-minimal-fonts/misc/ and found fontforge's menu
"Element->Other Info->BDF info" says the "COPYRIGHT" is
"Public domain font. Share and enjoy. Actually
"cat *.pcf.gz | gunzip | strings | grep 'Public domain'" also shows
the same string.
So I think the license of xorg-minimal-fonts should be Public Domain.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-16 16:25:17 +01:00
Nitin A Kamble
2df46a3609 distro_tracking: note devel upgrades so far
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
648d76bda3 mpfr: upgrade from 2.3.1 to 3.0.0
Change SECTION to devel

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
41e668e781 gmp: upgrade from 4.2.4 to 5.0.1
Change SECTION to devel
Rebased the configure patch to the newer code.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
227fd49276 distro_tracking: add gmp & mpfr packages in the devel tracking file
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
4661367660 python-pygobject: upgrade from 2.16.0 to 2.21.1
python-pygobject-native: upgrade from 2.16.0 to 2.21.1

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
77dff5267b python-pygtk: upgrade from 2.10.4 to 2.17.0
Rebased this patch to the newer code
	nodocs.patch

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
1d1a559aa1 python-scons: upgrade from 0.97 to 1.3.0
python-scons-native: upgrade from 0.97 to 1.3.0

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
1564ef9c7a python-pyrex: upgrade from 0.9.8.5 to 0.9.9
python-pyrex-native: upgrade from 0.9.8.5 to 0.9.9

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
692065dc7d python-iniparse: upgrade from 0.2.3 to 0.3.2
python-iniparse-native: upgrade from 0.2.3 to 0.3.2

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
9710898615 python-imaging: upgrade from 1.1.6 to 1.1.7
Rebased the path.patch to the newer code

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
97e7eed13a python-dbus: upgrade from 0.83.0 to 0.83.1
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Nitin A Kamble
f828c0f290 yum-metadata-parser : upgrade from 1.1.2 to 1.1.4
yum-metadata-parser-native : upgrade from 1.1.2 to 1.1.4

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-16 16:25:16 +01:00
Joshua Lock
29d5edffb0 Use pseudo rather than fakeroot for fake root privileges
Make use of the ability to configure the fake root provider and use Wind
River's pseudo utility.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-16 15:40:32 +01:00
Joshua Lock
1b6535dc2e pseudo: various enhancements to integrate with Poky
Pseudo defaults to storing state files in ${prefix}/var/pseudo, we want them in
$(localstatedir) so a quick hack (path-munge.patch) makes pseudo use a data
directory specified with --data, and defaults to pseudo's way if it's not set.

Touching LD_LIBRARY_PATH can confuse the system into running Python against a
staging python library. When these two are sufficiently diverse in version
significant breakage can occur.

HOMEPAGE and LIC_FILES_CHKSUM are handy metadata variables to have defined.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-16 15:40:32 +01:00
Joshua Lock
f23aa92f08 staging: fix staging of empty directories and add localstatedir
If a program creates an empty directory during its build it's probably for a
good reason, so if it exists it seems sensible to stage it.
Some programs require localstatedir to operate so we should be sure to stage
it.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-16 15:31:04 +01:00
Richard Purdie
63e6ba8567 bitbake: Add support for .bbappend files (see mailing lists for detais)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 15:10:40 +01:00
Bernhard Reutner-Fischer
c4fde248b1 *: use print() as a function
to make python3 happy

(Bitbake rev: c82926ccdd4ec4e3ad6e78a381dacb96adf9b409)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 15:10:40 +01:00
Richard Purdie
2fc283c52d gst-meta-base: Update ivorbis plugin name
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 14:01:15 +01:00
Richard Purdie
5e34400d57 gaku: Fix ivorbis plugin name
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 13:35:00 +01:00
Richard Purdie
6598f98ba8 bitbake: runqueue: Allow passing of success/failure handlers to runqueue_process_waitpid()
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 12:31:20 +01:00
Richard Purdie
8c23850453 bitbake: runqueue: Allow taskname to be passed to check_stamp_task()
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 12:31:20 +01:00
Richard Purdie
009343b2a2 bitbake: runqueue: Make child process error scary so user is less likely to ignore
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 12:31:20 +01:00
Richard Purdie
2d263840b0 bitbake: runqueue: Fix number of running tasks accounting (include failed tasks)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 12:31:20 +01:00
Richard Purdie
3cd042f505 bitbake: runqueue: Remove unneeded exception catching from fork_off_task()
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 12:31:19 +01:00
Richard Purdie
5c44f9a78d bitbake: runqueue: Separate out task forking code into a new function
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 12:31:19 +01:00
Richard Purdie
8a5b5080a2 bitbake: runqueue: Combine the waitpid result handling code into a function
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 12:31:19 +01:00
Richard Purdie
90db9f3074 bitbake: Remove two layers of unnecessary functions from task execution
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-16 12:31:19 +01:00
Nitin A Kamble
2fa0c30375 libtool: update patches
As per discussion with RP remove dolt patches.
Merge Gary Thomas's patch into trailigslash.patch

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 13:46:06 +01:00
Nitin A Kamble
23363c990c insane.class: print the recipe name in the warning.
Now Warning includes the package name like zlib is printed bellow:

WARNING: zlib: Recipe file does not have license file information
(LIC_FILES_CHKSUM)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-15 13:46:06 +01:00
Jeff Dike
2295705918 sysvinit - Remove sulogin dependency on /usr/lib*/libcrypt.a
The sulogin compile checked for /usr/lib*/libcrypt.a to decide whether
to add -lcrypt to the final compile.  However, the recipe puts LCRYPT
in the environment, so crypt-lib.patch makes the Makefile check for
this before looking at the host /usr/lib.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-07-15 13:44:56 +01:00
Jiajun Xu
fd1d661b39 test: add automation framework and sanitytest
Automation test is disabled by default. User need set TESTCLASS
to qemu in conf/local.conf and run bitbake command "bitbake
poky-image-xxx" or "bitbake poky-image-xxx -c qemuimagetest" to
trigger it. Currently only the sanity test with two testcases are
added.

To run the test, user need prepare a testing environment:
1) "expect" should be installed on system
2) NOPASSWD should be set for user to run bitbake

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-07-15 12:48:25 +01:00
Richard Purdie
bd19169a60 poky-qemu-internal: Use 128MB memory for qemumips/qemuppc
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 12:29:35 +01:00
Bruce Ashfield
21949128eb qemu-scripts: Add support for mips and powerpc machines, update qemuarm
For mips, the malta platform emulates a cirrus chipset. With the udpated
2.6.34 kernel options, we can now enable framebuffer boot for
the qemumips platform.

We need to pass a valid cpu (603e) and do a -nographic boot to
make it all the way to a prompt so graphics is disabled for now
for ppc.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-15 11:19:10 +01:00
Bruce Ashfield
88dd324d41 qemu-native/powerpc: add qemu 0.12.4 powerpc support
In order to force 0.12.4 to allow a powerpc system boot, we need
a patch to qemu, and a new powerpc (not ppc) ROM.

This configuration supports non-graphical booting only, since the
ROM does not have support to pass a graphics device via the
device tree yet.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-15 11:19:01 +01:00
Richard Purdie
868617258a binutils: Drop old versions
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 11:17:11 +01:00
Kevin Tian
0f19ae1b00 binutils-cross: fix '-fPIE' on mips platform
Current binutils generates problematic relocation table for executable
compiled with '-fPIE', such as dbus-daemon. That way ld.so.1 falls into
segmentation fault when accessing bad reloc entry. This pulls back one
fix from binutils CVS repo (1.267) to add PIE support back.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 10:22:09 +01:00
Richard Purdie
baf69e6a92 binutils/gcc-crosssdk: Fix hardcoded path layout assumptions for cross toolchains
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 10:19:12 +01:00
Richard Purdie
c50e585588 gcc-cross-canadian: Don't build target libs as we don't use them
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 10:18:02 +01:00
Richard Purdie
ab4ee45ba4 cross-canadian: Fix sysroot path
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 10:16:57 +01:00
Richard Purdie
cc86905780 bitbake.conf: Add base_libdir_nativesdk
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 10:14:49 +01:00
Richard Purdie
3b154ffbb6 crosssdk.bbclass: Ensure target layout variables are set correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-15 10:14:27 +01:00
Joshua Lock
04472ecf9d insane.bbclass: move license check to after configure
Only checking the license at packaging time means we don't check native builds,
so move the check to after do_configure

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-15 09:54:48 +01:00
Richard Purdie
8fe2bb0123 glibc: Ensure libc is built in the correct directory by setting slibdir
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-14 17:40:21 +01:00
Richard Purdie
f9262fabad bitbake.conf: Update sdk build flags after layout changes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-14 17:39:49 +01:00
Richard Purdie
f60aa088b3 Revert "file: upgrade to version 5.04"
This reverts commit 21d586b47c as it breaks rpm-native.
2010-07-14 17:38:34 +01:00
Richard Purdie
abf39a181a sanity.bbclass: Fix SDKMACHINE sanity check. We need to check the SDK_ARCH variable, not SDKMACHINE directly.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-14 12:54:44 +01:00
Richard Purdie
3b25e33054 gaku: Fix gst plugins names
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-14 10:03:09 +01:00
Dongxiao Xu
f0ebbd2158 atk: Fix the PREFERRED_VERSION
Since the atk version has been bumped to 2.30.0

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-14 09:55:55 +01:00
Dongxiao Xu
d673ad0299 gdk-pixbuf-csource-native: Fix multiple providers warning
Override PACKAGES_DYNAMIC in gdk-pixbuf-csource-native_2.12.7.bb since
it requires gtk+_${PV}.bb where PACKAGES_DYNAMIC has already been
defined

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-14 09:55:55 +01:00
Dongxiao Xu
e1ed3900fa gst-plugins: fix multiple providers warning
Rename all the sub-plugin to eliminate the inclusion by all plugins set
This can fix the multple providers warning

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-14 09:55:55 +01:00
Scott Garman
e388cb142a gcc: Add patch to fix sparseset.o rule
Fix a missing config.h dependency when building sparseset.o to prevent
"conflicting types for 'strsignal'" error, which can intermittently crop
up for high values of make -j.

Thanks to Richard Purdie and Jeff Dike for their help in tracking this
down.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-14 09:52:12 +01:00
Richard Purdie
9522930256 gst-plugins-bad: Disable apexsink since we don't have openssl in DEPENDS causing build failures
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-14 09:48:53 +01:00
Richard Purdie
2592f1c215 psplash: Update to svn revision 424
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-13 15:22:55 +01:00
Kevin Tian
8994ce33d8 distro-fixed.inc: create as last means for package version check
Some packages are not feasible for automatic version check. This commit
adds a weak list of version information for those packages before they
are carefully auditted.

Also there're 14 packages out of tracking so far. Add simple information
for them too.

This is the last one to be assorted, so use weak assignment "?="

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-07-13 15:21:45 +01:00
Kevin Tian
bdcecea903 distro-tracking: use correct override format
fix typos where *_pn- should be used instead of *_pn+

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-13 15:21:45 +01:00
Kevin Tian
78f2a2c406 python-pygobject: add glib-2.0 dependency
or else glib-2.0 may not be build before building python-pygojbect

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-13 15:21:45 +01:00
Kevin Tian
168bf73c8e distro-tracking: update tracking fields based on current progress
along with recipe upgrade, previous identified issues are solved, and thus
it's time to update status now:

    expat
    dbus
    dbus-glib
    busybox
    prism-firmware
    base-files
    base-passwd
    module-init-tools

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-13 15:21:45 +01:00
Kevin Tian
41acb50c3b dbud-glib: upgrade to 0.86
[dbus-glib-Ptches]
  REMOVE    _run-with-tmp-session-bus.patch_: test is not built by default
  DISABLE   _fix_asneeded.patch_: not sure why we need change expat link order. Disable it
                                  but keep for a while
  KEEP      _no-examples.patch_: don't build examples

[dbus-glib-recipe]
  - remove native and old recipes
  - remove tweak on dbus-glib-bindings.h, since it will be generated correctly after passing
    correct config options linking to native dbus-binding-tool and dbus-bus-introspect.xml
  - remove preferred versions in poky-fixed-revisions.inc with similar reason as dbus

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-13 15:21:45 +01:00
Kevin Tian
67eeb71308 dbus: upgrade to 1.2.24
[Patches]
  REMOVE    _cross.patch_: fixed in upstream
  KEEP      _tmpdir.patch_: disable tmpdir test in build system
  UPDATE    _fix-install-daemon.patch_: use automake for binary install instead of manual
                                        tweaks. extend it to cover dbus-daemon-launch-helper

[Recipe]
  - remove native recipes and old versions
  - install to STAGING_DATADIR_NATIVE directly
  - remove manual tweak on dbus-daemon-launch-helper install
  - remove stale config options
  - adjust indention
  - enable dbus in runlevel 3 since networkmanager has requirement at that level
  - remove preferred versions in poky-fixed-revisions.inc. Based on discussion with Josh,
    the preferred version is there just because dbus is not carefully tested before

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-13 15:21:45 +01:00
Zhai Edwin
85d83ab01b Distro tracking fields: Update some info after package update
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:45 +01:00
Zhai Edwin
be1279fdc8 libgnome-keyring: Fix the dependency to avoid compile error sometimes.
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:44 +01:00
Zhai Edwin
0e7e3ae68a gtk+: Update to 2.20.1
gtk+ previously has 2 versions: 2.14.2(preferred), and 2.18.5(latest). This
upgrade is from 2.18.5 to 2.20.1, so some patch(like entry-cairo.patch) in
2.14.2 is abandoned.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:44 +01:00
Zhai Edwin
b64111f53b libgnome-keyring: Add 2.30.1 into poky
libgnome-keyring's function was built in gnome-keyring(e.g. 2.26.1), and then
separated as an independant lib. So add this new recipe to help the
gnome-keyring update, else package depends on this lib(such as libsoup-2.4)
would have compile error.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:44 +01:00
Zhai Edwin
7a5eeeb58e libxslt: Update to 1.1.26
Also removed the doublefix.patch(removeing duplicated code), as there is no
this issue in 1.1.26

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:44 +01:00
Zhai Edwin
b4a1dc580b libsoup-2.4: Update to 2.31.2
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:44 +01:00
Zhai Edwin
bb2c55765b pcmanfm: Update to 0.5
latest pcmanfm(0.9.7) separate the core functionality to create an independent
library named libfm, which is not in poky repo. To keep it simple, just update
to stable release 0.5. Also updated some of the patches.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:44 +01:00
Zhai Edwin
73914a8190 hicolor-icon-theme: Update to 0.12
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:44 +01:00
Zhai Edwin
c66a05ac05 gnome-keyring: Update to 2.31.4
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:44 +01:00
Zhai Edwin
4cbef85afe matchbox-wm: Update to 1819
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:44 +01:00
Zhai Edwin
de590e0e74 matchbox-stroke: Update to 1820
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:43 +01:00
Zhai Edwin
718510f541 matchbox-keyboard: Update to 2075
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:43 +01:00
Zhai Edwin
7a92d3208c matchbox-panel-2: Update to 2109
Also add a patch to fix the upstream compile error caused by a typo.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:43 +01:00
Zhai Edwin
14e900213c matchbox-config-gtk: Update to 2081
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:43 +01:00
Zhai Edwin
13a8dc5903 gtk-sato-engine: Update to 0.3.2
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:43 +01:00
Zhai Edwin
608909d026 libglade: Update to 2.6.4
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:43 +01:00
Zhai Edwin
92bc5616ee gnome-common: update to 2.28.0
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-13 15:21:43 +01:00
Dexuan Cui
689eecf577 Distro Tracking: add distro tracking field for recipes of Graphics libs
They are:

libx11
libx11-trim

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-13 15:21:43 +01:00
Dexuan Cui
da28607833 libx11-trim: upgrade to the latest version 1.3.4
Updated the SRC_URI;
Added LICENSE and LIC_FILES_CHKSUM;
Reset PR to "r0";
Updated preferred-xorg-versions.inc.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-13 15:21:43 +01:00
Dexuan Cui
fb02061ece libx11: upgrade to the latest version 1.3.4
Rebased the 3 patches x11_disable_makekeys.patch, nodolt.patch and
include_fix.patch; since the patches are also used by other recipes of lower
versions, I created a new directory libx11-1.3.4/ to hold the rebased
patches (the original patches are still kept unchanged);

Updated LICENSE and LIC_FILES_CHKSUM, and reset PR to "r0";

Removed "patch=1" in SRC_URI as by default a patch is applied;

Updated preferred-xorg-versions.inc.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-13 15:21:43 +01:00
Dexuan Cui
40421c1024 librsvg: upgrade to the latest version 2.26.3
The latest stable releases of the package moved
from http://svn.gnome.org/svn/librsvg/ to
http://ftp.gnome.org/pub/GNOME/sources/librsvg/, so I removed the overrided
SRC_URI and use gnome.bbclass's, and I also changed the recipe file's name,
removed the explicit PV and removed the unnecessary S.

Reset PR to "r0".

Add LIC_FILES_CHKSUM info.

Remove SRCREV_pn-librsvg in poky-default-revisions.inc and add
PREFERRED_VERSION_librsvg in  poky-fixed-revisions.inc.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-13 15:21:43 +01:00
Dongxiao Xu
cd890ce6b4 glibc: Upgraded to version 2.10.1
remove tls_i486.patch and glibc-2.9-use-_begin.patch since they have already
been in new version of package

Also fix metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-13 15:21:43 +01:00
Joshua Lock
119b8bf270 epdfview: add epdfview recipe from OE by Manuel Teira
Poky Bugzilla #70 is a patch by Manuel Teira <manuel.teira@telefonica.net> to
add epdfview for sato. This patch updates the recipe to use the latest epdfview
and refreshes the patch for libowl change.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-13 12:39:50 +01:00
Nitin A Kamble
9b7907fae2 libtool family: fix build failure caused by previous libtool commit.
prefix.patch was removed from the target libtool recipe. But still part
of it is needed to build the man pages. So split the patch into two. One
for just fixing the man page building issue.

Also tweaked the install of libtool-nativesdk recipe as per prefix patch
changes.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-09 23:15:53 +01:00
Richard Purdie
4e80041a4f libtool: Only apply prefix.patch to the non-target versions of libtool
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-09 13:19:47 +01:00
Nitin A Kamble
b34271293a python-gst: upgrade from 0.10.8 to 0.10.18
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-08 22:05:20 -07:00
Nitin A Kamble
d42466ea43 libtool family: upgrade from 2.2.6 to 2.2.10
This upgrades these recipes:
 libtool_2.2.6.bb -> libtool_2.2.10.bb
 libtool-native_2.2.6.bb -> libtool-native_2.2.10.bb
 libtool-cross_2.2.6.bb -> libtool-cross_2.2.10.bb
 libtool-nativesdk_2.2.6.bb -> libtool-nativesdk_2.2.10.bb
    Also fixes build failure caused by having aclocal.m4 built with older version
    of libtool.

Rebased these patches for the newer version sources
 add_dolt.patch
 cross_compile.patch
 dolt.m4

Changed this patch to fix documentation building for non-x86 archs
 prefix.patch

Rebased and changed to fix the building of ncurses recipe:
 trailingslash.patch

Also updated metadata variables like LICENSE & LIC_CHKSUM_FILES

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-08 22:05:20 -07:00
Nitin A Kamble
f516cfcac0 siteinfo.bbclass: add mips-common to mips targets
siteinfo_get_files() was broken for mips. It was missing the mips-common
site config file for all the mips targets. Fixed it by adding it.

This will also fix building of flex recipe on mips.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-08 22:05:20 -07:00
Nitin A Kamble
e18aba581c python: upgrade from 2.6.2 to 2.6.5
python-native: upgrade from 2.6.1 to 2.6.5

Also removed these older version files:
	python_2.5.2
	python-native_2.5.1

Rebased the patches to the newer code.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-08 22:05:20 -07:00
Nitin A Kamble
936a73eae5 gdb family: upgrade from 6.8 to 7.1
upgraded gdb, gdb-cross & gdb-cross-canadian recipes.

ignore_whitespace_changes.patch : this patch is not needed anymore
because the newer version fixed the issue differently.

rebased other patches to the newer version of the source code.

Added the --with-libelf line in the gdb-common.inc to fix a
configure faulre.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-08 22:05:20 -07:00
Yu Ke
da46e7f705 xf86-intel-video: upgrade to 2.12.0
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-08 21:59:41 -07:00
Yu Ke
24ea9ad1f7 distro tracking field: add graphics core distro tracking filed
for mesa and xserver-xf86-dri-lite

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-08 21:19:46 -07:00
Yu Ke
c0a3d22076 vte: upgrade to 0.24.2
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-08 21:19:46 -07:00
Yu Ke
f7a98901d9 xserver-xf86-dri-lite: upgrade to 1.8.99.904 (1.9 RC4)
Also update the releated x driver PR value, since they
need recompile to match the new xserver ABI

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-08 21:19:45 -07:00
Yu Ke
3e9592e9da libxfont: upgrade libxfont to 1.4.2
Note: xorg-server 1.8.99.904 require libxfont >= 1.4.2

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-08 21:19:45 -07:00
Yu Ke
d1993fab7c mesa: upgrade to 7.8.2
upgrade from 7.4 to 7.8.2

the mesa-dri 7.5 & 7.7 is still kept since it is used by moblin distro.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-08 21:19:45 -07:00
Qing He
7b46397e3a distro-track: update for nfs-utils related pkgs
new packages added:
    attr
    libcap
    libnfsidmap
    libevent

upgraded:
    nfs-utils

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:14:00 -07:00
Qing He
3451dc8187 nfs-utils: upgrade to version 1.2.2
from 1.0.6

changes:
  - there are several new dependencies: tirpc, libcap libgss,
    libnfsimap, libevent and libwrap. disable tirpc, libgss, libwrap
  - several changes are in upstream now, include the bzero change
    and stat-include change, remove the patches
  - a new build system is used, custom macros are now moved to aclocal/,
    acinclude and rpcgen fixes are not necessary any more
  - rebase uclibc patch
  - enable nfsv41, nfsv3 and nfsv4 are default turned on
  - do_compile is no longer needed
  - the install target has changed a lot, instead of updating the file
    list manually, try to use oe_runmake install for installation.
    Several files are built against build environment, they are removed
    from the packages.

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:14:00 -07:00
Qing He
5bd2ba7e23 libnfsidmap: add new package
version 0.23
as a dependency of nfs-utils

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:14:00 -07:00
Qing He
8f033f5d29 libevent: add new package
version 1.4.14b-stable
as a dependency of nfs-utils

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:14:00 -07:00
Qing He
bbd9ebf321 libcap: add new package
version 2.19
as a dependency of nfs-utils

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:14:00 -07:00
Qing He
23dd7251a8 attr: add new package
version 2.4.44

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:14:00 -07:00
Qing He
a604cb78cc distro-track: update for base section
libnss-mdns
findutils

gnutls: reinstate a patch
startup-notification: removed since transfered to x11 apps

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:11:00 -07:00
Qing He
424278c7bc gnutls: upgrade to version 2.8.6
from 2.4.2
add homepage and bugtracker
clarify licensing to GPL & LGPL for different sub packages

changes:
  - use EXTRA_OECONF to explicitly specify libgcrypt path
  - remove multiple aclocal.m4s and distributed libtool m4
    scripts to produce sanity environment, otherwise it may
    complain about libtool version mismatch at compilation
  - rebase configure_madness.patch to adapt new autotools
    scripts, change libgnutls.pc.in and libgnutls-extra.pc.in
    to fix pkg-config issues
  - rebase the other patches
  - remove duplicated inheritence
  - depends explictly on libgcrypt (>= 1.4.2), or configure
    fails
  - use standalone version of libtasn1, and add it as a build
    dependency on libatsn1
  - add --disable-rpath in EXTRA_OECONF to avoid the rpath
    pollution by --with-<pkg>-prefix=

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:11:00 -07:00
Qing He
8a556a8ca5 syslinux: use /usr/lib/syslinux as AUXDIR
instead of the upstream /usr/share/syslinux. This happens
at some point between 3.36 to 3.86

The reason is unknown, stick in /usr/lib/syslinux for
consistency for now

Bump the PR as well

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:11:00 -07:00
Qing He
72210f8a6a libnss-mdns: upgrade to version 0.10
from 0.7

changes:
  - add avahi as build dependency and avahi-daemon as runtime dependency
  - eliminate LEAD_SONAME warning and configure warning

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:11:00 -07:00
Qing He
62136a869a findutils: upgrade to version 4.2.31 and 4.4.2
from 4.2.29
4.2.31 is the last known GPL2 version

changes for 4.4:
  - pulled upstream patch to fix bug #27017, #28824 and #28872
  - using a workaround to address bug #27299, this was fixed in
    development branch 4.5.3 by using a new version of gnulib.
    however, upgrading gnulib needs too much effort here.

changes for 4.2:
  - 4.2.31's gnulib/m4/extension.m4 won't work with autoconf 2.65,
    fix it by removing gnulib's AC_USE_SYSTEM_EXTENSIONS

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-08 21:10:59 -07:00
Kevin Tian
90ceeff258 utility-tasks.bbclass: add automatic version check for GIT/SVN proto
both git/svn supports remote information query: 'git ls-remote', and
'svn info'. With them, now upstream version will be automatically
checked for git/svn packages.

In the meantime, manual latest version tagged in distro tracking
fields are also compared as one alternative if upstream check fails.
Also such check is one indicator whether tracking field is missing.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-08 21:08:19 -07:00
Kevin Tian
43bd793679 fakeroot: upgrade to 1.14.4
[Patches]
  KEEP    _absolutepaths.patch_: solve python link issue
  REMOVE  _configure-libtool.patch_: an old patch, not required now

[Recipe]
  manually create build-aux since its own bootstrap contains more than we want

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-08 21:05:41 -07:00
Kevin Tian
59df5a4b2d pam: upgrade to 1.1.1
[Patches]
  KEEP   _disable_crossbinary.patch_

[Recipe]
  fix SRC_URI and EXTRA_OECONF indention

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-08 21:05:41 -07:00
Kevin Tian
5dcefd18d6 expat: upgrade to 2.0.1
[Patches]
  KEEP    _autotools.patch_: avoid using expat's own libtool.m4. add comment

[Recipe]
  - fix SRC_URI format
  - no need to export LTCC, as the default will be ${CC}
  - no need to touch libtool.m4

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-08 21:05:40 -07:00
Kevin Tian
cf3796f663 base-passwd: upgrade to 3.5.22
[Patches]
  UPDATE  _nobash.patch_: use /bin/sh instead of /bin/bash. disable root password
                          as we have no /etc/shadow
  KEEP    _root-home.patch_: set home of root to /home/root instead of /root
  DISABLE _mysql.patch_: poky doesn't have mysql pacakge. no need to set password
                         for it then. but keep for a while
  REMOVE  _configure.patch_: in upstream now

[Recipe]
  - add license checksum
  - reduce line wraps

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-08 21:05:40 -07:00
Richard Purdie
fae8d5e985 insane.bbclass: Relax fatal errors for now until we get have time to work through the backlog
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-08 23:51:06 +01:00
Richard Purdie
ee4fc42908 Revert "meta/site/common: Globally disable rpath option for all gettext packages"
This reverts commit da9f079481 which turned out to
cause more problem that it fixed with libtool failures of:

| i586-poky-linux-libtool: link: unsupported hardcode properties
| i586-poky-linux-libtool: link: See the libtool documentation for more information.
| i586-poky-linux-libtool: link: Fatal configuration error.

as the hardcoded test result breaks libtool internal assumptions about linking on
Linux.
2010-07-08 23:47:05 +01:00
Joshua Lock
4e3cb2adf5 Merge branch 'tk/master' 2010-07-08 12:45:02 +01:00
Richard Purdie
da9f079481 meta/site/common: Globally disable rpath option for all gettext packages
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-08 10:34:51 +01:00
Richard Purdie
b44d32ef41 insane.bbclass: Portions of code were not running, fix this and sync with OE.dev. Also add tests for bad sysroot rpaths in binaries
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-08 10:24:15 +01:00
Nitin A Kamble
2e04ea8754 prelink: upgrade from 20061027 to 20100106
This need change to elfutils. elfutils changes are added in separate commit.

Removed the patch arm_eabi.patch, as it is included in the new sources

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-07 17:14:03 +01:00
Qing He
7fa2815605 libtasn1: upgrade to version 2.7
from 1.7
update homepage, clarify license

changes:
  - because the utilities are licensed under GPLv3+, separate them
    out to a new package libtasn1-bin
  - libtasn1-bin now RRPLACES libtasn1 (<< 2.7)

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:14:03 +01:00
Qing He
69a86f98a3 disto-track: update fields for base groups
tzdata
dropbear
js
unzip
popt
less
file
libpthread-stubs
v86d
rsync

zip: added, it's in sato-poky because glib now depends on it
strace: update metadata to reflect its status
vte: removed since it should be in graphics section
tinylogin: marked as yellow for future replacement

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:14:02 +01:00
Qing He
fd8cf68a01 v86d: upgrade to version 0.1.9
from 0.1.5

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:14:02 +01:00
Qing He
37e6594c7c libpthread-stubs: upgrade to version 0.3
from 0.1

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:14:02 +01:00
Qing He
f481c5dd39 zip: upgrade to version 3.0
from 2.32

update S in 3.0

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:13:58 +01:00
Qing He
21d586b47c file: upgrade to version 5.04
from 4.18

changes:
  - remove native-fix.patch and sed line in do_configure_prepend,
    AM_CONDITIONAL(IS_CROSS_COMPILE, ...) works well
  - fix the bug of not packaging ${datadir}/misc/magic.mgc,
    without this file, this utility isn't very useful
  - add zlib as explicit build dependency

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:12:56 +01:00
Qing He
71466ea8b3 less: upgrade to version 436
from 418

use original download site since gnu's mirror doesn't keep
updated

the package is dual licensed under GPLv3+ or less license,
since less is a permissive license, no GPLv2+ versions are
preserved (<< 418)

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:12:55 +01:00
Qing He
9e8ffdcda9 popt: upgrade to version 1.16
add license checksum

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:12:55 +01:00
Qing He
0976252a53 unzip: upgrade to version 6.0
from 5.52  (552 in poky)
update license

changes:
  - bump PE so that 1:6.0 >> 552

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:12:13 +01:00
Qing He
01af31aec2 strace: fix metadata
add license checksum

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:12:12 +01:00
Qing He
0f8810e6be dropbear: upgrade to version 5.02
from 0.49
clarify license

changes:
  - rebase allow-nopw.patch, some fields in the original file are renamed
  - rebase urandom-xauth-changes-to-options.h.patch, urandom change is
    already in upstream

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:12:12 +01:00
Qing He
47b2545009 tzdata: upgrade to version 2010j
from 2009s

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-07 17:12:12 +01:00
Kevin Tian
b56df3f573 busybox: upgrade to 1.16.2
[Patches] (add comments for kept patches)
  REMOVE    _0000-wget-no-check-certificate.patch_: in 1.16.2 now
  KEEP      _B921600.patch_: add 921600 speed serial line
  REMOVE    _ash_fix_redirection_of_fd_0.patch_: in 1.16.2
  REMOVE    _fdisk_lineedit_segfault.patch_: not used even in 1.15.3
  REMOVE    _fix_: not used even in 1.15.3
  KEEP      _get_header_tar.patch_: fix tar problem with exact 100 bytes filename
  REMOVE    _r24785.patch_: not used even in 1.15.3
  KEEP      _run-parts.in.usr-bin.patch_: solve confliction with debianutils. Though
                                          the later is not in poky, keep it for safety
  KEEP      _udhcpscript.patch_: fix warning message
  REMOVE    _xargs-double-size.patch_: not used even in 1.15.3
  KEEP      _busybox-appletlib-dependency.patch_: solve paralle make issue. Move away
                                                  from files/.
  KEEP      _udhcpc-fix-nfsroot.patch_: support nfsroot

[Files]
  UPDATE    _defconfig_: adapt to new 1.16.2 config options

[Recipe]
  - adapt to new 1.16.2 config option
  - remove old OEMAKE_apend on "CROSS" which has been replaced by "CROSS_COMPILE"
    since 2006

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-07-07 17:12:11 +01:00
Kevin Tian
330e32da12 netbase: upgrade to 4.41
The upgrade is smooth with only one tweaks on update-inetd, which
has been moved out of netbase (since 4.27) to be a standalone
package. So remove related lines from netbase recipe.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-07 07:24:08 -07:00
Richard Purdie
4d4b7922b1 package_*.bbclass: Only set pkg in overrides. These are the only values we're interested in expanding and this makes sure we obtain the expected data
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-07 12:53:46 +01:00
Richard Purdie
1497af07fa Revert "classes/package_ipk|_deb|_rpm.bbclass: Fix setting of OVERRIDES when packaging"
This reverts commit 3abe7a0624 which was incorrect
in some assumptions about OVERRIDE handling order.
2010-07-07 12:15:11 +01:00
Joshua Lock
a644cd15eb preferred-xorg-versions: fix some versions
liblbxutil and libxscrnsaver have been updated but not had their
PREFERRED_VERSIONS increased.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-06 13:27:30 +01:00
Enric Balletbo i Serra
d0eabcb633 local.conf.sample: add igep0020 and igep0030 as supported machines.
Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2010-07-05 15:49:33 +01:00
Enric Balletbo i Serra
053e64e14a igep0030: add new OMAP3 IGEP module.
The IGEP module is a low-power, high performance production-ready
system-on-module (SOM) based on TI's OMAP3 family.

The IGEP module solution based upon TI OMAP3 provides a low-power/low-cost
platform for a variety of consumer/industrial/medical devices.

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
2010-07-05 15:49:33 +01:00
Enric Balletbo i Serra
e5520e20ab igep0020: add MACHINE_EXTRA_RRECOMMENDS on linux-firmware-sd8686.
Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2010-07-05 15:49:33 +01:00
Enric Balletbo i Serra
34e45d5e28 linux-igep2: drop linux-igep2 in favour to generic linux-igep recipe.
Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2010-07-05 15:49:33 +01:00
Enric Balletbo i Serra
d42035d226 igep0020: use linux-igep for preferred kernel provider.
Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2010-07-05 15:49:33 +01:00
Enric Balletbo i Serra
a367934c68 linux-igep: Add common 2.6 Linux Kernel for all IGEP based platforms.
Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2010-07-05 15:49:33 +01:00
Enric Balletbo i Serra
f594a1145e mtd-utils: update to 1.3.1 to allow UBI support.
Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2010-07-05 15:49:32 +01:00
Enric Balletbo i Serra
1d22846b48 linux-firmware: add firmware files for use with Linux kernel (based on OE.dev)
A collection of firmware files are provided for this git repository,
this recipe can provide multiple packages for every group of firmware
files needed for every device. For now, only the SDIO libertas firmware
is packaged.

The SDIO libertas firmware is used on various OMAP3 based boards.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2010-07-05 15:49:32 +01:00
Enric Balletbo i Serra
912e9d234e igep0020: set default TARGET_FPU to 'hard'.
Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
2010-07-05 15:49:32 +01:00
Yu Ke
d4a6c9ef8b distro tracking field: add distro tracking filed for graphic core/app
they are:
xf86-input-evdev
xf86-video-vmware
xrandr
cairo
python-pycairo
xserver-nodm-init
xserver-xf86-config
pango

From: Yu Ke <ke.yu@intel.com>

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-05 13:29:48 +01:00
Yu Ke
52759ea577 pango: upgrade to version 1.28.0
when upgrade to 1.28.0, the local patch no-introspect.patch
is removed, since it is already in 1.28.0 upstream.

this patch also fix the meta data, and change the field order
according to the style guide.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-05 13:29:48 +01:00
Yu Ke
8f88fd5483 xrandr: upgrad to version 1.3.2
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-05 13:29:48 +01:00
Yu Ke
cd7a91e968 xf86-input-evdev: upgrade to version 2.4.0
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-05 13:29:47 +01:00
Yu Ke
45684232a5 xf86-video-vmware: upgrade to version 11.0.1
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-05 13:29:47 +01:00
Yu Ke
669491b423 python-pycairo: upgrade to version 1.8.8
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-05 13:29:47 +01:00
Yu Ke
7ccf7af572 cairo: upgrade cairo to 1.8.10
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-07-05 13:29:47 +01:00
Nitin A Kamble
020022ad41 distro-tracking: correct the latest for perl
Instead of the devel (Odd) pick stable (Even) latest

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-05 13:29:46 +01:00
Nitin A Kamble
6a5a351c7d qmake2-cross: update the 2.10a recipe
The source tarball filename has changed.
Rebased the 0001-fix-mkspecs.patch to the newer code.
The versions of the qmake2 is still 2.10a

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-05 13:29:46 +01:00
Dongxiao Xu
a60863a0a6 distro_tracking: Adding tracking fields for upgraded recipes
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 17:14:25 -07:00
Dongxiao Xu
763be1f0f5 nektworkmanager-applet.bb: Fix recipe metadata
Add HOMEPAGE and BUGTRACKER information
Fix LICENSE information
Fix recipe format

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 15:32:48 -07:00
Dongxiao Xu
614b28d52b networkmanager_svn.bb: Fix recipe metadata
Fix HOMEPAGE and LICENSE information
Add BUGTRACKER information
Fix recipe format

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 15:32:47 -07:00
Dongxiao Xu
9bd229b8d3 libproxy_0.2.3.bb: Fix recipe metadata
Fix LICENSE and add BUGTRACKER information

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 15:32:47 -07:00
Dongxiao Xu
128a2f7f51 kexec-tools: Upgraded to version 2.0.1
Removed kexec-arm-atags.patch kexec-tools-arm.patch and recentheader.patch
since they are already contained in the latest package

Also fix the metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 15:32:47 -07:00
Dexuan Cui
15c9e54368 preferred-xorg-versions: update versions after latest recipe bumps
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:47 -07:00
Dexuan Cui
819a34a452 Distro Tracking: add distro tracking field for recipes of Graphics libs
They are:

libpciaccess
xkeyboard-config
util-macros
fontconfig
freetype
librsvg

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:47 -07:00
Dexuan Cui
82597d379c librsvg: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:47 -07:00
Dexuan Cui
322b26ae11 liberation-fonts: fix metadata
update DESCRIPTION, HOMEPAGE, BUGTRACKER;
fix tab/space issue in do_install() and fix the trailing space.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:47 -07:00
Dexuan Cui
ee97395865 xorg-minimal-fonts: fix metadata
LICENSE and LIC_FILES_CHKSUM haven't been updated yet.
Will keep to try to find the origination.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:47 -07:00
Dexuan Cui
2836e04d60 font-alias: fix metadata
LICENSE and LIC_FILES_CHKSUM haven't been updated yet.
Will keep to try to find the origination.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:46 -07:00
Dexuan Cui
e02887802f freetype: upgrade to the latest version 2.3.12
rename freetype-2.3.5/ to freetype-2.3.12/;
remove configure.patch as it's not used at all;
remove fix-x86_64-build.patch as 2.3.12 has been integrated the patch;
update the licence from "freetype" to "FreeTypeLicense | GPLv2+".

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:46 -07:00
Dexuan Cui
efdb82b4b5 fontconfig and fontconfig-native: upgrade to the latest version 2.8.0
fontconfig-native requires fontconfig, so upgraded both recipes;
renamed the patch directory from fontconfig-2.6.0 to fontconfig-2.8.0;
slightly rebased fix-pkgconfig.patch;
added HOMEPAGE, BUGTRACKER, LICENSE and LIC_FILES_CHKSUM;
updated LICENSE from "BSD" to "MIT-style & MIT & Public Domain";
reset PR to "r0".

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:46 -07:00
Dexuan Cui
95bc479d92 util-macros: upgrade to the latest version 1.10.0
Deleted the patch unbreak_cross_compile.patch since upstream has fixed the issue:

commit 5d7f8c2638a3b2c3bba8deb01e94703310b62cc4
Author: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Date:   Thu Mar 25 18:10:00 2010 -0500

doc: add XORG_CHECK_SGML_DOCTOOLS to detect xorg-sgml-doctools

Trying to find X11/defs.ent with AC_CHECK_FILE does not work when
cross-compiling, and the check assumed that xorg-sgml-doctools is
installed to the same prefix which need not always be the case.

xorg-sgml-doctools 1.4 provides a pkg-config file which we can use
instead, fixing both those cases.  This macro is provided in util-macros
instead of with xorg-sgml-doctools, otherwise the latter would become a
hard dependency just to run autoreconf.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>

BTW: the repository is at:
git clone git://anongit.freedesktop.org/git/xorg/util/macros
and the above commit can be viewed via
http://cgit.freedesktop.org/xorg/util/macros/commit/?id=5d7f8c2638a3b2c3bba8deb01e94703310b62cc4

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:46 -07:00
Dexuan Cui
d6615c2940 xkeyboard-config: upgrade to the latest version 1.9
Updated SRC_URI because from version 1.9 on, the link changed to a new place.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:46 -07:00
Dexuan Cui
d1b1378e9d libpciaccess: upgrade to the latest version 0.11.0
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-07-02 15:32:46 -07:00
Qing He
f76cd262c3 rpm: fix metadata
add bugtracker, clarify license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:46 -07:00
Qing He
5d1a64a298 shared-mime-info: fix metadata
add description and homepage, update license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:46 -07:00
Qing He
c3a20314c2 tzdata: fix metadata
add homepage, update license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:45 -07:00
Qing He
788ffb75e7 vte: fix metadata
add bugtracker, update license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:45 -07:00
Qing He
f0c66927ae strace: fix metadata
add homepage, fix license from GPL to BSD

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:45 -07:00
Qing He
ffa0f7973b unzip: fix metadata
add homepage

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:45 -07:00
Qing He
471892e200 pcmciautils: fix metadata
add license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:45 -07:00
Qing He
dfe9854f48 js: fix metadata
add homepage, fix description
update license, it's actually tri-licensed

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:45 -07:00
Qing He
715e03329b libusb-compat: fix metadata
update homepage, add bugtracker
update license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:45 -07:00
Qing He
d65c8276e7 avahi: fix metadata
add bugtracker
update license to relect that part of the package is under GPL
rather than LGPL

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:45 -07:00
Qing He
4e71fc76ad hal-info: fix metadata
add bugtracker

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:45 -07:00
Qing He
06ecb32bf3 hal: fix metadata
add bugtracker, update license
The detail license is very complex and not easy to be expressed
in a single LICENSE line. Adopt a simple notation here, and will
describe details when the package is actually being upgraded.

hal_git doesn't use hal.inc, need further cleanups.

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:44 -07:00
Qing He
5061f7be7d nfs-utils: fix metadata
add homepage, update license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:44 -07:00
Qing He
912f5b12de rsync: fix metadata
add homepage and bugtracker
update license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:44 -07:00
Qing He
4d160902f8 file: fix metadata
add homepage, slight re-order

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:44 -07:00
Qing He
64e5dd1aac findutils: fix metadata
add homepage and bugtracker
update license to clarify the transition of GPLv3+

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:44 -07:00
Qing He
2cfe0ca27f genext2fs: fix metadata
add homepage, update license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:44 -07:00
Qing He
bbd41f4b96 less: fix metadata
update license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:44 -07:00
Qing He
47cc37d2d5 pkgconfig: fix metadata
add bugtracker, list license as GPLv2+

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:44 -07:00
Qing He
1478977ac3 gconf-dbus: fix metadata
update license from GPL to LGPLv2+

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:43 -07:00
Qing He
9bb0fa9c1e libpthread-stubs: fix metadata
add bugtracker, update license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:43 -07:00
Qing He
b649f5c971 startup-notification: fix metadata
clarify license

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:43 -07:00
Qing He
54f41e239e popt: fix metadata
add homepage

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:43 -07:00
Qing He
bd6b465ab9 libnss-mdns: fix metadata
license is LGPLv2.1+, not GPL

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:43 -07:00
Qing He
0f321c8027 distro-track: update track info of base packages
The status of recipes are marked red to flag that they
need further upgrading.

 - libusb-compat was classified as base utils, put it to base libs
 - rpm was not in poky-image-{sato,sdk}, but since we are in transition
   to rpm based packaging, include it as well
 - libsoup should be handled together with libsoup-2.4
 - tinylogin has been merged into busybox

33 recipes to go

Signed-off-by: Qing He <qing.he@intel.com>
2010-07-02 15:32:43 -07:00
Kevin Tian
9f2b765e4f distro-tracking: add overrides for previous packages
libpng
libidn
base-files
base-passwd
apmd
gperf

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:43 -07:00
Kevin Tian
bac29db14c libidn: fix metadata
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:43 -07:00
Kevin Tian
adcfc07f13 libpng: fix metadata
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:43 -07:00
Kevin Tian
dd0760a38f gperf: fix metadata
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:42 -07:00
Kevin Tian
a234ac09c1 apmd: fix metadata
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:42 -07:00
Kevin Tian
b1c741031d base-passwd: fix metadata, indention and patch parameters
another fix is to remove ${docdir} appending to FILES_${PN}-doc,
since it's already included by FILES_${PN}-doc

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:42 -07:00
Kevin Tian
5d4ab79e81 base-files: fix indention
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:42 -07:00
Kevin Tian
22e877d882 libgpg-error: fix SRC_URI indention
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:42 -07:00
Kevin Tian
46140e8c01 module-init-tools: fix SRC_URI indention
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:42 -07:00
Kevin Tian
c19e4d220e dbus: fix SRC_URI indention
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:42 -07:00
Kevin Tian
31180a56d1 glib-2.0: upgrade to 2.24.1
(borrow from OE 2.24.0, with study about reason for detail changes)
[Patches-Poky]
    KEEP     _configure-libtool.patch_: fix cross-build env
    REMOVE   _glibconfig-sysdefs.h_: introduced in glib-1.2.10, which is actually
                                     not valid today
    KEEP     _glib-gettexize-dir.patch_: another quite old patch added before 2.10.3
                                         add history info, and mark for upstream
[Patches-OE]
    NOTAKE   _gio.patch_: a private extension for a window matching library (wncksync)
    NOTAKE   _gvavriant.patch_: in 2.24.1 now
    NOTAKE   _gasync.patch_: in 2.24.1 now
    TAKE     _60_wait-longer-for-threads-to-die.patch: said to fix anonying warning
    TAKE     _gatomic-proper-get-cast.patch_: fix error about type casting. Instead of
             using OE's patch, I found a better one from latest repo
    NOTAKE   _g_once_init_enter.patch_: in OE since 2.22.1, not quite sure of its purpose,
             also it's not in upstream yet

[Recipe]
    - fix metadata
    - keep glib-2.inc which is for python optimization
    - remove PRIORITY since 'optional' is the default
    - no need to specially install glibconfig.h in ad hoc path, which is only relied
      by 'obexpush' which poky doesn't have and can be fixed in 'obexpush' itself as
      what OE does
    - no need to manually create glib2.0/glib, which is handled by current code
    - remove 'acpaths' which only applies to versions before 2.12.4
    - below lines are not taken from OE
        * glib-mkenums tweaks, which exists in OE for a long time but never in poky.
          since there's no way to find out original commit, keep poky's style instead.
        * host libtool check. not sure about its purpose, and it's also in OE for quite
          long time

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:32:28 -07:00
Kevin Tian
6b81c6dbb5 sudo: upgrade to 1.7.2p7
Old 1.6.8p12 is quite old, even w/o source available now (only cached in pokylinux).
[Patches-Poky]
    KEEP     _autofoo.patch_: deal with bunch of autotool warnings/errors, more about
                              underquotes. In 1.7.2p7, those error conditions disappear.
                              But the underquotes fix is still valid to remove a bunch
                              of autoconf warnings

    REMOVE   _autofoo1.patch_: copy of autofoo.patch. no one uses it. REMOVE.

    KEEP     _noexec-link.patch_: use "-module" to avoid libtool complaining about not
                                  starting with "lib". Add comment to the patch file.

    DISABLE  _nostrip.patch_: it's wrong to strip target binaries on build host. Borrow
                              from OE to use 'sed' instead of patch, but keept it for
                              remind to upstream

    REMOVE   _nonrootinstall.patch_: handle mode/owner population at install. It's not
                                     requried at all since there's pkg_postinst to handle
                                     it at right stage

Other misc stuff:
    - update metadata information
    - no need to use ${S} in 1.7.2p7
    - fix idention
    - use sed to disable strip
    - changes from OE:
        * disable PAM as our pam doesn't include necessary config files and plugs
        * no need to special sudo_cv_uid_t_len tweak in the recipe. It's already there
          in poky site files for a long time
        * move sudo_cv_func_unsetenv_void to meta/site/common. Stdlib.h is common across
          architectures in our libc headers, which conforms to POSIX standard

(borrow from openembedded 1.7.2p4)
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 10:35:11 -07:00
Richard Purdie
14df571486 bitbake: Fix handling of empty variables in local config files
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:37 +01:00
Chris Larson
04b2a78837 Add a warning if a BBFILE_PATTERN doesn't match any bb files
Likely cause is, of course, typo in the pattern or incorrect BBFILES, so we
should warn the user about this.

(Bitbake rev: b781317b5006bc047a59e7fa3c93344115e78ccb)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:37 +01:00
Chris Larson
ecbd5ca720 3.0 prep
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:37 +01:00
Chris Larson
ef1de9ecaf Apply some 2to3 refactorings
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:37 +01:00
Chris Larson
20dc452614 Drop a couple usages of readlines
(Bitbake rev: 40925230781ddd550bf21d90714c5349f9240a51)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:37 +01:00
Chris Larson
b9f8af16f4 Until the interactive mode is fixed, kill it from the valid options, to avoid confusion
(Bitbake rev: 65a51bb20677148a29b9e472f6d9d0a97798f024)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:37 +01:00
Chris Larson
aa538a405e Fix syntax error in shell.py
(Bitbake rev: 1bddc77268e57e236c274fd91c889ea00a13891b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:37 +01:00
Chris Larson
fe9172ed55 Add missing 'return False' to the SystemExit handler in runAsyncCommand
(Bitbake rev: 966490c555cbdc09f52e1dcc68d3772c28ad9cee)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:37 +01:00
Chris Larson
526837e1c1 Move serverConnection.terminate() back into the finally
(Bitbake rev: 58e1b0a5dbd0f1ca137ad7ed1bd7ad9975a20fb7)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:37 +01:00
Chris Larson
2f0a485bd4 Limit the traceback length in the default exception handler
(Bitbake rev: 2b9dc5b55e24b4946ff03bf30ca52a48547caaad)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:37 +01:00
Chris Larson
56f083ad13 Switch from our own 'dummywrite' class to StringIO
(Bitbake rev: f5b7e16adf86950d91a88a343031e71beb0f08a6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
6be4fa575a Switch a fatal usage to SystemExit ("T" not set)
This failure is one the *user* needs to see, as it may have to do with their
setup, but where they don't need to see a traceback and all, since they're not
developers, so I think SystemExit is appropriate here.

(Bitbake rev: e3cc9bc7b6ef1a2eca78235790a051329bceb9a4)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
ce42c24d70 Resurrect the excepthook, this time just sending the info with bb.fatal
(Bitbake rev: 07757a1bf1129cc6a967a7cf1815d3d46a6bbdcf)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Cliff Brake
6c338660e8 remove return in finally statement
causes exceptions to not be handled after the finally statement

(Bitbake rev: 1a04610dea376340b9ea4c109f64995b4fd6ad02)

Signed-off-by: Cliff Brake <cbrake@bec-systems.com>
Signed-off-by: Chris Larson <clarson@kergoth.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
39f6ec5f63 cooker: Kill __getitem__ usage on exception objects (python 3 prep)
(Bitbake rev: 1239df8b82ddcd607630da5a888ca83051a22fa8)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
ef835bf33a Handle SystemExit and KeyboardInterrupt sanely when executing a command
(Bitbake rev: 17f40d036814e4abf6d87363fff7823c8c85c298)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
562fd5f2a7 Drop unnecessarly duplicated messages wrt FuncFailed
(Bitbake rev: 9ec9c0e560d4fa6df74a90f598f9db92713525a2)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
6092312acc knotty: use the future division to prep for 3.x
(Bitbake rev: bd0edc19f691146e748b91255be7a5788a070de6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
8a9a4748c9 Kill the unnecessary setVarFlag debugging message
(Bitbake rev: ef8475796fbab4f76a72bbc106da4c35e3afe2e1)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
dabe4a3943 knotty: stop freaking out and dying when bb.build has removed the empty logfile
(Bitbake rev: 2197182fe5837d74f1499c644e882e87cf035238)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
e886ec2a2b Use bb.utils.mkdirhier in bb.cache to shut up the pending deprecation warning
(Bitbake rev: 0c885752d69e4108e2960d59ec1bd6c911dd141a)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
8f9bdd68de Use PendingDeprecationWarning for functions moved from bb to bb.utils
This is necessary, as there has not yet been a release with the bb.utils
versions in place.  We can't show them a deprecation warning when they can't
safely change it yet.  Show a PendingDeprecationWarning until 1.10 releases
and OE requires it, then we can move to DeprecationWarning.

(Bitbake rev: 43700fa1ca1d2635de4ed46110057cb164ee82d1)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
0c5b5b21f7 Start ditching fatal() calls in favor of raising appropriate exceptions
(Bitbake rev: 681b73fcc04e22e692ed61650ad53c800b64cace)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
77a6052e39 Drop the non-debug traceback suppressor, at this point I think it does more harm than good
(Bitbake rev: 2c66ddc2713061ba31363ea69c24944f4a7cd3a8)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Ryan Phillips
40d7de8f06 Change wget fetcher to use the runfetchcmd
* Fixes proxy support to honor standard proxy environment variables.
* Quote environment variables

(Bitbake rev: f84f382f340d6db15b9e5afb8c7c93969249a958)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
88a257634a Show a traceback when a task fails due to an exception
(Bitbake rev: 5bb24832761bd518cb0249125f67939e0cbd0998)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Bernhard Reutner-Fischer
c63278bf34 parser: fix harmless typo in variable name
s/absolsute/absolute/

(Bitbake rev: 837c84ce47c298316b941a5f3d2479bd2643686b)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:36 +01:00
Chris Larson
3beecc66e9 Fix the silent exit when the specified task doesn't exist
(Bitbake rev: 2b64afa107dc24db510d0001b6eb58f0d5913d2f)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Chris Larson
7e53a3b5cf Move the output of no provider and multiple provider messages into the UI
(Bitbake rev: 36b980c16bf74b3c2066cc120f9f27e11f189a63)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Chris Larson
75d49840cf Reorganize the main exception handling so an attribute exception raised in the ui isn't misinterpreted
(Bitbake rev: 49b8bab706c59e93287f8540187b62ba3ece0a11)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Chris Larson
1b6af2787e Make knotty ignore the NoProvider event
(Bitbake rev: e07f759dae96c0819c35bb67e1da18ca361bb584)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Chris Larson
4fac507dfb Don't tell the user we're sending SIGINT to the remaining 0 tasks
(Bitbake rev: 0b963e52eca0447d5bbfc87d826ad662fe940381)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Bernhard Reutner-Fischer
186f857466 cooker: use time.strftime() instead of spawing sh with date
time.strftime() defaults to using time.localtime(), use that instead
of spawning "sh -c 'date +<FMT>'"

(Bitbake rev: ec1f2773b4811b3beb52710120bb5a9b215c174e)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Chris Larson
0405011734 Adjust the exception handling based on Cliff Brake's patch
Rather than printing the exception ourselves, might as well re-raise and let
the default exception handler do it for us.

(Bitbake rev: acca7eb8450cbe30d65b5b266f1a642e7965df8a)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Robert P. J. Day
6ab1dbbb7c Fix a couple typos in the CVS Fetcher section.
"DL_DIRS" -> "DL_DIR"
Remove superfluous trailing ">" after CVSDIR.

(Bitbake rev: 34f396e749303367e657911bf10c43086dff7552)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Bernhard Reutner-Fischer
16553b8826 cache: do not chdir unnecessarily
previously we called chdir() twice for every target, this patch reduces
the amount of chdir() calls via openembedded master from some 16000 to
4.

(Bitbake rev: fa45f5625e13a82bec70d5f10815f52fbe705166)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Bernhard Reutner-Fischer
726802b980 persist_data: cache connection and use cursor
Store database connection to persistent database in fetcher.

(Bitbake rev: 8a6876752b90efd81d92f0947bfc9527d8260969)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Bernhard Reutner-Fischer
30216c65e5 cache: use a set() for __depends
to make updating depends easier/more intuitive/eventually faster

(Bitbake rev: f7c69462b8ba726861898817cc5b13174c78e35a)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Bernhard Reutner-Fischer
cf79cf127b cache: use max() to determine newest_mtime
(Bitbake rev: c0cf85beda4cf8748fd270c037442cde7b98146b)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Bernhard Reutner-Fischer
81d13cbebe cache: use os.path ops instead of stat
(Bitbake rev: 09fe0d403c75229931c10eabc7eecc0dc60058fe)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Chris Larson
9d32ff0c87 Make the file not found error actually useable.
(Bitbake rev: 1cfcbee014478eb129ed382c13622317412b036e)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Bernhard Reutner-Fischer
85ca18f60a fetch: commentary typo fix in fetcher_init()
(Bitbake rev: b786f1f60fb50565295e7c8e979b471327d924f3)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Bernhard Reutner-Fischer
6c37c32773 cache: fix typo in error message of cacheValidUpdate()
(Bitbake rev: 9937d5992d72104c670e069f4c46cc62a490e18f)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:35 +01:00
Bernhard Reutner-Fischer
a7ad7cfb2f fetch: documentation typo fix
s/initilize/initialize/

(Bitbake rev: 1497dd0d5bc0cca0de7d0ee9d314287000a0c34d)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Khem Raj
f7e6c5ad2b fetch: Check for existence of tar file along with md5 signature
(Bitbake rev: a5b1c0605328660de15bb8127b6f7d798c664d32)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
50006b49fc Revert "In expand, drop the unnecessary second regular expression match"
This reverts commit 05462fa7908fc22988b3dc9d376798d0a46ccb5a.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
d217bedd32 Don't emit vars starting with __, as those are internal
(Bitbake rev: 211f44ce0e15c7c419606e9ef3568d9cea6775b7)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
d00b54b948 In expand, drop the unnecessary second regular expression match
(Bitbake rev: 05462fa7908fc22988b3dc9d376798d0a46ccb5a)

Signed-off-by: Imran Mehmood <imran_mehmood@mentor.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
e07a5b1909 Simplify _findVar a bit
(Bitbake rev: b017acd39b811a00305002a8044e7d02e79f41d7)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
66d66cb487 Fix major bug that slipped in when moving update_data
The root cause is, I was testing the use of renameVar() from finalize, in
order to get flags copied over when an override is applied, but renameVar
removes the original, whereas the old code did not do so.  Going back to the
old method, will revisit the override/flags later on.

(Bitbake rev: 2f7c498abcf675e5b8de197d8056a0581670c2bd)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
4802a9d07a Move a var definition in cooker.parse_next
(Bitbake rev: 1b378ddf3dc9b2aa5384e8b28945b63fc623a6a4)

Signed-off-by: Chris Larson <clarson@kergoth.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
8bc7ebb4ae Enhance the expansion exception message
(Bitbake rev: 1cc11164a85a5b30d6b9184cb5a8f7f7ac1aaff2)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
1e7a03cb58 For ${@}, run str() on the result
(Bitbake rev: cf1a51eab11f645c95e5fa278221f78c129b9dd1)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
15248f3e7d Allow emission of non-string objects in emit_var, instead running str() on it first
(Bitbake rev: 5b09e28cb4a2c6c99ad58e71fb803160922a7e1e)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
9d3f301423 emit_env: clean up, iterate once
(Bitbake rev: db718ec6f67c7c0d0efb4ba0b5b24384f707dcf5)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
6f52061844 Fix the debug level check in print_exception
(Bitbake rev: 9cb52edf9198fe6db735abbb61d0c4026c97a8d9)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
c3eae29efa Don't try to expand non-string values
(Bitbake rev: fe36a726b9f930bbd6fd758c0aee78559e95f02b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
214d1f7433 Move the python version check into the python package
This ensures the check is run for anyone using the package, including
setup.py, though it's sad that it's necessary, since all it really wants is
__version__.

Ideally, we'd avoid the version check entirely in favor of checking for
functionality, but that's rather difficult with language constructs like
context managers, so this'll do for now.

(Bitbake rev: f936f1c0edf70860ea0f39ec1a500ba43b56f289)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
231d3a534c Drop an unnecessary second python version check and use the less ugly sys.version_info
(Bitbake rev: 8f4b7b10f8740a41c085beeca5105f15204b0979)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
bdbeaf4760 Bump version to 1.11.0
(Bitbake rev: 6c89c332664a7789d02a701e7e530838ab778264)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:34 +01:00
Chris Larson
51864054da Move the python version check before the module imports, in case the modules utilize the newer python features
(Bitbake rev: 87c15dfcbeb10e7cafb14726209e4954671b3dbe)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
c04cee7ce8 Search up the directory tree for bblayers.conf
(Bitbake rev: 1c6b31c649474b4c2b63ef9d9311e61de20bc8c2)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
3238125138 Add a hack to avoid the req that all vars using LAYERDIR be immediately expanded
See the comment in the code for details.

(Bitbake rev: 849dbd63244cbc4eaca0f1beedbb67baca024629)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
dc39ebe91e Move the unset BBPATH sanity check after the bblayers processing
This way we can fully utilize bblayers, you can do everything in bblayers.conf
and avoid setting any environment variables at all.

(Bitbake rev: 5def1c8c31432968349f9b29d6333d7962260a8b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
22a2179905 Kill unnecessary usages of the types module
types.IntType -> int
types.StringType -> basestring
...

Also moves our ImmutableTypes tuple into our own namespace.

(Bitbake rev: 83674a3a5564ecb1f9d2c9b2d5b1eeb3c31272ab)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
1180bab54e Apply some 2to3 transforms that don't cause issues in 2.6
(Bitbake rev: d39ab776e7ceaefc8361150151cf0892dcb70d9c)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
5b216c8000 Add __contains__ to COWDictMeta
(Bitbake rev: b3b314aade1f0a04e888361e1ac946e5195e1509)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
d5927a70bb Drop unused bb.data.expandData function
(Bitbake rev: 188af3ef5fdb5cd86b74147bf5eafc085ac489be)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
ba6df176e3 Ignore deprecation warnings for now
(Bitbake rev: 661fe59445161c5bc6a2e73b7fcbf9d20c492e27)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
bcd9c57a96 Switch some references to moved functions
(Bitbake rev: ddea2978cb969cf1381cfee5c055de0c9e56a4e3)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
c770c62fdc Add a missing import of print_function
(Bitbake rev: 30ae747cc5c733512e417c61fca23c0cd15b0e44)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
ad543e2e41 Apply the 2to3 print function transform
(Bitbake rev: ff2e28d0d9723ccd0e9dd635447b6d889cc9f597)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
978b5c9466 Deprecate the usage of certain objects via certain modules
As an example, this displays a deprecation warning for the use of
"bb.encodeurl" when you should be using "bb.fetch.encodeurl".  It includes a
convenience function for this purpose.  It should be of use when moving
objects between modules permanently, changing the API the user sees.

(Bitbake rev: 78f56049ba863b2e585b89db12b32697eb879bbc)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
cbc8140c77 Exception handling fixups
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
cf58d41af8 Add some missing docstrings
(Bitbake rev: 20b6f2d1d2d4541e612e8cffbdf1ca4822a3e394)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
0b4ad7062b Drop __all__ usage
(Bitbake rev: b4983cc7bfe5300c1d2904f34fb03d4fb2f41d90)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:33 +01:00
Chris Larson
266f416446 Drop some unused functions
(Bitbake rev: eb83df5bc7077685f314df01949cf06850e4693c)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
bbc565e825 Drop some unused classes
(Bitbake rev: 5cc47a49518c69c94f8b78e9dda6d542ba17b1e8)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
51f5346f29 Drop some unused vars
(Bitbake rev: b79ca5f1cc2d262de877047769ce25279ba26672)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
1c74fd768f Import fixups
(Bitbake rev: 4fa052f426e3205ebace713eaa22deddc0420e8a)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
7acc132cac Formatting cleanups
(Bitbake rev: 2caf134b43a44dad30af4fbe33033b3c58deee57)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
bbf83fd988 Drop doctest, as we aren't utilizing it
We should add back in some proper unit testing.  Doctest is rather limited,
and we haven't actually made use of it since the original implementation of
the datastore when the project started, as far as I'm aware.

(Bitbake rev: 3a11c2807972bbbddffde2fa67fc380d159da467)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
8306ba50db Don't run metadata event handlers for bb.msg events
(Bitbake rev: 297305b3742323d09d9ca58e958c4f18e945a148)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
6623d79ada Stop using functions via 'bb' that were moved from there to other modules
(Bitbake rev: 03a6c26f8da226f442c3cab557e4733f7cd6eeac)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
1569c1ac85 Add a function to get the debug level, without poking into debug_levels manually
(Bitbake rev: 6ccc01a1a72ec354de52fef2bf5620384b8461ce)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
c8498f59ec Fix invalid logging domain warning
(Bitbake rev: 8441fab6f27191fcc3c153a10753871e6aef08b1)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
316ab4bb2b Bump minimum python version check to 2.6.
(Bitbake rev: 85c000cc7db47cfd489cf282c58db2dab0d87908)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
350c3126e1 Make the default domain a proper domain, not a string
This lets you do -l Default on the commandline to bump the debug level of
messages with no domain, without bumping the level of everything else.

(Bitbake rev: bef33dfc36713d8c93e38e63ddac2e4f9858e787)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
943ece8610 Implement bb.msg.domain as a named tuple, drop the Enum class
Also fixes some bb.msg references from within bb.msg.

(Bitbake rev: db95af590f742c8186e84046ad9704fae1733720)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
9f2d7d816c Fix an error in the ncurses UI
(Bitbake rev: 90c68238cb62afa1c39e1d4fff1f418c9ec047e5)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
a91d123ef4 Display python warnings via bb.msg
(Bitbake rev: 648415a562d92109c4945cb3cc98ed2ec44667a7)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:32 +01:00
Chris Larson
146046bcda Immediately display messages if no UI handlers are installed yet
(Bitbake rev: 17c414d0c050c42d4beb3f1dd84573020aacb392)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
21a9692c7d Use __import__ for the ui rather than exec
(Bitbake rev: 7d00bab300961431f9960cf6759966f608580bc0)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
8c5108fa21 Fix the task event handling in the ncurses UI
(Bitbake rev: 50b7b817d418532583da3bad62a36fcefe3637a2)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
87f62d7c8d Ensure we always utilize the correct messaging domains
(Bitbake rev: 92a2e2e90981c0615171abe03645a772d84f6986)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
ac170b0c34 bb.event: NotHandled and Handled are on the way out
(Bitbake rev: ed35b30f8e09b0bfc15102fa6483c55d6b7d61de)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
0d25a516b4 Rename the finalise method for consistency
Apparently the finalise spelling is becoming less common in British English.

(Bitbake rev: 47449b2fc433e5725839ca4f7e9bca931a475838)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
c9c230b14a Move update_data into the DataSmart class as a finalize() method
(Bitbake rev: ff801397785567cb84b3615de86bff764d65decf)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
00e3915ca6 Initialize pkgs_to_build in the BBConfiguration constructor
(Bitbake rev: 69a3e4895b88110fd3a25167aa16cf7c00463175)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
a21841fb75 Drop doctest, as we aren't utilizing it
We should add back in some proper unit testing.  Doctest is rather limited,
and we haven't actually made use of it since the original implementation of
the datastore when the project started, as far as I'm aware.

(Bitbake rev: 3a11c2807972bbbddffde2fa67fc380d159da467)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Enrico Scholz
ca9a956abc Made '-b' work with BBCLASSEXTEND
When BBCLASSEXTEND is set, '-b' builds usually failed with messages
like

| ERROR: Parsing error data_fn virtual:native:<recipe>.bb and fn
<recipe>.bb don't match
|
|   File ".../bb/providers.py", line 47, in sortPriorities
|     priority = dataCache.bbfile_priority[f]
| KeyError: 'virtual:native:<recipe>.bb'

This patch fixes it and allows to specify the alternative class in a
way like

| ./bitbake -b virtual:native:<recipe>.bb

This patch was written to be so minimal as possible; variables should be
probably renamed to reflect their new meaning.

(Bitbake rev: f1c7fe9fc12161ceb3fe201cde370b929b208729)

Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
a7f05ea4af Resurrect the old bb.vercmp as bb.utils.vercmp, and its deps
This is just for compatibility.  We may drop it in the future, or rewrite it,
as it's not particularly pythonic.

(Bitbake rev: c4e31d7fe1d15a1e3ef2a453e7c7812d403d22cb)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
2cd161171a Pass the config metadata into the Cache constructor rather than the cooker
Cache only uses the config metadata from the cooker, no need for the cooker itself.

(Bitbake rev: bf58d43444642d31293a341ce72292003ca5c162)

Signed-off-by: Chris Larson <clarson@kergoth.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
c926e87f47 Resurrect merged anonfunc execution
(Bitbake rev: 0c2ed40277e157406ea25c858f14c3cebb73c21b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
3995546222 Add & utilize a simple_exec utility function
(Bitbake rev: 5ead16f14f996bcbb2fb14277b8ce5a9317b8160)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
94b60d1247 Consolidate the exec/eval bits, switch anonfunc to better_exec, etc
The methodpool, ${@} expansions, anonymous python functions, event handlers
now all run with the same global context, ensuring a consistent environment
for them.  Added a bb.utils.better_eval function which does an eval() with the
same globals as better_exec.

(Bitbake rev: 424d7e267b009cc19b8503eadab782736d9597d0)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
eb16773704 Pass an empty locals dict in expansion, since list comprehensions apparently leak their '_' helper variable
(Bitbake rev: 97da0cebbaf4dd1b46e58bd2e80cab6c007ae7c9)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Chris Larson
d8c8612d92 Two minor changes to the way python snippet expansion happens
- Use a single dictionary for the context, both global & local, since for some
  reason it chokes wanting a global "d" rather than a local in the metadata.
- First compile the string into a code object before running eval, so we can
  include the variable name in an evaluation error.

(Bitbake rev: 49534d928a37e0804ca84eed186cd22363023b2e)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 15:41:31 +01:00
Nitin A Kamble
f8a8ec5ceb linux-libc-headers: upgrade from 2.6.33 to 2.6.34
added a new patch to fix glibc build issue on powerpc
  ppc_glibc_build_fix.patch

Added attribution to the hayes-gone.patch.

And updated the metadata variables like LICENSE & LIC_CHKSUM_FILES

And removing all the older recipes and related files

Change the linux-libc-header version inpoky-default.inc

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-02 15:28:54 +01:00
Kevin Tian
4d5ad73238 dbus: fix metadata
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:28:54 +01:00
Kevin Tian
63ca9079c3 libgpg-error: fix metadata
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:28:54 +01:00
Kevin Tian
c927c50d9b module-init-tools: fix metadata
Signe-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 15:28:54 +01:00
Dongxiao Xu
610f5609dc distro_tracking: Adding tracking fields for upgraded packages
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 15:28:54 +01:00
Dongxiao Xu
2b533d04bd libmusicbrainz: Upgraded to 3.0.2
Removed the autofoo.patch since the latest version uses cmake instead
Remove gcc43_fix.patch since the code is not in latest package
Change SRC_URI to be more generic
Also fix the metadata

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 15:28:54 +01:00
Dongxiao Xu
b82851ad38 neon: Upgraded to 0.29.3
Change local directory name to ${PN}-${PV}

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 15:28:54 +01:00
Dongxiao Xu
057d630962 ppp: Upgraded to version 2.4.5
Removed some patches since they are already in latest package
Rebased some patches to fit ppp-2.4.5

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 15:28:54 +01:00
Zhai Edwin
4cf7528910 distro-tracking: update tracking fields for previous recipes after fixing metadata
pcmanfm
gtk+
gnome-common
webkit-gtk
eds-dbus
gnome-keyring
gtk-sato-engine
hicolor-icon-theme
jpeg
libfakekey
libglade
libsoup-2.4
libxslt
matchbox-config-gtk
matchbox-keyboard
matchbox-panel-2
matchbox-stroke
matchbox-wm

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:54 +01:00
Zhai Edwin
61326bf8ff matchbox-wm: Fix the meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:54 +01:00
Zhai Edwin
680f615991 matchbox-stroke: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:54 +01:00
Zhai Edwin
ea1f53d2f3 matchbox-panel-2: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:54 +01:00
Zhai Edwin
b2a2e197e8 matchbox-keyboard: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:54 +01:00
Zhai Edwin
0768dffa27 matchbox-config-gtk: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
ab6fd579c7 libxslt: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
437fb07240 libsoup-2.4: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
c2ba02cff9 libglade: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
6db5edd0d0 libfakekey: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
c9e06594ed jpeg: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
00844cd065 hicolor-icon-theme: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
8a48d66950 gtk-sato-engine: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
bc41e6596c gnome-keyring: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
60bb010355 eds-dbus: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
ad0f64583c webkit-gtk: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
8a2b4e2a5e gnome-common: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
5f1f17f076 gtk+: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Zhai Edwin
d29f2cceaf pcmanfm: Fix the metadata
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-07-02 15:28:53 +01:00
Nitin A Kamble
17b2ce5bc2 distro_tracking: update latest release for prelink
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-02 15:28:52 +01:00
Richard Purdie
061df5abaf meta-toolchain: Improve layout
* Switch from /usr/local/poky to /opt/poky
* Use a sysroots directory for both the "native" sdk binaries and the target
* Drop the meta-toolchain extras packages. These are replaced with packaged-staging.
* Change the nativesdk layout to match our usual filesystem layout
* Clean up various hardcoded prefix references

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 14:35:08 +01:00
Richard Purdie
4e0ee648b4 image.bbclass: Don't perform mapping renaming until we're running the task itself.
Need to extend bitbake to provide this information rather than refer to a bitbake
internal variable.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 14:34:14 +01:00
Kevin Tian
e0a1238b22 siteinfo.bbclass: remove duplicated 'common' appendent
'common' site file is already appended in get_siteinfo_list. No need
for another duplication later

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-02 17:28:00 +08:00
Kevin Tian
e96dc90ba4 populate-volatile.sh: add "clearcache" cmdline option
Sometimes /etc/volatiles.cache is corrupted when Qemu gets crashed. Current logic
is to always execute cache file as long as it exists. When it's currupted, this
causes core volatile files/directories not created and then prevent many important
services from starting. Automatic check on cache goodness is one option. However
it's not easy since the currupted file could be various states. In one form,
it's full of zeros. In another form, some commands are truncated.

Here allow a cmdline option to force removing volatiles.cache file, since it's
easy for user to check whether the cache file is mal-formed. Usually you'll observe
typical directories like "/var/log/" or "/var/run" not found error.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-07-02 17:27:10 +08:00
Richard Purdie
968d00de15 package_deb.bbclass: Fix packaging functions to use versioned dependency package functions correctly
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-02 00:06:50 +01:00
Richard Purdie
8a02043265 bitbake: providers.py: Fix typo
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-01 22:24:26 +01:00
Joshua Lock
3abe7a0624 classes/package_ipk|_deb|_rpm.bbclass: Fix setting of OVERRIDES when packaging
The OVERRIDES variable was being incorrectly set with the end result of the
runtime dependencies of the package not being encoded in it's package metadata.

This broke opkg-native in meta-toolchain.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-01 16:14:21 +01:00
Joshua Lock
934bb71c9d preferred-xorg-versions: update versions after latest recipe bumps
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-01 15:23:53 +01:00
Joshua Lock
fc663f9c63 poky.conf: define PREFERRED_PROVIDER_opkg-nativesdk to silence a warning
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-01 15:22:41 +01:00
Dongxiao Xu
d92a3c09f3 libpcap: Upgraded to version 1.1.1
Remove config-fixes.patch and ldflags.patch since the change is already in the
latest version
Remove shared.patch since it is not being used.
Rebase aclocal.patch according to the latest package version
Also contains Metadata fix

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-01 14:13:07 +01:00
Nitin A Kamble
64b82f8acd bison: upgrade from 2.3 to 2.4.2
Fixed a configure issue by adding acpaths line in the recipe.

fix_cross_manpage_building.patch: Created this patch to avoid the build
issue for non-x86 targets.

Rebased the m4.patch for the latest code, by removing duplicate
functionality.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-01 14:13:07 +01:00
Nitin A Kamble
87381753d4 elfutils: add a patch to fix latest prelink build
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-07-01 14:13:06 +01:00
Nitin A Kamble
7e01b2f759 nasm: upgrade from 0.98.38 to 2.07
Fixed the build issue by adding do_configure_prepend line to the recipe.
Updated metadata variables like LICENSE & LIC_CHKSUM_FILES

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:28 -07:00
Nitin A Kamble
ea7fbed643 tcl: upgraded from 8.4.19 to 8.5.8
patche changes:
tcl-add-soname.patch: rebased to the newer release code

Also added metadata variables, LIC_FILES_CHKSUM

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:27 -07:00
Nitin A Kamble
31c0e3df13 quilt: upgrade from 0.47 to 0.48
Also update metadata variables like LICENSE & LIC_CHKSUM_FILES

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:27 -07:00
Nitin A Kamble
3881d4ce5c oprofile: upgrade from 0.9.4 to 0.9.6
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:27 -07:00
Nitin A Kamble
d5903339a1 lttng-viewer: upgrade from 0.8.83 to 0.8.84
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:27 -07:00
Nitin A Kamble
38bf4fc828 lttng-control: upgrade from 0.67 to 0.87
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:27 -07:00
Nitin A Kamble
c2289c5471 lsof: upgrade from 4.78 to 4.83
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:27 -07:00
Nitin A Kamble
03837afa10 intltool: upgrade from 0.40.5 to 0.40.6
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:27 -07:00
Nitin A Kamble
5cfe04d572 gnu-config: upgrade from 20050701 to 20080123
Rebased this patch for newer version:
 gnu-config/config-guess-uclibc.patch

Removed this patch as it's included in the new source:
 gnu-config/avr32.patch

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:26 -07:00
Nitin A Kamble
d74cf86d1e flex: upgrade from 2.5.31 to 2.5.35
These patches removed from the recipe
 flex-lvalue.diff: already in the source
 fix-gen.patch: already in the source
 include.patch: already in the source

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:26 -07:00
Nitin A Kamble
f2f0e69ede diffstat: upgrade from 1.39 to 1.47
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-30 23:30:26 -07:00
Kevin Tian
2422400c19 distro-tracking: add tracking fields for previous recipes
pam
libgpg-error
gpgme
expat
dbus
dbus-glib
busybox
module-init-tools
fakeroot
prism-firmware

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-30 15:44:29 -07:00
Kevin Tian
391e6d6ec8 dbus-glib: fix metadata
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-30 15:44:29 -07:00
Kevin Tian
81a16e51dc expat: fix metadata
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-30 15:44:29 -07:00
Kevin Tian
e957ffe972 gpgme: fix metadata
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-30 15:44:29 -07:00
Kevin Tian
2136f753eb fakeroot: fix metadata
also no need for patch parameter if it's suffixed with .patch.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-30 15:44:29 -07:00
Kevin Tian
0093d520c9 pam: fix metadata
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-30 15:44:21 -07:00
Kevin Tian
2bed076889 busybox: fix metadata
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-30 11:37:09 -07:00
Zhai Edwin
ed252e7f8b Distro Tracking: add distro tracking field for Graphics Apps
owl-video
xtscal
xrestop
gnome-mime-data
libmatchbox
libowl
libowl-av
matchbox-desktop
matchbox-desktop-sato
matchbox-session
matchbox-session-sato
matchbox-terminal
matchbox-theme-sato
sato-icon-theme
tslib
xcursor-transparent-theme
screenshot
tasks
contacts
dates
libcroco
leafpad
atk

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-30 11:12:49 -07:00
Richard Purdie
6aa746cc0b encodings: Specify encodingsdir as the default was being detected incorrectly resulting in an empty package
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-30 15:02:00 +01:00
Dongxiao Xu
9f3e0c10ac distro-tracking: update tracking fields for previous upgraded recipes
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:14 +01:00
Dongxiao Xu
bb860ee98d speex: Upgraded to version 1.2rc1
Remove ${S} since it is not needed in new version recipe file
Adding LIC_FILES_CHKSUM information
Adjust variables order according to styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:14 +01:00
Yu Ke
a5b6355100 distro_tracking_fields: add meta data for graphic core and app
including:
libdrm
xauth
python-pycairo
libxfontcache
xdpyinfo
xhost
xinit
xkbcomp
xmodmap
xprop
xset
xwininfo

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-30 13:19:14 +01:00
Dexuan Cui
372f7f10ac Distro Tracking: add distro tracking field for recipes of Graphics libs
They are:

dri2proto
xcb-proto
xextproto
xf86vidmodeproto
xproto
liberation-fonts
libfontenc
libxfont
libice
libsm
libxau
libxcalibrate
libxcb
libxcomposite
libxrandr
libxrender
libxres
libxt
libxv
libxvmc
libxxf86misc
libxxf86vm
libxcursor
libxdamage
libxdmcp
libxext
libxfixes
libxft
libxkbfile
pixman
xtrans
libxmu

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:14 +01:00
Dexuan Cui
dbfc18fa3c libxmu: upgrade to the latest version 1.0.5
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:13 +01:00
Dexuan Cui
b51a4a605b xtrans: upgrade to the latest version 1.2.5
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:13 +01:00
Dexuan Cui
c648850285 pixman: upgrade to the latest version 0.18.2
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:13 +01:00
Dexuan Cui
f04f7f8ebc libxkbfile: upgrade to the latest version 1.0.6
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:13 +01:00
Dexuan Cui
c4f3c3e68a libxft: upgrade to the latest version 2.1.14
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:12 +01:00
Dexuan Cui
e114928419 libxfixes: upgrade to the latest version 4.0.4
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:12 +01:00
Dexuan Cui
84664ef8a1 libxext: upgrade to the latest version 1.1.2
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:12 +01:00
Dexuan Cui
903097f2e7 libxdmcp: upgrade to the latest version 1.0.3
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:12 +01:00
Dexuan Cui
a683a28097 libxdamage: upgrade to the latest version 1.1.2
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:11 +01:00
Dexuan Cui
3536e9912e libxcursor: upgrade to the latest version 1.1.10
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:11 +01:00
Dexuan Cui
743d7e126e libxxf86vm: upgrade to the latest version 1.1.0
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:11 +01:00
Dexuan Cui
9a77ba2fe0 libxxf86misc: upgrade to the latest version 1.0.2
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:11 +01:00
Dexuan Cui
68e66b838f libxvmc: upgrade to the latest version 1.0.5
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:10 +01:00
Dexuan Cui
ba45b0614f libxv: upgrade to the latest version 1.0.5
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:10 +01:00
Dexuan Cui
e3d0810474 libxt: upgrade to the latest version 1.0.8
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:10 +01:00
Dexuan Cui
7383d319bb libxres: upgrade to the latest version 1.0.4
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:10 +01:00
Dexuan Cui
11f2a1227d libxrender: upgrade to the latest version 0.9.5
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:09 +01:00
Dexuan Cui
6704e49289 libxrandr: upgrade to the latest version 1.3.0
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:09 +01:00
Dexuan Cui
e125dd087b libxcomposite: upgrade to the latest version 0.4.1
Remove the ";patch=1" in SRC_URI since by default a .patch file is applied.
Update change-include-order.patch to apply it to 0.4.1.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:09 +01:00
Dexuan Cui
aa7c1959dd libxcb: upgrade to the latest version 1.6
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:09 +01:00
Dexuan Cui
c858c1f73f libxcalibrate: upgrade to the latest version 209d83af61ed38a002c8096377deac292b3e396c
Remove the ";patch=1" in SRC_URI because by default a .patch file is applied.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:08 +01:00
Dexuan Cui
f902292305 libxau: upgrade to the latest version 1.0.5
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:08 +01:00
Dexuan Cui
5c2e6fa2dd libsm: upgrade to the latest version 1.1.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:08 +01:00
Dexuan Cui
0012b7c117 libice: upgrade to the latest version 1.0.6
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:08 +01:00
Dexuan Cui
fa9c8a0fdc libxfont: upgrade to the latest version 1.4.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:07 +01:00
Dexuan Cui
3cbc9dee6b libfontenc: upgrade to the latest version 1.0.5
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:07 +01:00
Dexuan Cui
50dbbec5b2 xproto: upgrade to the latest version 7.0.17
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:07 +01:00
Dexuan Cui
6f5ebf13ac xf86vidmodeproto: upgrade to the latest version 2.3
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:07 +01:00
Dexuan Cui
76a6828622 xextproto: upgrade to the latest version 7.1.1
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:06 +01:00
Dexuan Cui
fa23bdfca8 xcb-proto: upgrade to the latest version 1.6
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:06 +01:00
Dexuan Cui
b007125dc3 dri2proto: upgrade to the latest version 2.3
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-30 13:19:06 +01:00
Kevin Tian
d480304694 distro-tracking: update tracking fields for previous upgraded recipes
iproute2
glib-2.0
netbase

Signd-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-30 13:19:06 +01:00
Kevin Tian
17a0eba886 netbase: fix metadata
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-30 13:19:05 +01:00
Kevin Tian
4057e1a811 insane.bbclass: allow reporting all md5 mismatch warnings
instead of exiting when once one md5 mismatch is seen. This would be
helpful to save time on filling md5sum for multiple license check
files.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-30 13:19:05 +01:00
Qing He
3b78d2e0a2 distro-track: upgrade base_{utils,libs}_2
libgcrypt
gnutls
lzo
libtasn1
openssl
curl
zlib
libxml2
readline
bash
syslinux
sysvinit
sysfsutils

signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:05 +01:00
Qing He
47c3dd441e curl: upgrade to version 7.21.0
from 7.20.0

add homepage and bugtracker, update license

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:05 +01:00
Qing He
c4713d040a openssl: upgrade to version 0.9.8o
from 0.9.8g
update bugtracker and license

1.0.0 and 1.0.0a are available, but introduce some interface
changes. Stick on 0.9.8 versions for now for stability (0.9.8
branch is still updated for security fixes)

changes:
  - add perl-native as build dependency
  - include /usr/lib/ssl/* in the package
  - break down debian.package into separate patches under
    directory debian. Original monolithic patch is >1000 lines,
    and not very maintainable.
    Verbatim copy the debian patches, among which two are not
    needed, but still included with apply=no to increase
    readability
    The new patches are ~700 lines. Most that was in the
    monolithic patch but not here have already been fixed in
    upstream.
  - fix-md5-x86_64.patch is in upstream and thus removed
  - rebase shared-libs.patch

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:05 +01:00
Qing He
7ec15f4775 lzo: upgrade to version 2.03
from 2.02
update license info

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:04 +01:00
Qing He
d6b8b66d5c libgcrypt: upgrade to version 1.4.5
from 1.2.4
add homepage and tracker
clarify license terms

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:04 +01:00
Qing He
e1cac2f249 sysfsutils: upgrade to version 2.1.0
from 2.0.0
clarify licensing: sysfsutils is under GPLv2, and libsysfs is
under LGPLv2.1

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:04 +01:00
Qing He
10cce8e1f7 sysvinit: upgrade to version 2.88dsf
from 2.86
update to new homepage and download site

changes:
  - rebase install.patch
  - remove dated 2.86 patch

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:04 +01:00
Qing He
60255c8d28 syslinux: upgrade to versin 3.86
from version 3.36
partly based on the recipe from openembedded project

changes:
  - add cross-build.patch to use poky toolchain
  - mangle LDFLAGS so $LD invocation works
  - use precompiled version of $BTARGET for target (OE)
  - stick on ${sbindir} instead of OE's ${base_sbindir}

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:03 +01:00
Qing He
e7bcb1210e bash: upgrade to version 4.1
from 3.2
version 3.2 is kept because it's the latest version
under GPLv2+

changes:
  - use 3.2.48 as base instead of 3.2
  - include upstream patches up to 051 for 3.2 and 007 for 4.1

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:03 +01:00
Qing He
6d275f7667 readline: update to version 6.1
from 5.2
version 5.2 is still kept since it's the latest version
under GPLv2+.

changes:
  - change autotools_do_configure and use do_configure_prepend
  - similar to do_install_append

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:03 +01:00
Qing He
90747bcf00 libxml2: upgrade to version 2.7.7
from 2.6.29
add homepage and bugtracker, update license

changes:
  - remove libxml-nanohttp.patch since it's already upstream
  - add ${libdir}/xml2Conf.sh into FILES_${PN}-dev

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:03 +01:00
Qing He
afe4dec809 zlib: upgrade to version 1.2.5
from 1.2.3
update homepage and license

changes:
  - remove 1.2.3.3 patch
  - breakdown autotools.patch to configure.ac and Makefile.am, update
    src in Makefile.am and use do_configure_prepend instead
  - remove README from LIC_FILES_CHKSUM because it duplicates zlib.h
    and also causes checksum to change for every release
  - remove visibility.patch: the purpose of the patch was to change
    "<type> ZEXPORT" to "ZEXPORT <type>", however:
     1. the use of ZEXPORT and ZEXTERN have been changed a lot in
        zlib, there is no changelog to indicate which version was
        the patch based on and its rationale
     2. zlib used to set default visibility to `hidden'
        (-fvisibility=hidden), and override external symbols with
        `default' visibility, it had caused a lot of problems on
        different platforms. But starting from 1.2.5, default
        visibility is now `default', `hidden' visibility override
        has effect only for the correct GCC versions, most visibility
        related issues should have already been fixed

  http://mail.madler.net/pipermail/zlib-devel_madler.net/2010-April/002045.html

     3. as for now, ZEXPORT is used in Win/BeOS only, and can expand
        to WINAPI or __declspec(dllexport), both of which should be
        put behind return type, so there is no need to patch

     In conclusion, the patch is not applicable for the current release,
     so it's removed

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-30 13:19:02 +01:00
Dongxiao Xu
86171831d6 distro_tracking_fileds: Update metadata
Update connectivity and multimedia part of tracking fileds

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:02 +01:00
Dongxiao Xu
12c692d9fe xvideo-tests_svn.bb: Fix recipe metadata
Fix LICENSE and add LIC_FILES_CHKSUM

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:02 +01:00
Dongxiao Xu
2478c71757 xvideo-tests: Change the version to 270
The latest upstream for xvideo-tests is 270, not 272

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:02 +01:00
Dongxiao Xu
5304abed42 gaku_svn.bb: Fix recipe metadata
Change LICENSE and add LIC_FILES_CHKSUM
Adjust variables order according to styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:01 +01:00
Dongxiao Xu
2848e5ebef gaku: Upgraded to version 399
Change the default revision in poky-default-revisions.inc
Reset PR to "r0"

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:01 +01:00
Dongxiao Xu
546926ac06 tremor_20100422.bb: Fix recipe metadata
Add LIC_FILES_CHKSUM information
Adjust variables order according to styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:01 +01:00
Dongxiao Xu
0bcc994c95 tremor: Upgraded to version 20100422
No other changes except bb file rename and PR reset

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:01 +01:00
Dongxiao Xu
6daa344f8c alsa-lib_1.0.23: Fix recipe metadata
Change LICENSE information
Add BUGTRACKER and LIC_FILES_CHKSUM
Adjust variables order according to styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:00 +01:00
Dongxiao Xu
f7ae2c8381 alsa-lib: Upgraded to version 1.0.23
Commented for local patch
Change the local file directory name to ${PN}-${PV}

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:00 +01:00
Dongxiao Xu
258974ca89 alsa-utils_1.0.23.bb: Fix recipe metadata
Change LICENSE information
Add BUGTRACKER and LIC_FILES_CHKSUM

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:00 +01:00
Dongxiao Xu
7f1d42b044 alsa-utils: Upgraded to version 1.0.23
Rebased ncursesfix.patch to 1.0.23 and commented for it
Change the local file directory name to ${PN}-${PV}

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:19:00 +01:00
Dongxiao Xu
74221a4987 bluez4_4.66.bb: Fix recipe metadata
Fix LICENSE information
Add HOMEPAGE and LIC_FILES_CHKSUM
Adjust variables order according to styleguide
Use blank space to replace tab

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:18:44 +01:00
Dongxiao Xu
a5af9cfb4c bluez4: Upgraded to version 4.66
Change the local file directory name to ${PN}-${PV}
Comment for local patches

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:18:01 +01:00
Dongxiao Xu
342c016356 gst-plugins.inc: Fix recipe metadata
Add HOMEPAGE and BUGTRACKER information

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:18:01 +01:00
Dongxiao Xu
384be68897 gst-plugins-bad_0.10.19.bb: Fix recipe metadata
Add LICENSE and LIC_FILES_CHKSUM information
Adjust variables order according to styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:17:58 +01:00
Dongxiao Xu
fcb88ea659 gst-plugins-bad: Upgraded to version 0.10.19
The new feature vdpau in the latest package breaks the build
Add --disable-vdpau to disable it

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:17:35 +01:00
Dongxiao Xu
d7d147b98d gst-plugins-ugly_0.10.15.bb: Fix recipe metadata
Add LICENSE and LIC_FILES_CHKSUM information
Adjust variables order according to styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:17:31 +01:00
Dongxiao Xu
3bd948b1bc gst-plugins-ugly: Upgraded to version 0.10.15
No other change except bb file rename

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:16:53 +01:00
Dongxiao Xu
833366fc0e gst-plugins-good_0.10.23.bb: Fix recipe metadata
Add LICENSE and LIC_FILES_CHKSUM information
Adjust variables order according to styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:16:48 +01:00
Dongxiao Xu
b5077b1146 gst-plugins-good: Upgraded to version 0.10.23
No other change except bb file rename and PR reset

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:15:26 +01:00
Dongxiao Xu
eb3cff6ff7 gst-plugins-base_0.10.29.bb: Fix recipe metadata
Add LICENSE and LIC_FILES_CHKSUM information
Adjust variables order according to styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:15:22 +01:00
Dongxiao Xu
33087803d9 gst-plugins-base: Upgraded to version 0.10.29
No other change except bb file rename and reset PR

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:14:35 +01:00
Dongxiao Xu
037cc59722 gstreamer_0.10.29.bb: Fix recipe metadata
Change LICENSE and HOMEPAGE information
Add LIC_FILES_CHKSUM and BUGTRACKER information
Adjust the variables order according to styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:14:34 +01:00
Dongxiao Xu
2c2b1e5d3a gstreamer: Upgraded to version 0.10.29
Rebase check_fix.patch
Remove po-makefile-fix.patch since it is not being used
Remove do_configure_prepend since ${S}/common/m4/lib-link.m4 is not exist in the latest version
Change the local file directory name to ${PN}-${PV}

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:14:34 +01:00
Dongxiao Xu
52f5ad8ec7 mpeg2dec_0.4.1.bb: Fix recipe metadata
Change LICENSE information and add LIC_FILES_CHKSUM
Adjust the variables order according to styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:14:34 +01:00
Dongxiao Xu
6b58719a8c mpeg2dec: Upgraded to version 0.4.1
Change variable ${S} due to version upgrade

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:14:34 +01:00
Dongxiao Xu
1407c7dfe3 libogg_1.2.0.bb: Fix recipe metadata
Add HOMEPAGE, BUGTRACKER, and LIC_FILES_CHKSUM
Change the variables order according to the styleguide

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:14:34 +01:00
Dongxiao Xu
408008ac09 libogg: Upgraded to version 1.2.0
Remove m4.patch since the change has already in the upstream
Change SRC_URI because version 1.2.0 doesn't exist in the old address

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:14:33 +01:00
Dongxiao Xu
9f3641cc00 libvorbis_1.3.1.bb: Fix recipe metadata
Add HOMEPAGE, BUGTRACKER, and LIC_FILES_CHKSUM
Adjust the variables order according to the styleguide
Use blank space to replace the tab

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:14:33 +01:00
Dongxiao Xu
0411d6786e libvorbis: Upgraded to version 1.3.1
Remove m4.patch since the change is already in the latest version
Change SRC_URI since the version 1.3.1 doesn't exist in the old address

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:14:33 +01:00
Dongxiao Xu
6dc309fbed flac_1.2.1.bb: Fix recipe metadata
Fix DESCRIPTION and LICENSE information
Add HOMEPAGE, BUGTRACKER, and LIC_FILES_CHKSUM
Change the local file directory name to ${PN}-${PV}

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:14:28 +01:00
Dongxiao Xu
eda72fba0f flac: Upgraded to version 1.2.1
Acquire flac-gcc43-fixes.patch from OE to fix a build issue
Rebase disable-xmms-plugin.patch
Change the local file directory name to ${PN}-${PV}

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:13:52 +01:00
Dongxiao Xu
923f141efe lame_3.98.4.bb: Fix recipe metadata
Fix DESCRIPTION and LICENSE information
Add HOMEPAGE, BUGTRACKER, and LIC_FILES_CHKSUM
Use blank space to replace the tab

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:13:47 +01:00
Dongxiao Xu
b639d303de lame: Upgraded to 3.98.4
Removed Makefile-lm.patch since the code is not contained in latest version
Rebased no-gtk1.patch and commented for it
Change the local file directory name to ${PN}-${PV}

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:13:09 +01:00
Dongxiao Xu
71ba0a8536 irda-utils_0.9.18.bb: Fix recipe metadata
Fix LICENSE information
Add HOMEPAGE, BUGTRACKER, and LIC_FILES_CHKSUM
Use blank space to replace the tab

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:12:54 +01:00
Dongxiao Xu
a1fb73e588 irda-utils: upgraded to version 0.9.18
Removed irdadump patches configure.patch and m4.patch because the new version
doesn't use autotool for irdadump.

Change the local file directory name to ${PN}-${PV}

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-30 13:11:28 +01:00
Zhai Edwin
01c5b29bf8 atk: Update to 1.30.0
Also fix meta data

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-30 13:11:27 +01:00
Zhai Edwin
98155951d1 leafpad: Update to 0.8.17
Also fix meta data

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-30 13:11:27 +01:00
Zhai Edwin
db444206ca libcroco: Update to 0.6.2
Also fix meta data

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-30 13:11:27 +01:00
Zhai Edwin
c25e992763 dates: update to 0.4.11
Also fix meta data

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-30 13:11:27 +01:00
Zhai Edwin
75bd3e60cc contacts: Update to 0.12 from git
Also fix the meta data, and add GPLv3 license for src/contacts-dbus.c

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-30 13:11:26 +01:00
Zhai Edwin
fd32855dda tasks: update to 0.16
Also fix the meta data, and add a patch from upstream to fix the compilation

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-30 13:11:26 +01:00
Zhai Edwin
53556dd293 screenshot: Update to svn_r292
Also fix the meta data

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-30 13:11:26 +01:00
Richard Purdie
99d883f81a classes/package_ipk|_deb.bbclass: Make sure versions correctly make it into output packages
The version information part of package dependency strings was not ending up
in the output packages correctly. This patch fixes this and ensures the version
information isn't lost.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-30 09:48:59 +01:00
Richard Purdie
9a543b75ca bitbake: Add bb.utils.join_deps to handle creation of dependency strings with versions
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-30 09:47:36 +01:00
Kevin Tian
b180d7f488 iproute: upgrade to 2.6.34
(borrow from OE 2.6.34 recipe)
[Patches-poky]
    REMOVE _iproute2-2.6.15_no_strip.diff_: not required now
    REMOVE _new-flex-fix.patch_: not required now
[Patches-OE]
    TAKE   _configure-cross.patch_: don't invoke gcc directly
[Recipes]
    - Add metadata
    - fix SRC_URI for new version
    - no {S} now
    - use alternative to enable 'ip' instead of using busybox
    - move shared documents to right destination
    - not take from OE:
        * no need for specific do_configure

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-29 17:13:38 +01:00
Zhai Edwin
7510eb1061 xcursor-transparent-theme: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:38 +01:00
Zhai Edwin
3dc7be6746 tslib: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:38 +01:00
Zhai Edwin
779c58db9f sato-icon-theme: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:38 +01:00
Zhai Edwin
15da3d0702 matchbox-theme-sata: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
58d1a6efcd matchbox-terminal: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
0b4a869d16 matchbox-session-sato: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
43cec004f5 matchbox-session: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
4bf6605924 matchbox-desktop-sato: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
1f8a50fb1c matchbox-desktop: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
eb25db6892 libowl-av: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
486d52c624 libowl: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
3f7790dae8 libmatchbox: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
4f95e0b443 gnome-mime-data: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
1633f680e3 xrestop: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
2038319df1 xtscal: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Zhai Edwin
8ff65f31e3 owl-video: Fix meta data
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2010-06-29 17:13:37 +01:00
Kevin Tian
53afb95be3 distro-tracking: update tracking fields for previous upgraded recipes
pax-utils
sudo
blktool
libdaemon

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-29 17:13:37 +01:00
Kevin Tian
15bb70550b libdaemon: upgrade to 0.14
Also fix metadata information. Remove unavailable "--disable-doxygen" option

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-29 17:13:37 +01:00
Kevin Tian
14767a3987 blktool: upgrade to 4-6
Unlike the big jump in version (4 -> 4-6), blktool is actually quite stable since
version 4 (2005). All the changes in 4-6 are about typo fix and debian package
control enhancement.

Fixed metadata accordingly.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-29 17:13:37 +01:00
Kevin Tian
3627ee3d7f pax-utils: upgrade to 0.2.1
- update metadata. license checksum is skipped, as pax-utils is depended by do_package task itself.
  I.e. the 1st do_package will be run after pax-utils-native is built. So far checksum verification
  is included in do_package task
- no need to override {S} since {S} uses {BPN}
- no need to define "_GNU_SOURCE" which has been included by source
  tar ball. Also remove do_compile override accordingly
- remove recipe internal md5sum, which is not used by Poky

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-29 17:13:37 +01:00
Yu Ke
f91911a0e0 xwininfo: upgrade to latest version 1.0.5
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
b20f72598f xset: upgrade to latest 1.1.0
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
7189a0f5d2 xprop: upgrade to latest version 1.1.0
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
6abf79dbf6 xmodmap: upgrade to latest version 1.0.4
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
d0fcdab99b xkbcomp: upgrade to latest version 1.1.1
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
10f2beba8e xinit: upgrade to latest version 1.2.1
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
876c8df1da xhost: upgrade to latest version 1.0.3
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
1572a23705 xdpyinfo: upgrade to latest version 1.1.0
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
ec68b8ac04 xauth: upgrade to latest version 1.0.4
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
dccc9dddb7 xorg-app-common.inc: add BUGTRACKER
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
34ba2c6486 libxfontcache: upgrade to latest version 1.0.5
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
5e2162039e libdrm: upgrade to latest version 2.4.21
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
663fddca98 libdrm: meta data update
add the description, homepage,
and change the variable order according to the style guide

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:36 +01:00
Yu Ke
2987e508ac distro_tracking_field: add distro tracking field for graphic core and app receips
they are:
    mkfontdir
    mkfontscale
    bigreqsproto
    evieext
    libxxf86dga
    x11-common
    xf86-input-keyboard
    xf86-input-mouse
    xf86-input-vmmouse

Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-29 17:13:35 +01:00
Dexuan Cui
74c5ebf239 Distro Tracking: add distro tracking field for recipes of Graphics libs
They are:

libxsettings-client
settings-daemon
encodings
font-alias
font-util
xorg-minimal-fonts
calibrateproto
compositeproto
damageproto
dmxproto
fixesproto
fontcacheproto
fontsproto
glproto
inputproto
kbproto
libdmx
libxi
libxinerama
libxp
libxtst
printproto
randrproto
recordproto
renderproto
resourceproto
scrnsaverproto
trapproto
videoproto
xcmiscproto
xf86bigfontproto
xf86dgaproto
xf86driproto
xf86miscproto
xf86rushproto
xineramaproto

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-29 17:13:35 +01:00
Dexuan Cui
5b74118447 font-util: fix LICENSE to "BSD & MIT-style & Unicode"
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-29 17:13:35 +01:00
Joshua Lock
6ca31b0522 xorg-xserver: move older xserver's to meta-extras
Move xservers which are only used by retired machines to meta-extras

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-29 15:20:33 +01:00
Joshua Lock
b6fcd71cb5 linux: move some older kernels to meta-extras
Move kernels for retired machines to meta-extras

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-29 15:20:33 +01:00
Joshua Lock
5dab2c9aa7 Move some machines which no longer build to meta-extras
om-gta01, om-gta02, nokia700, nokia800 and mx31litekit no longer build and we
don't have a maintainer for them so move them to meta-extras

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-29 15:20:33 +01:00
Jeff Dike
6418d0492a bitbake: create cooker object after cleaning the environment
Previously, the cooker object was created before the environment was
cleaned, saving everything that was in the environment and dumping
into the run scripts.

The patch ensures that the cooker gets a cleaned environment when it's
created.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-29 13:33:24 +01:00
Jeff Dike
f9d7e9e3be bitbake: Move the logger initialization from cooker to utils
In order to move the environment cleaning, which wants to log a
message, before cooker creation, the logging facility initialization
needs to happen earlier.  So, it is now in init_logger in utils.py and
called from bitbake before the creation of the data object.

It also seems more correct to initialize a global facility like this
from a more global context than the creation of an object, of which
there could theoretically be many.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-29 13:32:04 +01:00
Enric Balletbo i Serra
132122e313 busybox: fix unexpected "done" in /etc/udhcpc.d/50default script.
Run udhcpc results in

 udhcpc (v1.15.3) started
 /etc/udhcpc.d/50default: line 37: syntax error: unexpected "done" (expecting "fi")
 run-parts: /etc/udhcpc.d/50default exited with code 2

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-29 12:38:02 +01:00
Kevin Tian
0f806dfec8 qemux86/xorg.conf: no DefaultDepth for VMware SVGA driver
VMware SVGA driver needs to have same depth between the host and the guest. Or put in
other word, the depth read by the guest is the value read from host. The guest is not
allowed to change virtual depth to other value. With DefaultDepth option xorg.conf,
vmware driver rejects to work with suggestion "Please do not specify a depth on the
command line or via the config file".

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-29 12:34:42 +01:00
Kevin Tian
9207cd4015 qemu: fix VMware VGA depth calculation error
VMware SVGA presents to the guest with the depth of the host surface it renders
to, and rejects to work if the two sides are mismatched. One problem is that
current VMware VGA may calculate a wrong host depth, and then memcpy from virtual
framebuffer to host surface may trigger segmentation fault. For example, when
launching Qemu in a VNC connection, VMware SVGA thinks depth as '32', however the
actual depth of VNC is '16'. The fault also happens when the host depth is not
32 bit.

Qemu <4b5db3749c5fdba93e1ac0e8748c9a9a1064319f> tempts to fix a similar issue, by
changing from hard-coded 24bit depth to instead query the surface allocator
(e.g. sdl). However it doesn't really work, because the point where query
is invoked is earlier than the point where sdl is initialized. At query time,
qemu uses a default surface allocator which, again, provides another hard-coded
depth value - 32bit. So it happens to make VMware SVGA working on some hosts,
but still fails in others.

To solve this issue, this commit introduces a postcall interface to display
surface, which is walked after surface allocators are actually initialized.
At that point it's then safe to query host depth and present to the guest.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-29 12:34:38 +01:00
Richard Purdie
bb3e4dda5d gcc: Add patch to allow disabling of libstdc++ linkage and hence fix gcc-runtime which was having broken configure tests due to the linker failures and assuming maths primitives were not in libm
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-29 00:35:02 +01:00
Joshua Lock
43f0d63237 bitbake: allow fakeroot functionality to be provided by an alternative program
If the variable FAKEROOT is set its value will be used, otherwise we default
to fakeroot.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-25 14:54:51 +01:00
Joshua Lock
4f14e0a240 pkgconfig: add patch to disable legacy scripts such as glib-config
On an F13 host with glib-config installed pkgconfig-native can get into a
horrible state with recursive calls between pkg-config and glib-config.
The patch adds a configure time option to disable legacy script support in
pkgconfig and makes use of the option for Poky.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-25 14:54:40 +01:00
Joshua Lock
c27b951109 handbook: PR should always be set, even if to 0
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-25 14:54:30 +01:00
Joshua Lock
b8e16403fa cross-canadian: ensure package dependencies are generated correctly
cross-canadian packages need to look for their SOLIBS in the nativesdk
sysroot so that dependencies are correctly picked up and meta-toolchains are
correctly built.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-25 14:54:20 +01:00
Joshua Lock
0d62b8d9b7 handbook: update the required dependencies list
The dependencies list in the introduction was missing chrpath and mercurial.
Also adds a note about the packages required to build qemu-native.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-25 14:54:11 +01:00
Richard Purdie
824895f14e qemu: Enable ppc system emulation and fix ppc build
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-24 08:19:58 +01:00
Joshua Lock
01e54ffb42 gdb-cross-canadian: build with the host-triplet prefix
Our cross-canadian tools our built with the host-triplet prefix, gdb should do
similar.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-23 18:43:45 +01:00
Scott Garman
698dab0109 kernel.bbclass: Remove additional binaries from staging
* Remove additonal binaries known to cause "strip command failed"
  errors during do_package on cross platforms.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2010-06-23 18:43:45 +01:00
Joshua Lock
c9e77c18aa qemu: fix sloppy merge
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-23 18:01:23 +01:00
Jeff Dike
8ce85086f6 qemu: Work around the crash seen on Ubuntu.
Due to different stack contents in sdl_display_init on Ubuntu vs other distros,
an uninitialized structure is causing a crash.  Zeroing the structure makes the
behavior uniform across distros, avoiding the Ubuntu crash, but doesn't fix the
underlying bugs, notably:
the return value of SDL_GetWMInfo needs to be checked, as it's currently
failing silently
the underlying reason for the failure of SDL_GetWMInfo needs to be found -
there is a GetWMINfo method in the internal SDL structure which is NULL, and
the reason for this needs to be found.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-06-23 17:32:12 +01:00
Dexuan Cui
a1d913a7fc linux-omap: fix build failure with gcc-4.3.3
Pull time.h patch from upstream Linux kernel
(commit 38332cb98772f5ea757e6486bed7ed0381cb5f98)

The patch fixes the following build failure:
  LD      .tmp_vmlinux1
kernel/built-in.o: In function `timespec_add_ns':
    undefined reference to `__aeabi_uldivmod'
kernel/built-in.o: In function `do_gettimeofday':
    undefined reference to `__aeabi_uldivmod'
    undefined reference to `__aeabi_uldivmod'
kernel/built-in.o: In function `timespec_add_ns':
    undefined reference to `__aeabi_uldivmod'
    undefined reference to `__aeabi_uldivmod'
kernel/built-in.o: more undefined references to `__aeabi_uldivmod'

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-23 14:41:25 +08:00
Joshua Lock
3ceb99937d binutils: add newer versions for crosssdk and cross-canadian
These providers seem to have slipped under the radar in the recent upgrade of
binutils.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-18 10:33:44 +01:00
Joshua Lock
3939b9c02b linux-libc-headers: delete include/scsi/scsi.h, it's not for userspace
include/scsi/scsi.h is not userland parsable and research indicates this is
because the header should not be exposed to userspace. Therefore remove it
in the install.

Research done by Tom Rini <tom_rini@mentor.com> in OE commit
91d3d92a626da89dfe13d63e68a90dbafdbaef1d

This has been the case since kernel 2.6.31

Bump glibc and uclibc PR's so that users have sane <scsi/scsi.h>

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-18 10:33:21 +01:00
Saul Wold
d2920a042a Distro Tracking: move to private directory and split into sections
This is a squash of all the other changes made to the distro tracking files
Below is a summary of all the changes in this squash

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

distro-track: update track of base libs and utils

libusb
libnl
grub
yum
update-modules
udev-extraconf (no .bb changes)
update-rc.d

Signed-off-by: Qing He <qing.he@intel.com>

distro_tracking_fields.inc: add eggdbus
distro_tracking_fields.inc: add overrides for previous recipes

Some recipes are fully local scripts. There's then no updates for
their metadata, and just add overrides for tracking purpose here.
Also fixes some patch information from previous overrides.
now each catetory has its own tracking .inc file, which is further
included by original global file

Signed-off-by: Kevin Tian <kevin.tian@intel.com>

distro_tracking_fields.inc: add some package info

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>

distro_tracking_fields: update diffstat fields
distro tracking: update latest for lttng-control

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-17 23:16:43 +01:00
Kevin Tian
181455c2f7 base-files: fix LICENSE from 'GPL' to 'GPLv2'
the license information is acquired from:
        "Richard Purdie <rpurdie@linux.intel.com>"

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:43 +01:00
Kevin Tian
2233d2e389 opkg-config-base: add LICENSE as 'MIT'
the license information is acquired from:
        "Richard Purdie <rpurdie@linux.intel.com>"

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:43 +01:00
Kevin Tian
14bb154571 network-suspend-scripts: fix LICENSE from 'GPL' to 'GPLv2'
the license information is acquired from:
        "Richard Purdie <rpurdie@linux.intel.com>"

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:43 +01:00
Kevin Tian
86568bcf5a initscripts: fix LICENSE from 'GPL' to 'GPLv2'
the license information is acquired from:
        "Richard Purdie <rpurdie@linux.intel.com>"

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:43 +01:00
Kevin Tian
bb1c803c31 initramfs-live-install: add LICENSE as 'MIT'
the license information is acquired from:
        "Richard Purdie <rpurdie@linux.intel.com>"

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:42 +01:00
Kevin Tian
2e82436244 initramfs-live-boot: add LICENSE as 'MIT'
the license information is acquired from:
        "Richard Purdie <rpurdie@linux.intel.com>"

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:42 +01:00
Kevin Tian
f4ceddf6d9 initramfs-boot: add LICENSE as 'MIT'
the license information is acquired from:
	"Richard Purdie <rpurdie@linux.intel.com>"

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:42 +01:00
Kevin Tian
4c9946bca7 e2fsprogs: fix sub-pacakge license fields
also change to use new patch parameter

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:42 +01:00
Kevin Tian
8decbce383 icu: fix metadata
also change to use new patch parameter

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:41 +01:00
Qing He
0ff5ca89bf portmap: use NO_TCP_WRAPPER instead of local patch
use NO_TCP_WRAPPER=1 in EXTRA_OEMAKE to disable -lwrap
also remove the redundent oe_compile()

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:41 +01:00
Qing He
db74847423 update-rc.d: fix metadate
update license fields
adjust ordering
change to use new patch parameter

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:41 +01:00
Qing He
1e04b2d9eb update-modules: fix metadata
trivial ordering update

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-17 23:16:41 +01:00
Qing He
eb5ed41f9e yum: fix metadata
update license and url
change to use new patch parameter

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:40 +01:00
Qing He
d0ebebd664 grub: fix metadata
update license fields
change to use new patch parameter

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:40 +01:00
Qing He
6c6ae8db0a libnl: fix metadata
update homepage and license
change to use new patch parameter

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:16:40 +01:00
Qing He
dac5590fa8 libusb: fix metadata
update homepage
change license to reflect GPL|BSD dual licensing of the header
update description to reflect the legacy version
change to use new patch parameter

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:15:06 +01:00
Yu Ke
3d4e130e85 xf86-input-vmmouse: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-17 23:13:37 +01:00
Yu Ke
4bf8a29f75 xf86-input-mouse: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-17 23:13:37 +01:00
Yu Ke
c848d6d803 xf86-input-keyboard: add new license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-17 23:13:37 +01:00
Yu Ke
e66624a69b mkfontscale: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-17 23:13:36 +01:00
Yu Ke
3f12612d90 mkfontdir: add license check
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-17 23:13:36 +01:00
Yu Ke
b57e551ec1 x11-common: change license from GPL to GPLv2
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-17 23:13:36 +01:00
Yu Ke
50b99d9e1b libxxf86dga: add license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-17 23:13:36 +01:00
Yu Ke
f419cbbba3 evieext: add description and license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-17 23:13:36 +01:00
Yu Ke
630fd09808 bigreqsproto: add description and license checksum
Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-06-17 23:13:35 +01:00
Dongxiao Xu
81f5a4148b task-poky-x11-sato: fix metadata
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-17 23:13:35 +01:00
Dongxiao Xu
139b4f2d58 task-poky-apps-x11-pimlico: fix metadata
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-17 23:13:35 +01:00
Dongxiao Xu
b9c5f24072 gst-meta-base: fix metadata
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-17 23:13:35 +01:00
Dongxiao Xu
5c215587e9 task-poky-tools: fix metadata
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-17 23:13:34 +01:00
Dongxiao Xu
0db46a31af task-poky-nfs: fix metadata
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-17 23:13:34 +01:00
Dongxiao Xu
b82e9a3746 task-poky-boot: fix metadata
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-17 23:13:34 +01:00
Dongxiao Xu
6aa28180c4 task-base: fix metadata
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-17 23:13:34 +01:00
Dongxiao Xu
3e83969482 bluez-dtl1-workaround: fix metadata
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-17 23:13:34 +01:00
Dongxiao Xu
239cf34d59 wireless-tools: fix metadata
Also change to use new patch parameter

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:13:33 +01:00
Dexuan Cui
7c4501824c xineramaproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:33 +01:00
Dexuan Cui
7704eab884 xf86rushproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:33 +01:00
Dexuan Cui
f8f89f2dd0 xf86miscproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:33 +01:00
Dexuan Cui
731c4a71dd xf86driproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:33 +01:00
Dexuan Cui
37d11224ba xf86dgaproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:32 +01:00
Dexuan Cui
30bbb590aa xf86bigfontproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:32 +01:00
Dexuan Cui
23a4a96f34 xcmiscproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:32 +01:00
Dexuan Cui
1173f6b665 videoproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:32 +01:00
Dexuan Cui
2f340b0a74 trapproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:31 +01:00
Dexuan Cui
12903e40c5 scrnsaverproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:31 +01:00
Dexuan Cui
0815a691a5 resourceproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:31 +01:00
Dexuan Cui
ab12524199 renderproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:31 +01:00
Dexuan Cui
94a9669492 recordproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:31 +01:00
Dexuan Cui
65a8a578ae randrproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:30 +01:00
Dexuan Cui
d1564ab556 printproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:30 +01:00
Dexuan Cui
6ae9b353df libxtst: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:30 +01:00
Dexuan Cui
0fae559a9b libxp: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:30 +01:00
Dexuan Cui
f5e0b36c1e libxinerama: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:29 +01:00
Dexuan Cui
1a1d6e6b62 libxi: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:29 +01:00
Dexuan Cui
8fe708e2a6 libdmx: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:29 +01:00
Dexuan Cui
e4c3b7e5ce kbproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:29 +01:00
Dexuan Cui
f02f19dcb5 inputproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:29 +01:00
Dexuan Cui
2b8d3756b4 glproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:28 +01:00
Dexuan Cui
e7e5947210 fontsproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:28 +01:00
Dexuan Cui
47da7e78ad fontcacheproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:28 +01:00
Dexuan Cui
45df656b8a fixesproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:28 +01:00
Dexuan Cui
aee6d6df11 dmxproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:27 +01:00
Dexuan Cui
03f52897be damageproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:27 +01:00
Dexuan Cui
dc98b21dcc compositeproto: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:27 +01:00
Dexuan Cui
7132e90e93 calibrateproto: fix metadata
Also change to use new patch parameter

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:13:27 +01:00
Dexuan Cui
52e12bd760 xorg-proto-common.inc: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:26 +01:00
Kevin Tian
f0c12ae751 module-init-tools: fix metadata
Also change to use new patch parameter

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:13:26 +01:00
Kevin Tian
6f80a528c3 psplash: fix metadata
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:13:26 +01:00
Kevin Tian
54bf2b7a78 polkit: fix metadata
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:13:26 +01:00
Kevin Tian
2fab4c6180 eggdbus_0.6.bb: fix metadata
change to use new patch parameter

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:13:26 +01:00
Dexuan Cui
ed1d07d058 font-util: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:25 +01:00
Dexuan Cui
5ada684e03 encodings: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:25 +01:00
Dexuan Cui
f3bc4cb826 xorg-font-common.inc: fix metadata
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-06-17 23:13:25 +01:00
Dexuan Cui
31bc90f71f settings-daemon: fix metadata
Also change to use new patch parameter

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-06-17 23:13:25 +01:00
Dexuan Cui
f879d7df27 libxsettings-client: fix metadata and add MIT-style-license
One tricky issue for license part. This package doesn't ship with its own COPYING file and autotools will install a GPLv2 one instead of the actual MIT-style license here. So create a MIT-style license on the fly to reflect the fact.

Use new patch parameters.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-06-17 23:13:24 +01:00
Nitin A Kamble
cea3fe7d6e binutils: remove older versions
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-17 23:13:05 +01:00
Dike, Jeffrey G
30e98b4a0d linux-libc-headers: Remove ioctls for deleted driver
2.6.33 removed the Hayes ESP driver.  The presence of these ioctls
makes setserial believe that ESP support should be built in, breaking its
build.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-06-17 12:33:10 +01:00
Joshua Lock
c87bf0cfc6 qemu: Fix linking of the native package on Fedora 13
Fedora 13 switched the default behaviour of the linker to no longer
indirectly link to required libraries (i.e. dependencies of a library
already linked to). Therefore we need to explicitly pass the depended on
libraries into the linker for building to work on Fedora 13.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-15 12:33:11 +01:00
Joshua Lock
5101076eab handbook: Fix stylesheet
Some sizes where defined without units (in our case px) causing display of the
header of the handbook to be broken.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-14 14:33:07 +01:00
Joshua Lock
c350927b22 sanity.bbclass: Fix test for i686 SDKMACHINE
The 'is' keyword tests for object identity, returning True if the variables are
both referencing the same object. Changed the test to use the equality
operator, which compares the values of the objects.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-14 12:53:48 +01:00
Joshua Lock
5735f03d18 handbook: Fix typo in last commit
Managed to mangle the command...

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-14 12:12:55 +01:00
Joshua Lock
45a26b92e3 handbook: fix extraction command
We ship bzipped tarballs now so we need to pass j to tar, not z

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-14 12:07:03 +01:00
Joshua Lock
85982ab6cd handbook: fix version reference
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-14 12:05:50 +01:00
Joshua Lock
c3e09804e5 handbook: Fix references to the stable release
The handbook was still talking about the purple release, we're green now

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-14 12:05:17 +01:00
Richard Purdie
71d24f5d1a Merge branch 'distro/master' of ssh://git.pokylinux.org/poky-contrib 2010-06-11 18:06:27 +01:00
Joshua Lock
d9062199b4 handbook: Fix generation of HTML handbook
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-11 15:27:23 +01:00
Joshua Lock
da8139499d Update version after Green release 2010-06-11 14:43:58 +01:00
Joshua Lock
c7f6eab8b1 packaged-staging.bbclass: fix typo in scan_cmd
it's PSTAGE_TMPDIR_STAGE, not PSTAGE_TMDPDIR_STAGE spotted by Chris Larson
<chris_larson@mentor.com>

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-11 14:43:58 +01:00
Saul Wold
fc2e5e0807 Fix my own type of BPV -> BPN
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-06-10 19:56:09 -07:00
Saul Wold
10a23e8618 Fixed bzip SRC_URI with ${BPN}
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-06-10 16:31:17 -07:00
Nitin A Kamble
c18e886380 Revert LICENSE fields for binutils recipe files
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:32 -07:00
Nitin A Kamble
b43fd541d3 scripts/create_pull_request fix a typo
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:32 -07:00
Nitin A Kamble
1d64687d13 update create_pull_request for distro/master
With this change the create_pull_request will be able to generate pull
requests to master as well as distro/master branch.

Some documentation is added in the Usage messange of the script.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:32 -07:00
Nitin A Kamble
046ed7e775 update distro tracking fields for libtool recipe
a new release just went out.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:32 -07:00
Nitin A Kamble
177a69639c Add distro tracking fields for gnu-config recipe
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:31 -07:00
Nitin A Kamble
04b3026451 gnu-config recipe: fix SECTION field
the SECTION is changed from base to devel.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:31 -07:00
Nitin A Kamble
31e522c582 Add distro tracking fields for more recipes
Added fields for these recipes
python-pyrex
python-scons
python-urlgrabber
python
yum-metadata-parser
quilt
tcl
unifdef
qmake-cross

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:31 -07:00
Nitin A Kamble
9a50a58591 Add distro tracking fields for more recipes
Added fields for these recipes:
python-dbus
python-gst
python-imaging
python-iniparse
python-pycairo
python-pycurl
python-pygobject
python-pygtk

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:31 -07:00
Nitin A Kamble
172944c3dd Add distro tracking fields for some recipes
distro tracking fields are filled for these recipes:

binutils
gcc
autoconf
automake
bison
diffstat
exmap-console
flex
gdb
gtk-theme-torturer
intltool

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:31 -07:00
Dongxiao Xu
a40c5e7cae Fix metadata for libmad
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-10 16:30:31 -07:00
Dongxiao Xu
6f4ef9d3d9 Fix metadata for libid3tag
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-10 16:30:31 -07:00
Dongxiao Xu
ecfeed0476 Fix metadata for liba52
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-10 16:30:31 -07:00
Dongxiao Xu
e3e37fdc1c Fix metadata for libical
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-10 16:30:31 -07:00
Dongxiao Xu
1d8873df39 Fix metadata for hostap-utils
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-10 16:30:30 -07:00
Dongxiao Xu
c655e048eb Fix metadata for lrzsz
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2010-06-10 16:30:30 -07:00
Qing He
ab26892544 Add distro tracking for previous metadata fixes
time
gdbm
pth
python-pycurl
bzip2
portmap

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-10 16:30:30 -07:00
Qing He
f2cab62f0c fix metadata for portmap
update license and homepage

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-10 16:30:30 -07:00
Qing He
68de40addd fix metadata for bzip2
update license and homepage
use $PN and $PV instead of literals

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-10 16:30:30 -07:00
Qing He
42881b8921 fix metadata for python-pycurl
update homepage, license and ordering

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-10 16:30:30 -07:00
Qing He
5c92b1050f fix metadata for pth
update license fields

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-10 16:30:30 -07:00
Qing He
e24d833c66 fix metadata for gdbm
update license and homepage

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-10 16:30:30 -07:00
Qing He
db28428efe fix metadata for time
update license related fields
slight ordering change
no version update

Signed-off-by: Qing He <qing.he@intel.com>
2010-06-10 16:30:29 -07:00
Nitin A Kamble
94a06edc56 add distro tracking fields for more recipes
Added files for these recipes:

make
run-postinsts
staging-linkage
nasm
oprofile
perl
prelink

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:29 -07:00
Nitin A Kamble
df1127390f lttng-viewer_0.8.83.bb: Fix SRC_URI
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:29 -07:00
Nitin A Kamble
f8acca9ade Add distro tracking fields for more recipes
Distro tracking metadata for these recipes is added

libtool
linux-libc-headers
lsof
lttng-control
lttng-viewer

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:29 -07:00
Nitin A Kamble
3d5e9f0a04 flex.inc : update HOMEPAGE metadata field
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 16:30:29 -07:00
Nitin A Kamble
2dcd8612c0 make 2.20.1 as new default version for binutils
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 15:02:50 -07:00
Nitin A Kamble
7c9ec39bb9 binutils: upgrade to version 2.20.1
Added a entry for bugtracker.
updated LICENSE
updated LIC_FILES_CHKSUM

The x86 build of binutils is working fine.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 15:02:50 -07:00
Nitin A Kamble
75ea847862 distro_tracking_fields.inc: new file for tracking
distro tracking fields are filled for these recipes:

binutils
gcc
autoconf
automake
bison
diffstat
exmap-console
flex
gdb
gtk-theme-torturer
intltool

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-10 15:02:50 -07:00
Kevin Tian
3421414377 Add distro overrides for previous metadata fixes
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-10 15:02:50 -07:00
Kevin Tian
cf01e506ed Fix metadata for e2fsprogs
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-10 15:02:50 -07:00
Kevin Tian
50d8843757 Fix metadata for dbus-wait
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-10 15:02:49 -07:00
5500 changed files with 214058 additions and 169073 deletions

38
.gitignore vendored
View File

@@ -2,34 +2,36 @@
*.pyo
build/conf/local.conf
build/conf/bblayers.conf
build/downloads
build/tmp/
build/sstate-cache
build/pyshtables.py
pstage/
scripts/poky-git-proxy-socks
sources/
meta-darwin
meta-maemo
meta-extras
meta-m2
meta-prvt*
poky-autobuilder*
*.swp
*.orig
*.rej
*~
handbook/poky-doc-tools/Makefile
handbook/poky-doc-tools/Makefile.in
handbook/poky-doc-tools/aclocal.m4
handbook/poky-doc-tools/autom4te.cache/
handbook/poky-doc-tools/common/Makefile
handbook/poky-doc-tools/common/Makefile.in
handbook/poky-doc-tools/common/fop-config.xml
handbook/poky-doc-tools/config.log
handbook/poky-doc-tools/config.status
handbook/poky-doc-tools/configure
handbook/poky-doc-tools/install-sh
handbook/poky-doc-tools/missing
handbook/poky-doc-tools/poky-docbook-to-pdf
handbook/poky-handbook.html
handbook/poky-handbook.pdf
handbook/poky-handbook.tgz
handbook/bsp-guide.html
handbook/bsp-guide.pdf
documentation/poky-ref-manual/poky-ref-manual.html
documentation/poky-ref-manual/poky-ref-manual.pdf
documentation/poky-ref-manual/poky-ref-manual.tgz
documentation/poky-ref-manual/bsp-guide.html
documentation/poky-ref-manual/bsp-guide.pdf
documentation/bsp-guide/bsp-guide.html
documentation/bsp-guide/bsp-guide.pdf
documentation/bsp-guide/bsp-guide.tgz
documentation/yocto-project-qs/yocto-project-qs.html
documentation/yocto-project-qs/yocto-project-qs.tgz
documentation/kernel-manual/kernel-manual.html
documentation/kernel-manual/kernel-manual.tgz
documentation/kernel-manual/kernel-manual.pdf

View File

@@ -26,6 +26,7 @@ The following boards are supported by Poky:
* Marvell PXA3xx Zylonite (zylonite)
* Logic iMX31 Lite Kit (mx31litekit)
* Phytec phyCORE-iMX31 (mx31phy)
* Texas Instruments Beagleboard (beagleboard)
For more information see board's section below. The Poky MACHINE setting
corresponding to the board is given in brackets.
@@ -45,14 +46,6 @@ The following consumer devices are supported by Poky:
For more information see board's section below. The Poky MACHINE setting
corresponding to the board is given in brackets.
Poky Boot CD (bootcdx86)
========================
The Poky boot CD iso images are designed as a demonstration of the Poky
environment and to show the versatile image formats Poky can generate. It will
run on Pentium2 or greater PC style computers. The iso image can be
burnt to CD and then booted from.
Hardware Reference Boards
=========================
@@ -318,9 +311,9 @@ On the first partition you need three files:
* a kernel renamed to "zImage"
* a default.txt which contains:
set kernel "zImage"
set mtype "855"
set cmdline "root=/dev/mmcblk0p2 rw console=ttyS0,115200n8 console=tty0 rootdelay=5 fbcon=rotate:1"
set kernel "zImage"
set mtype "855"
set cmdline "root=/dev/mmcblk0p2 rw console=ttyS0,115200n8 console=tty0 rootdelay=5 fbcon=rotate:1"
boot2
On the second parition the root file system is extracted as root. A different
@@ -433,4 +426,149 @@ following differences:
$ cp ./tmp/deploy/images/gnu-tar /path/to/my-cf-card/gnu-tar
Intel Atom based PCs and devices (atom-pc)
==========================================
The atom-pc MACHINE is tested on the following platforms:
o Asus eee901
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
supports ethernet, wifi, sound, and i915 graphics by default in addition to
common PC input devices, busses, and so on.
Depending on the device, it can boot from a traditional hard-disk, a USB device,
or over the network. Writing poky generated images to physical media is
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 poky-image-minimal-directdisk
2. Use the "dd" utility to write the image to the raw block device. For example:
# dd if=poky-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:
$ bitbake poky-image-minimal-live
2. Use the "dd" utility to write the image to the raw block device. For
example:
# dd if=poky-image-minimal-live-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
particular layout and cannot handle anything else). There are two possible
solutions to this problem:
1. Change the BIOS USB Device setting to HDD mode. The label will vary by
device, but the idea is to force BIOS to read the Cylinder/Head/Sector
geometry from the device.
2. Without such an option, the BIOS generally boots the device in USB-ZIP
mode.
a. Configure the USB device for USB-ZIP mode:
# mkdiskimage -4 /dev/sdb 0 63 62
Where 63 and 62 are the head and sector count as reported by fdisk.
Remove and reinsert the device to allow the kernel to detect the new
partition layout.
b. Copy the contents of the poky image to the USB-ZIP mode device:
# mount -o loop poky-image-minimal-live-atom-pc.hddimg /tmp/image
# mount /dev/sdb4 /tmp/usbkey
# cp -rf /tmp/image/* /tmp/usbkey
c. Install the syslinux boot loader:
# syslinux /dev/sdb4
Install the boot device in the target board and configure the BIOS to boot
from it.
For more details on the USB-ZIP scenario, see the syslinux documentation:
http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=blob_plain;f=doc/usbkey.txt;hb=HEAD
Texas Instruments Beagleboard (beagleboard)
===========================================
The Beagleboard is an ARM Cortex-A8 development board with USB, DVI-D, S-Video,
2D/3D accelerated graphics, audio, serial, JTAG, and SD/MMC. The xM adds a
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 xM
TODO: need someone with a Beagleboard C4 to verify these instructions.
Due to the lack of NAND on the xM, the install and boot process varies a bit
between boards. The C4 can run the x-loader and u-boot binaries from NAND or
the SD, while the xM can only run them from the SD. The following instructions
apply to both the C4 and the xM, but te C4 can skip step 2 (as noted below),
and may require modification of the NAND environment.
1. Partition and format an SD card:
# fdisk -lu /dev/mmcblk0
Disk /dev/mmcblk0: 3951 MB, 3951034368 bytes
255 heads, 63 sectors/track, 480 cylinders, total 7716864 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 63 144584 72261 c Win95 FAT32 (LBA)
/dev/mmcblk0p2 144585 465884 160650 83 Linux
# mkfs.vfat -F 16 -n "boot" /dev/mmcblk0p1
# mke2fs -j -L "root" /dev/mmcblk0p2
The following assumes the SD card partition 1 and 2 are mounted at
/media/boot and /media/root respectively. The files referenced here
are made available after the build in build/tmp/deploy/images.
2. Install the boot loaders
This step can be omitted for the C4 as it can have the x-loader and
u-boot installed in NAND.
# cp MLO-beagleboard /media/boot/MLO
# cp u-boot-beagleboard.bin /media/boot/u-boot.bin
3. Install the root filesystem
# tar x -C /media/root -f poky-image-$IMAGE_TYPE-beagleboard.tar.bz2
# tar x -C /media/root -f modules-$KERNEL_VERSION-beagleboard.tgz
4. Install the kernel uImage
# cp uImage-beagleboard.bin /media/boot/uImage
5. Prepare a u-boot script to simplify the boot process
The Beagleboard can be made to boot at this point from the u-boot command
shell. To automate this process, generate a user.scr script as follows.
Install uboot-mkimage (from uboot-mkimage on Ubuntu or uboot-tools on Fedora).
Prepare a script config:
# (cat << EOF
setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000'
setenv bootargs 'console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 ro'
boot
EOF
) > serial-boot.cmd
# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Poky Minimal" -d ./serial-boot.cmd ./user.scr
# cp user.scr /media/boot
6. Unmount the SD partitions and boot the Beagleboard

View File

@@ -1,7 +1,7 @@
Tim Ansell <mithro@mithis.net>
Phil Blundell <pb@handhelds.org>
Seb Frankengul <seb@frankengul.org>
Holger Freyther <zecke@handhelds.org>
Holger Freyther <holger@moiji-mobile.com>
Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
Chris Larson <kergoth@handhelds.org>
Ulrich Luckas <luckas@musoft.de>

View File

@@ -138,7 +138,7 @@ Changes in Bitbake 1.9.x:
directory != the cache dir.
- Add md5 and sha256 checksum generation functions to utils.py
- Correctly handle '-' characters in class names (#2958)
- Make sure expandKeys has been called on the data dictonary before running tasks
- Make sure expandKeys has been called on the data dictionary before running tasks
- Correctly add a task override in the form task-TASKNAME.
- Revert the '-' character fix in class names since it breaks things
- When a regexp fails to compile for PACKAGES_DYNAMIC, print a more useful error (#4444)

View File

@@ -22,154 +22,186 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import sys, os, getopt, re, time, optparse, xmlrpclib
sys.path.insert(0,os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
import bb
import os
import sys, logging
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),
'lib'))
import optparse
import warnings
from traceback import format_exception
try:
import bb
except RuntimeError, exc:
sys.exit(str(exc))
from bb import event
import bb.msg
from bb import cooker
from bb import ui
from bb import server
from bb.server import none
#from bb.server import xmlrpc
__version__ = "1.9.0"
__version__ = "1.11.0"
logger = logging.getLogger("BitBake")
if sys.hexversion < 0x020500F0:
print "Sorry, python 2.5 or later is required for this version of bitbake"
sys.exit(1)
#============================================================================#
# BBOptions
#============================================================================#
class BBConfiguration( object ):
class BBConfiguration(object):
"""
Manages build options and configurations for one run
"""
def __init__( self, options ):
def __init__(self, options):
for key, val in options.__dict__.items():
setattr( self, key, val )
setattr(self, key, val)
self.pkgs_to_build = []
def print_exception(exc, value, tb):
"""
Print the exception to stderr, only showing the traceback if bitbake
debugging is enabled.
"""
if not bb.msg.debug_level['default']:
tb = None
def get_ui(config):
if config.ui:
interface = config.ui
else:
interface = 'knotty'
sys.__excepthook__(exc, value, tb)
try:
# Dynamically load the UI based on the ui name. Although we
# suggest a fixed set this allows you to have flexibility in which
# ones are available.
module = __import__("bb.ui", fromlist = [interface])
return getattr(module, interface).main
except AttributeError:
sys.exit("FATAL: Invalid user interface '%s' specified.\n"
"Valid interfaces: depexp, goggle, ncurses, knotty [default]." % interface)
#============================================================================#
# main
#============================================================================#
# Display bitbake/OE warnings via the BitBake.Warnings logger, ignoring others"""
warnlog = logging.getLogger("BitBake.Warnings")
_warnings_showwarning = warnings.showwarning
def _showwarning(message, category, filename, lineno, file=None, line=None):
if file is not None:
if _warnings_showwarning is not None:
_warnings_showwarning(message, category, filename, lineno, file, line)
else:
s = warnings.formatwarning(message, category, filename, lineno)
warnlog.warn(s)
warnings.showwarning = _showwarning
warnings.filterwarnings("ignore")
warnings.filterwarnings("default", module="(<string>$|(oe|bb)\.)")
warnings.filterwarnings("ignore", category=PendingDeprecationWarning)
warnings.filterwarnings("ignore", category=ImportWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning, module="<string>$")
warnings.filterwarnings("ignore", message="With-statements now directly support multiple context managers")
def main():
return_value = 0
pythonver = sys.version_info
if pythonver[0] < 2 or (pythonver[0] == 2 and pythonver[1] < 5):
print "Sorry, bitbake needs python 2.5 or later."
sys.exit(1)
parser = optparse.OptionParser( version = "BitBake Build Tool Core version %s, %%prog version %s" % ( bb.__version__, __version__ ),
usage = """%prog [options] [package ...]
parser = optparse.OptionParser(
version = "BitBake Build Tool Core version %s, %%prog version %s" % (bb.__version__, __version__),
usage = """%prog [options] [package ...]
Executes the specified task (default is 'build') for a given set of BitBake files.
It expects that BBFILES is defined, which is a space separated list of files to
be executed. BBFILES does support wildcards.
Default BBFILES are the .bb files in the current directory.""" )
Default BBFILES are the .bb files in the current directory.""")
parser.add_option( "-b", "--buildfile", help = "execute the task against this .bb file, rather than a package from BBFILES.",
action = "store", dest = "buildfile", default = None )
parser.add_option("-b", "--buildfile", help = "execute the task against this .bb file, rather than a package from BBFILES.",
action = "store", dest = "buildfile", default = None)
parser.add_option( "-k", "--continue", help = "continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.",
action = "store_false", dest = "abort", default = True )
parser.add_option("-k", "--continue", help = "continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.",
action = "store_false", dest = "abort", default = True)
parser.add_option( "-a", "--tryaltconfigs", help = "continue with builds by trying to use alternative providers where possible.",
action = "store_true", dest = "tryaltconfigs", default = False )
parser.add_option("-a", "--tryaltconfigs", help = "continue with builds by trying to use alternative providers where possible.",
action = "store_true", dest = "tryaltconfigs", default = False)
parser.add_option( "-f", "--force", help = "force run of specified cmd, regardless of stamp status",
action = "store_true", dest = "force", default = False )
parser.add_option("-f", "--force", help = "force run of specified cmd, regardless of stamp status",
action = "store_true", dest = "force", default = False)
parser.add_option( "-i", "--interactive", help = "drop into the interactive mode also called the BitBake shell.",
action = "store_true", dest = "interactive", default = False )
parser.add_option("-c", "--cmd", help = "Specify task to execute. Note that this only executes the specified task for the providee and the packages it depends on, i.e. 'compile' does not implicitly call stage for the dependencies (IOW: use only if you know what you are doing). Depending on the base.bbclass a listtasks tasks is defined and will show available tasks",
action = "store", dest = "cmd")
parser.add_option( "-c", "--cmd", help = "Specify task to execute. Note that this only executes the specified task for the providee and the packages it depends on, i.e. 'compile' does not implicitly call stage for the dependencies (IOW: use only if you know what you are doing). Depending on the base.bbclass a listtasks tasks is defined and will show available tasks",
action = "store", dest = "cmd" )
parser.add_option("-r", "--read", help = "read the specified file before bitbake.conf",
action = "append", dest = "file", default = [])
parser.add_option( "-r", "--read", help = "read the specified file before bitbake.conf",
action = "append", dest = "file", default = [] )
parser.add_option("-v", "--verbose", help = "output more chit-chat to the terminal",
action = "store_true", dest = "verbose", default = False)
parser.add_option( "-v", "--verbose", help = "output more chit-chat to the terminal",
action = "store_true", dest = "verbose", default = False )
parser.add_option( "-D", "--debug", help = "Increase the debug level. You can specify this more than once.",
parser.add_option("-D", "--debug", help = "Increase the debug level. You can specify this more than once.",
action = "count", dest="debug", default = 0)
parser.add_option( "-n", "--dry-run", help = "don't execute, just go through the motions",
action = "store_true", dest = "dry_run", default = False )
parser.add_option("-n", "--dry-run", help = "don't execute, just go through the motions",
action = "store_true", dest = "dry_run", default = False)
parser.add_option( "-p", "--parse-only", help = "quit after parsing the BB files (developers only)",
action = "store_true", dest = "parse_only", default = False )
parser.add_option("-S", "--dump-signatures", help = "don't execute, just dump out the signature construction information",
action = "store_true", dest = "dump_signatures", default = False)
parser.add_option( "-d", "--disable-psyco", help = "disable using the psyco just-in-time compiler (not recommended)",
action = "store_true", dest = "disable_psyco", default = False )
parser.add_option("-p", "--parse-only", help = "quit after parsing the BB files (developers only)",
action = "store_true", dest = "parse_only", default = False)
parser.add_option( "-s", "--show-versions", help = "show current and preferred versions of all packages",
action = "store_true", dest = "show_versions", default = False )
parser.add_option("-d", "--disable-psyco", help = "disable using the psyco just-in-time compiler (not recommended)",
action = "store_true", dest = "disable_psyco", default = False)
parser.add_option( "-e", "--environment", help = "show the global or per-package environment (this is what used to be bbread)",
action = "store_true", dest = "show_environment", default = False )
parser.add_option("-s", "--show-versions", help = "show current and preferred versions of all packages",
action = "store_true", dest = "show_versions", default = False)
parser.add_option( "-g", "--graphviz", help = "emit the dependency trees of the specified packages in the dot syntax",
action = "store_true", dest = "dot_graph", default = False )
parser.add_option("-e", "--environment", help = "show the global or per-package environment (this is what used to be bbread)",
action = "store_true", dest = "show_environment", default = False)
parser.add_option( "-I", "--ignore-deps", help = """Assume these dependencies don't exist and are already provided (equivalent to ASSUME_PROVIDED). Useful to make dependency graphs more appealing""",
action = "append", dest = "extra_assume_provided", default = [] )
parser.add_option("-g", "--graphviz", help = "emit the dependency trees of the specified packages in the dot syntax",
action = "store_true", dest = "dot_graph", default = False)
parser.add_option( "-l", "--log-domains", help = """Show debug logging for the specified logging domains""",
action = "append", dest = "debug_domains", default = [] )
parser.add_option("-I", "--ignore-deps", help = """Assume these dependencies don't exist and are already provided (equivalent to ASSUME_PROVIDED). Useful to make dependency graphs more appealing""",
action = "append", dest = "extra_assume_provided", default = [])
parser.add_option( "-P", "--profile", help = "profile the command and print a report",
action = "store_true", dest = "profile", default = False )
parser.add_option("-l", "--log-domains", help = """Show debug logging for the specified logging domains""",
action = "append", dest = "debug_domains", default = [])
parser.add_option( "-u", "--ui", help = "userinterface to use",
parser.add_option("-P", "--profile", help = "profile the command and print a report",
action = "store_true", dest = "profile", default = False)
parser.add_option("-u", "--ui", help = "userinterface to use",
action = "store", dest = "ui")
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("", "--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)
options, args = parser.parse_args(sys.argv)
configuration = BBConfiguration(options)
configuration.pkgs_to_build = []
configuration.pkgs_to_build.extend(args[1:])
configuration.initial_path = os.environ['PATH']
ui_main = get_ui(configuration)
loghandler = event.LogHandler()
logger.addHandler(loghandler)
#server = bb.server.xmlrpc
server = bb.server.none
# 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")
cooker_logfile = os.path.join(os.getcwd(), "cooker.log")
cooker = bb.cooker.BBCooker(configuration, server)
bb.utils.init_logger(bb.msg, configuration.verbose, configuration.debug,
configuration.debug_domains)
# Clear away any spurious environment variables. But don't wipe the
# environment totally. This is necessary to ensure the correct operation
# of the UIs (e.g. for DISPLAY, etc.)
bb.utils.clean_environment()
cooker = bb.cooker.BBCooker(configuration, server)
cooker.parseCommandLine()
serverinfo = server.BitbakeServerInfo(cooker.server)
server.BitBakeServerFork(serverinfo, cooker.serve, cooker_logfile)
server.BitBakeServerFork(cooker, cooker.server, serverinfo, cooker_logfile)
del cooker
sys.excepthook = print_exception
logger.removeHandler(loghandler)
# Setup a connection to the server (cooker)
serverConnection = server.BitBakeServerConnection(serverinfo)
server_connection = server.BitBakeServerConnection(serverinfo)
# Launch the UI
if configuration.ui:
@@ -178,20 +210,15 @@ Default BBFILES are the .bb files in the current directory.""" )
ui = "knotty"
try:
# Dynamically load the UI based on the ui name. Although we
# suggest a fixed set this allows you to have flexibility in which
# ones are available.
exec "from bb.ui import " + ui
exec "return_value = " + ui + ".init(serverConnection.connection, serverConnection.events)"
except ImportError:
print "FATAL: Invalid user interface '%s' specified. " % ui
print "Valid interfaces are 'ncurses', 'depexp' or the default, 'knotty'."
except Exception, e:
print "FATAL: Unable to start to '%s' UI due to exception: %s." % (configuration.ui, e)
return server.BitbakeUILauch().launch(serverinfo, ui_main, server_connection.connection, server_connection.events)
finally:
serverConnection.terminate()
return return_value
server_connection.terminate()
if __name__ == "__main__":
ret = main()
try:
ret = main()
except Exception:
ret = 1
import traceback
traceback.print_exc(5)
sys.exit(ret)

12
bitbake/bin/bitbake-diffsigs Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env python
import os
import sys
import warnings
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
import bb.siggen
if len(sys.argv) > 2:
bb.siggen.compare_sigfiles(sys.argv[1], sys.argv[2])
else:
bb.siggen.dump_sigfile(sys.argv[1])

154
bitbake/bin/bitbake-layers Normal file
View File

@@ -0,0 +1,154 @@
#!/usr/bin/env python2.6
import cmd
import logging
import os.path
import sys
bindir = os.path.dirname(__file__)
topdir = os.path.dirname(bindir)
sys.path[0:0] = [os.path.join(topdir, 'lib')]
import bb.cache
import bb.cooker
import bb.providers
from bb.cooker import state
logger = logging.getLogger('BitBake')
default_cmd = 'show_appends'
def main(args):
logging.basicConfig(format='%(levelname)s: %(message)s')
bb.utils.clean_environment()
cmds = Commands()
if args:
cmds.onecmd(' '.join(args))
else:
cmds.onecmd(default_cmd)
return cmds.returncode
class Commands(cmd.Cmd):
def __init__(self):
cmd.Cmd.__init__(self)
self.returncode = 0
self.config = Config(parse_only=True)
self.cooker = bb.cooker.BBCooker(self.config,
self.register_idle_function)
self.config_data = self.cooker.configuration.data
bb.providers.logger.setLevel(logging.ERROR)
self.prepare_cooker()
def register_idle_function(self, function, data):
pass
def prepare_cooker(self):
sys.stderr.write("Parsing recipes..")
logger.setLevel(logging.ERROR)
try:
while self.cooker.state in (state.initial, state.parsing):
self.cooker.updateCache()
except KeyboardInterrupt:
self.cooker.shutdown()
self.cooker.updateCache()
sys.exit(2)
logger.setLevel(logging.INFO)
sys.stderr.write("done.\n")
self.cooker_data = self.cooker.status
self.cooker_data.appends = self.cooker.appendlist
def do_show_layers(self, args):
logger.info(str(self.config_data.getVar('BBLAYERS', True)))
def do_show_appends(self, args):
if not self.cooker_data.appends:
logger.info('No append files found')
return
logger.info('State of append files:')
for pn in self.cooker_data.pkg_pn:
self.show_appends_for_pn(pn)
self.show_appends_with_no_recipes()
def show_appends_for_pn(self, pn):
filenames = self.cooker_data.pkg_pn[pn]
best = bb.providers.findBestProvider(pn,
self.cooker.configuration.data,
self.cooker_data,
self.cooker_data.pkg_pn)
best_filename = os.path.basename(best[3])
appended, missing = self.get_appends_for_files(filenames)
if appended:
for basename, appends in appended:
logger.info('%s:', basename)
for append in appends:
logger.info(' %s', append)
if best_filename in missing:
logger.warn('%s: missing append for preferred version',
best_filename)
self.returncode |= 1
def get_appends_for_files(self, filenames):
appended, notappended = set(), set()
for filename in filenames:
_, cls = bb.cache.Cache.virtualfn2realfn(filename)
if cls:
continue
basename = os.path.basename(filename)
appends = self.cooker_data.appends.get(basename)
if appends:
appended.add((basename, frozenset(appends)))
else:
notappended.add(basename)
return appended, notappended
def show_appends_with_no_recipes(self):
recipes = set(os.path.basename(f)
for f in self.cooker_data.pkg_fn.iterkeys())
appended_recipes = self.cooker_data.appends.iterkeys()
appends_without_recipes = [self.cooker_data.appends[recipe]
for recipe in appended_recipes
if recipe not in recipes]
if appends_without_recipes:
appendlines = (' %s' % append
for appends in appends_without_recipes
for append in appends)
logger.warn('No recipes available for:\n%s',
'\n'.join(appendlines))
self.returncode |= 4
def do_EOF(self, line):
return True
class Config(object):
def __init__(self, **options):
self.pkgs_to_build = []
self.debug_domains = []
self.extra_assume_provided = []
self.file = []
self.debug = 0
self.__dict__.update(options)
def __getattr__(self, attribute):
try:
return super(Config, self).__getattribute__(attribute)
except AttributeError:
return None
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]) or 0)

120
bitbake/bin/bitbake-runtask Executable file
View File

@@ -0,0 +1,120 @@
#!/usr/bin/env python
import os
import sys
import warnings
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
try:
import cPickle as pickle
except ImportError:
import pickle
bb.msg.note(1, bb.msg.domain.Cache, "Importing cPickle failed. Falling back to a very slow implementation.")
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)
_warnings_showwarning = warnings.showwarning
def _showwarning(message, category, filename, lineno, file=None, line=None):
"""Display python warning messages using bb.msg"""
if file is not None:
if _warnings_showwarning is not None:
_warnings_showwarning(message, category, filename, lineno, file, line)
else:
s = warnings.formatwarning(message, category, filename, lineno)
s = s.split("\n")[0]
bb.msg.warn(None, s)
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()
debug = hashdata["msg-debug"]
debug_domains = hashdata["msg-debug-domains"]
verbose = hashdata["verbose"]
bb.utils.init_logger(bb.msg, verbose, debug, debug_domains)
cooker = bb.cooker.BBCooker(BBConfiguration(debug, debug_domains), None)
cooker.parseConfiguration()
cooker.bb_cache = bb.cache.init(cooker)
cooker.status = bb.cache.CacheData()
(fn, cls) = cooker.bb_cache.virtualfn2realfn(buildfile)
buildfile = cooker.matchFile(fn)
fn = cooker.bb_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)
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)
ret = 0
if sys.argv[4] != "True":
ret = bb.build.exec_task(fn, taskname, the_data)
sys.exit(ret)

View File

@@ -20,7 +20,7 @@
import optparse, os, sys
# bitbake
sys.path.append(os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
sys.path.append(os.path.join(os.path.dirname(os.path.dirname(__file__), 'lib'))
import bb
import bb.parse
from string import split, join
@@ -48,7 +48,7 @@ class HTMLFormatter:
From pydoc... almost identical at least
"""
while pairs:
(a,b) = pairs[0]
(a, b) = pairs[0]
text = join(split(text, a), b)
pairs = pairs[1:]
return text
@@ -87,7 +87,7 @@ class HTMLFormatter:
return txt + ",".join(txts)
def groups(self,item):
def groups(self, item):
"""
Create HTML to link to related groups
"""
@@ -99,12 +99,12 @@ class HTMLFormatter:
txt = "<p><b>See also:</b><br>"
txts = []
for group in item.groups():
txts.append( """<a href="group%s.html">%s</a> """ % (group,group) )
txts.append( """<a href="group%s.html">%s</a> """ % (group, group) )
return txt + ",".join(txts)
def createKeySite(self,item):
def createKeySite(self, item):
"""
Create a site for a key. It contains the header/navigator, a heading,
the description, links to related keys and to the groups.
@@ -149,8 +149,7 @@ class HTMLFormatter:
"""
groups = ""
sorted_groups = doc.groups()
sorted_groups.sort()
sorted_groups = sorted(doc.groups())
for group in sorted_groups:
groups += """<a href="group%s.html">%s</a><br>""" % (group, group)
@@ -185,8 +184,7 @@ class HTMLFormatter:
Create Overview of all avilable keys
"""
keys = ""
sorted_keys = doc.doc_keys()
sorted_keys.sort()
sorted_keys = sorted(doc.doc_keys())
for key in sorted_keys:
keys += """<a href="key%s.html">%s</a><br>""" % (key, key)
@@ -214,7 +212,7 @@ class HTMLFormatter:
description += "<h2 Description of Grozp %s</h2>" % gr
description += _description
items.sort(lambda x,y:cmp(x.name(),y.name()))
items.sort(lambda x, y:cmp(x.name(), y.name()))
for group in items:
groups += """<a href="key%s.html">%s</a><br>""" % (group.name(), group.name())
@@ -343,7 +341,7 @@ class DocumentationItem:
def addGroup(self, group):
self._groups.append(group)
def addRelation(self,relation):
def addRelation(self, relation):
self._related.append(relation)
def sort(self):
@@ -396,7 +394,7 @@ class Documentation:
"""
return self.__groups.keys()
def group_content(self,group_name):
def group_content(self, group_name):
"""
Return a list of keys/names that are in a specefic
group or the empty list
@@ -412,7 +410,7 @@ def parse_cmdline(args):
Parse the CMD line and return the result as a n-tuple
"""
parser = optparse.OptionParser( version = "Bitbake Documentation Tool Core version %s, %%prog version %s" % (bb.__version__,__version__))
parser = optparse.OptionParser( version = "Bitbake Documentation Tool Core version %s, %%prog version %s" % (bb.__version__, __version__))
usage = """%prog [options]
Create a set of html pages (documentation) for a bitbake.conf....
@@ -428,7 +426,7 @@ Create a set of html pages (documentation) for a bitbake.conf....
parser.add_option( "-D", "--debug", help = "Increase the debug level",
action = "count", dest = "debug", default = 0 )
parser.add_option( "-v","--verbose", help = "output more chit-char to the terminal",
parser.add_option( "-v", "--verbose", help = "output more chit-char to the terminal",
action = "store_true", dest = "verbose", default = False )
options, args = parser.parse_args( sys.argv )
@@ -443,7 +441,7 @@ def main():
The main Method
"""
(config_file,output_dir) = parse_cmdline( sys.argv )
(config_file, output_dir) = parse_cmdline( sys.argv )
# right to let us load the file now
try:

View File

@@ -1,4 +1,24 @@
au BufNewFile,BufRead *.bb setfiletype bitbake
au BufNewFile,BufRead *.bbclass setfiletype bitbake
au BufNewFile,BufRead *.inc setfiletype bitbake
" au BufNewFile,BufRead *.conf setfiletype bitbake
" Vim filetype detection file
" Language: BitBake
" Author: Ricardo Salveti <rsalveti@rsalveti.net>
" Copyright: Copyright (C) 2008 Ricardo Salveti <rsalveti@rsalveti.net>
" Licence: You may redistribute this under the same terms as Vim itself
"
" This sets up the syntax highlighting for BitBake files, like .bb, .bbclass and .inc
if &compatible || version < 600
finish
endif
" .bb and .bbclass
au BufNewFile,BufRead *.b{b,bclass} set filetype=bitbake
" .inc
au BufNewFile,BufRead *.inc set filetype=bitbake
" .conf
au BufNewFile,BufRead *.conf
\ if (match(expand("%:p:h"), "conf") > 0) |
\ set filetype=bitbake |
\ endif

View File

@@ -0,0 +1 @@
set sts=4 sw=4 et

View File

@@ -0,0 +1,85 @@
" Vim plugin file
" Purpose: Create a template for new bb files
" Author: Ricardo Salveti <rsalveti@gmail.com>
" Copyright: Copyright (C) 2008 Ricardo Salveti <rsalveti@gmail.com>
"
" This file is licensed under the MIT license, see COPYING.MIT in
" this source distribution for the terms.
"
" Based on the gentoo-syntax package
"
" Will try to use git to find the user name and email
if &compatible || v:version < 600
finish
endif
fun! <SID>GetUserName()
let l:user_name = system("git-config --get user.name")
if v:shell_error
return "Unknow User"
else
return substitute(l:user_name, "\n", "", "")
endfun
fun! <SID>GetUserEmail()
let l:user_email = system("git-config --get user.email")
if v:shell_error
return "unknow@user.org"
else
return substitute(l:user_email, "\n", "", "")
endfun
fun! BBHeader()
let l:current_year = strftime("%Y")
let l:user_name = <SID>GetUserName()
let l:user_email = <SID>GetUserEmail()
0 put ='# Copyright (C) ' . l:current_year .
\ ' ' . l:user_name . ' <' . l:user_email . '>'
put ='# Released under the MIT license (see COPYING.MIT for the terms)'
$
endfun
fun! NewBBTemplate()
let l:paste = &paste
set nopaste
" Get the header
call BBHeader()
" New the bb template
put ='DESCRIPTION = \"\"'
put ='HOMEPAGE = \"\"'
put ='LICENSE = \"\"'
put ='SECTION = \"\"'
put ='DEPENDS = \"\"'
put ='PR = \"r0\"'
put =''
put ='SRC_URI = \"\"'
" Go to the first place to edit
0
/^DESCRIPTION =/
exec "normal 2f\""
if paste == 1
set paste
endif
endfun
if !exists("g:bb_create_on_empty")
let g:bb_create_on_empty = 1
endif
" disable in case of vimdiff
if v:progname =~ "vimdiff"
let g:bb_create_on_empty = 0
endif
augroup NewBB
au BufNewFile *.bb
\ if g:bb_create_on_empty |
\ call NewBBTemplate() |
\ endif
augroup END

View File

@@ -1,127 +1,123 @@
" Vim syntax file
" Language: BitBake bb/bbclasses/inc
" Author: Chris Larson <kergoth@handhelds.org>
" Ricardo Salveti <rsalveti@rsalveti.net>
" Copyright: Copyright (C) 2004 Chris Larson <kergoth@handhelds.org>
" Copyright (C) 2008 Ricardo Salveti <rsalveti@rsalveti.net>
"
" Copyright (C) 2004 Chris Larson <kergoth@handhelds.org>
" This file is licensed under the MIT license, see COPYING.MIT in
" this source distribution for the terms.
"
" Language: BitBake
" Maintainer: Chris Larson <kergoth@handhelds.org>
" Filenames: *.bb, *.bbclass
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
syn case match
" Catch incorrect syntax (only matches if nothing else does)
" Syntax highlighting for bb, bbclasses and inc files.
"
syn match bbUnmatched "."
" It's an entirely new type, just has specific syntax in shell and python code
if &compatible || v:version < 600
finish
endif
if exists("b:current_syntax")
finish
endif
syn include @python syntax/python.vim
if exists("b:current_syntax")
unlet b:current_syntax
endif
" BitBake syntax
" Other
" Matching case
syn case match
syn match bbComment "^#.*$" display contains=bbTodo
syn keyword bbTodo TODO FIXME XXX contained
syn match bbDelimiter "[(){}=]" contained
syn match bbQuote /['"]/ contained
syn match bbArrayBrackets "[\[\]]" contained
" Indicates the error when nothing is matched
syn match bbUnmatched "."
" Comments
syn cluster bbCommentGroup contains=bbTodo,@Spell
syn keyword bbTodo COMBAK FIXME TODO XXX contained
syn match bbComment "#.*$" contains=@bbCommentGroup
" String helpers
syn match bbQuote +['"]+ contained
syn match bbDelimiter "[(){}=]" contained
syn match bbArrayBrackets "[\[\]]" contained
" BitBake strings
syn match bbContinue "\\$"
syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ excludenl end=+"+ contained keepend contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ excludenl end=+'+ contained keepend contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
syn match bbContinue "\\$"
syn region bbString matchgroup=bbQuote start=/"/ skip=/\\$/ excludenl end=/"/ contained keepend contains=bbTodo,bbContinue,bbVarInlinePy,bbVarDeref
syn region bbString matchgroup=bbQuote start=/'/ skip=/\\$/ excludenl end=/'/ contained keepend contains=bbTodo,bbContinue,bbVarInlinePy,bbVarDeref
" Vars definition
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 bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue
syn region bbVarPyValue start=+${@+ skip=+\\$+ excludenl end=+}+ contained contains=@python
" BitBake variable metadata
" Vars metadata flags
syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\)\@=" keepend excludenl contained contains=bbIdentifier nextgroup=bbVarEq
syn match bbVarBraces "[\${}]"
syn region bbVarDeref matchgroup=bbVarBraces start="${" end="}" contained
" syn region bbVarDeref start="${" end="}" contained
" syn region bbVarInlinePy start="${@" end="}" contained contains=@python
syn region bbVarInlinePy matchgroup=bbVarBraces start="${@" end="}" contained contains=@python
" Includes and requires
syn keyword bbInclude inherit include require contained
syn match bbIncludeRest ".*$" contained contains=bbString,bbVarDeref
syn match bbIncludeLine "^\(inherit\|include\|require\)\s\+" contains=bbInclude nextgroup=bbIncludeRest
syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite
" syn match bbVarDeref "${[a-zA-Z0-9\-_\.]\+}" contained
syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.]\+\(_[${}a-zA/-Z0-9\-_\.]\+\)\?\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq
" Add taks and similar
syn keyword bbStatement addtask addhandler after before EXPORT_FUNCTIONS contained
syn match bbStatementRest ".*$" skipwhite contained contains=bbStatement
syn match bbStatementLine "^\(addtask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
syn match bbIdentifier "[a-zA-Z0-9\-_\./]\+" display contained
"syn keyword bbVarEq = display contained nextgroup=bbVarValue
syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)" contained nextgroup=bbVarValue
syn match bbVarValue ".*$" contained contains=bbString
" BitBake variable metadata flags
syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\)\@=" keepend excludenl contained contains=bbIdentifier nextgroup=bbVarEq
"syn match bbVarFlagFlag "\[\([a-zA-Z0-9\-_\.]\+\)\]\s*\(=\)\@=" contains=bbIdentifier nextgroup=bbVarEq
" Functions!
syn match bbFunction "\h\w*" display contained
" BitBake python metadata
syn keyword bbPythonFlag python contained nextgroup=bbFunction
syn match bbPythonFuncDef "^\(python\s\+\)\(\w\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPythonFlag,bbFunction,bbDelimiter nextgroup=bbPythonFuncRegion skipwhite
syn region bbPythonFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@python
"hi def link bbPythonFuncRegion Comment
" OE Important Functions
syn keyword bbOEFunctions do_fetch do_unpack do_patch do_configure do_compile do_stage do_install do_package contained
" Generic Functions
syn match bbFunction "\h[0-9A-Za-z_-]*" display contained contains=bbOEFunctions
" BitBake shell metadata
syn include @shell syntax/sh.vim
if exists("b:current_syntax")
unlet b:current_syntax
endif
syn keyword bbShFakeRootFlag fakeroot contained
syn match bbShFuncDef "^\(fakeroot\s*\)\?\([0-9A-Za-z_-]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbDelimiter nextgroup=bbShFuncRegion skipwhite
syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@shell
syn keyword bbFakerootFlag fakeroot contained nextgroup=bbFunction
syn match bbShellFuncDef "^\(fakeroot\s*\)\?\(\w\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbFakerootFlag,bbFunction,bbDelimiter nextgroup=bbShellFuncRegion skipwhite
syn region bbShellFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@shell
"hi def link bbShellFuncRegion Comment
" BitBake python metadata
syn keyword bbPyFlag python contained
syn match bbPyFuncDef "^\(python\s\+\)\([0-9A-Za-z_-]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPyFlag,bbFunction,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@python
" BitBake 'def'd python functions
syn keyword bbDef def contained
syn region bbDefRegion start='^def\s\+\w\+\s*([^)]*)\s*:\s*$' end='^\(\s\|$\)\@!' contains=@python
syn keyword bbPyDef def contained
syn region bbPyDefRegion start='^\(def\s\+\)\([0-9A-Za-z_-]\+\)\(\s*(.*)\s*\):\s*$' end='^\(\s\|$\)\@!' contains=@python
" BitBake statements
syn keyword bbStatement include inherit require addtask addhandler EXPORT_FUNCTIONS display contained
syn match bbStatementLine "^\(include\|inherit\|require\|addtask\|addhandler\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
syn match bbStatementRest ".*$" contained contains=bbString,bbVarDeref
" Highlight
"
hi def link bbArrayBrackets Statement
hi def link bbUnmatched Error
hi def link bbContinue Special
hi def link bbDef Statement
hi def link bbPythonFlag Type
hi def link bbExportFlag Type
hi def link bbFakerootFlag Type
hi def link bbStatement Statement
hi def link bbString String
hi def link bbTodo Todo
hi def link bbComment Comment
hi def link bbOperator Operator
hi def link bbError Error
hi def link bbFunction Function
hi def link bbDelimiter Delimiter
hi def link bbIdentifier Identifier
hi def link bbVarEq Operator
hi def link bbQuote String
hi def link bbVarValue String
" hi def link bbVarInlinePy PreProc
hi def link bbVarDeref PreProc
hi def link bbVarBraces PreProc
" Highlighting Definitions
hi def link bbUnmatched Error
hi def link bbInclude Include
hi def link bbTodo Todo
hi def link bbComment Comment
hi def link bbQuote String
hi def link bbString String
hi def link bbDelimiter Keyword
hi def link bbArrayBrackets Statement
hi def link bbContinue Special
hi def link bbExport Type
hi def link bbExportFlag Type
hi def link bbIdentifier Identifier
hi def link bbVarDeref PreProc
hi def link bbVarDef Identifier
hi def link bbVarValue String
hi def link bbShFakeRootFlag Type
hi def link bbFunction Function
hi def link bbPyFlag Type
hi def link bbPyDef Statement
hi def link bbStatement Statement
hi def link bbStatementRest Identifier
hi def link bbOEFunctions Special
hi def link bbVarPyValue PreProc
let b:current_syntax = "bb"

View File

@@ -215,13 +215,11 @@ addtask printdate before do_build</screen></para>
<para>BitBake allows to install event handlers. Events are triggered at certain points during operation, such as, the beginning of operation against a given .bb, the start of a given task, task failure, task success, et cetera. The intent was to make it easy to do things like email notifications on build failure.</para>
<para><screen>addhandler myclass_eventhandler
python myclass_eventhandler() {
from bb.event import NotHandled, getName
from bb.event import getName
from bb import data
print "The name of the Event is %s" % getName(e)
print "The file we run for is %s" % data.getVar('FILE', e.data, True)
return NotHandled
print("The name of the Event is %s" % getName(e))
print("The file we run for is %s" % data.getVar('FILE', e.data, True))
}
</screen></para><para>
This event handler gets called every time an event is triggered. A global variable <varname>e</varname> is defined. <varname>e</varname>.data contains an instance of bb.data. With the getName(<varname>e</varname>)
@@ -318,9 +316,9 @@ a per URI parameters separated by a <quote>;</quote> consisting of a key and a v
<section>
<title>CVS File Fetcher</title>
<para>The URN for the CVS Fetcher is <emphasis>cvs</emphasis>. This Fetcher honors the variables <varname>DL_DIR</varname>, <varname>SRCDATE</varname>, <varname>FETCHCOMMAND_cvs</varname>, <varname>UPDATECOMMAND_cvs</varname>. <varname>DL_DIRS</varname> specifies where a temporary checkout is saved, <varname>SRCDATE</varname> specifies which date to use when doing the fetching (the special value of "now" will cause the checkout to be updated on every build), <varname>FETCHCOMMAND</varname> and <varname>UPDATECOMMAND</varname> specify which executables should be used when doing the CVS checkout or update.
<para>The URN for the CVS Fetcher is <emphasis>cvs</emphasis>. This Fetcher honors the variables <varname>DL_DIR</varname>, <varname>SRCDATE</varname>, <varname>FETCHCOMMAND_cvs</varname>, <varname>UPDATECOMMAND_cvs</varname>. <varname>DL_DIR</varname> specifies where a temporary checkout is saved, <varname>SRCDATE</varname> specifies which date to use when doing the fetching (the special value of "now" will cause the checkout to be updated on every build), <varname>FETCHCOMMAND</varname> and <varname>UPDATECOMMAND</varname> specify which executables should be used when doing the CVS checkout or update.
</para>
<para>The supported Parameters are <varname>module</varname>, <varname>tag</varname>, <varname>date</varname>, <varname>method</varname>, <varname>localdir</varname>, <varname>rsh</varname>. The <varname>module</varname> specifies which module to check out, the <varname>tag</varname> describes which CVS TAG should be used for the checkout by default the TAG is empty. A <varname>date</varname> can be specified to override the SRCDATE of the configuration to checkout a specific date. The special value of "now" will cause the checkout to be updated on every build.<varname>method</varname> is by default <emphasis>pserver</emphasis>, if <emphasis>ext</emphasis> is used the <varname>rsh</varname> parameter will be evaluated and <varname>CVS_RSH</varname> will be set. Finally <varname>localdir</varname> is used to checkout into a special directory relative to <varname>CVSDIR></varname>.
<para>The supported Parameters are <varname>module</varname>, <varname>tag</varname>, <varname>date</varname>, <varname>method</varname>, <varname>localdir</varname>, <varname>rsh</varname> and <varname>scmdata</varname>. The <varname>module</varname> specifies which module to check out, the <varname>tag</varname> describes which CVS TAG should be used for the checkout. By default the TAG is empty. A <varname>date</varname> can be specified to override the SRCDATE of the configuration to checkout a specific date. The special value of "now" will cause the checkout to be updated on every build.<varname>method</varname> is by default <emphasis>pserver</emphasis>, if <emphasis>ext</emphasis> is used the <varname>rsh</varname> parameter will be evaluated and <varname>CVS_RSH</varname> will be set. Finally <varname>localdir</varname> is used to checkout into a special directory relative to <varname>CVSDIR</varname>. If <varname>scmdata</varname> is set to <quote>keep</quote>
<screen><varname>SRC_URI</varname> = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext"
<varname>SRC_URI</varname> = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat"
</screen>
@@ -353,7 +351,7 @@ will be tried first when fetching a file if that fails the actual file will be t
</para>
<para>This Fetcher honors the variables <varname>FETCHCOMMAND_svn</varname>, <varname>DL_DIR</varname>, <varname>SRCDATE</varname>. <varname>FETCHCOMMAND</varname> contains the subversion command, <varname>DL_DIR</varname> is the directory where tarballs will be saved, <varname>SRCDATE</varname> specifies which date to use when doing the fetching (the special value of "now" will cause the checkout to be updated on every build).
</para>
<para>The supported Parameters are <varname>proto</varname>, <varname>rev</varname>. <varname>proto</varname> is the subversion prototype, <varname>rev</varname> is the subversions revision.
<para>The supported Parameters are <varname>proto</varname>, <varname>rev</varname> and <varname>scmdata</varname>. <varname>proto</varname> is the subversion protocol, <varname>rev</varname> is the subversion revision. If <varname>scmdata</varname> is set to <quote>keep</quote>, the <quote>.svn</quote> directories will be available during compile-time.
</para>
<para><screen><varname>SRC_URI</varname> = "svn://svn.oe.handhelds.org/svn;module=vip;proto=http;rev=667"
<varname>SRC_URI</varname> = "svn://svn.oe.handhelds.org/svn/;module=opie;proto=svn+ssh;date=20060126"
@@ -366,7 +364,7 @@ will be tried first when fetching a file if that fails the actual file will be t
</para>
<para>The Variables <varname>DL_DIR</varname>, <varname>GITDIR</varname> are used. <varname>DL_DIR</varname> will be used to store the checkedout version. <varname>GITDIR</varname> will be used as the base directory where the git tree is cloned to.
</para>
<para>The Parameters are <emphasis>tag</emphasis>, <emphasis>protocol</emphasis>. <emphasis>tag</emphasis> is a git tag, the default is <quote>master</quote>. <emphasis>protocol</emphasis> is the git protocol to use and defaults to <quote>rsync</quote>.
<para>The Parameters are <emphasis>tag</emphasis>, <emphasis>protocol</emphasis> and <emphasis>scmdata</emphasis>. <emphasis>tag</emphasis> is a git tag, the default is <quote>master</quote>. <emphasis>protocol</emphasis> is the git protocol to use and defaults to <quote>rsync</quote>. If <emphasis>scmdata</emphasis> is set to <quote>keep</quote>, the <quote>.git</quote> directory will be available during compile-time.
</para>
<para><screen><varname>SRC_URI</varname> = "git://git.oe.handhelds.org/git/vip.git;tag=version-1"
<varname>SRC_URI</varname> = "git://git.oe.handhelds.org/git/vip.git;protocol=http"

View File

@@ -3,7 +3,7 @@
#
# This is a copy on write dictionary and set which abuses classes to try and be nice and fast.
#
# Copyright (C) 2006 Tim Amsell
# Copyright (C) 2006 Tim Amsell
#
# 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,29 +18,31 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
#Please Note:
#Please Note:
# Be careful when using mutable types (ie Dict and Lists) - operations involving these are SLOW.
# Assign a file to __warn__ to get warnings about slow operations.
#
from __future__ import print_function
import copy
import types
types.ImmutableTypes = tuple([ \
types.BooleanType, \
types.ComplexType, \
types.FloatType, \
types.IntType, \
types.LongType, \
types.NoneType, \
types.TupleType, \
frozenset] + \
list(types.StringTypes))
ImmutableTypes = (
types.NoneType,
bool,
complex,
float,
int,
long,
tuple,
frozenset,
basestring
)
MUTABLE = "__mutable__"
class COWMeta(type):
pass
class COWDictMeta(COWMeta):
__warn__ = False
__hasmutable__ = False
@@ -59,12 +61,12 @@ class COWDictMeta(COWMeta):
__call__ = cow
def __setitem__(cls, key, value):
if not isinstance(value, types.ImmutableTypes):
if not isinstance(value, ImmutableTypes):
if not isinstance(value, COWMeta):
cls.__hasmutable__ = True
key += MUTABLE
setattr(cls, key, value)
def __getmutable__(cls, key, readonly=False):
nkey = key + MUTABLE
try:
@@ -77,10 +79,10 @@ class COWDictMeta(COWMeta):
return value
if not cls.__warn__ is False and not isinstance(value, COWMeta):
print >> cls.__warn__, "Warning: Doing a copy because %s is a mutable type." % key
print("Warning: Doing a copy because %s is a mutable type." % key, file=cls.__warn__)
try:
value = value.copy()
except AttributeError, e:
except AttributeError as e:
value = copy.copy(value)
setattr(cls, nkey, value)
return value
@@ -98,13 +100,13 @@ class COWDictMeta(COWMeta):
value = getattr(cls, key)
except AttributeError:
value = cls.__getmutable__(key, readonly)
# This is for values which have been deleted
# This is for values which have been deleted
if value is cls.__marker__:
raise AttributeError("key %s does not exist." % key)
return value
except AttributeError, e:
except AttributeError as e:
if not default is cls.__getmarker__:
return default
@@ -118,6 +120,9 @@ class COWDictMeta(COWMeta):
key += MUTABLE
delattr(cls, key)
def __contains__(cls, key):
return cls.has_key(key)
def has_key(cls, key):
value = cls.__getreadonly__(key, cls.__marker__)
if value is cls.__marker__:
@@ -127,7 +132,7 @@ class COWDictMeta(COWMeta):
def iter(cls, type, readonly=False):
for key in dir(cls):
if key.startswith("__"):
continue
continue
if key.endswith(MUTABLE):
key = key[:-len(MUTABLE)]
@@ -153,11 +158,11 @@ class COWDictMeta(COWMeta):
return cls.iter("keys")
def itervalues(cls, readonly=False):
if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
print >> cls.__warn__, "Warning: If you arn't going to change any of the values call with True."
print("Warning: If you arn't going to change any of the values call with True.", file=cls.__warn__)
return cls.iter("values", readonly)
def iteritems(cls, readonly=False):
if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
print >> cls.__warn__, "Warning: If you arn't going to change any of the values call with True."
print("Warning: If you arn't going to change any of the values call with True.", file=cls.__warn__)
return cls.iter("items", readonly)
class COWSetMeta(COWDictMeta):
@@ -176,13 +181,13 @@ class COWSetMeta(COWDictMeta):
def remove(cls, value):
COWDictMeta.__delitem__(cls, repr(hash(value)))
def __in__(cls, value):
return COWDictMeta.has_key(repr(hash(value)))
def iterkeys(cls):
raise TypeError("sets don't have keys")
def iteritems(cls):
raise TypeError("sets don't have 'items'")
@@ -199,120 +204,120 @@ if __name__ == "__main__":
import sys
COWDictBase.__warn__ = sys.stderr
a = COWDictBase()
print "a", a
print("a", a)
a['a'] = 'a'
a['b'] = 'b'
a['dict'] = {}
b = a.copy()
print "b", b
print("b", b)
b['c'] = 'b'
print
print()
print "a", a
print("a", a)
for x in a.iteritems():
print x
print "--"
print "b", b
print(x)
print("--")
print("b", b)
for x in b.iteritems():
print x
print
print(x)
print()
b['dict']['a'] = 'b'
b['a'] = 'c'
print "a", a
print("a", a)
for x in a.iteritems():
print x
print "--"
print "b", b
print(x)
print("--")
print("b", b)
for x in b.iteritems():
print x
print
print(x)
print()
try:
b['dict2']
except KeyError, e:
print "Okay!"
except KeyError as e:
print("Okay!")
a['set'] = COWSetBase()
a['set'].add("o1")
a['set'].add("o1")
a['set'].add("o2")
print "a", a
print("a", a)
for x in a['set'].itervalues():
print x
print "--"
print "b", b
print(x)
print("--")
print("b", b)
for x in b['set'].itervalues():
print x
print
print(x)
print()
b['set'].add('o3')
print "a", a
print("a", a)
for x in a['set'].itervalues():
print x
print "--"
print "b", b
print(x)
print("--")
print("b", b)
for x in b['set'].itervalues():
print x
print
print(x)
print()
a['set2'] = set()
a['set2'].add("o1")
a['set2'].add("o1")
a['set2'].add("o2")
print "a", a
print("a", a)
for x in a.iteritems():
print x
print "--"
print "b", b
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print x
print
print(x)
print()
del b['b']
try:
print b['b']
print(b['b'])
except KeyError:
print "Yay! deleted key raises error"
print("Yay! deleted key raises error")
if b.has_key('b'):
print "Boo!"
print("Boo!")
else:
print "Yay - has_key with delete works!"
print "a", a
print("Yay - has_key with delete works!")
print("a", a)
for x in a.iteritems():
print x
print "--"
print "b", b
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print x
print
print(x)
print()
b.__revertitem__('b')
print "a", a
print("a", a)
for x in a.iteritems():
print x
print "--"
print "b", b
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print x
print
print(x)
print()
b.__revertitem__('dict')
print "a", a
print("a", a)
for x in a.iteritems():
print x
print "--"
print "b", b
print(x)
print("--")
print("b", b)
for x in b.iteritems(readonly=True):
print x
print
print(x)
print()

View File

@@ -21,74 +21,119 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
__version__ = "1.9.0"
__version__ = "1.11.0"
__all__ = [
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")
"debug",
"note",
"error",
"fatal",
import os
import logging
import traceback
"mkdirhier",
"movefile",
"vercmp",
class NullHandler(logging.Handler):
def emit(self, record):
pass
# fetch
"decodeurl",
"encodeurl",
Logger = logging.getLoggerClass()
class BBLogger(Logger):
def __init__(self, name):
if name.split(".")[0] == "BitBake":
self.debug = self.bbdebug
Logger.__init__(self, name)
# modules
"parse",
"data",
"command",
"event",
"build",
"fetch",
"manifest",
"methodpool",
"cache",
"runqueue",
"taskdata",
"providers",
]
def bbdebug(self, level, msg, *args, **kwargs):
return self.log(logging.DEBUG - level + 1, msg, *args, **kwargs)
import sys, os, types, re, string
def plain(self, msg, *args, **kwargs):
return self.log(logging.INFO + 1, msg, *args, **kwargs)
def verbose(self, msg, *args, **kwargs):
return self.log(logging.INFO - 1, msg, *args, **kwargs)
def exception(self, msg, *args, **kwargs):
return self.critical("%s\n%s" % (msg, traceback.format_exc()), *args, **kwargs)
logging.raiseExceptions = False
logging.setLoggerClass(BBLogger)
logger = logging.getLogger("BitBake")
logger.addHandler(NullHandler())
logger.setLevel(logging.INFO)
# This has to be imported after the setLoggerClass, as the import of bb.msg
# can result in construction of the various loggers.
import bb.msg
if "BBDEBUG" in os.environ:
level = int(os.environ["BBDEBUG"])
if level:
bb.msg.set_debug_level(level)
if True or os.environ.get("BBFETCH2"):
from bb import fetch2 as fetch
sys.modules['bb.fetch'] = sys.modules['bb.fetch2']
# Messaging convenience functions
def plain(*args):
bb.msg.plain(''.join(args))
logger.plain(''.join(args))
def debug(lvl, *args):
bb.msg.debug(lvl, None, ''.join(args))
logger.debug(lvl, ''.join(args))
def note(*args):
bb.msg.note(1, None, ''.join(args))
logger.info(''.join(args))
def warn(*args):
bb.msg.warn(None, ''.join(args))
logger.warn(''.join(args))
def error(*args):
bb.msg.error(None, ''.join(args))
logger.error(''.join(args))
def fatal(*args):
bb.msg.fatal(None, ''.join(args))
logger.critical(''.join(args))
sys.exit(1)
def deprecated(func, name = None, advice = ""):
"""This is a decorator which can be used to mark functions
as deprecated. It will result in a warning being emmitted
when the function is used."""
import warnings
if advice:
advice = ": %s" % advice
if name is None:
name = func.__name__
def newFunc(*args, **kwargs):
warnings.warn("Call to deprecated function %s%s." % (name,
advice),
category = PendingDeprecationWarning,
stacklevel = 2)
return func(*args, **kwargs)
newFunc.__name__ = func.__name__
newFunc.__doc__ = func.__doc__
newFunc.__dict__.update(func.__dict__)
return newFunc
# For compatibility
from bb.fetch import MalformedUrl, encodeurl, decodeurl
from bb.data import VarExpandError
from bb.utils import mkdirhier, movefile, copyfile, which
from bb.utils import vercmp
def deprecate_import(current, modulename, fromlist, renames = None):
"""Import objects from one module into another, wrapping them with a DeprecationWarning"""
import sys
module = __import__(modulename, fromlist = fromlist)
for position, objname in enumerate(fromlist):
obj = getattr(module, objname)
newobj = deprecated(obj, "{0}.{1}".format(current, objname),
"Please use {0}.{1} instead".format(modulename, objname))
if renames:
newname = renames[position]
else:
newname = objname
if __name__ == "__main__":
import doctest, bb
bb.msg.set_debug_level(0)
doctest.testmod(bb)
setattr(sys.modules[current], newname, newobj)
deprecate_import(__name__, "bb.fetch", ("MalformedUrl", "encodeurl", "decodeurl"))
deprecate_import(__name__, "bb.utils", ("mkdirhier", "movefile", "copyfile", "which"))
deprecate_import(__name__, "bb.utils", ["vercmp_string"], ["vercmp"])

View File

@@ -25,29 +25,44 @@
#
#Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import sys
import logging
import bb
import bb.msg
import bb.process
from contextlib import nested
from bb import data, event, mkdirhier, utils
import bb, os, sys
# When we execute a python function we'd like certain things
bblogger = logging.getLogger('BitBake')
logger = logging.getLogger('BitBake.Build')
NULL = open(os.devnull, 'r+')
# When we execute a python function we'd like certain things
# in all namespaces, hence we add them to __builtins__
# If we do not do this and use the exec globals, they will
# not be available to subfunctions.
__builtins__['bb'] = bb
__builtins__['os'] = os
# events
class FuncFailed(Exception):
"""
Executed function failed
First parameter a message
Second paramter is a logfile (optional)
"""
def __init__(self, name = None, logfile = None):
self.logfile = logfile
self.name = name
if name:
self.msg = "Function '%s' failed" % name
else:
self.msg = "Function failed"
class EventException(Exception):
"""Exception which is associated with an Event."""
def __init__(self, msg, event):
self.args = msg, event
def __str__(self):
if self.logfile and os.path.exists(self.logfile):
msg = ("%s (see %s for further information)" %
(self.msg, self.logfile))
else:
msg = self.msg
return msg
class TaskBase(event.Event):
"""Base class for task events"""
@@ -74,77 +89,211 @@ class TaskSucceeded(TaskBase):
class TaskFailed(TaskBase):
"""Task execution failed"""
def __init__(self, msg, logfile, t, d ):
def __init__(self, task, logfile, metadata):
self.logfile = logfile
self.msg = msg
TaskBase.__init__(self, t, d)
super(TaskFailed, self).__init__(task, metadata)
class InvalidTask(TaskBase):
"""Invalid Task"""
class TaskInvalid(TaskBase):
def __init__(self, task, metadata):
super(TaskInvalid, self).__init__(task, metadata)
self._message = "No such task '%s'" % task
class LogTee(object):
def __init__(self, logger, outfile):
self.outfile = outfile
self.logger = logger
self.name = self.outfile.name
def write(self, string):
self.logger.plain(string)
self.outfile.write(string)
def __enter__(self):
self.outfile.__enter__()
return self
def __exit__(self, *excinfo):
self.outfile.__exit__(*excinfo)
def __repr__(self):
return '<LogTee {0}>'.format(self.name)
# functions
def exec_func(func, d, dirs = None):
"""Execute an BB 'function'"""
body = data.getVar(func, d)
if not body:
if body is None:
logger.warn("Function %s doesn't exist", func)
return
flags = data.getVarFlags(func, d)
for item in ['deps', 'check', 'interactive', 'python', 'cleandirs', 'dirs', 'lockfiles', 'fakeroot']:
if not item in flags:
flags[item] = None
cleandirs = flags.get('cleandirs')
if cleandirs:
for cdir in data.expand(cleandirs, d).split():
bb.utils.remove(cdir, True)
ispython = flags['python']
cleandirs = (data.expand(flags['cleandirs'], d) or "").split()
for cdir in cleandirs:
os.system("rm -rf %s" % cdir)
if dirs is None:
dirs = flags.get('dirs')
if dirs:
dirs = data.expand(dirs, d).split()
if dirs:
dirs = data.expand(dirs, d)
else:
dirs = (data.expand(flags['dirs'], d) or "").split()
for adir in dirs:
mkdirhier(adir)
if len(dirs) > 0:
for adir in dirs:
bb.utils.mkdirhier(adir)
adir = dirs[-1]
else:
adir = data.getVar('B', d, 1)
if not os.path.exists(adir):
adir = None
# Save current directory
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:
lockfiles = [data.expand(f, d) for f in lockflag.split()]
else:
lockfiles = None
tempdir = data.getVar('T', d, 1)
runfile = os.path.join(tempdir, 'run.{0}.{1}'.format(func, os.getpid()))
with bb.utils.fileslocked(lockfiles):
if ispython:
exec_func_python(func, d, runfile, cwd=adir)
else:
exec_func_shell(func, d, runfile, cwd=adir)
_functionfmt = """
def {function}(d):
{body}
{function}(d)
"""
logformatter = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
def exec_func_python(func, d, runfile, cwd=None):
"""Execute a python BB 'function'"""
bbfile = d.getVar('FILE', True)
try:
prevdir = os.getcwd()
olddir = os.getcwd()
except OSError:
prevdir = data.getVar('TOPDIR', d, True)
olddir = None
code = _functionfmt.format(function=func, body=d.getVar(func, True))
bb.utils.mkdirhier(os.path.dirname(runfile))
with open(runfile, 'w') as script:
script.write(code)
# Setup logfiles
t = data.getVar('T', d, 1)
if not t:
bb.msg.fatal(bb.msg.domain.Build, "T not set")
mkdirhier(t)
logfile = "%s/log.%s.%s" % (t, func, str(os.getpid()))
runfile = "%s/run.%s.%s" % (t, func, str(os.getpid()))
if cwd:
os.chdir(cwd)
# Change to correct directory (if specified)
if adir and os.access(adir, os.F_OK):
os.chdir(adir)
try:
comp = utils.better_compile(code, func, bbfile)
utils.better_exec(comp, {"d": d}, code, bbfile)
except:
if sys.exc_info()[0] in (bb.parse.SkipPackage, bb.build.FuncFailed):
raise
raise FuncFailed(func, None)
finally:
if olddir:
os.chdir(olddir)
def exec_func_shell(function, d, runfile, cwd=None):
"""Execute a shell function from the metadata
Note on directory behavior. The 'dirs' varflag should contain a list
of the directories you need created prior to execution. The last
item in the list is where we will chdir/cd to.
"""
# Don't let the emitted shell script override PWD
d.delVarFlag('PWD', 'export')
with open(runfile, 'w') as script:
script.write('#!/bin/sh -e\n')
if logger.isEnabledFor(logging.DEBUG):
script.write("set -x\n")
data.emit_func(function, script, d)
script.write("%s\n" % function)
os.fchmod(script.fileno(), 0775)
env = {
'PATH': d.getVar('PATH', True),
'LC_ALL': 'C',
}
cmd = runfile
if logger.isEnabledFor(logging.DEBUG):
logfile = LogTee(logger, sys.stdout)
else:
logfile = sys.stdout
try:
bb.process.run(cmd, env=env, cwd=cwd, shell=False, stdin=NULL,
log=logfile)
except bb.process.CmdError:
logfn = d.getVar('BB_LOGFILE', True)
raise FuncFailed(function, logfn)
def _task_data(fn, task, d):
localdata = data.createCopy(d)
localdata.setVar('BB_FILENAME', fn)
localdata.setVar('BB_CURRENTTASK', task[3:])
localdata.setVar('OVERRIDES', 'task-%s:%s' %
(task[3:], d.getVar('OVERRIDES', False)))
localdata.finalize()
data.expandKeys(localdata)
return localdata
def _exec_task(fn, task, d, quieterr):
"""Execute a BB 'task'
Execution of a task involves a bit more setup than executing a function,
running it with its own local metadata, and with some useful variables set.
"""
if not data.getVarFlag(task, 'task', d):
event.fire(TaskInvalid(task, d), d)
logger.error("No such task: %s" % task)
return 1
logger.debug(1, "Executing task %s", task)
localdata = _task_data(fn, task, d)
tempdir = localdata.getVar('T', True)
if not tempdir:
bb.fatal("T variable not set, unable to build")
bb.utils.mkdirhier(tempdir)
loglink = os.path.join(tempdir, 'log.{0}'.format(task))
logfn = os.path.join(tempdir, 'log.{0}.{1}'.format(task, os.getpid()))
if loglink:
bb.utils.remove(loglink)
try:
os.symlink(logfn, loglink)
except OSError:
pass
prefuncs = localdata.getVarFlag(task, 'prefuncs', expand=True)
postfuncs = localdata.getVarFlag(task, 'postfuncs', expand=True)
# Handle logfiles
si = file('/dev/null', 'r')
try:
if bb.msg.debug_level['default'] > 0 or ispython:
so = os.popen("tee \"%s\"" % logfile, "w")
else:
so = file(logfile, 'w')
except OSError, e:
bb.msg.error(bb.msg.domain.Build, "opening log file: %s" % e)
logfile = file(logfn, 'w')
except OSError:
logger.exception("Opening log file '%s'", logfn)
pass
se = so
# Dup the existing fds so we dont lose them
osi = [os.dup(sys.stdin.fileno()), sys.stdin.fileno()]
oso = [os.dup(sys.stdout.fileno()), sys.stdout.fileno()]
@@ -152,182 +301,101 @@ def exec_func(func, d, dirs = None):
# Replace those fds with our own
os.dup2(si.fileno(), osi[1])
os.dup2(so.fileno(), oso[1])
os.dup2(se.fileno(), ose[1])
os.dup2(logfile.fileno(), oso[1])
os.dup2(logfile.fileno(), ose[1])
locks = []
lockfiles = (data.expand(flags['lockfiles'], d) or "").split()
for lock in lockfiles:
locks.append(bb.utils.lockfile(lock))
# Ensure python logging goes to the logfile
handler = logging.StreamHandler(logfile)
handler.setFormatter(logformatter)
bblogger.addHandler(handler)
localdata.setVar('BB_LOGFILE', logfn)
event.fire(TaskStarted(task, localdata), localdata)
try:
# Run the function
if ispython:
exec_func_python(func, d, runfile, logfile)
else:
exec_func_shell(func, d, runfile, logfile, flags)
# Restore original directory
try:
os.chdir(prevdir)
except:
pass
for func in (prefuncs or '').split():
exec_func(func, localdata)
exec_func(task, localdata)
for func in (postfuncs or '').split():
exec_func(func, localdata)
except FuncFailed as exc:
if not quieterr:
logger.error(str(exc))
event.fire(TaskFailed(exc.name, logfn, localdata), localdata)
return 1
finally:
sys.stdout.flush()
sys.stderr.flush()
# Unlock any lockfiles
for lock in locks:
bb.utils.unlockfile(lock)
bblogger.removeHandler(handler)
# Restore the backup fds
os.dup2(osi[0], osi[1])
os.dup2(oso[0], oso[1])
os.dup2(ose[0], ose[1])
# Close our logs
si.close()
so.close()
se.close()
if os.path.exists(logfile) and os.path.getsize(logfile) == 0:
bb.msg.debug(2, bb.msg.domain.Build, "Zero size logfile %s, removing" % logfile)
os.remove(logfile)
# Close the backup fds
os.close(osi[0])
os.close(oso[0])
os.close(ose[0])
si.close()
def exec_func_python(func, d, runfile, logfile):
"""Execute a python BB 'function'"""
import re, os
logfile.close()
if os.path.exists(logfn) and os.path.getsize(logfn) == 0:
logger.debug(2, "Zero size logfn %s, removing", logfn)
bb.utils.remove(logfn)
bb.utils.remove(loglink)
event.fire(TaskSucceeded(task, localdata), localdata)
bbfile = bb.data.getVar('FILE', d, 1)
tmp = "def " + func + "():\n%s" % data.getVar(func, d)
tmp += '\n' + func + '()'
if not localdata.getVarFlag(task, 'nostamp') and not localdata.getVarFlag(task, 'selfstamp'):
make_stamp(task, localdata)
f = open(runfile, "w")
f.write(tmp)
comp = utils.better_compile(tmp, func, bbfile)
g = {} # globals
g['d'] = d
try:
utils.better_exec(comp, g, tmp, bbfile)
except:
(t,value,tb) = sys.exc_info()
return 0
if t in [bb.parse.SkipPackage, bb.build.FuncFailed]:
raise
bb.msg.error(bb.msg.domain.Build, "Function %s failed" % func)
raise FuncFailed("function %s failed" % func, logfile)
def exec_task(fn, task, d):
try:
quieterr = False
if d.getVarFlag(task, "quieterrors") is not None:
quieterr = True
def exec_func_shell(func, d, runfile, logfile, flags):
"""Execute a shell BB 'function' Returns true if execution was successful.
return _exec_task(fn, task, d, quieterr)
except Exception:
from traceback import format_exc
if not quieterr:
logger.error("Build of %s failed" % (task))
logger.error(format_exc())
failedevent = TaskFailed("Task Failed", None, task, d)
event.fire(failedevent, d)
return 1
For this, it creates a bash shell script in the tmp dectory, writes the local
data into it and finally executes. The output of the shell will end in a log file and stdout.
Note on directory behavior. The 'dirs' varflag should contain a list
of the directories you need created prior to execution. The last
item in the list is where we will chdir/cd to.
"""
deps = flags['deps']
check = flags['check']
if check in globals():
if globals()[check](func, deps):
return
f = open(runfile, "w")
f.write("#!/bin/sh -e\n")
if bb.msg.debug_level['default'] > 0: f.write("set -x\n")
data.emit_env(f, d)
f.write("cd %s\n" % os.getcwd())
if func: f.write("%s\n" % func)
f.close()
os.chmod(runfile, 0775)
if not func:
bb.msg.error(bb.msg.domain.Build, "Function not specified")
raise FuncFailed("Function not specified for exec_func_shell")
# execute function
if flags['fakeroot']:
maybe_fakeroot = "PATH=\"%s\" fakeroot " % bb.data.getVar("PATH", d, 1)
else:
maybe_fakeroot = ''
lang_environment = "LC_ALL=C "
ret = os.system('%s%ssh -e %s' % (lang_environment, maybe_fakeroot, runfile))
if ret == 0:
return
bb.msg.error(bb.msg.domain.Build, "Function %s failed" % func)
raise FuncFailed("function %s failed" % func, logfile)
def exec_task(task, d):
"""Execute an BB 'task'
The primary difference between executing a task versus executing
a function is that a task exists in the task digraph, and therefore
has dependencies amongst other tasks."""
# Check whther this is a valid task
if not data.getVarFlag(task, 'task', d):
raise EventException("No such task", InvalidTask(task, d))
try:
bb.msg.debug(1, bb.msg.domain.Build, "Executing task %s" % task)
old_overrides = data.getVar('OVERRIDES', d, 0)
localdata = data.createCopy(d)
data.setVar('OVERRIDES', 'task-%s:%s' % (task[3:], old_overrides), localdata)
data.update_data(localdata)
data.expandKeys(localdata)
event.fire(TaskStarted(task, localdata), localdata)
exec_func(task, localdata)
event.fire(TaskSucceeded(task, localdata), localdata)
except FuncFailed, message:
# Try to extract the optional logfile
try:
(msg, logfile) = message
except:
logfile = None
msg = message
bb.msg.note(1, bb.msg.domain.Build, "Task failed: %s" % message )
failedevent = TaskFailed(msg, logfile, task, d)
event.fire(failedevent, d)
raise EventException("Function failed in task: %s" % message, failedevent)
# make stamp, or cause event and raise exception
if not data.getVarFlag(task, 'nostamp', d) and not data.getVarFlag(task, 'selfstamp', d):
make_stamp(task, d)
def extract_stamp(d, fn):
"""
Extracts stamp format which is either a data dictonary (fn unset)
or a dataCache entry (fn set).
"""
if fn:
return d.stamp[fn]
return data.getVar('STAMP', d, 1)
def stamp_internal(task, d, file_name):
def stamp_internal(taskname, d, file_name):
"""
Internal stamp helper function
Removes any stamp for the given task
Makes sure the stamp directory exists
Returns the stamp path+filename
In the bitbake core, d can be a CacheData and file_name will be set.
When called in task context, d will be a data store, file_name will not be set
"""
stamp = extract_stamp(d, file_name)
taskflagname = taskname
if taskname.endswith("_setscene") and taskname != "do_setscene":
taskflagname = taskname.replace("_setscene", "")
if file_name:
stamp = d.stamp[file_name]
extrainfo = d.stamp_extrainfo[file_name].get(taskflagname) or ""
else:
stamp = d.getVar('STAMP', True)
file_name = d.getVar('BB_FILENAME', True)
extrainfo = d.getVarFlag(taskflagname, 'stamp-extra-info', True) or ""
if not stamp:
return
stamp = "%s.%s" % (stamp, task)
mkdirhier(os.path.dirname(stamp))
# Remove the file and recreate to force timestamp
# change on broken NFS filesystems
if os.access(stamp, os.F_OK):
os.remove(stamp)
stamp = bb.parse.siggen.stampfile(stamp, file_name, taskname, extrainfo)
bb.utils.mkdirhier(os.path.dirname(stamp))
return stamp
def make_stamp(task, d, file_name = None):
@@ -336,7 +404,10 @@ def make_stamp(task, d, file_name = None):
(d can be a data dict or dataCache)
"""
stamp = stamp_internal(task, d, file_name)
# Remove the file and recreate to force timestamp
# change on broken NFS filesystems
if stamp:
bb.utils.remove(stamp)
f = open(stamp, "w")
f.close()
@@ -345,7 +416,15 @@ def del_stamp(task, d, file_name = None):
Removes a stamp for a given task
(d can be a data dict or dataCache)
"""
stamp_internal(task, d, file_name)
stamp = stamp_internal(task, d, file_name)
bb.utils.remove(stamp)
def stampfile(taskname, d, file_name = None):
"""
Return the stamp for a given task
(d can be a data dict or dataCache)
"""
return stamp_internal(taskname, d, file_name)
def add_tasks(tasklist, d):
task_deps = data.getVar('_task_deps', d)
@@ -363,7 +442,7 @@ def add_tasks(tasklist, d):
if not task in task_deps['tasks']:
task_deps['tasks'].append(task)
flags = data.getVarFlags(task, d)
flags = data.getVarFlags(task, d)
def getTask(name):
if not name in task_deps:
task_deps[name] = {}
@@ -375,6 +454,8 @@ def add_tasks(tasklist, d):
getTask('rdeptask')
getTask('recrdeptask')
getTask('nostamp')
getTask('fakeroot')
getTask('noexec')
task_deps['parents'][task] = []
for dep in flags['deps']:
dep = data.expand(dep, d)
@@ -389,4 +470,3 @@ def remove_task(task, kill, d):
If kill is 1, also remove tasks that depend on this task."""
data.delVarFlag(task, 'task', d)

View File

@@ -28,28 +28,154 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os, re
import os
import logging
from collections import defaultdict, namedtuple
import bb.data
import bb.utils
logger = logging.getLogger("BitBake.Cache")
try:
import cPickle as pickle
except ImportError:
import pickle
bb.msg.note(1, bb.msg.domain.Cache, "Importing cPickle failed. Falling back to a very slow implementation.")
logger.info("Importing cPickle failed. "
"Falling back to a very slow implementation.")
__cache_version__ = "131"
__cache_version__ = "136"
class Cache:
recipe_fields = (
'pn',
'pv',
'pr',
'pe',
'defaultpref',
'depends',
'provides',
'task_deps',
'stamp',
'stamp_extrainfo',
'broken',
'not_world',
'skipped',
'timestamp',
'packages',
'packages_dynamic',
'rdepends',
'rdepends_pkg',
'rprovides',
'rprovides_pkg',
'rrecommends',
'rrecommends_pkg',
'nocache',
'variants',
'file_depends',
'tasks',
'basetaskhashes',
'hashfilename',
)
class RecipeInfo(namedtuple('RecipeInfo', recipe_fields)):
__slots__ = ()
@classmethod
def listvar(cls, var, metadata):
return cls.getvar(var, metadata).split()
@classmethod
def intvar(cls, var, metadata):
return int(cls.getvar(var, metadata) or 0)
@classmethod
def depvar(cls, var, metadata):
return bb.utils.explode_deps(cls.getvar(var, metadata))
@classmethod
def pkgvar(cls, var, packages, metadata):
return dict((pkg, cls.depvar("%s_%s" % (var, pkg), metadata))
for pkg in packages)
@classmethod
def taskvar(cls, var, tasks, metadata):
return dict((task, cls.getvar("%s_task-%s" % (var, task), metadata))
for task in tasks)
@classmethod
def flaglist(cls, flag, varlist, metadata):
return dict((var, metadata.getVarFlag(var, flag, True))
for var in varlist)
@classmethod
def getvar(cls, var, metadata):
return metadata.getVar(var, True) or ''
@classmethod
def make_optional(cls, default=None, **kwargs):
"""Construct the namedtuple from the specified keyword arguments,
with every value considered optional, using the default value if
it was not specified."""
for field in cls._fields:
kwargs[field] = kwargs.get(field, default)
return cls(**kwargs)
@classmethod
def from_metadata(cls, filename, metadata):
if cls.getvar('__SKIPPED', metadata):
return cls.make_optional(skipped=True)
tasks = metadata.getVar('__BBTASKS', False)
pn = cls.getvar('PN', metadata)
packages = cls.listvar('PACKAGES', metadata)
if not pn in packages:
packages.append(pn)
return RecipeInfo(
tasks = tasks,
basetaskhashes = cls.taskvar('BB_BASEHASH', tasks, metadata),
hashfilename = cls.getvar('BB_HASHFILENAME', metadata),
file_depends = metadata.getVar('__depends', False),
task_deps = metadata.getVar('_task_deps', False) or
{'tasks': [], 'parents': {}},
variants = cls.listvar('__VARIANTS', metadata) + [''],
skipped = False,
timestamp = bb.parse.cached_mtime(filename),
packages = cls.listvar('PACKAGES', metadata),
pn = pn,
pe = cls.getvar('PE', metadata),
pv = cls.getvar('PV', metadata),
pr = cls.getvar('PR', metadata),
nocache = cls.getvar('__BB_DONT_CACHE', metadata),
defaultpref = cls.intvar('DEFAULT_PREFERENCE', metadata),
broken = cls.getvar('BROKEN', metadata),
not_world = cls.getvar('EXCLUDE_FROM_WORLD', metadata),
stamp = cls.getvar('STAMP', metadata),
stamp_extrainfo = cls.flaglist('stamp-extra-info', tasks, metadata),
packages_dynamic = cls.listvar('PACKAGES_DYNAMIC', metadata),
depends = cls.depvar('DEPENDS', metadata),
provides = cls.depvar('PROVIDES', metadata),
rdepends = cls.depvar('RDEPENDS', metadata),
rprovides = cls.depvar('RPROVIDES', metadata),
rrecommends = cls.depvar('RRECOMMENDS', metadata),
rprovides_pkg = cls.pkgvar('RPROVIDES', packages, metadata),
rdepends_pkg = cls.pkgvar('RDEPENDS', packages, metadata),
rrecommends_pkg = cls.pkgvar('RRECOMMENDS', packages, metadata),
)
class Cache(object):
"""
BitBake Cache implementation
"""
def __init__(self, cooker):
self.cachedir = bb.data.getVar("CACHE", cooker.configuration.data, True)
self.clean = {}
self.checked = {}
def __init__(self, data):
self.cachedir = bb.data.getVar("CACHE", data, True)
self.clean = set()
self.checked = set()
self.depends_cache = {}
self.data = None
self.data_fn = None
@@ -57,98 +183,74 @@ class Cache:
if self.cachedir in [None, '']:
self.has_cache = False
bb.msg.note(1, bb.msg.domain.Cache, "Not using a cache. Set CACHE = <directory> to enable.")
logger.info("Not using a cache. "
"Set CACHE = <directory> to enable.")
return
self.has_cache = True
self.cachefile = os.path.join(self.cachedir,"bb_cache.dat")
self.cachefile = os.path.join(self.cachedir, "bb_cache.dat")
bb.msg.debug(1, bb.msg.domain.Cache, "Using cache in '%s'" % self.cachedir)
try:
os.stat( self.cachedir )
except OSError:
bb.mkdirhier( self.cachedir )
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("__depends", cooker.configuration.data, True)
for f,old_mtime in deps:
if old_mtime > newest_mtime:
newest_mtime = old_mtime
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)
if bb.parse.cached_mtime_noerror(self.cachefile) >= newest_mtime:
self.load_cachefile()
elif os.path.isfile(self.cachefile):
logger.info("Out of date cache found, rebuilding...")
def load_cachefile(self):
with open(self.cachefile, "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
try:
p = pickle.Unpickler(file(self.cachefile, "rb"))
self.depends_cache, version_data = p.load()
if version_data['CACHE_VER'] != __cache_version__:
raise ValueError, 'Cache Version Mismatch'
if version_data['BITBAKE_VER'] != bb.__version__:
raise ValueError, 'Bitbake Version Mismatch'
except EOFError:
bb.msg.note(1, bb.msg.domain.Cache, "Truncated cache found, rebuilding...")
self.depends_cache = {}
except:
bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...")
self.depends_cache = {}
else:
try:
os.stat( self.cachefile )
bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...")
except OSError:
pass
cache_ver = pickled.load()
bitbake_ver = pickled.load()
except Exception:
logger.info('Invalid cache, rebuilding...')
return
def getVar(self, var, fn, exp = 0):
"""
Gets the value of a variable
(similar to getVar in the data class)
There are two scenarios:
1. We have cached data - serve from depends_cache[fn]
2. We're learning what data to cache - serve from data
backend but add a copy of the data to the cache.
"""
if fn in self.clean:
return self.depends_cache[fn][var]
if cache_ver != __cache_version__:
logger.info('Cache version mismatch, rebuilding...')
return
elif bitbake_ver != bb.__version__:
logger.info('Bitbake version mismatch, rebuilding...')
return
if not fn in self.depends_cache:
self.depends_cache[fn] = {}
cachesize = os.fstat(cachefile.fileno()).st_size
bb.event.fire(bb.event.CacheLoadStarted(cachesize), self.data)
if fn != self.data_fn:
# We're trying to access data in the cache which doesn't exist
# yet setData hasn't been called to setup the right access. Very bad.
bb.msg.error(bb.msg.domain.Cache, "Parsing error data_fn %s and fn %s don't match" % (self.data_fn, fn))
previous_percent = 0
while cachefile:
try:
key = pickled.load()
value = pickled.load()
except Exception:
break
self.cacheclean = False
result = bb.data.getVar(var, self.data, exp)
self.depends_cache[fn][var] = result
return result
self.depends_cache[key] = value
def setData(self, virtualfn, fn, data):
"""
Called to prime bb_cache ready to learn which variables to cache.
Will be followed by calls to self.getVar which aren't cached
but can be fulfilled from self.data.
"""
self.data_fn = virtualfn
self.data = data
# only fire events on even percentage boundaries
current_progress = cachefile.tell()
current_percent = 100 * current_progress / cachesize
if current_percent > previous_percent:
previous_percent = current_percent
bb.event.fire(bb.event.CacheLoadProgress(current_progress),
self.data)
# Make sure __depends makes the depends_cache
# If we're a virtual class we need to make sure all our depends are appended
# to the depends of fn.
depends = self.getVar("__depends", virtualfn, True) or []
if "__depends" not in self.depends_cache[fn] or not self.depends_cache[fn]["__depends"]:
self.depends_cache[fn]["__depends"] = depends
for dep in depends:
if dep not in self.depends_cache[fn]["__depends"]:
self.depends_cache[fn]["__depends"].append(dep)
bb.event.fire(bb.event.CacheLoadCompleted(cachesize,
len(self.depends_cache)),
self.data)
# Make sure the variants always make it into the cache too
self.getVar('__VARIANTS', virtualfn, True)
self.depends_cache[virtualfn]["CACHETIMESTAMP"] = bb.parse.cached_mtime(fn)
def virtualfn2realfn(self, virtualfn):
@staticmethod
def virtualfn2realfn(virtualfn):
"""
Convert a virtual file name to a real one + the associated subclass keyword
"""
@@ -158,79 +260,94 @@ class Cache:
if virtualfn.startswith('virtual:'):
cls = virtualfn.split(':', 2)[1]
fn = virtualfn.replace('virtual:' + cls + ':', '')
#bb.msg.debug(2, bb.msg.domain.Cache, "virtualfn2realfn %s to %s %s" % (virtualfn, fn, cls))
return (fn, cls)
def realfn2virtual(self, realfn, cls):
@staticmethod
def realfn2virtual(realfn, cls):
"""
Convert a real filename + the associated subclass keyword to a virtual filename
"""
if cls == "":
#bb.msg.debug(2, bb.msg.domain.Cache, "realfn2virtual %s and '%s' to %s" % (realfn, cls, realfn))
return realfn
#bb.msg.debug(2, bb.msg.domain.Cache, "realfn2virtual %s and %s to %s" % (realfn, cls, "virtual:" + cls + ":" + realfn))
return "virtual:" + cls + ":" + realfn
def loadDataFull(self, virtualfn, cfgData):
@classmethod
def loadDataFull(cls, virtualfn, appends, cfgData):
"""
Return a complete set of data for fn.
To do this, we need to parse the file.
"""
(fn, cls) = self.virtualfn2realfn(virtualfn)
(fn, virtual) = cls.virtualfn2realfn(virtualfn)
bb.msg.debug(1, bb.msg.domain.Cache, "Parsing %s (full)" % fn)
logger.debug(1, "Parsing %s (full)", fn)
bb_data = self.load_bbfile(fn, cfgData)
return bb_data[cls]
bb_data = cls.load_bbfile(fn, appends, cfgData)
return bb_data[virtual]
def loadData(self, fn, cfgData, cacheData):
"""
Load a subset of data for fn.
If the cached data is valid we do nothing,
To do this, we need to parse the file and set the system
to record the variables accessed.
Return the cache status and whether the file was skipped when parsed
"""
skipped = 0
virtuals = 0
@classmethod
def parse(cls, filename, appends, configdata):
"""Parse the specified filename, returning the recipe information"""
infos = []
datastores = cls.load_bbfile(filename, appends, configdata)
depends = set()
for variant, data in sorted(datastores.iteritems(),
key=lambda i: i[0],
reverse=True):
virtualfn = cls.realfn2virtual(filename, variant)
depends |= (data.getVar("__depends", False) or set())
if depends and not variant:
data.setVar("__depends", depends)
info = RecipeInfo.from_metadata(filename, data)
infos.append((virtualfn, info))
return infos
if fn not in self.checked:
self.cacheValidUpdate(fn)
def load(self, filename, appends, configdata):
"""Obtain the recipe information for the specified filename,
using cached values if available, otherwise parsing.
if self.cacheValid(fn):
multi = self.getVar('__VARIANTS', fn, True)
for cls in (multi or "").split() + [""]:
virtualfn = self.realfn2virtual(fn, cls)
if self.depends_cache[virtualfn]["__SKIPPED"]:
skipped += 1
bb.msg.debug(1, bb.msg.domain.Cache, "Skipping %s" % virtualfn)
continue
self.handle_data(virtualfn, cacheData)
virtuals += 1
return True, skipped, virtuals
Note that if it does parse to obtain the info, it will not
automatically add the information to the cache or to your
CacheData. Use the add or add_info method to do so after
running this, or use loadData instead."""
cached = self.cacheValid(filename)
if cached:
infos = []
info = self.depends_cache[filename]
for variant in info.variants:
virtualfn = self.realfn2virtual(filename, variant)
infos.append((virtualfn, self.depends_cache[virtualfn]))
else:
logger.debug(1, "Parsing %s", filename)
return self.parse(filename, appends, configdata)
bb.msg.debug(1, bb.msg.domain.Cache, "Parsing %s" % fn)
return cached, infos
bb_data = self.load_bbfile(fn, cfgData)
def loadData(self, fn, appends, cfgData, cacheData):
"""Load the recipe info for the specified filename,
parsing and adding to the cache if necessary, and adding
the recipe information to the supplied CacheData instance."""
skipped, virtuals = 0, 0
for data in bb_data:
virtualfn = self.realfn2virtual(fn, data)
self.setData(virtualfn, fn, bb_data[data])
if self.getVar("__SKIPPED", virtualfn, True):
cached, infos = self.load(fn, appends, cfgData)
for virtualfn, info in infos:
if info.skipped:
logger.debug(1, "Skipping %s", virtualfn)
skipped += 1
bb.msg.debug(1, bb.msg.domain.Cache, "Skipping %s" % virtualfn)
else:
self.handle_data(virtualfn, cacheData)
self.add_info(virtualfn, info, cacheData, not cached)
virtuals += 1
return False, skipped, virtuals
return cached, skipped, virtuals
def cacheValid(self, fn):
"""
Is the cache valid for fn?
Fast version, no timestamps checked.
"""
if fn not in self.checked:
self.cacheValidUpdate(fn)
# Is cache enabled?
if not self.has_cache:
return False
@@ -247,56 +364,67 @@ class Cache:
if not self.has_cache:
return False
self.checked[fn] = ""
# Pretend we're clean so getVar works
self.clean[fn] = ""
self.checked.add(fn)
# File isn't in depends_cache
if not fn in self.depends_cache:
bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s is not cached" % fn)
self.remove(fn)
logger.debug(2, "Cache: %s is not cached", fn)
return False
mtime = bb.parse.cached_mtime_noerror(fn)
mtime = bb.parse.cached_mtime_noerror(fn)
# Check file still exists
if mtime == 0:
bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s not longer exists" % fn)
logger.debug(2, "Cache: %s no longer exists", fn)
self.remove(fn)
return False
info = self.depends_cache[fn]
# Check the file's timestamp
if mtime != self.getVar("CACHETIMESTAMP", fn, True):
bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s changed" % fn)
if mtime != info.timestamp:
logger.debug(2, "Cache: %s changed", fn)
self.remove(fn)
return False
# Check dependencies are still valid
depends = self.getVar("__depends", fn, True)
depends = info.file_depends
if depends:
for f,old_mtime in depends:
for f, old_mtime in depends:
fmtime = bb.parse.cached_mtime_noerror(f)
# Check if file still exists
if old_mtime != 0 and fmtime == 0:
logger.debug(2, "Cache: %s's dependency %s was removed",
fn, f)
self.remove(fn)
return False
if (fmtime != old_mtime):
bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s's dependency %s changed" % (fn, f))
logger.debug(2, "Cache: %s's dependency %s changed",
fn, f)
self.remove(fn)
return False
#bb.msg.debug(2, bb.msg.domain.Cache, "Depends Cache: %s is clean" % fn)
if not fn in self.clean:
self.clean[fn] = ""
# Mark extended class data as clean too
multi = self.getVar('__VARIANTS', fn, True)
for cls in (multi or "").split():
invalid = False
for cls in info.variants:
virtualfn = self.realfn2virtual(fn, cls)
self.clean[virtualfn] = ""
self.clean.add(virtualfn)
if virtualfn not in self.depends_cache:
logger.debug(2, "Cache: %s is not cached", virtualfn)
invalid = True
# If any one of the variants is not present, mark as invalid for all
if invalid:
for cls in info.variants:
virtualfn = self.realfn2virtual(fn, cls)
if virtualfn in self.clean:
logger.debug(2, "Cache: Removing %s from cache", virtualfn)
self.clean.remove(virtualfn)
if fn in self.clean:
logger.debug(2, "Cache: Marking %s as not clean", fn)
self.clean.remove(fn)
return False
self.clean.add(fn)
return True
def remove(self, fn):
@@ -304,179 +432,104 @@ class Cache:
Remove a fn from the cache
Called from the parser in error cases
"""
bb.msg.debug(1, bb.msg.domain.Cache, "Removing %s from cache" % fn)
if fn in self.depends_cache:
logger.debug(1, "Removing %s from cache", fn)
del self.depends_cache[fn]
if fn in self.clean:
del self.clean[fn]
logger.debug(1, "Marking %s as unclean", fn)
self.clean.remove(fn)
def sync(self):
"""
Save the cache
Called from the parser when complete (or exiting)
"""
import copy
if not self.has_cache:
return
if self.cacheclean:
bb.msg.note(1, bb.msg.domain.Cache, "Cache is clean, not saving.")
logger.debug(2, "Cache is clean, not saving.")
return
version_data = {}
version_data['CACHE_VER'] = __cache_version__
version_data['BITBAKE_VER'] = bb.__version__
with open(self.cachefile, "wb") as cachefile:
pickler = pickle.Pickler(cachefile, pickle.HIGHEST_PROTOCOL)
pickler.dump(__cache_version__)
pickler.dump(bb.__version__)
for key, value in self.depends_cache.iteritems():
pickler.dump(key)
pickler.dump(value)
cache_data = copy.copy(self.depends_cache)
for fn in self.depends_cache:
if '__BB_DONT_CACHE' in self.depends_cache[fn] and self.depends_cache[fn]['__BB_DONT_CACHE']:
bb.msg.debug(2, bb.msg.domain.Cache, "Not caching %s, marked as not cacheable" % fn)
del cache_data[fn]
elif 'PV' in self.depends_cache[fn] and 'SRCREVINACTION' in self.depends_cache[fn]['PV']:
bb.msg.error(bb.msg.domain.Cache, "Not caching %s as it had SRCREVINACTION in PV. Please report this bug" % fn)
del cache_data[fn]
del self.depends_cache
p = pickle.Pickler(file(self.cachefile, "wb" ), -1 )
p.dump([cache_data, version_data])
def mtime(self, cachefile):
@staticmethod
def mtime(cachefile):
return bb.parse.cached_mtime_noerror(cachefile)
def handle_data(self, file_name, cacheData):
def add_info(self, filename, info, cacheData, parsed=None):
cacheData.add_from_recipeinfo(filename, info)
if not self.has_cache:
return
if 'SRCREVINACTION' not in info.pv and not info.nocache:
if parsed:
self.cacheclean = False
self.depends_cache[filename] = info
def add(self, file_name, data, cacheData, parsed=None):
"""
Save data we need into the cache
Save data we need into the cache
"""
pn = self.getVar('PN', file_name, True)
pe = self.getVar('PE', file_name, True) or "0"
pv = self.getVar('PV', file_name, True)
if 'SRCREVINACTION' in pv:
bb.note("Found SRCREVINACTION in PV (%s) or %s. Please report this bug." % (pv, file_name))
pr = self.getVar('PR', file_name, True)
dp = int(self.getVar('DEFAULT_PREFERENCE', file_name, True) or "0")
depends = bb.utils.explode_deps(self.getVar("DEPENDS", file_name, True) or "")
packages = (self.getVar('PACKAGES', file_name, True) or "").split()
packages_dynamic = (self.getVar('PACKAGES_DYNAMIC', file_name, True) or "").split()
rprovides = (self.getVar("RPROVIDES", file_name, True) or "").split()
realfn = self.virtualfn2realfn(file_name)[0]
info = RecipeInfo.from_metadata(realfn, data)
self.add_info(file_name, info, cacheData, parsed)
cacheData.task_deps[file_name] = self.getVar("_task_deps", file_name, True)
# build PackageName to FileName lookup table
if pn not in cacheData.pkg_pn:
cacheData.pkg_pn[pn] = []
cacheData.pkg_pn[pn].append(file_name)
cacheData.stamp[file_name] = self.getVar('STAMP', file_name, True)
# build FileName to PackageName lookup table
cacheData.pkg_fn[file_name] = pn
cacheData.pkg_pepvpr[file_name] = (pe,pv,pr)
cacheData.pkg_dp[file_name] = dp
provides = [pn]
for provide in (self.getVar("PROVIDES", file_name, True) or "").split():
if provide not in provides:
provides.append(provide)
# Build forward and reverse provider hashes
# Forward: virtual -> [filenames]
# Reverse: PN -> [virtuals]
if pn not in cacheData.pn_provides:
cacheData.pn_provides[pn] = []
cacheData.fn_provides[file_name] = provides
for provide in provides:
if provide not in cacheData.providers:
cacheData.providers[provide] = []
cacheData.providers[provide].append(file_name)
if not provide in cacheData.pn_provides[pn]:
cacheData.pn_provides[pn].append(provide)
cacheData.deps[file_name] = []
for dep in depends:
if not dep in cacheData.deps[file_name]:
cacheData.deps[file_name].append(dep)
if not dep in cacheData.all_depends:
cacheData.all_depends.append(dep)
# Build reverse hash for PACKAGES, so runtime dependencies
# can be be resolved (RDEPENDS, RRECOMMENDS etc.)
for package in packages:
if not package in cacheData.packages:
cacheData.packages[package] = []
cacheData.packages[package].append(file_name)
rprovides += (self.getVar("RPROVIDES_%s" % package, file_name, 1) or "").split()
for package in packages_dynamic:
if not package in cacheData.packages_dynamic:
cacheData.packages_dynamic[package] = []
cacheData.packages_dynamic[package].append(file_name)
for rprovide in rprovides:
if not rprovide in cacheData.rproviders:
cacheData.rproviders[rprovide] = []
cacheData.rproviders[rprovide].append(file_name)
# Build hash of runtime depends and rececommends
if not file_name in cacheData.rundeps:
cacheData.rundeps[file_name] = {}
if not file_name in cacheData.runrecs:
cacheData.runrecs[file_name] = {}
rdepends = self.getVar('RDEPENDS', file_name, True) or ""
rrecommends = self.getVar('RRECOMMENDS', file_name, True) or ""
for package in packages + [pn]:
if not package in cacheData.rundeps[file_name]:
cacheData.rundeps[file_name][package] = []
if not package in cacheData.runrecs[file_name]:
cacheData.runrecs[file_name][package] = []
cacheData.rundeps[file_name][package] = rdepends + " " + (self.getVar("RDEPENDS_%s" % package, file_name, True) or "")
cacheData.runrecs[file_name][package] = rrecommends + " " + (self.getVar("RRECOMMENDS_%s" % package, file_name, True) or "")
# Collect files we may need for possible world-dep
# calculations
if not self.getVar('BROKEN', file_name, True) and not self.getVar('EXCLUDE_FROM_WORLD', file_name, True):
cacheData.possible_world.append(file_name)
# Touch this to make sure its in the cache
self.getVar('__BB_DONT_CACHE', file_name, True)
self.getVar('__VARIANTS', file_name, True)
def load_bbfile( self, bbfile , config):
@staticmethod
def load_bbfile(bbfile, appends, config):
"""
Load and parse one .bb build file
Return the data and whether parsing resulted in the file being skipped
"""
chdir_back = False
import bb
from bb import utils, data, parse, debug, event, fatal
from bb import data, parse
# expand tmpdir to include this topdir
data.setVar('TMPDIR', data.getVar('TMPDIR', config, 1) or "", config)
bbfile_loc = os.path.abspath(os.path.dirname(bbfile))
oldpath = os.path.abspath(os.getcwd())
if bb.parse.cached_mtime_noerror(bbfile_loc):
os.chdir(bbfile_loc)
parse.cached_mtime_noerror(bbfile_loc)
bb_data = data.init_db(config)
# The ConfHandler first looks if there is a TOPDIR and if not
# then it would call getcwd().
# Previously, we chdir()ed to bbfile_loc, called the handler
# and finally chdir()ed back, a couple of thousand times. We now
# just fill in TOPDIR to point to bbfile_loc if there is no TOPDIR yet.
if not data.getVar('TOPDIR', bb_data):
chdir_back = True
data.setVar('TOPDIR', bbfile_loc, bb_data)
try:
bb_data = parse.handle(bbfile, bb_data) # read .bb data
os.chdir(oldpath)
if appends:
data.setVar('__BBAPPEND', " ".join(appends), bb_data)
bb_data = parse.handle(bbfile, bb_data)
if chdir_back:
os.chdir(oldpath)
return bb_data
except:
os.chdir(oldpath)
if chdir_back:
os.chdir(oldpath)
raise
def init(cooker):
"""
The Objective: Cache the minimum amount of data possible yet get to the
The Objective: Cache the minimum amount of data possible yet get to the
stage of building packages (i.e. tryBuild) without reparsing any .bb files.
To do this, we intercept getVar calls and only cache the variables we see
being accessed. We rely on the cache getVar calls being made for all
variables bitbake might need to use to reach this stage. For each cached
To do this, we intercept getVar calls and only cache the variables we see
being accessed. We rely on the cache getVar calls being made for all
variables bitbake might need to use to reach this stage. For each cached
file we need to track:
* Its mtime
@@ -486,48 +539,94 @@ def init(cooker):
Files causing parsing errors are evicted from the cache.
"""
return Cache(cooker)
return Cache(cooker.configuration.data)
#============================================================================#
# CacheData
#============================================================================#
class CacheData:
class CacheData(object):
"""
The data structures we compile from the cached data
"""
def __init__(self):
"""
Direct cache variables
(from Cache.handle_data)
"""
self.providers = {}
self.rproviders = {}
self.packages = {}
self.packages_dynamic = {}
# Direct cache variables
self.providers = defaultdict(list)
self.rproviders = defaultdict(list)
self.packages = defaultdict(list)
self.packages_dynamic = defaultdict(list)
self.possible_world = []
self.pkg_pn = {}
self.pkg_pn = defaultdict(list)
self.pkg_fn = {}
self.pkg_pepvpr = {}
self.pkg_dp = {}
self.pn_provides = {}
self.pn_provides = defaultdict(list)
self.fn_provides = {}
self.all_depends = []
self.deps = {}
self.rundeps = {}
self.runrecs = {}
self.deps = defaultdict(list)
self.rundeps = defaultdict(lambda: defaultdict(list))
self.runrecs = defaultdict(lambda: defaultdict(list))
self.task_queues = {}
self.task_deps = {}
self.stamp = {}
self.stamp_extrainfo = {}
self.preferred = {}
self.tasks = {}
self.basetaskhash = {}
self.hashfn = {}
"""
Indirect Cache variables
(set elsewhere)
"""
# Indirect Cache variables (set elsewhere)
self.ignored_dependencies = []
self.world_target = set()
self.bbfile_priority = {}
self.bbfile_config_priorities = []
def add_from_recipeinfo(self, fn, info):
self.task_deps[fn] = info.task_deps
self.pkg_fn[fn] = info.pn
self.pkg_pn[info.pn].append(fn)
self.pkg_pepvpr[fn] = (info.pe, info.pv, info.pr)
self.pkg_dp[fn] = info.defaultpref
self.stamp[fn] = info.stamp
self.stamp_extrainfo[fn] = info.stamp_extrainfo
provides = [info.pn]
for provide in info.provides:
if provide not in provides:
provides.append(provide)
self.fn_provides[fn] = provides
for provide in provides:
self.providers[provide].append(fn)
if provide not in self.pn_provides[info.pn]:
self.pn_provides[info.pn].append(provide)
for dep in info.depends:
if dep not in self.deps[fn]:
self.deps[fn].append(dep)
if dep not in self.all_depends:
self.all_depends.append(dep)
rprovides = info.rprovides
for package in info.packages:
self.packages[package].append(fn)
rprovides += info.rprovides_pkg[package]
for rprovide in rprovides:
self.rproviders[rprovide].append(fn)
for package in info.packages_dynamic:
self.packages_dynamic[package].append(fn)
# Build hash of runtime depends and rececommends
for package in info.packages + [info.pn]:
self.rundeps[fn][package] = list(info.rdepends) + info.rdepends_pkg[package]
self.runrecs[fn][package] = list(info.rrecommends) + info.rrecommends_pkg[package]
# Collect files we may need for possible world-dep
# calculations
if not info.broken and not info.not_world:
self.possible_world.append(fn)
self.hashfn[fn] = info.hashfilename
for task, taskhash in info.basetaskhashes.iteritems():
identifier = '%s.%s' % (fn, task)
self.basetaskhash[identifier] = taskhash

View File

@@ -0,0 +1,336 @@
import ast
import codegen
import logging
import os.path
import bb.utils, bb.data
from itertools import chain
from pysh import pyshyacc, pyshlex
logger = logging.getLogger('BitBake.CodeParser')
PARSERCACHE_VERSION = 2
try:
import cPickle as pickle
except ImportError:
import pickle
logger.info('Importing cPickle failed. Falling back to a very slow implementation.')
def check_indent(codestr):
"""If the code is indented, add a top level piece of code to 'remove' the indentation"""
i = 0
while codestr[i] in ["\n", " ", " "]:
i = i + 1
if i == 0:
return codestr
if codestr[i-1] is " " or codestr[i-1] is " ":
return "if 1:\n" + codestr
return codestr
pythonparsecache = {}
shellparsecache = {}
def parser_cachefile(d):
cachedir = (bb.data.getVar("PERSISTENT_DIR", d, True) or
bb.data.getVar("CACHE", d, True))
if cachedir in [None, '']:
return None
bb.utils.mkdirhier(cachedir)
cachefile = os.path.join(cachedir, "bb_codeparser.dat")
logger.debug(1, "Using cache in '%s' for codeparser cache", cachefile)
return cachefile
def parser_cache_init(d):
global pythonparsecache
global shellparsecache
cachefile = parser_cachefile(d)
if not cachefile:
return
try:
p = pickle.Unpickler(file(cachefile, "rb"))
data, version = p.load()
except:
return
if version != PARSERCACHE_VERSION:
return
pythonparsecache = data[0]
shellparsecache = data[1]
def parser_cache_save(d):
cachefile = parser_cachefile(d)
if not cachefile:
return
p = pickle.Pickler(file(cachefile, "wb"), -1)
p.dump([[pythonparsecache, shellparsecache], PARSERCACHE_VERSION])
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")
expands = ("d.expand", "bb.data.expand", "data.expand")
execs = ("bb.build.exec_func", "bb.build.exec_task")
@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.
"""
if not strparts:
return True
current, rest = strparts[0], strparts[1:]
if isinstance(node, ast.Attribute):
if current == node.attr:
return cls._compare_name(rest, 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)
else:
return any(cls.compare_name(item, node) for item in value)
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()
self.execs = set()
#self.external_cmds = set()
self.references = set()
def parse_python(self, node):
h = hash(str(node))
if h in pythonparsecache:
self.references = pythonparsecache[h]["refs"]
self.execs = pythonparsecache[h]["execs"]
return
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.references.update(visitor.var_references)
self.references.update(visitor.var_execs)
self.execs = visitor.direct_func_calls
pythonparsecache[h] = {}
pythonparsecache[h]["refs"] = self.references
pythonparsecache[h]["execs"] = self.execs
class ShellParser():
def __init__(self):
self.funcdefs = set()
self.allexecs = set()
self.execs = set()
def parse_shell(self, value):
"""Parse the supplied shell code in a string, returning the external
commands it executes.
"""
h = hash(str(value))
if h in shellparsecache:
self.execs = shellparsecache[h]["execs"]
return self.execs
try:
tokens, _ = pyshyacc.parse(value, eof=True, debug=False)
except pyshlex.NeedMore:
raise ShellSyntaxError("Unexpected EOF")
for token in tokens:
self.process_tokens(token)
self.execs = set(cmd for cmd in self.allexecs if cmd not in self.funcdefs)
shellparsecache[h] = {}
shellparsecache[h]["execs"] = self.execs
return self.execs
def process_tokens(self, tokens):
"""Process a supplied portion of the syntax tree as returned by
pyshyacc.parse.
"""
def function_definition(value):
self.funcdefs.add(value.name)
return [value.body], None
def case_clause(value):
# Element 0 of each item in the case is the list of patterns, and
# Element 1 of each item in the case is the list of commands to be
# executed when that pattern matches.
words = chain(*[item[0] for item in value.items])
cmds = chain(*[item[1] for item in value.items])
return cmds, words
def if_clause(value):
main = chain(value.cond, value.if_cmds)
rest = value.else_cmds
if isinstance(rest, tuple) and rest[0] == "elif":
return chain(main, if_clause(rest[1]))
else:
return chain(main, rest)
def simple_command(value):
return None, chain(value.words, (assign[1] for assign in value.assigns))
token_handlers = {
"and_or": lambda x: ((x.left, x.right), None),
"async": lambda x: ([x], None),
"brace_group": lambda x: (x.cmds, None),
"for_clause": lambda x: (x.cmds, x.items),
"function_definition": function_definition,
"if_clause": lambda x: (if_clause(x), None),
"pipeline": lambda x: (x.commands, None),
"redirect_list": lambda x: ([x.cmd], None),
"subshell": lambda x: (x.cmds, None),
"while_clause": lambda x: (chain(x.condition, x.cmds), None),
"until_clause": lambda x: (chain(x.condition, x.cmds), None),
"simple_command": simple_command,
"case_clause": case_clause,
}
for token in tokens:
name, value = token
try:
more_tokens, words = token_handlers[name](value)
except KeyError:
raise NotImplementedError("Unsupported token type " + name)
if more_tokens:
self.process_tokens(more_tokens)
if words:
self.process_words(words)
def process_words(self, words):
"""Process a set of 'words' in pyshyacc parlance, which includes
extraction of executed commands from $() blocks, as well as grabbing
the command name argument.
"""
words = list(words)
for word in list(words):
wtree = pyshlex.make_wordtree(word[1])
for part in wtree:
if not isinstance(part, list):
continue
if part[0] in ('`', '$('):
command = pyshlex.wordtree_as_string(part[1:-1])
self.parse_shell(command)
if word[0] in ("cmd_name", "cmd_word"):
if word in words:
words.remove(word)
usetoken = False
for word in words:
if word[0] in ("cmd_name", "cmd_word") or \
(usetoken and word[0] == "TOKEN"):
if "=" in word[1]:
usetoken = True
continue
cmd = word[1]
if cmd.startswith("$"):
logger.debug(1, "Warning: execution of non-literal "
"command '%s'", cmd)
elif cmd == "eval":
command = " ".join(word for _, word in words[1:])
self.parse_shell(command)
else:
self.allexecs.add(cmd)
break

View File

@@ -20,7 +20,7 @@ Provide an interface to interact with the bitbake server through 'commands'
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
"""
The bitbake server takes 'commands' from its UI/commandline.
The bitbake server takes 'commands' from its UI/commandline.
Commands are either synchronous or asynchronous.
Async commands return data to the client in the form of events.
Sync commands must only return data through the function return value
@@ -35,12 +35,25 @@ import bb.data
async_cmds = {}
sync_cmds = {}
class CommandCompleted(bb.event.Event):
pass
class CommandExit(bb.event.Event):
def __init__(self, exitcode):
bb.event.Event.__init__(self)
self.exitcode = int(exitcode)
class CommandFailed(CommandExit):
def __init__(self, message):
self.error = message
CommandExit.__init__(self, 1)
class Command:
"""
A queue of asynchronous commands for bitbake
"""
def __init__(self, cooker):
self.cooker = cooker
self.cmds_sync = CommandsSync()
self.cmds_async = CommandsAsync()
@@ -62,7 +75,7 @@ class Command:
try:
command = commandline.pop(0)
if command in CommandsSync.__dict__:
# Can run synchronous commands straight away
# Can run synchronous commands straight away
return getattr(CommandsSync, command)(self.cmds_sync, self, commandline)
if self.currentAsyncCommand is not None:
return "Busy (%s in progress)" % self.currentAsyncCommand[0]
@@ -81,7 +94,8 @@ class Command:
(command, options) = self.currentAsyncCommand
commandmethod = getattr(CommandsAsync, command)
needcache = getattr( commandmethod, "needcache" )
if needcache and self.cooker.cookerState != bb.cooker.cookerParsed:
if (needcache and self.cooker.state in
(bb.cooker.state.initial, bb.cooker.state.parsing)):
self.cooker.updateCache()
return True
else:
@@ -89,16 +103,28 @@ class Command:
return False
else:
return False
except:
except KeyboardInterrupt as exc:
self.finishAsyncCommand("Interrupted")
return False
except SystemExit as exc:
arg = exc.args[0]
if isinstance(arg, basestring):
self.finishAsyncCommand(arg)
else:
self.finishAsyncCommand("Exited with %s" % arg)
return False
except Exception:
import traceback
self.finishAsyncCommand(traceback.format_exc())
return False
def finishAsyncCommand(self, error = None):
if error:
bb.event.fire(CookerCommandFailed(error), self.cooker.configuration.event_data)
def finishAsyncCommand(self, msg=None, code=None):
if msg:
bb.event.fire(CommandFailed(msg), self.cooker.configuration.event_data)
elif code:
bb.event.fire(CommandExit(code), self.cooker.configuration.event_data)
else:
bb.event.fire(CookerCommandCompleted(), self.cooker.configuration.event_data)
bb.event.fire(CommandCompleted(), self.cooker.configuration.event_data)
self.currentAsyncCommand = None
@@ -113,13 +139,13 @@ class CommandsSync:
"""
Trigger cooker 'shutdown' mode
"""
command.cooker.cookerAction = bb.cooker.cookerShutdown
command.cooker.shutdown()
def stateStop(self, command, params):
"""
Stop the cooker
"""
command.cooker.cookerAction = bb.cooker.cookerStop
command.cooker.stop()
def getCmdLineAction(self, command, params):
"""
@@ -238,36 +264,8 @@ class CommandsAsync:
"""
Parse the .bb files
"""
command.cooker.compareRevisions()
command.finishAsyncCommand()
if bb.fetch.fetcher_compare_revisions(command.cooker.configuration.data):
command.finishAsyncCommand(code=1)
else:
command.finishAsyncCommand()
compareRevisions.needcache = True
#
# Events
#
class CookerCommandCompleted(bb.event.Event):
"""
Cooker command completed
"""
def __init__(self):
bb.event.Event.__init__(self)
class CookerCommandFailed(bb.event.Event):
"""
Cooker command completed
"""
def __init__(self, error):
bb.event.Event.__init__(self)
self.error = error
class CookerCommandSetExitCode(bb.event.Event):
"""
Set the exit code for a cooker command
"""
def __init__(self, exitcode):
bb.event.Event.__init__(self)
self.exitcode = int(exitcode)

File diff suppressed because it is too large Load Diff

View File

@@ -1,191 +1,190 @@
"""
Python Deamonizing helper
Configurable daemon behaviors:
1.) The current working directory set to the "/" directory.
2.) The current file creation mode mask set to 0.
3.) Close all open files (1024).
4.) Redirect standard I/O streams to "/dev/null".
A failed call to fork() now raises an exception.
References:
1) Advanced Programming in the Unix Environment: W. Richard Stevens
2) Unix Programming Frequently Asked Questions:
http://www.erlenstar.demon.co.uk/unix/faq_toc.html
Modified to allow a function to be daemonized and return for
bitbake use by Richard Purdie
"""
__author__ = "Chad J. Schroeder"
__copyright__ = "Copyright (C) 2005 Chad J. Schroeder"
__version__ = "0.2"
# Standard Python modules.
import os # Miscellaneous OS interfaces.
import sys # System-specific parameters and functions.
# Default daemon parameters.
# File mode creation mask of the daemon.
# For BitBake's children, we do want to inherit the parent umask.
UMASK = None
# Default maximum for the number of available file descriptors.
MAXFD = 1024
# The standard I/O file descriptors are redirected to /dev/null by default.
if (hasattr(os, "devnull")):
REDIRECT_TO = os.devnull
else:
REDIRECT_TO = "/dev/null"
def createDaemon(function, logfile):
"""
Detach a process from the controlling terminal and run it in the
background as a daemon, returning control to the caller.
"""
try:
# Fork a child process so the parent can exit. This returns control to
# the command-line or shell. It also guarantees that the child will not
# be a process group leader, since the child receives a new process ID
# and inherits the parent's process group ID. This step is required
# to insure that the next call to os.setsid is successful.
pid = os.fork()
except OSError, e:
raise Exception, "%s [%d]" % (e.strerror, e.errno)
if (pid == 0): # The first child.
# To become the session leader of this new session and the process group
# leader of the new process group, we call os.setsid(). The process is
# also guaranteed not to have a controlling terminal.
os.setsid()
# Is ignoring SIGHUP necessary?
#
# It's often suggested that the SIGHUP signal should be ignored before
# the second fork to avoid premature termination of the process. The
# reason is that when the first child terminates, all processes, e.g.
# the second child, in the orphaned group will be sent a SIGHUP.
#
# "However, as part of the session management system, there are exactly
# two cases where SIGHUP is sent on the death of a process:
#
# 1) When the process that dies is the session leader of a session that
# is attached to a terminal device, SIGHUP is sent to all processes
# in the foreground process group of that terminal device.
# 2) When the death of a process causes a process group to become
# orphaned, and one or more processes in the orphaned group are
# stopped, then SIGHUP and SIGCONT are sent to all members of the
# orphaned group." [2]
#
# The first case can be ignored since the child is guaranteed not to have
# a controlling terminal. The second case isn't so easy to dismiss.
# The process group is orphaned when the first child terminates and
# POSIX.1 requires that every STOPPED process in an orphaned process
# group be sent a SIGHUP signal followed by a SIGCONT signal. Since the
# second child is not STOPPED though, we can safely forego ignoring the
# SIGHUP signal. In any case, there are no ill-effects if it is ignored.
#
# import signal # Set handlers for asynchronous events.
# signal.signal(signal.SIGHUP, signal.SIG_IGN)
try:
# Fork a second child and exit immediately to prevent zombies. This
# causes the second child process to be orphaned, making the init
# process responsible for its cleanup. And, since the first child is
# a session leader without a controlling terminal, it's possible for
# it to acquire one by opening a terminal in the future (System V-
# based systems). This second fork guarantees that the child is no
# longer a session leader, preventing the daemon from ever acquiring
# a controlling terminal.
pid = os.fork() # Fork a second child.
except OSError, e:
raise Exception, "%s [%d]" % (e.strerror, e.errno)
if (pid == 0): # The second child.
# We probably don't want the file mode creation mask inherited from
# the parent, so we give the child complete control over permissions.
if UMASK is not None:
os.umask(UMASK)
else:
# Parent (the first child) of the second child.
os._exit(0)
else:
# exit() or _exit()?
# _exit is like exit(), but it doesn't call any functions registered
# with atexit (and on_exit) or any registered signal handlers. It also
# closes any open file descriptors. Using exit() may cause all stdio
# streams to be flushed twice and any temporary files may be unexpectedly
# removed. It's therefore recommended that child branches of a fork()
# and the parent branch(es) of a daemon use _exit().
return
# Close all open file descriptors. This prevents the child from keeping
# open any file descriptors inherited from the parent. There is a variety
# of methods to accomplish this task. Three are listed below.
#
# Try the system configuration variable, SC_OPEN_MAX, to obtain the maximum
# number of open file descriptors to close. If it doesn't exists, use
# the default value (configurable).
#
# try:
# maxfd = os.sysconf("SC_OPEN_MAX")
# except (AttributeError, ValueError):
# maxfd = MAXFD
#
# OR
#
# if (os.sysconf_names.has_key("SC_OPEN_MAX")):
# maxfd = os.sysconf("SC_OPEN_MAX")
# else:
# maxfd = MAXFD
#
# OR
#
# Use the getrlimit method to retrieve the maximum file descriptor number
# that can be opened by this process. If there is not limit on the
# resource, use the default value.
#
import resource # Resource usage information.
maxfd = resource.getrlimit(resource.RLIMIT_NOFILE)[1]
if (maxfd == resource.RLIM_INFINITY):
maxfd = MAXFD
# Iterate through and close all file descriptors.
# for fd in range(0, maxfd):
# try:
# os.close(fd)
# except OSError: # ERROR, fd wasn't open to begin with (ignored)
# pass
# Redirect the standard I/O file descriptors to the specified file. Since
# the daemon has no controlling terminal, most daemons redirect stdin,
# stdout, and stderr to /dev/null. This is done to prevent side-effects
# from reads and writes to the standard I/O file descriptors.
# This call to open is guaranteed to return the lowest file descriptor,
# which will be 0 (stdin), since it was closed above.
# os.open(REDIRECT_TO, os.O_RDWR) # standard input (0)
# Duplicate standard input to standard output and standard error.
# os.dup2(0, 1) # standard output (1)
# os.dup2(0, 2) # standard error (2)
si = file('/dev/null', 'r')
so = file(logfile, 'w')
se = so
# Replace those fds with our own
os.dup2(si.fileno(), sys.stdin.fileno())
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(se.fileno(), sys.stderr.fileno())
function()
os._exit(0)
"""
Python Deamonizing helper
Configurable daemon behaviors:
1.) The current working directory set to the "/" directory.
2.) The current file creation mode mask set to 0.
3.) Close all open files (1024).
4.) Redirect standard I/O streams to "/dev/null".
A failed call to fork() now raises an exception.
References:
1) Advanced Programming in the Unix Environment: W. Richard Stevens
2) Unix Programming Frequently Asked Questions:
http://www.erlenstar.demon.co.uk/unix/faq_toc.html
Modified to allow a function to be daemonized and return for
bitbake use by Richard Purdie
"""
__author__ = "Chad J. Schroeder"
__copyright__ = "Copyright (C) 2005 Chad J. Schroeder"
__version__ = "0.2"
# Standard Python modules.
import os # Miscellaneous OS interfaces.
import sys # System-specific parameters and functions.
# Default daemon parameters.
# File mode creation mask of the daemon.
# For BitBake's children, we do want to inherit the parent umask.
UMASK = None
# Default maximum for the number of available file descriptors.
MAXFD = 1024
# The standard I/O file descriptors are redirected to /dev/null by default.
if (hasattr(os, "devnull")):
REDIRECT_TO = os.devnull
else:
REDIRECT_TO = "/dev/null"
def createDaemon(function, logfile):
"""
Detach a process from the controlling terminal and run it in the
background as a daemon, returning control to the caller.
"""
try:
# Fork a child process so the parent can exit. This returns control to
# the command-line or shell. It also guarantees that the child will not
# be a process group leader, since the child receives a new process ID
# and inherits the parent's process group ID. This step is required
# to insure that the next call to os.setsid is successful.
pid = os.fork()
except OSError as e:
raise Exception("%s [%d]" % (e.strerror, e.errno))
if (pid == 0): # The first child.
# To become the session leader of this new session and the process group
# leader of the new process group, we call os.setsid(). The process is
# also guaranteed not to have a controlling terminal.
os.setsid()
# Is ignoring SIGHUP necessary?
#
# It's often suggested that the SIGHUP signal should be ignored before
# the second fork to avoid premature termination of the process. The
# reason is that when the first child terminates, all processes, e.g.
# the second child, in the orphaned group will be sent a SIGHUP.
#
# "However, as part of the session management system, there are exactly
# two cases where SIGHUP is sent on the death of a process:
#
# 1) When the process that dies is the session leader of a session that
# is attached to a terminal device, SIGHUP is sent to all processes
# in the foreground process group of that terminal device.
# 2) When the death of a process causes a process group to become
# orphaned, and one or more processes in the orphaned group are
# stopped, then SIGHUP and SIGCONT are sent to all members of the
# orphaned group." [2]
#
# The first case can be ignored since the child is guaranteed not to have
# a controlling terminal. The second case isn't so easy to dismiss.
# The process group is orphaned when the first child terminates and
# POSIX.1 requires that every STOPPED process in an orphaned process
# group be sent a SIGHUP signal followed by a SIGCONT signal. Since the
# second child is not STOPPED though, we can safely forego ignoring the
# SIGHUP signal. In any case, there are no ill-effects if it is ignored.
#
# import signal # Set handlers for asynchronous events.
# signal.signal(signal.SIGHUP, signal.SIG_IGN)
try:
# Fork a second child and exit immediately to prevent zombies. This
# causes the second child process to be orphaned, making the init
# process responsible for its cleanup. And, since the first child is
# a session leader without a controlling terminal, it's possible for
# it to acquire one by opening a terminal in the future (System V-
# based systems). This second fork guarantees that the child is no
# longer a session leader, preventing the daemon from ever acquiring
# a controlling terminal.
pid = os.fork() # Fork a second child.
except OSError as e:
raise Exception("%s [%d]" % (e.strerror, e.errno))
if (pid == 0): # The second child.
# We probably don't want the file mode creation mask inherited from
# the parent, so we give the child complete control over permissions.
if UMASK is not None:
os.umask(UMASK)
else:
# Parent (the first child) of the second child.
os._exit(0)
else:
# exit() or _exit()?
# _exit is like exit(), but it doesn't call any functions registered
# with atexit (and on_exit) or any registered signal handlers. It also
# closes any open file descriptors. Using exit() may cause all stdio
# streams to be flushed twice and any temporary files may be unexpectedly
# removed. It's therefore recommended that child branches of a fork()
# and the parent branch(es) of a daemon use _exit().
return
# Close all open file descriptors. This prevents the child from keeping
# open any file descriptors inherited from the parent. There is a variety
# of methods to accomplish this task. Three are listed below.
#
# Try the system configuration variable, SC_OPEN_MAX, to obtain the maximum
# number of open file descriptors to close. If it doesn't exists, use
# the default value (configurable).
#
# try:
# maxfd = os.sysconf("SC_OPEN_MAX")
# except (AttributeError, ValueError):
# maxfd = MAXFD
#
# OR
#
# if (os.sysconf_names.has_key("SC_OPEN_MAX")):
# maxfd = os.sysconf("SC_OPEN_MAX")
# else:
# maxfd = MAXFD
#
# OR
#
# Use the getrlimit method to retrieve the maximum file descriptor number
# that can be opened by this process. If there is not limit on the
# resource, use the default value.
#
import resource # Resource usage information.
maxfd = resource.getrlimit(resource.RLIMIT_NOFILE)[1]
if (maxfd == resource.RLIM_INFINITY):
maxfd = MAXFD
# Iterate through and close all file descriptors.
# for fd in range(0, maxfd):
# try:
# os.close(fd)
# except OSError: # ERROR, fd wasn't open to begin with (ignored)
# pass
# Redirect the standard I/O file descriptors to the specified file. Since
# the daemon has no controlling terminal, most daemons redirect stdin,
# stdout, and stderr to /dev/null. This is done to prevent side-effects
# from reads and writes to the standard I/O file descriptors.
# This call to open is guaranteed to return the lowest file descriptor,
# which will be 0 (stdin), since it was closed above.
# os.open(REDIRECT_TO, os.O_RDWR) # standard input (0)
# Duplicate standard input to standard output and standard error.
# os.dup2(0, 1) # standard output (1)
# os.dup2(0, 2) # standard error (2)
si = file('/dev/null', 'r')
so = file(logfile, 'w')
se = so
# Replace those fds with our own
os.dup2(si.fileno(), sys.stdin.fileno())
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(se.fileno(), sys.stderr.fileno())
function()
os._exit(0)

View File

@@ -11,7 +11,7 @@ operations. At night the cookie monster came by and
suggested 'give me cookies on setting the variables and
things will work out'. Taking this suggestion into account
applying the skills from the not yet passed 'Entwurf und
Analyse von Algorithmen' lecture and the cookie
Analyse von Algorithmen' lecture and the cookie
monster seems to be right. We will track setVar more carefully
to have faster update_data and expandKeys operations.
@@ -37,39 +37,41 @@ the speed is more critical here.
#
#Based on functions from the base bb module, Copyright 2003 Holger Schurig
import sys, os, re, types
import sys, os, re
if sys.argv[0][-5:] == "pydoc":
path = os.path.dirname(os.path.dirname(sys.argv[1]))
else:
path = os.path.dirname(os.path.dirname(sys.argv[0]))
sys.path.insert(0,path)
sys.path.insert(0, path)
from itertools import groupby
from bb import data_smart
from bb import codeparser
import bb
class VarExpandError(Exception):
pass
_dict_type = data_smart.DataSmart
def init():
"""Return a new object representing the Bitbake data"""
return _dict_type()
def init_db(parent = None):
"""Return a new object representing the Bitbake data,
optionally based on an existing object"""
if parent:
return parent.createCopy()
else:
return _dict_type()
def createCopy(source):
"""Link the source set to the destination
If one does not find the value in the destination set,
search will go on to the source set to get the value.
Value from source are copy-on-write. i.e. any try to
modify one of them will end up putting the modified value
in the destination set.
"""
return source.createCopy()
"""Link the source set to the destination
If one does not find the value in the destination set,
search will go on to the source set to get the value.
Value from source are copy-on-write. i.e. any try to
modify one of them will end up putting the modified value
in the destination set.
"""
return source.createCopy()
def initVar(var, d):
"""Non-destructive var init for data structure"""
@@ -77,91 +79,34 @@ def initVar(var, d):
def setVar(var, value, d):
"""Set a variable to a given value
Example:
>>> d = init()
>>> setVar('TEST', 'testcontents', d)
>>> print getVar('TEST', d)
testcontents
"""
d.setVar(var,value)
"""Set a variable to a given value"""
d.setVar(var, value)
def getVar(var, d, exp = 0):
"""Gets the value of a variable
Example:
>>> d = init()
>>> setVar('TEST', 'testcontents', d)
>>> print getVar('TEST', d)
testcontents
"""
return d.getVar(var,exp)
"""Gets the value of a variable"""
return d.getVar(var, exp)
def renameVar(key, newkey, d):
"""Renames a variable from key to newkey
Example:
>>> d = init()
>>> setVar('TEST', 'testcontents', d)
>>> renameVar('TEST', 'TEST2', d)
>>> print getVar('TEST2', d)
testcontents
"""
"""Renames a variable from key to newkey"""
d.renameVar(key, newkey)
def delVar(var, d):
"""Removes a variable from the data set
Example:
>>> d = init()
>>> setVar('TEST', 'testcontents', d)
>>> print getVar('TEST', d)
testcontents
>>> delVar('TEST', d)
>>> print getVar('TEST', d)
None
"""
"""Removes a variable from the data set"""
d.delVar(var)
def setVarFlag(var, flag, flagvalue, d):
"""Set a flag for a given variable to a given value
Example:
>>> d = init()
>>> setVarFlag('TEST', 'python', 1, d)
>>> print getVarFlag('TEST', 'python', d)
1
"""
d.setVarFlag(var,flag,flagvalue)
"""Set a flag for a given variable to a given value"""
d.setVarFlag(var, flag, flagvalue)
def getVarFlag(var, flag, d):
"""Gets given flag from given var
Example:
>>> d = init()
>>> setVarFlag('TEST', 'python', 1, d)
>>> print getVarFlag('TEST', 'python', d)
1
"""
return d.getVarFlag(var,flag)
"""Gets given flag from given var"""
return d.getVarFlag(var, flag)
def delVarFlag(var, flag, d):
"""Removes a given flag from the variable's flags
Example:
>>> d = init()
>>> setVarFlag('TEST', 'testflag', 1, d)
>>> print getVarFlag('TEST', 'testflag', d)
1
>>> delVarFlag('TEST', 'testflag', d)
>>> print getVarFlag('TEST', 'testflag', d)
None
"""
d.delVarFlag(var,flag)
"""Removes a given flag from the variable's flags"""
d.delVarFlag(var, flag)
def setVarFlags(var, flags, d):
"""Set the flags for a given variable
@@ -170,115 +115,27 @@ def setVarFlags(var, flags, d):
setVarFlags will not clear previous
flags. Think of this method as
addVarFlags
Example:
>>> d = init()
>>> myflags = {}
>>> myflags['test'] = 'blah'
>>> setVarFlags('TEST', myflags, d)
>>> print getVarFlag('TEST', 'test', d)
blah
"""
d.setVarFlags(var,flags)
d.setVarFlags(var, flags)
def getVarFlags(var, d):
"""Gets a variable's flags
Example:
>>> d = init()
>>> setVarFlag('TEST', 'test', 'blah', d)
>>> print getVarFlags('TEST', d)['test']
blah
"""
"""Gets a variable's flags"""
return d.getVarFlags(var)
def delVarFlags(var, d):
"""Removes a variable's flags
Example:
>>> data = init()
>>> setVarFlag('TEST', 'testflag', 1, data)
>>> print getVarFlag('TEST', 'testflag', data)
1
>>> delVarFlags('TEST', data)
>>> print getVarFlags('TEST', data)
None
"""
"""Removes a variable's flags"""
d.delVarFlags(var)
def keys(d):
"""Return a list of keys in d
Example:
>>> d = init()
>>> setVar('TEST', 1, d)
>>> setVar('MOO' , 2, d)
>>> setVarFlag('TEST', 'test', 1, d)
>>> keys(d)
['TEST', 'MOO']
"""
"""Return a list of keys in d"""
return d.keys()
def getData(d):
"""Returns the data object used"""
return d
def setData(newData, d):
"""Sets the data object to the supplied value"""
d = newData
##
## Cookie Monsters' query functions
##
def _get_override_vars(d, override):
"""
Internal!!!
Get the Names of Variables that have a specific
override. This function returns a iterable
Set or an empty list
"""
return []
def _get_var_flags_triple(d):
"""
Internal!!!
"""
return []
__expand_var_regexp__ = re.compile(r"\${[^{}]+}")
__expand_python_regexp__ = re.compile(r"\${@.+?}")
def expand(s, d, varname = None):
"""Variable expansion using the data store.
Example:
Standard expansion:
>>> d = init()
>>> setVar('A', 'sshd', d)
>>> print expand('/usr/bin/${A}', d)
/usr/bin/sshd
Python expansion:
>>> d = init()
>>> print expand('result: ${@37 * 72}', d)
result: 2664
Shell expansion:
>>> d = init()
>>> print expand('${TARGET_MOO}', d)
${TARGET_MOO}
>>> setVar('TARGET_MOO', 'yupp', d)
>>> print expand('${TARGET_MOO}',d)
yupp
>>> setVar('SRC_URI', 'http://somebug.${TARGET_MOO}', d)
>>> delVar('TARGET_MOO', d)
>>> print expand('${SRC_URI}', d)
http://somebug.${TARGET_MOO}
"""
"""Variable expansion using the data store"""
return d.expand(s, varname)
def expandKeys(alterdata, readdata = None):
@@ -295,44 +152,21 @@ def expandKeys(alterdata, readdata = None):
continue
todolist[key] = ekey
# These two for loops are split for performance to maximise the
# These two for loops are split for performance to maximise the
# usefulness of the expand cache
for key in todolist:
ekey = todolist[key]
renameVar(key, ekey, alterdata)
def expandData(alterdata, readdata = None):
"""For each variable in alterdata, expand it, and update the var contents.
Replacements use data from readdata.
Example:
>>> a=init()
>>> b=init()
>>> setVar("dlmsg", "dl_dir is ${DL_DIR}", a)
>>> setVar("DL_DIR", "/path/to/whatever", b)
>>> expandData(a, b)
>>> print getVar("dlmsg", a)
dl_dir is /path/to/whatever
"""
if readdata == None:
readdata = alterdata
for key in keys(alterdata):
val = getVar(key, alterdata)
if type(val) is not types.StringType:
continue
expanded = expand(val, readdata)
# print "key is %s, val is %s, expanded is %s" % (key, val, expanded)
if val != expanded:
setVar(key, expanded, alterdata)
def inheritFromOS(d):
"""Inherit variables from the environment."""
exportlist = bb.utils.preserved_envvars_exported()
for s in os.environ.keys():
try:
setVar(s, os.environ[s], d)
setVarFlag(s, "export", True, d)
if s in exportlist:
setVarFlag(s, "export", True, d)
except TypeError:
pass
@@ -351,20 +185,15 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
if all:
oval = getVar(var, d, 0)
val = getVar(var, d, 1)
except KeyboardInterrupt:
except (KeyboardInterrupt, bb.build.FuncFailed):
raise
except:
excname = str(sys.exc_info()[0])
if excname == "bb.build.FuncFailed":
raise
o.write('# expansion of %s threw %s\n' % (var, excname))
except Exception, exc:
o.write('# expansion of %s threw %s: %s\n' % (var, exc.__class__.__name__, str(exc)))
return 0
if all:
o.write('# %s=%s\n' % (var, oval))
if type(val) is not types.StringType:
return 0
commentVal = re.sub('\n', '\n#', str(oval))
o.write('# %s=%s\n' % (var, commentVal))
if (var.find("-") != -1 or var.find(".") != -1 or var.find('{') != -1 or var.find('}') != -1 or var.find('+') != -1) and not all:
return 0
@@ -373,12 +202,13 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
if unexport:
o.write('unset %s\n' % varExpanded)
return 1
return 0
val.rstrip()
if not val:
return 0
val = str(val)
if func:
# NOTE: should probably check for unbalanced {} within the var
o.write("%s() {\n%s\n}\n" % (varExpanded, val))
@@ -390,176 +220,119 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
# if we're going to output this within doublequotes,
# to a shell, we need to escape the quotes in the var
alter = re.sub('"', '\\"', val.strip())
alter = re.sub('\n', ' \\\n', alter)
o.write('%s="%s"\n' % (varExpanded, alter))
return 1
return 0
def emit_env(o=sys.__stdout__, d = init(), all=False):
"""Emits all items in the data store in a format such that it can be sourced by a shell."""
env = keys(d)
isfunc = lambda key: bool(d.getVarFlag(key, "func"))
keys = sorted((key for key in d.keys() if not key.startswith("__")), key=isfunc)
grouped = groupby(keys, isfunc)
for isfunc, keys in grouped:
for key in keys:
emit_var(key, o, d, all and not isfunc) and o.write('\n')
for e in env:
if getVarFlag(e, "func", d):
continue
emit_var(e, o, d, all) and o.write('\n')
def export_vars(d):
keys = (key for key in d.keys() if d.getVarFlag(key, "export"))
ret = {}
for k in keys:
try:
v = d.getVar(k, True)
if v:
ret[k] = v
except (KeyboardInterrupt, bb.build.FuncFailed):
raise
except Exception, exc:
pass
return ret
for e in env:
if not getVarFlag(e, "func", d):
continue
emit_var(e, o, d) and o.write('\n')
def export_envvars(v, d):
for s in os.environ.keys():
if s not in v:
v[s] = os.environ[s]
return v
def emit_func(func, o=sys.__stdout__, d = init()):
"""Emits all items in the data store in a format such that it can be sourced by a shell."""
keys = (key for key in d.keys() if not key.startswith("__") and not d.getVarFlag(key, "func"))
for key in keys:
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))
seen = set()
while newdeps:
deps = newdeps
seen |= deps
newdeps = set()
for dep in deps:
if bb.data.getVarFlag(dep, "func", d):
emit_var(dep, o, d, False) and o.write('\n')
newdeps |= bb.codeparser.ShellParser().parse_shell(d.getVar(dep, True))
newdeps -= seen
def update_data(d):
"""Modifies the environment vars according to local overrides and commands.
Examples:
Appending to a variable:
>>> d = init()
>>> setVar('TEST', 'this is a', d)
>>> setVar('TEST_append', ' test', d)
>>> setVar('TEST_append', ' of the emergency broadcast system.', d)
>>> update_data(d)
>>> print getVar('TEST', d)
this is a test of the emergency broadcast system.
"""Performs final steps upon the datastore, including application of overrides"""
d.finalize()
Prepending to a variable:
>>> setVar('TEST', 'virtual/libc', d)
>>> setVar('TEST_prepend', 'virtual/tmake ', d)
>>> setVar('TEST_prepend', 'virtual/patcher ', d)
>>> update_data(d)
>>> print getVar('TEST', d)
virtual/patcher virtual/tmake virtual/libc
def build_dependencies(key, keys, shelldeps, d):
deps = set()
try:
if d.getVarFlag(key, "func"):
if d.getVarFlag(key, "python"):
parsedvar = d.expandWithRefs(d.getVar(key, False), key)
parser = bb.codeparser.PythonParser()
parser.parse_python(parsedvar.value)
deps = deps | parser.references
else:
parsedvar = d.expandWithRefs(d.getVar(key, False), key)
parser = bb.codeparser.ShellParser()
parser.parse_shell(parsedvar.value)
deps = deps | shelldeps
deps = deps | parsedvar.references
deps = deps | (keys & parser.execs) | (keys & parsedvar.execs)
else:
parser = d.expandWithRefs(d.getVar(key, False), key)
deps |= parser.references
deps = deps | (keys & parser.execs)
deps |= set((d.getVarFlag(key, "vardeps", True) or "").split())
deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split())
except:
bb.note("Error expanding variable %s" % key)
raise
return deps
#bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs)))
#d.setVarFlag(key, "vardeps", deps)
Overrides:
>>> setVar('TEST_arm', 'target', d)
>>> setVar('TEST_ramses', 'machine', d)
>>> setVar('TEST_local', 'local', d)
>>> setVar('OVERRIDES', 'arm', d)
def generate_dependencies(d):
>>> setVar('TEST', 'original', d)
>>> update_data(d)
>>> print getVar('TEST', d)
target
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"))
>>> setVar('OVERRIDES', 'arm:ramses:local', d)
>>> setVar('TEST', 'original', d)
>>> update_data(d)
>>> print getVar('TEST', d)
local
CopyMonster:
>>> e = d.createCopy()
>>> setVar('TEST_foo', 'foo', e)
>>> update_data(e)
>>> print getVar('TEST', e)
local
>>> setVar('OVERRIDES', 'arm:ramses:local:foo', e)
>>> update_data(e)
>>> print getVar('TEST', e)
foo
>>> f = d.createCopy()
>>> setVar('TEST_moo', 'something', f)
>>> setVar('OVERRIDES', 'moo:arm:ramses:local:foo', e)
>>> update_data(e)
>>> print getVar('TEST', e)
foo
>>> h = init()
>>> setVar('SRC_URI', 'file://append.foo;patch=1 ', h)
>>> g = h.createCopy()
>>> setVar('SRC_URI_append_arm', 'file://other.foo;patch=1', g)
>>> setVar('OVERRIDES', 'arm:moo', g)
>>> update_data(g)
>>> print getVar('SRC_URI', g)
file://append.foo;patch=1 file://other.foo;patch=1
"""
bb.msg.debug(2, bb.msg.domain.Data, "update_data()")
# now ask the cookie monster for help
#print "Cookie Monster"
#print "Append/Prepend %s" % d._special_values
#print "Overrides %s" % d._seen_overrides
overrides = (getVar('OVERRIDES', d, 1) or "").split(':') or []
#
# Well let us see what breaks here. We used to iterate
# over each variable and apply the override and then
# do the line expanding.
# If we have bad luck - which we will have - the keys
# where in some order that is so important for this
# method which we don't have anymore.
# Anyway we will fix that and write test cases this
# time.
#
# First we apply all overrides
# Then we will handle _append and _prepend
#
for o in overrides:
# calculate '_'+override
l = len(o)+1
# see if one should even try
if not d._seen_overrides.has_key(o):
continue
vars = d._seen_overrides[o]
for var in vars:
name = var[:-l]
try:
d[name] = d[var]
except:
bb.msg.note(1, bb.msg.domain.Data, "Untracked delVar")
# now on to the appends and prepends
if d._special_values.has_key('_append'):
appends = d._special_values['_append'] or []
for append in appends:
for (a, o) in getVarFlag(append, '_append', d) or []:
# maybe the OVERRIDE was not yet added so keep the append
if (o and o in overrides) or not o:
delVarFlag(append, '_append', d)
if o and not o in overrides:
continue
sval = getVar(append,d) or ""
sval+=a
setVar(append, sval, d)
if d._special_values.has_key('_prepend'):
prepends = d._special_values['_prepend'] or []
for prepend in prepends:
for (a, o) in getVarFlag(prepend, '_prepend', d) or []:
# maybe the OVERRIDE was not yet added so keep the prepend
if (o and o in overrides) or not o:
delVarFlag(prepend, '_prepend', d)
if o and not o in overrides:
continue
sval = a + (getVar(prepend,d) or "")
setVar(prepend, sval, d)
deps = {}
tasklist = bb.data.getVar('__BBTASKS', d) or []
for task in tasklist:
deps[task] = build_dependencies(task, keys, shelldeps, d)
newdeps = deps[task]
seen = set()
while newdeps:
nextdeps = newdeps
seen |= nextdeps
newdeps = set()
for dep in nextdeps:
if dep not in deps:
deps[dep] = build_dependencies(dep, keys, shelldeps, d)
newdeps |= deps[dep]
newdeps -= seen
#print "For %s: %s" % (task, str(taskdeps[task]))
return tasklist, deps
def inherits_class(klass, d):
val = getVar('__inherit_cache', d) or []
if os.path.join('classes', '%s.bbclass' % klass) in val:
return True
return False
def _test():
"""Start a doctest run on this module"""
import doctest
import bb
from bb import data
bb.msg.set_debug_level(0)
doctest.testmod(data)
if __name__ == "__main__":
_test()

View File

@@ -28,25 +28,69 @@ BitBake build tools.
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import copy, os, re, sys, time, types
import bb
from bb import utils, methodpool
from COW import COWDictBase
from new import classobj
import copy, re
from collections import MutableMapping
import logging
import bb, bb.codeparser
from bb import utils
from bb.COW import COWDictBase
logger = logging.getLogger("BitBake.Data")
__setvar_keyword__ = ["_append","_prepend"]
__setvar_keyword__ = ["_append", "_prepend"]
__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend)(_(?P<add>.*))?')
__expand_var_regexp__ = re.compile(r"\${[^{}]+}")
__expand_python_regexp__ = re.compile(r"\${@.+?}")
_expand_globals = {
"os": os,
"bb": bb,
"time": time,
}
class DataSmart:
class VariableParse:
def __init__(self, varname, d, val = None):
self.varname = varname
self.d = d
self.value = val
self.references = set()
self.execs = set()
def var_sub(self, match):
key = match.group()[2:-1]
if self.varname and key:
if self.varname == key:
raise Exception("variable %s references itself!" % self.varname)
var = self.d.getVar(key, 1)
if var is not None:
self.references.add(key)
return var
else:
return match.group()
def python_sub(self, match):
code = match.group()[3:-1]
codeobj = compile(code.strip(), self.varname or "<expansion>", "eval")
parser = bb.codeparser.PythonParser()
parser.parse_python(code)
self.references |= parser.references
self.execs |= parser.execs
value = utils.better_eval(codeobj, DataContext(self.d))
return str(value)
class DataContext(dict):
def __init__(self, metadata, **kwargs):
self.metadata = metadata
dict.__init__(self, **kwargs)
self['d'] = metadata
def __missing__(self, key):
value = self.metadata.getVar(key, True)
if value is None or self.metadata.getVarFlag(key, 'func'):
raise KeyError(key)
else:
return value
class DataSmart(MutableMapping):
def __init__(self, special = COWDictBase.copy(), seen = COWDictBase.copy() ):
self.dict = {}
@@ -55,69 +99,114 @@ class DataSmart:
self._seen_overrides = seen
self.expand_cache = {}
self.expand_locals = {"d": self}
def expand(self,s, varname):
def var_sub(match):
key = match.group()[2:-1]
if varname and key:
if varname == key:
raise Exception("variable %s references itself!" % varname)
var = self.getVar(key, 1)
if var is not None:
return var
else:
return match.group()
def expandWithRefs(self, s, varname):
def python_sub(match):
import bb
code = match.group()[3:-1]
s = eval(code, _expand_globals, self.expand_locals)
if type(s) == types.IntType: s = str(s)
return s
if type(s) is not types.StringType: # sanity check
return s
if not isinstance(s, basestring): # sanity check
return VariableParse(varname, self, s)
if varname and varname in self.expand_cache:
return self.expand_cache[varname]
varparse = VariableParse(varname, self)
while s.find('${') != -1:
olds = s
try:
s = __expand_var_regexp__.sub(var_sub, s)
s = __expand_python_regexp__.sub(python_sub, s)
if s == olds: break
if type(s) is not types.StringType: # sanity check
bb.msg.error(bb.msg.domain.Data, 'expansion of %s returned non-string %s' % (olds, s))
except KeyboardInterrupt:
raise
except:
bb.msg.note(1, bb.msg.domain.Data, "%s:%s while evaluating:\n%s" % (sys.exc_info()[0], sys.exc_info()[1], s))
s = __expand_var_regexp__.sub(varparse.var_sub, s)
s = __expand_python_regexp__.sub(varparse.python_sub, s)
if s == olds:
break
except Exception:
logger.exception("Error evaluating '%s'", s)
raise
varparse.value = s
if varname:
self.expand_cache[varname] = s
self.expand_cache[varname] = varparse
return s
return varparse
def expand(self, s, varname):
return self.expandWithRefs(s, varname).value
def finalize(self):
"""Performs final steps upon the datastore, including application of overrides"""
overrides = (self.getVar("OVERRIDES", True) or "").split(":") or []
#
# Well let us see what breaks here. We used to iterate
# over each variable and apply the override and then
# do the line expanding.
# If we have bad luck - which we will have - the keys
# where in some order that is so important for this
# method which we don't have anymore.
# Anyway we will fix that and write test cases this
# time.
#
# First we apply all overrides
# Then we will handle _append and _prepend
#
for o in overrides:
# calculate '_'+override
l = len(o) + 1
# see if one should even try
if o not in self._seen_overrides:
continue
vars = self._seen_overrides[o]
for var in vars:
name = var[:-l]
try:
self.setVar(name, self.getVar(var, False))
except Exception:
logger.info("Untracked delVar")
# now on to the appends and prepends
for op in __setvar_keyword__:
if op in self._special_values:
appends = self._special_values[op] or []
for append in appends:
keep = []
for (a, o) in self.getVarFlag(append, op) or []:
if o and not o in overrides:
keep.append((a ,o))
continue
if op is "_append":
sval = self.getVar(append, False) or ""
sval += a
self.setVar(append, sval)
elif op is "_prepend":
sval = a + (self.getVar(append, False) or "")
self.setVar(append, sval)
# We save overrides that may be applied at some later stage
if keep:
self.setVarFlag(append, op, keep)
else:
self.delVarFlag(append, op)
def initVar(self, var):
self.expand_cache = {}
if not var in self.dict:
self.dict[var] = {}
def _findVar(self,var):
_dest = self.dict
def _findVar(self, var):
dest = self.dict
while dest:
if var in dest:
return dest[var]
while (_dest and var not in _dest):
if not "_data" in _dest:
_dest = None
if "_data" not in dest:
break
_dest = _dest["_data"]
if _dest and var in _dest:
return _dest[var]
return None
dest = dest["_data"]
def _makeShadowCopy(self, var):
if var in self.dict:
@@ -130,7 +219,7 @@ class DataSmart:
else:
self.initVar(var)
def setVar(self,var,value):
def setVar(self, var, value):
self.expand_cache = {}
match = __setvar_regexp__.match(var)
if match and match.group("keyword") in __setvar_keyword__:
@@ -145,7 +234,7 @@ class DataSmart:
# pay the cookie monster
try:
self._special_values[keyword].add( base )
except:
except KeyError:
self._special_values[keyword] = set()
self._special_values[keyword].add( base )
@@ -157,23 +246,23 @@ class DataSmart:
# more cookies for the cookie monster
if '_' in var:
override = var[var.rfind('_')+1:]
if not self._seen_overrides.has_key(override):
if override not in self._seen_overrides:
self._seen_overrides[override] = set()
self._seen_overrides[override].add( var )
# setting var
self.dict[var]["content"] = value
def getVar(self,var,exp):
value = self.getVarFlag(var,"content")
def getVar(self, var, exp):
value = self.getVarFlag(var, "content")
if exp and value:
return self.expand(value,var)
return self.expand(value, var)
return value
def renameVar(self, key, newkey):
"""
Rename the variable key to newkey
Rename the variable key to newkey
"""
val = self.getVar(key, 0)
if val is not None:
@@ -187,30 +276,33 @@ class DataSmart:
dest = self.getVarFlag(newkey, i) or []
dest.extend(src)
self.setVarFlag(newkey, i, dest)
if self._special_values.has_key(i) and key in self._special_values[i]:
if i in self._special_values and key in self._special_values[i]:
self._special_values[i].remove(key)
self._special_values[i].add(newkey)
self.delVar(key)
def delVar(self,var):
def delVar(self, var):
self.expand_cache = {}
self.dict[var] = {}
def setVarFlag(self,var,flag,flagvalue):
def setVarFlag(self, var, flag, flagvalue):
if not var in self.dict:
self._makeShadowCopy(var)
self.dict[var][flag] = flagvalue
def getVarFlag(self,var,flag):
def getVarFlag(self, var, flag, expand=False):
local_var = self._findVar(var)
value = None
if local_var:
if flag in local_var:
return copy.copy(local_var[flag])
return None
value = copy.copy(local_var[flag])
if expand and value:
value = self.expand(value, None)
return value
def delVarFlag(self,var,flag):
def delVarFlag(self, var, flag):
local_var = self._findVar(var)
if not local_var:
return
@@ -220,7 +312,7 @@ class DataSmart:
if var in self.dict and flag in self.dict[var]:
del self.dict[var][flag]
def setVarFlags(self,var,flags):
def setVarFlags(self, var, flags):
if not var in self.dict:
self._makeShadowCopy(var)
@@ -229,7 +321,7 @@ class DataSmart:
continue
self.dict[var][i] = flags[i]
def getVarFlags(self,var):
def getVarFlags(self, var):
local_var = self._findVar(var)
flags = {}
@@ -244,7 +336,7 @@ class DataSmart:
return flags
def delVarFlags(self,var):
def delVarFlags(self, var):
if not var in self.dict:
self._makeShadowCopy(var)
@@ -270,25 +362,53 @@ class DataSmart:
return data
# Dictionary Methods
def keys(self):
def _keys(d, mykey):
def expandVarref(self, variable, parents=False):
"""Find all references to variable in the data and expand it
in place, optionally descending to parent datastores."""
if parents:
keys = iter(self)
else:
keys = self.localkeys()
ref = '${%s}' % variable
value = self.getVar(variable, False)
for key in keys:
referrervalue = self.getVar(key, False)
if referrervalue and ref in referrervalue:
self.setVar(key, referrervalue.replace(ref, value))
def localkeys(self):
for key in self.dict:
if key != '_data':
yield key
def __iter__(self):
seen = set()
def _keys(d):
if "_data" in d:
_keys(d["_data"],mykey)
for key in _keys(d["_data"]):
yield key
for key in d.keys():
for key in d:
if key != "_data":
mykey[key] = None
keytab = {}
_keys(self.dict,keytab)
return keytab.keys()
if not key in seen:
seen.add(key)
yield key
return _keys(self.dict)
def __getitem__(self,item):
#print "Warning deprecated"
return self.getVar(item, False)
def __len__(self):
return len(frozenset(self))
def __setitem__(self,var,data):
#print "Warning deprecated"
self.setVar(var,data)
def __getitem__(self, item):
value = self.getVar(item, False)
if value is None:
raise KeyError(item)
else:
return value
def __setitem__(self, var, value):
self.setVar(var, value)
def __delitem__(self, var):
self.delVar(var)

View File

@@ -22,23 +22,29 @@ BitBake build tools.
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os, re, sys
import os, sys
import warnings
try:
import cPickle as pickle
except ImportError:
import pickle
import logging
import atexit
import bb.utils
import pickle
# This is the pid for which we should generate the event. This is set when
# the runqueue forks off.
worker_pid = 0
worker_pipe = None
class Event:
class Event(object):
"""Base class for events"""
def __init__(self):
self.pid = worker_pid
NotHandled = 0
Handled = 1
Handled = 1
Registered = 10
AlreadyRegistered = 14
@@ -48,18 +54,50 @@ _handlers = {}
_ui_handlers = {}
_ui_handler_seq = 0
# For compatibility
bb.utils._context["NotHandled"] = NotHandled
bb.utils._context["Handled"] = Handled
def fire_class_handlers(event, d):
if isinstance(event, logging.LogRecord):
return
for handler in _handlers:
h = _handlers[handler]
event.data = d
if type(h).__name__ == "code":
exec(h)
tmpHandler(event)
locals = {"e": event}
bb.utils.simple_exec(h, locals)
ret = bb.utils.better_eval("tmpHandler(e)", locals)
if ret is not None:
warnings.warn("Using Handled/NotHandled in event handlers is deprecated",
DeprecationWarning, stacklevel = 2)
else:
h(event)
del event.data
ui_queue = []
@atexit.register
def print_ui_queue():
"""If we're exiting before a UI has been spawned, display any queued
LogRecords to the console."""
logger = logging.getLogger("BitBake")
if not _ui_handlers:
from bb.msg import BBLogFormatter
console = logging.StreamHandler(sys.stdout)
console.setFormatter(BBLogFormatter("%(levelname)s: %(message)s"))
logger.handlers = [console]
while ui_queue:
event = ui_queue.pop()
if isinstance(event, logging.LogRecord):
logger.handle(event)
def fire_ui_handlers(event, d):
if not _ui_handlers:
# No UI handlers registered yet, queue up the messages
ui_queue.append(event)
return
errors = []
for h in _ui_handlers:
#print "Sending event %s" % event
@@ -76,9 +114,9 @@ def fire_ui_handlers(event, d):
def fire(event, d):
"""Fire off an Event"""
# We can fire class handlers in the worker process context and this is
# We can fire class handlers in the worker process context and this is
# desired so they get the task based datastore.
# UI handlers need to be fired in the server context so we defer this. They
# UI handlers need to be fired in the server context so we defer this. They
# don't have a datastore so the datastore context isn't a problem.
fire_class_handlers(event, d)
@@ -89,15 +127,11 @@ def fire(event, d):
def worker_fire(event, d):
data = "<event>" + pickle.dumps(event) + "</event>"
try:
if os.write(worker_pipe, data) != len (data):
print "Error sending event to server (short write)"
except OSError:
sys.exit(1)
worker_pipe.write(data)
def fire_from_worker(event, d):
if not event.startswith("<event>") or not event.endswith("</event>"):
print "Error, not an event"
print("Error, not an event %s" % event)
return
event = pickle.loads(event[7:-8])
fire_ui_handlers(event, d)
@@ -111,7 +145,7 @@ def register(name, handler):
if handler is not None:
# handle string containing python code
if type(handler).__name__ == "str":
if isinstance(handler, basestring):
tmp = "def tmpHandler(e):\n%s" % handler
comp = bb.utils.better_compile(tmp, "tmpHandler(e)", "bb.event._registerCode")
_handlers[name] = comp
@@ -222,10 +256,11 @@ class BuildCompleted(BuildBase):
class NoProvider(Event):
"""No Provider for an Event"""
def __init__(self, item, runtime=False):
def __init__(self, item, runtime=False, dependees=None):
Event.__init__(self)
self._item = item
self._runtime = runtime
self._dependees = dependees
def getItem(self):
return self._item
@@ -260,10 +295,14 @@ class MultipleProviders(Event):
"""
return self._candidates
class ParseProgress(Event):
"""
Parsing Progress Event
"""
class ParseStarted(Event):
"""Recipe parsing for the runqueue has begun"""
def __init__(self, total):
Event.__init__(self)
self.total = total
class ParseCompleted(Event):
"""Recipe parsing for the runqueue has completed"""
def __init__(self, cached, parsed, skipped, masked, virtuals, errors, total):
Event.__init__(self)
@@ -276,6 +315,32 @@ class ParseProgress(Event):
self.sofar = cached + parsed
self.total = total
class ParseProgress(Event):
"""Recipe parsing progress"""
def __init__(self, current):
self.current = current
class CacheLoadStarted(Event):
"""Loading of the dependency cache has begun"""
def __init__(self, total):
Event.__init__(self)
self.total = total
class CacheLoadProgress(Event):
"""Cache loading progress"""
def __init__(self, current):
Event.__init__(self)
self.current = current
class CacheLoadCompleted(Event):
"""Cache loading is complete"""
def __init__(self, total, num_entries):
Event.__init__(self)
self.total = total
self.num_entries = num_entries
class DepTreeGenerated(Event):
"""
Event when a dependency tree has been generated
@@ -285,3 +350,37 @@ class DepTreeGenerated(Event):
Event.__init__(self)
self._depgraph = depgraph
class MsgBase(Event):
"""Base class for messages"""
def __init__(self, msg):
self._message = msg
Event.__init__(self)
class MsgDebug(MsgBase):
"""Debug Message"""
class MsgNote(MsgBase):
"""Note Message"""
class MsgWarn(MsgBase):
"""Warning Message"""
class MsgError(MsgBase):
"""Error Message"""
class MsgFatal(MsgBase):
"""Fatal Message"""
class MsgPlain(MsgBase):
"""General output"""
class LogHandler(logging.Handler):
"""Dispatch logging messages as bitbake events"""
def emit(self, record):
fire(record, None)
def filter(self, record):
record.taskpid = worker_pid
return True

View File

@@ -24,10 +24,18 @@ BitBake build tools.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
from __future__ import absolute_import
from __future__ import print_function
import os, re
import logging
import bb
from bb import data
from bb import persist_data
from bb import utils
__version__ = "1"
logger = logging.getLogger("BitBake.Fetch")
class MalformedUrl(Exception):
"""Exception raised when encountering an invalid url"""
@@ -53,24 +61,6 @@ class InvalidSRCREV(Exception):
def decodeurl(url):
"""Decodes an URL into the tokens (scheme, network location, path,
user, password, parameters).
>>> decodeurl("http://www.google.com/index.html")
('http', 'www.google.com', '/index.html', '', '', {})
>>> decodeurl("file://gas/COPYING")
('file', '', 'gas/COPYING', '', '', {})
CVS url with username, host and cvsroot. The cvs module to check out is in the
parameters:
>>> decodeurl("cvs://anoncvs@cvs.handhelds.org/cvs;module=familiar/dist/ipkg")
('cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', '', {'module': 'familiar/dist/ipkg'})
Dito, but this time the username has a password part. And we also request a special tag
to check out.
>>> decodeurl("cvs://anoncvs:anonymous@cvs.handhelds.org/cvs;module=familiar/dist/ipkg;tag=V0-99-81")
('cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', 'anonymous', {'tag': 'V0-99-81', 'module': 'familiar/dist/ipkg'})
"""
m = re.compile('(?P<type>[^:]*)://((?P<user>.+)@)?(?P<location>[^;]+)(;(?P<parm>.*))?').match(url)
@@ -103,7 +93,7 @@ def decodeurl(url):
p = {}
if parm:
for s in parm.split(';'):
s1,s2 = s.split('=')
s1, s2 = s.split('=')
p[s1] = s2
return (type, host, path, user, pswd, p)
@@ -111,27 +101,12 @@ def decodeurl(url):
def encodeurl(decoded):
"""Encodes a URL from tokens (scheme, network location, path,
user, password, parameters).
>>> encodeurl(['http', 'www.google.com', '/index.html', '', '', {}])
'http://www.google.com/index.html'
CVS with username, host and cvsroot. The cvs module to check out is in the
parameters:
>>> encodeurl(['cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', '', {'module': 'familiar/dist/ipkg'}])
'cvs://anoncvs@cvs.handhelds.org/cvs;module=familiar/dist/ipkg'
Dito, but this time the username has a password part. And we also request a special tag
to check out.
>>> encodeurl(['cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', 'anonymous', {'tag': 'V0-99-81', 'module': 'familiar/dist/ipkg'}])
'cvs://anoncvs:anonymous@cvs.handhelds.org/cvs;tag=V0-99-81;module=familiar/dist/ipkg'
"""
(type, host, path, user, pswd, p) = decoded
if not type or not path:
bb.msg.fatal(bb.msg.domain.Fetcher, "invalid or missing parameters for url encoding")
raise MissingParameterError("Type or path url components missing when encoding %s" % decoded)
url = '%s://' % type
if user:
url += "%s" % user
@@ -148,33 +123,26 @@ def encodeurl(decoded):
return url
def uri_replace(uri, uri_find, uri_replace, d):
# bb.msg.note(1, bb.msg.domain.Fetcher, "uri_replace: operating on %s" % uri)
if not uri or not uri_find or not uri_replace:
bb.msg.debug(1, bb.msg.domain.Fetcher, "uri_replace: passed an undefined value, not replacing")
uri_decoded = list(bb.decodeurl(uri))
uri_find_decoded = list(bb.decodeurl(uri_find))
uri_replace_decoded = list(bb.decodeurl(uri_replace))
result_decoded = ['','','','','',{}]
logger.debug(1, "uri_replace: passed an undefined value, not replacing")
uri_decoded = list(decodeurl(uri))
uri_find_decoded = list(decodeurl(uri_find))
uri_replace_decoded = list(decodeurl(uri_replace))
result_decoded = ['', '', '', '', '', {}]
for i in uri_find_decoded:
loc = uri_find_decoded.index(i)
result_decoded[loc] = uri_decoded[loc]
import types
if type(i) == types.StringType:
if isinstance(i, basestring):
if (re.match(i, uri_decoded[loc])):
result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
if uri_find_decoded.index(i) == 2:
if d:
localfn = bb.fetch.localpath(uri, d)
if localfn:
result_decoded[loc] = os.path.dirname(result_decoded[loc]) + "/" + os.path.basename(bb.fetch.localpath(uri, d))
# bb.msg.note(1, bb.msg.domain.Fetcher, "uri_replace: matching %s against %s and replacing with %s" % (i, uri_decoded[loc], uri_replace_decoded[loc]))
result_decoded[loc] = os.path.join(os.path.dirname(result_decoded[loc]), os.path.basename(bb.fetch.localpath(uri, d)))
else:
# bb.msg.note(1, bb.msg.domain.Fetcher, "uri_replace: no match")
return uri
# else:
# for j in i:
# FIXME: apply replacements against options
return bb.encodeurl(result_decoded)
return encodeurl(result_decoded)
methods = []
urldata_cache = {}
@@ -182,50 +150,46 @@ saved_headrevs = {}
def fetcher_init(d):
"""
Called to initilize the fetchers once the configuration data is known
Called to initialize the fetchers once the configuration data is known.
Calls before this must not hit the cache.
"""
pd = persist_data.PersistData(d)
# When to drop SCM head revisions controled by user policy
pd = persist_data.persist(d)
# When to drop SCM head revisions controlled by user policy
srcrev_policy = bb.data.getVar('BB_SRCREV_POLICY', d, 1) or "clear"
if srcrev_policy == "cache":
bb.msg.debug(1, bb.msg.domain.Fetcher, "Keeping SRCREV cache due to cache policy of: %s" % srcrev_policy)
logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
elif srcrev_policy == "clear":
bb.msg.debug(1, bb.msg.domain.Fetcher, "Clearing SRCREV cache due to cache policy of: %s" % srcrev_policy)
logger.debug(1, "Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
try:
bb.fetch.saved_headrevs = pd.getKeyValues("BB_URI_HEADREVS")
bb.fetch.saved_headrevs = pd['BB_URI_HEADREVS'].items()
except:
pass
pd.delDomain("BB_URI_HEADREVS")
del pd['BB_URI_HEADREVS']
else:
bb.msg.fatal(bb.msg.domain.Fetcher, "Invalid SRCREV cache policy of: %s" % srcrev_policy)
raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
for m in methods:
if hasattr(m, "init"):
m.init(d)
# Make sure our domains exist
pd.addDomain("BB_URI_HEADREVS")
pd.addDomain("BB_URI_LOCALCOUNT")
def fetcher_compare_revisons(d):
def fetcher_compare_revisions(d):
"""
Compare the revisions in the persistant cache with current values and
return true/false on whether they've changed.
"""
pd = persist_data.PersistData(d)
data = pd.getKeyValues("BB_URI_HEADREVS")
pd = persist_data.persist(d)
data = pd['BB_URI_HEADREVS'].items()
data2 = bb.fetch.saved_headrevs
changed = False
for key in data:
if key not in data2 or data2[key] != data[key]:
bb.msg.debug(1, bb.msg.domain.Fetcher, "%s changed" % key)
logger.debug(1, "%s changed", key)
changed = True
return True
else:
bb.msg.debug(2, bb.msg.domain.Fetcher, "%s did not change" % key)
logger.debug(2, "%s did not change", key)
return False
# Function call order is usually:
@@ -236,6 +200,7 @@ def fetcher_compare_revisons(d):
def init(urls, d, setup = True):
urldata = {}
fn = bb.data.getVar('FILE', d, 1)
if fn in urldata_cache:
urldata = urldata_cache[fn]
@@ -247,11 +212,50 @@ def init(urls, d, setup = True):
if setup:
for url in urldata:
if not urldata[url].setup:
urldata[url].setup_localpath(d)
urldata[url].setup_localpath(d)
urldata_cache[fn] = urldata
return urldata
def mirror_from_string(data):
return [ i.split() for i in (data or "").replace('\\n','\n').split('\n') if i ]
def verify_checksum(u, ud, d):
"""
verify the MD5 and SHA256 checksum for downloaded src
return value:
- True: checksum matched
- False: checksum unmatched
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
matched
"""
if not ud.type in ["http", "https", "ftp", "ftps"]:
return
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)
return
if (ud.md5_expected != md5data or ud.sha256_expected != sha256data):
logger.error('The checksums for "%s" did not match.\n'
' MD5: expected "%s", got "%s"\n'
' SHA256: expected "%s", got "%s"\n',
ud.localpath, ud.md5_expected, md5data,
ud.sha256_expected, sha256data)
raise FetchError("%s checksum mismatch." % u)
def go(d, urls = None):
"""
Fetch all urls
@@ -264,63 +268,67 @@ def go(d, urls = None):
for u in urls:
ud = urldata[u]
m = ud.method
if ud.localfile:
if not m.forcefetch(u, ud, d) and os.path.exists(ud.md5):
# File already present along with md5 stamp file
# Touch md5 file to show activity
try:
os.utime(ud.md5, None)
except:
# Errors aren't fatal here
pass
continue
lf = bb.utils.lockfile(ud.lockfile)
if not m.forcefetch(u, ud, d) and os.path.exists(ud.md5):
# If someone else fetched this before we got the lock,
# notice and don't try again
try:
os.utime(ud.md5, None)
except:
# Errors aren't fatal here
pass
bb.utils.unlockfile(lf)
continue
localpath = ""
# First try fetching uri, u, from PREMIRRORS
mirrors = [ i.split() for i in (bb.data.getVar('PREMIRRORS', d, 1) or "").split('\n') if i ]
localpath = try_mirrors(d, u, mirrors)
if not localpath:
if not ud.localfile:
continue
lf = bb.utils.lockfile(ud.lockfile)
if m.try_premirror(u, ud, d):
# First try fetching uri, u, from PREMIRRORS
mirrors = mirror_from_string(bb.data.getVar('PREMIRRORS', d, True))
localpath = try_mirrors(d, u, mirrors, False, m.forcefetch(u, ud, d))
elif os.path.exists(ud.localfile):
localpath = ud.localfile
# Need to re-test forcefetch() which will return true if our copy is too old
if m.forcefetch(u, ud, d) or not localpath:
# Next try fetching from the original uri, u
try:
m.go(u, ud, d)
localpath = ud.localpath
except:
except FetchError:
# Remove any incomplete file
bb.utils.remove(ud.localpath)
# Finally, try fetching uri, u, from MIRRORS
mirrors = [ i.split() for i in (bb.data.getVar('MIRRORS', d, 1) or "").split('\n') if i ]
mirrors = mirror_from_string(bb.data.getVar('MIRRORS', d, 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)
if localpath:
ud.localpath = localpath
ud.localpath = localpath
if ud.localfile:
if not m.forcefetch(u, ud, d):
Fetch.write_md5sum(u, ud, d)
bb.utils.unlockfile(lf)
if os.path.exists(ud.md5):
# Touch the md5 file to show active use of the download
try:
os.utime(ud.md5, None)
except:
# Errors aren't fatal here
pass
else:
# Only check the checksums if we've not seen this item before
verify_checksum(u, ud, d)
Fetch.write_md5sum(u, ud, d)
bb.utils.unlockfile(lf)
def checkstatus(d):
def checkstatus(d, urls = None):
"""
Check all urls exist upstream
init must have previously been called
"""
urldata = init([], d, True)
for u in urldata:
if not urls:
urls = urldata
for u in urls:
ud = urldata[u]
m = ud.method
bb.msg.note(1, bb.msg.domain.Fetcher, "Testing URL %s" % u)
logger.debug(1, "Testing URL %s", u)
# First try checking uri, u, from PREMIRRORS
mirrors = [ i.split() for i in (bb.data.getVar('PREMIRRORS', d, 1) or "").split('\n') if i ]
mirrors = mirror_from_string(bb.data.getVar('PREMIRRORS', d, True))
ret = try_mirrors(d, u, mirrors, True)
if not ret:
# Next try checking from the original uri, u
@@ -328,11 +336,11 @@ def checkstatus(d):
ret = m.checkstatus(u, ud, d)
except:
# Finally, try checking uri, u, from MIRRORS
mirrors = [ i.split() for i in (bb.data.getVar('MIRRORS', d, 1) or "").split('\n') if i ]
mirrors = mirror_from_string(bb.data.getVar('MIRRORS', d, True))
ret = try_mirrors (d, u, mirrors, True)
if not ret:
bb.msg.error(bb.msg.domain.Fetcher, "URL %s doesn't work" % u)
raise FetchError("URL %s doesn't work" % u)
def localpaths(d):
"""
@@ -342,27 +350,30 @@ def localpaths(d):
urldata = init([], d, True)
for u in urldata:
ud = urldata[u]
ud = urldata[u]
local.append(ud.localpath)
return local
srcrev_internal_call = False
def get_autorev(d):
return get_srcrev(d)
def get_srcrev(d):
"""
Return the version string for the current package
(usually to be used as PV)
Most packages usually only have one SCM so we just pass on the call.
In the multi SCM case, we build a value based on SRCREV_FORMAT which must
In the multi SCM case, we build a value based on SRCREV_FORMAT which must
have been set.
"""
#
# Ugly code alert. localpath in the fetchers will try to evaluate SRCREV which
# Ugly code alert. localpath in the fetchers will try to evaluate SRCREV which
# could translate into a call to here. If it does, we need to catch this
# and provide some way so it knows get_srcrev is active instead of being
# some number etc. hence the srcrev_internal_call tracking and the magic
# some number etc. hence the srcrev_internal_call tracking and the magic
# "SRCREVINACTION" return value.
#
# Neater solutions welcome!
@@ -372,20 +383,21 @@ def get_srcrev(d):
scms = []
# Only call setup_localpath on URIs which suppports_srcrev()
# Only call setup_localpath on URIs which supports_srcrev()
urldata = init(bb.data.getVar('SRC_URI', d, 1).split(), d, False)
for u in urldata:
ud = urldata[u]
if ud.method.suppports_srcrev():
if ud.method.supports_srcrev():
if not ud.setup:
ud.setup_localpath(d)
scms.append(u)
if len(scms) == 0:
bb.msg.error(bb.msg.domain.Fetcher, "SRCREV was used yet no valid SCM was found in SRC_URI")
logger.error("SRCREV was used yet no valid SCM was found in SRC_URI")
raise ParameterError
bb.data.setVar('__BB_DONT_CACHE','1', d)
if bb.data.getVar('BB_SRCREV_POLICY', d, True) != "cache":
bb.data.setVar('__BB_DONT_CACHE', '1', d)
if len(scms) == 1:
return urldata[scms[0]].method.sortable_revision(scms[0], urldata[scms[0]], d)
@@ -395,7 +407,7 @@ def get_srcrev(d):
#
format = bb.data.getVar('SRCREV_FORMAT', d, 1)
if not format:
bb.msg.error(bb.msg.domain.Fetcher, "The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
logger.error("The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
raise ParameterError
for scm in scms:
@@ -408,7 +420,7 @@ def get_srcrev(d):
def localpath(url, d, cache = True):
"""
Called from the parser with cache=False since the cache isn't ready
Called from the parser with cache=False since the cache isn't ready
at this point. Also called from classed in OE e.g. patch.bbclass
"""
ud = init([url], d)
@@ -427,28 +439,31 @@ def runfetchcmd(cmd, d, quiet = False):
# rather than host provided
# Also include some other variables.
# FIXME: Should really include all export varaiables?
exportvars = ['PATH', 'GIT_PROXY_COMMAND', 'GIT_PROXY_HOST', 'GIT_PROXY_PORT', 'GIT_CONFIG', 'http_proxy', 'ftp_proxy', 'SSH_AUTH_SOCK', 'SSH_AGENT_PID', 'HOME']
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',
'KRB5CCNAME', 'SSH_AUTH_SOCK', 'SSH_AGENT_PID', 'HOME']
for var in exportvars:
val = data.getVar(var, d, True)
if val:
cmd = 'export ' + var + '=%s; %s' % (val, cmd)
cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % cmd)
logger.debug(1, "Running %s", cmd)
# redirect stderr to stdout
stdout_handle = os.popen(cmd + " 2>&1", "r")
output = ""
while 1:
while True:
line = stdout_handle.readline()
if not line:
break
if not quiet:
print line,
print(line, end=' ')
output += line
status = stdout_handle.close() or 0
status = stdout_handle.close() or 0
signal = status >> 8
exitstatus = status & 0xff
@@ -459,7 +474,7 @@ def runfetchcmd(cmd, d, quiet = False):
return output
def try_mirrors(d, uri, mirrors, check = False):
def try_mirrors(d, uri, mirrors, check = False, force = False):
"""
Try to use a mirrored version of the sources.
This method will be automatically called before the fetchers go.
@@ -469,8 +484,8 @@ def try_mirrors(d, uri, mirrors, check = False):
mirrors is the list of mirrors we're going to try
"""
fpath = os.path.join(data.getVar("DL_DIR", d, 1), os.path.basename(uri))
if not check and os.access(fpath, os.R_OK):
bb.msg.debug(1, bb.msg.domain.Fetcher, "%s already exists, skipping checkout." % fpath)
if not check and os.access(fpath, os.R_OK) and not force:
logger.debug(1, "%s already exists, skipping checkout.", fpath)
return fpath
ld = d.createCopy()
@@ -480,23 +495,26 @@ def try_mirrors(d, uri, mirrors, check = False):
try:
ud = FetchData(newuri, ld)
except bb.fetch.NoMethodError:
bb.msg.debug(1, bb.msg.domain.Fetcher, "No method for %s" % uri)
logger.debug(1, "No method for %s", uri)
continue
ud.setup_localpath(ld)
try:
if check:
ud.method.checkstatus(newuri, ud, ld)
found = ud.method.checkstatus(newuri, ud, ld)
if found:
return found
else:
ud.method.go(newuri, ud, ld)
return ud.localpath
return ud.localpath
except (bb.fetch.MissingParameterError,
bb.fetch.FetchError,
bb.fetch.MD5SumError):
import sys
(type, value, traceback) = sys.exc_info()
bb.msg.debug(2, bb.msg.domain.Fetcher, "Mirror fetch failure: %s" % value)
logger.debug(2, "Mirror fetch failure: %s", value)
bb.utils.remove(ud.localpath)
continue
return None
@@ -507,7 +525,7 @@ class FetchData(object):
"""
def __init__(self, url, d):
self.localfile = ""
(self.type, self.host, self.path, self.user, self.pswd, self.parm) = bb.decodeurl(data.expand(url, d))
(self.type, self.host, self.path, self.user, self.pswd, self.parm) = decodeurl(data.expand(url, d))
self.date = Fetch.getSRCDate(self, d)
self.url = url
if not self.user and "user" in self.parm:
@@ -515,6 +533,16 @@ class FetchData(object):
if not self.pswd and "pswd" in self.parm:
self.pswd = self.parm["pswd"]
self.setup = False
if "name" in self.parm:
self.md5_name = "%s.md5sum" % self.parm["name"]
self.sha256_name = "%s.sha256sum" % self.parm["name"]
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)
for m in methods:
if m.supports(url, self, d):
self.method = m
@@ -526,12 +554,13 @@ class FetchData(object):
if "localpath" in self.parm:
# if user sets localpath for file, use it instead.
self.localpath = self.parm["localpath"]
self.basename = os.path.basename(self.localpath)
else:
premirrors = bb.data.getVar('PREMIRRORS', d, True)
local = ""
if premirrors and self.url:
aurl = self.url.split(";")[0]
mirrors = [ i.split() for i in (premirrors or "").split('\n') if i ]
mirrors = mirror_from_string(premirrors)
for (find, replace) in mirrors:
if replace.startswith("file://"):
path = aurl.split("://")[1]
@@ -550,10 +579,11 @@ class FetchData(object):
# Horrible...
bb.data.delVar("ISHOULDNEVEREXIST", 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), d)
self.md5 = basepath + '.md5'
self.lockfile = basepath + '.lock'
if self.localpath is not None:
# 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), d)
self.md5 = basepath + '.md5'
self.lockfile = basepath + '.lock'
class Fetch(object):
@@ -571,10 +601,17 @@ class Fetch(object):
def localpath(self, url, urldata, d):
"""
Return the local filename of a given url assuming a successful fetch.
Can also setup variables in urldata for use in go (saving code duplication
Can also setup variables in urldata for use in go (saving code duplication
and duplicate code execution)
"""
return url
def _strip_leading_slashes(self, relpath):
"""
Remove leading slash as os.path.join can't cope
"""
while os.path.isabs(relpath):
relpath = relpath[1:]
return relpath
def setUrls(self, urls):
self.__urls = urls
@@ -590,7 +627,7 @@ class Fetch(object):
"""
return False
def suppports_srcrev(self):
def supports_srcrev(self):
"""
The fetcher supports auto source revisions (SRCREV)
"""
@@ -603,12 +640,23 @@ class Fetch(object):
"""
raise NoMethodError("Missing implementation for url")
def try_premirror(self, url, urldata, d):
"""
Should premirrors be used?
"""
if urldata.method.forcefetch(url, urldata, d):
return True
elif os.path.exists(urldata.md5) and os.path.exists(urldata.localfile):
return False
else:
return True
def checkstatus(self, url, urldata, d):
"""
Check the status of a URL
Assumes localpath was called first
"""
bb.msg.note(1, bb.msg.domain.Fetcher, "URL %s could not be checked for status since no method exists." % url)
logger.info("URL %s could not be checked for status since no method exists.", url)
return True
def getSRCDate(urldata, d):
@@ -632,8 +680,8 @@ class Fetch(object):
"""
Return:
a) a source revision if specified
b) True if auto srcrev is in action
c) False otherwise
b) True if auto srcrev is in action
c) False otherwise
"""
if 'rev' in ud.parm:
@@ -645,14 +693,18 @@ class Fetch(object):
rev = None
if 'name' in ud.parm:
pn = data.getVar("PN", d, 1)
rev = data.getVar("SRCREV_pn-" + pn + "_" + ud.parm['name'], d, 1)
rev = data.getVar("SRCREV_%s_pn-%s" % (ud.parm['name'], pn), d, 1)
if not rev:
rev = data.getVar("SRCREV_pn-%s_%s" % (pn, ud.parm['name']), d, 1)
if not rev:
rev = data.getVar("SRCREV_%s" % (ud.parm['name']), d, 1)
if not rev:
rev = data.getVar("SRCREV", d, 1)
if rev == "INVALID":
raise InvalidSRCREV("Please set SRCREV to a valid value")
if not rev:
return False
if rev is "SRCREVINACTION":
if rev == "SRCREVINACTION":
return True
return rev
@@ -665,7 +717,7 @@ class Fetch(object):
b) None otherwise
"""
localcount= None
localcount = None
if 'name' in ud.parm:
pn = data.getVar("PN", d, 1)
localcount = data.getVar("LOCALCOUNT_" + ud.parm['name'], d, 1)
@@ -679,9 +731,7 @@ class Fetch(object):
"""
Verify the md5sum we wanted with the one we got
"""
wanted_sum = None
if 'md5sum' in ud.parm:
wanted_sum = ud.parm['md5sum']
wanted_sum = ud.parm.get('md5sum')
if not wanted_sum:
return True
@@ -706,34 +756,35 @@ class Fetch(object):
if not hasattr(self, "_latest_revision"):
raise ParameterError
pd = persist_data.PersistData(d)
pd = persist_data.persist(d)
revs = pd['BB_URI_HEADREVS']
key = self.generate_revision_key(url, ud, d)
rev = pd.getValue("BB_URI_HEADREVS", key)
rev = revs[key]
if rev != None:
return str(rev)
rev = self._latest_revision(url, ud, d)
pd.setValue("BB_URI_HEADREVS", key, rev)
revs[key] = rev = self._latest_revision(url, ud, d)
return rev
def sortable_revision(self, url, ud, d):
"""
"""
if hasattr(self, "_sortable_revision"):
return self._sortable_revision(url, ud, d)
pd = persist_data.PersistData(d)
pd = persist_data.persist(d)
localcounts = pd['BB_URI_LOCALCOUNT']
key = self.generate_revision_key(url, ud, d)
latest_rev = self._build_revision(url, ud, d)
last_rev = pd.getValue("BB_URI_LOCALCOUNT", key + "_rev")
last_rev = localcounts[key + '_rev']
uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
count = None
if uselocalcount:
count = Fetch.localcount_internal_helper(ud, d)
if count is None:
count = pd.getValue("BB_URI_LOCALCOUNT", key + "_count")
count = localcounts[key + '_count']
if last_rev == latest_rev:
return str(count + "+" + latest_rev)
@@ -749,8 +800,8 @@ class Fetch(object):
else:
count = str(int(count) + 1)
pd.setValue("BB_URI_LOCALCOUNT", key + "_rev", latest_rev)
pd.setValue("BB_URI_LOCALCOUNT", key + "_count", count)
localcounts[key + '_rev'] = latest_rev
localcounts[key + '_count'] = count
return str(count + "+" + latest_rev)
@@ -758,18 +809,18 @@ class Fetch(object):
key = self._revision_key(url, ud, d)
return "%s-%s" % (key, bb.data.getVar("PN", d, True) or "")
import cvs
import git
import local
import svn
import wget
import svk
import ssh
import perforce
import bzr
import hg
import osc
import repo
from . import cvs
from . import git
from . import local
from . import svn
from . import wget
from . import svk
from . import ssh
from . import perforce
from . import bzr
from . import hg
from . import osc
from . import repo
methods.append(local.Local())
methods.append(wget.Wget())

View File

@@ -25,11 +25,10 @@ BitBake 'Fetch' implementation for bzr.
import os
import sys
import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import runfetchcmd
from bb.fetch import Fetch, FetchError, runfetchcmd, logger
class Bzr(Fetch):
def supports(self, url, ud, d):
@@ -38,23 +37,20 @@ class Bzr(Fetch):
def localpath (self, url, ud, d):
# Create paths to bzr checkouts
relpath = ud.path
if relpath.startswith('/'):
# Remove leading slash as os.path.join can't cope
relpath = relpath[1:]
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${BZRDIR}', d), ud.host, relpath)
revision = Fetch.srcrev_internal_helper(ud, d)
if revision is True:
ud.revision = self.latest_revision(url, ud, d)
ud.revision = self.latest_revision(url, ud, d)
elif revision:
ud.revision = revision
if not ud.revision:
ud.revision = self.latest_revision(url, ud, d)
ud.revision = self.latest_revision(url, ud, d)
ud.localfile = data.expand('bzr_%s_%s_%s.tar.gz' % (ud.host, ud.path.replace('/', '.'), ud.revision), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def _buildbzrcommand(self, ud, d, command):
@@ -65,9 +61,7 @@ class Bzr(Fetch):
basecmd = data.expand('${FETCHCMD_bzr}', d)
proto = "http"
if "proto" in ud.parm:
proto = ud.parm["proto"]
proto = ud.parm.get('proto', 'http')
bzrroot = ud.host + ud.path
@@ -93,22 +87,29 @@ class Bzr(Fetch):
if os.access(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir), '.bzr'), os.R_OK):
bzrcmd = self._buildbzrcommand(ud, d, "update")
bb.msg.debug(1, bb.msg.domain.Fetcher, "BZR Update %s" % loc)
logger.debug(1, "BZR Update %s", loc)
os.chdir(os.path.join (ud.pkgdir, os.path.basename(ud.path)))
runfetchcmd(bzrcmd, d)
else:
os.system("rm -rf %s" % os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)))
bb.utils.remove(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)), True)
bzrcmd = self._buildbzrcommand(ud, d, "fetch")
bb.msg.debug(1, bb.msg.domain.Fetcher, "BZR Checkout %s" % loc)
logger.debug(1, "BZR Checkout %s", loc)
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % bzrcmd)
logger.debug(1, "Running %s", bzrcmd)
runfetchcmd(bzrcmd, d)
os.chdir(ud.pkgdir)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.bzr' --exclude '.bzrtags'"
# tar them up to a defined filename
try:
runfetchcmd("tar -czf %s %s" % (ud.localpath, os.path.basename(ud.pkgdir)), d)
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(ud.pkgdir)), d)
except:
t, v, tb = sys.exc_info()
try:
@@ -117,7 +118,7 @@ class Bzr(Fetch):
pass
raise t, v, tb
def suppports_srcrev(self):
def supports_srcrev(self):
return True
def _revision_key(self, url, ud, d):
@@ -130,7 +131,7 @@ class Bzr(Fetch):
"""
Return the latest upstream revision number
"""
bb.msg.debug(2, bb.msg.domain.Fetcher, "BZR fetcher hitting network for %s" % url)
logger.debug(2, "BZR fetcher hitting network for %s", url)
output = runfetchcmd(self._buildbzrcommand(ud, d, "revno"), d, True)
@@ -145,4 +146,3 @@ class Bzr(Fetch):
def _build_revision(self, url, ud, d):
return ud.revision

View File

@@ -27,11 +27,10 @@ BitBake build tools.
#
import os
import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import Fetch, FetchError, MissingParameterError, logger
class Cvs(Fetch):
"""
@@ -48,9 +47,7 @@ class Cvs(Fetch):
raise MissingParameterError("cvs method needs a 'module' parameter")
ud.module = ud.parm["module"]
ud.tag = ""
if 'tag' in ud.parm:
ud.tag = ud.parm['tag']
ud.tag = ud.parm.get('tag', "")
# Override the default date in certain cases
if 'date' in ud.parm:
@@ -77,17 +74,9 @@ class Cvs(Fetch):
def go(self, loc, ud, d):
method = "pserver"
if "method" in ud.parm:
method = ud.parm["method"]
localdir = ud.module
if "localdir" in ud.parm:
localdir = ud.parm["localdir"]
cvs_port = ""
if "port" in ud.parm:
cvs_port = ud.parm["port"]
method = ud.parm.get('method', 'pserver')
localdir = ud.parm.get('localdir', ud.module)
cvs_port = ud.parm.get('port', '')
cvs_rsh = None
if method == "ext":
@@ -136,38 +125,44 @@ class Cvs(Fetch):
cvsupdatecmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvsupdatecmd)
# create module directory
bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory")
logger.debug(2, "Fetch: checking for module directory")
pkg = data.expand('${PN}', d)
pkgdir = os.path.join(data.expand('${CVSDIR}', localdata), pkg)
moddir = os.path.join(pkgdir,localdir)
if os.access(os.path.join(moddir,'CVS'), os.R_OK):
bb.msg.note(1, bb.msg.domain.Fetcher, "Update " + loc)
moddir = os.path.join(pkgdir, localdir)
if os.access(os.path.join(moddir, 'CVS'), os.R_OK):
logger.info("Update " + loc)
# update sources there
os.chdir(moddir)
myret = os.system(cvsupdatecmd)
else:
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(pkgdir)
os.chdir(pkgdir)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % cvscmd)
logger.debug(1, "Running %s", cvscmd)
myret = os.system(cvscmd)
if myret != 0 or not os.access(moddir, os.R_OK):
try:
os.rmdir(moddir)
except OSError:
pass
pass
raise FetchError(ud.module)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude 'CVS'"
# tar them up to a defined filename
if 'fullpath' in ud.parm:
os.chdir(pkgdir)
myret = os.system("tar -czf %s %s" % (ud.localpath, localdir))
myret = os.system("tar %s -czf %s %s" % (tar_flags, ud.localpath, localdir))
else:
os.chdir(moddir)
os.chdir('..')
myret = os.system("tar -czf %s %s" % (ud.localpath, os.path.basename(moddir)))
myret = os.system("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(moddir)))
if myret != 0:
try:

View File

@@ -22,9 +22,11 @@ BitBake 'Fetch' git implementation
import os
import bb
import bb.persist_data
from bb import data
from bb.fetch import Fetch
from bb.fetch import runfetchcmd
from bb.fetch import logger
class Git(Fetch):
"""Class to fetch a module or modules from git repositories"""
@@ -57,12 +59,12 @@ class Git(Fetch):
tag = Fetch.srcrev_internal_helper(ud, d)
if tag is True:
ud.tag = self.latest_revision(url, ud, d)
ud.tag = self.latest_revision(url, ud, d)
elif tag:
ud.tag = tag
if not ud.tag or ud.tag == "master":
ud.tag = self.latest_revision(url, ud, d)
ud.tag = self.latest_revision(url, ud, d)
subdir = ud.parm.get("subpath", "")
if subdir != "":
@@ -79,8 +81,33 @@ class Git(Fetch):
ud.basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
if 'noclone' in ud.parm:
ud.localfile = None
return None
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def forcefetch(self, url, ud, d):
if 'fullclone' in ud.parm:
return True
if 'noclone' in ud.parm:
return False
if os.path.exists(ud.localpath):
return False
if not self._contains_ref(ud.tag, d):
return True
return False
def try_premirror(self, u, ud, d):
if 'noclone' in ud.parm:
return False
if os.path.exists(ud.clonedir):
return False
if os.path.exists(ud.localpath):
return False
return True
def go(self, loc, ud, d):
"""Fetch url"""
@@ -91,31 +118,45 @@ class Git(Fetch):
repofile = os.path.join(data.getVar("DL_DIR", d, 1), ud.mirrortarball)
coname = '%s' % (ud.tag)
codir = os.path.join(ud.clonedir, coname)
if not os.path.exists(ud.clonedir):
# If we have no existing clone and no mirror tarball, try and obtain one
if not os.path.exists(ud.clonedir) and not os.path.exists(repofile):
try:
Fetch.try_mirrors(ud.mirrortarball)
bb.mkdirhier(ud.clonedir)
os.chdir(ud.clonedir)
runfetchcmd("tar -xzf %s" % (repofile), d)
except:
runfetchcmd("%s clone -n %s://%s%s%s %s" % (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.clonedir), d)
pass
# If the checkout doesn't exist and the mirror tarball does, extract it
if not os.path.exists(ud.clonedir) and os.path.exists(repofile):
bb.mkdirhier(ud.clonedir)
os.chdir(ud.clonedir)
runfetchcmd("tar -xzf %s" % (repofile), d)
# If the repo still doesn't exist, fallback to cloning it
if not os.path.exists(ud.clonedir):
runfetchcmd("%s clone -n %s://%s%s%s %s" % (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.clonedir), d)
os.chdir(ud.clonedir)
# Remove all but the .git directory
if not self._contains_ref(ud.tag, d):
# Update the checkout if needed
if not self._contains_ref(ud.tag, d) or 'fullclone' in ud.parm:
# Remove all but the .git directory
runfetchcmd("rm * -Rf", d)
runfetchcmd("%s fetch %s://%s%s%s %s" % (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.branch), d)
if 'fullclone' in ud.parm:
runfetchcmd("%s fetch --all" % (ud.basecmd), d)
else:
runfetchcmd("%s fetch %s://%s%s%s %s" % (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.branch), d)
runfetchcmd("%s fetch --tags %s://%s%s%s" % (ud.basecmd, ud.proto, username, ud.host, ud.path), d)
runfetchcmd("%s prune-packed" % ud.basecmd, d)
runfetchcmd("%s pack-redundant --all | xargs -r rm" % ud.basecmd, d)
# Generate a mirror tarball if needed
os.chdir(ud.clonedir)
mirror_tarballs = data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True)
if mirror_tarballs != "0" or 'fullclone' in ud.parm:
bb.msg.note(1, bb.msg.domain.Fetcher, "Creating tarball of git repository")
if mirror_tarballs != "0" or 'fullclone' in ud.parm:
logger.info("Creating tarball of git repository")
runfetchcmd("tar -czf %s %s" % (repofile, os.path.join(".", ".git", "*") ), d)
if 'fullclone' in ud.parm:
@@ -141,19 +182,25 @@ class Git(Fetch):
readpathspec = ""
coprefix = os.path.join(codir, "git", "")
bb.mkdirhier(codir)
os.chdir(ud.clonedir)
runfetchcmd("%s read-tree %s%s" % (ud.basecmd, ud.tag, readpathspec), d)
runfetchcmd("%s checkout-index -q -f --prefix=%s -a" % (ud.basecmd, coprefix), d)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
runfetchcmd("%s clone -n %s %s" % (ud.basecmd, ud.clonedir, coprefix), d)
os.chdir(coprefix)
runfetchcmd("%s checkout -q -f %s%s" % (ud.basecmd, ud.tag, readpathspec), d)
else:
bb.mkdirhier(codir)
os.chdir(ud.clonedir)
runfetchcmd("%s read-tree %s%s" % (ud.basecmd, ud.tag, readpathspec), d)
runfetchcmd("%s checkout-index -q -f --prefix=%s -a" % (ud.basecmd, coprefix), d)
os.chdir(codir)
bb.msg.note(1, bb.msg.domain.Fetcher, "Creating tarball of git checkout")
logger.info("Creating tarball of git checkout")
runfetchcmd("tar -czf %s %s" % (ud.localpath, os.path.join(".", "*") ), d)
os.chdir(ud.clonedir)
bb.utils.prunedir(codir)
def suppports_srcrev(self):
def supports_srcrev(self):
return True
def _contains_ref(self, tag, d):
@@ -161,11 +208,19 @@ class Git(Fetch):
output = runfetchcmd("%s log --pretty=oneline -n 1 %s -- 2> /dev/null | wc -l" % (basecmd, tag), d, quiet=True)
return output.split()[0] != "0"
def _revision_key(self, url, ud, d):
def _revision_key(self, url, ud, d, branch=False):
"""
Return a unique key for the url
"""
return "git:" + ud.host + ud.path.replace('/', '.')
key = 'git:' + ud.host + ud.path.replace('/', '.')
if branch:
return key + ud.branch
else:
return key
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 "")
def _latest_revision(self, url, ud, d):
"""
@@ -183,12 +238,80 @@ class Git(Fetch):
raise bb.fetch.FetchError("Fetch command %s gave empty output\n" % (cmd))
return output.split()[0]
def latest_revision(self, url, ud, d):
"""
Look in the cache for the latest revision, if not present ask the SCM.
"""
persisted = bb.persist_data.persist(d)
revs = persisted['BB_URI_HEADREVS']
key = self.generate_revision_key(url, ud, d, branch=True)
rev = revs[key]
if rev is None:
# Compatibility with old key format, no branch included
oldkey = self.generate_revision_key(url, ud, d, branch=False)
rev = revs[oldkey]
if rev is not None:
del revs[oldkey]
else:
rev = self._latest_revision(url, ud, d)
revs[key] = rev
return str(rev)
def sortable_revision(self, url, ud, d):
"""
"""
pd = bb.persist_data.persist(d)
localcounts = pd['BB_URI_LOCALCOUNT']
key = self.generate_revision_key(url, ud, d, branch=True)
oldkey = self.generate_revision_key(url, ud, d, branch=False)
latest_rev = self._build_revision(url, ud, d)
last_rev = localcounts[key + '_rev']
if last_rev is None:
last_rev = localcounts[oldkey + '_rev']
if last_rev is not None:
del localcounts[oldkey + '_rev']
localcounts[key + '_rev'] = last_rev
uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
count = None
if uselocalcount:
count = Fetch.localcount_internal_helper(ud, d)
if count is None:
count = localcounts[key + '_count']
if count is None:
count = localcounts[oldkey + '_count']
if count is not None:
del localcounts[oldkey + '_count']
localcounts[key + '_count'] = count
if last_rev == latest_rev:
return str(count + "+" + latest_rev)
buildindex_provided = hasattr(self, "_sortable_buildindex")
if buildindex_provided:
count = self._sortable_buildindex(url, ud, d, latest_rev)
if count is None:
count = "0"
elif uselocalcount or buildindex_provided:
count = str(count)
else:
count = str(int(count) + 1)
localcounts[key + '_rev'] = latest_rev
localcounts[key + '_count'] = count
return str(count + "+" + latest_rev)
def _build_revision(self, url, ud, d):
return ud.tag
def _sortable_buildindex_disabled(self, url, ud, d, rev):
"""
Return a suitable buildindex for the revision specified. This is done by counting revisions
Return a suitable buildindex for the revision specified. This is done by counting revisions
using "git rev-list" which may or may not work in different circumstances.
"""
@@ -197,10 +320,10 @@ class Git(Fetch):
# Check if we have the rev already
if not os.path.exists(ud.clonedir):
print "no repo"
print("no repo")
self.go(None, ud, d)
if not os.path.exists(ud.clonedir):
bb.msg.error(bb.msg.domain.Fetcher, "GIT repository for %s doesn't exist in %s, cannot get sortable buildnumber, using old value" % (url, ud.clonedir))
logger.error("GIT repository for %s doesn't exist in %s, cannot get sortable buildnumber, using old value", url, ud.clonedir)
return None
@@ -212,6 +335,5 @@ class Git(Fetch):
os.chdir(cwd)
buildindex = "%s" % output.split()[0]
bb.msg.debug(1, bb.msg.domain.Fetcher, "GIT repository for %s in %s is returning %s revisions in rev-list before %s" % (url, ud.clonedir, buildindex, rev))
return buildindex
logger.debug(1, "GIT repository for %s in %s is returning %s revisions in rev-list before %s", url, ud.clonedir, buildindex, rev)
return buildindex

View File

@@ -26,21 +26,27 @@ BitBake 'Fetch' implementation for mercurial DRCS (hg).
import os
import sys
import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import runfetchcmd
from bb.fetch import logger
class Hg(Fetch):
"""Class to fetch a from mercurial repositories"""
"""Class to fetch from mercurial repositories"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with mercurial.
"""
return ud.type in ['hg']
def forcefetch(self, url, ud, d):
revTag = ud.parm.get('rev', 'tip')
return revTag == "tip"
def localpath(self, url, ud, d):
if not "module" in ud.parm:
raise MissingParameterError("hg method needs a 'module' parameter")
@@ -48,10 +54,7 @@ class Hg(Fetch):
ud.module = ud.parm["module"]
# Create paths to mercurial checkouts
relpath = ud.path
if relpath.startswith('/'):
# Remove leading slash as os.path.join can't cope
relpath = relpath[1:]
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${HGDIR}', d), ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
@@ -78,9 +81,7 @@ class Hg(Fetch):
basecmd = data.expand('${FETCHCMD_hg}', d)
proto = "http"
if "proto" in ud.parm:
proto = ud.parm["proto"]
proto = ud.parm.get('proto', 'http')
host = ud.host
if proto == "file":
@@ -116,34 +117,41 @@ class Hg(Fetch):
def go(self, loc, ud, d):
"""Fetch url"""
bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory '" + ud.moddir + "'")
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(ud.moddir, '.hg'), os.R_OK):
updatecmd = self._buildhgcommand(ud, d, "pull")
bb.msg.note(1, bb.msg.domain.Fetcher, "Update " + loc)
logger.info("Update " + loc)
# update sources there
os.chdir(ud.moddir)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % updatecmd)
logger.debug(1, "Running %s", updatecmd)
runfetchcmd(updatecmd, d)
else:
fetchcmd = self._buildhgcommand(ud, d, "fetch")
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % fetchcmd)
logger.debug(1, "Running %s", fetchcmd)
runfetchcmd(fetchcmd, d)
# Even when we clone (fetch), we still need to update as hg's clone
# won't checkout the specified revision if its on a branch
# Even when we clone (fetch), we still need to update as hg's clone
# won't checkout the specified revision if its on a branch
updatecmd = self._buildhgcommand(ud, d, "update")
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % updatecmd)
os.chdir(ud.moddir)
logger.debug(1, "Running %s", updatecmd)
runfetchcmd(updatecmd, d)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.hg' --exclude '.hgrags'"
os.chdir(ud.pkgdir)
try:
runfetchcmd("tar -czf %s %s" % (ud.localpath, ud.module), d)
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.module), d)
except:
t, v, tb = sys.exc_info()
try:
@@ -152,7 +160,7 @@ class Hg(Fetch):
pass
raise t, v, tb
def suppports_srcrev(self):
def supports_srcrev(self):
return True
def _latest_revision(self, url, ud, d):
@@ -170,4 +178,3 @@ class Hg(Fetch):
Return a unique key for the url
"""
return "hg:" + ud.moddir

View File

@@ -27,6 +27,7 @@ BitBake build tools.
import os
import bb
import bb.utils
from bb import data
from bb.fetch import Fetch
@@ -47,7 +48,7 @@ class Local(Fetch):
if path[0] != "/":
filespath = data.getVar('FILESPATH', d, 1)
if filespath:
newpath = bb.which(filespath, path)
newpath = bb.utils.which(filespath, path)
if not newpath:
filesdir = data.getVar('FILESDIR', d, 1)
if filesdir:
@@ -65,8 +66,8 @@ class Local(Fetch):
Check the status of the url
"""
if urldata.localpath.find("*") != -1:
bb.msg.note(1, bb.msg.domain.Fetcher, "URL %s looks like a glob and was therefore not checked." % url)
return True
logger.info("URL %s looks like a glob and was therefore not checked.", url)
return True
if os.path.exists(urldata.localpath):
return True
return True
return False

View File

@@ -8,15 +8,17 @@ Based on the svn "Fetch" implementation.
import os
import sys
import logging
import bb
from bb import data
from bb import utils
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import runfetchcmd
class Osc(Fetch):
"""Class to fetch a module or modules from Opensuse build server
"""Class to fetch a module or modules from Opensuse build server
repositories."""
def supports(self, url, ud, d):
@@ -32,10 +34,7 @@ class Osc(Fetch):
ud.module = ud.parm["module"]
# Create paths to osc checkouts
relpath = ud.path
if relpath.startswith('/'):
# Remove leading slash as os.path.join can't cope
relpath = relpath[1:]
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${OSCDIR}', d), ud.host)
ud.moddir = os.path.join(ud.pkgdir, relpath, ud.module)
@@ -61,10 +60,8 @@ class Osc(Fetch):
basecmd = data.expand('${FETCHCMD_osc}', d)
proto = "ocs"
if "proto" in ud.parm:
proto = ud.parm["proto"]
proto = ud.parm.get('proto', 'ocs')
options = []
config = "-c %s" % self.generate_config(ud, d)
@@ -72,10 +69,7 @@ class Osc(Fetch):
if ud.revision:
options.append("-r %s" % ud.revision)
coroot = ud.path
if coroot.startswith('/'):
# Remove leading slash as os.path.join can't cope
coroot= coroot[1:]
coroot = self._strip_leading_slashes(ud.path)
if command is "fetch":
osccmd = "%s %s co %s/%s %s" % (basecmd, config, coroot, ud.module, " ".join(options))
@@ -91,24 +85,24 @@ class Osc(Fetch):
Fetch url
"""
bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory '" + ud.moddir + "'")
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(data.expand('${OSCDIR}', d), ud.path, ud.module), os.R_OK):
oscupdatecmd = self._buildosccommand(ud, d, "update")
bb.msg.note(1, bb.msg.domain.Fetcher, "Update "+ loc)
logger.info("Update "+ loc)
# update sources there
os.chdir(ud.moddir)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % oscupdatecmd)
logger.debug(1, "Running %s", oscupdatecmd)
runfetchcmd(oscupdatecmd, d)
else:
oscfetchcmd = self._buildosccommand(ud, d, "fetch")
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % oscfetchcmd)
logger.debug(1, "Running %s", oscfetchcmd)
runfetchcmd(oscfetchcmd, d)
os.chdir(os.path.join(ud.pkgdir + ud.path))
# tar them up to a defined filename
try:
@@ -129,9 +123,8 @@ class Osc(Fetch):
Generate a .oscrc to be used for this run.
"""
config_path = "%s/oscrc" % data.expand('${OSCDIR}', d)
if (os.path.exists(config_path)):
os.remove(config_path)
config_path = os.path.join(data.expand('${OSCDIR}', d), "oscrc")
bb.utils.remove(config_path)
f = open(config_path, 'w')
f.write("[general]\n")
@@ -146,5 +139,5 @@ class Osc(Fetch):
f.write("user = %s\n" % ud.parm["user"])
f.write("pass = %s\n" % ud.parm["pswd"])
f.close()
return config_path

View File

@@ -25,25 +25,28 @@ BitBake build tools.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
from future_builtins import zip
import os
import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import logger
class Perforce(Fetch):
def supports(self, url, ud, d):
return ud.type in ['p4']
def doparse(url,d):
def doparse(url, d):
parm = {}
path = url.split("://")[1]
delim = path.find("@");
if delim != -1:
(user,pswd,host,port) = path.split('@')[0].split(":")
(user, pswd, host, port) = path.split('@')[0].split(":")
path = path.split('@')[1]
else:
(host,port) = data.getVar('P4PORT', d).split(':')
(host, port) = data.getVar('P4PORT', d).split(':')
user = ""
pswd = ""
@@ -53,19 +56,19 @@ class Perforce(Fetch):
plist = path.split(';')
for item in plist:
if item.count('='):
(key,value) = item.split('=')
(key, value) = item.split('=')
keys.append(key)
values.append(value)
parm = dict(zip(keys,values))
parm = dict(zip(keys, values))
path = "//" + path.split(';')[0]
host += ":%s" % (port)
parm["cset"] = Perforce.getcset(d, path, host, user, pswd, parm)
return host,path,user,pswd,parm
return host, path, user, pswd, parm
doparse = staticmethod(doparse)
def getcset(d, depot,host,user,pswd,parm):
def getcset(d, depot, host, user, pswd, parm):
p4opt = ""
if "cset" in parm:
return parm["cset"];
@@ -85,19 +88,19 @@ class Perforce(Fetch):
depot += "@%s" % (p4date)
p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
logger.debug(1, "Running %s%s changes -m 1 %s", p4cmd, p4opt, depot)
p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
cset = p4file.readline().strip()
bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset))
logger.debug(1, "READ %s", cset)
if not cset:
return -1
return cset.split(' ')[1]
getcset = staticmethod(getcset)
def localpath(self, url, ud, d):
def localpath(self, url, ud, d):
(host,path,user,pswd,parm) = Perforce.doparse(url,d)
(host, path, user, pswd, parm) = Perforce.doparse(url, d)
# If a label is specified, we use that as our filename
@@ -110,12 +113,11 @@ class Perforce(Fetch):
if which != -1:
base = path[:which]
if base[0] == "/":
base = base[1:]
base = self._strip_leading_slashes(base)
cset = Perforce.getcset(d, path, host, user, pswd, parm)
ud.localfile = data.expand('%s+%s+%s.tar.gz' % (host,base.replace('/', '.'), cset), d)
ud.localfile = data.expand('%s+%s+%s.tar.gz' % (host, base.replace('/', '.'), cset), d)
return os.path.join(data.getVar("DL_DIR", d, 1), ud.localfile)
@@ -124,17 +126,14 @@ class Perforce(Fetch):
Fetch urls
"""
(host,depot,user,pswd,parm) = Perforce.doparse(loc, d)
(host, depot, user, pswd, parm) = Perforce.doparse(loc, d)
if depot.find('/...') != -1:
path = depot[:depot.find('/...')]
else:
path = depot
if "module" in parm:
module = parm["module"]
else:
module = os.path.basename(path)
module = parm.get('module', os.path.basename(path))
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "p4:%s" % data.getVar('OVERRIDES', localdata), localdata)
@@ -154,33 +153,33 @@ class Perforce(Fetch):
p4cmd = data.getVar('FETCHCOMMAND', localdata, 1)
# create temp directory
bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: creating temporary directory")
logger.debug(2, "Fetch: creating temporary directory")
bb.mkdirhier(data.expand('${WORKDIR}', localdata))
data.setVar('TMPBASE', data.expand('${WORKDIR}/oep4.XXXXXX', localdata), localdata)
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, 1) or "false")
tmpfile = tmppipe.readline().strip()
if not tmpfile:
bb.error("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
logger.error("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
raise FetchError(module)
if "label" in parm:
depot = "%s@%s" % (depot,parm["label"])
depot = "%s@%s" % (depot, parm["label"])
else:
cset = Perforce.getcset(d, depot, host, user, pswd, parm)
depot = "%s@%s" % (depot,cset)
depot = "%s@%s" % (depot, cset)
os.chdir(tmpfile)
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
bb.msg.note(1, bb.msg.domain.Fetcher, "%s%s files %s" % (p4cmd, p4opt, depot))
logger.info("Fetch " + loc)
logger.info("%s%s files %s", p4cmd, p4opt, depot)
p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
if not p4file:
bb.error("Fetch: unable to get the P4 files from %s" % (depot))
logger.error("Fetch: unable to get the P4 files from %s", depot)
raise FetchError(module)
count = 0
for file in p4file:
for file in p4file:
list = file.split()
if list[2] == "delete":
@@ -189,11 +188,11 @@ class Perforce(Fetch):
dest = list[0][len(path)+1:]
where = dest.find("#")
os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module,dest[:where],list[0]))
os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module, dest[:where], list[0]))
count = count + 1
if count == 0:
bb.error("Fetch: No files gathered from the P4 fetch")
logger.error("Fetch: No files gathered from the P4 fetch")
raise FetchError(module)
myret = os.system("tar -czf %s %s" % (ud.localpath, module))
@@ -204,6 +203,4 @@ class Perforce(Fetch):
pass
raise FetchError(module)
# cleanup
os.system('rm -rf %s' % tmpfile)
bb.utils.prunedir(tmpfile)

View File

@@ -23,11 +23,10 @@ BitBake "Fetch" repo (git) implementation
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os, re
import os
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import runfetchcmd
class Repo(Fetch):
@@ -46,24 +45,11 @@ class Repo(Fetch):
"master".
"""
if "protocol" in ud.parm:
ud.proto = ud.parm["protocol"]
else:
ud.proto = "git"
if "branch" in ud.parm:
ud.branch = ud.parm["branch"]
else:
ud.branch = "master"
if "manifest" in ud.parm:
manifest = ud.parm["manifest"]
if manifest.endswith(".xml"):
ud.manifest = manifest
else:
ud.manifest = manifest + ".xml"
else:
ud.manifest = "default.xml"
ud.proto = ud.parm.get('protocol', 'git')
ud.branch = ud.parm.get('branch', 'master')
ud.manifest = ud.parm.get('manifest', 'default.xml')
if not ud.manifest.endswith('.xml'):
ud.manifest += '.xml'
ud.localfile = data.expand("repo_%s%s_%s_%s.tar.gz" % (ud.host, ud.path.replace("/", "."), ud.manifest, ud.branch), d)
@@ -73,7 +59,7 @@ class Repo(Fetch):
"""Fetch url"""
if os.access(os.path.join(data.getVar("DL_DIR", d, True), ud.localfile), os.R_OK):
bb.msg.debug(1, bb.msg.domain.Fetcher, "%s already exists (or was stashed). Skipping repo init / sync." % ud.localpath)
logger.debug(1, "%s already exists (or was stashed). Skipping repo init / sync.", ud.localpath)
return
gitsrcname = "%s%s" % (ud.host, ud.path.replace("/", "."))
@@ -93,10 +79,16 @@ class Repo(Fetch):
runfetchcmd("repo sync", d)
os.chdir(codir)
# Create a cache
runfetchcmd("tar --exclude=.repo --exclude=.git -czf %s %s" % (ud.localpath, os.path.join(".", "*") ), d)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.repo' --exclude '.git'"
def suppports_srcrev(self):
# Create a cache
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.join(".", "*") ), d)
def supports_srcrev(self):
return False
def _build_revision(self, url, ud, d):

View File

@@ -114,5 +114,5 @@ class SSH(Fetch):
(exitstatus, output) = commands.getstatusoutput(cmd)
if exitstatus != 0:
print output
print(output)
raise FetchError('Unable to fetch %s' % url)

View File

@@ -26,11 +26,13 @@ This implementation is for svk. It is based on the svn implementation
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import logger
class Svk(Fetch):
"""Class to fetch a module or modules from svk repositories"""
@@ -46,18 +48,14 @@ class Svk(Fetch):
else:
ud.module = ud.parm["module"]
ud.revision = ""
if 'rev' in ud.parm:
ud.revision = ud.parm['rev']
ud.revision = ud.parm.get('rev', "")
ud.localfile = data.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ud.date), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def forcefetch(self, url, ud, d):
if (ud.date == "now"):
return True
return False
return ud.date == "now"
def go(self, loc, ud, d):
"""Fetch urls"""
@@ -72,19 +70,19 @@ class Svk(Fetch):
# create temp directory
localdata = data.createCopy(d)
data.update_data(localdata)
bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: creating temporary directory")
logger.debug(2, "Fetch: creating temporary directory")
bb.mkdirhier(data.expand('${WORKDIR}', localdata))
data.setVar('TMPBASE', data.expand('${WORKDIR}/oesvk.XXXXXX', localdata), localdata)
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, 1) or "false")
tmpfile = tmppipe.readline().strip()
if not tmpfile:
bb.msg.error(bb.msg.domain.Fetcher, "Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
logger.error("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
raise FetchError(ud.module)
# check out sources there
os.chdir(tmpfile)
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % svkcmd)
logger.info("Fetch " + loc)
logger.debug(1, "Running %s", svkcmd)
myret = os.system(svkcmd)
if myret != 0:
try:
@@ -103,4 +101,4 @@ class Svk(Fetch):
pass
raise FetchError(ud.module)
# cleanup
os.system('rm -rf %s' % tmpfile)
bb.utils.prunedir(tmpfile)

View File

@@ -25,12 +25,14 @@ BitBake 'Fetch' implementation for svn.
import os
import sys
import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import runfetchcmd
from bb.fetch import logger
class Svn(Fetch):
"""Class to fetch a module or modules from svn repositories"""
@@ -47,10 +49,7 @@ class Svn(Fetch):
ud.module = ud.parm["module"]
# Create paths to svn checkouts
relpath = ud.path
if relpath.startswith('/'):
# Remove leading slash as os.path.join can't cope
relpath = relpath[1:]
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${SVNDIR}', d), ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
@@ -78,7 +77,7 @@ class Svn(Fetch):
ud.revision = rev
ud.date = ""
else:
ud.revision = ""
ud.revision = ""
ud.localfile = data.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ud.date), d)
@@ -92,9 +91,7 @@ class Svn(Fetch):
basecmd = data.expand('${FETCHCMD_svn}', d)
proto = "svn"
if "proto" in ud.parm:
proto = ud.parm["proto"]
proto = ud.parm.get('proto', 'svn')
svn_rsh = None
if proto == "svn+ssh" and "rsh" in ud.parm:
@@ -136,28 +133,34 @@ class Svn(Fetch):
def go(self, loc, ud, d):
"""Fetch url"""
bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory '" + ud.moddir + "'")
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK):
svnupdatecmd = self._buildsvncommand(ud, d, "update")
bb.msg.note(1, bb.msg.domain.Fetcher, "Update " + loc)
logger.info("Update " + loc)
# update sources there
os.chdir(ud.moddir)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % svnupdatecmd)
logger.debug(1, "Running %s", svnupdatecmd)
runfetchcmd(svnupdatecmd, d)
else:
svnfetchcmd = self._buildsvncommand(ud, d, "fetch")
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % svnfetchcmd)
logger.debug(1, "Running %s", svnfetchcmd)
runfetchcmd(svnfetchcmd, d)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.svn'"
os.chdir(ud.pkgdir)
# tar them up to a defined filename
try:
runfetchcmd("tar -czf %s %s" % (ud.localpath, ud.module), d)
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.module), d)
except:
t, v, tb = sys.exc_info()
try:
@@ -166,7 +169,7 @@ class Svn(Fetch):
pass
raise t, v, tb
def suppports_srcrev(self):
def supports_srcrev(self):
return True
def _revision_key(self, url, ud, d):
@@ -179,7 +182,7 @@ class Svn(Fetch):
"""
Return the latest upstream revision number
"""
bb.msg.debug(2, bb.msg.domain.Fetcher, "SVN fetcher hitting network for %s" % url)
logger.debug(2, "SVN fetcher hitting network for %s", url)
output = runfetchcmd("LANG=C LC_ALL=C " + self._buildsvncommand(ud, d, "info"), d, True)

View File

@@ -26,10 +26,11 @@ BitBake build tools.
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import logging
import bb
import urllib
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import Fetch, FetchError, encodeurl, decodeurl, logger, runfetchcmd
class Wget(Fetch):
"""Class to fetch urls via 'wget'"""
@@ -37,13 +38,13 @@ class Wget(Fetch):
"""
Check to see if a given url can be fetched with wget.
"""
return ud.type in ['http','https','ftp']
return ud.type in ['http', 'https', 'ftp']
def localpath(self, url, ud, d):
url = bb.encodeurl([ud.type, ud.host, ud.path, ud.user, ud.pswd, {}])
url = encodeurl([ud.type, ud.host, ud.path, ud.user, ud.pswd, {}])
ud.basename = os.path.basename(ud.path)
ud.localfile = data.expand(os.path.basename(url), d)
ud.localfile = data.expand(urllib.unquote(ud.basename), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
@@ -60,42 +61,20 @@ class Wget(Fetch):
fetchcmd = data.getVar("FETCHCOMMAND", d, 1)
uri = uri.split(";")[0]
uri_decoded = list(bb.decodeurl(uri))
uri_decoded = list(decodeurl(uri))
uri_type = uri_decoded[0]
uri_host = uri_decoded[1]
bb.msg.note(1, bb.msg.domain.Fetcher, "fetch " + uri)
fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
httpproxy = None
ftpproxy = None
if uri_type == 'http':
httpproxy = data.getVar("HTTP_PROXY", d, True)
httpproxy_ignore = (data.getVar("HTTP_PROXY_IGNORE", d, True) or "").split()
for p in httpproxy_ignore:
if uri_host.endswith(p):
httpproxy = None
break
if uri_type == 'ftp':
ftpproxy = data.getVar("FTP_PROXY", d, True)
ftpproxy_ignore = (data.getVar("HTTP_PROXY_IGNORE", d, True) or "").split()
for p in ftpproxy_ignore:
if uri_host.endswith(p):
ftpproxy = None
break
if httpproxy:
fetchcmd = "http_proxy=" + httpproxy + " " + fetchcmd
if ftpproxy:
fetchcmd = "ftp_proxy=" + ftpproxy + " " + fetchcmd
bb.msg.debug(2, bb.msg.domain.Fetcher, "executing " + fetchcmd)
ret = os.system(fetchcmd)
if ret != 0:
return False
logger.info("fetch " + uri)
logger.debug(2, "executing " + fetchcmd)
runfetchcmd(fetchcmd, d)
# Sanity check since wget can pretend it succeed when it didn't
# Also, this used to happen if sourceforge sent us to the mirror page
if not os.path.exists(ud.localpath) and not checkonly:
bb.msg.debug(2, bb.msg.domain.Fetcher, "The fetch command for %s returned success but %s doesn't exist?..." % (uri, ud.localpath))
logger.debug(2, "The fetch command for %s returned success but %s doesn't exist?...", uri, ud.localpath)
return False
return True

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,141 @@
"""
BitBake 'Fetch' implementation for bzr.
"""
# Copyright (C) 2007 Ross Burton
# Copyright (C) 2007 Richard Purdie
#
# Classes for obtaining upstream sources for the
# BitBake build tools.
# Copyright (C) 2003, 2004 Chris Larson
#
# 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
import sys
import logging
import bb
from bb import data
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
class Bzr(FetchMethod):
def supports(self, url, ud, d):
return ud.type in ['bzr']
def urldata_init(self, ud, d):
"""
init bzr specific variable within url data
"""
# Create paths to bzr checkouts
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${BZRDIR}', d), ud.host, relpath)
if not ud.revision:
ud.revision = self.latest_revision(ud.url, ud, d)
ud.localfile = data.expand('bzr_%s_%s_%s.tar.gz' % (ud.host, ud.path.replace('/', '.'), ud.revision), d)
def _buildbzrcommand(self, ud, d, command):
"""
Build up an bzr commandline based on ud
command is "fetch", "update", "revno"
"""
basecmd = data.expand('${FETCHCMD_bzr}', d)
proto = ud.parm.get('proto', 'http')
bzrroot = ud.host + ud.path
options = []
if command is "revno":
bzrcmd = "%s revno %s %s://%s" % (basecmd, " ".join(options), proto, bzrroot)
else:
if ud.revision:
options.append("-r %s" % ud.revision)
if command is "fetch":
bzrcmd = "%s co %s %s://%s" % (basecmd, " ".join(options), proto, bzrroot)
elif command is "update":
bzrcmd = "%s pull %s --overwrite" % (basecmd, " ".join(options))
else:
raise FetchError("Invalid bzr command %s" % command, ud.url)
return bzrcmd
def download(self, loc, ud, d):
"""Fetch url"""
if os.access(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir), '.bzr'), os.R_OK):
bzrcmd = self._buildbzrcommand(ud, d, "update")
logger.debug(1, "BZR Update %s", loc)
bb.fetch2.check_network_access(d, bzrcmd)
os.chdir(os.path.join (ud.pkgdir, os.path.basename(ud.path)))
runfetchcmd(bzrcmd, d)
else:
bb.utils.remove(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)), True)
bzrcmd = self._buildbzrcommand(ud, d, "fetch")
bb.fetch2.check_network_access(d, bzrcmd)
logger.debug(1, "BZR Checkout %s", loc)
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
logger.debug(1, "Running %s", bzrcmd)
runfetchcmd(bzrcmd, d)
os.chdir(ud.pkgdir)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.bzr' --exclude '.bzrtags'"
# tar them up to a defined filename
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(ud.pkgdir)), d, cleanup = [ud.localpath])
def supports_srcrev(self):
return True
def _revision_key(self, url, ud, d, name):
"""
Return a unique key for the url
"""
return "bzr:" + ud.pkgdir
def _latest_revision(self, url, ud, d, name):
"""
Return the latest upstream revision number
"""
logger.debug(2, "BZR fetcher hitting network for %s", url)
bb.fetch2.check_network_access(d, self._buildbzrcommand(ud, d, "revno"))
output = runfetchcmd(self._buildbzrcommand(ud, d, "revno"), d, True)
return output.strip()
def _sortable_revision(self, url, ud, d):
"""
Return a sortable revision number which in our case is the revision number
"""
return self._build_revision(url, ud, d)
def _build_revision(self, url, ud, d):
return ud.revision

View File

@@ -0,0 +1,181 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
Classes for obtaining upstream sources for the
BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
#
# 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.
#
#Based on functions from the base bb module, Copyright 2003 Holger Schurig
#
import os
import logging
import bb
from bb import data
from bb.fetch2 import FetchMethod, FetchError, MissingParameterError, logger
from bb.fetch2 import runfetchcmd
class Cvs(FetchMethod):
"""
Class to fetch a module or modules from cvs repositories
"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with cvs.
"""
return ud.type in ['cvs']
def urldata_init(self, ud, d):
if not "module" in ud.parm:
raise MissingParameterError("module", ud.url)
ud.module = ud.parm["module"]
ud.tag = ud.parm.get('tag', "")
# Override the default date in certain cases
if 'date' in ud.parm:
ud.date = ud.parm['date']
elif ud.tag:
ud.date = ""
norecurse = ''
if 'norecurse' in ud.parm:
norecurse = '_norecurse'
fullpath = ''
if 'fullpath' in ud.parm:
fullpath = '_fullpath'
ud.localfile = data.expand('%s_%s_%s_%s%s%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.tag, ud.date, norecurse, fullpath), d)
def need_update(self, url, ud, d):
if (ud.date == "now"):
return True
if not os.path.exists(ud.localpath):
return True
return False
def download(self, loc, ud, d):
method = ud.parm.get('method', 'pserver')
localdir = ud.parm.get('localdir', ud.module)
cvs_port = ud.parm.get('port', '')
cvs_rsh = None
if method == "ext":
if "rsh" in ud.parm:
cvs_rsh = ud.parm["rsh"]
if method == "dir":
cvsroot = ud.path
else:
cvsroot = ":" + method
cvsproxyhost = data.getVar('CVS_PROXY_HOST', d, True)
if cvsproxyhost:
cvsroot += ";proxy=" + cvsproxyhost
cvsproxyport = data.getVar('CVS_PROXY_PORT', d, True)
if cvsproxyport:
cvsroot += ";proxyport=" + cvsproxyport
cvsroot += ":" + ud.user
if ud.pswd:
cvsroot += ":" + ud.pswd
cvsroot += "@" + ud.host + ":" + cvs_port + ud.path
options = []
if 'norecurse' in ud.parm:
options.append("-l")
if ud.date:
# treat YYYYMMDDHHMM specially for CVS
if len(ud.date) == 12:
options.append("-D \"%s %s:%s UTC\"" % (ud.date[0:8], ud.date[8:10], ud.date[10:12]))
else:
options.append("-D \"%s UTC\"" % ud.date)
if ud.tag:
options.append("-r %s" % ud.tag)
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "cvs:%s" % data.getVar('OVERRIDES', localdata), localdata)
data.update_data(localdata)
data.setVar('CVSROOT', cvsroot, localdata)
data.setVar('CVSCOOPTS', " ".join(options), localdata)
data.setVar('CVSMODULE', ud.module, localdata)
cvscmd = data.getVar('FETCHCOMMAND', localdata, True)
cvsupdatecmd = data.getVar('UPDATECOMMAND', localdata, True)
if cvs_rsh:
cvscmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvscmd)
cvsupdatecmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvsupdatecmd)
# create module directory
logger.debug(2, "Fetch: checking for module directory")
pkg = data.expand('${PN}', d)
pkgdir = os.path.join(data.expand('${CVSDIR}', localdata), pkg)
moddir = os.path.join(pkgdir, localdir)
if os.access(os.path.join(moddir, 'CVS'), os.R_OK):
logger.info("Update " + loc)
bb.fetch2.check_network_access(d, cvsupdatecmd)
# update sources there
os.chdir(moddir)
cmd = cvsupdatecmd
else:
logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(pkgdir)
os.chdir(pkgdir)
logger.debug(1, "Running %s", cvscmd)
bb.fetch2.check_network_access(d, cvscmd)
cmd = cvscmd
runfetchcmd(cmd, d, cleanup = [moddir])
if not os.access(moddir, os.R_OK):
raise FetchError("Directory %s was not readable despite sucessful fetch?!" % moddir, ud.url)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude 'CVS'"
# tar them up to a defined filename
if 'fullpath' in ud.parm:
os.chdir(pkgdir)
cmd = "tar %s -czf %s %s" % (tar_flags, ud.localpath, localdir)
else:
os.chdir(moddir)
os.chdir('..')
cmd = "tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(moddir))
runfetchcmd(cmd, d, cleanup = [ud.localpath])
def clean(self, ud, d):
""" Clean CVS Files and tarballs """
pkg = data.expand('${PN}', d)
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "cvs:%s" % data.getVar('OVERRIDES', localdata), localdata)
data.update_data(localdata)
pkgdir = os.path.join(data.expand('${CVSDIR}', localdata), pkg)
bb.utils.remove(pkgdir, True)
bb.utils.remove(ud.localpath)

View File

@@ -0,0 +1,242 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' git implementation
"""
#Copyright (C) 2005 Richard Purdie
#
# 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
import bb
from bb import data
from bb.fetch2 import FetchMethod
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
class Git(FetchMethod):
"""Class to fetch a module or modules from git repositories"""
def init(self, d):
#
# Only enable _sortable revision if the key is set
#
if bb.data.getVar("BB_GIT_CLONE_FOR_SRCREV", d, True):
self._sortable_buildindex = self._sortable_buildindex_disabled
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with git.
"""
return ud.type in ['git']
def urldata_init(self, ud, d):
"""
init git specific variable within url data
so that the git method like latest_revision() can work
"""
if 'protocol' in ud.parm:
ud.proto = ud.parm['protocol']
elif not ud.host:
ud.proto = 'file'
else:
ud.proto = "rsync"
ud.nocheckout = False
if 'nocheckout' in ud.parm:
ud.nocheckout = True
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)
ud.branches = {}
for name in ud.names:
branch = branches[ud.names.index(name)]
ud.branches[name] = branch
gitsrcname = '%s%s' % (ud.host, ud.path.replace('/', '.'))
ud.mirrortarball = 'git2_%s.tar.gz' % (gitsrcname)
ud.fullmirror = os.path.join(data.getVar("DL_DIR", d, True), ud.mirrortarball)
ud.clonedir = os.path.join(data.expand('${GITDIR}', d), gitsrcname)
ud.basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
for name in ud.names:
# Ensure anything that doesn't look like a sha256 checksum/revision is translated into one
if not ud.revisions[name] or len(ud.revisions[name]) != 40 or (False in [c in "abcdef0123456789" for c in ud.revisions[name]]):
ud.revisions[name] = self.latest_revision(ud.url, ud, d, name)
ud.write_tarballs = (data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True) or "0") != "0"
ud.localfile = ud.clonedir
def localpath(self, url, ud, d):
return ud.clonedir
def need_update(self, u, ud, d):
if not os.path.exists(ud.clonedir):
return True
os.chdir(ud.clonedir)
for name in ud.names:
if not self._contains_ref(ud.revisions[name], d):
return True
if ud.write_tarballs and not os.path.exists(ud.fullmirror):
return True
return False
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:
return True
if os.path.exists(ud.clonedir):
return False
return True
def download(self, loc, ud, d):
"""Fetch url"""
if ud.user:
username = ud.user + '@'
else:
username = ""
ud.repochanged = not os.path.exists(ud.fullmirror)
# If the checkout doesn't exist and the mirror tarball does, extract it
if not os.path.exists(ud.clonedir) and os.path.exists(ud.fullmirror):
bb.mkdirhier(ud.clonedir)
os.chdir(ud.clonedir)
runfetchcmd("tar -xzf %s" % (ud.fullmirror), d)
# If the repo still doesn't exist, fallback to cloning it
if not os.path.exists(ud.clonedir):
bb.fetch2.check_network_access(d, "git clone --bare %s%s" % (ud.host, ud.path))
runfetchcmd("%s clone --bare %s://%s%s%s %s" % (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.clonedir), d)
os.chdir(ud.clonedir)
# Update the checkout if needed
needupdate = False
for name in ud.names:
if not self._contains_ref(ud.revisions[name], d):
needupdate = True
if needupdate:
bb.fetch2.check_network_access(d, "git fetch %s%s" % (ud.host, ud.path))
try:
runfetchcmd("%s remote prune origin" % ud.basecmd, d)
runfetchcmd("%s remote rm origin" % ud.basecmd, d)
except bb.fetch2.FetchError:
logger.debug(1, "No Origin")
runfetchcmd("%s remote add origin %s://%s%s%s" % (ud.basecmd, ud.proto, username, ud.host, ud.path), d)
runfetchcmd("%s fetch --all -t" % ud.basecmd, d)
runfetchcmd("%s prune-packed" % ud.basecmd, d)
runfetchcmd("%s pack-redundant --all | xargs -r rm" % ud.basecmd, d)
ud.repochanged = True
def build_mirror_data(self, url, ud, d):
# Generate a mirror tarball if needed
if ud.write_tarballs and (ud.repochanged or not os.path.exists(ud.fullmirror)):
os.chdir(ud.clonedir)
logger.info("Creating tarball of git repository")
runfetchcmd("tar -czf %s %s" % (ud.fullmirror, os.path.join(".") ), d)
def unpack(self, ud, destdir, d):
""" unpack the downloaded src to destdir"""
subdir = ud.parm.get("subpath", "")
if subdir != "":
readpathspec = ":%s" % (subdir)
else:
readpathspec = ""
destdir = os.path.join(destdir, "git/")
if os.path.exists(destdir):
bb.utils.prunedir(destdir)
runfetchcmd("git clone -s -n %s %s" % (ud.clonedir, destdir), d)
if not ud.nocheckout:
os.chdir(destdir)
runfetchcmd("%s read-tree %s%s" % (ud.basecmd, ud.revisions[ud.names[0]], readpathspec), d)
runfetchcmd("%s checkout-index -q -f -a" % ud.basecmd, d)
return True
def clean(self, ud, d):
""" clean the git directory """
bb.utils.remove(ud.localpath, True)
bb.utils.remove(ud.fullmirror)
def supports_srcrev(self):
return True
def _contains_ref(self, tag, d):
basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
output = runfetchcmd("%s log --pretty=oneline -n 1 %s -- 2> /dev/null | wc -l" % (basecmd, tag), d, quiet=True)
return output.split()[0] != "0"
def _revision_key(self, url, ud, d, name):
"""
Return a unique key for the url
"""
return "git:" + ud.host + ud.path.replace('/', '.') + ud.branches[name]
def _latest_revision(self, url, ud, d, name):
"""
Compute the HEAD revision for the url
"""
if ud.user:
username = ud.user + '@'
else:
username = ""
bb.fetch2.check_network_access(d, "git ls-remote %s%s %s" % (ud.host, ud.path, ud.branches[name]))
basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
cmd = "%s ls-remote %s://%s%s%s %s" % (basecmd, ud.proto, username, ud.host, ud.path, ud.branches[name])
output = runfetchcmd(cmd, d, True)
if not output:
raise bb.fetch2.FetchError("The command %s gave empty output unexpectedly" % cmd, url)
return output.split()[0]
def _build_revision(self, url, ud, d, name):
return ud.revisions[name]
def _sortable_buildindex_disabled(self, url, ud, d, rev):
"""
Return a suitable buildindex for the revision specified. This is done by counting revisions
using "git rev-list" which may or may not work in different circumstances.
"""
cwd = os.getcwd()
# Check if we have the rev already
if not os.path.exists(ud.clonedir):
print("no repo")
self.download(None, ud, d)
if not os.path.exists(ud.clonedir):
logger.error("GIT repository for %s doesn't exist in %s, cannot get sortable buildnumber, using old value", url, ud.clonedir)
return None
os.chdir(ud.clonedir)
if not self._contains_ref(rev, d):
self.download(None, ud, d)
output = runfetchcmd("%s rev-list %s -- 2> /dev/null | wc -l" % (ud.basecmd, rev), d, quiet=True)
os.chdir(cwd)
buildindex = "%s" % output.split()[0]
logger.debug(1, "GIT repository for %s in %s is returning %s revisions in rev-list before %s", url, ud.clonedir, buildindex, rev)
return buildindex

174
bitbake/lib/bb/fetch2/hg.py Normal file
View File

@@ -0,0 +1,174 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementation for mercurial DRCS (hg).
"""
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2004 Marcin Juszkiewicz
# Copyright (C) 2007 Robert Schuster
#
# 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.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import sys
import logging
import bb
from bb import data
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import MissingParameterError
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
class Hg(FetchMethod):
"""Class to fetch from mercurial repositories"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with mercurial.
"""
return ud.type in ['hg']
def urldata_init(self, ud, d):
"""
init hg specific variable within url data
"""
if not "module" in ud.parm:
raise MissingParameterError('module', ud.url)
ud.module = ud.parm["module"]
# Create paths to mercurial checkouts
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${HGDIR}', d), ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
if 'rev' in ud.parm:
ud.revision = ud.parm['rev']
elif not ud.revision:
ud.revision = self.latest_revision(ud.url, ud, d)
ud.localfile = data.expand('%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision), d)
def need_update(self, url, ud, d):
revTag = ud.parm.get('rev', 'tip')
if revTag == "tip":
return True
if not os.path.exists(ud.localpath):
return True
return False
def _buildhgcommand(self, ud, d, command):
"""
Build up an hg commandline based on ud
command is "fetch", "update", "info"
"""
basecmd = data.expand('${FETCHCMD_hg}', d)
proto = ud.parm.get('proto', 'http')
host = ud.host
if proto == "file":
host = "/"
ud.host = "localhost"
if not ud.user:
hgroot = host + ud.path
else:
hgroot = ud.user + "@" + host + ud.path
if command is "info":
return "%s identify -i %s://%s/%s" % (basecmd, proto, hgroot, ud.module)
options = [];
if ud.revision:
options.append("-r %s" % ud.revision)
if command is "fetch":
cmd = "%s clone %s %s://%s/%s %s" % (basecmd, " ".join(options), proto, hgroot, ud.module, ud.module)
elif command is "pull":
# do not pass options list; limiting pull to rev causes the local
# repo not to contain it and immediately following "update" command
# will crash
cmd = "%s pull" % (basecmd)
elif command is "update":
cmd = "%s update -C %s" % (basecmd, " ".join(options))
else:
raise FetchError("Invalid hg command %s" % command, ud.url)
return cmd
def download(self, loc, ud, d):
"""Fetch url"""
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(ud.moddir, '.hg'), os.R_OK):
updatecmd = self._buildhgcommand(ud, d, "pull")
logger.info("Update " + loc)
# update sources there
os.chdir(ud.moddir)
logger.debug(1, "Running %s", updatecmd)
bb.fetch2.check_network_access(d, updatecmd)
runfetchcmd(updatecmd, d)
else:
fetchcmd = self._buildhgcommand(ud, d, "fetch")
logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
logger.debug(1, "Running %s", fetchcmd)
bb.fetch2.check_network_access(d, fetchcmd)
runfetchcmd(fetchcmd, d)
# Even when we clone (fetch), we still need to update as hg's clone
# won't checkout the specified revision if its on a branch
updatecmd = self._buildhgcommand(ud, d, "update")
os.chdir(ud.moddir)
logger.debug(1, "Running %s", updatecmd)
runfetchcmd(updatecmd, d)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.hg' --exclude '.hgrags'"
os.chdir(ud.pkgdir)
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.module), d, cleanup = [ud.localpath])
def supports_srcrev(self):
return True
def _latest_revision(self, url, ud, d, name):
"""
Compute tip revision for the url
"""
bb.fetch2.check_network_access(d, self._buildhgcommand(ud, d, "info"))
output = runfetchcmd(self._buildhgcommand(ud, d, "info"), d)
return output.strip()
def _build_revision(self, url, ud, d):
return ud.revision
def _revision_key(self, url, ud, d, name):
"""
Return a unique key for the url
"""
return "hg:" + ud.moddir

View File

@@ -0,0 +1,80 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
Classes for obtaining upstream sources for the
BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
#
# 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.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import bb
import bb.utils
from bb import data
from bb.fetch2 import FetchMethod
class Local(FetchMethod):
def supports(self, url, urldata, d):
"""
Check to see if a given url represents a local fetch.
"""
return urldata.type in ['file']
def urldata_init(self, ud, d):
# We don't set localfile as for this fetcher the file is already local!
return
def localpath(self, url, urldata, d):
"""
Return the local filename of a given url assuming a successful fetch.
"""
path = url.split("://")[1]
path = path.split(";")[0]
newpath = path
if path[0] != "/":
filespath = data.getVar('FILESPATH', d, True)
if filespath:
newpath = bb.utils.which(filespath, path)
if not newpath:
filesdir = data.getVar('FILESDIR', d, True)
if filesdir:
newpath = os.path.join(filesdir, path)
return newpath
def download(self, url, urldata, d):
"""Fetch urls (no-op for Local method)"""
# no need to fetch local files, we'll deal with them in place.
return 1
def checkstatus(self, url, urldata, d):
"""
Check the status of the url
"""
if urldata.localpath.find("*") != -1:
logger.info("URL %s looks like a glob and was therefore not checked.", url)
return True
if os.path.exists(urldata.localpath):
return True
return False
def clean(self, urldata, d):
return

View File

@@ -0,0 +1,135 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
Bitbake "Fetch" implementation for osc (Opensuse build service client).
Based on the svn "Fetch" implementation.
"""
import os
import sys
import logging
import bb
from bb import data
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import MissingParameterError
from bb.fetch2 import runfetchcmd
class Osc(FetchMethod):
"""Class to fetch a module or modules from Opensuse build server
repositories."""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with osc.
"""
return ud.type in ['osc']
def urldata_init(self, ud, d):
if not "module" in ud.parm:
raise MissingParameterError('module', ud.url)
ud.module = ud.parm["module"]
# Create paths to osc checkouts
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${OSCDIR}', d), ud.host)
ud.moddir = os.path.join(ud.pkgdir, relpath, ud.module)
if 'rev' in ud.parm:
ud.revision = ud.parm['rev']
else:
pv = data.getVar("PV", d, 0)
rev = bb.fetch2.srcrev_internal_helper(ud, d)
if rev and rev != True:
ud.revision = rev
else:
ud.revision = ""
ud.localfile = data.expand('%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.path.replace('/', '.'), ud.revision), d)
def _buildosccommand(self, ud, d, command):
"""
Build up an ocs commandline based on ud
command is "fetch", "update", "info"
"""
basecmd = data.expand('${FETCHCMD_osc}', d)
proto = ud.parm.get('proto', 'ocs')
options = []
config = "-c %s" % self.generate_config(ud, d)
if ud.revision:
options.append("-r %s" % ud.revision)
coroot = self._strip_leading_slashes(ud.path)
if command is "fetch":
osccmd = "%s %s co %s/%s %s" % (basecmd, config, coroot, ud.module, " ".join(options))
elif command is "update":
osccmd = "%s %s up %s" % (basecmd, config, " ".join(options))
else:
raise FetchError("Invalid osc command %s" % command, ud.url)
return osccmd
def download(self, loc, ud, d):
"""
Fetch url
"""
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(data.expand('${OSCDIR}', d), ud.path, ud.module), os.R_OK):
oscupdatecmd = self._buildosccommand(ud, d, "update")
logger.info("Update "+ loc)
# update sources there
os.chdir(ud.moddir)
logger.debug(1, "Running %s", oscupdatecmd)
bb.fetch2.check_network_access(d, oscupdatecmd)
runfetchcmd(oscupdatecmd, d)
else:
oscfetchcmd = self._buildosccommand(ud, d, "fetch")
logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
logger.debug(1, "Running %s", oscfetchcmd)
bb.fetch2.check_network_access(d, oscfetchcmd)
runfetchcmd(oscfetchcmd, d)
os.chdir(os.path.join(ud.pkgdir + ud.path))
# tar them up to a defined filename
runfetchcmd("tar -czf %s %s" % (ud.localpath, ud.module), d, cleanup = [ud.localpath])
def supports_srcrev(self):
return False
def generate_config(self, ud, d):
"""
Generate a .oscrc to be used for this run.
"""
config_path = os.path.join(data.expand('${OSCDIR}', d), "oscrc")
if (os.path.exists(config_path)):
os.remove(config_path)
f = open(config_path, 'w')
f.write("[general]\n")
f.write("apisrv = %s\n" % ud.host)
f.write("scheme = http\n")
f.write("su-wrapper = su -c\n")
f.write("build-root = %s\n" % data.expand('${WORKDIR}', d))
f.write("urllist = http://moblin-obs.jf.intel.com:8888/build/%(project)s/%(repository)s/%(buildarch)s/:full/%(name)s.rpm\n")
f.write("extra-pkgs = gzip\n")
f.write("\n")
f.write("[%s]\n" % ud.host)
f.write("user = %s\n" % ud.parm["user"])
f.write("pass = %s\n" % ud.parm["pswd"])
f.close()
return config_path

View File

@@ -0,0 +1,196 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
Classes for obtaining upstream sources for the
BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
#
# 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.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
from future_builtins import zip
import os
import logging
import bb
from bb import data
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import logger
from bb.fetch2 import runfetchcmd
class Perforce(FetchMethod):
def supports(self, url, ud, d):
return ud.type in ['p4']
def doparse(url, d):
parm = {}
path = url.split("://")[1]
delim = path.find("@");
if delim != -1:
(user, pswd, host, port) = path.split('@')[0].split(":")
path = path.split('@')[1]
else:
(host, port) = data.getVar('P4PORT', d).split(':')
user = ""
pswd = ""
if path.find(";") != -1:
keys=[]
values=[]
plist = path.split(';')
for item in plist:
if item.count('='):
(key, value) = item.split('=')
keys.append(key)
values.append(value)
parm = dict(zip(keys, values))
path = "//" + path.split(';')[0]
host += ":%s" % (port)
parm["cset"] = Perforce.getcset(d, path, host, user, pswd, parm)
return host, path, user, pswd, parm
doparse = staticmethod(doparse)
def getcset(d, depot, host, user, pswd, parm):
p4opt = ""
if "cset" in parm:
return parm["cset"];
if user:
p4opt += " -u %s" % (user)
if pswd:
p4opt += " -P %s" % (pswd)
if host:
p4opt += " -p %s" % (host)
p4date = data.getVar("P4DATE", d, True)
if "revision" in parm:
depot += "#%s" % (parm["revision"])
elif "label" in parm:
depot += "@%s" % (parm["label"])
elif p4date:
depot += "@%s" % (p4date)
p4cmd = data.getVar('FETCHCOMMAND_p4', d, True)
logger.debug(1, "Running %s%s changes -m 1 %s", p4cmd, p4opt, depot)
p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
cset = p4file.readline().strip()
logger.debug(1, "READ %s", cset)
if not cset:
return -1
return cset.split(' ')[1]
getcset = staticmethod(getcset)
def urldata_init(self, ud, d):
(host, path, user, pswd, parm) = Perforce.doparse(ud.url, d)
# If a label is specified, we use that as our filename
if "label" in parm:
ud.localfile = "%s.tar.gz" % (parm["label"])
return
base = path
which = path.find('/...')
if which != -1:
base = path[:which]
base = self._strip_leading_slashes(base)
cset = Perforce.getcset(d, path, host, user, pswd, parm)
ud.localfile = data.expand('%s+%s+%s.tar.gz' % (host, base.replace('/', '.'), cset), d)
def download(self, loc, ud, d):
"""
Fetch urls
"""
(host, depot, user, pswd, parm) = Perforce.doparse(loc, d)
if depot.find('/...') != -1:
path = depot[:depot.find('/...')]
else:
path = depot
module = parm.get('module', os.path.basename(path))
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "p4:%s" % data.getVar('OVERRIDES', localdata), localdata)
data.update_data(localdata)
# Get the p4 command
p4opt = ""
if user:
p4opt += " -u %s" % (user)
if pswd:
p4opt += " -P %s" % (pswd)
if host:
p4opt += " -p %s" % (host)
p4cmd = data.getVar('FETCHCOMMAND', localdata, True)
# create temp directory
logger.debug(2, "Fetch: creating temporary directory")
bb.mkdirhier(data.expand('${WORKDIR}', localdata))
data.setVar('TMPBASE', data.expand('${WORKDIR}/oep4.XXXXXX', localdata), localdata)
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, True) or "false")
tmpfile = tmppipe.readline().strip()
if not tmpfile:
raise FetchError("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.", loc)
if "label" in parm:
depot = "%s@%s" % (depot, parm["label"])
else:
cset = Perforce.getcset(d, depot, host, user, pswd, parm)
depot = "%s@%s" % (depot, cset)
os.chdir(tmpfile)
logger.info("Fetch " + loc)
logger.info("%s%s files %s", p4cmd, p4opt, depot)
p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
if not p4file:
raise FetchError("Fetch: unable to get the P4 files from %s" % depot, loc)
count = 0
for file in p4file:
list = file.split()
if list[2] == "delete":
continue
dest = list[0][len(path)+1:]
where = dest.find("#")
os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module, dest[:where], list[0]))
count = count + 1
if count == 0:
logger.error()
raise FetchError("Fetch: No files gathered from the P4 fetch", loc)
runfetchcmd("tar -czf %s %s" % (ud.localpath, module), d, cleanup = [ud.localpath])
# cleanup
bb.utils.prunedir(tmpfile)

View File

@@ -0,0 +1,98 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake "Fetch" repo (git) implementation
"""
# Copyright (C) 2009 Tom Rini <trini@embeddedalley.com>
#
# Based on git.py which is:
#Copyright (C) 2005 Richard Purdie
#
# 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
import bb
from bb import data
from bb.fetch2 import FetchMethod
from bb.fetch2 import runfetchcmd
class Repo(FetchMethod):
"""Class to fetch a module or modules from repo (git) repositories"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with repo.
"""
return ud.type in ["repo"]
def urldata_init(self, ud, d):
"""
We don"t care about the git rev of the manifests repository, but
we do care about the manifest to use. The default is "default".
We also care about the branch or tag to be used. The default is
"master".
"""
ud.proto = ud.parm.get('protocol', 'git')
ud.branch = ud.parm.get('branch', 'master')
ud.manifest = ud.parm.get('manifest', 'default.xml')
if not ud.manifest.endswith('.xml'):
ud.manifest += '.xml'
ud.localfile = data.expand("repo_%s%s_%s_%s.tar.gz" % (ud.host, ud.path.replace("/", "."), ud.manifest, ud.branch), d)
def download(self, loc, ud, d):
"""Fetch url"""
if os.access(os.path.join(data.getVar("DL_DIR", d, True), ud.localfile), os.R_OK):
logger.debug(1, "%s already exists (or was stashed). Skipping repo init / sync.", ud.localpath)
return
gitsrcname = "%s%s" % (ud.host, ud.path.replace("/", "."))
repodir = data.getVar("REPODIR", d, True) or os.path.join(data.getVar("DL_DIR", d, True), "repo")
codir = os.path.join(repodir, gitsrcname, ud.manifest)
if ud.user:
username = ud.user + "@"
else:
username = ""
bb.mkdirhier(os.path.join(codir, "repo"))
os.chdir(os.path.join(codir, "repo"))
if not os.path.exists(os.path.join(codir, "repo", ".repo")):
bb.fetch2.check_network_access(d, "repo init -m %s -b %s -u %s://%s%s%s" % (ud.manifest, ud.branch, ud.proto, username, ud.host, ud.path))
runfetchcmd("repo init -m %s -b %s -u %s://%s%s%s" % (ud.manifest, ud.branch, ud.proto, username, ud.host, ud.path), d)
bb.fetch2.check_network_access(d, "repo sync %s" % ud.url)
runfetchcmd("repo sync", d)
os.chdir(codir)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.repo' --exclude '.git'"
# Create a cache
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.join(".", "*") ), d)
def supports_srcrev(self):
return False
def _build_revision(self, url, ud, d):
return ud.manifest
def _want_sortable_revision(self, url, ud, d):
return False

View File

@@ -0,0 +1,120 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
'''
BitBake 'Fetch' implementations
This implementation is for Secure Shell (SSH), and attempts to comply with the
IETF secsh internet draft:
http://tools.ietf.org/wg/secsh/draft-ietf-secsh-scp-sftp-ssh-uri/
Currently does not support the sftp parameters, as this uses scp
Also does not support the 'fingerprint' connection parameter.
'''
# Copyright (C) 2006 OpenedHand Ltd.
#
#
# Based in part on svk.py:
# Copyright (C) 2006 Holger Hans Peter Freyther
# Based on svn.py:
# Copyright (C) 2003, 2004 Chris Larson
# Based on functions from the base bb module:
# Copyright 2003 Holger Schurig
#
#
# 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 re, os
from bb import data
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import logger
from bb.fetch2 import runfetchcmd
__pattern__ = re.compile(r'''
\s* # Skip leading whitespace
ssh:// # scheme
( # Optional username/password block
(?P<user>\S+) # username
(:(?P<pass>\S+))? # colon followed by the password (optional)
)?
(?P<cparam>(;[^;]+)*)? # connection parameters block (optional)
@
(?P<host>\S+?) # non-greedy match of the host
(:(?P<port>[0-9]+))? # colon followed by the port (optional)
/
(?P<path>[^;]+) # path on the remote system, may be absolute or relative,
# and may include the use of '~' to reference the remote home
# directory
(?P<sparam>(;[^;]+)*)? # parameters block (optional)
$
''', re.VERBOSE)
class SSH(FetchMethod):
'''Class to fetch a module or modules via Secure Shell'''
def supports(self, url, urldata, d):
return __pattern__.match(url) != None
def localpath(self, url, urldata, d):
m = __pattern__.match(urldata.url)
path = m.group('path')
host = m.group('host')
lpath = os.path.join(data.getVar('DL_DIR', d, True), host, os.path.basename(path))
return lpath
def download(self, url, urldata, d):
dldir = data.getVar('DL_DIR', d, True)
m = __pattern__.match(url)
path = m.group('path')
host = m.group('host')
port = m.group('port')
user = m.group('user')
password = m.group('pass')
ldir = os.path.join(dldir, host)
lpath = os.path.join(ldir, os.path.basename(path))
if not os.path.exists(ldir):
os.makedirs(ldir)
if port:
port = '-P %s' % port
else:
port = ''
if user:
fr = user
if password:
fr += ':%s' % password
fr += '@%s' % host
else:
fr = host
fr += ':%s' % path
import commands
cmd = 'scp -B -r %s %s %s/' % (
port,
commands.mkarg(fr),
commands.mkarg(ldir)
)
bb.fetch2.check_network_access(d, cmd)
runfetchcmd(cmd, d)

View File

@@ -0,0 +1,97 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
This implementation is for svk. It is based on the svn implementation
"""
# Copyright (C) 2006 Holger Hans Peter Freyther
# Copyright (C) 2003, 2004 Chris Larson
#
# 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.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import logging
import bb
from bb import data
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import MissingParameterError
from bb.fetch2 import logger
from bb.fetch2 import runfetchcmd
class Svk(FetchMethod):
"""Class to fetch a module or modules from svk repositories"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with svk.
"""
return ud.type in ['svk']
def urldata_init(self, ud, d):
if not "module" in ud.parm:
raise MissingParameterError('module', ud.url)
else:
ud.module = ud.parm["module"]
ud.revision = ud.parm.get('rev', "")
ud.localfile = data.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ud.date), d)
def need_update(self, url, ud, d):
if ud.date == "now":
return True
if not os.path.exists(ud.localpath):
return True
return False
def download(self, loc, ud, d):
"""Fetch urls"""
svkroot = ud.host + ud.path
svkcmd = "svk co -r {%s} %s/%s" % (ud.date, svkroot, ud.module)
if ud.revision:
svkcmd = "svk co -r %s %s/%s" % (ud.revision, svkroot, ud.module)
# create temp directory
localdata = data.createCopy(d)
data.update_data(localdata)
logger.debug(2, "Fetch: creating temporary directory")
bb.mkdirhier(data.expand('${WORKDIR}', localdata))
data.setVar('TMPBASE', data.expand('${WORKDIR}/oesvk.XXXXXX', localdata), localdata)
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, True) or "false")
tmpfile = tmppipe.readline().strip()
if not tmpfile:
logger.error()
raise FetchError("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.", loc)
# check out sources there
os.chdir(tmpfile)
logger.info("Fetch " + loc)
logger.debug(1, "Running %s", svkcmd)
runfetchcmd(svkcmd, d, cleanup = [tmpfile])
os.chdir(os.path.join(tmpfile, os.path.dirname(ud.module)))
# tar them up to a defined filename
runfetchcmd("tar -czf %s %s" % (ud.localpath, os.path.basename(ud.module)), d, cleanup = [ud.localpath])
# cleanup
bb.utils.prunedir(tmpfile)

View File

@@ -0,0 +1,180 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementation for svn.
"""
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2004 Marcin Juszkiewicz
#
# 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.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import sys
import logging
import bb
from bb import data
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import MissingParameterError
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
class Svn(FetchMethod):
"""Class to fetch a module or modules from svn repositories"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with svn.
"""
return ud.type in ['svn']
def urldata_init(self, ud, d):
"""
init svn specific variable within url data
"""
if not "module" in ud.parm:
raise MissingParameterError('module', ud.url)
ud.module = ud.parm["module"]
# Create paths to svn checkouts
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${SVNDIR}', d), ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
if 'rev' in ud.parm:
ud.revision = ud.parm['rev']
ud.localfile = data.expand('%s_%s_%s_%s_.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision), d)
def _buildsvncommand(self, ud, d, command):
"""
Build up an svn commandline based on ud
command is "fetch", "update", "info"
"""
basecmd = data.expand('${FETCHCMD_svn}', d)
proto = ud.parm.get('proto', 'svn')
svn_rsh = None
if proto == "svn+ssh" and "rsh" in ud.parm:
svn_rsh = ud.parm["rsh"]
svnroot = ud.host + ud.path
options = []
if ud.user:
options.append("--username %s" % ud.user)
if ud.pswd:
options.append("--password %s" % ud.pswd)
if command is "info":
svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module)
else:
suffix = ""
if ud.revision:
options.append("-r %s" % ud.revision)
suffix = "@%s" % (ud.revision)
if command is "fetch":
svncmd = "%s co %s %s://%s/%s%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module)
elif command is "update":
svncmd = "%s update %s" % (basecmd, " ".join(options))
else:
raise FetchError("Invalid svn command %s" % command, ud.url)
if svn_rsh:
svncmd = "svn_RSH=\"%s\" %s" % (svn_rsh, svncmd)
return svncmd
def download(self, loc, ud, d):
"""Fetch url"""
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK):
svnupdatecmd = self._buildsvncommand(ud, d, "update")
logger.info("Update " + loc)
# update sources there
os.chdir(ud.moddir)
logger.debug(1, "Running %s", svnupdatecmd)
bb.fetch2.check_network_access(d, svnupdatecmd)
runfetchcmd(svnupdatecmd, d)
else:
svnfetchcmd = self._buildsvncommand(ud, d, "fetch")
logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
logger.debug(1, "Running %s", svnfetchcmd)
bb.fetch2.check_network_access(d, svnfetchcmd)
runfetchcmd(svnfetchcmd, d)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.svn'"
os.chdir(ud.pkgdir)
# tar them up to a defined filename
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.module), d, cleanup = [ud.localpath])
def clean(self, ud, d):
""" Clean SVN specific files and dirs """
bb.utils.remove(ud.localpath)
bb.utils.remove(ud.moddir, True)
def supports_srcrev(self):
return True
def _revision_key(self, url, ud, d, name):
"""
Return a unique key for the url
"""
return "svn:" + ud.moddir
def _latest_revision(self, url, ud, d, name):
"""
Return the latest upstream revision number
"""
bb.fetch2.check_network_access(d, self._buildsvncommand(ud, d, "info"))
output = runfetchcmd("LANG=C LC_ALL=C " + self._buildsvncommand(ud, d, "info"), d, True)
revision = None
for line in output.splitlines():
if "Last Changed Rev" in line:
revision = line.split(":")[1].strip()
return revision
def _sortable_revision(self, url, ud, d):
"""
Return a sortable revision number which in our case is the revision number
"""
return self._build_revision(url, ud, d)
def _build_revision(self, url, ud, d):
return ud.revision

View File

@@ -0,0 +1,91 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
Classes for obtaining upstream sources for the
BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
#
# 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.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import logging
import bb
import urllib
from bb import data
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import encodeurl
from bb.fetch2 import decodeurl
from bb.fetch2 import logger
from bb.fetch2 import runfetchcmd
class Wget(FetchMethod):
"""Class to fetch urls via 'wget'"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with wget.
"""
return ud.type in ['http', 'https', 'ftp']
def urldata_init(self, ud, d):
ud.basename = os.path.basename(ud.path)
ud.localfile = data.expand(urllib.unquote(ud.basename), d)
def download(self, uri, ud, d, checkonly = False):
"""Fetch urls"""
def fetch_uri(uri, ud, d):
if checkonly:
fetchcmd = data.getVar("CHECKCOMMAND", d, True)
elif os.path.exists(ud.localpath):
# file exists, but we didnt complete it.. trying again..
fetchcmd = data.getVar("RESUMECOMMAND", d, True)
else:
fetchcmd = data.getVar("FETCHCOMMAND", d, True)
uri = uri.split(";")[0]
uri_decoded = list(decodeurl(uri))
uri_type = uri_decoded[0]
uri_host = uri_decoded[1]
fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
logger.info("fetch " + uri)
logger.debug(2, "executing " + fetchcmd)
bb.fetch2.check_network_access(d, fetchcmd)
runfetchcmd(fetchcmd, d)
# Sanity check since wget can pretend it succeed when it didn't
# Also, this used to happen if sourceforge sent us to the mirror page
if not os.path.exists(ud.localpath) and not checkonly:
raise FetchError("The fetch command returned success for url %s but %s doesn't exist?!" % (uri, ud.localpath), uri)
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "wget:" + data.getVar('OVERRIDES', localdata), localdata)
data.update_data(localdata)
fetch_uri(uri, ud, localdata)
return True
def checkstatus(self, uri, ud, d):
return self.download(uri, ud, d, True)

View File

@@ -27,7 +27,7 @@
a method pool to do this task.
This pool will be used to compile and execute the functions. It
will be smart enough to
will be smart enough to
"""
from bb.utils import better_compile, better_exec
@@ -43,8 +43,8 @@ def insert_method(modulename, code, fn):
Add code of a module should be added. The methods
will be simply added, no checking will be done
"""
comp = better_compile(code, "<bb>", fn )
better_exec(comp, __builtins__, code, fn)
comp = better_compile(code, modulename, fn )
better_exec(comp, None, code, fn)
# now some instrumentation
code = comp.co_names
@@ -59,7 +59,7 @@ def insert_method(modulename, code, fn):
def check_insert_method(modulename, code, fn):
"""
Add the code if it wasnt added before. The module
name will be used for that
name will be used for that
Variables:
@modulename a short name e.g. base.bbclass
@@ -81,4 +81,4 @@ def get_parsed_dict():
"""
shortcut
"""
return _parsed_methods
return _parsed_methods

View File

@@ -22,104 +22,179 @@ Message handling infrastructure for bitbake
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import sys, bb
from bb import event
import sys
import logging
import collections
from itertools import groupby
import warnings
import bb
import bb.event
debug_level = {}
class BBLogFormatter(logging.Formatter):
"""Formatter which ensures that our 'plain' messages (logging.INFO + 1) are used as is"""
verbose = False
DEBUG3 = logging.DEBUG - 2
DEBUG2 = logging.DEBUG - 1
DEBUG = logging.DEBUG
VERBOSE = logging.INFO - 1
NOTE = logging.INFO
PLAIN = logging.INFO + 1
ERROR = logging.ERROR
WARNING = logging.WARNING
CRITICAL = logging.CRITICAL
domain = bb.utils.Enum(
'Build',
'Cache',
'Collection',
'Data',
'Depends',
'Fetcher',
'Parsing',
'PersistData',
'Provider',
'RunQueue',
'TaskData',
'Util')
levelnames = {
DEBUG3 : 'DEBUG',
DEBUG2 : 'DEBUG',
DEBUG : 'DEBUG',
VERBOSE: 'NOTE',
NOTE : 'NOTE',
PLAIN : '',
WARNING : 'WARNING',
ERROR : 'ERROR',
CRITICAL: 'ERROR',
}
def getLevelName(self, levelno):
try:
return self.levelnames[levelno]
except KeyError:
self.levelnames[levelno] = value = 'Level %d' % levelno
return value
class MsgBase(bb.event.Event):
"""Base class for messages"""
def format(self, record):
record.levelname = self.getLevelName(record.levelno)
if record.levelno == self.PLAIN:
return record.getMessage()
else:
return logging.Formatter.format(self, record)
def __init__(self, msg):
self._message = msg
event.Event.__init__(self)
class Loggers(dict):
def __getitem__(self, key):
if key in self:
return dict.__getitem__(self, key)
else:
log = logging.getLogger("BitBake.%s" % domain._fields[key])
dict.__setitem__(self, key, log)
return log
class MsgDebug(MsgBase):
"""Debug Message"""
class DebugLevel(dict):
def __getitem__(self, key):
if key == "default":
key = domain.Default
return get_debug_level(key)
class MsgNote(MsgBase):
"""Note Message"""
def _NamedTuple(name, fields):
Tuple = collections.namedtuple(name, " ".join(fields))
return Tuple(*range(len(fields)))
class MsgWarn(MsgBase):
"""Warning Message"""
domain = _NamedTuple("Domain", (
"Default",
"Build",
"Cache",
"Collection",
"Data",
"Depends",
"Fetcher",
"Parsing",
"PersistData",
"Provider",
"RunQueue",
"TaskData",
"Util"))
logger = logging.getLogger("BitBake")
loggers = Loggers()
debug_level = DebugLevel()
class MsgError(MsgBase):
"""Error Message"""
class MsgFatal(MsgBase):
"""Fatal Message"""
class MsgPlain(MsgBase):
"""General output"""
#
# Message control functions
#
def set_debug_level(level):
bb.msg.debug_level = {}
for domain in bb.msg.domain:
bb.msg.debug_level[domain] = level
bb.msg.debug_level['default'] = level
for log in loggers.itervalues():
log.setLevel(logging.NOTSET)
if level:
logger.setLevel(logging.DEBUG - level + 1)
else:
logger.setLevel(logging.INFO)
def get_debug_level(msgdomain = domain.Default):
if not msgdomain:
level = logger.getEffectiveLevel()
else:
level = loggers[msgdomain].getEffectiveLevel()
return max(0, logging.DEBUG - level + 1)
def set_verbose(level):
bb.msg.verbose = level
if level:
logger.setLevel(BBLogFormatter.VERBOSE)
else:
logger.setLevel(BBLogFormatter.INFO)
def set_debug_domains(domains):
for domain in domains:
found = False
for ddomain in bb.msg.domain:
if domain == str(ddomain):
bb.msg.debug_level[ddomain] = bb.msg.debug_level[ddomain] + 1
found = True
if not found:
bb.msg.warn(None, "Logging domain %s is not valid, ignoring" % domain)
def set_debug_domains(domainargs):
for (domainarg, iterator) in groupby(domainargs):
for index, msgdomain in enumerate(domain._fields):
if msgdomain == domainarg:
level = len(tuple(iterator))
if level:
loggers[index].setLevel(logging.DEBUG - level + 1)
break
else:
warn(None, "Logging domain %s is not valid, ignoring" % domainarg)
#
# Message handling functions
#
def debug(level, domain, msg, fn = None):
if not domain:
domain = 'default'
if debug_level[domain] >= level:
bb.event.fire(MsgDebug(msg), None)
def debug(level, msgdomain, msg):
warnings.warn("bb.msg.debug will soon be deprecated in favor of the python 'logging' module",
PendingDeprecationWarning, stacklevel=2)
level = logging.DEBUG - (level - 1)
if not msgdomain:
logger.debug(level, msg)
else:
loggers[msgdomain].debug(level, msg)
def note(level, domain, msg, fn = None):
if not domain:
domain = 'default'
if level == 1 or verbose or debug_level[domain] >= 1:
bb.event.fire(MsgNote(msg), None)
def plain(msg):
warnings.warn("bb.msg.plain will soon be deprecated in favor of the python 'logging' module",
PendingDeprecationWarning, stacklevel=2)
logger.plain(msg)
def warn(domain, msg, fn = None):
bb.event.fire(MsgWarn(msg), None)
def note(level, msgdomain, msg):
warnings.warn("bb.msg.note will soon be deprecated in favor of the python 'logging' module",
PendingDeprecationWarning, stacklevel=2)
if level > 1:
if msgdomain:
logger.verbose(msg)
else:
loggers[msgdomain].verbose(msg)
else:
if msgdomain:
logger.info(msg)
else:
loggers[msgdomain].info(msg)
def error(domain, msg, fn = None):
bb.event.fire(MsgError(msg), None)
print 'ERROR: ' + msg
def warn(msgdomain, msg):
warnings.warn("bb.msg.warn will soon be deprecated in favor of the python 'logging' module",
PendingDeprecationWarning, stacklevel=2)
if not msgdomain:
logger.warn(msg)
else:
loggers[msgdomain].warn(msg)
def fatal(domain, msg, fn = None):
bb.event.fire(MsgFatal(msg), None)
print 'FATAL: ' + msg
def error(msgdomain, msg):
warnings.warn("bb.msg.error will soon be deprecated in favor of the python 'logging' module",
PendingDeprecationWarning, stacklevel=2)
if not msgdomain:
logger.error(msg)
else:
loggers[msgdomain].error(msg)
def fatal(msgdomain, msg):
warnings.warn("bb.msg.fatal will soon be deprecated in favor of raising appropriate exceptions",
PendingDeprecationWarning, stacklevel=2)
if not msgdomain:
logger.critical(msg)
else:
loggers[msgdomain].critical(msg)
sys.exit(1)
def plain(msg, fn = None):
bb.event.fire(MsgPlain(msg), None)

View File

@@ -24,11 +24,16 @@ File parsers for the BitBake build tools.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
__all__ = [ 'ParseError', 'SkipPackage', 'cached_mtime', 'mark_dependency',
'supports', 'handle', 'init' ]
handlers = []
import bb, os
import os
import stat
import logging
import bb
import bb.utils
import bb.siggen
logger = logging.getLogger("BitBake.Parsing")
class ParseError(Exception):
"""Exception raised when parsing fails"""
@@ -38,27 +43,27 @@ class SkipPackage(Exception):
__mtime_cache = {}
def cached_mtime(f):
if not __mtime_cache.has_key(f):
__mtime_cache[f] = os.stat(f)[8]
if f not in __mtime_cache:
__mtime_cache[f] = os.stat(f)[stat.ST_MTIME]
return __mtime_cache[f]
def cached_mtime_noerror(f):
if not __mtime_cache.has_key(f):
if f not in __mtime_cache:
try:
__mtime_cache[f] = os.stat(f)[8]
__mtime_cache[f] = os.stat(f)[stat.ST_MTIME]
except OSError:
return 0
return __mtime_cache[f]
def update_mtime(f):
__mtime_cache[f] = os.stat(f)[8]
__mtime_cache[f] = os.stat(f)[stat.ST_MTIME]
return __mtime_cache[f]
def mark_dependency(d, f):
if f.startswith('./'):
f = "%s/%s" % (os.getcwd(), f[2:])
deps = bb.data.getVar('__depends', d) or []
deps.append( (f, cached_mtime(f)) )
deps = bb.data.getVar('__depends', d) or set()
deps.update([(f, cached_mtime(f))])
bb.data.setVar('__depends', deps, d)
def supports(fn, data):
@@ -80,13 +85,18 @@ def init(fn, data):
if h['supports'](fn):
return h['init'](data)
def init_parser(d):
bb.parse.siggen = bb.siggen.init(d)
def resolve_file(fn, d):
if not os.path.isabs(fn):
fn = bb.which(bb.data.getVar("BBPATH", d, 1), fn)
if not fn:
raise IOError("file %s not found" % fn)
bbpath = bb.data.getVar("BBPATH", d, True)
newfn = bb.utils.which(bbpath, fn)
if not newfn:
raise IOError("file %s not found in %s" % (fn, bbpath))
fn = newfn
bb.msg.debug(2, bb.msg.domain.Parsing, "LOAD %s" % fn)
logger.debug(2, "LOAD %s", fn)
return fn
# Used by OpenEmbedded metadata

View File

@@ -21,25 +21,33 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import bb, re, string
from itertools import chain
from __future__ import absolute_import
from future_builtins import filter
import re
import string
import logging
import bb
import itertools
from bb import methodpool
from bb.parse import logger
__word__ = re.compile(r"\S+")
__parsed_methods__ = bb.methodpool.get_parsed_dict()
_bbversions_re = re.compile(r"\[(?P<from>[0-9]+)-(?P<to>[0-9]+)\]")
class StatementGroup(list):
def eval(self, data):
map(lambda x: x.eval(data), self)
for statement in self:
statement.eval(data)
class AstNode(object):
pass
def __init__(self, filename, lineno):
self.filename = filename
self.lineno = lineno
class IncludeNode(AstNode):
def __init__(self, what_file, fn, lineno, force):
def __init__(self, filename, lineno, what_file, force):
AstNode.__init__(self, filename, lineno)
self.what_file = what_file
self.from_fn = fn
self.from_lineno = lineno
self.force = force
def eval(self, data):
@@ -47,16 +55,17 @@ class IncludeNode(AstNode):
Include the file and evaluate the statements
"""
s = bb.data.expand(self.what_file, data)
bb.msg.debug(3, bb.msg.domain.Parsing, "CONF %s:%d: including %s" % (self.from_fn, self.from_lineno, s))
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.from_fn, s, data, "include required")
bb.parse.ConfHandler.include(self.filename, s, data, "include required")
else:
bb.parse.ConfHandler.include(self.from_fn, s, data, False)
bb.parse.ConfHandler.include(self.filename, s, data, False)
class ExportNode(AstNode):
def __init__(self, var):
def __init__(self, filename, lineno, var):
AstNode.__init__(self, filename, lineno)
self.var = var
def eval(self, data):
@@ -69,7 +78,8 @@ class DataNode(AstNode):
this need to be re-evaluated... we might be able to do
that faster with multiple classes.
"""
def __init__(self, groupd):
def __init__(self, filename, lineno, groupd):
AstNode.__init__(self, filename, lineno)
self.groupd = groupd
def getFunc(self, key, data):
@@ -103,7 +113,6 @@ class DataNode(AstNode):
val = groupd["value"]
if 'flag' in groupd and groupd['flag'] != None:
bb.msg.debug(3, bb.msg.domain.Parsing, "setVarFlag(%s, %s, %s, data)" % (key, groupd['flag'], val))
bb.data.setVarFlag(key, groupd['flag'], val, data)
elif groupd["lazyques"]:
assigned = bb.data.getVar("__lazy_assigned", data) or []
@@ -113,19 +122,18 @@ class DataNode(AstNode):
else:
bb.data.setVar(key, val, data)
class MethodNode:
def __init__(self, func_name, body, lineno, fn):
class MethodNode(AstNode):
def __init__(self, filename, lineno, func_name, body):
AstNode.__init__(self, filename, lineno)
self.func_name = func_name
self.body = body
self.fn = fn
self.lineno = lineno
def eval(self, data):
if self.func_name == "__anonymous":
funcname = ("__anon_%s_%s" % (self.lineno, self.fn.translate(string.maketrans('/.+-', '____'))))
funcname = ("__anon_%s_%s" % (self.lineno, self.filename.translate(string.maketrans('/.+-', '____'))))
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.fn)
bb.methodpool.insert_method(funcname, text, self.filename)
anonfuncs = bb.data.getVar('__BBANONFUNCS', data) or []
anonfuncs.append(funcname)
bb.data.setVar('__BBANONFUNCS', anonfuncs, data)
@@ -134,21 +142,26 @@ class MethodNode:
bb.data.setVar(self.func_name, '\n'.join(self.body), data)
class PythonMethodNode(AstNode):
def __init__(self, root, body, fn):
self.root = root
def __init__(self, filename, lineno, function, define, body):
AstNode.__init__(self, filename, lineno)
self.function = function
self.define = define
self.body = body
self.fn = fn
def eval(self, data):
# Note we will add root to parsedmethods after having parse
# 'this' file. This means we will not parse methods from
# bb classes twice
if not self.root in __parsed_methods__:
text = '\n'.join(self.body)
bb.methodpool.insert_method(self.root, text, self.fn)
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)
class MethodFlagsNode(AstNode):
def __init__(self, key, m):
def __init__(self, filename, lineno, key, m):
AstNode.__init__(self, filename, lineno)
self.key = key
self.m = m
@@ -168,8 +181,9 @@ class MethodFlagsNode(AstNode):
bb.data.delVarFlag(self.key, "fakeroot", data)
class ExportFuncsNode(AstNode):
def __init__(self, fns, classes):
self.n = __word__.findall(fns)
def __init__(self, filename, lineno, fns, classes):
AstNode.__init__(self, filename, lineno)
self.n = fns.split()
self.classes = classes
def eval(self, data):
@@ -207,7 +221,8 @@ class ExportFuncsNode(AstNode):
bb.data.setVarFlag(var, 'export_func', '1', data)
class AddTaskNode(AstNode):
def __init__(self, func, before, after):
def __init__(self, filename, lineno, func, before, after):
AstNode.__init__(self, filename, lineno)
self.func = func
self.before = before
self.after = after
@@ -238,8 +253,9 @@ class AddTaskNode(AstNode):
bb.data.setVarFlag(entry, "deps", [var] + existing, data)
class BBHandlerNode(AstNode):
def __init__(self, fns):
self.hs = __word__.findall(fns)
def __init__(self, filename, lineno, fns):
AstNode.__init__(self, filename, lineno)
self.hs = fns.split()
def eval(self, data):
bbhands = bb.data.getVar('__BBHANDLERS', data) or []
@@ -249,51 +265,51 @@ class BBHandlerNode(AstNode):
bb.data.setVar('__BBHANDLERS', bbhands, data)
class InheritNode(AstNode):
def __init__(self, files):
self.n = __word__.findall(files)
def __init__(self, filename, lineno, classes):
AstNode.__init__(self, filename, lineno)
self.classes = classes
def eval(self, data):
bb.parse.BBHandler.inherit(self.n, data)
def handleInclude(statements, m, fn, lineno, force):
statements.append(IncludeNode(m.group(1), fn, lineno, force))
bb.parse.BBHandler.inherit(self.classes, data)
def handleExport(statements, m):
statements.append(ExportNode(m.group(1)))
def handleInclude(statements, filename, lineno, m, force):
statements.append(IncludeNode(filename, lineno, m.group(1), force))
def handleData(statements, groupd):
statements.append(DataNode(groupd))
def handleExport(statements, filename, lineno, m):
statements.append(ExportNode(filename, lineno, m.group(1)))
def handleMethod(statements, func_name, lineno, fn, body):
statements.append(MethodNode(func_name, body, lineno, fn))
def handleData(statements, filename, lineno, groupd):
statements.append(DataNode(filename, lineno, groupd))
def handlePythonMethod(statements, root, body, fn):
statements.append(PythonMethodNode(root, body, fn))
def handleMethod(statements, filename, lineno, func_name, body):
statements.append(MethodNode(filename, lineno, func_name, body))
def handleMethodFlags(statements, key, m):
statements.append(MethodFlagsNode(key, m))
def handlePythonMethod(statements, filename, lineno, funcname, root, body):
statements.append(PythonMethodNode(filename, lineno, funcname, root, body))
def handleExportFuncs(statements, m, classes):
statements.append(ExportFuncsNode(m.group(1), classes))
def handleMethodFlags(statements, filename, lineno, key, m):
statements.append(MethodFlagsNode(filename, lineno, key, m))
def handleAddTask(statements, m):
def handleExportFuncs(statements, filename, lineno, m, classes):
statements.append(ExportFuncsNode(filename, lineno, m.group(1), classes))
def handleAddTask(statements, filename, lineno, m):
func = m.group("func")
before = m.group("before")
after = m.group("after")
if func is None:
return
statements.append(AddTaskNode(func, before, after))
statements.append(AddTaskNode(filename, lineno, func, before, after))
def handleBBHandlers(statements, m):
statements.append(BBHandlerNode(m.group(1)))
def handleBBHandlers(statements, filename, lineno, m):
statements.append(BBHandlerNode(filename, lineno, m.group(1)))
def handleInherit(statements, m):
files = m.group(1)
n = __word__.findall(files)
statements.append(InheritNode(m.group(1)))
def handleInherit(statements, filename, lineno, m):
classes = m.group(1)
statements.append(InheritNode(filename, lineno, classes.split()))
def finalise(fn, d):
def finalize(fn, d, variant = None):
for lazykey in bb.data.getVar("__lazy_assigned", d) or ():
if bb.data.getVar(lazykey, d) is None:
val = bb.data.getVarFlag(lazykey, "defaultval", d)
@@ -301,40 +317,23 @@ def finalise(fn, d):
bb.data.expandKeys(d)
bb.data.update_data(d)
anonqueue = bb.data.getVar("__anonqueue", d, 1) or []
body = [x['content'] for x in anonqueue]
flag = { 'python' : 1, 'func' : 1 }
bb.data.setVar("__anonfunc", "\n".join(body), d)
bb.data.setVarFlags("__anonfunc", flag, d)
from bb import build
try:
t = bb.data.getVar('T', d)
bb.data.setVar('T', '${TMPDIR}/anonfunc/', d)
anonfuncs = bb.data.getVar('__BBANONFUNCS', d) or []
code = ""
for f in anonfuncs:
code = code + " %s(d)\n" % f
bb.data.setVar("__anonfunc", code, d)
build.exec_func("__anonfunc", d)
bb.data.delVar('T', d)
if t:
bb.data.setVar('T', t, d)
except Exception, e:
bb.msg.debug(1, bb.msg.domain.Parsing, "Exception when executing anonymous function: %s" % e)
raise
bb.data.delVar("__anonqueue", d)
bb.data.delVar("__anonfunc", d)
code = []
for funcname in bb.data.getVar("__BBANONFUNCS", d) or []:
code.append("%s(d)" % funcname)
bb.utils.simple_exec("\n".join(code), {"d": d})
bb.data.update_data(d)
all_handlers = {}
all_handlers = {}
for var in bb.data.getVar('__BBHANDLERS', d) or []:
# try to add the handler
handler = bb.data.getVar(var,d)
handler = bb.data.getVar(var, d)
bb.event.register(var, handler)
tasklist = bb.data.getVar('__BBTASKS', d) or []
bb.build.add_tasks(tasklist, d)
bb.parse.siggen.finalise(fn, d, variant)
bb.event.fire(bb.event.RecipeParsed(fn), d)
def _create_variants(datastores, names, function):
@@ -360,7 +359,7 @@ def _expand_versions(versions):
versions = iter(versions)
while True:
try:
version = versions.next()
version = next(versions)
except StopIteration:
break
@@ -370,14 +369,18 @@ def _expand_versions(versions):
else:
newversions = expand_one(version, int(range_ver.group("from")),
int(range_ver.group("to")))
versions = chain(newversions, versions)
versions = itertools.chain(newversions, versions)
def multi_finalize(fn, d):
safe_d = d
appends = (d.getVar("__BBAPPEND", True) or "").split()
for append in appends:
logger.debug(2, "Appending .bbappend file %s to %s", append, fn)
bb.parse.BBHandler.handle(append, d, True)
safe_d = d
d = bb.data.createCopy(safe_d)
try:
finalise(fn, d)
finalize(fn, d)
except bb.parse.SkipPackage:
bb.data.setVar("__SKIPPED", True, d)
datastores = {"": safe_d}
@@ -420,7 +423,7 @@ def multi_finalize(fn, d):
d = bb.data.createCopy(safe_d)
verfunc(pv, d, safe_d)
try:
finalise(fn, d)
finalize(fn, d)
except bb.parse.SkipPackage:
bb.data.setVar("__SKIPPED", True, d)
@@ -436,15 +439,15 @@ def multi_finalize(fn, d):
safe_d.setVar("BBCLASSEXTEND", extended)
_create_variants(datastores, extended.split(), extendfunc)
for variant, variant_d in datastores.items():
for variant, variant_d in datastores.iteritems():
if variant:
try:
finalise(fn, variant_d)
finalize(fn, variant_d, variant)
except bb.parse.SkipPackage:
bb.data.setVar("__SKIPPED", True, variant_d)
if len(datastores) > 1:
variants = filter(None, datastores.keys())
variants = filter(None, datastores.iterkeys())
safe_d.setVar("__VARIANTS", " ".join(variants))
datastores[""] = d

View File

@@ -11,7 +11,7 @@
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
#
#
# 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.
@@ -25,15 +25,18 @@
# 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, os, sys, time, string
import bb.fetch, bb.build, bb.utils
from bb import data, fetch
from __future__ import absolute_import
import re, bb, os
import logging
import bb.build, bb.utils
from bb import data
from ConfHandler import include, init
from bb.parse import ParseError, resolve_file, ast
from . import ConfHandler
from .. import resolve_file, ast, logger
from .ConfHandler import include, init
# For compatibility
from bb.parse import vars_from_file
bb.deprecate_import(__name__, "bb.parse", ["vars_from_file"])
__func_start_regexp__ = re.compile( r"(((?P<py>python)|(?P<fr>fakeroot))\s*)*(?P<func>[\w\.\-\+\{\}\$]+)?\s*\(\s*\)\s*{$" )
__inherit_regexp__ = re.compile( r"inherit\s+(.+)" )
@@ -62,35 +65,36 @@ IN_PYTHON_EOF = -9999999999999
def supports(fn, d):
return fn[-3:] == ".bb" or fn[-8:] == ".bbclass" or fn[-4:] == ".inc"
"""Return True if fn has a supported extension"""
return os.path.splitext(fn)[-1] in [".bb", ".bbclass", ".inc"]
def inherit(files, d):
__inherit_cache = data.getVar('__inherit_cache', d) or []
fn = ""
lineno = 0
files = data.expand(files, d)
for file in files:
if file[0] != "/" and file[-8:] != ".bbclass":
file = data.expand(file, d)
if not os.path.isabs(file) and not file.endswith(".bbclass"):
file = os.path.join('classes', '%s.bbclass' % file)
if not file in __inherit_cache:
bb.msg.debug(2, bb.msg.domain.Parsing, "BB %s:%d: inheriting %s" % (fn, lineno, file))
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")
__inherit_cache = data.getVar('__inherit_cache', d) or []
def get_statements(filename, absolsute_filename, base_name):
def get_statements(filename, absolute_filename, base_name):
global cached_statements
try:
return cached_statements[absolsute_filename]
return cached_statements[absolute_filename]
except KeyError:
file = open(absolsute_filename, 'r')
file = open(absolute_filename, 'r')
statements = ast.StatementGroup()
lineno = 0
while 1:
while True:
lineno = lineno + 1
s = file.readline()
if not s: break
@@ -101,7 +105,7 @@ def get_statements(filename, absolsute_filename, base_name):
feeder(IN_PYTHON_EOF, "", filename, base_name, statements)
if filename.endswith(".bbclass") or filename.endswith(".inc"):
cached_statements[absolsute_filename] = statements
cached_statements[absolute_filename] = statements
return statements
def handle(fn, d, include):
@@ -113,12 +117,12 @@ def handle(fn, d, include):
if include == 0:
bb.msg.debug(2, bb.msg.domain.Parsing, "BB " + fn + ": handle(data)")
logger.debug(2, "BB %s: handle(data)", fn)
else:
bb.msg.debug(2, bb.msg.domain.Parsing, "BB " + fn + ": handle(data, include)")
logger.debug(2, "BB %s: handle(data, include)", fn)
(root, ext) = os.path.splitext(os.path.basename(fn))
base_name = "%s%s" % (root,ext)
base_name = os.path.basename(fn)
(root, ext) = os.path.splitext(base_name)
init(d)
if ext == ".bbclass":
@@ -164,11 +168,11 @@ def handle(fn, d, include):
return d
def feeder(lineno, s, fn, root, statements):
global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __def_regexp__, __python_func_regexp__, __inpython__,__infunc__, __body__, classes, bb, __residue__
global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __def_regexp__, __python_func_regexp__, __inpython__, __infunc__, __body__, classes, bb, __residue__
if __infunc__:
if s == '}':
__body__.append('')
ast.handleMethod(statements, __infunc__, lineno, fn, __body__)
ast.handleMethod(statements, fn, lineno, __infunc__, __body__)
__infunc__ = ""
__body__ = []
else:
@@ -181,7 +185,8 @@ def feeder(lineno, s, fn, root, statements):
__body__.append(s)
return
else:
ast.handlePythonMethod(statements, root, __body__, fn)
ast.handlePythonMethod(statements, fn, lineno, __inpython__,
root, __body__)
__body__ = []
__inpython__ = False
@@ -202,39 +207,39 @@ def feeder(lineno, s, fn, root, statements):
m = __func_start_regexp__.match(s)
if m:
__infunc__ = m.group("func") or "__anonymous"
ast.handleMethodFlags(statements, __infunc__, m)
ast.handleMethodFlags(statements, fn, lineno, __infunc__, m)
return
m = __def_regexp__.match(s)
if m:
__body__.append(s)
__inpython__ = True
__inpython__ = m.group(1)
return
m = __export_func_regexp__.match(s)
if m:
ast.handleExportFuncs(statements, m, classes)
ast.handleExportFuncs(statements, fn, lineno, m, classes)
return
m = __addtask_regexp__.match(s)
if m:
ast.handleAddTask(statements, m)
ast.handleAddTask(statements, fn, lineno, m)
return
m = __addhandler_regexp__.match(s)
if m:
ast.handleBBHandlers(statements, m)
ast.handleBBHandlers(statements, fn, lineno, m)
return
m = __inherit_regexp__.match(s)
if m:
ast.handleInherit(statements, m)
ast.handleInherit(statements, fn, lineno, m)
return
from bb.parse import ConfHandler
return ConfHandler.feeder(lineno, s, fn, statements)
# Add us to the handlers list
from bb.parse import handlers
from .. import handlers
handlers.append({'supports': supports, 'handle': handle, 'init': init})
del handlers

View File

@@ -10,7 +10,7 @@
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
#
#
# 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.
@@ -24,8 +24,10 @@
# 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, sys
from bb.parse import ParseError, resolve_file, ast
import re, bb.data, 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)$")
@@ -36,10 +38,7 @@ __export_regexp__ = re.compile( r"export\s+(.+)" )
def init(data):
topdir = bb.data.getVar('TOPDIR', data)
if not topdir:
topdir = os.getcwd()
bb.data.setVar('TOPDIR', topdir, data)
if not bb.data.getVar('BBPATH', data):
bb.fatal("The BBPATH environment variable must be set")
bb.data.setVar('TOPDIR', os.getcwd(), data)
def supports(fn, d):
@@ -47,10 +46,10 @@ def supports(fn, d):
def include(oldfn, fn, data, error_out):
"""
error_out If True a ParseError will be reaised if the to be included
error_out If True a ParseError will be raised if the to be included
config-files could not be included.
"""
if oldfn == fn: # prevent infinate recursion
if oldfn == fn: # prevent infinite recursion
return None
import bb
@@ -60,7 +59,7 @@ def include(oldfn, fn, data, error_out):
if not os.path.isabs(fn):
dname = os.path.dirname(oldfn)
bbpath = "%s:%s" % (dname, bb.data.getVar("BBPATH", data, 1))
abs_fn = bb.which(bbpath, fn)
abs_fn = bb.utils.which(bbpath, fn)
if abs_fn:
fn = abs_fn
@@ -70,7 +69,7 @@ def include(oldfn, fn, data, error_out):
except IOError:
if error_out:
raise ParseError("Could not %(error_out)s file %(fn)s" % vars() )
bb.msg.debug(2, bb.msg.domain.Parsing, "CONF file '%s' not found" % fn)
logger.debug(2, "CONF file '%s' not found", fn)
def handle(fn, data, include):
init(data)
@@ -88,7 +87,7 @@ def handle(fn, data, include):
statements = ast.StatementGroup()
lineno = 0
while 1:
while True:
lineno = lineno + 1
s = f.readline()
if not s: break
@@ -114,22 +113,22 @@ def feeder(lineno, s, fn, statements):
m = __config_regexp__.match(s)
if m:
groupd = m.groupdict()
ast.handleData(statements, groupd)
ast.handleData(statements, fn, lineno, groupd)
return
m = __include_regexp__.match(s)
if m:
ast.handleInclude(statements, m, fn, lineno, False)
ast.handleInclude(statements, fn, lineno, m, False)
return
m = __require_regexp__.match(s)
if m:
ast.handleInclude(statements, m, fn, lineno, True)
ast.handleInclude(statements, fn, lineno, m, True)
return
m = __export_regexp__.match(s)
if m:
ast.handleExport(statements, m)
ast.handleExport(statements, fn, lineno, m)
return
raise ParseError("%s:%d: unparsed line: '%s'" % (fn, lineno, s));

View File

@@ -25,9 +25,9 @@ File parsers for the BitBake build tools.
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
from __future__ import absolute_import
from . import ConfHandler
from . import BBHandler
__version__ = '1.0'
__all__ = [ 'ConfHandler', 'BBHandler']
import ConfHandler
import BBHandler

View File

@@ -1,6 +1,12 @@
# BitBake Persistent Data Store
#
"""BitBake Persistent Data Store
Used to store data in a central location such that other threads/tasks can
access them at some future date. Acts as a convenience wrapper around sqlite,
currently, providing a key/value store accessed by 'domain'.
"""
# Copyright (C) 2007 Richard Purdie
# Copyright (C) 2010 Chris Larson <chris_larson@mentor.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
@@ -15,107 +21,174 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import bb, os
import collections
import logging
import os.path
import sys
import warnings
import bb.msg, bb.data, bb.utils
try:
import sqlite3
except ImportError:
try:
from pysqlite2 import dbapi2 as sqlite3
except ImportError:
bb.msg.fatal(bb.msg.domain.PersistData, "Importing sqlite3 and pysqlite2 failed, please install one of them. Python 2.5 or a 'python-pysqlite2' like package is likely to be what you need.")
from pysqlite2 import dbapi2 as sqlite3
sqlversion = sqlite3.sqlite_version_info
if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
bb.msg.fatal(bb.msg.domain.PersistData, "sqlite3 version 3.3.0 or later is required.")
raise Exception("sqlite3 version 3.3.0 or later is required.")
class PersistData:
"""
BitBake Persistent Data Store
Used to store data in a central location such that other threads/tasks can
access them at some future date.
logger = logging.getLogger("BitBake.PersistData")
The "domain" is used as a key to isolate each data pool and in this
implementation corresponds to an SQL table. The SQL table consists of a
simple key and value pair.
Why sqlite? It handles all the locking issues for us.
"""
class SQLTable(collections.MutableMapping):
"""Object representing a table/domain in the database"""
def __init__(self, cursor, table):
self.cursor = cursor
self.table = table
self._execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);"
% 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)
except sqlite3.OperationalError as exc:
if 'database is locked' in str(exc) and count < 500:
count = count + 1
continue
raise
def __getitem__(self, key):
data = self._execute("SELECT * from %s where key=?;" %
self.table, [key])
for row in data:
return row[1]
def __delitem__(self, key):
self._execute("DELETE from %s where key=?;" % self.table, [key])
def __setitem__(self, key, value):
data = self._execute("SELECT * from %s where key=?;" %
self.table, [key])
exists = len(list(data))
if exists:
self._execute("UPDATE %s SET value=? WHERE key=?;" % self.table,
[value, key])
else:
self._execute("INSERT into %s(key, value) values (?, ?);" %
self.table, [key, value])
def __contains__(self, key):
return key in set(self)
def __len__(self):
data = self._execute("SELECT COUNT(key) FROM %s;" % self.table)
for row in data:
return row[0]
def __iter__(self):
data = self._execute("SELECT key FROM %s;" % self.table)
for row in data:
yield row[0]
def iteritems(self):
data = self._execute("SELECT * FROM %s;" % self.table)
for row in data:
yield row[0], row[1]
def itervalues(self):
data = self._execute("SELECT value FROM %s;" % self.table)
for row in data:
yield row[0]
class SQLData(object):
"""Object representing the persistent data"""
def __init__(self, filename):
bb.utils.mkdirhier(os.path.dirname(filename))
self.filename = filename
self.connection = sqlite3.connect(filename, timeout=5,
isolation_level=None)
self.cursor = self.connection.cursor()
self._tables = {}
def __getitem__(self, table):
if not isinstance(table, basestring):
raise TypeError("table argument must be a string, not '%s'" %
type(table))
if table in self._tables:
return self._tables[table]
else:
tableobj = self._tables[table] = SQLTable(self.cursor, table)
return tableobj
def __delitem__(self, table):
if table in self._tables:
del self._tables[table]
self.cursor.execute("DROP TABLE IF EXISTS %s;" % table)
class PersistData(object):
"""Deprecated representation of the bitbake persistent data store"""
def __init__(self, d):
self.cachedir = bb.data.getVar("PERSISTENT_DIR", d, True) or bb.data.getVar("CACHE", d, True)
if self.cachedir in [None, '']:
bb.msg.fatal(bb.msg.domain.PersistData, "Please set the 'PERSISTENT_DIR' or 'CACHE' variable.")
try:
os.stat(self.cachedir)
except OSError:
bb.mkdirhier(self.cachedir)
warnings.warn("Use of PersistData will be deprecated in the future",
category=PendingDeprecationWarning,
stacklevel=2)
self.cachefile = os.path.join(self.cachedir,"bb_persist_data.sqlite3")
bb.msg.debug(1, bb.msg.domain.PersistData, "Using '%s' as the persistent data cache" % self.cachefile)
self.connection = sqlite3.connect(self.cachefile, timeout=5, isolation_level=None)
self.data = persist(d)
logger.debug(1, "Using '%s' as the persistent data cache",
self.data.filename)
def addDomain(self, domain):
"""
Should be called before any domain is used
Creates it if it doesn't exist.
Add a domain (pending deprecation)
"""
self.connection.execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);" % domain)
return self.data[domain]
def delDomain(self, domain):
"""
Removes a domain and all the data it contains
"""
self.connection.execute("DROP TABLE IF EXISTS %s;" % domain)
del self.data[domain]
def getKeyValues(self, domain):
"""
Return a list of key + value pairs for a domain
"""
ret = {}
data = self.connection.execute("SELECT key, value from %s;" % domain)
for row in data:
ret[str(row[0])] = str(row[1])
return ret
return self.data[domain].items()
def getValue(self, domain, key):
"""
Return the value of a key for a domain
"""
data = self.connection.execute("SELECT * from %s where key=?;" % domain, [key])
for row in data:
return row[1]
return self.data[domain][key]
def setValue(self, domain, key, value):
"""
Sets the value of a key for a domain
"""
data = self.connection.execute("SELECT * from %s where key=?;" % domain, [key])
rows = 0
for row in data:
rows = rows + 1
if rows:
self._execute("UPDATE %s SET value=? WHERE key=?;" % domain, [value, key])
else:
self._execute("INSERT into %s(key, value) values (?, ?);" % domain, [key, value])
self.data[domain][key] = value
def delValue(self, domain, key):
"""
Deletes a key/value pair
"""
self._execute("DELETE from %s where key=?;" % domain, [key])
del self.data[domain][key]
def _execute(self, *query):
while True:
try:
self.connection.execute(*query)
return
except sqlite3.OperationalError, e:
if 'database is locked' in str(e):
continue
raise
def persist(d):
"""Convenience factory for construction of SQLData based upon metadata"""
cachedir = (bb.data.getVar("PERSISTENT_DIR", d, True) or
bb.data.getVar("CACHE", d, True))
if not cachedir:
logger.critical("Please set the 'PERSISTENT_DIR' or 'CACHE' variable")
sys.exit(1)
cachefile = os.path.join(cachedir, "bb_persist_data.sqlite3")
return SQLData(cachefile)

109
bitbake/lib/bb/process.py Normal file
View File

@@ -0,0 +1,109 @@
import logging
import signal
import subprocess
logger = logging.getLogger('BitBake.Process')
def subprocess_setup():
# Python installs a SIGPIPE handler by default. This is usually not what
# non-Python subprocesses expect.
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
class CmdError(RuntimeError):
def __init__(self, command, message=None):
self.command = command
self.message = message
def __str__(self):
if not isinstance(self.command, basestring):
cmd = subprocess.list2cmdline(self.command)
else:
cmd = self.command
msg = "Execution of '%s' failed" % cmd
if self.message:
msg += ': %s' % self.message
return msg
class NotFoundError(CmdError):
def __str__(self):
return CmdError.__str__(self) + ": command not found"
class ExecutionError(CmdError):
def __init__(self, command, exitcode, stdout = None, stderr = None):
CmdError.__init__(self, command)
self.exitcode = exitcode
self.stdout = stdout
self.stderr = stderr
def __str__(self):
message = ""
if self.stderr:
message += self.stderr
if self.stdout:
message += self.stdout
if message:
message = ":\n" + message
return (CmdError.__str__(self) +
" with exit code %s" % self.exitcode + message)
class Popen(subprocess.Popen):
defaults = {
"close_fds": True,
"preexec_fn": subprocess_setup,
"stdout": subprocess.PIPE,
"stderr": subprocess.STDOUT,
"stdin": subprocess.PIPE,
"shell": False,
}
def __init__(self, *args, **kwargs):
options = dict(self.defaults)
options.update(kwargs)
subprocess.Popen.__init__(self, *args, **options)
def _logged_communicate(pipe, log, input):
if pipe.stdin:
if input is not None:
pipe.stdin.write(input)
pipe.stdin.close()
bufsize = 512
outdata, errdata = [], []
while pipe.poll() is None:
if pipe.stdout is not None:
data = pipe.stdout.read(bufsize)
if data is not None:
outdata.append(data)
log.write(data)
if pipe.stderr is not None:
data = pipe.stderr.read(bufsize)
if data is not None:
errdata.append(data)
log.write(data)
return ''.join(outdata), ''.join(errdata)
def run(cmd, input=None, log=None, **options):
"""Convenience function to run a command and return its output, raising an
exception when the command fails"""
if isinstance(cmd, basestring) and not "shell" in options:
options["shell"] = True
try:
pipe = Popen(cmd, **options)
except OSError, exc:
if exc.errno == 2:
raise NotFoundError(cmd)
else:
raise CmdError(cmd, exc)
if log:
stdout, stderr = _logged_communicate(pipe, log, input)
else:
stdout, stderr = pipe.communicate(input)
if pipe.returncode != 0:
raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
return stdout, stderr

View File

@@ -22,9 +22,12 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import re
import logging
from bb import data, utils
import bb
logger = logging.getLogger("BitBake.Provider")
class NoProvider(Exception):
"""Exception raised when no provider of a build dependency can be found"""
@@ -62,7 +65,7 @@ def sortPriorities(pn, dataCache, pkg_pn = None):
def preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
"""
Check if the version pe,pv,pr is the preferred one.
If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%'
If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%'
"""
if (pr == preferred_r or preferred_r == None):
if (pe == preferred_e or preferred_e == None):
@@ -103,7 +106,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
for file_set in pkg_pn:
for f in file_set:
pe,pv,pr = dataCache.pkg_pepvpr[f]
pe, pv, pr = dataCache.pkg_pepvpr[f]
if preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
preferred_file = f
preferred_ver = (pe, pv, pr)
@@ -120,9 +123,9 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
if item:
itemstr = " (for item %s)" % item
if preferred_file is None:
bb.msg.note(1, bb.msg.domain.Provider, "preferred version %s of %s not available%s" % (pv_str, pn, itemstr))
logger.info("preferred version %s of %s not available%s", pv_str, pn, itemstr)
else:
bb.msg.debug(1, bb.msg.domain.Provider, "selecting %s as PREFERRED_VERSION %s of package %s%s" % (preferred_file, pv_str, pn, itemstr))
logger.debug(1, "selecting %s as PREFERRED_VERSION %s of package %s%s", preferred_file, pv_str, pn, itemstr)
return (preferred_ver, preferred_file)
@@ -136,7 +139,7 @@ def findLatestProvider(pn, cfgData, dataCache, file_set):
latest_p = 0
latest_f = None
for file_name in file_set:
pe,pv,pr = dataCache.pkg_pepvpr[file_name]
pe, pv, pr = dataCache.pkg_pepvpr[file_name]
dp = dataCache.pkg_dp[file_name]
if (latest is None) or ((latest_p == dp) and (utils.vercmp(latest, (pe, pv, pr)) < 0)) or (dp > latest_p):
@@ -169,14 +172,14 @@ def findBestProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
def _filterProviders(providers, item, cfgData, dataCache):
"""
Take a list of providers and filter/reorder according to the
Take a list of providers and filter/reorder according to the
environment variables and previous build results
"""
eligible = []
preferred_versions = {}
sortpkg_pn = {}
# The order of providers depends on the order of the files on the disk
# The order of providers depends on the order of the files on the disk
# up to here. Sort pkg_pn to make dependency issues reproducible rather
# than effectively random.
providers.sort()
@@ -189,7 +192,7 @@ def _filterProviders(providers, item, cfgData, dataCache):
pkg_pn[pn] = []
pkg_pn[pn].append(p)
bb.msg.debug(1, bb.msg.domain.Provider, "providers for %s are: %s" % (item, pkg_pn.keys()))
logger.debug(1, "providers for %s are: %s", item, pkg_pn.keys())
# First add PREFERRED_VERSIONS
for pn in pkg_pn:
@@ -198,7 +201,7 @@ def _filterProviders(providers, item, cfgData, dataCache):
if preferred_versions[pn][1]:
eligible.append(preferred_versions[pn][1])
# Now add latest verisons
# Now add latest versions
for pn in sortpkg_pn:
if pn in preferred_versions and preferred_versions[pn][1]:
continue
@@ -206,7 +209,7 @@ def _filterProviders(providers, item, cfgData, dataCache):
eligible.append(preferred_versions[pn][1])
if len(eligible) == 0:
bb.msg.error(bb.msg.domain.Provider, "no eligible providers for %s" % item)
logger.error("no eligible providers for %s", item)
return 0
# If pn == item, give it a slight default preference
@@ -226,7 +229,7 @@ def _filterProviders(providers, item, cfgData, dataCache):
def filterProviders(providers, item, cfgData, dataCache):
"""
Take a list of providers and filter/reorder according to the
Take a list of providers and filter/reorder according to the
environment variables and previous build results
Takes a "normal" target item
"""
@@ -242,19 +245,19 @@ def filterProviders(providers, item, cfgData, dataCache):
for p in eligible:
pn = dataCache.pkg_fn[p]
if dataCache.preferred[item] == pn:
bb.msg.note(2, bb.msg.domain.Provider, "selecting %s to satisfy %s due to PREFERRED_PROVIDERS" % (pn, item))
logger.verbose("selecting %s to satisfy %s due to PREFERRED_PROVIDERS", pn, item)
eligible.remove(p)
eligible = [p] + eligible
foundUnique = True
break
bb.msg.debug(1, bb.msg.domain.Provider, "sorted providers for %s are: %s" % (item, eligible))
logger.debug(1, "sorted providers for %s are: %s", item, eligible)
return eligible, foundUnique
def filterProvidersRunTime(providers, item, cfgData, dataCache):
"""
Take a list of providers and filter/reorder according to the
Take a list of providers and filter/reorder according to the
environment variables and previous build results
Takes a "runtime" target item
"""
@@ -264,27 +267,31 @@ def filterProvidersRunTime(providers, item, cfgData, dataCache):
# Should use dataCache.preferred here?
preferred = []
preferred_vars = []
pns = {}
for p in eligible:
pns[dataCache.pkg_fn[p]] = p
for p in eligible:
pn = dataCache.pkg_fn[p]
provides = dataCache.pn_provides[pn]
for provide in provides:
bb.msg.note(2, bb.msg.domain.Provider, "checking PREFERRED_PROVIDER_%s" % (provide))
prefervar = bb.data.getVar('PREFERRED_PROVIDER_%s' % provide, cfgData, 1)
if prefervar == pn:
logger.verbose("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)
bb.msg.note(2, bb.msg.domain.Provider, "selecting %s to satisfy runtime %s due to %s" % (pn, item, var))
logger.verbose("selecting %s to satisfy runtime %s due to %s", prefervar, item, var)
preferred_vars.append(var)
eligible.remove(p)
eligible = [p] + eligible
preferred.append(p)
pref = pns[prefervar]
eligible.remove(pref)
eligible = [pref] + eligible
preferred.append(pref)
break
numberPreferred = len(preferred)
if numberPreferred > 1:
bb.msg.error(bb.msg.domain.Provider, "Conflicting PREFERRED_PROVIDER entries were found which resulted in an attempt to select multiple providers (%s) for runtime dependecy %s\nThe entries resulting in this conflict were: %s" % (preferred, item, preferred_vars))
logger.error("Trying to resolve runtime dependency %s resulted in conflicting PREFERRED_PROVIDER entries being found.\nThe providers found were: %s\nThe PREFERRED_PROVIDER entries resulting in this conflict were: %s", item, preferred, preferred_vars)
bb.msg.debug(1, bb.msg.domain.Provider, "sorted providers for %s are: %s" % (item, eligible))
logger.debug(1, "sorted providers for %s are: %s", item, eligible)
return eligible, numberPreferred
@@ -297,7 +304,7 @@ def getRuntimeProviders(dataCache, rdepend):
rproviders = []
if rdepend in dataCache.rproviders:
rproviders += dataCache.rproviders[rdepend]
rproviders += dataCache.rproviders[rdepend]
if rdepend in dataCache.packages:
rproviders += dataCache.packages[rdepend]
@@ -314,7 +321,7 @@ def getRuntimeProviders(dataCache, rdepend):
try:
regexp = re.compile(pattern)
except:
bb.msg.error(bb.msg.domain.Provider, "Error parsing re expression: %s" % pattern)
logger.error("Error parsing regular expression '%s'", pattern)
raise
regexp_cache[pattern] = regexp
if regexp.match(rdepend):

View File

@@ -0,0 +1,710 @@
# builtin.py - builtins and utilities definitions for pysh.
#
# Copyright 2007 Patrick Mezard
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
"""Builtin and internal utilities implementations.
- Beware not to use python interpreter environment as if it were the shell
environment. For instance, commands working directory must be explicitely handled
through env['PWD'] instead of relying on python working directory.
"""
import errno
import optparse
import os
import re
import subprocess
import sys
import time
def has_subprocess_bug():
return getattr(subprocess, 'list2cmdline') and \
( subprocess.list2cmdline(['']) == '' or \
subprocess.list2cmdline(['foo|bar']) == 'foo|bar')
# Detect python bug 1634343: "subprocess swallows empty arguments under win32"
# <http://sourceforge.net/tracker/index.php?func=detail&aid=1634343&group_id=5470&atid=105470>
# Also detect: "[ 1710802 ] subprocess must escape redirection characters under win32"
# <http://sourceforge.net/tracker/index.php?func=detail&aid=1710802&group_id=5470&atid=105470>
if has_subprocess_bug():
import subprocess_fix
subprocess.list2cmdline = subprocess_fix.list2cmdline
from sherrors import *
class NonExitingParser(optparse.OptionParser):
"""OptionParser default behaviour upon error is to print the error message and
exit. Raise a utility error instead.
"""
def error(self, msg):
raise UtilityError(msg)
#-------------------------------------------------------------------------------
# set special builtin
#-------------------------------------------------------------------------------
OPT_SET = NonExitingParser(usage="set - set or unset options and positional parameters")
OPT_SET.add_option( '-f', action='store_true', dest='has_f', default=False,
help='The shell shall disable pathname expansion.')
OPT_SET.add_option('-e', action='store_true', dest='has_e', default=False,
help="""When this option is on, if a simple command fails for any of the \
reasons listed in Consequences of Shell Errors or returns an exit status \
value >0, and is not part of the compound list following a while, until, \
or if keyword, and is not a part of an AND or OR list, and is not a \
pipeline preceded by the ! reserved word, then the shell shall immediately \
exit.""")
OPT_SET.add_option('-x', action='store_true', dest='has_x', default=False,
help="""The shell shall write to standard error a trace for each command \
after it expands the command and before it executes it. It is unspecified \
whether the command that turns tracing off is traced.""")
def builtin_set(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
option, args = OPT_SET.parse_args(args)
env = interp.get_env()
if option.has_f:
env.set_opt('-f')
if option.has_e:
env.set_opt('-e')
if option.has_x:
env.set_opt('-x')
return 0
#-------------------------------------------------------------------------------
# shift special builtin
#-------------------------------------------------------------------------------
def builtin_shift(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
params = interp.get_env().get_positional_args()
if args:
try:
n = int(args[0])
if n > len(params):
raise ValueError()
except ValueError:
return 1
else:
n = 1
params[:n] = []
interp.get_env().set_positional_args(params)
return 0
#-------------------------------------------------------------------------------
# export special builtin
#-------------------------------------------------------------------------------
OPT_EXPORT = NonExitingParser(usage="set - set or unset options and positional parameters")
OPT_EXPORT.add_option('-p', action='store_true', dest='has_p', default=False)
def builtin_export(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
option, args = OPT_EXPORT.parse_args(args)
if option.has_p:
raise NotImplementedError()
for arg in args:
try:
name, value = arg.split('=', 1)
except ValueError:
name, value = arg, None
env = interp.get_env().export(name, value)
return 0
#-------------------------------------------------------------------------------
# return special builtin
#-------------------------------------------------------------------------------
def builtin_return(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
res = 0
if args:
try:
res = int(args[0])
except ValueError:
res = 0
if not 0<=res<=255:
res = 0
# BUG: should be last executed command exit code
raise ReturnSignal(res)
#-------------------------------------------------------------------------------
# trap special builtin
#-------------------------------------------------------------------------------
def builtin_trap(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
if len(args) < 2:
stderr.write('trap: usage: trap [[arg] signal_spec ...]\n')
return 2
action = args[0]
for sig in args[1:]:
try:
env.traps[sig] = action
except Exception, e:
stderr.write('trap: %s\n' % str(e))
return 0
#-------------------------------------------------------------------------------
# unset special builtin
#-------------------------------------------------------------------------------
OPT_UNSET = NonExitingParser("unset - unset values and attributes of variables and functions")
OPT_UNSET.add_option( '-f', action='store_true', dest='has_f', default=False)
OPT_UNSET.add_option( '-v', action='store_true', dest='has_v', default=False)
def builtin_unset(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
option, args = OPT_UNSET.parse_args(args)
status = 0
env = interp.get_env()
for arg in args:
try:
if option.has_f:
env.remove_function(arg)
else:
del env[arg]
except KeyError:
pass
except VarAssignmentError:
status = 1
return status
#-------------------------------------------------------------------------------
# wait special builtin
#-------------------------------------------------------------------------------
def builtin_wait(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
return interp.wait([int(arg) for arg in args])
#-------------------------------------------------------------------------------
# cat utility
#-------------------------------------------------------------------------------
def utility_cat(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
if not args:
args = ['-']
status = 0
for arg in args:
if arg == '-':
data = stdin.read()
else:
path = os.path.join(env['PWD'], arg)
try:
f = file(path, 'rb')
try:
data = f.read()
finally:
f.close()
except IOError, e:
if e.errno != errno.ENOENT:
raise
status = 1
continue
stdout.write(data)
stdout.flush()
return status
#-------------------------------------------------------------------------------
# cd utility
#-------------------------------------------------------------------------------
OPT_CD = NonExitingParser("cd - change the working directory")
def utility_cd(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
option, args = OPT_CD.parse_args(args)
env = interp.get_env()
directory = None
printdir = False
if not args:
home = env.get('HOME')
if home:
# Unspecified, do nothing
return 0
else:
directory = home
elif len(args)==1:
directory = args[0]
if directory=='-':
if 'OLDPWD' not in env:
raise UtilityError("OLDPWD not set")
printdir = True
directory = env['OLDPWD']
else:
raise UtilityError("too many arguments")
curpath = None
# Absolute directories will be handled correctly by the os.path.join call.
if not directory.startswith('.') and not directory.startswith('..'):
cdpaths = env.get('CDPATH', '.').split(';')
for cdpath in cdpaths:
p = os.path.join(cdpath, directory)
if os.path.isdir(p):
curpath = p
break
if curpath is None:
curpath = directory
curpath = os.path.join(env['PWD'], directory)
env['OLDPWD'] = env['PWD']
env['PWD'] = curpath
if printdir:
stdout.write('%s\n' % curpath)
return 0
#-------------------------------------------------------------------------------
# colon utility
#-------------------------------------------------------------------------------
def utility_colon(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
return 0
#-------------------------------------------------------------------------------
# echo utility
#-------------------------------------------------------------------------------
def utility_echo(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
# Echo only takes arguments, no options. Use printf if you need fancy stuff.
output = ' '.join(args) + '\n'
stdout.write(output)
stdout.flush()
return 0
#-------------------------------------------------------------------------------
# egrep utility
#-------------------------------------------------------------------------------
# egrep is usually a shell script.
# Unfortunately, pysh does not support shell scripts *with arguments* right now,
# so the redirection is implemented here, assuming grep is available.
def utility_egrep(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
return run_command('grep', ['-E'] + args, interp, env, stdin, stdout,
stderr, debugflags)
#-------------------------------------------------------------------------------
# env utility
#-------------------------------------------------------------------------------
def utility_env(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
if args and args[0]=='-i':
raise NotImplementedError('env: -i option is not implemented')
i = 0
for arg in args:
if '=' not in arg:
break
# Update the current environment
name, value = arg.split('=', 1)
env[name] = value
i += 1
if args[i:]:
# Find then execute the specified interpreter
utility = env.find_in_path(args[i])
if not utility:
return 127
args[i:i+1] = utility
name = args[i]
args = args[i+1:]
try:
return run_command(name, args, interp, env, stdin, stdout, stderr,
debugflags)
except UtilityError:
stderr.write('env: failed to execute %s' % ' '.join([name]+args))
return 126
else:
for pair in env.get_variables().iteritems():
stdout.write('%s=%s\n' % pair)
return 0
#-------------------------------------------------------------------------------
# exit utility
#-------------------------------------------------------------------------------
def utility_exit(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
res = None
if args:
try:
res = int(args[0])
except ValueError:
res = None
if not 0<=res<=255:
res = None
if res is None:
# BUG: should be last executed command exit code
res = 0
raise ExitSignal(res)
#-------------------------------------------------------------------------------
# fgrep utility
#-------------------------------------------------------------------------------
# see egrep
def utility_fgrep(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
return run_command('grep', ['-F'] + args, interp, env, stdin, stdout,
stderr, debugflags)
#-------------------------------------------------------------------------------
# gunzip utility
#-------------------------------------------------------------------------------
# see egrep
def utility_gunzip(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
return run_command('gzip', ['-d'] + args, interp, env, stdin, stdout,
stderr, debugflags)
#-------------------------------------------------------------------------------
# kill utility
#-------------------------------------------------------------------------------
def utility_kill(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
for arg in args:
pid = int(arg)
status = subprocess.call(['pskill', '/T', str(pid)],
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
# pskill is asynchronous, hence the stupid polling loop
while 1:
p = subprocess.Popen(['pslist', str(pid)],
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
output = p.communicate()[0]
if ('process %d was not' % pid) in output:
break
time.sleep(1)
return status
#-------------------------------------------------------------------------------
# mkdir utility
#-------------------------------------------------------------------------------
OPT_MKDIR = NonExitingParser("mkdir - make directories.")
OPT_MKDIR.add_option('-p', action='store_true', dest='has_p', default=False)
def utility_mkdir(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
# TODO: implement umask
# TODO: implement proper utility error report
option, args = OPT_MKDIR.parse_args(args)
for arg in args:
path = os.path.join(env['PWD'], arg)
if option.has_p:
try:
os.makedirs(path)
except IOError, e:
if e.errno != errno.EEXIST:
raise
else:
os.mkdir(path)
return 0
#-------------------------------------------------------------------------------
# netstat utility
#-------------------------------------------------------------------------------
def utility_netstat(name, args, interp, env, stdin, stdout, stderr, debugflags):
# Do you really expect me to implement netstat ?
# This empty form is enough for Mercurial tests since it's
# supposed to generate nothing upon success. Faking this test
# is not a big deal either.
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
return 0
#-------------------------------------------------------------------------------
# pwd utility
#-------------------------------------------------------------------------------
OPT_PWD = NonExitingParser("pwd - return working directory name")
OPT_PWD.add_option('-L', action='store_true', dest='has_L', default=True,
help="""If the PWD environment variable contains an absolute pathname of \
the current directory that does not contain the filenames dot or dot-dot, \
pwd shall write this pathname to standard output. Otherwise, the -L option \
shall behave as the -P option.""")
OPT_PWD.add_option('-P', action='store_true', dest='has_L', default=False,
help="""The absolute pathname written shall not contain filenames that, in \
the context of the pathname, refer to files of type symbolic link.""")
def utility_pwd(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
option, args = OPT_PWD.parse_args(args)
stdout.write('%s\n' % env['PWD'])
return 0
#-------------------------------------------------------------------------------
# printf utility
#-------------------------------------------------------------------------------
RE_UNESCAPE = re.compile(r'(\\x[a-zA-Z0-9]{2}|\\[0-7]{1,3}|\\.)')
def utility_printf(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
def replace(m):
assert m.group()
g = m.group()[1:]
if g.startswith('x'):
return chr(int(g[1:], 16))
if len(g) <= 3 and len([c for c in g if c in '01234567']) == len(g):
# Yay, an octal number
return chr(int(g, 8))
return {
'a': '\a',
'b': '\b',
'f': '\f',
'n': '\n',
'r': '\r',
't': '\t',
'v': '\v',
'\\': '\\',
}.get(g)
# Convert escape sequences
format = re.sub(RE_UNESCAPE, replace, args[0])
stdout.write(format % tuple(args[1:]))
return 0
#-------------------------------------------------------------------------------
# true utility
#-------------------------------------------------------------------------------
def utility_true(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
return 0
#-------------------------------------------------------------------------------
# sed utility
#-------------------------------------------------------------------------------
RE_SED = re.compile(r'^s(.).*\1[a-zA-Z]*$')
# cygwin sed fails with some expressions when they do not end with a single space.
# see unit tests for details. Interestingly, the same expressions works perfectly
# in cygwin shell.
def utility_sed(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
# Scan pattern arguments and append a space if necessary
for i in xrange(len(args)):
if not RE_SED.search(args[i]):
continue
args[i] = args[i] + ' '
return run_command(name, args, interp, env, stdin, stdout,
stderr, debugflags)
#-------------------------------------------------------------------------------
# sleep utility
#-------------------------------------------------------------------------------
def utility_sleep(name, args, interp, env, stdin, stdout, stderr, debugflags):
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
time.sleep(int(args[0]))
return 0
#-------------------------------------------------------------------------------
# sort utility
#-------------------------------------------------------------------------------
OPT_SORT = NonExitingParser("sort - sort, merge, or sequence check text files")
def utility_sort(name, args, interp, env, stdin, stdout, stderr, debugflags):
def sort(path):
if path == '-':
lines = stdin.readlines()
else:
try:
f = file(path)
try:
lines = f.readlines()
finally:
f.close()
except IOError, e:
stderr.write(str(e) + '\n')
return 1
if lines and lines[-1][-1]!='\n':
lines[-1] = lines[-1] + '\n'
return lines
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
option, args = OPT_SORT.parse_args(args)
alllines = []
if len(args)<=0:
args += ['-']
# Load all files lines
curdir = os.getcwd()
try:
os.chdir(env['PWD'])
for path in args:
alllines += sort(path)
finally:
os.chdir(curdir)
alllines.sort()
for line in alllines:
stdout.write(line)
return 0
#-------------------------------------------------------------------------------
# hg utility
#-------------------------------------------------------------------------------
hgcommands = [
'add',
'addremove',
'commit', 'ci',
'debugrename',
'debugwalk',
'falabala', # Dummy command used in a mercurial test
'incoming',
'locate',
'pull',
'push',
'qinit',
'remove', 'rm',
'rename', 'mv',
'revert',
'showconfig',
'status', 'st',
'strip',
]
def rewriteslashes(name, args):
# Several hg commands output file paths, rewrite the separators
if len(args) > 1 and name.lower().endswith('python') \
and args[0].endswith('hg'):
for cmd in hgcommands:
if cmd in args[1:]:
return True
# svn output contains many paths with OS specific separators.
# Normalize these to unix paths.
base = os.path.basename(name)
if base.startswith('svn'):
return True
return False
def rewritehg(output):
if not output:
return output
# Rewrite os specific messages
output = output.replace(': The system cannot find the file specified',
': No such file or directory')
output = re.sub(': Access is denied.*$', ': Permission denied', output)
output = output.replace(': No connection could be made because the target machine actively refused it',
': Connection refused')
return output
def run_command(name, args, interp, env, stdin, stdout,
stderr, debugflags):
# Execute the command
if 'debug-utility' in debugflags:
print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
hgbin = interp.options().hgbinary
ishg = hgbin and ('hg' in name or args and 'hg' in args[0])
unixoutput = 'cygwin' in name or ishg
exec_env = env.get_variables()
try:
# BUG: comparing file descriptor is clearly not a reliable way to tell
# whether they point on the same underlying object. But in pysh limited
# scope this is usually right, we do not expect complicated redirections
# besides usual 2>&1.
# Still there is one case we have but cannot deal with is when stdout
# and stderr are redirected *by pysh caller*. This the reason for the
# --redirect pysh() option.
# Now, we want to know they are the same because we sometimes need to
# transform the command output, mostly remove CR-LF to ensure that
# command output is unix-like. Cygwin utilies are a special case because
# they explicitely set their output streams to binary mode, so we have
# nothing to do. For all others commands, we have to guess whether they
# are sending text data, in which case the transformation must be done.
# Again, the NUL character test is unreliable but should be enough for
# hg tests.
redirected = stdout.fileno()==stderr.fileno()
if not redirected:
p = subprocess.Popen([name] + args, cwd=env['PWD'], env=exec_env,
stdin=stdin, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
else:
p = subprocess.Popen([name] + args, cwd=env['PWD'], env=exec_env,
stdin=stdin, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
out, err = p.communicate()
except WindowsError, e:
raise UtilityError(str(e))
if not unixoutput:
def encode(s):
if '\0' in s:
return s
return s.replace('\r\n', '\n')
else:
encode = lambda s: s
if rewriteslashes(name, args):
encode1_ = encode
def encode(s):
s = encode1_(s)
s = s.replace('\\\\', '\\')
s = s.replace('\\', '/')
return s
if ishg:
encode2_ = encode
def encode(s):
return rewritehg(encode2_(s))
stdout.write(encode(out))
if not redirected:
stderr.write(encode(err))
return p.returncode

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,116 @@
#! /usr/bin/env python
import sys
from _lsprof import Profiler, profiler_entry
__all__ = ['profile', 'Stats']
def profile(f, *args, **kwds):
"""XXX docstring"""
p = Profiler()
p.enable(subcalls=True, builtins=True)
try:
f(*args, **kwds)
finally:
p.disable()
return Stats(p.getstats())
class Stats(object):
"""XXX docstring"""
def __init__(self, data):
self.data = data
def sort(self, crit="inlinetime"):
"""XXX docstring"""
if crit not in profiler_entry.__dict__:
raise ValueError("Can't sort by %s" % crit)
self.data.sort(lambda b, a: cmp(getattr(a, crit),
getattr(b, crit)))
for e in self.data:
if e.calls:
e.calls.sort(lambda b, a: cmp(getattr(a, crit),
getattr(b, crit)))
def pprint(self, top=None, file=None, limit=None, climit=None):
"""XXX docstring"""
if file is None:
file = sys.stdout
d = self.data
if top is not None:
d = d[:top]
cols = "% 12s %12s %11.4f %11.4f %s\n"
hcols = "% 12s %12s %12s %12s %s\n"
cols2 = "+%12s %12s %11.4f %11.4f + %s\n"
file.write(hcols % ("CallCount", "Recursive", "Total(ms)",
"Inline(ms)", "module:lineno(function)"))
count = 0
for e in d:
file.write(cols % (e.callcount, e.reccallcount, e.totaltime,
e.inlinetime, label(e.code)))
count += 1
if limit is not None and count == limit:
return
ccount = 0
if e.calls:
for se in e.calls:
file.write(cols % ("+%s" % se.callcount, se.reccallcount,
se.totaltime, se.inlinetime,
"+%s" % label(se.code)))
count += 1
ccount += 1
if limit is not None and count == limit:
return
if climit is not None and ccount == climit:
break
def freeze(self):
"""Replace all references to code objects with string
descriptions; this makes it possible to pickle the instance."""
# this code is probably rather ickier than it needs to be!
for i in range(len(self.data)):
e = self.data[i]
if not isinstance(e.code, str):
self.data[i] = type(e)((label(e.code),) + e[1:])
if e.calls:
for j in range(len(e.calls)):
se = e.calls[j]
if not isinstance(se.code, str):
e.calls[j] = type(se)((label(se.code),) + se[1:])
_fn2mod = {}
def label(code):
if isinstance(code, str):
return code
try:
mname = _fn2mod[code.co_filename]
except KeyError:
for k, v in sys.modules.items():
if v is None:
continue
if not hasattr(v, '__file__'):
continue
if not isinstance(v.__file__, str):
continue
if v.__file__.startswith(code.co_filename):
mname = _fn2mod[code.co_filename] = k
break
else:
mname = _fn2mod[code.co_filename] = '<%s>'%code.co_filename
return '%s:%d(%s)' % (mname, code.co_firstlineno, code.co_name)
if __name__ == '__main__':
import os
sys.argv = sys.argv[1:]
if not sys.argv:
print >> sys.stderr, "usage: lsprof.py <script> <arguments...>"
sys.exit(2)
sys.path.insert(0, os.path.abspath(os.path.dirname(sys.argv[0])))
stats = profile(execfile, sys.argv[0], globals(), locals())
stats.sort()
stats.pprint()

167
bitbake/lib/bb/pysh/pysh.py Normal file
View File

@@ -0,0 +1,167 @@
# pysh.py - command processing for pysh.
#
# Copyright 2007 Patrick Mezard
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
import optparse
import os
import sys
import interp
SH_OPT = optparse.OptionParser(prog='pysh', usage="%prog [OPTIONS]", version='0.1')
SH_OPT.add_option('-c', action='store_true', dest='command_string', default=None,
help='A string that shall be interpreted by the shell as one or more commands')
SH_OPT.add_option('--redirect-to', dest='redirect_to', default=None,
help='Redirect script commands stdout and stderr to the specified file')
# See utility_command in builtin.py about the reason for this flag.
SH_OPT.add_option('--redirected', dest='redirected', action='store_true', default=False,
help='Tell the interpreter that stdout and stderr are actually the same objects, which is really stdout')
SH_OPT.add_option('--debug-parsing', action='store_true', dest='debug_parsing', default=False,
help='Trace PLY execution')
SH_OPT.add_option('--debug-tree', action='store_true', dest='debug_tree', default=False,
help='Display the generated syntax tree.')
SH_OPT.add_option('--debug-cmd', action='store_true', dest='debug_cmd', default=False,
help='Trace command execution before parameters expansion and exit status.')
SH_OPT.add_option('--debug-utility', action='store_true', dest='debug_utility', default=False,
help='Trace utility calls, after parameters expansions')
SH_OPT.add_option('--ast', action='store_true', dest='ast', default=False,
help='Encoded commands to execute in a subprocess')
SH_OPT.add_option('--profile', action='store_true', default=False,
help='Profile pysh run')
def split_args(args):
# Separate shell arguments from command ones
# Just stop at the first argument not starting with a dash. I know, this is completely broken,
# it ignores files starting with a dash or may take option values for command file. This is not
# supposed to happen for now
command_index = len(args)
for i,arg in enumerate(args):
if not arg.startswith('-'):
command_index = i
break
return args[:command_index], args[command_index:]
def fixenv(env):
path = env.get('PATH')
if path is not None:
parts = path.split(os.pathsep)
# Remove Windows utilities from PATH, they are useless at best and
# some of them (find) may be confused with other utilities.
parts = [p for p in parts if 'system32' not in p.lower()]
env['PATH'] = os.pathsep.join(parts)
if env.get('HOME') is None:
# Several utilities, including cvsps, cannot work without
# a defined HOME directory.
env['HOME'] = os.path.expanduser('~')
return env
def _sh(cwd, shargs, cmdargs, options, debugflags=None, env=None):
if os.environ.get('PYSH_TEXT') != '1':
import msvcrt
for fp in (sys.stdin, sys.stdout, sys.stderr):
msvcrt.setmode(fp.fileno(), os.O_BINARY)
hgbin = os.environ.get('PYSH_HGTEXT') != '1'
if debugflags is None:
debugflags = []
if options.debug_parsing: debugflags.append('debug-parsing')
if options.debug_utility: debugflags.append('debug-utility')
if options.debug_cmd: debugflags.append('debug-cmd')
if options.debug_tree: debugflags.append('debug-tree')
if env is None:
env = fixenv(dict(os.environ))
if cwd is None:
cwd = os.getcwd()
if not cmdargs:
# Nothing to do
return 0
ast = None
command_file = None
if options.command_string:
input = cmdargs[0]
if not options.ast:
input += '\n'
else:
args, input = interp.decodeargs(input), None
env, ast = args
cwd = env.get('PWD', cwd)
else:
command_file = cmdargs[0]
arguments = cmdargs[1:]
prefix = interp.resolve_shebang(command_file, ignoreshell=True)
if prefix:
input = ' '.join(prefix + [command_file] + arguments)
else:
# Read commands from file
f = file(command_file)
try:
# Trailing newline to help the parser
input = f.read() + '\n'
finally:
f.close()
redirect = None
try:
if options.redirected:
stdout = sys.stdout
stderr = stdout
elif options.redirect_to:
redirect = open(options.redirect_to, 'wb')
stdout = redirect
stderr = redirect
else:
stdout = sys.stdout
stderr = sys.stderr
# TODO: set arguments to environment variables
opts = interp.Options()
opts.hgbinary = hgbin
ip = interp.Interpreter(cwd, debugflags, stdout=stdout, stderr=stderr,
opts=opts)
try:
# Export given environment in shell object
for k,v in env.iteritems():
ip.get_env().export(k,v)
return ip.execute_script(input, ast, scriptpath=command_file)
finally:
ip.close()
finally:
if redirect is not None:
redirect.close()
def sh(cwd=None, args=None, debugflags=None, env=None):
if args is None:
args = sys.argv[1:]
shargs, cmdargs = split_args(args)
options, shargs = SH_OPT.parse_args(shargs)
if options.profile:
import lsprof
p = lsprof.Profiler()
p.enable(subcalls=True)
try:
return _sh(cwd, shargs, cmdargs, options, debugflags, env)
finally:
p.disable()
stats = lsprof.Stats(p.getstats())
stats.sort()
stats.pprint(top=10, file=sys.stderr, climit=5)
else:
return _sh(cwd, shargs, cmdargs, options, debugflags, env)
def main():
sys.exit(sh())
if __name__=='__main__':
main()

View File

@@ -0,0 +1,888 @@
# pyshlex.py - PLY compatible lexer for pysh.
#
# Copyright 2007 Patrick Mezard
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
# TODO:
# - review all "char in 'abc'" snippets: the empty string can be matched
# - test line continuations within quoted/expansion strings
# - eof is buggy wrt sublexers
# - the lexer cannot really work in pull mode as it would be required to run
# PLY in pull mode. It was designed to work incrementally and it would not be
# that hard to enable pull mode.
import re
try:
s = set()
del s
except NameError:
from Set import Set as set
from ply import lex
from sherrors import *
class NeedMore(Exception):
pass
def is_blank(c):
return c in (' ', '\t')
_RE_DIGITS = re.compile(r'^\d+$')
def are_digits(s):
return _RE_DIGITS.search(s) is not None
_OPERATORS = dict([
('&&', 'AND_IF'),
('||', 'OR_IF'),
(';;', 'DSEMI'),
('<<', 'DLESS'),
('>>', 'DGREAT'),
('<&', 'LESSAND'),
('>&', 'GREATAND'),
('<>', 'LESSGREAT'),
('<<-', 'DLESSDASH'),
('>|', 'CLOBBER'),
('&', 'AMP'),
(';', 'COMMA'),
('<', 'LESS'),
('>', 'GREATER'),
('(', 'LPARENS'),
(')', 'RPARENS'),
])
#Make a function to silence pychecker "Local variable shadows global"
def make_partial_ops():
partials = {}
for k in _OPERATORS:
for i in range(1, len(k)+1):
partials[k[:i]] = None
return partials
_PARTIAL_OPERATORS = make_partial_ops()
def is_partial_op(s):
"""Return True if s matches a non-empty subpart of an operator starting
at its first character.
"""
return s in _PARTIAL_OPERATORS
def is_op(s):
"""If s matches an operator, returns the operator identifier. Return None
otherwise.
"""
return _OPERATORS.get(s)
_RESERVEDS = dict([
('if', 'If'),
('then', 'Then'),
('else', 'Else'),
('elif', 'Elif'),
('fi', 'Fi'),
('do', 'Do'),
('done', 'Done'),
('case', 'Case'),
('esac', 'Esac'),
('while', 'While'),
('until', 'Until'),
('for', 'For'),
('{', 'Lbrace'),
('}', 'Rbrace'),
('!', 'Bang'),
('in', 'In'),
('|', 'PIPE'),
])
def get_reserved(s):
return _RESERVEDS.get(s)
_RE_NAME = re.compile(r'^[0-9a-zA-Z_]+$')
def is_name(s):
return _RE_NAME.search(s) is not None
def find_chars(seq, chars):
for i,v in enumerate(seq):
if v in chars:
return i,v
return -1, None
class WordLexer:
"""WordLexer parse quoted or expansion expressions and return an expression
tree. The input string can be any well formed sequence beginning with quoting
or expansion character. Embedded expressions are handled recursively. The
resulting tree is made of lists and strings. Lists represent quoted or
expansion expressions. Each list first element is the opening separator,
the last one the closing separator. In-between can be any number of strings
or lists for sub-expressions. Non quoted/expansion expression can written as
strings or as lists with empty strings as starting and ending delimiters.
"""
NAME_CHARSET = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'
NAME_CHARSET = dict(zip(NAME_CHARSET, NAME_CHARSET))
SPECIAL_CHARSET = '@*#?-$!0'
#Characters which can be escaped depends on the current delimiters
ESCAPABLE = {
'`': set(['$', '\\', '`']),
'"': set(['$', '\\', '`', '"']),
"'": set(),
}
def __init__(self, heredoc = False):
# _buffer is the unprocessed input characters buffer
self._buffer = []
# _stack is empty or contains a quoted list being processed
# (this is the DFS path to the quoted expression being evaluated).
self._stack = []
self._escapable = None
# True when parsing unquoted here documents
self._heredoc = heredoc
def add(self, data, eof=False):
"""Feed the lexer with more data. If the quoted expression can be
delimited, return a tuple (expr, remaining) containing the expression
tree and the unconsumed data.
Otherwise, raise NeedMore.
"""
self._buffer += list(data)
self._parse(eof)
result = self._stack[0]
remaining = ''.join(self._buffer)
self._stack = []
self._buffer = []
return result, remaining
def _is_escapable(self, c, delim=None):
if delim is None:
if self._heredoc:
# Backslashes works as if they were double quoted in unquoted
# here-documents
delim = '"'
else:
if len(self._stack)<=1:
return True
delim = self._stack[-2][0]
escapables = self.ESCAPABLE.get(delim, None)
return escapables is None or c in escapables
def _parse_squote(self, buf, result, eof):
if not buf:
raise NeedMore()
try:
pos = buf.index("'")
except ValueError:
raise NeedMore()
result[-1] += ''.join(buf[:pos])
result += ["'"]
return pos+1, True
def _parse_bquote(self, buf, result, eof):
if not buf:
raise NeedMore()
if buf[0]=='\n':
#Remove line continuations
result[:] = ['', '', '']
elif self._is_escapable(buf[0]):
result[-1] += buf[0]
result += ['']
else:
#Keep as such
result[:] = ['', '\\'+buf[0], '']
return 1, True
def _parse_dquote(self, buf, result, eof):
if not buf:
raise NeedMore()
pos, sep = find_chars(buf, '$\\`"')
if pos==-1:
raise NeedMore()
result[-1] += ''.join(buf[:pos])
if sep=='"':
result += ['"']
return pos+1, True
else:
#Keep everything until the separator and defer processing
return pos, False
def _parse_command(self, buf, result, eof):
if not buf:
raise NeedMore()
chars = '$\\`"\''
if result[0] == '$(':
chars += ')'
pos, sep = find_chars(buf, chars)
if pos == -1:
raise NeedMore()
result[-1] += ''.join(buf[:pos])
if (result[0]=='$(' and sep==')') or (result[0]=='`' and sep=='`'):
result += [sep]
return pos+1, True
else:
return pos, False
def _parse_parameter(self, buf, result, eof):
if not buf:
raise NeedMore()
pos, sep = find_chars(buf, '$\\`"\'}')
if pos==-1:
raise NeedMore()
result[-1] += ''.join(buf[:pos])
if sep=='}':
result += [sep]
return pos+1, True
else:
return pos, False
def _parse_dollar(self, buf, result, eof):
sep = result[0]
if sep=='$':
if not buf:
#TODO: handle empty $
raise NeedMore()
if buf[0]=='(':
if len(buf)==1:
raise NeedMore()
if buf[1]=='(':
result[0] = '$(('
buf[:2] = []
else:
result[0] = '$('
buf[:1] = []
elif buf[0]=='{':
result[0] = '${'
buf[:1] = []
else:
if buf[0] in self.SPECIAL_CHARSET:
result[-1] = buf[0]
read = 1
else:
for read,c in enumerate(buf):
if c not in self.NAME_CHARSET:
break
else:
if not eof:
raise NeedMore()
read += 1
result[-1] += ''.join(buf[0:read])
if not result[-1]:
result[:] = ['', result[0], '']
else:
result += ['']
return read,True
sep = result[0]
if sep=='$(':
parsefunc = self._parse_command
elif sep=='${':
parsefunc = self._parse_parameter
else:
raise NotImplementedError()
pos, closed = parsefunc(buf, result, eof)
return pos, closed
def _parse(self, eof):
buf = self._buffer
stack = self._stack
recurse = False
while 1:
if not stack or recurse:
if not buf:
raise NeedMore()
if buf[0] not in ('"\\`$\''):
raise ShellSyntaxError('Invalid quoted string sequence')
stack.append([buf[0], ''])
buf[:1] = []
recurse = False
result = stack[-1]
if result[0]=="'":
parsefunc = self._parse_squote
elif result[0]=='\\':
parsefunc = self._parse_bquote
elif result[0]=='"':
parsefunc = self._parse_dquote
elif result[0]=='`':
parsefunc = self._parse_command
elif result[0][0]=='$':
parsefunc = self._parse_dollar
else:
raise NotImplementedError()
read, closed = parsefunc(buf, result, eof)
buf[:read] = []
if closed:
if len(stack)>1:
#Merge in parent expression
parsed = stack.pop()
stack[-1] += [parsed]
stack[-1] += ['']
else:
break
else:
recurse = True
def normalize_wordtree(wtree):
"""Fold back every literal sequence (delimited with empty strings) into
parent sequence.
"""
def normalize(wtree):
result = []
for part in wtree[1:-1]:
if isinstance(part, list):
part = normalize(part)
if part[0]=='':
#Move the part content back at current level
result += part[1:-1]
continue
elif not part:
#Remove empty strings
continue
result.append(part)
if not result:
result = ['']
return [wtree[0]] + result + [wtree[-1]]
return normalize(wtree)
def make_wordtree(token, here_document=False):
"""Parse a delimited token and return a tree similar to the ones returned by
WordLexer. token may contain any combinations of expansion/quoted fields and
non-ones.
"""
tree = ['']
remaining = token
delimiters = '\\$`'
if not here_document:
delimiters += '\'"'
while 1:
pos, sep = find_chars(remaining, delimiters)
if pos==-1:
tree += [remaining, '']
return normalize_wordtree(tree)
tree.append(remaining[:pos])
remaining = remaining[pos:]
try:
result, remaining = WordLexer(heredoc = here_document).add(remaining, True)
except NeedMore:
raise ShellSyntaxError('Invalid token "%s"')
tree.append(result)
def wordtree_as_string(wtree):
"""Rewrite an expression tree generated by make_wordtree as string."""
def visit(node, output):
for child in node:
if isinstance(child, list):
visit(child, output)
else:
output.append(child)
output = []
visit(wtree, output)
return ''.join(output)
def unquote_wordtree(wtree):
"""Fold the word tree while removing quotes everywhere. Other expansion
sequences are joined as such.
"""
def unquote(wtree):
unquoted = []
if wtree[0] in ('', "'", '"', '\\'):
wtree = wtree[1:-1]
for part in wtree:
if isinstance(part, list):
part = unquote(part)
unquoted.append(part)
return ''.join(unquoted)
return unquote(wtree)
class HereDocLexer:
"""HereDocLexer delimits whatever comes from the here-document starting newline
not included to the closing delimiter line included.
"""
def __init__(self, op, delim):
assert op in ('<<', '<<-')
if not delim:
raise ShellSyntaxError('invalid here document delimiter %s' % str(delim))
self._op = op
self._delim = delim
self._buffer = []
self._token = []
def add(self, data, eof):
"""If the here-document was delimited, return a tuple (content, remaining).
Raise NeedMore() otherwise.
"""
self._buffer += list(data)
self._parse(eof)
token = ''.join(self._token)
remaining = ''.join(self._buffer)
self._token, self._remaining = [], []
return token, remaining
def _parse(self, eof):
while 1:
#Look for first unescaped newline. Quotes may be ignored
escaped = False
for i,c in enumerate(self._buffer):
if escaped:
escaped = False
elif c=='\\':
escaped = True
elif c=='\n':
break
else:
i = -1
if i==-1 or self._buffer[i]!='\n':
if not eof:
raise NeedMore()
#No more data, maybe the last line is closing delimiter
line = ''.join(self._buffer)
eol = ''
self._buffer[:] = []
else:
line = ''.join(self._buffer[:i])
eol = self._buffer[i]
self._buffer[:i+1] = []
if self._op=='<<-':
line = line.lstrip('\t')
if line==self._delim:
break
self._token += [line, eol]
if i==-1:
break
class Token:
#TODO: check this is still in use
OPERATOR = 'OPERATOR'
WORD = 'WORD'
def __init__(self):
self.value = ''
self.type = None
def __getitem__(self, key):
#Behave like a two elements tuple
if key==0:
return self.type
if key==1:
return self.value
raise IndexError(key)
class HereDoc:
def __init__(self, op, name=None):
self.op = op
self.name = name
self.pendings = []
TK_COMMA = 'COMMA'
TK_AMPERSAND = 'AMP'
TK_OP = 'OP'
TK_TOKEN = 'TOKEN'
TK_COMMENT = 'COMMENT'
TK_NEWLINE = 'NEWLINE'
TK_IONUMBER = 'IO_NUMBER'
TK_ASSIGNMENT = 'ASSIGNMENT_WORD'
TK_HERENAME = 'HERENAME'
class Lexer:
"""Main lexer.
Call add() until the script AST is returned.
"""
# Here-document handling makes the whole thing more complex because they basically
# force tokens to be reordered: here-content must come right after the operator
# and the here-document name, while some other tokens might be following the
# here-document expression on the same line.
#
# So, here-doc states are basically:
# *self._state==ST_NORMAL
# - self._heredoc.op is None: no here-document
# - self._heredoc.op is not None but name is: here-document operator matched,
# waiting for the document name/delimiter
# - self._heredoc.op and name are not None: here-document is ready, following
# tokens are being stored and will be pushed again when the document is
# completely parsed.
# *self._state==ST_HEREDOC
# - The here-document is being delimited by self._herelexer. Once it is done
# the content is pushed in front of the pending token list then all these
# tokens are pushed once again.
ST_NORMAL = 'ST_NORMAL'
ST_OP = 'ST_OP'
ST_BACKSLASH = 'ST_BACKSLASH'
ST_QUOTED = 'ST_QUOTED'
ST_COMMENT = 'ST_COMMENT'
ST_HEREDOC = 'ST_HEREDOC'
#Match end of backquote strings
RE_BACKQUOTE_END = re.compile(r'(?<!\\)(`)')
def __init__(self, parent_state = None):
self._input = []
self._pos = 0
self._token = ''
self._type = TK_TOKEN
self._state = self.ST_NORMAL
self._parent_state = parent_state
self._wordlexer = None
self._heredoc = HereDoc(None)
self._herelexer = None
### Following attributes are not used for delimiting token and can safely
### be changed after here-document detection (see _push_toke)
# Count the number of tokens following a 'For' reserved word. Needed to
# return an 'In' reserved word if it comes in third place.
self._for_count = None
def add(self, data, eof=False):
"""Feed the lexer with data.
When eof is set to True, returns unconsumed data or raise if the lexer
is in the middle of a delimiting operation.
Raise NeedMore otherwise.
"""
self._input += list(data)
self._parse(eof)
self._input[:self._pos] = []
return ''.join(self._input)
def _parse(self, eof):
while self._state:
if self._pos>=len(self._input):
if not eof:
raise NeedMore()
elif self._state not in (self.ST_OP, self.ST_QUOTED, self.ST_HEREDOC):
#Delimit the current token and leave cleanly
self._push_token('')
break
else:
#Let the sublexer handle the eof themselves
pass
if self._state==self.ST_NORMAL:
self._parse_normal()
elif self._state==self.ST_COMMENT:
self._parse_comment()
elif self._state==self.ST_OP:
self._parse_op(eof)
elif self._state==self.ST_QUOTED:
self._parse_quoted(eof)
elif self._state==self.ST_HEREDOC:
self._parse_heredoc(eof)
else:
assert False, "Unknown state " + str(self._state)
if self._heredoc.op is not None:
raise ShellSyntaxError('missing here-document delimiter')
def _parse_normal(self):
c = self._input[self._pos]
if c=='\n':
self._push_token(c)
self._token = c
self._type = TK_NEWLINE
self._push_token('')
self._pos += 1
elif c in ('\\', '\'', '"', '`', '$'):
self._state = self.ST_QUOTED
elif is_partial_op(c):
self._push_token(c)
self._type = TK_OP
self._token += c
self._pos += 1
self._state = self.ST_OP
elif is_blank(c):
self._push_token(c)
#Discard blanks
self._pos += 1
elif self._token:
self._token += c
self._pos += 1
elif c=='#':
self._state = self.ST_COMMENT
self._type = TK_COMMENT
self._pos += 1
else:
self._pos += 1
self._token += c
def _parse_op(self, eof):
assert self._token
while 1:
if self._pos>=len(self._input):
if not eof:
raise NeedMore()
c = ''
else:
c = self._input[self._pos]
op = self._token + c
if c and is_partial_op(op):
#Still parsing an operator
self._token = op
self._pos += 1
else:
#End of operator
self._push_token(c)
self._state = self.ST_NORMAL
break
def _parse_comment(self):
while 1:
if self._pos>=len(self._input):
raise NeedMore()
c = self._input[self._pos]
if c=='\n':
#End of comment, do not consume the end of line
self._state = self.ST_NORMAL
break
else:
self._token += c
self._pos += 1
def _parse_quoted(self, eof):
"""Precondition: the starting backquote/dollar is still in the input queue."""
if not self._wordlexer:
self._wordlexer = WordLexer()
if self._pos<len(self._input):
#Transfer input queue character into the subparser
input = self._input[self._pos:]
self._pos += len(input)
wtree, remaining = self._wordlexer.add(input, eof)
self._wordlexer = None
self._token += wordtree_as_string(wtree)
#Put unparsed character back in the input queue
if remaining:
self._input[self._pos:self._pos] = list(remaining)
self._state = self.ST_NORMAL
def _parse_heredoc(self, eof):
assert not self._token
if self._herelexer is None:
self._herelexer = HereDocLexer(self._heredoc.op, self._heredoc.name)
if self._pos<len(self._input):
#Transfer input queue character into the subparser
input = self._input[self._pos:]
self._pos += len(input)
self._token, remaining = self._herelexer.add(input, eof)
#Reset here-document state
self._herelexer = None
heredoc, self._heredoc = self._heredoc, HereDoc(None)
if remaining:
self._input[self._pos:self._pos] = list(remaining)
self._state = self.ST_NORMAL
#Push pending tokens
heredoc.pendings[:0] = [(self._token, self._type, heredoc.name)]
for token, type, delim in heredoc.pendings:
self._token = token
self._type = type
self._push_token(delim)
def _push_token(self, delim):
if not self._token:
return 0
if self._heredoc.op is not None:
if self._heredoc.name is None:
#Here-document name
if self._type!=TK_TOKEN:
raise ShellSyntaxError("expecting here-document name, got '%s'" % self._token)
self._heredoc.name = unquote_wordtree(make_wordtree(self._token))
self._type = TK_HERENAME
else:
#Capture all tokens until the newline starting the here-document
if self._type==TK_NEWLINE:
assert self._state==self.ST_NORMAL
self._state = self.ST_HEREDOC
self._heredoc.pendings.append((self._token, self._type, delim))
self._token = ''
self._type = TK_TOKEN
return 1
# BEWARE: do not change parser state from here to the end of the function:
# when parsing between an here-document operator to the end of the line
# tokens are stored in self._heredoc.pendings. Therefore, they will not
# reach the section below.
#Check operators
if self._type==TK_OP:
#False positive because of partial op matching
op = is_op(self._token)
if not op:
self._type = TK_TOKEN
else:
#Map to the specific operator
self._type = op
if self._token in ('<<', '<<-'):
#Done here rather than in _parse_op because there is no need
#to change the parser state since we are still waiting for
#the here-document name
if self._heredoc.op is not None:
raise ShellSyntaxError("syntax error near token '%s'" % self._token)
assert self._heredoc.op is None
self._heredoc.op = self._token
if self._type==TK_TOKEN:
if '=' in self._token and not delim:
if self._token.startswith('='):
#Token is a WORD... a TOKEN that is.
pass
else:
prev = self._token[:self._token.find('=')]
if is_name(prev):
self._type = TK_ASSIGNMENT
else:
#Just a token (unspecified)
pass
else:
reserved = get_reserved(self._token)
if reserved is not None:
if reserved=='In' and self._for_count!=2:
#Sorry, not a reserved word after all
pass
else:
self._type = reserved
if reserved in ('For', 'Case'):
self._for_count = 0
elif are_digits(self._token) and delim in ('<', '>'):
#Detect IO_NUMBER
self._type = TK_IONUMBER
elif self._token==';':
self._type = TK_COMMA
elif self._token=='&':
self._type = TK_AMPERSAND
elif self._type==TK_COMMENT:
#Comments are not part of sh grammar, ignore them
self._token = ''
self._type = TK_TOKEN
return 0
if self._for_count is not None:
#Track token count in 'For' expression to detect 'In' reserved words.
#Can only be in third position, no need to go beyond
self._for_count += 1
if self._for_count==3:
self._for_count = None
self.on_token((self._token, self._type))
self._token = ''
self._type = TK_TOKEN
return 1
def on_token(self, token):
raise NotImplementedError
tokens = [
TK_TOKEN,
# To silence yacc unused token warnings
# TK_COMMENT,
TK_NEWLINE,
TK_IONUMBER,
TK_ASSIGNMENT,
TK_HERENAME,
]
#Add specific operators
tokens += _OPERATORS.values()
#Add reserved words
tokens += _RESERVEDS.values()
class PLYLexer(Lexer):
"""Bridge Lexer and PLY lexer interface."""
def __init__(self):
Lexer.__init__(self)
self._tokens = []
self._current = 0
self.lineno = 0
def on_token(self, token):
value, type = token
self.lineno = 0
t = lex.LexToken()
t.value = value
t.type = type
t.lexer = self
t.lexpos = 0
t.lineno = 0
self._tokens.append(t)
def is_empty(self):
return not bool(self._tokens)
#PLY compliant interface
def token(self):
if self._current>=len(self._tokens):
return None
t = self._tokens[self._current]
self._current += 1
return t
def get_tokens(s):
"""Parse the input string and return a tuple (tokens, unprocessed) where
tokens is a list of parsed tokens and unprocessed is the part of the input
string left untouched by the lexer.
"""
lexer = PLYLexer()
untouched = lexer.add(s, True)
tokens = []
while 1:
token = lexer.token()
if token is None:
break
tokens.append(token)
tokens = [(t.value, t.type) for t in tokens]
return tokens, untouched

View File

@@ -0,0 +1,779 @@
# pyshyacc.py - PLY grammar definition for pysh
#
# Copyright 2007 Patrick Mezard
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
"""PLY grammar file.
"""
import os.path
import sys
import pyshlex
tokens = pyshlex.tokens
from ply import yacc
import sherrors
class IORedirect:
def __init__(self, op, filename, io_number=None):
self.op = op
self.filename = filename
self.io_number = io_number
class HereDocument:
def __init__(self, op, name, content, io_number=None):
self.op = op
self.name = name
self.content = content
self.io_number = io_number
def make_io_redirect(p):
"""Make an IORedirect instance from the input 'io_redirect' production."""
name, io_number, io_target = p
assert name=='io_redirect'
if io_target[0]=='io_file':
io_type, io_op, io_file = io_target
return IORedirect(io_op, io_file, io_number)
elif io_target[0]=='io_here':
io_type, io_op, io_name, io_content = io_target
return HereDocument(io_op, io_name, io_content, io_number)
else:
assert False, "Invalid IO redirection token %s" % repr(io_type)
class SimpleCommand:
"""
assigns contains (name, value) pairs.
"""
def __init__(self, words, redirs, assigns):
self.words = list(words)
self.redirs = list(redirs)
self.assigns = list(assigns)
class Pipeline:
def __init__(self, commands, reverse_status=False):
self.commands = list(commands)
assert self.commands #Grammar forbids this
self.reverse_status = reverse_status
class AndOr:
def __init__(self, op, left, right):
self.op = str(op)
self.left = left
self.right = right
class ForLoop:
def __init__(self, name, items, cmds):
self.name = str(name)
self.items = list(items)
self.cmds = list(cmds)
class WhileLoop:
def __init__(self, condition, cmds):
self.condition = list(condition)
self.cmds = list(cmds)
class UntilLoop:
def __init__(self, condition, cmds):
self.condition = list(condition)
self.cmds = list(cmds)
class FunDef:
def __init__(self, name, body):
self.name = str(name)
self.body = body
class BraceGroup:
def __init__(self, cmds):
self.cmds = list(cmds)
class IfCond:
def __init__(self, cond, if_cmds, else_cmds):
self.cond = list(cond)
self.if_cmds = if_cmds
self.else_cmds = else_cmds
class Case:
def __init__(self, name, items):
self.name = name
self.items = items
class SubShell:
def __init__(self, cmds):
self.cmds = cmds
class RedirectList:
def __init__(self, cmd, redirs):
self.cmd = cmd
self.redirs = list(redirs)
def get_production(productions, ptype):
"""productions must be a list of production tuples like (name, obj) where
name is the production string identifier.
Return the first production named 'ptype'. Raise KeyError if None can be
found.
"""
for production in productions:
if production is not None and production[0]==ptype:
return production
raise KeyError(ptype)
#-------------------------------------------------------------------------------
# PLY grammar definition
#-------------------------------------------------------------------------------
def p_multiple_commands(p):
"""multiple_commands : newline_sequence
| complete_command
| multiple_commands complete_command"""
if len(p)==2:
if p[1] is not None:
p[0] = [p[1]]
else:
p[0] = []
else:
p[0] = p[1] + [p[2]]
def p_complete_command(p):
"""complete_command : list separator
| list"""
if len(p)==3 and p[2] and p[2][1] == '&':
p[0] = ('async', p[1])
else:
p[0] = p[1]
def p_list(p):
"""list : list separator_op and_or
| and_or"""
if len(p)==2:
p[0] = [p[1]]
else:
#if p[2]!=';':
# raise NotImplementedError('AND-OR list asynchronous execution is not implemented')
p[0] = p[1] + [p[3]]
def p_and_or(p):
"""and_or : pipeline
| and_or AND_IF linebreak pipeline
| and_or OR_IF linebreak pipeline"""
if len(p)==2:
p[0] = p[1]
else:
p[0] = ('and_or', AndOr(p[2], p[1], p[4]))
def p_maybe_bang_word(p):
"""maybe_bang_word : Bang"""
p[0] = ('maybe_bang_word', p[1])
def p_pipeline(p):
"""pipeline : pipe_sequence
| bang_word pipe_sequence"""
if len(p)==3:
p[0] = ('pipeline', Pipeline(p[2][1:], True))
else:
p[0] = ('pipeline', Pipeline(p[1][1:]))
def p_pipe_sequence(p):
"""pipe_sequence : command
| pipe_sequence PIPE linebreak command"""
if len(p)==2:
p[0] = ['pipe_sequence', p[1]]
else:
p[0] = p[1] + [p[4]]
def p_command(p):
"""command : simple_command
| compound_command
| compound_command redirect_list
| function_definition"""
if p[1][0] in ( 'simple_command',
'for_clause',
'while_clause',
'until_clause',
'case_clause',
'if_clause',
'function_definition',
'subshell',
'brace_group',):
if len(p) == 2:
p[0] = p[1]
else:
p[0] = ('redirect_list', RedirectList(p[1], p[2][1:]))
else:
raise NotImplementedError('%s command is not implemented' % repr(p[1][0]))
def p_compound_command(p):
"""compound_command : brace_group
| subshell
| for_clause
| case_clause
| if_clause
| while_clause
| until_clause"""
p[0] = p[1]
def p_subshell(p):
"""subshell : LPARENS compound_list RPARENS"""
p[0] = ('subshell', SubShell(p[2][1:]))
def p_compound_list(p):
"""compound_list : term
| newline_list term
| term separator
| newline_list term separator"""
productions = p[1:]
try:
sep = get_production(productions, 'separator')
if sep[1]!=';':
raise NotImplementedError()
except KeyError:
pass
term = get_production(productions, 'term')
p[0] = ['compound_list'] + term[1:]
def p_term(p):
"""term : term separator and_or
| and_or"""
if len(p)==2:
p[0] = ['term', p[1]]
else:
if p[2] is not None and p[2][1] == '&':
p[0] = ['term', ('async', p[1][1:])] + [p[3]]
else:
p[0] = p[1] + [p[3]]
def p_maybe_for_word(p):
# Rearrange 'For' priority wrt TOKEN. See p_for_word
"""maybe_for_word : For"""
p[0] = ('maybe_for_word', p[1])
def p_for_clause(p):
"""for_clause : for_word name linebreak do_group
| for_word name linebreak in sequential_sep do_group
| for_word name linebreak in wordlist sequential_sep do_group"""
productions = p[1:]
do_group = get_production(productions, 'do_group')
try:
items = get_production(productions, 'in')[1:]
except KeyError:
raise NotImplementedError('"in" omission is not implemented')
try:
items = get_production(productions, 'wordlist')[1:]
except KeyError:
items = []
name = p[2]
p[0] = ('for_clause', ForLoop(name, items, do_group[1:]))
def p_name(p):
"""name : token""" #Was NAME instead of token
p[0] = p[1]
def p_in(p):
"""in : In"""
p[0] = ('in', p[1])
def p_wordlist(p):
"""wordlist : wordlist token
| token"""
if len(p)==2:
p[0] = ['wordlist', ('TOKEN', p[1])]
else:
p[0] = p[1] + [('TOKEN', p[2])]
def p_case_clause(p):
"""case_clause : Case token linebreak in linebreak case_list Esac
| Case token linebreak in linebreak case_list_ns Esac
| Case token linebreak in linebreak Esac"""
if len(p) < 8:
items = []
else:
items = p[6][1:]
name = p[2]
p[0] = ('case_clause', Case(name, [c[1] for c in items]))
def p_case_list_ns(p):
"""case_list_ns : case_list case_item_ns
| case_item_ns"""
p_case_list(p)
def p_case_list(p):
"""case_list : case_list case_item
| case_item"""
if len(p)==2:
p[0] = ['case_list', p[1]]
else:
p[0] = p[1] + [p[2]]
def p_case_item_ns(p):
"""case_item_ns : pattern RPARENS linebreak
| pattern RPARENS compound_list linebreak
| LPARENS pattern RPARENS linebreak
| LPARENS pattern RPARENS compound_list linebreak"""
p_case_item(p)
def p_case_item(p):
"""case_item : pattern RPARENS linebreak DSEMI linebreak
| pattern RPARENS compound_list DSEMI linebreak
| LPARENS pattern RPARENS linebreak DSEMI linebreak
| LPARENS pattern RPARENS compound_list DSEMI linebreak"""
if len(p) < 7:
name = p[1][1:]
else:
name = p[2][1:]
try:
cmds = get_production(p[1:], "compound_list")[1:]
except KeyError:
cmds = []
p[0] = ('case_item', (name, cmds))
def p_pattern(p):
"""pattern : token
| pattern PIPE token"""
if len(p)==2:
p[0] = ['pattern', ('TOKEN', p[1])]
else:
p[0] = p[1] + [('TOKEN', p[2])]
def p_maybe_if_word(p):
# Rearrange 'If' priority wrt TOKEN. See p_if_word
"""maybe_if_word : If"""
p[0] = ('maybe_if_word', p[1])
def p_maybe_then_word(p):
# Rearrange 'Then' priority wrt TOKEN. See p_then_word
"""maybe_then_word : Then"""
p[0] = ('maybe_then_word', p[1])
def p_if_clause(p):
"""if_clause : if_word compound_list then_word compound_list else_part Fi
| if_word compound_list then_word compound_list Fi"""
else_part = []
if len(p)==7:
else_part = p[5]
p[0] = ('if_clause', IfCond(p[2][1:], p[4][1:], else_part))
def p_else_part(p):
"""else_part : Elif compound_list then_word compound_list else_part
| Elif compound_list then_word compound_list
| Else compound_list"""
if len(p)==3:
p[0] = p[2][1:]
else:
else_part = []
if len(p)==6:
else_part = p[5]
p[0] = ('elif', IfCond(p[2][1:], p[4][1:], else_part))
def p_while_clause(p):
"""while_clause : While compound_list do_group"""
p[0] = ('while_clause', WhileLoop(p[2][1:], p[3][1:]))
def p_maybe_until_word(p):
# Rearrange 'Until' priority wrt TOKEN. See p_until_word
"""maybe_until_word : Until"""
p[0] = ('maybe_until_word', p[1])
def p_until_clause(p):
"""until_clause : until_word compound_list do_group"""
p[0] = ('until_clause', UntilLoop(p[2][1:], p[3][1:]))
def p_function_definition(p):
"""function_definition : fname LPARENS RPARENS linebreak function_body"""
p[0] = ('function_definition', FunDef(p[1], p[5]))
def p_function_body(p):
"""function_body : compound_command
| compound_command redirect_list"""
if len(p)!=2:
raise NotImplementedError('functions redirections lists are not implemented')
p[0] = p[1]
def p_fname(p):
"""fname : TOKEN""" #Was NAME instead of token
p[0] = p[1]
def p_brace_group(p):
"""brace_group : Lbrace compound_list Rbrace"""
p[0] = ('brace_group', BraceGroup(p[2][1:]))
def p_maybe_done_word(p):
#See p_assignment_word for details.
"""maybe_done_word : Done"""
p[0] = ('maybe_done_word', p[1])
def p_maybe_do_word(p):
"""maybe_do_word : Do"""
p[0] = ('maybe_do_word', p[1])
def p_do_group(p):
"""do_group : do_word compound_list done_word"""
#Do group contains a list of AndOr
p[0] = ['do_group'] + p[2][1:]
def p_simple_command(p):
"""simple_command : cmd_prefix cmd_word cmd_suffix
| cmd_prefix cmd_word
| cmd_prefix
| cmd_name cmd_suffix
| cmd_name"""
words, redirs, assigns = [], [], []
for e in p[1:]:
name = e[0]
if name in ('cmd_prefix', 'cmd_suffix'):
for sube in e[1:]:
subname = sube[0]
if subname=='io_redirect':
redirs.append(make_io_redirect(sube))
elif subname=='ASSIGNMENT_WORD':
assigns.append(sube)
else:
words.append(sube)
elif name in ('cmd_word', 'cmd_name'):
words.append(e)
cmd = SimpleCommand(words, redirs, assigns)
p[0] = ('simple_command', cmd)
def p_cmd_name(p):
"""cmd_name : TOKEN"""
p[0] = ('cmd_name', p[1])
def p_cmd_word(p):
"""cmd_word : token"""
p[0] = ('cmd_word', p[1])
def p_maybe_assignment_word(p):
#See p_assignment_word for details.
"""maybe_assignment_word : ASSIGNMENT_WORD"""
p[0] = ('maybe_assignment_word', p[1])
def p_cmd_prefix(p):
"""cmd_prefix : io_redirect
| cmd_prefix io_redirect
| assignment_word
| cmd_prefix assignment_word"""
try:
prefix = get_production(p[1:], 'cmd_prefix')
except KeyError:
prefix = ['cmd_prefix']
try:
value = get_production(p[1:], 'assignment_word')[1]
value = ('ASSIGNMENT_WORD', value.split('=', 1))
except KeyError:
value = get_production(p[1:], 'io_redirect')
p[0] = prefix + [value]
def p_cmd_suffix(p):
"""cmd_suffix : io_redirect
| cmd_suffix io_redirect
| token
| cmd_suffix token
| maybe_for_word
| cmd_suffix maybe_for_word
| maybe_done_word
| cmd_suffix maybe_done_word
| maybe_do_word
| cmd_suffix maybe_do_word
| maybe_until_word
| cmd_suffix maybe_until_word
| maybe_assignment_word
| cmd_suffix maybe_assignment_word
| maybe_if_word
| cmd_suffix maybe_if_word
| maybe_then_word
| cmd_suffix maybe_then_word
| maybe_bang_word
| cmd_suffix maybe_bang_word"""
try:
suffix = get_production(p[1:], 'cmd_suffix')
token = p[2]
except KeyError:
suffix = ['cmd_suffix']
token = p[1]
if isinstance(token, tuple):
if token[0]=='io_redirect':
p[0] = suffix + [token]
else:
#Convert maybe_* to TOKEN if necessary
p[0] = suffix + [('TOKEN', token[1])]
else:
p[0] = suffix + [('TOKEN', token)]
def p_redirect_list(p):
"""redirect_list : io_redirect
| redirect_list io_redirect"""
if len(p) == 2:
p[0] = ['redirect_list', make_io_redirect(p[1])]
else:
p[0] = p[1] + [make_io_redirect(p[2])]
def p_io_redirect(p):
"""io_redirect : io_file
| IO_NUMBER io_file
| io_here
| IO_NUMBER io_here"""
if len(p)==3:
p[0] = ('io_redirect', p[1], p[2])
else:
p[0] = ('io_redirect', None, p[1])
def p_io_file(p):
#Return the tuple (operator, filename)
"""io_file : LESS filename
| LESSAND filename
| GREATER filename
| GREATAND filename
| DGREAT filename
| LESSGREAT filename
| CLOBBER filename"""
#Extract the filename from the file
p[0] = ('io_file', p[1], p[2][1])
def p_filename(p):
#Return the filename
"""filename : TOKEN"""
p[0] = ('filename', p[1])
def p_io_here(p):
"""io_here : DLESS here_end
| DLESSDASH here_end"""
p[0] = ('io_here', p[1], p[2][1], p[2][2])
def p_here_end(p):
"""here_end : HERENAME TOKEN"""
p[0] = ('here_document', p[1], p[2])
def p_newline_sequence(p):
# Nothing in the grammar can handle leading NEWLINE productions, so add
# this one with the lowest possible priority relatively to newline_list.
"""newline_sequence : newline_list"""
p[0] = None
def p_newline_list(p):
"""newline_list : NEWLINE
| newline_list NEWLINE"""
p[0] = None
def p_linebreak(p):
"""linebreak : newline_list
| empty"""
p[0] = None
def p_separator_op(p):
"""separator_op : COMMA
| AMP"""
p[0] = p[1]
def p_separator(p):
"""separator : separator_op linebreak
| newline_list"""
if len(p)==2:
#Ignore newlines
p[0] = None
else:
#Keep the separator operator
p[0] = ('separator', p[1])
def p_sequential_sep(p):
"""sequential_sep : COMMA linebreak
| newline_list"""
p[0] = None
# Low priority TOKEN => for_word conversion.
# Let maybe_for_word be used as a token when necessary in higher priority
# rules.
def p_for_word(p):
"""for_word : maybe_for_word"""
p[0] = p[1]
def p_if_word(p):
"""if_word : maybe_if_word"""
p[0] = p[1]
def p_then_word(p):
"""then_word : maybe_then_word"""
p[0] = p[1]
def p_done_word(p):
"""done_word : maybe_done_word"""
p[0] = p[1]
def p_do_word(p):
"""do_word : maybe_do_word"""
p[0] = p[1]
def p_until_word(p):
"""until_word : maybe_until_word"""
p[0] = p[1]
def p_assignment_word(p):
"""assignment_word : maybe_assignment_word"""
p[0] = ('assignment_word', p[1][1])
def p_bang_word(p):
"""bang_word : maybe_bang_word"""
p[0] = ('bang_word', p[1][1])
def p_token(p):
"""token : TOKEN
| Fi"""
p[0] = p[1]
def p_empty(p):
'empty :'
p[0] = None
# Error rule for syntax errors
def p_error(p):
msg = []
w = msg.append
w('%r\n' % p)
w('followed by:\n')
for i in range(5):
n = yacc.token()
if not n:
break
w(' %r\n' % n)
raise sherrors.ShellSyntaxError(''.join(msg))
# Build the parser
try:
import pyshtables
except ImportError:
outputdir = os.path.dirname(__file__)
if not os.access(outputdir, os.W_OK):
outputdir = ''
yacc.yacc(tabmodule = 'pyshtables', outputdir = outputdir, debug = 0)
else:
yacc.yacc(tabmodule = 'pysh.pyshtables', write_tables = 0, debug = 0)
def parse(input, eof=False, debug=False):
"""Parse a whole script at once and return the generated AST and unconsumed
data in a tuple.
NOTE: eof is probably meaningless for now, the parser being unable to work
in pull mode. It should be set to True.
"""
lexer = pyshlex.PLYLexer()
remaining = lexer.add(input, eof)
if lexer.is_empty():
return [], remaining
if debug:
debug = 2
return yacc.parse(lexer=lexer, debug=debug), remaining
#-------------------------------------------------------------------------------
# AST rendering helpers
#-------------------------------------------------------------------------------
def format_commands(v):
"""Return a tree made of strings and lists. Make command trees easier to
display.
"""
if isinstance(v, list):
return [format_commands(c) for c in v]
if isinstance(v, tuple):
if len(v)==2 and isinstance(v[0], str) and not isinstance(v[1], str):
if v[0] == 'async':
return ['AsyncList', map(format_commands, v[1])]
else:
#Avoid decomposing tuples like ('pipeline', Pipeline(...))
return format_commands(v[1])
return format_commands(list(v))
elif isinstance(v, IfCond):
name = ['IfCond']
name += ['if', map(format_commands, v.cond)]
name += ['then', map(format_commands, v.if_cmds)]
name += ['else', map(format_commands, v.else_cmds)]
return name
elif isinstance(v, ForLoop):
name = ['ForLoop']
name += [repr(v.name)+' in ', map(str, v.items)]
name += ['commands', map(format_commands, v.cmds)]
return name
elif isinstance(v, AndOr):
return [v.op, format_commands(v.left), format_commands(v.right)]
elif isinstance(v, Pipeline):
name = 'Pipeline'
if v.reverse_status:
name = '!' + name
return [name, format_commands(v.commands)]
elif isinstance(v, Case):
name = ['Case']
name += [v.name, format_commands(v.items)]
elif isinstance(v, SimpleCommand):
name = ['SimpleCommand']
if v.words:
name += ['words', map(str, v.words)]
if v.assigns:
assigns = [tuple(a[1]) for a in v.assigns]
name += ['assigns', map(str, assigns)]
if v.redirs:
name += ['redirs', map(format_commands, v.redirs)]
return name
elif isinstance(v, RedirectList):
name = ['RedirectList']
if v.redirs:
name += ['redirs', map(format_commands, v.redirs)]
name += ['command', format_commands(v.cmd)]
return name
elif isinstance(v, IORedirect):
return ' '.join(map(str, (v.io_number, v.op, v.filename)))
elif isinstance(v, HereDocument):
return ' '.join(map(str, (v.io_number, v.op, repr(v.name), repr(v.content))))
elif isinstance(v, SubShell):
return ['SubShell', map(format_commands, v.cmds)]
else:
return repr(v)
def print_commands(cmds, output=sys.stdout):
"""Pretty print a command tree."""
def print_tree(cmd, spaces, output):
if isinstance(cmd, list):
for c in cmd:
print_tree(c, spaces + 3, output)
else:
print >>output, ' '*spaces + str(cmd)
formatted = format_commands(cmds)
print_tree(formatted, 0, output)
def stringify_commands(cmds):
"""Serialize a command tree as a string.
Returned string is not pretty and is currently used for unit tests only.
"""
def stringify(value):
output = []
if isinstance(value, list):
formatted = []
for v in value:
formatted.append(stringify(v))
formatted = ' '.join(formatted)
output.append(''.join(['<', formatted, '>']))
else:
output.append(value)
return ' '.join(output)
return stringify(format_commands(cmds))
def visit_commands(cmds, callable):
"""Visit the command tree and execute callable on every Pipeline and
SimpleCommand instances.
"""
if isinstance(cmds, (tuple, list)):
map(lambda c: visit_commands(c,callable), cmds)
elif isinstance(cmds, (Pipeline, SimpleCommand)):
callable(cmds)

View File

@@ -0,0 +1,41 @@
# sherrors.py - shell errors and signals
#
# Copyright 2007 Patrick Mezard
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
"""Define shell exceptions and error codes.
"""
class ShellError(Exception):
pass
class ShellSyntaxError(ShellError):
pass
class UtilityError(ShellError):
"""Raised upon utility syntax error (option or operand error)."""
pass
class ExpansionError(ShellError):
pass
class CommandNotFound(ShellError):
"""Specified command was not found."""
pass
class RedirectionError(ShellError):
pass
class VarAssignmentError(ShellError):
"""Variable assignment error."""
pass
class ExitSignal(ShellError):
"""Exit signal."""
pass
class ReturnSignal(ShellError):
"""Exit signal."""
pass

View File

@@ -0,0 +1,77 @@
# subprocess - Subprocesses with accessible I/O streams
#
# For more information about this module, see PEP 324.
#
# This module should remain compatible with Python 2.2, see PEP 291.
#
# Copyright (c) 2003-2005 by Peter Astrand <astrand@lysator.liu.se>
#
# Licensed to PSF under a Contributor Agreement.
# See http://www.python.org/2.4/license for licensing details.
def list2cmdline(seq):
"""
Translate a sequence of arguments into a command line
string, using the same rules as the MS C runtime:
1) Arguments are delimited by white space, which is either a
space or a tab.
2) A string surrounded by double quotation marks is
interpreted as a single argument, regardless of white space
contained within. A quoted string can be embedded in an
argument.
3) A double quotation mark preceded by a backslash is
interpreted as a literal double quotation mark.
4) Backslashes are interpreted literally, unless they
immediately precede a double quotation mark.
5) If backslashes immediately precede a double quotation mark,
every pair of backslashes is interpreted as a literal
backslash. If the number of backslashes is odd, the last
backslash escapes the next double quotation mark as
described in rule 3.
"""
# See
# http://msdn.microsoft.com/library/en-us/vccelng/htm/progs_12.asp
result = []
needquote = False
for arg in seq:
bs_buf = []
# Add a space to separate this argument from the others
if result:
result.append(' ')
needquote = (" " in arg) or ("\t" in arg) or ("|" in arg) or arg == ""
if needquote:
result.append('"')
for c in arg:
if c == '\\':
# Don't know if we need to double yet.
bs_buf.append(c)
elif c == '"':
# Double backspaces.
result.append('\\' * len(bs_buf)*2)
bs_buf = []
result.append('\\"')
else:
# Normal char
if bs_buf:
result.extend(bs_buf)
bs_buf = []
result.append(c)
# Add remaining backspaces, if any.
if bs_buf:
result.extend(bs_buf)
if needquote:
result.extend(bs_buf)
result.append('"')
return ''.join(result)

File diff suppressed because it is too large Load Diff

View File

@@ -102,7 +102,7 @@ class BBUIEventQueue:
def queue_event(self, event):
self.eventQueue.append(event)
def system_quit( self ):
def system_quit( self ):
bb.event.unregister_UIHhandler(self.EventHandle)
class BitBakeServer():
@@ -115,7 +115,7 @@ class BitBakeServer():
def register_idle_function(self, function, data):
"""Register a function to be called while the server is idle"""
assert callable(function)
assert hasattr(function, '__call__')
self._idlefuns[function] = data
def idle_commands(self, delay):
@@ -140,6 +140,7 @@ class BitBakeServer():
except:
import traceback
traceback.print_exc()
self.commands.runCommand(["stateShutdown"])
pass
if nextsleep is not None:
#print "Sleeping for %s (%s)" % (nextsleep, delay)
@@ -159,15 +160,22 @@ class BitbakeServerInfo():
self.commands = server.commands
class BitBakeServerFork():
def __init__(self, serverinfo, command, logfile):
serverinfo.forkCommand = command
def __init__(self, cooker, server, serverinfo, logfile):
serverinfo.logfile = logfile
serverinfo.cooker = cooker
serverinfo.server = server
class BitbakeUILauch():
def launch(self, serverinfo, uifunc, *args):
return bb.cooker.server_main(serverinfo.cooker, uifunc, *args)
class BitBakeServerConnection():
def __init__(self, serverinfo):
self.server = serverinfo.server
self.connection = serverinfo.commands
self.events = bb.server.none.BBUIEventQueue(self.server)
for event in bb.event.ui_queue:
self.events.queue_event(event)
def terminate(self):
try:
@@ -178,4 +186,3 @@ class BitBakeServerConnection():
self.connection.terminateServer()
except:
pass

View File

@@ -42,9 +42,71 @@ from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
import inspect, select
if sys.hexversion < 0x020600F0:
print "Sorry, python 2.6 or later is required for bitbake's XMLRPC mode"
print("Sorry, python 2.6 or later is required for bitbake's XMLRPC mode")
sys.exit(1)
##
# The xmlrpclib.Transport class has undergone various changes in Python 2.7
# which break BitBake's XMLRPC implementation.
# To work around this we subclass Transport and have a copy/paste of method
# implementations from Python 2.6.6's xmlrpclib.
#
# Upstream Python bug is #8194 (http://bugs.python.org/issue8194)
##
class BBTransport(xmlrpclib.Transport):
def request(self, host, handler, request_body, verbose=0):
h = self.make_connection(host)
if verbose:
h.set_debuglevel(1)
self.send_request(h, handler, request_body)
self.send_host(h, host)
self.send_user_agent(h)
self.send_content(h, request_body)
errcode, errmsg, headers = h.getreply()
if errcode != 200:
raise ProtocolError(
host + handler,
errcode, errmsg,
headers
)
self.verbose = verbose
try:
sock = h._conn.sock
except AttributeError:
sock = None
return self._parse_response(h.getfile(), sock)
def make_connection(self, host):
import httplib
host, extra_headers, x509 = self.get_host_info(host)
return httplib.HTTP(host)
def _parse_response(self, file, sock):
p, u = self.getparser()
while 1:
if sock:
response = sock.recv(1024)
else:
response = file.read(1024)
if not response:
break
if self.verbose:
print "body:", repr(response)
p.feed(response)
file.close()
p.close()
return u.close()
class BitBakeServerCommands():
def __init__(self, server, cooker):
self.cooker = cooker
@@ -54,7 +116,8 @@ class BitBakeServerCommands():
"""
Register a remote UI Event Handler
"""
s = xmlrpclib.Server("http://%s:%d" % (host, port), allow_none=True)
t = BBTransport()
s = xmlrpclib.Server("http://%s:%d/" % (host, port), transport=t, allow_none=True)
return bb.event.register_UIHhandler(s)
def unregisterEventHandler(self, handlerNum):
@@ -74,7 +137,7 @@ class BitBakeServerCommands():
Trigger the server to quit
"""
self.server.quit = True
print "Server (cooker) exitting"
print("Server (cooker) exitting")
return
def ping(self):
@@ -89,8 +152,8 @@ class BitBakeServer(SimpleXMLRPCServer):
def __init__(self, cooker, interface = ("localhost", 0)):
"""
Constructor
"""
Constructor
"""
SimpleXMLRPCServer.__init__(self, interface,
requestHandler=SimpleXMLRPCRequestHandler,
logRequests=False, allow_none=True)
@@ -99,6 +162,7 @@ class BitBakeServer(SimpleXMLRPCServer):
#self.register_introspection_functions()
commands = BitBakeServerCommands(self, cooker)
self.autoregister_all_functions(commands, "")
self.cooker = cooker
def autoregister_all_functions(self, context, prefix):
"""
@@ -112,10 +176,13 @@ class BitBakeServer(SimpleXMLRPCServer):
def register_idle_function(self, function, data):
"""Register a function to be called while the server is idle"""
assert callable(function)
assert hasattr(function, '__call__')
self._idlefuns[function] = data
def serve_forever(self):
bb.cooker.server_main(self.cooker, self._serve_forever)
def _serve_forever(self):
"""
Serve Requests. Overloaded to honor a quit command
"""
@@ -146,7 +213,7 @@ class BitBakeServer(SimpleXMLRPCServer):
traceback.print_exc()
pass
if nextsleep is None and len(self._idlefuns) > 0:
nextsleep = 0
nextsleep = 0
self.timeout = nextsleep
# Tell idle functions we're exiting
for function, data in self._idlefuns.items():
@@ -164,18 +231,25 @@ class BitbakeServerInfo():
self.port = server.port
class BitBakeServerFork():
def __init__(self, serverinfo, command, logfile):
daemonize.createDaemon(command, logfile)
def __init__(self, cooker, server, serverinfo, logfile):
daemonize.createDaemon(server.serve_forever, logfile)
class BitbakeUILauch():
def launch(self, serverinfo, uifunc, *args):
return uifunc(*args)
class BitBakeServerConnection():
def __init__(self, serverinfo):
self.connection = xmlrpclib.Server("http://%s:%s" % (serverinfo.host, serverinfo.port), allow_none=True)
t = BBTransport()
self.connection = xmlrpclib.Server("http://%s:%s" % (serverinfo.host, serverinfo.port), transport=t, allow_none=True)
self.events = uievent.BBUIEventQueue(self.connection)
for event in bb.event.ui_queue:
self.events.queue_event(event)
def terminate(self):
# Don't wait for server indefinitely
import socket
socket.setdefaulttimeout(2)
socket.setdefaulttimeout(2)
try:
self.events.system_quit()
except:
@@ -184,4 +258,3 @@ class BitBakeServerConnection():
self.connection.terminateServer()
except:
pass

View File

@@ -52,12 +52,14 @@ PROBLEMS:
# Import and setup global variables
##########################################################################
from __future__ import print_function
from functools import reduce
try:
set
except NameError:
from sets import Set as set
import sys, os, readline, socket, httplib, urllib, commands, popen2, copy, shlex, Queue, fnmatch
from bb import data, parse, build, fatal, cache, taskdata, runqueue, providers as Providers
import sys, os, readline, socket, httplib, urllib, commands, popen2, shlex, Queue, fnmatch
from bb import data, parse, build, cache, taskdata, runqueue, providers as Providers
__version__ = "0.5.3.1"
__credits__ = """BitBake Shell Version %s (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de>
@@ -98,7 +100,7 @@ class BitBakeShellCommands:
def _checkParsed( self ):
if not parsed:
print "SHELL: This command needs to parse bbfiles..."
print("SHELL: This command needs to parse bbfiles...")
self.parse( None )
def _findProvider( self, item ):
@@ -119,28 +121,28 @@ class BitBakeShellCommands:
"""Register a new name for a command"""
new, old = params
if not old in cmds:
print "ERROR: Command '%s' not known" % old
print("ERROR: Command '%s' not known" % old)
else:
cmds[new] = cmds[old]
print "OK"
print("OK")
alias.usage = "<alias> <command>"
def buffer( self, params ):
"""Dump specified output buffer"""
index = params[0]
print self._shell.myout.buffer( int( index ) )
print(self._shell.myout.buffer( int( index ) ))
buffer.usage = "<index>"
def buffers( self, params ):
"""Show the available output buffers"""
commands = self._shell.myout.bufferedCommands()
if not commands:
print "SHELL: No buffered commands available yet. Start doing something."
print("SHELL: No buffered commands available yet. Start doing something.")
else:
print "="*35, "Available Output Buffers", "="*27
print("="*35, "Available Output Buffers", "="*27)
for index, cmd in enumerate( commands ):
print "| %s %s" % ( str( index ).ljust( 3 ), cmd )
print "="*88
print("| %s %s" % ( str( index ).ljust( 3 ), cmd ))
print("="*88)
def build( self, params, cmd = "build" ):
"""Build a providee"""
@@ -149,7 +151,7 @@ class BitBakeShellCommands:
self._checkParsed()
names = globfilter( cooker.status.pkg_pn, globexpr )
if len( names ) == 0: names = [ globexpr ]
print "SHELL: Building %s" % ' '.join( names )
print("SHELL: Building %s" % ' '.join( names ))
td = taskdata.TaskData(cooker.configuration.abort)
localdata = data.createCopy(cooker.configuration.data)
@@ -168,22 +170,20 @@ class BitBakeShellCommands:
tasks.append([name, "do_%s" % cmd])
td.add_unresolved(localdata, cooker.status)
rq = runqueue.RunQueue(cooker, localdata, cooker.status, td, tasks)
rq.prepare_runqueue()
rq.execute_runqueue()
except Providers.NoProvider:
print "ERROR: No Provider"
print("ERROR: No Provider")
last_exception = Providers.NoProvider
except runqueue.TaskFailure, fnids:
for fnid in fnids:
print "ERROR: '%s' failed" % td.fn_index[fnid]
except runqueue.TaskFailure as fnids:
last_exception = runqueue.TaskFailure
except build.EventException, e:
print "ERROR: Couldn't build '%s'" % names
except build.FuncFailed as e:
print("ERROR: Couldn't build '%s'" % names)
last_exception = e
@@ -216,7 +216,7 @@ class BitBakeShellCommands:
if bbfile is not None:
os.system( "%s %s" % ( os.environ.get( "EDITOR", "vi" ), bbfile ) )
else:
print "ERROR: Nothing provides '%s'" % name
print("ERROR: Nothing provides '%s'" % name)
edit.usage = "<providee>"
def environment( self, params ):
@@ -239,14 +239,14 @@ class BitBakeShellCommands:
global last_exception
name = params[0]
bf = completeFilePath( name )
print "SHELL: Calling '%s' on '%s'" % ( cmd, bf )
print("SHELL: Calling '%s' on '%s'" % ( cmd, bf ))
try:
cooker.buildFile(bf, cmd)
except parse.ParseError:
print "ERROR: Unable to open or parse '%s'" % bf
except build.EventException, e:
print "ERROR: Couldn't build '%s'" % name
print("ERROR: Unable to open or parse '%s'" % bf)
except build.FuncFailed as e:
print("ERROR: Couldn't build '%s'" % name)
last_exception = e
fileBuild.usage = "<bbfile>"
@@ -270,62 +270,60 @@ class BitBakeShellCommands:
def fileReparse( self, params ):
"""(re)Parse a bb file"""
bbfile = params[0]
print "SHELL: Parsing '%s'" % bbfile
print("SHELL: Parsing '%s'" % bbfile)
parse.update_mtime( bbfile )
cooker.bb_cache.cacheValidUpdate(bbfile)
fromCache = cooker.bb_cache.loadData(bbfile, cooker.configuration.data, cooker.status)
cooker.bb_cache.sync()
cooker.parser.reparse(bbfile)
if False: #fromCache:
print "SHELL: File has not been updated, not reparsing"
print("SHELL: File has not been updated, not reparsing")
else:
print "SHELL: Parsed"
print("SHELL: Parsed")
fileReparse.usage = "<bbfile>"
def abort( self, params ):
"""Toggle abort task execution flag (see bitbake -k)"""
cooker.configuration.abort = not cooker.configuration.abort
print "SHELL: Abort Flag is now '%s'" % repr( cooker.configuration.abort )
print("SHELL: Abort Flag is now '%s'" % repr( cooker.configuration.abort ))
def force( self, params ):
"""Toggle force task execution flag (see bitbake -f)"""
cooker.configuration.force = not cooker.configuration.force
print "SHELL: Force Flag is now '%s'" % repr( cooker.configuration.force )
print("SHELL: Force Flag is now '%s'" % repr( cooker.configuration.force ))
def help( self, params ):
"""Show a comprehensive list of commands and their purpose"""
print "="*30, "Available Commands", "="*30
print("="*30, "Available Commands", "="*30)
for cmd in sorted(cmds):
function,numparams,usage,helptext = cmds[cmd]
print "| %s | %s" % (usage.ljust(30), helptext)
print "="*78
function, numparams, usage, helptext = cmds[cmd]
print("| %s | %s" % (usage.ljust(30), helptext))
print("="*78)
def lastError( self, params ):
"""Show the reason or log that was produced by the last BitBake event exception"""
if last_exception is None:
print "SHELL: No Errors yet (Phew)..."
print("SHELL: No Errors yet (Phew)...")
else:
reason, event = last_exception.args
print "SHELL: Reason for the last error: '%s'" % reason
print("SHELL: Reason for the last error: '%s'" % reason)
if ':' in reason:
msg, filename = reason.split( ':' )
filename = filename.strip()
print "SHELL: Dumping log file for last error:"
print("SHELL: Dumping log file for last error:")
try:
print open( filename ).read()
print(open( filename ).read())
except IOError:
print "ERROR: Couldn't open '%s'" % filename
print("ERROR: Couldn't open '%s'" % filename)
def match( self, params ):
"""Dump all files or providers matching a glob expression"""
what, globexpr = params
if what == "files":
self._checkParsed()
for key in globfilter( cooker.status.pkg_fn, globexpr ): print key
for key in globfilter( cooker.status.pkg_fn, globexpr ): print(key)
elif what == "providers":
self._checkParsed()
for key in globfilter( cooker.status.pkg_pn, globexpr ): print key
for key in globfilter( cooker.status.pkg_pn, globexpr ): print(key)
else:
print "Usage: match %s" % self.print_.usage
print("Usage: match %s" % self.print_.usage)
match.usage = "<files|providers> <glob>"
def new( self, params ):
@@ -335,15 +333,15 @@ class BitBakeShellCommands:
fulldirname = "%s/%s" % ( packages, dirname )
if not os.path.exists( fulldirname ):
print "SHELL: Creating '%s'" % fulldirname
print("SHELL: Creating '%s'" % fulldirname)
os.mkdir( fulldirname )
if os.path.exists( fulldirname ) and os.path.isdir( fulldirname ):
if os.path.exists( "%s/%s" % ( fulldirname, filename ) ):
print "SHELL: ERROR: %s/%s already exists" % ( fulldirname, filename )
print("SHELL: ERROR: %s/%s already exists" % ( fulldirname, filename ))
return False
print "SHELL: Creating '%s/%s'" % ( fulldirname, filename )
print("SHELL: Creating '%s/%s'" % ( fulldirname, filename ))
newpackage = open( "%s/%s" % ( fulldirname, filename ), "w" )
print >>newpackage,"""DESCRIPTION = ""
print("""DESCRIPTION = ""
SECTION = ""
AUTHOR = ""
HOMEPAGE = ""
@@ -370,7 +368,7 @@ SRC_URI = ""
#do_install() {
#
#}
"""
""", file=newpackage)
newpackage.close()
os.system( "%s %s/%s" % ( os.environ.get( "EDITOR" ), fulldirname, filename ) )
new.usage = "<directory> <filename>"
@@ -390,14 +388,14 @@ SRC_URI = ""
def pasteLog( self, params ):
"""Send the last event exception error log (if there is one) to http://rafb.net/paste"""
if last_exception is None:
print "SHELL: No Errors yet (Phew)..."
print("SHELL: No Errors yet (Phew)...")
else:
reason, event = last_exception.args
print "SHELL: Reason for the last error: '%s'" % reason
print("SHELL: Reason for the last error: '%s'" % reason)
if ':' in reason:
msg, filename = reason.split( ':' )
filename = filename.strip()
print "SHELL: Pasting log file to pastebin..."
print("SHELL: Pasting log file to pastebin...")
file = open( filename ).read()
sendToPastebin( "contents of " + filename, file )
@@ -419,23 +417,23 @@ SRC_URI = ""
cooker.buildDepgraph()
global parsed
parsed = True
print
print()
def reparse( self, params ):
"""(re)Parse a providee's bb file"""
bbfile = self._findProvider( params[0] )
if bbfile is not None:
print "SHELL: Found bbfile '%s' for '%s'" % ( bbfile, params[0] )
print("SHELL: Found bbfile '%s' for '%s'" % ( bbfile, params[0] ))
self.fileReparse( [ bbfile ] )
else:
print "ERROR: Nothing provides '%s'" % params[0]
print("ERROR: Nothing provides '%s'" % params[0])
reparse.usage = "<providee>"
def getvar( self, params ):
"""Dump the contents of an outer BitBake environment variable"""
var = params[0]
value = data.getVar( var, cooker.configuration.data, 1 )
print value
print(value)
getvar.usage = "<variable>"
def peek( self, params ):
@@ -443,11 +441,11 @@ SRC_URI = ""
name, var = params
bbfile = self._findProvider( name )
if bbfile is not None:
the_data = cooker.bb_cache.loadDataFull(bbfile, cooker.configuration.data)
the_data = cache.Cache.loadDataFull(bbfile, cooker.configuration.data)
value = the_data.getVar( var, 1 )
print value
print(value)
else:
print "ERROR: Nothing provides '%s'" % name
print("ERROR: Nothing provides '%s'" % name)
peek.usage = "<providee> <variable>"
def poke( self, params ):
@@ -455,7 +453,7 @@ SRC_URI = ""
name, var, value = params
bbfile = self._findProvider( name )
if bbfile is not None:
print "ERROR: Sorry, this functionality is currently broken"
print("ERROR: Sorry, this functionality is currently broken")
#d = cooker.pkgdata[bbfile]
#data.setVar( var, value, d )
@@ -463,7 +461,7 @@ SRC_URI = ""
#cooker.pkgdata.setDirty(bbfile, d)
#print "OK"
else:
print "ERROR: Nothing provides '%s'" % name
print("ERROR: Nothing provides '%s'" % name)
poke.usage = "<providee> <variable> <value>"
def print_( self, params ):
@@ -471,12 +469,12 @@ SRC_URI = ""
what = params[0]
if what == "files":
self._checkParsed()
for key in cooker.status.pkg_fn: print key
for key in cooker.status.pkg_fn: print(key)
elif what == "providers":
self._checkParsed()
for key in cooker.status.providers: print key
for key in cooker.status.providers: print(key)
else:
print "Usage: print %s" % self.print_.usage
print("Usage: print %s" % self.print_.usage)
print_.usage = "<files|providers>"
def python( self, params ):
@@ -496,7 +494,7 @@ SRC_URI = ""
"""Set an outer BitBake environment variable"""
var, value = params
data.setVar( var, value, cooker.configuration.data )
print "OK"
print("OK")
setVar.usage = "<variable> <value>"
def rebuild( self, params ):
@@ -508,7 +506,7 @@ SRC_URI = ""
def shell( self, params ):
"""Execute a shell command and dump the output"""
if params != "":
print commands.getoutput( " ".join( params ) )
print(commands.getoutput( " ".join( params ) ))
shell.usage = "<...>"
def stage( self, params ):
@@ -518,17 +516,17 @@ SRC_URI = ""
def status( self, params ):
"""<just for testing>"""
print "-" * 78
print "building list = '%s'" % cooker.building_list
print "build path = '%s'" % cooker.build_path
print "consider_msgs_cache = '%s'" % cooker.consider_msgs_cache
print "build stats = '%s'" % cooker.stats
if last_exception is not None: print "last_exception = '%s'" % repr( last_exception.args )
print "memory output contents = '%s'" % self._shell.myout._buffer
print("-" * 78)
print("building list = '%s'" % cooker.building_list)
print("build path = '%s'" % cooker.build_path)
print("consider_msgs_cache = '%s'" % cooker.consider_msgs_cache)
print("build stats = '%s'" % cooker.stats)
if last_exception is not None: print("last_exception = '%s'" % repr( last_exception.args ))
print("memory output contents = '%s'" % self._shell.myout._buffer)
def test( self, params ):
"""<just for testing>"""
print "testCommand called with '%s'" % params
print("testCommand called with '%s'" % params)
def unpack( self, params ):
"""Execute 'unpack' on a providee"""
@@ -553,12 +551,12 @@ SRC_URI = ""
try:
providers = cooker.status.providers[item]
except KeyError:
print "SHELL: ERROR: Nothing provides", preferred
print("SHELL: ERROR: Nothing provides", preferred)
else:
for provider in providers:
if provider == pf: provider = " (***) %s" % provider
else: provider = " %s" % provider
print provider
print(provider)
which.usage = "<providee>"
##########################################################################
@@ -583,7 +581,7 @@ def sendToPastebin( desc, content ):
mydata["nick"] = "%s@%s" % ( os.environ.get( "USER", "unknown" ), socket.gethostname() or "unknown" )
mydata["text"] = content
params = urllib.urlencode( mydata )
headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
host = "rafb.net"
conn = httplib.HTTPConnection( "%s:80" % host )
@@ -594,9 +592,9 @@ def sendToPastebin( desc, content ):
if response.status == 302:
location = response.getheader( "location" ) or "unknown"
print "SHELL: Pasted to http://%s%s" % ( host, location )
print("SHELL: Pasted to http://%s%s" % ( host, location ))
else:
print "ERROR: %s %s" % ( response.status, response.reason )
print("ERROR: %s %s" % ( response.status, response.reason ))
def completer( text, state ):
"""Return a possible readline completion"""
@@ -643,7 +641,7 @@ def columnize( alist, width = 80 ):
return reduce(lambda line, word, width=width: '%s%s%s' %
(line,
' \n'[(len(line[line.rfind('\n')+1:])
+ len(word.split('\n',1)[0]
+ len(word.split('\n', 1)[0]
) >= width)],
word),
alist
@@ -718,7 +716,7 @@ class BitBakeShell:
except IOError:
pass # It doesn't exist yet.
print __credits__
print(__credits__)
def cleanup( self ):
"""Write readline history and clean up resources"""
@@ -726,7 +724,7 @@ class BitBakeShell:
try:
readline.write_history_file( self.historyfilename )
except:
print "SHELL: Unable to save command history"
print("SHELL: Unable to save command history")
def registerCommand( self, command, function, numparams = 0, usage = "", helptext = "" ):
"""Register a command"""
@@ -740,11 +738,11 @@ class BitBakeShell:
try:
function, numparams, usage, helptext = cmds[command]
except KeyError:
print "SHELL: ERROR: '%s' command is not a valid command." % command
print("SHELL: ERROR: '%s' command is not a valid command." % command)
self.myout.removeLast()
else:
if (numparams != -1) and (not len( params ) == numparams):
print "Usage: '%s'" % usage
print("Usage: '%s'" % usage)
return
result = function( self.commands, params )
@@ -759,7 +757,7 @@ class BitBakeShell:
if not cmdline:
continue
if "|" in cmdline:
print "ERROR: '|' in startup file is not allowed. Ignoring line"
print("ERROR: '|' in startup file is not allowed. Ignoring line")
continue
self.commandQ.put( cmdline.strip() )
@@ -801,10 +799,10 @@ class BitBakeShell:
sys.stdout.write( pipe.fromchild.read() )
#
except EOFError:
print
print()
return
except KeyboardInterrupt:
print
print()
##########################################################################
# Start function - called from the BitBake command line utility
@@ -819,4 +817,4 @@ def start( aCooker ):
bbshell.cleanup()
if __name__ == "__main__":
print "SHELL: Sorry, this program should only be called by BitBake."
print("SHELL: Sorry, this program should only be called by BitBake.")

296
bitbake/lib/bb/siggen.py Normal file
View File

@@ -0,0 +1,296 @@
import hashlib
import logging
import re
logger = logging.getLogger('BitBake.SigGen')
try:
import cPickle as pickle
except ImportError:
import pickle
logger.info('Importing cPickle failed. Falling back to a very slow implementation.')
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"
for sg in siggens:
if desired == sg.name:
return sg(d)
break
else:
logger.error("Invalid signature generator '%s', using default 'noop'\n"
"Available generators: %s",
', '.join(obj.name for obj in siggens))
return SignatureGenerator(d)
class SignatureGenerator(object):
"""
"""
name = "noop"
def __init__(self, data):
return
def finalise(self, fn, d, varient):
return
def get_taskhash(self, fn, task, deps, dataCache):
return 0
def set_taskdata(self, hashes, deps):
return
def stampfile(self, stampbase, file_name, taskname, extrainfo):
return ("%s.%s.%s" % (stampbase, taskname, extrainfo)).rstrip('.')
class SignatureGeneratorBasic(SignatureGenerator):
"""
"""
name = "basic"
def __init__(self, data):
self.basehash = {}
self.taskhash = {}
self.taskdeps = {}
self.runtaskdeps = {}
self.gendeps = {}
self.lookupcache = {}
self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST", True) or "").split())
self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST", True) or None
if self.taskwhitelist:
self.twl = re.compile(self.taskwhitelist)
else:
self.twl = None
def _build_data(self, fn, d):
tasklist, gendeps = bb.data.generate_dependencies(d)
taskdeps = {}
basehash = {}
lookupcache = {}
for task in tasklist:
data = d.getVar(task, False)
lookupcache[task] = data
newdeps = gendeps[task]
seen = set()
while newdeps:
nextdeps = newdeps
seen |= nextdeps
newdeps = set()
for dep in nextdeps:
if dep in self.basewhitelist:
continue
newdeps |= gendeps[dep]
newdeps -= seen
alldeps = seen - self.basewhitelist
for dep in sorted(alldeps):
if dep in lookupcache:
var = lookupcache[dep]
else:
var = d.getVar(dep, False)
lookupcache[dep] = var
if var:
data = data + var
if data is None:
bb.error("Task %s from %s seems to be empty?!" % (task, fn))
self.basehash[fn + "." + task] = hashlib.md5(data).hexdigest()
taskdeps[task] = sorted(alldeps)
self.taskdeps[fn] = taskdeps
self.gendeps[fn] = gendeps
self.lookupcache[fn] = lookupcache
return taskdeps
def finalise(self, fn, d, variant):
if variant:
fn = "virtual:" + variant + ":" + fn
taskdeps = self._build_data(fn, d)
#Slow but can be useful for debugging mismatched basehashes
#for task in self.taskdeps[fn]:
# self.dump_sigtask(fn, task, d.getVar("STAMP", True), False)
for task in taskdeps:
d.setVar("BB_BASEHASH_task-%s" % task, self.basehash[fn + "." + task])
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
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]
self.runtaskdeps[k].append(dep)
h = hashlib.md5(data).hexdigest()
self.taskhash[k] = h
#d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task])
return h
def set_taskdata(self, hashes, deps):
self.runtaskdeps = deps
self.taskhash = hashes
def dump_sigtask(self, fn, task, stampbase, runtime):
k = fn + "." + task
if runtime == "customfile":
sigfile = stampbase
elif runtime:
sigfile = stampbase + "." + task + ".sigdata" + "." + self.taskhash[k]
else:
sigfile = stampbase + "." + task + ".sigbasedata" + "." + self.basehash[k]
bb.utils.mkdirhier(os.path.dirname(sigfile))
data = {}
data['basewhitelist'] = self.basewhitelist
data['taskwhitelist'] = self.taskwhitelist
data['taskdeps'] = self.taskdeps[fn][task]
data['basehash'] = self.basehash[k]
data['gendeps'] = {}
data['varvals'] = {}
data['varvals'][task] = self.lookupcache[fn][task]
for dep in self.taskdeps[fn][task]:
if dep in self.basewhitelist:
continue
data['gendeps'][dep] = self.gendeps[fn][dep]
data['varvals'][dep] = self.lookupcache[fn][dep]
if runtime:
data['runtaskdeps'] = self.runtaskdeps[k]
data['runtaskhashes'] = {}
for dep in data['runtaskdeps']:
data['runtaskhashes'][dep] = self.taskhash[dep]
p = pickle.Pickler(file(sigfile, "wb"), -1)
p.dump(data)
def dump_sigs(self, dataCache):
for fn in self.taskdeps:
for task in self.taskdeps[fn]:
k = fn + "." + task
if k not in self.taskhash:
continue
if dataCache.basetaskhash[k] != self.basehash[k]:
bb.error("Bitbake's cached basehash does not match the one we just generated (%s)!" % k)
bb.error("The mismatched hashes were %s and %s" % (dataCache.basetaskhash[k], self.basehash[k]))
self.dump_sigtask(fn, task, dataCache.stamp[fn], True)
class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
name = "basichash"
def stampfile(self, stampbase, fn, taskname, extrainfo):
if taskname != "do_setscene" and taskname.endswith("_setscene"):
k = fn + "." + taskname[:-9]
else:
k = fn + "." + taskname
h = self.taskhash[k]
return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.')
def dump_this_task(outfile, d):
fn = d.getVar("BB_FILENAME", True)
task = "do_" + d.getVar("BB_CURRENTTASK", True)
bb.parse.siggen.dump_sigtask(fn, task, outfile, "customfile")
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):
sa = set(a.keys())
sb = set(b.keys())
common = sa & sb
changed = set()
for i in common:
if a[i] != b[i]:
changed.add(i)
added = sa - sb
removed = sb - sa
return changed, added, removed
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 '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['taskdeps'] != b_data['taskdeps']:
print "Task dependencies changed from %s to %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'])
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 added:
for dep in added:
print "Dependency on variable %s was added" % (dep)
if removed:
for dep in removed:
print "Dependency on Variable %s was removed" % (dep)
changed, added, removed = dict_diff(a_data['varvals'], b_data['varvals'])
if changed:
for dep in changed:
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'])
if added:
for dep in added:
print "Dependency on task %s was added" % (dep)
if removed:
for dep in removed:
print "Dependency on task %s was removed" % (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']))
def dump_sigfile(a):
p1 = pickle.Unpickler(file(a, "rb"))
a_data = p1.load()
print "basewhitelist: %s" % (a_data['basewhitelist'])
print "taskwhitelist: %s" % (a_data['taskwhitelist'])
print "Task dependencies: %s" % (sorted(a_data['taskdeps']))
print "basehash: %s" % (a_data['basehash'])
for dep in a_data['gendeps']:
print "List of dependencies for variable %s is %s" % (dep, a_data['gendeps'][dep])
for dep in a_data['varvals']:
print "Variable %s value is %s" % (dep, a_data['varvals'][dep])
if 'runtaskdeps' in a_data:
print "Tasks this task depends on: %s" % (a_data['runtaskdeps'])
if 'runtaskhashes' in a_data:
for dep in a_data['runtaskhashes']:
print "Hash for dependent task %s is %s" % (dep, a_data['runtaskhashes'][dep])

View File

@@ -23,20 +23,19 @@ Task data collection and handling
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import logging
import re
import bb
logger = logging.getLogger("BitBake.TaskData")
def re_match_strings(target, strings):
"""
Whether or not the string 'target' matches
any one string of the strings which can be regular expression string
"""
import re
for name in strings:
if (name==target or
re.search(name,target)!=None):
return True
return False
return any(name == target or re.match(name, target)
for name in strings)
class TaskData:
"""
@@ -84,7 +83,7 @@ class TaskData:
def getrun_id(self, name):
"""
Return an ID number for the run target name.
Return an ID number for the run target name.
If it doesn't exist, create one.
"""
if not name in self.run_names_index:
@@ -95,7 +94,7 @@ class TaskData:
def getfn_id(self, name):
"""
Return an ID number for the filename.
Return an ID number for the filename.
If it doesn't exist, create one.
"""
if not name in self.fn_index:
@@ -182,7 +181,7 @@ class TaskData:
if not fnid in self.depids:
dependids = {}
for depend in dataCache.deps[fn]:
bb.msg.debug(2, bb.msg.domain.TaskData, "Added dependency %s for %s" % (depend, fn))
logger.debug(2, "Added dependency %s for %s", depend, fn)
dependids[self.getbuild_id(depend)] = None
self.depids[fnid] = dependids.keys()
@@ -192,12 +191,12 @@ class TaskData:
rdepends = dataCache.rundeps[fn]
rrecs = dataCache.runrecs[fn]
for package in rdepends:
for rdepend in bb.utils.explode_deps(rdepends[package]):
bb.msg.debug(2, bb.msg.domain.TaskData, "Added runtime dependency %s for %s" % (rdepend, fn))
for rdepend in rdepends[package]:
logger.debug(2, "Added runtime dependency %s for %s", rdepend, fn)
rdependids[self.getrun_id(rdepend)] = None
for package in rrecs:
for rdepend in bb.utils.explode_deps(rrecs[package]):
bb.msg.debug(2, bb.msg.domain.TaskData, "Added runtime recommendation %s for %s" % (rdepend, fn))
for rdepend in rrecs[package]:
logger.debug(2, "Added runtime recommendation %s for %s", rdepend, fn)
rdependids[self.getrun_id(rdepend)] = None
self.rdepids[fnid] = rdependids.keys()
@@ -271,7 +270,7 @@ class TaskData:
def get_unresolved_build_targets(self, dataCache):
"""
Return a list of build targets who's providers
Return a list of build targets who's providers
are unknown.
"""
unresolved = []
@@ -286,7 +285,7 @@ class TaskData:
def get_unresolved_run_targets(self, dataCache):
"""
Return a list of runtime targets who's providers
Return a list of runtime targets who's providers
are unknown.
"""
unresolved = []
@@ -304,7 +303,7 @@ class TaskData:
Return a list of providers of item
"""
targetid = self.getbuild_id(item)
return self.build_targets[targetid]
def get_dependees(self, itemid):
@@ -354,20 +353,15 @@ class TaskData:
self.add_provider_internal(cfgData, dataCache, item)
except bb.providers.NoProvider:
if self.abort:
if self.get_rdependees_str(item):
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
else:
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item))
raise
targetid = self.getbuild_id(item)
self.remove_buildtarget(targetid)
self.remove_buildtarget(self.getbuild_id(item))
self.mark_external_target(item)
def add_provider_internal(self, cfgData, dataCache, item):
"""
Add the providers of item to the task data
Mark entries were specifically added externally as against dependencies
Mark entries were specifically added externally as against dependencies
added internally during dependency resolution
"""
@@ -375,11 +369,7 @@ class TaskData:
return
if not item in dataCache.providers:
if self.get_rdependees_str(item):
bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
else:
bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item))
bb.event.fire(bb.event.NoProvider(item), cfgData)
bb.event.fire(bb.event.NoProvider(item, dependees=self.get_rdependees_str(item)), cfgData)
raise bb.providers.NoProvider(item)
if self.have_build_target(item):
@@ -391,8 +381,7 @@ class TaskData:
eligible = [p for p in eligible if not self.getfn_id(p) in self.failed_fnids]
if not eligible:
bb.msg.note(2, bb.msg.domain.Provider, "No buildable provider PROVIDES '%s' but '%s' DEPENDS on or otherwise requires it. Enable debugging and see earlier logs to find unbuildable providers." % (item, self.get_dependees_str(item)))
bb.event.fire(bb.event.NoProvider(item), cfgData)
bb.event.fire(bb.event.NoProvider(item, dependees=self.get_dependees_str(item)), cfgData)
raise bb.providers.NoProvider(item)
if len(eligible) > 1 and foundUnique == False:
@@ -400,8 +389,6 @@ class TaskData:
providers_list = []
for fn in eligible:
providers_list.append(dataCache.pkg_fn[fn])
bb.msg.note(1, bb.msg.domain.Provider, "multiple providers are available for %s (%s);" % (item, ", ".join(providers_list)))
bb.msg.note(1, bb.msg.domain.Provider, "consider defining PREFERRED_PROVIDER_%s" % item)
bb.event.fire(bb.event.MultipleProviders(item, providers_list), cfgData)
self.consider_msgs_cache.append(item)
@@ -409,7 +396,7 @@ class TaskData:
fnid = self.getfn_id(fn)
if fnid in self.failed_fnids:
continue
bb.msg.debug(2, bb.msg.domain.Provider, "adding %s to satisfy %s" % (fn, item))
logger.debug(2, "adding %s to satisfy %s", fn, item)
self.add_build_target(fn, item)
self.add_tasks(fn, dataCache)
@@ -431,16 +418,14 @@ class TaskData:
all_p = bb.providers.getRuntimeProviders(dataCache, item)
if not all_p:
bb.msg.error(bb.msg.domain.Provider, "'%s' RDEPENDS/RRECOMMENDS or otherwise requires the runtime entity '%s' but it wasn't found in any PACKAGE or RPROVIDES variables" % (self.get_rdependees_str(item), item))
bb.event.fire(bb.event.NoProvider(item, runtime=True), cfgData)
bb.event.fire(bb.event.NoProvider(item, runtime=True, dependees=self.get_rdependees_str(item)), cfgData)
raise bb.providers.NoRProvider(item)
eligible, numberPreferred = bb.providers.filterProvidersRunTime(all_p, item, cfgData, dataCache)
eligible = [p for p in eligible if not self.getfn_id(p) in self.failed_fnids]
if not eligible:
bb.msg.error(bb.msg.domain.Provider, "'%s' RDEPENDS/RRECOMMENDS or otherwise requires the runtime entity '%s' but it wasn't found in any PACKAGE or RPROVIDES variables of any buildable targets.\nEnable debugging and see earlier logs to find unbuildable targets." % (self.get_rdependees_str(item), item))
bb.event.fire(bb.event.NoProvider(item, runtime=True), cfgData)
bb.event.fire(bb.event.NoProvider(item, runtime=True, dependees=self.get_rdependees_str(item)), cfgData)
raise bb.providers.NoRProvider(item)
if len(eligible) > 1 and numberPreferred == 0:
@@ -448,9 +433,7 @@ class TaskData:
providers_list = []
for fn in eligible:
providers_list.append(dataCache.pkg_fn[fn])
bb.msg.note(2, bb.msg.domain.Provider, "multiple providers are available for runtime %s (%s);" % (item, ", ".join(providers_list)))
bb.msg.note(2, bb.msg.domain.Provider, "consider defining a PREFERRED_PROVIDER entry to match runtime %s" % item)
bb.event.fire(bb.event.MultipleProviders(item,providers_list, runtime=True), cfgData)
bb.event.fire(bb.event.MultipleProviders(item, providers_list, runtime=True), cfgData)
self.consider_msgs_cache.append(item)
if numberPreferred > 1:
@@ -458,9 +441,7 @@ class TaskData:
providers_list = []
for fn in eligible:
providers_list.append(dataCache.pkg_fn[fn])
bb.msg.note(2, bb.msg.domain.Provider, "multiple providers are available for runtime %s (top %s entries preferred) (%s);" % (item, numberPreferred, ", ".join(providers_list)))
bb.msg.note(2, bb.msg.domain.Provider, "consider defining only one PREFERRED_PROVIDER entry to match runtime %s" % item)
bb.event.fire(bb.event.MultipleProviders(item,providers_list, runtime=True), cfgData)
bb.event.fire(bb.event.MultipleProviders(item, providers_list, runtime=True), cfgData)
self.consider_msgs_cache.append(item)
# run through the list until we find one that we can build
@@ -468,7 +449,7 @@ class TaskData:
fnid = self.getfn_id(fn)
if fnid in self.failed_fnids:
continue
bb.msg.debug(2, bb.msg.domain.Provider, "adding '%s' to satisfy runtime '%s'" % (fn, item))
logger.debug(2, "adding '%s' to satisfy runtime '%s'", fn, item)
self.add_runtime_target(fn, item)
self.add_tasks(fn, dataCache)
@@ -481,7 +462,7 @@ class TaskData:
"""
if fnid in self.failed_fnids:
return
bb.msg.debug(1, bb.msg.domain.Provider, "File '%s' is unbuildable, removing..." % self.fn_index[fnid])
logger.debug(1, "File '%s' is unbuildable, removing...", self.fn_index[fnid])
self.failed_fnids.append(fnid)
for target in self.build_targets:
if fnid in self.build_targets[target]:
@@ -503,20 +484,21 @@ class TaskData:
missing_list = [self.build_names_index[targetid]]
else:
missing_list = [self.build_names_index[targetid]] + missing_list
bb.msg.note(2, bb.msg.domain.Provider, "Target '%s' is unbuildable, removing...\nMissing or unbuildable dependency chain was: %s" % (self.build_names_index[targetid], missing_list))
logger.verbose("Target '%s' is unbuildable, removing...\nMissing or unbuildable dependency chain was: %s", self.build_names_index[targetid], missing_list)
self.failed_deps.append(targetid)
dependees = self.get_dependees(targetid)
for fnid in dependees:
self.fail_fnid(fnid, missing_list)
for taskid in range(len(self.tasks_idepends)):
for taskid in xrange(len(self.tasks_idepends)):
idepends = self.tasks_idepends[taskid]
for (idependid, idependtask) in idepends:
if idependid == targetid:
self.fail_fnid(self.tasks_fnid[taskid], missing_list)
if self.abort and targetid in self.external_targets:
bb.msg.error(bb.msg.domain.Provider, "Required build target '%s' has no buildable providers.\nMissing or unbuildable dependency chain was: %s" % (self.build_names_index[targetid], missing_list))
raise bb.providers.NoProvider
target = self.build_names_index[targetid]
logger.error("Required build target '%s' has no buildable providers.\nMissing or unbuildable dependency chain was: %s", target, missing_list)
raise bb.providers.NoProvider(target)
def remove_runtarget(self, targetid, missing_list = []):
"""
@@ -528,7 +510,7 @@ class TaskData:
else:
missing_list = [self.run_names_index[targetid]] + missing_list
bb.msg.note(1, bb.msg.domain.Provider, "Runtime target '%s' is unbuildable, removing...\nMissing or unbuildable dependency chain was: %s" % (self.run_names_index[targetid], missing_list))
logger.info("Runtime target '%s' is unbuildable, removing...\nMissing or unbuildable dependency chain was: %s", self.run_names_index[targetid], missing_list)
self.failed_rdeps.append(targetid)
dependees = self.get_rdependees(targetid)
for fnid in dependees:
@@ -538,8 +520,8 @@ class TaskData:
"""
Resolve all unresolved build and runtime targets
"""
bb.msg.note(1, bb.msg.domain.TaskData, "Resolving any missing task queue dependencies")
while 1:
logger.info("Resolving any missing task queue dependencies")
while True:
added = 0
for target in self.get_unresolved_build_targets(dataCache):
try:
@@ -548,10 +530,6 @@ class TaskData:
except bb.providers.NoProvider:
targetid = self.getbuild_id(target)
if self.abort and targetid in self.external_targets:
if self.get_rdependees_str(target):
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target)))
else:
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (target))
raise
self.remove_buildtarget(targetid)
for target in self.get_unresolved_run_targets(dataCache):
@@ -560,7 +538,7 @@ class TaskData:
added = added + 1
except bb.providers.NoRProvider:
self.remove_runtarget(self.getrun_id(target))
bb.msg.debug(1, bb.msg.domain.TaskData, "Resolved " + str(added) + " extra dependencies")
logger.debug(1, "Resolved " + str(added) + " extra dependencies")
if added == 0:
break
# self.dump_data()
@@ -569,42 +547,40 @@ class TaskData:
"""
Dump some debug information on the internal data structures
"""
bb.msg.debug(3, bb.msg.domain.TaskData, "build_names:")
bb.msg.debug(3, bb.msg.domain.TaskData, ", ".join(self.build_names_index))
logger.debug(3, "build_names:")
logger.debug(3, ", ".join(self.build_names_index))
bb.msg.debug(3, bb.msg.domain.TaskData, "run_names:")
bb.msg.debug(3, bb.msg.domain.TaskData, ", ".join(self.run_names_index))
logger.debug(3, "run_names:")
logger.debug(3, ", ".join(self.run_names_index))
bb.msg.debug(3, bb.msg.domain.TaskData, "build_targets:")
for buildid in range(len(self.build_names_index)):
logger.debug(3, "build_targets:")
for buildid in xrange(len(self.build_names_index)):
target = self.build_names_index[buildid]
targets = "None"
if buildid in self.build_targets:
targets = self.build_targets[buildid]
bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s: %s" % (buildid, target, targets))
logger.debug(3, " (%s)%s: %s", buildid, target, targets)
bb.msg.debug(3, bb.msg.domain.TaskData, "run_targets:")
for runid in range(len(self.run_names_index)):
logger.debug(3, "run_targets:")
for runid in xrange(len(self.run_names_index)):
target = self.run_names_index[runid]
targets = "None"
if runid in self.run_targets:
targets = self.run_targets[runid]
bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s: %s" % (runid, target, targets))
logger.debug(3, " (%s)%s: %s", runid, target, targets)
bb.msg.debug(3, bb.msg.domain.TaskData, "tasks:")
for task in range(len(self.tasks_name)):
bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s - %s: %s" % (
task,
self.fn_index[self.tasks_fnid[task]],
self.tasks_name[task],
self.tasks_tdepends[task]))
logger.debug(3, "tasks:")
for task in xrange(len(self.tasks_name)):
logger.debug(3, " (%s)%s - %s: %s",
task,
self.fn_index[self.tasks_fnid[task]],
self.tasks_name[task],
self.tasks_tdepends[task])
bb.msg.debug(3, bb.msg.domain.TaskData, "dependency ids (per fn):")
logger.debug(3, "dependency ids (per fn):")
for fnid in self.depids:
bb.msg.debug(3, bb.msg.domain.TaskData, " %s %s: %s" % (fnid, self.fn_index[fnid], self.depids[fnid]))
logger.debug(3, " %s %s: %s", fnid, self.fn_index[fnid], self.depids[fnid])
bb.msg.debug(3, bb.msg.domain.TaskData, "runtime dependency ids (per fn):")
logger.debug(3, "runtime dependency ids (per fn):")
for fnid in self.rdepids:
bb.msg.debug(3, bb.msg.domain.TaskData, " %s %s: %s" % (fnid, self.fn_index[fnid], self.rdepids[fnid]))
logger.debug(3, " %s %s: %s", fnid, self.fn_index[fnid], self.rdepids[fnid])

View File

@@ -15,4 +15,3 @@
# 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.

View File

@@ -15,4 +15,3 @@
# 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.

View File

@@ -28,7 +28,7 @@ import time
class BuildConfiguration:
""" Represents a potential *or* historic *or* concrete build. It
encompasses all the things that we need to tell bitbake to do to make it
build what we want it to build.
build what we want it to build.
It also stored the metadata URL and the set of possible machines (and the
distros / images / uris for these. Apart from the metdata URL these are
@@ -73,34 +73,33 @@ class BuildConfiguration:
return self.urls
# It might be a lot lot better if we stored these in like, bitbake conf
# file format.
@staticmethod
# file format.
@staticmethod
def load_from_file (filename):
f = open (filename, "r")
conf = BuildConfiguration()
for line in f.readlines():
data = line.split (";")[1]
if (line.startswith ("metadata-url;")):
conf.metadata_url = data.strip()
continue
if (line.startswith ("url;")):
conf.urls += [data.strip()]
continue
if (line.startswith ("extra-url;")):
conf.extra_urls += [data.strip()]
continue
if (line.startswith ("machine;")):
conf.machine = data.strip()
continue
if (line.startswith ("distribution;")):
conf.distro = data.strip()
continue
if (line.startswith ("image;")):
conf.image = data.strip()
continue
with open(filename, "r") as f:
for line in f:
data = line.split (";")[1]
if (line.startswith ("metadata-url;")):
conf.metadata_url = data.strip()
continue
if (line.startswith ("url;")):
conf.urls += [data.strip()]
continue
if (line.startswith ("extra-url;")):
conf.extra_urls += [data.strip()]
continue
if (line.startswith ("machine;")):
conf.machine = data.strip()
continue
if (line.startswith ("distribution;")):
conf.distro = data.strip()
continue
if (line.startswith ("image;")):
conf.image = data.strip()
continue
f.close ()
return conf
# Serialise to a file. This is part of the build process and we use this
@@ -140,13 +139,13 @@ class BuildResult(gobject.GObject):
".conf" in the directory for the build.
This is GObject so that it can be included in the TreeStore."""
(STATE_COMPLETE, STATE_FAILED, STATE_ONGOING) = \
(0, 1, 2)
def __init__ (self, parent, identifier):
gobject.GObject.__init__ (self)
self.date = None
self.date = None
self.files = []
self.status = None
@@ -157,8 +156,8 @@ class BuildResult(gobject.GObject):
# format build-<year><month><day>-<ordinal> we can easily
# pull it out.
# TODO: Better to stat a file?
(_ , date, revision) = identifier.split ("-")
print date
(_, date, revision) = identifier.split ("-")
print(date)
year = int (date[0:4])
month = int (date[4:6])
@@ -181,7 +180,7 @@ class BuildResult(gobject.GObject):
self.add_file (file)
def add_file (self, file):
# Just add the file for now. Don't care about the type.
# Just add the file for now. Don't care about the type.
self.files += [(file, None)]
class BuildManagerModel (gtk.TreeStore):
@@ -194,7 +193,7 @@ class BuildManagerModel (gtk.TreeStore):
def __init__ (self):
gtk.TreeStore.__init__ (self,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
@@ -207,7 +206,7 @@ class BuildManager (gobject.GObject):
"results" directory but is also used for starting a new build."""
__gsignals__ = {
'population-finished' : (gobject.SIGNAL_RUN_LAST,
'population-finished' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'populate-error' : (gobject.SIGNAL_RUN_LAST,
@@ -220,13 +219,13 @@ class BuildManager (gobject.GObject):
date = long (time.mktime (result.date.timetuple()))
# Add a top level entry for the build
self.model.set (iter,
self.model.set (iter,
BuildManagerModel.COL_IDENT, result.identifier,
BuildManagerModel.COL_DESC, result.conf.image,
BuildManagerModel.COL_MACHINE, result.conf.machine,
BuildManagerModel.COL_DISTRO, result.conf.distro,
BuildManagerModel.COL_BUILD_RESULT, result,
BuildManagerModel.COL_MACHINE, result.conf.machine,
BuildManagerModel.COL_DISTRO, result.conf.distro,
BuildManagerModel.COL_BUILD_RESULT, result,
BuildManagerModel.COL_DATE, date,
BuildManagerModel.COL_STATE, result.state)
@@ -257,7 +256,7 @@ class BuildManager (gobject.GObject):
while (iter):
(ident, state) = self.model.get(iter,
BuildManagerModel.COL_IDENT,
BuildManagerModel.COL_IDENT,
BuildManagerModel.COL_STATE)
if state == BuildResult.STATE_ONGOING:
@@ -385,8 +384,8 @@ class BuildManager (gobject.GObject):
build_directory])
server.runCommand(["buildTargets", [conf.image], "rootfs"])
except Exception, e:
print e
except Exception as e:
print(e)
class BuildManagerTreeView (gtk.TreeView):
""" The tree view for the build manager. This shows the historic builds
@@ -422,29 +421,29 @@ class BuildManagerTreeView (gtk.TreeView):
# Misc descriptiony thing
renderer = gtk.CellRendererText ()
col = gtk.TreeViewColumn (None, renderer,
col = gtk.TreeViewColumn (None, renderer,
text=BuildManagerModel.COL_DESC)
self.append_column (col)
# Machine
renderer = gtk.CellRendererText ()
col = gtk.TreeViewColumn ("Machine", renderer,
col = gtk.TreeViewColumn ("Machine", renderer,
text=BuildManagerModel.COL_MACHINE)
self.append_column (col)
# distro
renderer = gtk.CellRendererText ()
col = gtk.TreeViewColumn ("Distribution", renderer,
col = gtk.TreeViewColumn ("Distribution", renderer,
text=BuildManagerModel.COL_DISTRO)
self.append_column (col)
# date (using a custom function for formatting the cell contents it
# takes epoch -> human readable string)
renderer = gtk.CellRendererText ()
col = gtk.TreeViewColumn ("Date", renderer,
col = gtk.TreeViewColumn ("Date", renderer,
text=BuildManagerModel.COL_DATE)
self.append_column (col)
col.set_cell_data_func (renderer,
col.set_cell_data_func (renderer,
self.date_format_custom_cell_data_func)
# For status.
@@ -454,4 +453,3 @@ class BuildManagerTreeView (gtk.TreeView):
self.append_column (col)
col.set_cell_data_func (renderer,
self.state_format_custom_cell_data_fun)

View File

@@ -0,0 +1,17 @@
import gtk
class ProgressBar(gtk.Dialog):
def __init__(self, parent):
gtk.Dialog.__init__(self)
self.set_title("Parsing metadata, please wait...")
self.set_default_size(500, 0)
self.set_transient_for(parent)
self.set_destroy_with_parent(True)
self.progress = gtk.ProgressBar()
self.vbox.pack_start(self.progress)
self.show_all()
def update(self, x, y):
self.progress.set_fraction(float(x)/float(y))
self.progress.set_text("%2d %%" % (x*100/y))

View File

@@ -1,3 +1,4 @@
#
# BitBake Graphical GTK User Interface
#
@@ -20,21 +21,33 @@
import gtk
import gobject
import logging
import time
import urllib
import urllib2
class Colors(object):
OK = "#ffffff"
RUNNING = "#aaffaa"
WARNING ="#f88017"
ERROR = "#ffaaaa"
class RunningBuildModel (gtk.TreeStore):
(COL_TYPE, COL_PACKAGE, COL_TASK, COL_MESSAGE, COL_ICON, COL_ACTIVE) = (0, 1, 2, 3, 4, 5)
(COL_LOG, COL_PACKAGE, COL_TASK, COL_MESSAGE, COL_ICON, COL_COLOR, COL_NUM_ACTIVE) = range(7)
def __init__ (self):
gtk.TreeStore.__init__ (self,
gtk.TreeStore.__init__ (self,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_BOOLEAN)
gobject.TYPE_STRING,
gobject.TYPE_INT)
class RunningBuild (gobject.GObject):
__gsignals__ = {
'build-succeeded' : (gobject.SIGNAL_RUN_LAST,
'build-succeeded' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'build-failed' : (gobject.SIGNAL_RUN_LAST,
@@ -48,7 +61,7 @@ class RunningBuild (gobject.GObject):
gobject.GObject.__init__ (self)
self.model = RunningBuildModel()
def handle_event (self, event):
def handle_event (self, event, pbar=None):
# Handle an event from the event queue, this may result in updating
# the model and thus the UI. Or it may be to tell us that the build
# has finished successfully (or not, as the case may be.)
@@ -63,106 +76,190 @@ class RunningBuild (gobject.GObject):
# for the message.
if hasattr(event, 'pid'):
pid = event.pid
if self.pids_to_task.has_key(pid):
(package, task) = self.pids_to_task[pid]
parent = self.tasks_to_iter[(package, task)]
if hasattr(event, 'process'):
pid = event.process
if isinstance(event, bb.msg.Msg):
# Set a pretty icon for the message based on it's type.
if isinstance(event, bb.msg.MsgWarn):
icon = "dialog-warning"
elif isinstance(event, bb.msg.MsgErr):
if pid and pid in self.pids_to_task:
(package, task) = self.pids_to_task[pid]
parent = self.tasks_to_iter[(package, task)]
if(isinstance(event, logging.LogRecord)):
if (event.msg.startswith ("Running task")):
return # don't add these to the list
if event.levelno >= logging.ERROR:
icon = "dialog-error"
color = Colors.ERROR
elif event.levelno >= logging.WARNING:
icon = "dialog-warning"
color = Colors.WARNING
else:
icon = None
color = Colors.OK
# Ignore the "Running task i of n .." messages
if (event._message.startswith ("Running task")):
return
# 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
if parent:
tree_add = self.model.append
else:
tree_add = self.model.prepend
tree_add(parent,
(None,
package,
task,
event.getMessage(),
icon,
color,
0))
# Add the message to the tree either at the top level if parent is
# None otherwise as a descendent of a task.
self.model.append (parent,
(event.__name__.split()[-1], # e.g. MsgWarn, MsgError
package,
task,
event._message,
icon,
False))
elif isinstance(event, bb.build.TaskStarted):
(package, task) = (event._package, event._task)
# Save out this PID.
self.pids_to_task[pid] = (package,task)
self.pids_to_task[pid] = (package, task)
# Check if we already have this package in our model. If so then
# that can be the parent for the task. Otherwise we create a new
# top level for the package.
if (self.tasks_to_iter.has_key ((package, None))):
if ((package, None) in self.tasks_to_iter):
parent = self.tasks_to_iter[(package, None)]
else:
parent = self.model.append (None, (None,
package,
parent = self.model.prepend(None, (None,
package,
None,
"Package: %s" % (package),
"Package: %s" % (package),
None,
False))
Colors.OK,
0))
self.tasks_to_iter[(package, None)] = parent
# Because this parent package now has an active child mark it as
# such.
self.model.set(parent, self.model.COL_ICON, "gtk-execute")
# @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)
# Add an entry in the model for this task
i = self.model.append (parent, (None,
package,
i = self.model.append (parent, (None,
package,
task,
"Task: %s" % (task),
None,
False))
"Task: %s" % (task),
"gtk-execute",
Colors.RUNNING,
0))
# update the parent's active task count
num_active = self.model.get(parent, self.model.COL_NUM_ACTIVE)[0] + 1
self.model.set(parent, self.model.COL_NUM_ACTIVE, num_active)
# Save out the iter so that we can find it when we have a message
# that we need to attach to a task.
self.tasks_to_iter[(package, task)] = i
# Mark this task as active.
self.model.set(i, self.model.COL_ICON, "gtk-execute")
elif isinstance(event, bb.build.TaskBase):
current = self.tasks_to_iter[(package, task)]
parent = self.tasks_to_iter[(package, None)]
elif isinstance(event, bb.build.Task):
# remove this task from the parent's active count
num_active = self.model.get(parent, self.model.COL_NUM_ACTIVE)[0] - 1
self.model.set(parent, self.model.COL_NUM_ACTIVE, num_active)
if isinstance(event, bb.build.TaskFailed):
# Mark the task as failed
i = self.tasks_to_iter[(package, task)]
self.model.set(i, self.model.COL_ICON, "dialog-error")
# Mark the task and parent as failed
icon = "dialog-error"
color = Colors.ERROR
# Mark the parent package as failed
i = self.tasks_to_iter[(package, None)]
self.model.set(i, self.model.COL_ICON, "dialog-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))
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
# Mark the task as inactive
i = self.tasks_to_iter[(package, task)]
self.model.set(i, self.model.COL_ICON, None)
self.model.set(current, self.model.COL_ICON, icon,
self.model.COL_COLOR, color)
# Mark the parent package as inactive
# Mark the parent package as inactive, but make sure to
# preserve error and active states
i = self.tasks_to_iter[(package, None)]
self.model.set(i, self.model.COL_ICON, None)
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)
# Clear the iters and the pids since when the task goes away the
# pid will no longer be used for messages
del self.tasks_to_iter[(package, task)]
del self.pids_to_task[pid]
elif isinstance(event, bb.event.BuildStarted):
self.model.prepend(None, (None,
None,
None,
"Build Started (%s)" % time.strftime('%m/%d/%Y %H:%M:%S'),
None,
Colors.OK,
0))
elif isinstance(event, bb.event.BuildCompleted):
failures = int (event._failures)
self.model.prepend(None, (None,
None,
None,
"Build Completed (%s)" % time.strftime('%m/%d/%Y %H:%M:%S'),
None,
Colors.OK,
0))
# Emit the appropriate signal depending on the number of failures
if (failures > 1):
if (failures >= 1):
self.emit ("build-failed")
else:
self.emit ("build-succeeded")
elif isinstance(event, bb.event.CacheLoadStarted) and pbar:
pbar.set_title("Loading cache")
self.progress_total = event.total
pbar.update(0, self.progress_total)
elif isinstance(event, bb.event.CacheLoadProgress) and pbar:
pbar.update(event.current, self.progress_total)
elif isinstance(event, bb.event.CacheLoadCompleted) and pbar:
pbar.update(self.progress_total, self.progress_total)
elif isinstance(event, bb.event.ParseStarted) and pbar:
pbar.set_title("Processing recipes")
self.progress_total = event.total
pbar.update(0, self.progress_total)
elif isinstance(event, bb.event.ParseProgress) and pbar:
pbar.update(event.current, self.progress_total)
elif isinstance(event, bb.event.ParseCompleted) and pbar:
pbar.hide()
return
def do_pastebin(text):
url = 'http://pastebin.com/api_public.php'
params = {'paste_code': text, 'paste_format': 'text'}
req = urllib2.Request(url, urllib.urlencode(params))
response = urllib2.urlopen(req)
paste_url = response.read()
return paste_url
class RunningBuildTreeView (gtk.TreeView):
__gsignals__ = {
"button_press_event" : "override"
}
def __init__ (self):
gtk.TreeView.__init__ (self)
@@ -173,8 +270,42 @@ class RunningBuildTreeView (gtk.TreeView):
self.append_column (col)
# The message of the build.
renderer = gtk.CellRendererText ()
col = gtk.TreeViewColumn ("Message", renderer, text=3)
self.append_column (col)
self.message_renderer = gtk.CellRendererText ()
self.message_column = gtk.TreeViewColumn ("Message", self.message_renderer, text=3)
self.message_column.add_attribute(self.message_renderer, 'background', 5)
self.message_renderer.set_property('editable', 5)
self.append_column (self.message_column)
def do_button_press_event(self, event):
gtk.TreeView.do_button_press_event(self, event)
if event.button == 3:
selection = super(RunningBuildTreeView, self).get_selection()
(model, iter) = selection.get_selected()
if iter is not None:
can_paste = model.get(iter, model.COL_LOG)[0]
if can_paste == 'pastebin':
# build a simple menu with a pastebin option
menu = gtk.Menu()
menuitem = gtk.MenuItem("Send log to pastebin")
menu.append(menuitem)
menuitem.connect("activate", self.pastebin_handler, (model, iter))
menuitem.show()
menu.show()
menu.popup(None, None, None, event.button, event.time)
def pastebin_handler(self, widget, data):
"""
Send the log data to pastebin, then add the new paste url to the
clipboard.
"""
(model, iter) = data
paste_url = do_pastebin(model.get(iter, model.COL_MESSAGE)[0])
# @todo Provide visual feedback to the user that it is done and that
# it worked.
print paste_url
clipboard = gtk.clipboard_get()
clipboard.set_text(paste_url)
clipboard.store()

View File

@@ -19,8 +19,12 @@
import gobject
import gtk
import Queue
import threading
import xmlrpclib
import bb
import bb.event
from bb.ui.crumbs.progress import ProgressBar
# Package Model
(COL_PKG_NAME) = (0)
@@ -29,6 +33,7 @@ import xmlrpclib
(TYPE_DEP, TYPE_RDEP) = (0, 1)
(COL_DEP_TYPE, COL_DEP_PARENT, COL_DEP_PACKAGE) = (0, 1, 2)
class PackageDepView(gtk.TreeView):
def __init__(self, model, dep_type, label):
gtk.TreeView.__init__(self)
@@ -49,6 +54,7 @@ class PackageDepView(gtk.TreeView):
self.current = package
self.filter_model.refilter()
class PackageReverseDepView(gtk.TreeView):
def __init__(self, model, label):
gtk.TreeView.__init__(self)
@@ -66,6 +72,7 @@ class PackageReverseDepView(gtk.TreeView):
self.current = package
self.filter_model.refilter()
class DepExplorer(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
@@ -75,7 +82,9 @@ class DepExplorer(gtk.Window):
# Create the data models
self.pkg_model = gtk.ListStore(gobject.TYPE_STRING)
self.pkg_model.set_sort_column_id(COL_PKG_NAME, gtk.SORT_ASCENDING)
self.depends_model = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING, gobject.TYPE_STRING)
self.depends_model.set_sort_column_id(COL_DEP_PACKAGE, gtk.SORT_ASCENDING)
pane = gtk.HPaned()
pane.set_position(250)
@@ -85,9 +94,11 @@ class DepExplorer(gtk.Window):
scrolled = gtk.ScrolledWindow()
scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scrolled.set_shadow_type(gtk.SHADOW_IN)
self.pkg_treeview = gtk.TreeView(self.pkg_model)
self.pkg_treeview.get_selection().connect("changed", self.on_cursor_changed)
self.pkg_treeview.append_column(gtk.TreeViewColumn("Package", gtk.CellRendererText(), text=COL_PKG_NAME))
column = gtk.TreeViewColumn("Package", gtk.CellRendererText(), text=COL_PKG_NAME)
self.pkg_treeview.append_column(column)
pane.add1(scrolled)
scrolled.add(self.pkg_treeview)
@@ -153,7 +164,6 @@ class DepExplorer(gtk.Window):
def parse(depgraph, pkg_model, depends_model):
for package in depgraph["pn"]:
pkg_model.set(pkg_model.append(), COL_PKG_NAME, package)
@@ -171,17 +181,6 @@ def parse(depgraph, pkg_model, depends_model):
COL_DEP_PARENT, package,
COL_DEP_PACKAGE, rdepend)
class ProgressBar(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
self.set_title("Parsing .bb files, please wait...")
self.set_default_size(500, 0)
self.connect("delete-event", gtk.main_quit)
self.progress = gtk.ProgressBar()
self.add(self.progress)
self.show_all()
class gtkthread(threading.Thread):
quit = threading.Event()
@@ -196,19 +195,19 @@ class gtkthread(threading.Thread):
gtk.main()
gtkthread.quit.set()
def init(server, eventHandler):
def main(server, eventHandler):
try:
cmdline = server.runCommand(["getCmdLineAction"])
if not cmdline or cmdline[0] != "generateDotGraph":
print "This UI is only compatible with the -g option"
print("This UI is only compatible with the -g option")
return
ret = server.runCommand(["generateDepTreeEvent", cmdline[1], cmdline[2]])
if ret != True:
print "Couldn't run command! %s" % ret
print("Couldn't run command! %s" % ret)
return
except xmlrpclib.Fault, x:
print "XMLRPC Fault getting commandline:\n %s" % x
except xmlrpclib.Fault as x:
print("XMLRPC Fault getting commandline:\n %s" % x)
return
shutdown = 0
@@ -217,29 +216,58 @@ def init(server, eventHandler):
gtkgui.start()
gtk.gdk.threads_enter()
pbar = ProgressBar()
dep = DepExplorer()
pbar = ProgressBar(dep)
pbar.connect("delete-event", gtk.main_quit)
gtk.gdk.threads_leave()
progress_total = 0
while True:
try:
event = eventHandler.waitEvent(0.25)
if gtkthread.quit.isSet():
server.runCommand(["stateStop"])
break
if event is None:
continue
if isinstance(event, bb.event.ParseProgress):
x = event.sofar
y = event.total
if x == y:
print("\nParsing finished. %d cached, %d parsed, %d skipped, %d masked, %d errors."
% ( event.cached, event.parsed, event.skipped, event.masked, event.errors))
pbar.hide()
if isinstance(event, bb.event.CacheLoadStarted):
progress_total = event.total
gtk.gdk.threads_enter()
pbar.progress.set_fraction(float(x)/float(y))
pbar.progress.set_text("%d/%d (%2d %%)" % (x, y, x*100/y))
pbar.set_title("Loading Cache")
pbar.update(0, progress_total)
gtk.gdk.threads_leave()
if isinstance(event, bb.event.CacheLoadProgress):
x = event.current
gtk.gdk.threads_enter()
pbar.update(x, progress_total)
gtk.gdk.threads_leave()
continue
if isinstance(event, bb.event.CacheLoadCompleted):
gtk.gdk.threads_enter()
pbar.update(progress_total, progress_total)
gtk.gdk.threads_leave()
continue
if isinstance(event, bb.event.ParseStarted):
progress_total = event.total
gtk.gdk.threads_enter()
pbar.set_title("Processing recipes")
pbar.update(0, progress_total)
gtk.gdk.threads_leave()
if isinstance(event, bb.event.ParseProgress):
x = event.current
gtk.gdk.threads_enter()
pbar.update(x, progress_total)
gtk.gdk.threads_leave()
continue
if isinstance(event, bb.event.ParseCompleted):
pbar.hide()
continue
if isinstance(event, bb.event.DepTreeGenerated):
@@ -247,26 +275,33 @@ def init(server, eventHandler):
parse(event._depgraph, dep.pkg_model, dep.depends_model)
gtk.gdk.threads_leave()
if isinstance(event, bb.command.CookerCommandCompleted):
if isinstance(event, bb.command.CommandCompleted):
continue
if isinstance(event, bb.command.CookerCommandFailed):
print "Command execution failed: %s" % event.error
break
if isinstance(event, bb.command.CommandFailed):
print("Command execution failed: %s" % event.error)
return event.exitcode
if isinstance(event, bb.command.CommandExit):
return event.exitcode
if isinstance(event, bb.cooker.CookerExit):
break
continue
except EnvironmentError as ioerror:
# ignore interrupted io
if ioerror.args[0] == 4:
pass
except KeyboardInterrupt:
if shutdown == 2:
print "\nThird Keyboard Interrupt, exit.\n"
print("\nThird Keyboard Interrupt, exit.\n")
break
if shutdown == 1:
print "\nSecond Keyboard Interrupt, stopping...\n"
print("\nSecond Keyboard Interrupt, stopping...\n")
server.runCommand(["stateStop"])
if shutdown == 0:
print "\nKeyboard Interrupt, closing down...\n"
print("\nKeyboard Interrupt, closing down...\n")
server.runCommand(["stateShutdown"])
shutdown = shutdown + 1
pass

View File

@@ -22,16 +22,33 @@ import gobject
import gtk
import xmlrpclib
from bb.ui.crumbs.runningbuild import RunningBuildTreeView, RunningBuild
from bb.ui.crumbs.progress import ProgressBar
def event_handle_idle_func (eventHandler, build):
import Queue
# Consume as many messages as we can in the time available to us
event = eventHandler.getEvent()
while event:
build.handle_event (event)
event = eventHandler.getEvent()
return True
def event_handle_idle_func (eventHandler, build, pbar):
# Consume as many messages as we can in the time available to us
event = eventHandler.getEvent()
while event:
build.handle_event (event, pbar)
event = eventHandler.getEvent()
return True
def scroll_tv_cb (model, path, iter, view):
view.scroll_to_cell (path)
# @todo hook these into the GUI so the user has feedback...
def running_build_failed_cb (running_build):
pass
def running_build_succeeded_cb (running_build):
pass
class MainWindow (gtk.Window):
def __init__ (self):
@@ -41,37 +58,53 @@ class MainWindow (gtk.Window):
scrolled_window = gtk.ScrolledWindow ()
self.add (scrolled_window)
self.cur_build_tv = RunningBuildTreeView()
self.connect("delete-event", gtk.main_quit)
self.set_default_size(640, 480)
scrolled_window.add (self.cur_build_tv)
def init (server, eventHandler):
def main (server, eventHandler):
gobject.threads_init()
gtk.gdk.threads_init()
window = MainWindow ()
window.show_all ()
pbar = ProgressBar(window)
pbar.connect("delete-event", gtk.main_quit)
# Create the object for the current build
running_build = RunningBuild ()
window.cur_build_tv.set_model (running_build.model)
running_build.model.connect("row-inserted", scroll_tv_cb, window.cur_build_tv)
running_build.connect ("build-succeeded", running_build_succeeded_cb)
running_build.connect ("build-failed", running_build_failed_cb)
try:
cmdline = server.runCommand(["getCmdLineAction"])
print cmdline
if not cmdline:
return 1
ret = server.runCommand(cmdline)
if ret != True:
print "Couldn't get default commandline! %s" % ret
print("Couldn't get default commandline! %s" % ret)
return 1
except xmlrpclib.Fault, x:
print "XMLRPC Fault getting commandline:\n %s" % x
except xmlrpclib.Fault as x:
print("XMLRPC Fault getting commandline:\n %s" % x)
return 1
# Use a timeout function for probing the event queue to find out if we
# have a message waiting for us.
gobject.timeout_add (200,
gobject.timeout_add (100,
event_handle_idle_func,
eventHandler,
running_build)
running_build,
pbar)
gtk.main()
try:
gtk.main()
except EnvironmentError as ioerror:
# ignore interrupted io
if ioerror.args[0] == 4:
pass
finally:
server.runCommand(["stateStop"])

View File

@@ -18,18 +18,53 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
from __future__ import division
import os
import sys
import itertools
import xmlrpclib
from bb import ui
import logging
import progressbar
import bb.msg
from bb.ui import uihelper
logger = logging.getLogger("BitBake")
interactive = sys.stdout.isatty()
parsespin = itertools.cycle( r'|/-\\' )
class BBProgress(progressbar.ProgressBar):
def __init__(self, msg, maxval):
self.msg = msg
widgets = [progressbar.Percentage(), ' ', progressbar.Bar(), ' ',
progressbar.ETA()]
def init(server, eventHandler):
progressbar.ProgressBar.__init__(self, maxval, [self.msg + ": "] + widgets)
class NonInteractiveProgress(object):
fobj = sys.stdout
def __init__(self, msg, maxval):
self.msg = msg
self.maxval = maxval
def start(self):
self.fobj.write("%s..." % self.msg)
self.fobj.flush()
return self
def update(self, value):
pass
def finish(self):
self.fobj.write("done.\n")
self.fobj.flush()
def new_progress(msg, maxval):
if interactive:
return BBProgress(msg, maxval)
else:
return NonInteractiveProgress(msg, maxval)
def main(server, eventHandler):
# Get values of variables which control our output
includelogs = server.runCommand(["getVariable", "BBINCLUDELOGS"])
@@ -37,19 +72,26 @@ def init(server, eventHandler):
helper = uihelper.BBUIHelper()
console = logging.StreamHandler(sys.stdout)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
console.setFormatter(format)
logger.addHandler(console)
try:
cmdline = server.runCommand(["getCmdLineAction"])
#print cmdline
if not cmdline:
return 1
ret = server.runCommand(cmdline)
if ret != True:
print "Couldn't get default commandline! %s" % ret
print("Couldn't get default commandline! %s" % ret)
return 1
except xmlrpclib.Fault, x:
print "XMLRPC Fault getting commandline:\n %s" % x
except xmlrpclib.Fault as x:
print("XMLRPC Fault getting commandline:\n %s" % x)
return 1
parseprogress = None
cacheprogress = None
shutdown = 0
return_value = 0
while True:
@@ -57,7 +99,6 @@ def init(server, eventHandler):
event = eventHandler.waitEvent(0.25)
if event is None:
continue
#print event
helper.eventHandler(event)
if isinstance(event, bb.runqueue.runQueueExitWait):
if not shutdown:
@@ -65,39 +106,29 @@ def init(server, eventHandler):
if shutdown and helper.needUpdate:
activetasks, failedtasks = helper.getTasks()
if activetasks:
print "Waiting for %s active tasks to finish:" % len(activetasks)
tasknum = 1
for task in activetasks:
print "%s: %s (pid %s)" % (tasknum, activetasks[task]["title"], task)
tasknum = tasknum + 1
print("Waiting for %s active tasks to finish:" % len(activetasks))
for tasknum, task in enumerate(activetasks):
print("%s: %s (pid %s)" % (tasknum, activetasks[task]["title"], task))
if isinstance(event, bb.msg.MsgPlain):
print event._message
if isinstance(event, logging.LogRecord):
if event.levelno >= format.ERROR:
return_value = 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
logger.handle(event)
continue
if isinstance(event, bb.msg.MsgDebug):
print 'DEBUG: ' + event._message
continue
if isinstance(event, bb.msg.MsgNote):
print 'NOTE: ' + event._message
continue
if isinstance(event, bb.msg.MsgWarn):
print 'WARNING: ' + event._message
continue
if isinstance(event, bb.msg.MsgError):
return_value = 1
print 'ERROR: ' + event._message
continue
if isinstance(event, bb.msg.MsgFatal):
return_value = 1
print 'FATAL: ' + event._message
break
if isinstance(event, bb.build.TaskFailed):
return_value = 1
logfile = event.logfile
if logfile:
print "ERROR: Logfile of failure stored in: %s" % logfile
if logfile and os.path.exists(logfile):
print("ERROR: Logfile of failure stored in: %s" % logfile)
if 1 or includelogs:
print "Log data follows:"
print("Log data follows:")
f = open(logfile, "r")
lines = []
while True:
@@ -110,72 +141,107 @@ def init(server, eventHandler):
if len(lines) > int(loglines):
lines.pop(0)
else:
print '| %s' % l
print('| %s' % l)
f.close()
if lines:
for line in lines:
print line
print(line)
if isinstance(event, bb.build.TaskBase):
print "NOTE: %s" % event._message
logger.info(event._message)
continue
if isinstance(event, bb.event.ParseStarted):
parseprogress = new_progress("Parsing recipes", event.total).start()
continue
if isinstance(event, bb.event.ParseProgress):
x = event.sofar
y = event.total
if os.isatty(sys.stdout.fileno()):
sys.stdout.write("\rNOTE: Handling BitBake files: %s (%04d/%04d) [%2d %%]" % ( parsespin.next(), x, y, x*100/y ) )
sys.stdout.flush()
else:
if x == 1:
sys.stdout.write("Parsing .bb files, please wait...")
sys.stdout.flush()
if x == y:
sys.stdout.write("done.")
sys.stdout.flush()
if x == y:
print("\nParsing of %d .bb files complete (%d cached, %d parsed). %d targets, %d skipped, %d masked, %d errors."
% ( event.total, event.cached, event.parsed, event.virtuals, event.skipped, event.masked, event.errors))
parseprogress.update(event.current)
continue
if isinstance(event, bb.event.ParseCompleted):
parseprogress.finish()
print(("Parsing of %d .bb files complete (%d cached, %d parsed). %d targets, %d skipped, %d masked, %d errors."
% ( event.total, event.cached, event.parsed, event.virtuals, event.skipped, event.masked, event.errors)))
continue
if isinstance(event, bb.command.CookerCommandCompleted):
if isinstance(event, bb.event.CacheLoadStarted):
cacheprogress = new_progress("Loading cache", event.total).start()
continue
if isinstance(event, bb.event.CacheLoadProgress):
cacheprogress.update(event.current)
continue
if isinstance(event, bb.event.CacheLoadCompleted):
cacheprogress.finish()
print("Loaded %d entries from dependency cache." % event.num_entries)
continue
if isinstance(event, bb.command.CommandCompleted):
break
if isinstance(event, bb.command.CookerCommandSetExitCode):
if isinstance(event, bb.command.CommandFailed):
return_value = event.exitcode
logger.error("Command execution failed: %s", event.error)
break
if isinstance(event, bb.command.CommandExit):
return_value = event.exitcode
continue
if isinstance(event, bb.command.CookerCommandFailed):
return_value = 1
print "Command execution failed: %s" % event.error
break
if isinstance(event, bb.cooker.CookerExit):
break
if isinstance(event, bb.event.MultipleProviders):
logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "",
event._item,
", ".join(event._candidates))
logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item)
continue
if isinstance(event, bb.event.NoProvider):
if event._runtime:
r = "R"
else:
r = ""
if event._dependees:
logger.error("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)", r, event._item, ", ".join(event._dependees), r)
else:
logger.error("Nothing %sPROVIDES '%s'", r, event._item)
continue
if isinstance(event, bb.runqueue.runQueueTaskStarted):
if event.noexec:
tasktype = 'noexec task'
else:
tasktype = 'task'
logger.info("Running %s %s of %s (ID: %s, %s)",
tasktype,
event.stats.completed + event.stats.active +
event.stats.failed + 1,
event.stats.total, event.taskid, event.taskstring)
continue
if isinstance(event, bb.runqueue.runQueueTaskFailed):
logger.error("Task %s (%s) failed with exit code '%s'",
event.taskid, event.taskstring, event.exitcode)
continue
# ignore
if isinstance(event, bb.event.BuildStarted):
if isinstance(event, (bb.event.BuildBase,
bb.event.StampUpdate,
bb.event.ConfigParsed,
bb.event.RecipeParsed,
bb.runqueue.runQueueEvent,
bb.runqueue.runQueueExitWait)):
continue
if isinstance(event, bb.event.BuildCompleted):
continue
if isinstance(event, bb.event.MultipleProviders):
continue
if isinstance(event, bb.runqueue.runQueueEvent):
continue
if isinstance(event, bb.runqueue.runQueueExitWait):
continue
if isinstance(event, bb.event.StampUpdate):
continue
if isinstance(event, bb.event.ConfigParsed):
continue
if isinstance(event, bb.event.RecipeParsed):
continue
print "Unknown Event: %s" % event
logger.error("Unknown event: %s", event)
except EnvironmentError as ioerror:
# ignore interrupted io
if ioerror.args[0] == 4:
pass
except KeyboardInterrupt:
if shutdown == 2:
print "\nThird Keyboard Interrupt, exit.\n"
print("\nThird Keyboard Interrupt, exit.\n")
break
if shutdown == 1:
print "\nSecond Keyboard Interrupt, stopping...\n"
print("\nSecond Keyboard Interrupt, stopping...\n")
server.runCommand(["stateStop"])
if shutdown == 0:
print "\nKeyboard Interrupt, closing down...\n"
print("\nKeyboard Interrupt, closing down...\n")
server.runCommand(["stateShutdown"])
shutdown = shutdown + 1
pass

View File

@@ -44,6 +44,9 @@
"""
from __future__ import division
import logging
import os, sys, curses, itertools, time
import bb
import xmlrpclib
@@ -136,7 +139,7 @@ class NCursesUI:
"""Thread Activity Window"""
def __init__( self, x, y, width, height ):
NCursesUI.DecoratedWindow.__init__( self, "Thread Activity", x, y, width, height )
def setStatus( self, thread, text ):
line = "%02d: %s" % ( thread, text )
width = self.dimensions[WIDTH]
@@ -199,8 +202,8 @@ class NCursesUI:
main_left = 0
main_top = 0
main_height = ( height / 3 * 2 )
main_width = ( width / 3 ) * 2
main_height = ( height // 3 * 2 )
main_width = ( width // 3 ) * 2
clo_left = main_left
clo_top = main_top + main_height
clo_height = height - main_height - main_top - 1
@@ -225,17 +228,17 @@ class NCursesUI:
helper = uihelper.BBUIHelper()
shutdown = 0
try:
cmdline = server.runCommand(["getCmdLineAction"])
if not cmdline:
return
ret = server.runCommand(cmdline)
if ret != True:
print "Couldn't get default commandlind! %s" % ret
print("Couldn't get default commandlind! %s" % ret)
return
except xmlrpclib.Fault, x:
print "XMLRPC Fault getting commandline:\n %s" % x
except xmlrpclib.Fault as x:
print("XMLRPC Fault getting commandline:\n %s" % x)
return
exitflag = False
@@ -244,29 +247,35 @@ class NCursesUI:
event = eventHandler.waitEvent(0.25)
if not event:
continue
helper.eventHandler(event)
#mw.appendText("%s\n" % event[0])
if isinstance(event, bb.build.Task):
if isinstance(event, bb.build.TaskBase):
mw.appendText("NOTE: %s\n" % event._message)
if isinstance(event, bb.msg.MsgDebug):
mw.appendText('DEBUG: ' + event._message + '\n')
if isinstance(event, bb.msg.MsgNote):
mw.appendText('NOTE: ' + event._message + '\n')
if isinstance(event, bb.msg.MsgWarn):
mw.appendText('WARNING: ' + event._message + '\n')
if isinstance(event, bb.msg.MsgError):
mw.appendText('ERROR: ' + event._message + '\n')
if isinstance(event, bb.msg.MsgFatal):
mw.appendText('FATAL: ' + event._message + '\n')
if isinstance(event, logging.LogRecord):
mw.appendText(logging.getLevelName(event.levelno) + ': ' + event.getMessage() + '\n')
if isinstance(event, bb.event.CacheLoadStarted):
self.parse_total = event.total
if isinstance(event, bb.event.CacheLoadProgress):
x = event.current
y = self.parse_total
mw.setStatus("Loading Cache: %s [%2d %%]" % ( next(parsespin), x*100/y ) )
if isinstance(event, bb.event.CacheLoadCompleted):
mw.setStatus("Idle")
mw.appendText("Loaded %d entries from dependency cache.\n"
% ( event.num_entries))
if isinstance(event, bb.event.ParseStarted):
self.parse_total = event.total
if isinstance(event, bb.event.ParseProgress):
x = event.sofar
y = event.total
if x == y:
mw.setStatus("Idle")
mw.appendText("Parsing finished. %d cached, %d parsed, %d skipped, %d masked."
x = event.current
y = self.parse_total
mw.setStatus("Parsing Recipes: %s [%2d %%]" % ( next(parsespin), x*100/y ) )
if isinstance(event, bb.event.ParseCompleted):
mw.setStatus("Idle")
mw.appendText("Parsing finished. %d cached, %d parsed, %d skipped, %d masked.\n"
% ( event.cached, event.parsed, event.skipped, event.masked ))
else:
mw.setStatus("Parsing: %s (%04d/%04d) [%2d %%]" % ( parsespin.next(), x, y, x*100/y ) )
# if isinstance(event, bb.build.TaskFailed):
# if event.logfile:
# if data.getVar("BBINCLUDELOGS", d):
@@ -286,12 +295,16 @@ class NCursesUI:
# else:
# bb.msg.error(bb.msg.domain.Build, "see log in %s" % logfile)
if isinstance(event, bb.command.CookerCommandCompleted):
exitflag = True
if isinstance(event, bb.command.CookerCommandFailed):
if isinstance(event, bb.command.CommandCompleted):
# stop so the user can see the result of the build, but
# also allow them to now exit with a single ^C
shutdown = 2
if isinstance(event, bb.command.CommandFailed):
mw.appendText("Command execution failed: %s" % event.error)
time.sleep(2)
exitflag = True
if isinstance(event, bb.command.CommandExit):
exitflag = True
if isinstance(event, bb.cooker.CookerExit):
exitflag = True
@@ -301,14 +314,19 @@ class NCursesUI:
taw.setText(0, 0, "")
if activetasks:
taw.appendText("Active Tasks:\n")
for task in activetasks:
taw.appendText(task)
for task in activetasks.itervalues():
taw.appendText(task["title"] + '\n')
if failedtasks:
taw.appendText("Failed Tasks:\n")
for task in failedtasks:
taw.appendText(task)
taw.appendText(task["title"] + '\n')
curses.doupdate()
except EnvironmentError as ioerror:
# ignore interrupted io
if ioerror.args[0] == 4:
pass
except KeyboardInterrupt:
if shutdown == 2:
mw.appendText("Third Keyboard Interrupt, exit.\n")
@@ -322,9 +340,9 @@ class NCursesUI:
shutdown = shutdown + 1
pass
def init(server, eventHandler):
def main(server, eventHandler):
if not os.isatty(sys.stdout.fileno()):
print "FATAL: Unable to run 'ncurses' UI without a TTY."
print("FATAL: Unable to run 'ncurses' UI without a TTY.")
return
ui = NCursesUI()
try:
@@ -332,4 +350,3 @@ def init(server, eventHandler):
except:
import traceback
traceback.print_exc()

View File

@@ -24,6 +24,7 @@ import gtk.glade
import threading
import urllib2
import os
import contextlib
from bb.ui.crumbs.buildmanager import BuildManager, BuildConfiguration
from bb.ui.crumbs.buildmanager import BuildManagerTreeView
@@ -38,7 +39,7 @@ class MetaDataLoader(gobject.GObject):
on what machines are available. The distribution and images available for
the machine and the the uris to use for building the given machine."""
__gsignals__ = {
'success' : (gobject.SIGNAL_RUN_LAST,
'success' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'error' : (gobject.SIGNAL_RUN_LAST,
@@ -77,20 +78,19 @@ class MetaDataLoader(gobject.GObject):
def run (self):
result = {}
try:
f = urllib2.urlopen (self.url)
with contextlib.closing (urllib2.urlopen (self.url)) as f:
# Parse the metadata format. The format is....
# <machine>;<default distro>|<distro>...;<default image>|<image>...;<type##url>|...
for line in f:
components = line.split(";")
if (len (components) < 4):
raise MetaDataLoader.LoaderThread.LoaderImportException
machine = components[0]
distros = components[1].split("|")
images = components[2].split("|")
urls = components[3].split("|")
# Parse the metadata format. The format is....
# <machine>;<default distro>|<distro>...;<default image>|<image>...;<type##url>|...
for line in f.readlines():
components = line.split(";")
if (len (components) < 4):
raise MetaDataLoader.LoaderThread.LoaderImportException
machine = components[0]
distros = components[1].split("|")
images = components[2].split("|")
urls = components[3].split("|")
result[machine] = (distros, images, urls)
result[machine] = (distros, images, urls)
# Create an object representing this *potential*
# configuration. It can become concrete if the machine, distro
@@ -104,13 +104,13 @@ class MetaDataLoader(gobject.GObject):
gobject.idle_add (MetaDataLoader.emit_success_signal,
self.loader)
except MetaDataLoader.LoaderThread.LoaderImportException, e:
except MetaDataLoader.LoaderThread.LoaderImportException as e:
gobject.idle_add (MetaDataLoader.emit_error_signal, self.loader,
"Repository metadata corrupt")
except Exception, e:
except Exception as e:
gobject.idle_add (MetaDataLoader.emit_error_signal, self.loader,
"Unable to download repository metadata")
print e
print(e)
def try_fetch_from_url (self, url):
# Try and download the metadata. Firing a signal if successful
@@ -211,7 +211,7 @@ class BuildSetupDialog (gtk.Dialog):
# Build
button = gtk.Button ("_Build", None, True)
image = gtk.Image ()
image.set_from_stock (gtk.STOCK_EXECUTE,gtk.ICON_SIZE_BUTTON)
image.set_from_stock (gtk.STOCK_EXECUTE, gtk.ICON_SIZE_BUTTON)
button.set_image (image)
self.add_action_widget (button, BuildSetupDialog.RESPONSE_BUILD)
button.show_all ()
@@ -293,7 +293,7 @@ class BuildSetupDialog (gtk.Dialog):
if (active_iter):
self.configuration.machine = model.get(active_iter, 0)[0]
# Extract the chosen distro from the combo
# Extract the chosen distro from the combo
model = self.distribution_combo.get_model()
active_iter = self.distribution_combo.get_active_iter()
if (active_iter):
@@ -311,62 +311,62 @@ class BuildSetupDialog (gtk.Dialog):
#
# TODO: Should be a method on the RunningBuild class
def event_handle_timeout (eventHandler, build):
# Consume as many messages as we can ...
event = eventHandler.getEvent()
while event:
build.handle_event (event)
event = eventHandler.getEvent()
return True
# Consume as many messages as we can ...
event = eventHandler.getEvent()
while event:
build.handle_event (event)
event = eventHandler.getEvent()
return True
class MainWindow (gtk.Window):
# Callback that gets fired when the user hits a button in the
# BuildSetupDialog.
def build_dialog_box_response_cb (self, dialog, response_id):
conf = None
if (response_id == BuildSetupDialog.RESPONSE_BUILD):
dialog.update_configuration()
print dialog.configuration.machine, dialog.configuration.distro, \
dialog.configuration.image
conf = dialog.configuration
# Callback that gets fired when the user hits a button in the
# BuildSetupDialog.
def build_dialog_box_response_cb (self, dialog, response_id):
conf = None
if (response_id == BuildSetupDialog.RESPONSE_BUILD):
dialog.update_configuration()
print(dialog.configuration.machine, dialog.configuration.distro, \
dialog.configuration.image)
conf = dialog.configuration
dialog.destroy()
dialog.destroy()
if conf:
self.manager.do_build (conf)
if conf:
self.manager.do_build (conf)
def build_button_clicked_cb (self, button):
dialog = BuildSetupDialog ()
def build_button_clicked_cb (self, button):
dialog = BuildSetupDialog ()
# For some unknown reason Dialog.run causes nice little deadlocks ... :-(
dialog.connect ("response", self.build_dialog_box_response_cb)
dialog.show()
# For some unknown reason Dialog.run causes nice little deadlocks ... :-(
dialog.connect ("response", self.build_dialog_box_response_cb)
dialog.show()
def __init__ (self):
gtk.Window.__init__ (self)
def __init__ (self):
gtk.Window.__init__ (self)
# Pull in *just* the main vbox from the Glade XML data and then pack
# that inside the window
gxml = gtk.glade.XML (os.path.dirname(__file__) + "/crumbs/puccho.glade",
root = "main_window_vbox")
vbox = gxml.get_widget ("main_window_vbox")
self.add (vbox)
# Pull in *just* the main vbox from the Glade XML data and then pack
# that inside the window
gxml = gtk.glade.XML (os.path.dirname(__file__) + "/crumbs/puccho.glade",
root = "main_window_vbox")
vbox = gxml.get_widget ("main_window_vbox")
self.add (vbox)
# Create the tree views for the build manager view and the progress view
self.build_manager_view = BuildManagerTreeView()
self.running_build_view = RunningBuildTreeView()
# Create the tree views for the build manager view and the progress view
self.build_manager_view = BuildManagerTreeView()
self.running_build_view = RunningBuildTreeView()
# Grab the scrolled windows that we put the tree views into
self.results_scrolledwindow = gxml.get_widget ("results_scrolledwindow")
self.progress_scrolledwindow = gxml.get_widget ("progress_scrolledwindow")
# Grab the scrolled windows that we put the tree views into
self.results_scrolledwindow = gxml.get_widget ("results_scrolledwindow")
self.progress_scrolledwindow = gxml.get_widget ("progress_scrolledwindow")
# Put the tree views inside ...
self.results_scrolledwindow.add (self.build_manager_view)
self.progress_scrolledwindow.add (self.running_build_view)
# Put the tree views inside ...
self.results_scrolledwindow.add (self.build_manager_view)
self.progress_scrolledwindow.add (self.running_build_view)
# Hook up the build button...
self.build_button = gxml.get_widget ("main_toolbutton_build")
self.build_button.connect ("clicked", self.build_button_clicked_cb)
# Hook up the build button...
self.build_button = gxml.get_widget ("main_toolbutton_build")
self.build_button.connect ("clicked", self.build_button_clicked_cb)
# I'm not very happy about the current ownership of the RunningBuild. I have
# my suspicions that this object should be held by the BuildManager since we
@@ -383,14 +383,14 @@ def running_build_succeeded_cb (running_build, manager):
# BuildManager. It can then hook onto the signals directly and drive
# interesting things it cares about.
manager.notify_build_succeeded ()
print "build succeeded"
print("build succeeded")
def running_build_failed_cb (running_build, manager):
# As above
print "build failed"
print("build failed")
manager.notify_build_failed ()
def init (server, eventHandler):
def main (server, eventHandler):
# Initialise threading...
gobject.threads_init()
gtk.gdk.threads_init()

View File

@@ -19,7 +19,7 @@
"""
Use this class to fork off a thread to recieve event callbacks from the bitbake
Use this class to fork off a thread to recieve event callbacks from the bitbake
server and queue them for the UI to process. This process must be used to avoid
client/server deadlocks.
"""
@@ -37,8 +37,8 @@ class BBUIEventQueue:
self.BBServer = BBServer
self.t = threading.Thread()
self.t.setDaemon(True)
self.t.run = self.startCallbackHandler
self.t.setDaemon(True)
self.t.run = self.startCallbackHandler
self.t.start()
def getEvent(self):
@@ -63,17 +63,20 @@ class BBUIEventQueue:
def queue_event(self, event):
self.eventQueueLock.acquire()
self.eventQueue.append(pickle.loads(event))
self.eventQueue.append(event)
self.eventQueueNotify.set()
self.eventQueueLock.release()
def send_event(self, event):
self.queue_event(pickle.loads(event))
def startCallbackHandler(self):
server = UIXMLRPCServer()
self.host, self.port = server.socket.getsockname()
self.host, self.port = server.socket.getsockname()
server.register_function( self.system_quit, "event.quit" )
server.register_function( self.queue_event, "event.send" )
server.register_function( self.send_event, "event.send" )
server.socket.settimeout(1)
self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port)
@@ -83,7 +86,7 @@ class BBUIEventQueue:
server.handle_request()
server.server_close()
def system_quit( self ):
def system_quit( self ):
"""
Shut down the callback thread
"""
@@ -95,11 +98,11 @@ class BBUIEventQueue:
class UIXMLRPCServer (SimpleXMLRPCServer):
def __init__( self, interface = ("localhost", 0) ):
def __init__( self, interface = ("localhost", 0) ):
self.quit = False
SimpleXMLRPCServer.__init__( self,
interface,
requestHandler=SimpleXMLRPCRequestHandler,
SimpleXMLRPCServer.__init__( self,
interface,
requestHandler=SimpleXMLRPCRequestHandler,
logRequests=False, allow_none=True)
def get_request(self):
@@ -110,16 +113,15 @@ class UIXMLRPCServer (SimpleXMLRPCServer):
return (sock, addr)
except socket.timeout:
pass
return (None,None)
return (None, None)
def close_request(self, request):
if request is None:
return
SimpleXMLRPCServer.close_request(self, request)
def process_request(self, request, client_address):
if request is None:
return
SimpleXMLRPCServer.process_request(self, request, client_address)

View File

@@ -19,10 +19,26 @@ BitBake Utility Functions
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import re, fcntl, os, string, stat, shutil, time
import sys
import errno
import logging
import bb
import bb.msg
from commands import getstatusoutput
from contextlib import contextmanager
logger = logging.getLogger("BitBake.Util")
# Version comparison
separators = ".-"
import re, fcntl, os, types, bb, string, stat, shutil
from commands import getstatusoutput
# Context used in better_exec, eval
_context = {
"os": os,
"bb": bb,
"time": time,
}
def explode_version(s):
r = []
@@ -60,9 +76,9 @@ def vercmp_part(a, b):
if ca == None and cb == None:
return 0
if type(ca) is types.StringType:
if isinstance(ca, basestring):
sa = ca in separators
if type(cb) is types.StringType:
if isinstance(cb, basestring):
sb = cb in separators
if sa and not sb:
return -1
@@ -78,13 +94,138 @@ def vercmp(ta, tb):
(ea, va, ra) = ta
(eb, vb, rb) = tb
r = int(ea)-int(eb)
r = int(ea or 0) - int(eb or 0)
if (r == 0):
r = vercmp_part(va, vb)
if (r == 0):
r = vercmp_part(ra, rb)
return r
_package_weights_ = {"pre":-2, "p":0, "alpha":-4, "beta":-3, "rc":-1} # dicts are unordered
_package_ends_ = ["pre", "p", "alpha", "beta", "rc", "cvs", "bk", "HEAD" ] # so we need ordered list
def relparse(myver):
"""Parses the last elements of a version number into a triplet, that can
later be compared.
"""
number = 0
p1 = 0
p2 = 0
mynewver = myver.split('_')
if len(mynewver) == 2:
# an _package_weights_
number = float(mynewver[0])
match = 0
for x in _package_ends_:
elen = len(x)
if mynewver[1][:elen] == x:
match = 1
p1 = _package_weights_[x]
try:
p2 = float(mynewver[1][elen:])
except:
p2 = 0
break
if not match:
# normal number or number with letter at end
divider = len(myver)-1
if myver[divider:] not in "1234567890":
# letter at end
p1 = ord(myver[divider:])
number = float(myver[0:divider])
else:
number = float(myver)
else:
# normal number or number with letter at end
divider = len(myver)-1
if myver[divider:] not in "1234567890":
#letter at end
p1 = ord(myver[divider:])
number = float(myver[0:divider])
else:
number = float(myver)
return [number, p1, p2]
__vercmp_cache__ = {}
def vercmp_string(val1, val2):
"""This takes two version strings and returns an integer to tell you whether
the versions are the same, val1>val2 or val2>val1.
"""
# quick short-circuit
if val1 == val2:
return 0
valkey = val1 + " " + val2
# cache lookup
try:
return __vercmp_cache__[valkey]
try:
return - __vercmp_cache__[val2 + " " + val1]
except KeyError:
pass
except KeyError:
pass
# consider 1_p2 vc 1.1
# after expansion will become (1_p2,0) vc (1,1)
# then 1_p2 is compared with 1 before 0 is compared with 1
# to solve the bug we need to convert it to (1,0_p2)
# by splitting _prepart part and adding it back _after_expansion
val1_prepart = val2_prepart = ''
if val1.count('_'):
val1, val1_prepart = val1.split('_', 1)
if val2.count('_'):
val2, val2_prepart = val2.split('_', 1)
# replace '-' by '.'
# FIXME: Is it needed? can val1/2 contain '-'?
val1 = val1.split("-")
if len(val1) == 2:
val1[0] = val1[0] + "." + val1[1]
val2 = val2.split("-")
if len(val2) == 2:
val2[0] = val2[0] + "." + val2[1]
val1 = val1[0].split('.')
val2 = val2[0].split('.')
# add back decimal point so that .03 does not become "3" !
for x in xrange(1, len(val1)):
if val1[x][0] == '0' :
val1[x] = '.' + val1[x]
for x in xrange(1, len(val2)):
if val2[x][0] == '0' :
val2[x] = '.' + val2[x]
# extend varion numbers
if len(val2) < len(val1):
val2.extend(["0"]*(len(val1)-len(val2)))
elif len(val1) < len(val2):
val1.extend(["0"]*(len(val2)-len(val1)))
# add back _prepart tails
if val1_prepart:
val1[-1] += '_' + val1_prepart
if val2_prepart:
val2[-1] += '_' + val2_prepart
# The above code will extend version numbers out so they
# have the same number of digits.
for x in xrange(0, len(val1)):
cmp1 = relparse(val1[x])
cmp2 = relparse(val2[x])
for y in xrange(0, 3):
myret = cmp1[y] - cmp2[y]
if myret != 0:
__vercmp_cache__[valkey] = myret
return myret
__vercmp_cache__[valkey] = 0
return 0
def explode_deps(s):
"""
Take an RDEPENDS style string of format:
@@ -113,10 +254,10 @@ def explode_dep_versions(s):
"""
Take an RDEPENDS style string of format:
"DEPEND1 (optional version) DEPEND2 (optional version) ..."
and return a dictonary of dependencies and versions.
and return a dictionary of dependencies and versions.
"""
r = {}
l = s.split()
l = s.replace(",", "").split()
lastdep = None
lastver = ""
inversion = False
@@ -138,153 +279,181 @@ def explode_dep_versions(s):
return r
def join_deps(deps):
"""
Take the result from explode_dep_versions and generate a dependency string
"""
result = []
for dep in deps:
if deps[dep]:
result.append(dep + " (" + deps[dep] + ")")
else:
result.append(dep)
return ", ".join(result)
def _print_trace(body, line):
"""
Print the Environment of a Text Body
"""
import bb
# print the environment of the method
bb.msg.error(bb.msg.domain.Util, "Printing the environment of the function")
min_line = max(1,line-4)
max_line = min(line+4,len(body)-1)
for i in range(min_line,max_line+1):
bb.msg.error(bb.msg.domain.Util, "\t%.4d:%s" % (i, body[i-1]) )
min_line = max(1, line-4)
max_line = min(line + 4, len(body))
for i in xrange(min_line, max_line + 1):
if line == i:
logger.error(' *** %.4d:%s', i, body[i-1])
else:
logger.error(' %.4d:%s', i, body[i-1])
def better_compile(text, file, realfile):
def better_compile(text, file, realfile, mode = "exec"):
"""
A better compile method. This method
will print the offending lines.
"""
try:
return compile(text, file, "exec")
except Exception, e:
import bb,sys
return compile(text, file, mode)
except Exception as e:
# split the text into lines again
body = text.split('\n')
bb.msg.error(bb.msg.domain.Util, "Error in compiling python function in: ", realfile)
bb.msg.error(bb.msg.domain.Util, "The lines leading to this error were:")
bb.msg.error(bb.msg.domain.Util, "\t%d:%s:'%s'" % (e.lineno, e.__class__.__name__, body[e.lineno-1]))
logger.error("Error in compiling python function in %s", realfile)
logger.error(str(e))
if e.lineno:
logger.error("The lines leading to this error were:")
logger.error("\t%d:%s:'%s'", e.lineno, e.__class__.__name__, body[e.lineno-1])
_print_trace(body, e.lineno)
else:
logger.error("The function causing this error was:")
for line in body:
logger.error(line)
_print_trace(body, e.lineno)
raise
# exit now
sys.exit(1)
def better_exec(code, context, text, realfile):
def better_exec(code, context, text, realfile = "<code>"):
"""
Similiar to better_compile, better_exec will
print the lines that are responsible for the
error.
"""
import bb,sys
import bb.parse
if not hasattr(code, "co_filename"):
code = better_compile(code, realfile, realfile)
try:
exec code in context
except:
(t,value,tb) = sys.exc_info()
exec(code, _context, context)
except Exception:
(t, value, tb) = sys.exc_info()
if t in [bb.parse.SkipPackage, bb.build.FuncFailed]:
raise
# print the Header of the Error Message
bb.msg.error(bb.msg.domain.Util, "Error in executing python function in: %s" % realfile)
bb.msg.error(bb.msg.domain.Util, "Exception:%s Message:%s" % (t,value) )
# let us find the line number now
while tb.tb_next:
tb = tb.tb_next
import traceback
line = traceback.tb_lineno(tb)
exception = traceback.format_exception_only(t, value)
logger.error('Error executing a python function in %s:\n%s',
realfile, ''.join(exception))
# Strip 'us' from the stack (better_exec call)
tb = tb.tb_next
textarray = text.split('\n')
linefailed = traceback.tb_lineno(tb)
tbextract = traceback.extract_tb(tb)
tbformat = "\n".join(traceback.format_list(tbextract))
logger.error("The stack trace of python calls that resulted in this exception/failure was:")
for line in tbformat.split('\n'):
logger.error(line)
logger.error("The code that was being executed was:")
_print_trace(textarray, linefailed)
logger.error("(file: '%s', lineno: %s, function: %s)", tbextract[0][0], tbextract[0][1], tbextract[0][2])
# See if this is a function we constructed and has calls back into other functions in
# "text". If so, try and improve the context of the error by diving down the trace
level = 0
nexttb = tb.tb_next
while nexttb is not None:
if tbextract[level][0] == tbextract[level+1][0] and tbextract[level+1][2] == tbextract[level][0]:
_print_trace(textarray, tbextract[level+1][1])
logger.error("(file: '%s', lineno: %s, function: %s)", tbextract[level+1][0], tbextract[level+1][1], tbextract[level+1][2])
else:
break
nexttb = tb.tb_next
level = level + 1
_print_trace( text.split('\n'), line )
raise
def Enum(*names):
"""
A simple class to give Enum support
"""
def simple_exec(code, context):
exec(code, _context, context)
assert names, "Empty enums are not supported"
def better_eval(source, locals):
return eval(source, _context, locals)
class EnumClass(object):
__slots__ = names
def __iter__(self): return iter(constants)
def __len__(self): return len(constants)
def __getitem__(self, i): return constants[i]
def __repr__(self): return 'Enum' + str(names)
def __str__(self): return 'enum ' + str(constants)
@contextmanager
def fileslocked(files):
"""Context manager for locking and unlocking file locks."""
locks = []
if files:
for lockfile in files:
locks.append(bb.utils.lockfile(lockfile))
class EnumValue(object):
__slots__ = ('__value')
def __init__(self, value): self.__value = value
Value = property(lambda self: self.__value)
EnumType = property(lambda self: EnumType)
def __hash__(self): return hash(self.__value)
def __cmp__(self, other):
# C fans might want to remove the following assertion
# to make all enums comparable by ordinal value {;))
assert self.EnumType is other.EnumType, "Only values from the same enum are comparable"
return cmp(self.__value, other.__value)
def __invert__(self): return constants[maximum - self.__value]
def __nonzero__(self): return bool(self.__value)
def __repr__(self): return str(names[self.__value])
yield
maximum = len(names) - 1
constants = [None] * len(names)
for i, each in enumerate(names):
val = EnumValue(i)
setattr(EnumClass, each, val)
constants[i] = val
constants = tuple(constants)
EnumType = EnumClass()
return EnumType
for lock in locks:
bb.utils.unlockfile(lock)
def lockfile(name):
def lockfile(name, shared=False):
"""
Use the file fn as a lock file, return when the lock has been acquired.
Returns a variable to pass to unlockfile().
"""
path = os.path.dirname(name)
if not os.path.isdir(path):
import bb, sys
bb.msg.error(bb.msg.domain.Util, "Error, lockfile path does not exist!: %s" % path)
logger.error("Lockfile destination directory '%s' does not exist", path)
sys.exit(1)
if not os.access(path, os.W_OK):
logger.error("Error, lockfile path is not writable!: %s" % path)
sys.exit(1)
op = fcntl.LOCK_EX
if shared:
op = fcntl.LOCK_SH
while True:
# If we leave the lockfiles lying around there is no problem
# but we should clean up after ourselves. This gives potential
# for races though. To work around this, when we acquire the lock
# we check the file we locked was still the lock file on disk.
# by comparing inode numbers. If they don't match or the lockfile
# for races though. To work around this, when we acquire the lock
# we check the file we locked was still the lock file on disk.
# by comparing inode numbers. If they don't match or the lockfile
# no longer exists, we start again.
# This implementation is unfair since the last person to request the
# This implementation is unfair since the last person to request the
# lock is the most likely to win it.
try:
lf = open(name, "a+")
fcntl.flock(lf.fileno(), fcntl.LOCK_EX)
statinfo = os.fstat(lf.fileno())
lf = open(name, 'a+')
fileno = lf.fileno()
fcntl.flock(fileno, op)
statinfo = os.fstat(fileno)
if os.path.exists(lf.name):
statinfo2 = os.stat(lf.name)
if statinfo.st_ino == statinfo2.st_ino:
return lf
# File no longer exists or changed, retry
lf.close
except Exception, e:
statinfo2 = os.stat(lf.name)
if statinfo.st_ino == statinfo2.st_ino:
return lf
lf.close()
except Exception:
continue
def unlockfile(lf):
"""
Unlock a file locked using lockfile()
Unlock a file locked using lockfile()
"""
os.unlink(lf.name)
try:
# If we had a shared lock, we need to promote to exclusive before
# removing the lockfile. Attempt this, ignore failures.
fcntl.flock(lf.fileno(), fcntl.LOCK_EX|fcntl.LOCK_NB)
os.unlink(lf.name)
except (IOError, OSError):
pass
fcntl.flock(lf.fileno(), fcntl.LOCK_UN)
lf.close
lf.close()
def md5_file(filename):
"""
@@ -296,7 +465,7 @@ def md5_file(filename):
except ImportError:
import md5
m = md5.new()
for line in open(filename):
m.update(line)
return m.hexdigest()
@@ -318,12 +487,25 @@ def sha256_file(filename):
s.update(line)
return s.hexdigest()
def preserved_envvars_list():
def preserved_envvars_exported():
"""Variables which are taken from the environment and placed in and exported
from the metadata"""
return [
'BB_TASKHASH',
'HOME',
'LOGNAME',
'PATH',
'PWD',
'SHELL',
'TERM',
'USER',
'USERNAME',
]
def preserved_envvars_exported_interactive():
"""Variables which are taken from the environment and placed in and exported
from the metadata, for interactive tasks"""
return [
'BBPATH',
'BB_PRESERVE_ENV',
'BB_ENV_WHITELIST',
'BB_ENV_EXTRAWHITE',
'COLORTERM',
'DBUS_SESSION_BUS_ADDRESS',
'DESKTOP_SESSION',
@@ -333,45 +515,50 @@ def preserved_envvars_list():
'GNOME_KEYRING_SOCKET',
'GPG_AGENT_INFO',
'GTK_RC_FILES',
'HOME',
'LANG',
'LOGNAME',
'PATH',
'PWD',
'SESSION_MANAGER',
'SHELL',
'KRB5CCNAME',
'SSH_AUTH_SOCK',
'TERM',
'USER',
'USERNAME',
'_',
'XAUTHORITY',
'XDG_DATA_DIRS',
'XDG_SESSION_COOKIE',
]
def preserved_envvars():
"""Variables which are taken from the environment and placed in the metadata"""
v = [
'BBPATH',
'BB_PRESERVE_ENV',
'BB_ENV_WHITELIST',
'BB_ENV_EXTRAWHITE',
'LANG',
'_',
]
return v + preserved_envvars_exported() + preserved_envvars_exported_interactive()
def filter_environment(good_vars):
"""
Create a pristine environment for bitbake. This will remove variables that
are not known and may influence the build in a negative way.
"""
import bb
removed_vars = []
for key in os.environ.keys():
if key in good_vars:
continue
removed_vars.append(key)
os.unsetenv(key)
del os.environ[key]
if len(removed_vars):
bb.debug(1, "Removed the following variables from the environment:", ",".join(removed_vars))
logger.debug(1, "Removed the following variables from the environment: %s", ", ".join(removed_vars))
return removed_vars
def create_interactive_env(d):
for k in preserved_envvars_exported_interactive():
os.setenv(k, bb.data.getVar(k, d, True))
def clean_environment():
"""
Clean up any spurious environment variables. This will remove any
@@ -381,7 +568,7 @@ def clean_environment():
if 'BB_ENV_WHITELIST' in os.environ:
good_vars = os.environ['BB_ENV_WHITELIST'].split()
else:
good_vars = preserved_envvars_list()
good_vars = preserved_envvars()
if 'BB_ENV_EXTRAWHITE' in os.environ:
good_vars.extend(os.environ['BB_ENV_EXTRAWHITE'].split())
filter_environment(good_vars)
@@ -398,16 +585,30 @@ def build_environment(d):
"""
Build an environment from all exported variables.
"""
import bb
import bb.data
for var in bb.data.keys(d):
export = bb.data.getVarFlag(var, "export", d)
if export:
os.environ[var] = bb.data.getVar(var, d, True) or ""
def remove(path, recurse=False):
"""Equivalent to rm -f or rm -rf"""
if not path:
return
import os, errno, shutil, glob
for name in glob.glob(path):
try:
os.unlink(name)
except OSError as exc:
if recurse and exc.errno == errno.EISDIR:
shutil.rmtree(name)
elif exc.errno != errno.ENOENT:
raise
def prunedir(topdir):
# Delete everything reachable from the directory named in 'topdir'.
# CAUTION: This is dangerous!
for root, dirs, files in os.walk(topdir, topdown=False):
for root, dirs, files in os.walk(topdir, topdown = False):
for name in files:
os.remove(os.path.join(root, name))
for name in dirs:
@@ -422,181 +623,182 @@ def prunedir(topdir):
# but thats possibly insane and suffixes is probably going to be small
#
def prune_suffix(var, suffixes, d):
# See if var ends with any of the suffixes listed and
# See if var ends with any of the suffixes listed and
# remove it if found
for suffix in suffixes:
if var.endswith(suffix):
return var.replace(suffix, "")
return var
def mkdirhier(dir):
def mkdirhier(directory):
"""Create a directory like 'mkdir -p', but does not complain if
directory already exists like os.makedirs
"""
bb.debug(3, "mkdirhier(%s)" % dir)
try:
os.makedirs(dir)
bb.debug(2, "created " + dir)
except OSError, e:
if e.errno != 17: raise e
os.makedirs(directory)
except OSError as e:
if e.errno != errno.EEXIST:
raise e
import stat
def movefile(src,dest,newmtime=None,sstat=None):
def movefile(src, dest, newmtime = None, sstat = None):
"""Moves a file from src to dest, preserving all permissions and
attributes; mtime will be preserved even when moving across
filesystems. Returns true on success and false on failure. Move is
atomic.
"""
#print "movefile("+src+","+dest+","+str(newmtime)+","+str(sstat)+")"
#print "movefile(" + src + "," + dest + "," + str(newmtime) + "," + str(sstat) + ")"
try:
if not sstat:
sstat=os.lstat(src)
except Exception, e:
print "movefile: Stating source file failed...", e
sstat = os.lstat(src)
except Exception as e:
print("movefile: Stating source file failed...", e)
return None
destexists=1
destexists = 1
try:
dstat=os.lstat(dest)
dstat = os.lstat(dest)
except:
dstat=os.lstat(os.path.dirname(dest))
destexists=0
dstat = os.lstat(os.path.dirname(dest))
destexists = 0
if destexists:
if stat.S_ISLNK(dstat[stat.ST_MODE]):
try:
os.unlink(dest)
destexists=0
except Exception, e:
destexists = 0
except Exception as e:
pass
if stat.S_ISLNK(sstat[stat.ST_MODE]):
try:
target=os.readlink(src)
target = os.readlink(src)
if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]):
os.unlink(dest)
os.symlink(target,dest)
os.symlink(target, dest)
#os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
os.unlink(src)
return os.lstat(dest)
except Exception, e:
print "movefile: failed to properly create symlink:", dest, "->", target, e
except Exception as e:
print("movefile: failed to properly create symlink:", dest, "->", target, e)
return None
renamefailed=1
if sstat[stat.ST_DEV]==dstat[stat.ST_DEV]:
renamefailed = 1
if sstat[stat.ST_DEV] == dstat[stat.ST_DEV]:
try:
ret=os.rename(src,dest)
renamefailed=0
except Exception, e:
import errno
if e[0]!=errno.EXDEV:
os.rename(src, dest)
renamefailed = 0
except Exception as e:
if e[0] != errno.EXDEV:
# Some random error.
print "movefile: Failed to move", src, "to", dest, e
print("movefile: Failed to move", src, "to", dest, e)
return None
# Invalid cross-device-link 'bind' mounted or actually Cross-Device
if renamefailed:
didcopy=0
didcopy = 0
if stat.S_ISREG(sstat[stat.ST_MODE]):
try: # For safety copy then move it over.
shutil.copyfile(src,dest+"#new")
os.rename(dest+"#new",dest)
didcopy=1
except Exception, e:
print 'movefile: copy', src, '->', dest, 'failed.', e
shutil.copyfile(src, dest + "#new")
os.rename(dest + "#new", dest)
didcopy = 1
except Exception as e:
print('movefile: copy', src, '->', dest, 'failed.', e)
return None
else:
#we don't yet handle special, so we need to fall back to /bin/mv
a=getstatusoutput("/bin/mv -f "+"'"+src+"' '"+dest+"'")
if a[0]!=0:
print "movefile: Failed to move special file:" + src + "' to '" + dest + "'", a
a = getstatusoutput("/bin/mv -f " + "'" + src + "' '" + dest + "'")
if a[0] != 0:
print("movefile: Failed to move special file:" + src + "' to '" + dest + "'", a)
return None # failure
try:
if didcopy:
os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
os.lchown(dest, sstat[stat.ST_UID], sstat[stat.ST_GID])
os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown
os.unlink(src)
except Exception, e:
print "movefile: Failed to chown/chmod/unlink", dest, e
except Exception as e:
print("movefile: Failed to chown/chmod/unlink", dest, e)
return None
if newmtime:
os.utime(dest,(newmtime,newmtime))
os.utime(dest, (newmtime, newmtime))
else:
os.utime(dest, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME]))
newmtime=sstat[stat.ST_MTIME]
newmtime = sstat[stat.ST_MTIME]
return newmtime
def copyfile(src,dest,newmtime=None,sstat=None):
def copyfile(src, dest, newmtime = None, sstat = None):
"""
Copies a file from src to dest, preserving all permissions and
attributes; mtime will be preserved even when moving across
filesystems. Returns true on success and false on failure.
"""
#print "copyfile("+src+","+dest+","+str(newmtime)+","+str(sstat)+")"
#print "copyfile(" + src + "," + dest + "," + str(newmtime) + "," + str(sstat) + ")"
try:
if not sstat:
sstat=os.lstat(src)
except Exception, e:
print "copyfile: Stating source file failed...", e
sstat = os.lstat(src)
except Exception as e:
print("copyfile: Stating source file failed...", e)
return False
destexists=1
destexists = 1
try:
dstat=os.lstat(dest)
dstat = os.lstat(dest)
except:
dstat=os.lstat(os.path.dirname(dest))
destexists=0
dstat = os.lstat(os.path.dirname(dest))
destexists = 0
if destexists:
if stat.S_ISLNK(dstat[stat.ST_MODE]):
try:
os.unlink(dest)
destexists=0
except Exception, e:
destexists = 0
except Exception as e:
pass
if stat.S_ISLNK(sstat[stat.ST_MODE]):
try:
target=os.readlink(src)
target = os.readlink(src)
if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]):
os.unlink(dest)
os.symlink(target,dest)
os.symlink(target, dest)
#os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
return os.lstat(dest)
except Exception, e:
print "copyfile: failed to properly create symlink:", dest, "->", target, e
except Exception as e:
print("copyfile: failed to properly create symlink:", dest, "->", target, e)
return False
if stat.S_ISREG(sstat[stat.ST_MODE]):
try: # For safety copy then move it over.
shutil.copyfile(src,dest+"#new")
os.rename(dest+"#new",dest)
except Exception, e:
print 'copyfile: copy', src, '->', dest, 'failed.', e
return False
os.chmod(src, stat.S_IRUSR) # Make sure we can read it
try: # For safety copy then move it over.
shutil.copyfile(src, dest + "#new")
os.rename(dest + "#new", dest)
except Exception as e:
print('copyfile: copy', src, '->', dest, 'failed.', e)
return False
finally:
os.chmod(src, sstat[stat.ST_MODE])
os.utime(src, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME]))
else:
#we don't yet handle special, so we need to fall back to /bin/mv
a=getstatusoutput("/bin/cp -f "+"'"+src+"' '"+dest+"'")
if a[0]!=0:
print "copyfile: Failed to copy special file:" + src + "' to '" + dest + "'", a
return False # failure
#we don't yet handle special, so we need to fall back to /bin/mv
a = getstatusoutput("/bin/cp -f " + "'" + src + "' '" + dest + "'")
if a[0] != 0:
print("copyfile: Failed to copy special file:" + src + "' to '" + dest + "'", a)
return False # failure
try:
os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
os.lchown(dest, sstat[stat.ST_UID], sstat[stat.ST_GID])
os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown
except Exception, e:
print "copyfile: Failed to chown/chmod/unlink", dest, e
except Exception as e:
print("copyfile: Failed to chown/chmod/unlink", dest, e)
return False
if newmtime:
os.utime(dest,(newmtime,newmtime))
os.utime(dest, (newmtime, newmtime))
else:
os.utime(dest, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME]))
newmtime=sstat[stat.ST_MTIME]
newmtime = sstat[stat.ST_MTIME]
return newmtime
def which(path, item, direction = 0):
@@ -614,3 +816,18 @@ def which(path, item, direction = 0):
return next
return ""
def init_logger(logger, verbose, debug, debug_domains):
"""
Set verbosity and debug levels in the logger
"""
if debug:
bb.msg.set_debug_level(debug)
elif verbose:
bb.msg.set_verbose(True)
else:
bb.msg.set_debug_level(0)
if debug_domains:
bb.msg.set_debug_domains(debug_domains)

570
bitbake/lib/codegen.py Normal file
View File

@@ -0,0 +1,570 @@
# -*- coding: utf-8 -*-
"""
codegen
~~~~~~~
Extension to ast that allow ast -> python code generation.
:copyright: Copyright 2008 by Armin Ronacher.
:license: BSD.
"""
from ast import *
BOOLOP_SYMBOLS = {
And: 'and',
Or: 'or'
}
BINOP_SYMBOLS = {
Add: '+',
Sub: '-',
Mult: '*',
Div: '/',
FloorDiv: '//',
Mod: '%',
LShift: '<<',
RShift: '>>',
BitOr: '|',
BitAnd: '&',
BitXor: '^'
}
CMPOP_SYMBOLS = {
Eq: '==',
Gt: '>',
GtE: '>=',
In: 'in',
Is: 'is',
IsNot: 'is not',
Lt: '<',
LtE: '<=',
NotEq: '!=',
NotIn: 'not in'
}
UNARYOP_SYMBOLS = {
Invert: '~',
Not: 'not',
UAdd: '+',
USub: '-'
}
ALL_SYMBOLS = {}
ALL_SYMBOLS.update(BOOLOP_SYMBOLS)
ALL_SYMBOLS.update(BINOP_SYMBOLS)
ALL_SYMBOLS.update(CMPOP_SYMBOLS)
ALL_SYMBOLS.update(UNARYOP_SYMBOLS)
def to_source(node, indent_with=' ' * 4, add_line_information=False):
"""This function can convert a node tree back into python sourcecode.
This is useful for debugging purposes, especially if you're dealing with
custom asts not generated by python itself.
It could be that the sourcecode is evaluable when the AST itself is not
compilable / evaluable. The reason for this is that the AST contains some
more data than regular sourcecode does, which is dropped during
conversion.
Each level of indentation is replaced with `indent_with`. Per default this
parameter is equal to four spaces as suggested by PEP 8, but it might be
adjusted to match the application's styleguide.
If `add_line_information` is set to `True` comments for the line numbers
of the nodes are added to the output. This can be used to spot wrong line
number information of statement nodes.
"""
generator = SourceGenerator(indent_with, add_line_information)
generator.visit(node)
return ''.join(generator.result)
class SourceGenerator(NodeVisitor):
"""This visitor is able to transform a well formed syntax tree into python
sourcecode. For more details have a look at the docstring of the
`node_to_source` function.
"""
def __init__(self, indent_with, add_line_information=False):
self.result = []
self.indent_with = indent_with
self.add_line_information = add_line_information
self.indentation = 0
self.new_lines = 0
def write(self, x):
if self.new_lines:
if self.result:
self.result.append('\n' * self.new_lines)
self.result.append(self.indent_with * self.indentation)
self.new_lines = 0
self.result.append(x)
def newline(self, node=None, extra=0):
self.new_lines = max(self.new_lines, 1 + extra)
if node is not None and self.add_line_information:
self.write('# line: %s' % node.lineno)
self.new_lines = 1
def body(self, statements):
self.new_line = True
self.indentation += 1
for stmt in statements:
self.visit(stmt)
self.indentation -= 1
def body_or_else(self, node):
self.body(node.body)
if node.orelse:
self.newline()
self.write('else:')
self.body(node.orelse)
def signature(self, node):
want_comma = []
def write_comma():
if want_comma:
self.write(', ')
else:
want_comma.append(True)
padding = [None] * (len(node.args) - len(node.defaults))
for arg, default in zip(node.args, padding + node.defaults):
write_comma()
self.visit(arg)
if default is not None:
self.write('=')
self.visit(default)
if node.vararg is not None:
write_comma()
self.write('*' + node.vararg)
if node.kwarg is not None:
write_comma()
self.write('**' + node.kwarg)
def decorators(self, node):
for decorator in node.decorator_list:
self.newline(decorator)
self.write('@')
self.visit(decorator)
# Statements
def visit_Assign(self, node):
self.newline(node)
for idx, target in enumerate(node.targets):
if idx:
self.write(', ')
self.visit(target)
self.write(' = ')
self.visit(node.value)
def visit_AugAssign(self, node):
self.newline(node)
self.visit(node.target)
self.write(BINOP_SYMBOLS[type(node.op)] + '=')
self.visit(node.value)
def visit_ImportFrom(self, node):
self.newline(node)
self.write('from %s%s import ' % ('.' * node.level, node.module))
for idx, item in enumerate(node.names):
if idx:
self.write(', ')
self.write(item)
def visit_Import(self, node):
self.newline(node)
for item in node.names:
self.write('import ')
self.visit(item)
def visit_Expr(self, node):
self.newline(node)
self.generic_visit(node)
def visit_FunctionDef(self, node):
self.newline(extra=1)
self.decorators(node)
self.newline(node)
self.write('def %s(' % node.name)
self.signature(node.args)
self.write('):')
self.body(node.body)
def visit_ClassDef(self, node):
have_args = []
def paren_or_comma():
if have_args:
self.write(', ')
else:
have_args.append(True)
self.write('(')
self.newline(extra=2)
self.decorators(node)
self.newline(node)
self.write('class %s' % node.name)
for base in node.bases:
paren_or_comma()
self.visit(base)
# XXX: the if here is used to keep this module compatible
# with python 2.6.
if hasattr(node, 'keywords'):
for keyword in node.keywords:
paren_or_comma()
self.write(keyword.arg + '=')
self.visit(keyword.value)
if node.starargs is not None:
paren_or_comma()
self.write('*')
self.visit(node.starargs)
if node.kwargs is not None:
paren_or_comma()
self.write('**')
self.visit(node.kwargs)
self.write(have_args and '):' or ':')
self.body(node.body)
def visit_If(self, node):
self.newline(node)
self.write('if ')
self.visit(node.test)
self.write(':')
self.body(node.body)
while True:
else_ = node.orelse
if len(else_) == 1 and isinstance(else_[0], If):
node = else_[0]
self.newline()
self.write('elif ')
self.visit(node.test)
self.write(':')
self.body(node.body)
else:
self.newline()
self.write('else:')
self.body(else_)
break
def visit_For(self, node):
self.newline(node)
self.write('for ')
self.visit(node.target)
self.write(' in ')
self.visit(node.iter)
self.write(':')
self.body_or_else(node)
def visit_While(self, node):
self.newline(node)
self.write('while ')
self.visit(node.test)
self.write(':')
self.body_or_else(node)
def visit_With(self, node):
self.newline(node)
self.write('with ')
self.visit(node.context_expr)
if node.optional_vars is not None:
self.write(' as ')
self.visit(node.optional_vars)
self.write(':')
self.body(node.body)
def visit_Pass(self, node):
self.newline(node)
self.write('pass')
def visit_Print(self, node):
# XXX: python 2.6 only
self.newline(node)
self.write('print ')
want_comma = False
if node.dest is not None:
self.write(' >> ')
self.visit(node.dest)
want_comma = True
for value in node.values:
if want_comma:
self.write(', ')
self.visit(value)
want_comma = True
if not node.nl:
self.write(',')
def visit_Delete(self, node):
self.newline(node)
self.write('del ')
for idx, target in enumerate(node):
if idx:
self.write(', ')
self.visit(target)
def visit_TryExcept(self, node):
self.newline(node)
self.write('try:')
self.body(node.body)
for handler in node.handlers:
self.visit(handler)
def visit_TryFinally(self, node):
self.newline(node)
self.write('try:')
self.body(node.body)
self.newline(node)
self.write('finally:')
self.body(node.finalbody)
def visit_Global(self, node):
self.newline(node)
self.write('global ' + ', '.join(node.names))
def visit_Nonlocal(self, node):
self.newline(node)
self.write('nonlocal ' + ', '.join(node.names))
def visit_Return(self, node):
self.newline(node)
self.write('return ')
self.visit(node.value)
def visit_Break(self, node):
self.newline(node)
self.write('break')
def visit_Continue(self, node):
self.newline(node)
self.write('continue')
def visit_Raise(self, node):
# XXX: Python 2.6 / 3.0 compatibility
self.newline(node)
self.write('raise')
if hasattr(node, 'exc') and node.exc is not None:
self.write(' ')
self.visit(node.exc)
if node.cause is not None:
self.write(' from ')
self.visit(node.cause)
elif hasattr(node, 'type') and node.type is not None:
self.visit(node.type)
if node.inst is not None:
self.write(', ')
self.visit(node.inst)
if node.tback is not None:
self.write(', ')
self.visit(node.tback)
# Expressions
def visit_Attribute(self, node):
self.visit(node.value)
self.write('.' + node.attr)
def visit_Call(self, node):
want_comma = []
def write_comma():
if want_comma:
self.write(', ')
else:
want_comma.append(True)
self.visit(node.func)
self.write('(')
for arg in node.args:
write_comma()
self.visit(arg)
for keyword in node.keywords:
write_comma()
self.write(keyword.arg + '=')
self.visit(keyword.value)
if node.starargs is not None:
write_comma()
self.write('*')
self.visit(node.starargs)
if node.kwargs is not None:
write_comma()
self.write('**')
self.visit(node.kwargs)
self.write(')')
def visit_Name(self, node):
self.write(node.id)
def visit_Str(self, node):
self.write(repr(node.s))
def visit_Bytes(self, node):
self.write(repr(node.s))
def visit_Num(self, node):
self.write(repr(node.n))
def visit_Tuple(self, node):
self.write('(')
idx = -1
for idx, item in enumerate(node.elts):
if idx:
self.write(', ')
self.visit(item)
self.write(idx and ')' or ',)')
def sequence_visit(left, right):
def visit(self, node):
self.write(left)
for idx, item in enumerate(node.elts):
if idx:
self.write(', ')
self.visit(item)
self.write(right)
return visit
visit_List = sequence_visit('[', ']')
visit_Set = sequence_visit('{', '}')
del sequence_visit
def visit_Dict(self, node):
self.write('{')
for idx, (key, value) in enumerate(zip(node.keys, node.values)):
if idx:
self.write(', ')
self.visit(key)
self.write(': ')
self.visit(value)
self.write('}')
def visit_BinOp(self, node):
self.visit(node.left)
self.write(' %s ' % BINOP_SYMBOLS[type(node.op)])
self.visit(node.right)
def visit_BoolOp(self, node):
self.write('(')
for idx, value in enumerate(node.values):
if idx:
self.write(' %s ' % BOOLOP_SYMBOLS[type(node.op)])
self.visit(value)
self.write(')')
def visit_Compare(self, node):
self.write('(')
self.write(node.left)
for op, right in zip(node.ops, node.comparators):
self.write(' %s %%' % CMPOP_SYMBOLS[type(op)])
self.visit(right)
self.write(')')
def visit_UnaryOp(self, node):
self.write('(')
op = UNARYOP_SYMBOLS[type(node.op)]
self.write(op)
if op == 'not':
self.write(' ')
self.visit(node.operand)
self.write(')')
def visit_Subscript(self, node):
self.visit(node.value)
self.write('[')
self.visit(node.slice)
self.write(']')
def visit_Slice(self, node):
if node.lower is not None:
self.visit(node.lower)
self.write(':')
if node.upper is not None:
self.visit(node.upper)
if node.step is not None:
self.write(':')
if not (isinstance(node.step, Name) and node.step.id == 'None'):
self.visit(node.step)
def visit_ExtSlice(self, node):
for idx, item in node.dims:
if idx:
self.write(', ')
self.visit(item)
def visit_Yield(self, node):
self.write('yield ')
self.visit(node.value)
def visit_Lambda(self, node):
self.write('lambda ')
self.signature(node.args)
self.write(': ')
self.visit(node.body)
def visit_Ellipsis(self, node):
self.write('Ellipsis')
def generator_visit(left, right):
def visit(self, node):
self.write(left)
self.visit(node.elt)
for comprehension in node.generators:
self.visit(comprehension)
self.write(right)
return visit
visit_ListComp = generator_visit('[', ']')
visit_GeneratorExp = generator_visit('(', ')')
visit_SetComp = generator_visit('{', '}')
del generator_visit
def visit_DictComp(self, node):
self.write('{')
self.visit(node.key)
self.write(': ')
self.visit(node.value)
for comprehension in node.generators:
self.visit(comprehension)
self.write('}')
def visit_IfExp(self, node):
self.visit(node.body)
self.write(' if ')
self.visit(node.test)
self.write(' else ')
self.visit(node.orelse)
def visit_Starred(self, node):
self.write('*')
self.visit(node.value)
def visit_Repr(self, node):
# XXX: python 2.6 only
self.write('`')
self.visit(node.value)
self.write('`')
# Helper Nodes
def visit_alias(self, node):
self.write(node.name)
if node.asname is not None:
self.write(' as ' + node.asname)
def visit_comprehension(self, node):
self.write(' for ')
self.visit(node.target)
self.write(' in ')
self.visit(node.iter)
if node.ifs:
for if_ in node.ifs:
self.write(' if ')
self.visit(if_)
def visit_excepthandler(self, node):
self.newline(node)
self.write('except')
if node.type is not None:
self.write(' ')
self.visit(node.type)
if node.name is not None:
self.write(' as ')
self.visit(node.name)
self.write(':')
self.body(node.body)

View File

@@ -0,0 +1,4 @@
# PLY package
# Author: David Beazley (dave@dabeaz.com)
__all__ = ['lex','yacc']

1058
bitbake/lib/ply/lex.py Normal file

File diff suppressed because it is too large Load Diff

3276
bitbake/lib/ply/yacc.py Normal file

File diff suppressed because it is too large Load Diff

384
bitbake/lib/progressbar.py Normal file
View File

@@ -0,0 +1,384 @@
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
#
# progressbar - Text progressbar library for python.
# Copyright (c) 2005 Nilton Volpato
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library 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
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
"""Text progressbar library for python.
This library provides a text mode progressbar. This is typically used
to display the progress of a long running operation, providing a
visual clue that processing is underway.
The ProgressBar class manages the progress, and the format of the line
is given by a number of widgets. A widget is an object that may
display diferently depending on the state of the progress. There are
three types of widget:
- a string, which always shows itself;
- a ProgressBarWidget, which may return a diferent value every time
it's update method is called; and
- a ProgressBarWidgetHFill, which is like ProgressBarWidget, except it
expands to fill the remaining width of the line.
The progressbar module is very easy to use, yet very powerful. And
automatically supports features like auto-resizing when available.
"""
from __future__ import division
__author__ = "Nilton Volpato"
__author_email__ = "first-name dot last-name @ gmail.com"
__date__ = "2006-05-07"
__version__ = "2.3-dev"
import sys, time, os
from array import array
try:
from fcntl import ioctl
import termios
except ImportError:
pass
import signal
try:
basestring
except NameError:
basestring = (str,)
class ProgressBarWidget(object):
"""This is an element of ProgressBar formatting.
The ProgressBar object will call it's update value when an update
is needed. It's size may change between call, but the results will
not be good if the size changes drastically and repeatedly.
"""
def update(self, pbar):
"""Returns the string representing the widget.
The parameter pbar is a reference to the calling ProgressBar,
where one can access attributes of the class for knowing how
the update must be made.
At least this function must be overriden."""
pass
class ProgressBarWidgetHFill(object):
"""This is a variable width element of ProgressBar formatting.
The ProgressBar object will call it's update value, informing the
width this object must the made. This is like TeX \\hfill, it will
expand to fill the line. You can use more than one in the same
line, and they will all have the same width, and together will
fill the line.
"""
def update(self, pbar, width):
"""Returns the string representing the widget.
The parameter pbar is a reference to the calling ProgressBar,
where one can access attributes of the class for knowing how
the update must be made. The parameter width is the total
horizontal width the widget must have.
At least this function must be overriden."""
pass
class ETA(ProgressBarWidget):
"Widget for the Estimated Time of Arrival"
def format_time(self, seconds):
return time.strftime('%H:%M:%S', time.gmtime(seconds))
def update(self, pbar):
if pbar.currval == 0:
return 'ETA: --:--:--'
elif pbar.finished:
return 'Time: %s' % self.format_time(pbar.seconds_elapsed)
else:
elapsed = pbar.seconds_elapsed
eta = elapsed * pbar.maxval / pbar.currval - elapsed
return 'ETA: %s' % self.format_time(eta)
class FileTransferSpeed(ProgressBarWidget):
"Widget for showing the transfer speed (useful for file transfers)."
def __init__(self, unit='B'):
self.unit = unit
self.fmt = '%6.2f %s'
self.prefixes = ['', 'K', 'M', 'G', 'T', 'P']
def update(self, pbar):
if pbar.seconds_elapsed < 2e-6:#== 0:
bps = 0.0
else:
bps = pbar.currval / pbar.seconds_elapsed
spd = bps
for u in self.prefixes:
if spd < 1000:
break
spd /= 1000
return self.fmt % (spd, u + self.unit + '/s')
class RotatingMarker(ProgressBarWidget):
"A rotating marker for filling the bar of progress."
def __init__(self, markers='|/-\\'):
self.markers = markers
self.curmark = -1
def update(self, pbar):
if pbar.finished:
return self.markers[0]
self.curmark = (self.curmark + 1) % len(self.markers)
return self.markers[self.curmark]
class Percentage(ProgressBarWidget):
"Just the percentage done."
def update(self, pbar):
return '%3d%%' % pbar.percentage()
class SimpleProgress(ProgressBarWidget):
"Returns what is already done and the total, e.g.: '5 of 47'"
def __init__(self, sep=' of '):
self.sep = sep
def update(self, pbar):
return '%d%s%d' % (pbar.currval, self.sep, pbar.maxval)
class Bar(ProgressBarWidgetHFill):
"The bar of progress. It will stretch to fill the line."
def __init__(self, marker='#', left='|', right='|'):
self.marker = marker
self.left = left
self.right = right
def _format_marker(self, pbar):
if isinstance(self.marker, basestring):
return self.marker
else:
return self.marker.update(pbar)
def update(self, pbar, width):
percent = pbar.percentage()
cwidth = width - len(self.left) - len(self.right)
marked_width = int(percent * cwidth // 100)
m = self._format_marker(pbar)
bar = (self.left + (m * marked_width).ljust(cwidth) + self.right)
return bar
class ReverseBar(Bar):
"The reverse bar of progress, or bar of regress. :)"
def update(self, pbar, width):
percent = pbar.percentage()
cwidth = width - len(self.left) - len(self.right)
marked_width = int(percent * cwidth // 100)
m = self._format_marker(pbar)
bar = (self.left + (m*marked_width).rjust(cwidth) + self.right)
return bar
default_widgets = [Percentage(), ' ', Bar()]
class ProgressBar(object):
"""This is the ProgressBar class, it updates and prints the bar.
A common way of using it is like:
>>> pbar = ProgressBar().start()
>>> for i in xrange(100):
... # do something
... pbar.update(i+1)
...
>>> pbar.finish()
You can also use a progressbar as an iterator:
>>> progress = ProgressBar()
>>> for i in progress(some_iterable):
... # do something
...
But anything you want to do is possible (well, almost anything).
You can supply different widgets of any type in any order. And you
can even write your own widgets! There are many widgets already
shipped and you should experiment with them.
The term_width parameter must be an integer or None. In the latter case
it will try to guess it, if it fails it will default to 80 columns.
When implementing a widget update method you may access any
attribute or function of the ProgressBar object calling the
widget's update method. The most important attributes you would
like to access are:
- currval: current value of the progress, 0 <= currval <= maxval
- maxval: maximum (and final) value of the progress
- finished: True if the bar has finished (reached 100%), False o/w
- start_time: the time when start() method of ProgressBar was called
- seconds_elapsed: seconds elapsed since start_time
- percentage(): percentage of the progress [0..100]. This is a method.
The attributes above are unlikely to change between different versions,
the other ones may change or cease to exist without notice, so try to rely
only on the ones documented above if you are extending the progress bar.
"""
__slots__ = ('currval', 'fd', 'finished', 'last_update_time', 'maxval',
'next_update', 'num_intervals', 'seconds_elapsed',
'signal_set', 'start_time', 'term_width', 'update_interval',
'widgets', '_iterable')
_DEFAULT_MAXVAL = 100
def __init__(self, maxval=None, widgets=default_widgets, term_width=None,
fd=sys.stderr):
self.maxval = maxval
self.widgets = widgets
self.fd = fd
self.signal_set = False
if term_width is not None:
self.term_width = term_width
else:
try:
self._handle_resize(None, None)
signal.signal(signal.SIGWINCH, self._handle_resize)
self.signal_set = True
except (SystemExit, KeyboardInterrupt):
raise
except:
self.term_width = int(os.environ.get('COLUMNS', 80)) - 1
self.currval = 0
self.finished = False
self.start_time = None
self.last_update_time = None
self.seconds_elapsed = 0
self._iterable = None
def __call__(self, iterable):
try:
self.maxval = len(iterable)
except TypeError:
# If the iterable has no length, then rely on the value provided
# by the user, otherwise fail.
if not (isinstance(self.maxval, (int, long)) and self.maxval > 0):
raise RuntimeError('Could not determine maxval from iterable. '
'You must explicitly provide a maxval.')
self._iterable = iter(iterable)
self.start()
return self
def __iter__(self):
return self
def next(self):
try:
next = self._iterable.next()
self.update(self.currval + 1)
return next
except StopIteration:
self.finish()
raise
def _handle_resize(self, signum, frame):
h, w = array('h', ioctl(self.fd, termios.TIOCGWINSZ, '\0' * 8))[:2]
self.term_width = w
def percentage(self):
"Returns the percentage of the progress."
return self.currval * 100.0 / self.maxval
def _format_widgets(self):
r = []
hfill_inds = []
num_hfill = 0
currwidth = 0
for i, w in enumerate(self.widgets):
if isinstance(w, ProgressBarWidgetHFill):
r.append(w)
hfill_inds.append(i)
num_hfill += 1
elif isinstance(w, basestring):
r.append(w)
currwidth += len(w)
else:
weval = w.update(self)
currwidth += len(weval)
r.append(weval)
for iw in hfill_inds:
widget_width = int((self.term_width - currwidth) // num_hfill)
r[iw] = r[iw].update(self, widget_width)
return r
def _format_line(self):
return ''.join(self._format_widgets()).ljust(self.term_width)
def _next_update(self):
return int((int(self.num_intervals *
(self.currval / self.maxval)) + 1) *
self.update_interval)
def _need_update(self):
"""Returns true when the progressbar should print an updated line.
You can override this method if you want finer grained control over
updates.
The current implementation is optimized to be as fast as possible and
as economical as possible in the number of updates. However, depending
on your usage you may want to do more updates. For instance, if your
progressbar stays in the same percentage for a long time, and you want
to update other widgets, like ETA, then you could return True after
some time has passed with no updates.
Ideally you could call self._format_line() and see if it's different
from the previous _format_line() call, but calling _format_line() takes
around 20 times more time than calling this implementation of
_need_update().
"""
return self.currval >= self.next_update
def update(self, value):
"Updates the progress bar to a new value."
assert 0 <= value <= self.maxval, '0 <= %d <= %d' % (value, self.maxval)
self.currval = value
if not self._need_update():
return
if self.start_time is None:
raise RuntimeError('You must call start() before calling update()')
now = time.time()
self.seconds_elapsed = now - self.start_time
self.next_update = self._next_update()
self.fd.write(self._format_line() + '\r')
self.last_update_time = now
def start(self):
"""Starts measuring time, and prints the bar at 0%.
It returns self so you can use it like this:
>>> pbar = ProgressBar().start()
>>> for i in xrange(100):
... # do something
... pbar.update(i+1)
...
>>> pbar.finish()
"""
if self.maxval is None:
self.maxval = self._DEFAULT_MAXVAL
assert self.maxval > 0
self.num_intervals = max(100, self.term_width)
self.update_interval = self.maxval / self.num_intervals
self.next_update = 0
self.start_time = self.last_update_time = time.time()
self.update(0)
return self
def finish(self):
"""Used to tell the progress is finished."""
self.finished = True
self.update(self.maxval)
self.fd.write('\n')
if self.signal_set:
signal.signal(signal.SIGWINCH, signal.SIG_DFL)

View File

@@ -1,9 +0,0 @@
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "1"
BBFILES ?= ""
BBLAYERS = " \
${OEROOT}/meta \
${OEROOT}/meta-moblin \
"

View File

@@ -1,153 +0,0 @@
# CONF_VERSION is increased each time build/conf/ changes incompatibly
CONF_VERSION = "1"
# Where to cache the files Poky downloads
DL_DIR ?= "${OEROOT}/sources"
# Where to cache Poky's built staging output
PSTAGE_DIR ?= "${OEROOT}/pstage"
# Uncomment and set to allow bitbake to execute multiple tasks at once.
# For a quadcore, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
# be appropriate.
# BB_NUMBER_THREADS = "4"
# Also, make can be passed flags so it run parallel threads e.g.:
# PARALLEL_MAKE = "-j 4"
# The machine to target
MACHINE ?= "qemux86"
# Other supported machines
#MACHINE ?= "qemuarm"
#MACHINE ?= "netbook"
#MACHINE ?= "c7x0"
#MACHINE ?= "akita"
#MACHINE ?= "spitz"
#MACHINE ?= "nokia770"
#MACHINE ?= "nokia800"
#MACHINE ?= "fic-gta01"
#MACHINE ?= "bootcdx86"
#MACHINE ?= "cm-x270"
#MACHINE ?= "em-x270"
#MACHINE ?= "htcuniversal"
#MACHINE ?= "mx31ads"
#MACHINE ?= "mx31litekit"
#MACHINE ?= "mx31phy"
#MACHINE ?= "zylonite"
DISTRO ?= "poky"
# For bleeding edge / experimental / unstable package versions
# DISTRO ?= "poky-bleeding"
# Poky has various extra metadata collections (openmoko, extras).
# To enable these, uncomment all (or some of) the following lines:
# BBFILES = "\
# ${OEROOT}/meta/packages/*/*.bb \
# ${OEROOT}/meta-extras/packages/*/*.bb \
# ${OEROOT}/meta-openmoko/packages/*/*.bb \
# ${OEROOT}/meta-moblin/packages/*/*.bb \
# "
# BBFILE_COLLECTIONS = "normal extras openmoko moblin"
# BBFILE_PATTERN_normal = "^${OEROOT}/meta/"
# BBFILE_PATTERN_extras = "^${OEROOT}/meta-extras/"
# BBFILE_PATTERN_openmoko = "^${OEROOT}/meta-openmoko/"
# BBFILE_PATTERN_moblin = "^${OEROOT}/meta-moblin/"
# BBFILE_PRIORITY_normal = "5"
# BBFILE_PRIORITY_extras = "5"
# BBFILE_PRIORITY_openmoko = "5"
# BBFILE_PRIORITY_moblin = "5"
BBMASK = ""
# EXTRA_IMAGE_FEATURES allows extra packages to be added to the generated images
# (Some of these are automatically added to certain image types)
# "dbg-pkgs" - add -dbg packages for all installed packages
# (adds symbol information for debugging/profiling)
# "dev-pkgs" - add -dev packages for all installed packages
# (useful if you want to develop against libs in the image)
# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
# "tools-debug" - add debugging tools (gdb, strace)
# "tools-profile" - add profiling tools (oprofile, exmap, lttng valgrind (x86 only))
# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
# "debug-tweaks" - make an image for suitable of development
# e.g. ssh root access has a blank password
# There are other application targets too, see meta/classes/poky-image.bbclass
# and meta/packages/tasks/task-poky.bb for more details.
EXTRA_IMAGE_FEATURES = "tools-debug tools-profile tools-testapps debug-tweaks"
# The default IMAGE_FEATURES above are too large for the mx31phy and
# c700/c750 machines which have limited space. The code below limits
# the default features for those machines.
EXTRA_IMAGE_FEATURES_c7x0 = "tools-testapps debug-tweaks"
EXTRA_IMAGE_FEATURES_mx31phy = "debug-tweaks"
EXTRA_IMAGE_FEATURES_mx31ads = "tools-testapps debug-tweaks"
# A list of packaging systems used in generated images
# The first package type listed will be used for rootfs generation
# include 'package_deb' for debs
# include 'package_ipk' for ipks
#PACKAGE_CLASSES ?= "package_deb package_ipk"
PACKAGE_CLASSES ?= "package_ipk"
# POKYMODE controls the characteristics of the generated packages/images by
# telling poky which type of toolchain to use.
#
# Options include several different EABI combinations and a compatibility
# mode for the OABI mode poky previously used.
#
# The default is "eabi"
# Use "oabi" for machines with kernels < 2.6.18 on ARM for example.
# Use "external-MODE" to use the precompiled external toolchains where MODE
# is the type of external toolchain to use e.g. eabi.
# POKYMODE = "external-eabi"
# Uncomment this to specify where BitBake should create its temporary files.
# Note that a full build of everything in OpenEmbedded will take GigaBytes of hard
# disk space, so make sure to free enough space. The default TMPDIR is
# <build directory>/tmp
TMPDIR = "${OEROOT}/build/tmp"
# Uncomment this if you are using the Openedhand provided qemu deb - see README
# ASSUME_PROVIDED += "qemu-native"
# Comment this out if you don't have a 3.x gcc version available and wish
# poky to build one for you. The 3.x gcc is required to build qemu-native.
# ASSUME_PROVIDED += "gcc3-native"
# Uncomment these two if you want BitBake to build images useful for debugging.
# DEBUG_BUILD = "1"
# INHIBIT_PACKAGE_STRIP = "1"
# Uncomment these to build a package such that you can use gprof to profile it.
# NOTE: This will only work with 'linux' targets, not
# 'linux-uclibc', as uClibc doesn't provide the necessary
# object files. Also, don't build glibc itself with these
# flags, or it'll fail to build.
#
# PROFILE_OPTIMIZATION = "-pg"
# SELECTED_OPTIMIZATION = "${PROFILE_OPTIMIZATION}"
# LDFLAGS =+ "-pg"
# Uncomment this if you want BitBake to emit debugging output
# BBDEBUG = "yes"
# Uncomment this if you want BitBake to emit the log if a build fails.
BBINCLUDELOGS = "yes"
# Set this if you wish to make pkgconfig libraries from your system available
# for native builds. Combined with extra ASSUME_PROVIDEDs this can allow
# native builds of applications like oprofileui-native (unsupported feature).
#EXTRA_NATIVE_PKGCONFIG_PATH = ":/usr/lib/pkgconfig"
#ASSUME_PROVIDED += "gtk+-native libglade-native"
ENABLE_BINARY_LOCALE_GENERATION = "1"
# The architecture to build SDK items for, by setting this you can build SDK
# packages for architectures other than the host i.e. building i586 packages
# on an x86_64 host.
# Supported values are i586 and x86_64
#SDKMACHINE="i586"
# Poky can try and fetch packaged-staging packages from a http, https or ftp
# mirror. Set this variable to the root of a pstage directory on a server.
#PSTAGE_MIRROR ?= "http://someserver.tld/share/pstage"

View File

@@ -0,0 +1,35 @@
XSLTOPTS = --stringparam html.stylesheet style.css \
--stringparam chapter.autolabel 1 \
--stringparam section.autolabel 1 \
--stringparam section.label.includes.component.label 1 \
--xinclude
##
# These URI should be rewritten by your distribution's xml catalog to
# match your localy installed XSL stylesheets.
XSL_BASE_URI = http://docbook.sourceforge.net/release/xsl/current
XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl
all: html pdf tarball
pdf:
../tools/poky-docbook-to-pdf bsp-guide.xml ../template
html:
# See http://www.sagehill.net/docbookxsl/HtmlOutput.html
xsltproc $(XSLTOPTS) -o bsp-guide.html bsp-guide-customization.xsl bsp-guide.xml
tarball: html
tar -cvzf bsp-guide.tgz style.css bsp-guide.html figures/bsp-title.png
validate:
xmllint --postvalid --xinclude --noout bsp-guide.xml
OUTPUTS = bsp-guide.pdf bsp-guide.html
SOURCES = *.png *.xml *.css *.svg
publish:
scp -r $(OUTPUTS) $(SOURCES) o-hand.com:/srv/www/pokylinux.org/doc/
clean:
rm -f $(OUTPUTS)

View File

@@ -0,0 +1,6 @@
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl" />
</xsl:stylesheet>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<book id='poky-handbook' lang='en'
<book id='bsp-guide' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
xmlns="http://docbook.org/ns/docbook"
>
@@ -9,13 +9,13 @@
<mediaobject>
<imageobject>
<imagedata fileref='common/poky-handbook.png'
<imagedata fileref='figures/bsp-title.png'
format='SVG'
align='center' scalefit='1' width='100%'/>
</imageobject>
</mediaobject>
<title>Board Support Package (BSP) Developers Guide</title>
<title></title>
<authorgroup>
<author>
@@ -29,15 +29,15 @@
<revhistory>
<revision>
<revnumber>0.4</revnumber>
<date>26 May 2010</date>
<revremark>Alpha Draft</revremark>
<revnumber>0.9</revnumber>
<date>27 October 2010</date>
<revremark>Beta Draft</revremark>
</revision>
</revhistory>
<copyright>
<year>2010</year>
<holder>Intel Corporation</holder>
<holder>Linux Foundation</holder>
</copyright>
<legalnotice>
@@ -51,9 +51,10 @@
<xi:include href="bsp.xml"/>
<index id='index'>
<!-- <index id='index'>
<title>Index</title>
</index>
-->
</book>
<!--

View File

@@ -0,0 +1,644 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<chapter id='bsp'>
<title>Board Support Packages (BSP) - Developers Guide</title>
<para>
A Board Support Package (BSP) is a collection of information that
defines how to support a particular hardware device, set of devices, or
hardware platform.
The BSP includes information about the hardware features
present on the device and kernel configuration information along with any
additional hardware drivers required.
The BSP also lists any additional software
components required in addition to a generic Linux software stack for both
essential and optional platform features.
</para>
<para>
This section (or document if you are reading the BSP Developer's Guide) defines
a structure for these components
so that BSPs follow a commonly understood layout.
Providing a common form allows end-users to understand and become familiar
with the layout.
A common form also encourages standardization
of software support of hardware.
</para>
<para>
The proposed format does have elements that are specific to the Poky and
OpenEmbedded build systems.
It is intended that this information can be
used by other systems besides Poky and OpenEmbedded and that it will be simple
to extract information and convert it to other formats if required.
Poky, through its standard layers mechanism, can directly accept the format
described as a layer.
The BSP captures all
the hardware-specific details in one place in a standard format, which is
useful for any person wishing to use the hardware platform regardless of
the build system they are using.
</para>
<para>
The BSP specification does not include a build system or other tools -
it is concerned with the hardware-specific components only.
At the end
distribution point you can ship the BSP combined with a build system
and other tools.
However, it is important to maintain the distinction that these
are separate components that happen to be combined in certain end products.
</para>
<section id="bsp-filelayout">
<title>Example Filesystem Layout</title>
<para>
The BSP consists of a file structure inside a base directory, which uses the following
naming convention:
<literallayout class='monospaced'>
meta-&lt;bsp_name&gt;
</literallayout>
"bsp_name" is a placeholder for the machine or platform name.
Here are some example base directory names:
<literallayout class='monospaced'>
meta-emenlow
meta-intel_n450
meta-beagleboard
</literallayout>
</para>
<para>
Below is the common form for the file structure inside a base directory.
While you can use this basic form for the standard, realize that the actual structures
for specific BSPs could differ.
<programlisting>
meta-&lt;bsp_name&gt;/
meta-&lt;bsp_name&gt;/&lt;bsp_license_file&gt;
meta-&lt;bsp_name&gt;/README
meta-&lt;bsp_name&gt;/binary/&lt;bootable_images&gt;
meta-&lt;bsp_name&gt;/conf/layer.conf
meta-&lt;bsp_name&gt;/conf/machine/*.conf
meta-&lt;bsp_name&gt;/recipes-bsp/*
meta-&lt;bsp_name&gt;/recipes-graphics/*
meta-&lt;bsp_name&gt;/recipes-kernel/linux/linux-yocto-stable.bbappend
</programlisting>
</para>
<para>
Below is an example of the crownbay BSP:
<programlisting>
meta-crownbay/COPYING.MIT
meta-crownbay/README
meta-crownbay/binary/.gitignore
meta-crownbay/conf/layer.conf
meta-crownbay/conf/machine/crownbay.conf
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig
meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xcorg.conf
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin/.gitignore
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/nodolt.patch
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
meta-crownbay/recipes-kernel/linux/linux-wrs_git.bbappend
</programlisting>
</para>
<para>
The following sections describe each part of the proposed BSP format.
</para>
<section id="bsp-filelayout-license">
<title>License Files</title>
<programlisting>
meta-&lt;bsp_name&gt;/&lt;bsp_license_file&gt;
</programlisting>
<para>
These optional files satisfy licensing requirements for the BSP.
The type or types of files here can vary depending on the licensing requirements.
For example, in the crownbay BSP all licensing requirements are handled with the
<filename>COPYING.MIT</filename> file.
</para>
<para>
Licensing files can be MIT, BSD, GPLv*, and so forth.
These files are recommended for the BSP but are optional and totally up to the BSP developer.
</para>
</section>
<section id="bsp-filelayout-readme">
<title>README File</title>
<programlisting>
meta-&lt;bsp_name&gt;/README
</programlisting>
<para>
This file provides information on how to boot the live images that are optionally
included in the <filename>/binary</filename> directory.
The <filename>README</filename> file also provides special information needed for
building the image.
</para>
<para>
Technically speaking a <filename>README</filename> is optional but it is highly
recommended that every BSP has one.
</para>
</section>
<section id="bsp-filelayout-binary">
<title>Pre-built User Binaries</title>
<programlisting>
meta-&lt;bsp_name&gt;/binary/&lt;bootable_images&gt;
</programlisting>
<para>
This optional area contains useful pre-built kernels and userspace filesystem
images appropriate to the target system.
This directory contains the Application Development Toolkit (ADT) and minimal
live images when the BSP is has been "tar-balled" and placed on the Yocto Project website.
You can use these kernels and images to get a system running and quickly get started
on development tasks.
</para>
<para>
The exact types of binaries present are highly hardware-dependent.
However, a README file should be present in the BSP file structure that explains how to use
the kernels and images with the target hardware.
If pre-built binaries are present, source code to meet licensing requirements must also
be provided in some form.
</para>
</section>
<section id='bsp-filelayout-layer'>
<title>Layer Configuration File</title>
<programlisting>
meta-&lt;bsp_name&gt;/conf/layer.conf
</programlisting>
<para>
This file identifies the structure as a Poky layer, identifies the
contents of the layer, and contains information about how Poky should use it.
Generally, a standard boilerplate file such as the following works.
In the following example you would replace "bsp" and "_bsp" with the actual name
of the BSP (i.e. &lt;bsp_name&gt; from the example template).
</para>
<para>
<programlisting>
# We have a conf directory, add to BBPATH
BBPATH := "${BBPATH}:${LAYERDIR}"
# We have a recipes directory containing .bb and .bbappend files, add to BBFILES
BBFILES := "${BBFILES} ${LAYERDIR}/recipes/*/*.bb \ ${LAYERDIR}/recipes/*/*.bbappend"
BBFILE_COLLECTIONS += "bsp"
BBFILE_PATTERN_bsp := "^${LAYERDIR}/"
BBFILE_PRIORITY_bsp = "5"
</programlisting>
</para>
<para>
This file simply makes BitBake aware of the recipes and configuration directories.
This file must exist so that Poky can recognize the BSP.
</para>
</section>
<section id="bsp-filelayout-machine">
<title>Hardware Configuration Options</title>
<programlisting>
meta-&lt;bsp_name&gt;/conf/machine/*.conf
</programlisting>
<para>
The machine files bind together all the information contained elsewhere
in the BSP into a format that Poky can understand.
If the BSP supports multiple machines, multiple machine configuration files
can be present.
These filenames correspond to the values to which users have set the MACHINE variable.
</para>
<para>
These files define things such as the kernel package to use
(PREFERRED_PROVIDER of virtual/kernel), the hardware drivers to
include in different types of images, any special software components
that are needed, any bootloader information, and also any special image
format requirements.
</para>
<para>
At least one machine file is required for a BSP layer.
However, you can supply more than one file.
</para>
<para>
This directory could also contain shared hardware "tuning" definitions that are commonly used to
pass specific optimization flags to the compiler.
An example is <filename>tune-atom.inc</filename>:
</para>
<para>
<programlisting>
BASE_PACKAGE_ARCH = "core2"
TARGET_CC_ARCH = "-m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse"
</programlisting>
</para>
<para>
This example defines a new package architecture called "core2" and uses the
specified optimization flags, which are carefully chosen to give best
performance on atom processors.
</para>
<para>
The tune file would be included by the machine definition and can be
contained in the BSP or referenced from one of the standard core set of
files included with Poky itself.
</para>
<para>
Both the base package architecture file and the tune file are optional for a Poky BSP layer.
</para>
</section>
<section id='bsp-filelayout-misc-recipes'>
<title>Miscellaneous Recipe Files</title>
<programlisting>
meta-&lt;bsp_name&gt;/recipes-bsp/*
</programlisting>
<para>
This optional directory contains miscellaneous recipe files for the BSP.
Most notably would be the formfactor files.
For example, in the crownbay BSP there is a <filename>machconfig</filename> file and a
<filename>formfactor_0.0.bbappend</filename> file:
<programlisting>
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig
meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend
</programlisting>
</para>
<note><para>
If a BSP does not have a formfactor entry, defaults are established according to
the configuration script.
</para></note>
</section>
<section id='bsp-filelayout-recipes-graphics'>
<title>Display Support Files</title>
<programlisting>
meta-&lt;bsp_name&gt;/recipes-graphics/*
</programlisting>
<para>
This optional directory contains recipes for the BSP if it has
special requirements for graphics support.
All files that are needed for the BSP to support a display are kept here.
For example, in the crownbay BSP several display support files exist:
<programlisting>
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xcorg.conf
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin/.gitignore
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/nodolt.patch
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
</programlisting>
</para>
</section>
<section id='bsp-filelayout-kernel'>
<title>Linux Kernel Configuration</title>
<programlisting>
meta-&lt;bsp_name&gt;/recipes-kernel/linux/linux-yocto-stable.bbappend
</programlisting>
<para>
This file appends your specific changes to the kernel you are using.
</para>
<para>
For your BSP you typically want to use an existing Poky kernel found in the
Poky repository at <filename class='directory'>meta/recipes-kernel/kernel</filename>.
You can append your specific changes to the kernel recipe by using an append file,
which is located in the
<filename class='directory'>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename>
directory.
</para>
<para>
Suppose you use a BSP that uses the <filename>linux-yocto-stable_git.bb</filename> kernel,
which is the preferred kernel to use for developing a new BSP using the Yocto Project.
In other words, you have selected the kernel in your
<filename>&lt;bsp_name&gt;.conf</filename> file by adding the following statement:
<programlisting>
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto-stable"
</programlisting>
You would use the <filename>linux-yocto-stable_git.bbappend</filename> file to append
specific BSP settings to the kernel, thus configuring the kernel for your particular BSP.
</para>
<para>
Now take a look at the existing "crownbay" BSP.
The append file used is:
<programlisting>
meta-crownbay/recipes-kernel/linux/linux-yocto-stable_git.bbappend
</programlisting>
The file contains the following:
<programlisting>
FILESEXTRAPATHS := "${THISDIR}/${PN}"
COMPATIBLE_MACHINE_crownbay = "crownbay"
KMACHINE_crownbay = "crownbay"
</programlisting>
This append file adds "crownbay" as a compatible machine,
and additionally sets a Yocto Kernel-specific variable that identifies the name of the
BSP branch to use in the GIT repository to find configuration information.
</para>
<para>
One thing missing in this particular BSP, which you will typically need when
developing a BSP, is the kernel configuration (.config) for your BSP.
When developing a BSP, you probably have a kernel configuration file or a set of kernel
configuration files that, when taken together, define the kernel configuration for your BSP.
You can accomplish this definition by putting the configurations in a file or a set of files
inside a directory located at the same level as your append file and having the same name
as the kernel.
With all these conditions met simply reference those files in a SRC_URI statement in the append
file.
</para>
<para>
For example, suppose you had a set of configuration options in a file called
<filename>defconfig</filename>.
If you put that file inside a directory named
<filename class='directory'>/linux-yocto-stable</filename> and then added
a SRC_URI statement such as the following to the append file, those configuration
options will be picked up and applied when the kernel is built.
<programlisting>
SRC_URI += "file://defconfig"
</programlisting>
</para>
<para>
As mentioned earlier, you can group related configurations into multiple files and
name them all in the SRC_URI statement as well.
For example, you could group separate configurations specifically for Ethernet and graphics
into their own files and add those by using a SRC_URI statement like the
following in your append file:
<programlisting>
SRC_URI += "file://defconfig \
file://eth.cfg \
file://gfx.cfg"
</programlisting>
</para>
<para>
The FILESEXTRAPATHS variable is boilerplated here in order to make it easy to do that.
It basically allows those configuration files to be found by the build process.
</para>
<note><para>
Other methods exist to accomplish grouping and defining configuration options.
For example, you could directly add configuration options to the Yocto kernel
<filename class='directory'>wrs_meta</filename> branch for your BSP.
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 the
"Yocto Project Kernel Architecture and Use Manual" on the
<ulink url="http://yoctoproject.org/community/documentation">Yocto Project website
Documentation Page</ulink>
</para>
<para>
In general, however, the Yocto Project maintainers take care of moving the SRC_URI-specified
configuration options to the <filename class='directory'>wrs_meta</filename> branch.
Not only is it easier for BSP developers to not have to worry about putting those
configurations in the branch, but having the maintainers do it allows them to apply
'global' knowledge about the kinds of common configuration options multiple BSPs in
the tree are typically using.
This allows for promotion of common configurations into common features.
</para></note>
</section>
<!-- <section id='bsp-filelayout-packages'>
<title>Other Software (meta-&lt;bsp_name&gt;/recipes-kernel/*)</title>
<para>
This section describes other pieces of software that the hardware might need for best
operation.
Examples show some of the things you could encounter.
The examples are standard <filename>.bb</filename> file recipes in the
usual Poky format.
You can include the source directly by referring to it in the source control system or
the released tarballs of external software projects.
You only need to provide these types of files if the platform requires them.
</para>
<para>
The following file is a bootloader recipe that can be used to generate a new
bootloader binary.
Sometimes these files are included in the final image format and are needed to re-flash hardware.
</para>
<para>
<programlisting>
meta-Emenlow/recipes-kernel/bootloader/bootloader_0.1.bb
</programlisting>
</para>
<para>
These next two files are examples of a hardware driver and a hardware daemon that might need
to be included in images to make the hardware useful.
Although the example uses "modem" there may be other components needed, such as firmware.
</para>
<para>
<programlisting>
meta-Emenlow/recipes-Emenlow/modem/modem-driver_0.1.bb
meta-Emenlow/recipes-Emenlow/modem/modem-daemon_0.1.bb
</programlisting>
</para>
<para>
Sometimes the device needs an image in a very specific format so that the update
mechanism can accept and re-flash it.
Recipes to build the tools needed to do this can be included with the BSP.
Following is an example.
</para>
<para>
<programlisting>
meta-Emenlow/recipes-Emenlow/image-creator/image-creator-native_0.1.bb
</programlisting>
</para>
</section>
<section id='bs-filelayout-bbappend'>
<title>Append BSP-Specific Information to Existing Recipes</title>
<para>
Suppose you have a recipe such as "pointercal" that requires machine-specific information.
At the same time, you have your new BSP code nicely partitioned into a layer through which
you would also like to specify any machine-specific information associated with your new machine.
Before the <filename>.bbappend</filename> extension was introduced, you would have to copy the whole
pointercal recipe and files into your layer and then add the single file for your machine.
</para>
<para>
With the <filename>.bbappend</filename> extension, however, your work becomes much easier.
This extension allows you to easily merge BSP-specific information with the original recipe.
Whenever BitBake finds any <filename>.bbappend</filename> files BitBake will include them after
it loads the associated <filename>.bb</filename> file but before any finalize
or anonymous methods are run.
This allows the BSP layer to do whatever it might want to do to customize the original recipe.
</para>
<para>
If your recipe needs to reference extra files it can use the FILESEXTRAPATHS variable
to specify their location.
The example below shows extra files contained in a folder called ${PN} (the package name).
</para>
<programlisting>
FILESEXTRAPATHS := "${THISDIR}/${PN}"
</programlisting>
<para>
This technique allows the BSP to add machine-specific configuration files to the layer directory,
which will be picked up by BitBake.
For an example see <filename>meta-emenlow/packages/formfactor</filename>.
</para>
</section>
<section id="bsp-filelayout-prebuilds">
<title>Pre-build Data (meta-&lt;bsp_name&gt;/prebuilds/*)</title>
<para>
This location can contain precompiled representations of the source code
contained elsewhere in the BSP layer.
Assuming a compatible configuration is used, Poky can process and use these optional pre-compiled
representations to provide much faster build times.
</para>
</section> -->
</section>
<section id='bsp-click-through-licensing'>
<title>BSP 'Click-Through' Licensing Procedure</title>
<note><para> This section describes how
click-through licensing is expected to work.
Currently, this functionality is not yet implemented.
</para></note>
<para>
In some cases, a BSP contains separately licensed IP
(Intellectual Property) for a component that imposes
upon the user a requirement to accept the terms of a
'click-through' license.
Once the license is accepted the
Poky build system can then build and include the
corresponding component in the final BSP image.
Some affected components might be essential to the normal
functioning of the system and have no 'free' replacement
(i.e. the resulting system would be non-functional
without them).
On the other hand, other components might be simply
'good-to-have' or purely elective, or if essential
nonetheless have a 'free' (possibly less-capable)
version that could be used as a in the BSP recipe.
</para>
<para>
For cases where you can substitute something and still maintain functionality, the Poky website will make
available a 'de-featured' BSP completely free of the encumbered IP.
In that case you can use the substitution directly and without any further licensing requirements.
If present, this fully 'de-featured' BSP will be named meta-&lt;bsp_name&gt; (i.e. the
normal default naming convention).
If available, this is the simplest the most preferred option.
This, of course, assumes the resulting functionality meets requirements.
</para>
<para>
If however, a non-encumbered version is unavailable or the 'free' version would provide unsuitable
functionality or quality, an encumbered version can be used.
Encumbered versions of a BSP are given names of the form meta-&lt;bsp_name&gt;-nonfree.
</para>
<para>
Several methods exist within the Poky build system to satisfy the licensing
requirements for an encumbered BSP.
The following list describes them in preferential order:
</para>
<orderedlist>
<listitem>
<para>
Get a license key (or keys) for the encumbered BSP by visiting
<ulink url='https://pokylinux.org/bsp-keys.html'>https://pokylinux.org/bsp-keys.html</ulink>
and give the name of the BSP and your e-mail address in the web form.
</para>
<programlisting>
[screenshot of dialog box]
</programlisting>
<para>
After agreeing to any applicable license terms, the
BSP key(s) will be immediately sent to the address
you gave and you can use them by specifying BSPKEY_&lt;keydomain&gt;
environment variables when building the image:
</para>
<programlisting>
$ BSPKEY_&lt;keydomain&gt;=&lt;key&gt; bitbake poky-image-sato
</programlisting>
<para>
These steps allow the encumbered image to be built
with no change at all to the normal build process.
</para>
<para>
Equivalently and probably more conveniently, a line
for each key can instead be put into the user's
<filename>local.conf</filename> file.
</para>
<para>
The &lt;keydomain&gt; component of the
BSPKEY_&lt;keydomain&gt; is required because there
might be multiple licenses in effect for a given BSP.
In such cases, a given &lt;keydomain&gt; corresponds to
a particular license. In order for an encumbered
BSP that encompasses multiple key domains to be built
successfully, a &lt;keydomain&gt; entry for each
applicable license must be present in <filename>local.conf</filename> or
supplied on the command-line.
</para>
</listitem>
<listitem>
<para>
Do nothing - build as you normally would.
When a license is needed the build will stop and prompt you with instructions.
Follow the license prompts that originate from the
encumbered BSP.
These prompts usually take the form of instructions
needed to manually fetch the encumbered package(s)
and md5 sums into the required directory (e.g. the poky/build/downloads)
Once the manual package fetch has been
completed, restart the build to continue where
it left off.
During the build the prompt will not appear again since you have satisfied the
requirement.
</para>
</listitem>
<listitem>
<para>
Get a full-featured BSP recipe rather than a key, by
visiting
<ulink url='https://pokylinux.org/bsps.html'>https://pokylinux.org/bsps.html</ulink>.
Accepting the license agreement(s) presented will
subsequently allow you to download a tarball
containing a full-featured BSP that is legally cleared for
your use by the just-given license agreement(s).
This method will also allow the encumbered image to
be built with no change at all to the normal build
process.
</para>
</listitem>
</orderedlist>
<para>
Note that the third method is also the only option available
when downloading pre-compiled images generated from
non-free BSPs.
Those images are likewise available at
<ulink url='https://pokylinux.org/bsps.html'>https://pokylinux.org/bsps.html</ulink>.
</para>
</section>
</chapter>

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

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