Commit Graph

7759 Commits

Author SHA1 Message Date
Jiajun Xu
d08a341af7 qemuimagetest: update cvs and iptables to newer version for toolchain test
The old versions of cvs and iptables may meet compile error under some architecture
- cvs 1.11.23 fails on x86-64 host and iptables 1.4.9 fails on arm host. Update them
to latest version could solve these build error.
Meanwhile, 240s timeout is set for sudoku becasue 120s is not enough to finish
compile.

Signed-off-by Jiajun Xu <jiajun.xu@intel.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-24 11:28:32 +01:00
Mark Hatle
13f3607779 native.bbclass: Add a simple chown intercept command
During native recipe processing we want to intercept any calls to chown
and do nothing.  This prevents errors and allows the same recipes to be
used for both native and target recipes.

(From OE-Core rev: 7fd8287d3320231db83c36d09f2b841e520fcfe9)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-23 21:08:01 +01:00
Richard Purdie
42df3f81a1 kernel.bbclass: Stop do_install poking directly into the sysroot and evading sstate
do_install was putting files directly into the sysroot which means sstate
had no knowledge of them. This meant they didn't get cleaned along with the
other files from the task amongst other issues.

This patch puts them in ${D} where they were supposted to be.

Tested-by: Tom Rini <tom_rini@mentor.com>
(From OE-Core rev: 983197c10104bbbcb6cfd6e923a3bf11152b3001)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-23 21:08:01 +01:00
Mark Hatle
b97b3e85ac classes/package_rpm.bbclass: Change the way the PV is transformed
There were some odd instances where the PKGV could not be loaded in the old
way.  Change to verify that PKGV exists before attempting to retrieve the
value from the key.

(From OE-Core rev: c2ce3573fb2816cd2023a56b364fae4c0f4455ae)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-23 16:02:40 +01:00
Tom Rini
2b8a68001a kernel.bbclass: Stage System.map with KERNEL_VERSION suffix
Without this, images will fail now that kernel-abiversion is back.

(From OE-Core rev: 3dbe49b13e7513e449f13515591d02a7d2f560ae)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-23 13:45:56 +01:00
Koen Kooi
bff293c0dc kernel.bbclass: restore kernel-abiversion file
This fixes external module recipes that need $KERNEL_VERSION. It got removed by

    commit a9d41062e24a6b99661b3a5256f369b557433607
    Author: Darren Hart <dvhart@linux.intel.com>
    Date:   Tue Mar 8 17:09:10 2011 -0800

        kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modules

seemingly as an oversight.

(From OE-Core rev: 6978774595f892e6a819ee64c932d475c67a6a0f)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-23 13:34:33 +01:00
Mark Hatle
d9fc516d73 kernel.bbclass: Add support for perf-dbg package
The perf component is built with the kernel, so ensure that it gets the
debug information associated with it.

Also bump the PR in the linux-yocto-* to ensure they get rebuilt.

(From OE-Core rev: 17f76de8ab8b7c9e62c1149017a3fa78866d9300)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-23 12:07:37 +01:00
Mark Hatle
3c928be969 classes/package_rpm.bbclass: Enhance diagnostic messages
We clearly state now if we are:
  * Skipping an empty package
  * Creating a (full) package
  * Creating an empty package

(From OE-Core rev: 3db9d865ef7d65e3712eb7f9a659bb31cb3cb75e)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-23 12:07:36 +01:00
Koen Kooi
5d14238127 base.bbclass: add support for SOC_FAMILY in COMPATIBLE_MACHINES
* Add support for using SOC_FAMILY in the COMPATIBLE_MACHINES
  setting for a recipe.
* This will allow recipes to work for entire families of
  devices without having to maintain/update the compatible
  devices as new devices are added into a family

Based on 07076390358f211bd96779bec2d6eb5eaa0ad699 by Chase Maupin <chase.maupin@ti.com>

(From OE-Core rev: dc303cbf25cf48aa98ff1979882820dd25f8cd9d)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-14 15:58:56 +01:00
Phil Blundell
e0a18ddffe import recipe_sanity.bbclass from oe master
This is a verbatim copy of the corresponding class from oe master.

(From OE-Core rev: fa32b087888bab399a5cd1e3f16213575fe396e2)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-14 15:28:23 +01:00
Richard Purdie
0a641fea28 nativesdk.bbclass: Correct ordering of manipulations
OVERDIDES is the key variable that needs to be set prior to data finalisation.
The other variables should be manipulated after finalisation so any
DEPENDS_prepend and _append are accounted for. This patch ensures this is
the case.

The PACKAGES maniupulations are not enabled at this time as they
don't function 100% correctly yet.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-13 22:38:06 +01:00
Richard Purdie
e112d46c9f task-sdk-host: Add nativesdk to the task name so its clearer what the contents of the task represent
This is particularly important since the file doens't use BBCLASSEXTEND
and PN is therefore misleading

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-13 22:38:06 +01:00
Richard Purdie
1b53eef276 native/nativesdk: Clean up the depends ordering after bitbake override handling updates
This massively cleans up the dependency handling in the two classes
when interacting with BBCLASSEXTEND.

This change has a dependency on the bitbake override handling change
and also the existence of the RecipePreFinalise event.

(From OE-Core rev: f183c7cfe377fa6ed2777605c3590a9dda2060df)

Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-09 22:49:10 +01:00
Richard Purdie
92e165c4bc image_types.bbclass: Since we apply the override, look for the standard name variable, not the override name
(From OE-Core rev: a763fb1576f044dab8257a86bf37c879324dfa53)

Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-09 22:45:00 +01:00
Dexuan Cui
c13b10a6ae cpan.bbclass, cpan-base.bbclas: update them for the perlnative change
Since perl-native now populates into its own dir, here we need
change accordingly.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-06-09 16:58:34 +01:00
Dexuan Cui
89b91fde9b perlnative.bbclass: add the file
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-06-09 16:58:33 +01:00
Dexuan Cui
5565b30589 native.bbclass: allow a native package to be populated into its own dir
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-06-09 16:58:33 +01:00
Richard Purdie
1f0e24236f package.bbclass: PACKAGELOCK is a shared lock file so inform sstate as such
(From OE-Core rev: 60f74e47160508c9150d880b1f627dc7e3f0d3ab)

Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-09 15:48:26 +01:00
Richard Purdie
3dc2615e1a sstate.bbclass: When removing files, take an exclusive lock, even for shared lockfiles
(From OE-Core rev: 4a3e94c2ec014a8aef5e8ebb21bdbdf8d28416b3)

Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-09 15:48:26 +01:00
Scott Garman
c8bd9ff2a4 package_rpm.bbclass: make RPM use on-disk permissions
Instruct RPM to use the on-disk permissions, owners, groups,
and directory permissions, instead of defaulting to root:root

Code changes suggested by Mark Hatle.

(From OE-Core rev: a6464f9484f56f596e3215184ad56ac6769ebb0c)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-06 15:58:42 +01:00
Martin Jansa
6e6fa7d63d base.bbclass: add cleansstate task between clean and cleanall
* sometimes it's usefull to remove only sstate cache and keep downloaded sources for rebuild

(From OE-Core rev: e071bc9982fc3ace3a32a990905884929392c4b6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-06 15:58:40 +01:00
Khem Raj
6f5a6e857d allarch.bbclass: Define BASE_PACKAGE_ARCH = "all"
If not overridden it gets the value which is for target recipes
usually defined in machine tune files

(From OE-Core rev: 7efd372eead4185e8b763c6f7ee1943485f7d84d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-06 15:58:39 +01:00
Otavio Salvador
18011c1a06 qmake_base.bbclass: fix lrelease/lupdate binary names
To support translation, qmake based projects usually call lrelease and
lupdate however OE changes the binary names so this needs some mangle
to work out of box.

(From OE-Core rev: 2a52f806f3789f717219651b97dc64fec3881f7f)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-02 18:26:38 +01:00
Phil Blundell
4547e5ae12 libc-package: fix typo causing annoying diagnostic
We don't package /etc/rpc and do_install() makes some effort to remove
that file so as to avoid the "installed but not shipped" diagnostic.  But,
due to a typo in the command line, the file wasn't actually being removed
and the diagnostic continued to be issued.

(From OE-Core rev: 5b09d5dbac044277b5f1145057d1fc716ec35b9a)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-02 16:05:57 +01:00
Phil Blundell
e24428521a rootfs_ipk: delete opkg metadata if package management not required and all packages are configured
If all the postinsts were successfully run in offline mode, and
package-management hasn't been requested as an IMAGE_FEATURE, the opkg
metadata is now redundant and can safely be deleted.

Also, the update-rc.d and base-passwd packages can be removed since
they will serve no further purpose in this situation.

If some packages are still unconfigured at this point then we need to
keep their metadata around so that either opkg or the awk script can
configure the packages at boot time.  In theory it would be possible to
strip out the data for packages that have already been configured, but
right now we just hold on to the whole status file in that situation.

(From OE-Core rev: 87780fc09b066525e47d0f50ee5497db54d304cd)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-02 14:55:55 +01:00
Martin Jansa
df6d696837 siteinfo: replace all-linux with allarch-linux to match 5d7d4e1ed9bedf2b6510796d76ea8f94739b9de2
(From OE-Core rev: 1e6f0551381c1383f796d5a1b4507c0bb64b432d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-02 09:03:42 +01:00
Phil Blundell
817a98d74a binconfig: improve handling of empty prefixes
This is a backport of 952e5e2b7a5c1deefc939594d40b81a71fb16a54 from oe master.

Without this the script mangling goes very wrong if ${prefix}="".  There
isn't really any way to fix this in the completely general case, but
this patch does work with the two cases I tested (freetype and
gpg-error) which were unusable previously.

(From OE-Core rev: 854b15bf631452150d1979dfd8286b306f108688)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-01 18:34:36 +01:00
Richard Purdie
802080eb6d allarch.bbclass: A "all" TARGET_ARCH is dangerous as an OVERRIDE
Having a generic word like "all" as an override is dangerous as this is an override
and can cause issues for function names like "sysroot_stage_all". This patch changes
it to "allarch" to help avoid this kind of problem. The field is only used in the
name of directories anyway.

(From OE-Core rev: 5d7d4e1ed9bedf2b6510796d76ea8f94739b9de2)

Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-01 14:13:23 +01:00
Richard Purdie
52295fa3de Improve handling of 'all' architecture recipes and their interaction with sstate
The existing PACKAGE_ARCH = "all" mechanism of sharing packages is problematic
with sstate since there are a variety of variables which have target specific
values and the sstate package therefore correctly changes signature depending
on the MACHINE setting.

This patch creates a new "allarch" class which sets:

PACKAGE_ARCH = "all"

(as per the existing convention)

INHIBIT_DEFAULT_DEPS = "1"

(since its not target specific and therefore can't depend on the cross
compiler or target libc)

TARGET_ARCH = "all"
TARGET_OS = "linux"
TARGET_CC_ARCH = "none"

(since these variables shouldn't change between the different packages and
target compiler flags shouldn't be getting used)

PACKAGE_EXTRA_ARCHS = ""

(since we shouldn't be depending on any architecture specific package architectures)

Not all PACKAGE_ARCH = "all" recipes can use this class since some run configure
checks on the compiler. This means they have target specific components and therefore
the "all" classification is incorrect.

(From OE-Core rev: 26e5e5feb695864b11e47e24017e254c28f14494)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-31 13:07:00 +01:00
Khem Raj
c412674cf8 package.bbclass,prserv.bbclass: Compare USE_PR_SERV with "1" or "0"
Value of USE_PR_SERV is either "1" or "0" looking at
settings in bitbake.conf
USE_PR_SERV = "${@[1,0][(bb.data.getVar('PRSERV_HOST',d,1) is None) or (bb.data.getVar('PRSERV_PORT',d,1) is None)]}"
So we compare the strings

(From OE-Core rev: 5f6179324ac3956ad87123005bfcab4e8f30e67b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-29 09:40:04 +01:00
Beth Flanagan
d43fa5f348 license.bbclass: Infinite recursion of or nodes
This fixes two bugs. When populate_lic was hitting | it was going
into an infinite recursion of the node.

Also, some LICENSE fields may start with "(". We want to avoid
invalid python syntax here, so we strip out the whitespace.

(From OE-Core rev: 160621bd9679201e352cc80b22aa2f6e25827576)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-29 09:40:03 +01:00
Beth Flanagan
1169f1b066 license.bbclass: Sane Parsing of licenses
This is a first pass at sane license parsing, using python
abstract syntax trees.

A few notes on this since ast is not generally used. I massage
the LICENSE field to be more pythonesque and then create an ast.

I then dump the ast and using a LicenseVisitor class, recurse
through the tree, looking for licenses. I then copy and link.

It's cleaner, allows for easier addition of logic and while it
takes slightly more CPU, it's also slightly faster in initial
small scale tests.

It doesn't recognize the '+' or '*' modifiers to the licenses yet
nor does it know what to do with bitors (|), since I'm not even
sure what to do with them.

(From OE-Core rev: 2a90a3a41978a5470962b315e007351b8e80820c)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-27 23:36:24 +01:00
Lianhao Lu
16f06f7135 classes/package_xxx.class: Use PKGE/PKGV/PKGR.
Use PKGE/PKGV/PKGR to build various package feed in tasks of pacakge_write_xxx.

(From OE-Core rev: c2872315905fcdf6e4bf11fe96e5ca62af3475f8)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-27 17:55:49 +01:00
Lianhao Lu
66d27435be classes/package(prserv).bbclass: Get PRAUTO and use PKGV/PKGR.
1. Added package_get_auto_pr to PACKAGEFUNCS to get the auto
incremented value(PRAUTO) from remote PR service.

2. use PKGV/PKGR for pkgdata which will be used by package_write_xxx.

3. Added supporting functions in prserv.bbclass.

(From OE-Core rev: b1f6120c04731d3d66f322ce550b0d223c118dab)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-27 17:55:49 +01:00
Darren Hart
e94e86c2d7 utils.bbclass: make FILESEXTRAPATHS colon delimited
Fixes [YOCTO 1102]

Path variables are typically : delimited. White space is allowed in paths, so
is not a good choice for separating paths. Currently utils.bbclass performs the
following:

    extrapaths = (bb.data.getVar("FILESEXTRAPATHS", d, True) or "").split()

This splits FILESEXTRAPATHS on whitespace. It later splits overrides on : and
reassembles them all together as : delimited.

There is only one user of FILESEXTRAPATHS in oe-core (qt4-tools-native, which
uses : anyway) and none in oe.

Change the split() in utils.bbclass to split on : instead of whitespace. When
splitting on a defined string (":") we must be careful to handle the empty
string case which returns [''] instead of [].

Tested building qt4-tools-native and core-image-minimal for surgarbay from
meta-intel with a couple extra layers with FILESEXTRAPATHS modifications added.

(From OE-Core rev: a6a892f520d22ef8020c98528d38ee08f6cda034)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-27 16:55:16 +01:00
Martin Jansa
3b084defa2 rm_work: keep all sigdata files in stamps dir
* this makes fix for [YOCTO #1074] in bitbake 139b8a625818225c358a1b8363518d7ed6913188
  much more usefull for people using rm_work

(From OE-Core rev: 36386f3b8cadf283954f5c6db6ac6ee463c395de)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-27 00:48:12 +01:00
Phil Blundell
5d1fcb16b2 rootfs_ipk: issue a diagnostic if rootfs is declared read-only and not all maintainer scripts could be applied offline
(From OE-Core rev: 5e9becaa6ba8a0302e3bb91bff0d580127433918)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-25 15:50:57 +01:00
Saul Wold
a3d6defd63 image_types: add IMAGE_ROOTFS_EXTRA_SPACE
[YOCTO #886]

This address 2 needs after the IMAGE_ROOTFS_SIZE is cleaned up, by
removing the _ext2/3 overrides it allows for a cleaner override
using IMAGE_ROOTFS_SIZE to create a large rootfs, or by setting the
IMAGE_ROOTFS_EXTRA_SPACE, will allow for extra space allocated in Kilobytes
above the base size (determined by du of the rootfs * IMAGE_OVERHEAD_FACTOR,
default of 1.3).

(From OE-Core rev: 367934ada7c081ba3fc95f02dc14c7d6f97bfccb)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-25 15:50:57 +01:00
Saul Wold
470c0fee68 IMAGE_ROOTFS_SIZE Cleanup
This basic cleanup removes the _ext2/3 overrides from places they
no longer belong since they did not allow further overrides. In doing
this the core-image-minimal* recipes can now set a reasonably small
rootfs so that it's a realistic size for minimal.

The new default for minimal is 8M and will be adujsted upward by the
IMAGE_OVERHEAD_FACTOR (default of 1.3).

This also fixes the ROOTFS_SIZE usage in the IMAGE_CMD_<fstype> code

(From OE-Core rev: d3f6e1e6106ab539e73c19037915b2e4a5f2efa9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-25 15:50:57 +01:00
Chris Larson
e3d0d9897e Move packagedata code into oe.packagedata (sync from OE)
(From OE-Core rev: e6858627ab087f2f25ebbd6c4422eeae35f3b0ac)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 19:07:51 +01:00
Chris Larson
2a05bd9be0 oe.packagegroup: add code for package groups (sync from OE)
This includes some utility functions for dealing with groups of packages
defined in the metadata.  Metadata syntax:

    PACKAGE_GROUP_<group> = "<list of packages>"

If the packages in the group are optional:

    PACKAGE_GROUP_<group>[optional] = "1"

(From OE-Core rev: 4df212e9c2a1dd7c80d180fd13b67e9f2799d3e1)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 19:07:51 +01:00
Chris Larson
fc55b224ca base.bbclass: use oe.data for OE_IMPORTS
(From OE-Core rev: e02c0d809732bed3d170880c6faedafce8c60c21)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 17:34:23 +01:00
Chris Larson
adceb2e272 Shift oe import logic out of the event handler
This can be useful if we need the imports from another config parsed event
handler, and can't rely upon the base one running before that one.

(From OE-Core rev: dc579ce4dcf9a3743ced9eae4fe510a079961faf)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 17:34:22 +01:00
Chris Larson
6bdfae902e base.bbclass: switch to current OE's imports handling
The current mechanism makes it easier for classes to add new oe modules to be
automatically imported, and thereby made available to python snippets (${@}).

(From OE-Core rev: 0c560a2a7954412f714db86b1aaadb7acbe72d1b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 17:34:22 +01:00
Chris Larson
e4921fda5b Implement variable typing (sync from OE)
This implementation consists of two components:

- Type creation python modules, whose job it is to construct objects of the
  defined type for a given variable in the metadata
- typecheck.bbclass, which iterates over all configuration variables with a
  type defined and uses oe.types to check the validity of the values

This gives us a few benefits:

- Automatic sanity checking of all configuration variables with a defined type
- Avoid duplicating the "how do I make use of the value of this variable"
  logic between its users.  For variables like PATH, this is simply a split(),
  for boolean variables, the duplication can result in confusing, or even
  mismatched semantics (is this 0/1, empty/nonempty, what?)
- Make it easier to create a configuration UI, as the type information could
  be used to provide a better interface than a text edit box (e.g checkbox for
  'boolean', dropdown for 'choice')

This functionality is entirely opt-in right now.  To enable the configuration
variable type checking, simply INHERIT += "typecheck".  Example of a failing
type check:

BAZ = "foo"
BAZ[type] = "boolean"

$ bitbake -p
FATAL: BAZ: Invalid boolean value 'foo'
$

Examples of leveraging oe.types in a python snippet:

PACKAGES[type] = "list"

python () {
    import oe.data
    for pkg in oe.data.typed_value("PACKAGES", d):
        bb.note("package: %s" % pkg)
}

LIBTOOL_HAS_SYSROOT = "yes"
LIBTOOL_HAS_SYSROOT[type] = "boolean"

python () {
    import oe.data
    assert(oe.data.typed_value("LIBTOOL_HAS_SYSROOT", d) == True)
}

(From OE-Core rev: a04ce490e933fc7534db33f635b025c25329c564)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 17:34:22 +01:00
Andreas Oberritter
4f5209ce31 kernel.bbclass: pass KERNEL_VERSION through legitimize_package_name
- KERNEL_VERSION may contain characters unsuitable for package
  names, e.g. underscores. Use legitimize_package_name to replace
  those characters.

(From OE-Core rev: 8c6bf9f6775fc5aaa8bc2c77924c95a00f1c1890)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 17:30:49 +01:00
Dexuan Cui
9fbd9b93ae package-index.bb: add support for deb and rpm.
[YOCTO #1024]
Currently package-index.bb only supports ipk. This commit adds the support
for rpm and deb, too.

------------------------------
How to generate and use repos:

1) run "bitbake package-index" after building some target,
e.g., core-image-sato-sdk;

2) export ${DEPLOY_DIR_RPM}, ${DEPLOY_DIR_IPK} and ${DEPLOY_DIR_DEB} by a
webserver on the host, assuming the host IP is 192.168.7.1, at
http://192.168.7.1/rpm
http://192.168.7.1/ipk
http://192.168.7.1/deb

3) inside the target, according to the packaging system (rpm, ipk or deb) used
when we generate the target image, we can use different ways to manage
packages:

3.1) RPM
    run "zypper addrepo http://192.168.7.1/rpm main; zypper refresh"
    to retrieve info about the repo; next, we can use "zypper install/remove"
    to manage packages.

3.2) IPK
    add the repo info into opkg config file, i.e., in
    /etc/opkg/arch.conf, we can add something like
    "src i586 http://192.168.7.1/ipk/i586", and next, we run "opkg update" to
    make opkg update the list of available packages. And later, we can use
    "opkg install/remove" to manage packages.

3.3) DEB
    Currently in target, some important config files, like
/var/lib/dpkg/status and /etc/apt/sources.list, for deb/apt are missing. So
we can't install/remove package in target at present.

(From OE-Core rev: 01e34bdb43e0cc27c1cfffd6730c384f40c404c1)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 12:40:44 +01:00
Saul Wold
bc386f67b3 utils.bbclass: modify create_wrapper to correctly follow symlinks
This ensures you look up the symbolic link to get the full path

(From OE-Core rev: a10bd976f4cef54ac50b0c82f885c17a26e5989f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-19 23:40:36 +01:00
Saul Wold
ccfd344782 utils.bbclass: modify create_wrapper to correctly follow symlinks
This ensures you look up the symbolic link to get the full path

(From OE-Core rev: 9215d23fd26c62d250749b8084a52f383cb16fba)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-19 20:48:29 +01:00
Jessica Zhang
725acfad7c Couple minor fixes for the OECORE rename
(From OE-Core rev: b5cfa911ed80a7e57ae1025b9e365f4678acf491)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-18 14:32:46 +01:00