aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/classextend.py
AgeCommit message (Collapse)Author
2016-05-17lib/classextend: Fix determinism issueRichard Purdie
The ordering of dependency variables needs to be deterministic to avoid task checksums changing. Use an OrderedDict to achieve this. (From OE-Core rev: 855a2d21503856af392ab2d54ccfa270505ba142) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-29lib/oe/classextend: Fix nativesdk double name mappingRichard Purdie
Handle the case a name has already been extended in the nativesdk case (avoids double name extensions which can happen with nativesdk-gcc). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12classextend: Do not extend for that already have multilib prefixJackie Huang
If a BSP supports two or more multilibs, for example: MULTILIBS = "multilib:lib32 multilib:lib64" and a variable is already extended to include multilib variants, for example in populate_sdk_base: commit 396371588c7fd2d691ca9c39cd02287e43cb665b Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Thu Jul 24 22:09:09 2014 +0100 populate_sdk_base: Extend TOOLCHAIN_TARGET_TASK to include multilib variants Most people expect the toolchain from a multilib build to contain multilib components. This change makes that happen and is easy for users to override should they want something different. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> The mapping clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK") ends up with a wrong double extended package name like: lib32-lib64-packagegroup-core-standalone-sdk-target This patch avoid such issues. Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-07-25lib/oe/classextend: Avoid early expansion of PR valuesRichard Purdie
Variables like RDEPENDS can contain EXTENDPKGV which in turn uses AUTOPR based values. This gets set during do_package execution so we want to defer expansion until then. The only way we can do this in the RDEPENDS (and friends) mapping code is to subsitute a dummy value, then change it back again. Horrible but I can't see any other way. This resolves multilib build failures with inconsistent PR values. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-01classextend: Fix crosssdk remapping for multilibRichard Purdie
Multilib builds only require one crosssdk toolchain. We therefore shouldn't be remapping crosssdk names. This resolves build failures looking for weird multilib crosssdk toolchains. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-11classes/lib/oe: Fix cross/crosssdk referencesRichard Purdie
With the renaming of the cross packages, its no longer possible to use endswith("-cross") and similar to detect cross packages. Replace these references with other techniques. This resolves certain build from sstate failures which were due to the system believing cross packages were target packages and therefore dependency handling was altered. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-05lib/oe/classextend.py: avoid extending any kernel packagePaul Eggleton
For multilib and other uses of classextend, we don't want any dependencies on kernel packages to be extended since there should only be one kernel variant. Fixes [YOCTO #2918] (where kernel-dev was being extended.) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06classextend.py: use explode_dep_versions2 in order to preserve versions tooConstantin Musca
Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-01multilib: skip packages that provide virtual/kernelBruce Ashfield
Rather than keying on recipes that inherit kernel.bbclass, we should be checking for providers of virtual/kernel when skipping kernel recipes in multlib builds. Not all providers of virtual/kernel inherit kernel.bbclass (notably linux-dummy), so checking on the provider is a more complete check. We need to be sure to check for inheritance of module-base as well, this allows for packages that provides modules to avoid the multilib renaming. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-06lib/oe/classextend: Ensure we don't extend expressions more than onceRichard Purdie
We could end up with MLPREFIX being prepended to variables like PACKAGE_DYNAMIC. This patch avoids the problem and unbreaks builds. [YOCTO #3389] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-26multilib - crosssdk: Stop building multilib for crosssdk packagesMark Hatle
Crosssdk packages are not actually multilib packages, so treat them the same as other nativesdk packages in the multilib, base, and classextend components. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-26multilib: Add support for cross-canadian multilib packagesMark Hatle
Add support for the generation of cross-canadian packages. Each cross-canadian package has: PN = "pkg-cross-canadian-${TRANSLATED_TARGET_ARCH}" in order for that to be evaluated properly with multilibs enabled, it was necessary to detect both the presence of the cross-canadian packages and then update the vars using the OVERRIDE for the multilib. Additional checks were made to ensure that any dependency that sais "cross-canadian" did not get prefixed with the MLPREFIX. Also, make sure that even when building multilib cross-canadian packages, we only use the single SDK PACKAGE_ARCH, we don't want or need variants. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-22multilib/clsextend: Improve handling of regexps in PACKAGES_DYNAMICRichard Purdie
Now that PACKAGES_DYNAMIC is more standardised, starting with ^ anchors, the variable manipulations performed by clsextend for multilib don't work. This patch at least improves it to hack around the problem and enable mulitlib builds to work again. If this code doesn't do the right thing, the recipe is free to override the variable with the correct multilib case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-31nativesdk: Convert to use classextend.pyRichard Purdie
This patch converts the nativesdk class itself from operating as a suffix to a prefix (see the proceeding patch for the related changes outside this class). The big benefit here is that we can reuse the generic class extension code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05multilib: Abstract class extension code into classextend.pyRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>