summaryrefslogtreecommitdiffstats
path: root/meta/classes/multilib.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* multilib - crosssdk: Stop building multilib for crosssdk packagesMark Hatle2012-10-271-2/+2
| | | | | | | | | | | | Crosssdk packages are not actually multilib packages, so treat them the same as other nativesdk packages in the multilib, base, and classextend components. (From OE-Core rev: 15834451525453e0f7ceac25d4f98117f1825f37) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Add support for cross-canadian multilib packagesMark Hatle2012-10-271-4/+14
| | | | | | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 132a182e2f6c330aa645de42c1aeb386e43bddd3) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib/clsextend: Improve handling of regexps in PACKAGES_DYNAMICRichard Purdie2012-10-221-1/+1
| | | | | | | | | | | | | 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. (From OE-Core rev: 593faec6e0155bdd7a43ee84c24de8ee20287681) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Update to use corrected bb.utils.explode_dep_versions2 APIRichard Purdie2012-10-021-2/+2
| | | | | | | | | | | | | | | | | The bb.utils.explode_dep_versions function has issues where dependency information can be lost. The API doesn't support maintaining the correct information so this changes to use a new function which correctly handles the data. This patch also fixes various points in the code to ensure that we do not have any duplicates in things that use explode_dep_versions. A new sanity test to test the contents of the R* variables is also added. [Some changes from Mark Hatle <mark.hatle@windriver.com>] (From OE-Core rev: 16a892431d0c0d03f8b561b92909cf2f11af4918) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Move redefinition of STAGING_DIR_KERNELMark Hatle2012-10-021-0/+2
| | | | | | | | | | | | | | If the STAGING_DIR_KERNEL is set in the multilib.conf, then it may be set incorrected. The evaluation happens before TMPDIR and LIBC are defined in other components. Moving the definition process to the multilib.bbclass ensures that everything has been loaded before it is set. (From OE-Core rev: 6bd87edc383b40e300b0ef4bf851c39b698305cd) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packagedata/multilib: Fix search patch for multilib buildsRichard Purdie2012-09-261-2/+0
| | | | | | | | | | | The current multilib search path code for packagedata is flawed since it doesn't correctly handle changes in the TARGET_VENDOR/TARGET_OS that multilib may make. This patch enhances the code to correctly build the search paths so multilib packagedata is found correctly. (From OE-Core rev: f50c5d36b2da9b36d56d95a7d89404509a1a3e9b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/multilib: prevent multilib extension of nativesdk recipesPaul Eggleton2012-09-241-0/+3
| | | | | | | | | | | | | | | It isn't supported to mix multilib and nativesdk in the same target, so explicitly skip multilib processing if nativesdk is inherited. As a bonus this fixes a bunch of related "missing file" warnings from the file checksum code during parsing because BPN was not correctly stripped for these targets. Second half of the fix for [YOCTO #3146]. (From OE-Core rev: d9a1eb5054d487affb94431374a9cb1a735e2122) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/multilib: ensure MLPREFIX is set for image recipesPaul Eggleton2012-09-241-0/+1
| | | | | | | | | | | | | | | We need MLPREFIX to be set so that oe.utils.prune_suffix() (as used for the value of BPN) can derive the bare name from the multilib-extended name for image recipes. BPN being set correctly avoids missing file warnings during parse from the file checksum code for (unusual) images that set SRC_URI, such as build-appliance-image. First half of the fix for [YOCTO #3146]. (From OE-Core rev: ddec9a1b45159c75e97e92abe9a940268acd84b2) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Complete recipe enablementBogdan Marinescu2012-08-021-0/+3
| | | | | | | | | | | | | RP: The list of recipes in multilib.conf needs to go away and we need to just be able to extend all recipes with the multilib class. Tested by building and running lib32-core-image-sato-sdk. [YOCTO #1563] (From OE-Core rev: 5d691f1bc95dfb9109b07827b33957b1fa5b2fa4) Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Enable multilib remapping for SDK generationMark Hatle2012-07-091-0/+6
| | | | | | | | | | | | Enable the remapping for SDK generation, this is required to be able to create an SDK that targets an alternative multilib. Note, this work does not finish SDK/multilib support, but it is one more step toward making it work properly. (From OE-Core rev: d66d2bdf6214939e8b131f47db2f35d3c64e7dd2) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: Added multilib specific package QA.Lianhao Lu2012-05-181-0/+31
| | | | | | | | | | Added a new PACKAGEFUNCS function to check the multilib packages' dependency. (From OE-Core rev: f193729cdf0f3eccf96a8ce7bf5f599eca89a0d0) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mulitlib.bbclass: Ensure correct value of ALL_MULTILIB_PACKAGE_ARCHS is ↵Richard Purdie2012-04-141-0/+3
| | | | | | | | | | | | | | | | | preserved The value of ALL_MULTILIB_PACKAGE_ARCHS needs to be consistent both in multilib extended recipes and in normal context. If this isn't the case it can lead to inconsistent configuration files at a minimum. This patch ensures the value is preserved during the class extension code since computing it after that point is hard. [YOCTO #2290] (From OE-Core rev: 529bc145152bb36d9696226b93729377a3b6a240) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: allow TARGET_VENDOR_virtclass-multilib to be overridenMatthew McClintock2012-02-281-1/+2
| | | | | | | | | | | | | If we set this bit, we can override the ugly "pokymllib32" to back to "poky" (powerpc-pokymllib32-linux-gcc -> powerpc-poky-linux-gcc). I've left this unset by default, but can be set by adding the following: TARGET_VENDOR_virtclass-multilib-lib32 = "-poky" (From OE-Core rev: 01fd9be5db633d881c789c5b119f794a3f1000da) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Abstract class extension code into classextend.pyRichard Purdie2012-01-051-44/+14
| | | | | | (From OE-Core rev: 563828bad19a242bba9ce3db461bb5807037dfdf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Drop MULTILIB_IMAGE_INSTALLDongxiao Xu2011-11-081-3/+2
| | | | | | | | | | | | | | | There should just be a single IMAGE_INSTALL variable. If the package backends need this split into different multilib components they should be responsible for doing this, not the user. This commit removes the MULTILIB_IMAGE_INSTALL variable. [YOCTO #1564] (From OE-Core rev: 7736862a74c92fe1afe42e170822be13117575c2) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: add MLPREFIX to deploy folderDongxiao Xu2011-09-281-5/+0
| | | | | | | | | | Add MLPREFIX to multilib deploy forlder to avoid the confliction between multilib and normal package deploy directory. (From OE-Core rev: 18b8d1f7769b63725c3b6883298a841806cd06ab) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: remove the multilib handling to allarchDongxiao Xu2011-09-281-1/+1
| | | | | | | | | | | | | | | | | currently we have allarch type of recipes, which may still have architecture dependency, like x11-common. So we need to drop the handling to allarch in multilib case. Also remove the PV postfix in python-pygobject DEPENDS, since multilib code will treat a native package multilib capable. [YOCTO #1497] [YOCTO #1498] (From OE-Core rev: 64c0279e6b0d2325a326058476228360898550f3) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: map RDEPENDS and LINGUAS_INSTALL for image recipesDongxiao Xu2011-09-281-1/+4
| | | | | | | | | | | | | | | RDEPENDS of image type recipe needs to be mapped to make sure that the packages included in the image should be multilib version. Also add LINGUAS_INSTALL into MULTILIB_PACKAGE_INSTALL list. [YOCTO #1496] [YOCTO #1527] (From OE-Core rev: 93984bb1c9440294a694986831d7a4114c55a282) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: Partially fix multlib image targetsRichard Purdie2011-09-221-0/+13
| | | | | | | | | | | | | | This patch partially fixes problems when building multilib extended images such as libXX-core-image-minimal. Its not a perfect/complete solution but works much better than any previous code did. [YOCTO #1496] (partial) [YOCTO #1497] (partial) [YOCTO #1498] (partial) (From OE-Core rev: 00c38774ef0232cc2be924ed8e59220e7c452096) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: add multilib prefix for archs under deploy/rpmDongxiao Xu2011-09-211-0/+5
| | | | | | | | | | | | | | Currently MACHINE_ARCH deploy folder is unique in multilib system, thus a lib32 version of rpm package will override a normal rpm package if its PACKAGE_ARCH is ${MACHINE_ARCH}. Define different deploy folder for multilib architectures to avoid the confliction. (From OE-Core rev: 921f984aa65e23d5a8ec5c2e58a96cb8a4790b5d) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Only build one kernelRichard Purdie2011-09-021-27/+12
| | | | | | | | | | | | | | | | | For a given system we only want one kernel to be built. This change makes the main kernel recipe provide all of the provides of the various enabled multilibs hence allowing it to fulfil all the appropriate dependencies. To make this work a global multilib class file needed to be created. This patch also enables this multi provider functionality for "allarch" packages. [YOCTO #1361] (From OE-Core rev: 2fd257f6c610624f05c8dd3fe1486364af04696f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Ensure task's variable dependencies are correctly caputred ↵Richard Purdie2011-08-311-1/+2
| | | | | | | | | | | | | in the sstate checksum [YOCTO #1388] This change is needed to correctly add the dependencies for the do_package task which bitbake is unable to automatically detect itself. (From OE-Core rev: 0614b9aa62a46f81d334ca4230080cc707347f3c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: add renaming for INITSCRIPT related variablesDongxiao Xu2011-08-291-1/+2
| | | | | | | | | | | | | Initscripts are missing in target image in multilib case. This commit adds the renaming logic for the related variables in multilib.bbclass. This fixes the no response of mouse/keyboard in target system due to the missing of udev startup script. (From OE-Core rev: 477fc6e2fc034c68a250005461774bc8ecf91a52) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: add "pkg_postinst" and "pkg_postrm" as renaming elementsDongxiao Xu2011-08-291-1/+1
| | | | | | | | | | Add "pkg_postinst" and "pkg_postrm" as renaming elements, which fixes missing post install/rm scripts in target image. (From OE-Core rev: a5c9f8af79c1632d2f3de5dd9627a7ca24fa0b76) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: Fix renaming logic for "FILES_", "RDEPENDS_", etcDongxiao Xu2011-08-291-10/+8
| | | | | | | | | | | | | | | | | | | | | In the orignal logic, the renaming will not work for "FILES_" if defined variables as: PACKAGES = "${PN}" FILES_abc = "/usr/include/abc.h" It is because ${PN} is "lib64-abc" so it will not be contained in pkgrename. This commit enumerates all element in PACKAGES, getting the original packages and multilib packages, then doing renaming for "FILES_", "RDEPENDS_", etc. This fixes a lot of missing files and incorrect dependencies. (From OE-Core rev: ea7c196b4097d64b4f42faccaf075334c297ba20) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* utils.bbclass/multilib.class: Added misc supporting functions.Lianhao Lu2011-08-151-1/+6
| | | | | | | | | | | | | | | | 1. Added variable MULTILIB_VARIANTS to store all the instance variants for multilib extend. 2. Added function all_multilib_tune_values to collect the variable values for all multilib instance. 3. multilib bbclass handler will save the orignal value of all variables defined in MULTILIB_SAVE_VARNAME. (From OE-Core rev: 18bba910e04bff75460f408e4557d4bae21ad592) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Add missing files from broken patch mergeRichard Purdie2011-07-271-0/+89
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>