summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* sstate: Exclude SSTATE_EXTRAPATH from checksumsRichard Purdie2014-02-111-0/+4
| | | | | | | | | | | | | | | After the change to allow target recipes to depend on native recipes, the native checksums becomes all the more critical. Add to this that we're now accounting for pre/postfuncs and we have a cache reuse issue since the distro LSB string is getting coded in when it shouldn't be. This excludes that string and allows one set of native sstate to share checksums with another set from a different host distro. They're separated into different directories so this is fine for our use cases. (From OE-Core rev: 1fa7d4331d994b9eeb6f973d1a1f04cb4df92c13) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: avoid buildhistory triggering rebuilds (again)Paul Eggleton2014-02-111-1/+4
| | | | | | | | | | | | | | | | | | | | Postfuncs are now incorporated into task signatures as of BitBake rev b84d010144de687667cf855ddcb41c9b863c236e, so we need to exclude the one we're adding to do_fetch. The change to the SSTATEPOSTINSTFUNCS variable value was also entering the signatures of do_populate_sysroot and probably other tasks, so we need to use a slightly hacky trick to avoid that as well. Apart from the final do_rootfs / do_populate_sysroot, this now means that adding and removing INHERIT += "buildhistory" will not cause tasks to be re-run. Also update the copyright date, properly this time. (From OE-Core rev: 953df67eb877a6d0fc68d122964440a9a47de3c3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: Dont create a manifest when using BUILD_IMAGES_FROM_FEEDSDavid Nyström2014-02-111-0/+5
| | | | | | | | | | Wihtout this patch, FEEDS functionality is broken, and creating a manifest from recipe metadata may be faulty when using FEEDS. (From OE-Core rev: d926c0bdc58ab6dda55eed52b66dbd5834ced64f) Signed-off-by: David Nyström <david.nystrom@enea.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd-staticids: Adjust USERADD_ERROR_DYNAMIC condition and error messageMark Hatle2014-02-111-3/+5
| | | | | | | | | | | | | | | | | | | The USERADD_ERROR_DYNAMIC needs to check that both users and groups that are defined need to be represented as static ids, or an error should occur. For the user check, we want to make sure the uid is a numeric value. (The gid can be name, as the GROUPADD check will validate for a number there -- or during install useradd will fail if that group is not defined.) For the group check, we verify that the gid is specified and not left as a name. Also two statements that can be uncommented for debugging were added so that future development work on this code would be easier to do. (From OE-Core rev: f35bbba65e3e41f8dea1f9ff872d3a9fbd84bf6d) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd-staticids: Fix groupadd when --user-group is selectedMark Hatle2014-02-111-20/+30
| | | | | | | | | | | | | | | | | When --user-group is selected (it's on by default as well) we want to translate that to a groupname and disable the --user-group. Before we just disabled --user-group, but didn't always add the group to the system. This change ensures that we add the group (as long as we have enough information to actually add the group), and we disable --user-group in that case. If a static groupid is not specified we continue to use the groupname, but via an explicit groupadd. (From OE-Core rev: ae83db0fdcf0b807ffdfc901f4d1c463fffee82a) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: fix strip and split logicKoen Kooi2014-02-111-2/+1
| | | | | | | | | | | | | | | | | | | Marks original commit message and variable documentation state that stripping and splitting are independent of eachother, but package.bbclass ANDs the two INHIBIT flags to see which files can be stripped and/or split. Original behaviour: INHIBIT_PACKAGE_STRIP: no strip, no debug split INHIBIT_PACAKGE_DEBUG_SPLIT: no strip, no debug split Behaviour after this patch: INHIBIT_PACKAGE_STRIP: no strip, no debug split INHIBIT_PACKAGE_DEBUG_SPLIT: strip, no split (From OE-Core rev: 8ea3cc2c45d4e34bb68bd3e0bc359204c772133c) Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* conf/bitbake.conf: default HOMEPAGE to blank instead of unknownPaul Eggleton2014-02-113-3/+6
| | | | | | | | | | | | | | | | The default value for HOMEPAGE of "unknown" has been in place since the early OE-Classic days, but it doesn't really make sense - "unknown" is not a valid URL and it just means we have to explicitly check for this hardcoded string if we're displaying the value in some form of UI, such as Toaster. This has required some changes to the packaging classes as they previously did not expect the value to be blank. (From OE-Core rev: 244e1d73ef58e92d73c098044c66bd784644b933) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: fail if no package manifest is foundStefan Stanacar2014-02-111-2/+5
| | | | | | | | | | | | | Sometimes we may forget to actually build the image we want to test (when testimage task is called manually). Instead of an ugly traceback we should fail nicely. The manifest is written after the rootfs so this ensures the image was actually built. (From OE-Core rev: 85c8dd4170a88a5d7f3d9ca181e75720302727c5) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: use oldnoconfig before yes '' | make oldconfigAlexandre Belloni2014-02-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using a defconfig, using yes '' | make oldconfig may not result in the correct configuration being set. For example: $ ARCH=mips make qi_lb60_defconfig # # configuration written to .config # $ grep USB_ETH .config CONFIG_USB_ETH=y # CONFIG_USB_ETH_RNDIS is not set # CONFIG_USB_ETH_EEM is not set $ cp arch/mips/configs/qi_lb60_defconfig .config $ yes '' | make ARCH=mips oldconfig [...] $ grep USB_ETH .config CONFIG_USB_ETH=m # CONFIG_USB_ETH_RNDIS is not set # CONFIG_USB_ETH_EEM is not set Using make olddefconfig solves that but we'll use the oldnoconfig alias for backward compatibility with older kernels. $ cp arch/mips/configs/qi_lb60_defconfig .config $ make ARCH=mips oldnoconfig scripts/kconfig/conf --olddefconfig Kconfig # # configuration written to .config # $ grep USB_ETH .config CONFIG_USB_ETH=y # CONFIG_USB_ETH_RNDIS is not set # CONFIG_USB_ETH_EEM is not set (From OE-Core rev: 9b75f6a5786ff7b2e6219d78b38f0032f100c660) Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: stop using -exec rm for deleting filesBruce Ashfield2014-02-111-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing files from the source tree via find, exec and rm is not the most efficient operation, due to (among other things) the many forked processes. If we use -delete, it saves a significant amount of time. But -delete does not work with -prune (since it forces -depth). To maintain the lib, tools and scripts source files, we can hide them temporarily, skip their hidden directories and then finally restore them. Time for install before this change: real 2m48.563s user 0m35.220s sys 0m33.036s Time for install after this change: real 1m21.301s user 0m33.160s sys 0m28.388s We could further speed this up by using inline perl to delete the files, but that complexity is avoided for now. (From OE-Core rev: 01932d6bbc71e86fd903097b5339e91f76846388) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py, package_manager.py, sdk.py: Fix building from feeds feature for opkgLaurentiu Palcu2014-02-111-30/+1
| | | | | | | | | | | | | | | When using opkg as the PM backend, one has the option to provide custom feeds to create the rootfs from. This commit: * fixes this in the refactored code; * moves the custom config creation code to python; * clean up the package-ipk.bbclass; (From OE-Core rev: 19c538f57c8fa7c566e88a6dbe13ea4826d4f26c) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_rpm.bbclass: remove old shell codeHongxu Jia2014-02-111-152/+0
| | | | | | | | | | The old code no more needed since the job is done in python now. (From OE-Core rev: 96bf2a93bb75fea23732014106039e14d72cd1c7) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Cleanup rootfs_rpm,package_rpm bbclass filesHongxu Jia2014-02-112-656/+0
| | | | | | | | | | This commit cleans up the functions that were ported to python. (From OE-Core rev: a4fe5263a683b73d0318fe3c0c55382c084f25b5) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass/populate_sdk_base.bbclass: shift position of sdk complementary ↵Hongxu Jia2014-02-112-19/+21
| | | | | | | | | | | | | | | | install definition The sdk complementary install operation was defined in image.bbclass, but the sdk recipe (such as meta-toolchain.bb) didn't inherit this bbclass but populate_sdk, and both of image and populate_sdk bbclass inherited populate_sdk_base bbclass, so move the sdk complementary install definition to populate_sdk_base bbclass fixed this issue. (From OE-Core rev: 907458935bab391f5bfba8f581ea9835078548d9) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: fix license_create_manifest failedHongxu Jia2014-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | While rpm incremental image generation enabled, invoked license_create_manifest failed. ... | ln: failed to create symbolic link 'tmp/work/qemux86_ 64-poky-linux/core-image-base/1.0-r0/rootfs/usr/share/ common-licenses/alsa-conf-base/generic_GPLv2':File exists | WARNING:tmp/work/qemux86_64-poky-linux/core-image-base/ 1.0-r0/temp/run.license_create_manifest.26327:1 exit 1 from | ln -s ../${lic}/home/jiahongxu/yocto/build-20140120- yocto-qemux86-64/tmp/work/qemux86_64-poky-linux/core-image -base/1.0-r0/rootfs/usr/share/common-licenses/${pkg}/${lic} ... (From OE-Core rev: 39f8658033c886fedefc9038a673f9a5edad7d26) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass/license.bbclass: ajustment list_installed_packages invokingHongxu Jia2014-02-112-6/+14
| | | | | | | | | | | | | Since the list_installed_packages() function has refactored in python, do the necessary adjustments to license_create_manifes- t() and write_image_manifest() in license.bbclass and image.bb- class respectively; (From OE-Core rev: 4477991633d2971c17afbd0874b1ab2efb7d6eef) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_(deb|ipk).bbclass: remove old shell codeLaurentiu Palcu2014-02-112-113/+0
| | | | | | | | | The old code no more needed since the job is done in python now. (From OE-Core rev: 58f06621aa1a5618dc969e8d1b537e32763a9461) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: change POPULATE_SDK_POST_TARGET_COMMANDLaurentiu Palcu2014-02-111-1/+1
| | | | | | | | | | | Since rootfs_install_complementary() is now implemented in python for each backend, remove it from POPULATE_SDK_POST_TARGET_COMMAND. Call it directly in python. (From OE-Core rev: c941fce37eb1ca7b77e5885c3e3e776f9538754b) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_base.bbclass: activate the new python routinesLaurentiu Palcu2014-02-111-32/+10
| | | | | | | | | | Lose the old shell populate_sdk_image() function and use the new python implementation. (From OE-Core rev: 5a81b8a0820ceac972a68af2caebdc8d2f3945a1) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass, lib/oe/rootfs.py: remove intercept_scripts directoryLaurentiu Palcu2014-02-111-1/+1
| | | | | | | | | Remove the directory, manually, in the Rootfs.create() function. (From OE-Core rev: 37a9dc05272e7e49c8a475ccb3d10880dcee4763) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Cleanup image,rootfs_ipk,package_ipk bbclass filesLaurentiu Palcu2014-02-113-340/+4
| | | | | | | | | This commit cleans up the functions that were ported to python. (From OE-Core rev: d950ef40a3eae4b54cc62828e66d84a62d78c447) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_(deb|ipk).bbclass: remove the stamp when creating package from cacheLaurentiu Palcu2014-02-112-0/+10
| | | | | | | | | | If the packages are created from cache, we need to remove the stamp so that we re-generate the index files at do_rootfs time. (From OE-Core rev: dc06a91144b79a152eb481f6d36f6c328321b7c4) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Activate the new python rootfs/image creation routinesLaurentiu Palcu2014-02-114-625/+11
| | | | | | | | | | | | | | This commit will: * remove old bash code common to all backends; * create a new do_rootfs() python function that will use the new rootfs/image creation routines; * allow creation of dpkg based images; * fail for rpm/opkg (not implemented yet); (From OE-Core rev: a83144bac8d67704ff66f5dc0fc56f5b63979694) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binconfig: mangle ${base_libdir}Ross Burton2014-02-091-1/+5
| | | | | | | | | | | | | Some recipes are installing libraries into ${base_libdir} (typically /lib) and also use a foo-config binary to identify compile paths, for example libusb-compat. Without mangling ${base_libdir} the ${base_libdir} path is passed to the compiler, where it looks like a host path and results in compile-host-path QA errors. (From OE-Core rev: ccd9abdccb84d713427541b6ee29a0e217360e74) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd.bbclass: Add ability to select a static uid/gid automaticallyMark Hatle2014-02-092-0/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [YOCTO #5436] Automatic selection of static uid/gid is needed for a dynamically generated passwd and group file to have a deterministic outcome. When a package is installed and instructs the system to add a new user or group, unless it selects a static uid/gid value, the next available uid/gid will be used. The order in which packages are installed is dynamically computed, and may change from one installation to the next. This results in a non-deterministic set of uid/gid values. Enabling this code by adding USERADDEXTENSION = "useradd-staticids", and adding a preconfigured passwd/group file will allow the continued dynamic generation of the rootfs passwd/group files, but will ensure a deterministic outcome. (Dynamic generation is desired so that users and groups that have no corresponding functionality are not present within the final system image.) The rewrite params function will override each of the fields in the useradd and groupadd calls with the values specified. Note, the password field is ignored as is the member groups field in the group file. If the field is empty, the value will not be overridden. (Note, there is no way to 'blank' a field, as this would only generally affect the 'comment' field and there really is no reason to blank it.) Enabling USERADD_ERROR_DYNAMIC will cause packages without static uid/gid to generate an error and be skipped for the purpose of building. This is used to prevent non-deterministic behavior. USERADD_UID_TABLES and USERADD_GID_TABLES may be used to specify the name of the passwd and group files. By default they are assumed to be 'files/passwd' and 'files/group'. Layers are searched in BBPATH order. (From OE-Core rev: 18c99dac52b746b88cd084eb4c2a2ef0329a6ff3) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd.bbclass: Fix build time install issuesMark Hatle2014-02-091-6/+15
| | | | | | | | | | | | | | | | | | | | | | When the system attempts to populate the sysroot's passwd/group files, it does so in a single block. However, with the way it was previously implemented, the system would always run through the code necessary to populate the sysroot, even in the case of target packages. This had the side effect that a cross-installed filesystem may not match a target installed filesystem. The code was slightly reorganized to ensure that the cross/target installed pre-install script behavior is the same. It also moves the block that configures the sysroot parameters to the sysroot specific section of the code. Also some minor validation was occuring even on nativesdk packages. Nativesdk packages should be skipped when processing useradd ops. (From OE-Core rev: 99fd0f14fd774c9194f62795e6023880e3aa5612) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_deb: Fix whitespace issueSaul Wold2014-02-091-1/+1
| | | | | | | | | | Fixing the following warning: WARNING: Variable rootfs_deb_bad_recommendations contains tabs, please remove these (/srv/ssd/sgw/poky/meta/recipes-extended/images/core-image-lsb-dev.bb) (From OE-Core rev: aec771c113ae4347af7ef98bef8c289e3a5069e2) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: add ability to export testsStefan Stanacar2014-02-091-15/+92
| | | | | | | | | | | | | | | | | | | | | Add the ability to export the tests so that they can run independently of the build system, as is required if you want to be able to hand the test execution off to a scheduler. Booting/deployment of the target is still handled by the build system, as before, only the execution of the tests happens outside of the build system. Tests exported are the ones defined in TEST_SUITES. No tests have been changed as interesting parts of the data store have been exported and tests can continue to query them as before. Small adjustments were made for a couple of oeqa modules though. [YOCTO #5613] (From OE-Core rev: 155dd52e0f707e06f50756584a50f744ba6b7844) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_base: remove nostamp from do_populate_sdkPaul Eggleton2014-02-091-1/+0
| | | | | | | | | | | | | We've removed nostamp from do_rootfs in image.bbclass in OE-Core commit 8505008c115efb54d18e5f25441c7a938a32ffaf, and we should do the same for do_populate_sdk here for the same reason - we can now rely on task signatures so if nothing has changed, we don't need to re-run it. (From OE-Core rev: de9b693f4ff311f1310a1c6005e0d5c225aabef6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: write out files in UTF-8 formatPaul Eggleton2014-02-061-21/+25
| | | | | | | | | | | | | If the package information contained unicode characters (for example, in the package file listing) then writing them out as ASCII would fail, so write them out using codecs.open() instead of open() using UTF-8. This fixes ca-certificates failing in do_packagedata when buildhistory is enabled. (From OE-Core rev: dcf228fe69bfee4e22baad477ad407248c0f9cdb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Improve funciton checksumsRichard Purdie2014-02-041-0/+4
| | | | | | | | | | | Now that bitbake is recursing into pre/postfuncs, we need to ensure the dependencies of these functions is correct. We don't want dependencies on MACHINE or other related variables. This patch adds in appropriate variable exclusions to achieve this. (From OE-Core rev: 8461283a648d7c5affd51971ebd9b35a8a4c625f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Fix python function whitespace changesRichard Purdie2014-02-031-96/+96
| | | | | | (From OE-Core rev: 9dee6c2fe0d1882521c0f9a6998257a652845854) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: fix expansion of escape sequencesPaul Eggleton2014-02-031-1/+1
| | | | | | | | | | | | | OE-Core commit 259b8718a31b886f8a158aeb5de164840c9a28b2 fixed UTF-8 errors but broke decoding of escape sequences in strings (e.g. pkg_postinst scripts had \n \t in them instead of newlines and tabs.) We need a second call to decode() here as specifying 'string_escape' as the second parameter won't do anything. (From OE-Core rev: 15e0cdff08b8b9b826bbb9f00192a27318a3ee65) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_ipk: Ensure that BAD_RECOMMENDATIONS are honoured for all architecturesPhil Blundell2014-02-021-7/+1
| | | | | | | | | | | | | | | | | | | | Commit a5362de60c0051f16b88a40bd9cb41915bee0b0f restricted us to writing only a single entry to the status file for any given package. This avoids writing garbage entries (with no Status) when multiple versions of the same package exist in the feed. However, in the case where the same version exists for multiple architectures (for example, has been built for both cortexa15 and generic armv7a), we do need to write out status file entries for all of them since we can't trivially determine which one opkg will decide to install. Fix this by undoing a5362de60c0051f16b88a40bd9cb41915bee0b0f and writing out an entry for everything that matches, but ensuring that we force the Status to the correct value for each one. (From OE-Core rev: 12d7b44c817bdf6eea425bda607379594057c3fb) Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: Also uninstall update-alternatives and shadow for ↵Phil Blundell2014-02-021-1/+1
| | | | | | | | | | | | | | | | read-only-rootfs If the rootfs is read-only then we aren't going to be updating any alternatives or modifying the password file and these binaries will be redundant. In an ideal world we would be able to stop them from being installed in the first place but this is non-trivial to arrange. As a workaround in the meantime, let's just uninstall them once image construction is finished. (From OE-Core rev: d41097a970e9bfa553cd4bc3c9fad4b9073d7bd5) Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distutils: Introduce PYTHON_ABI variableKhem Raj2014-02-023-0/+5
| | | | | | | | | | | | | | | | In python3 this has to be taken care of, it defines a variable to denote ABI currently its at 'm' and it uses this to construct the directory names for installing the python headers and library names in sysroot. e.g. it will be something like ../python3.3m/... We need this information when we are using distutils to cross build python extentions and want to know the locations of python headers and libraries install locations (From OE-Core rev: 9a3e4ac4a4eeed64ec80d400130dff3d26daf336) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Add distutils for python3Khem Raj2014-02-026-2/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In line with python2 add distutils and setuptools classes for handing python3 Use python-distribute instead of python-setuptools in setuptools bbclass Remove --single-version-externally-managed since its setuptools specific and we dont use it anymore Do build_ext as separate step during compile Add DISTUTILS_BUILD_EXT_ARGS for modules to pass flags to build_ext step in setup.py Add build_ext as sepate step during compile and add the cross sysrooted library and headers since we are cross compiling Use ${PYTHON_PN} in place of hardcoding python name Remove the /etc/share if its empty Since OE-Core times we now have machine specific sysroots for targets unlike before when we used arch specific sysroots so reflect that here Use MACHINE for sysroot when not building for build host Python's machinery replaces directories in sysroot path to match OE's staging area sysroots. Earlier we use to have HOST_SYS represent sysroot always but now we use MACHINE to represent target sysroots but HOST_SYS to represent host sysroot. This patch caters to that difference (From OE-Core rev: 8bb0206ed67228c88dd5bc2d8b36ce28f48b78f4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/distutils: Introduce PYTHON_PNKhem Raj2014-02-025-19/+23
| | | | | | | | | | This is needed to accomodate python3 alongside python2 (From OE-Core rev: ae931c2cf9e48e1fb74b4b727dbf668ea880023f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm.bbclass: Trigger the regexp on exact keyword matchKhem Raj2014-02-021-1/+1
| | | | | | | | | | This causes issues when postinstalls have ERROR keywords its interpreted as error and image build is cancelled (From OE-Core rev: f5bc3cfac9545c402b415695c4e0f98ad38fb2b0) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3native.bbclass: Add python3 abstraction classKhem Raj2014-02-021-0/+7
| | | | | | | (From OE-Core rev: ead30aa5e3046f450ee688e14f6d5268d9ed0bd8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.bbclass: check that TMPDIR is not located on nfsRobert Yang2014-02-021-1/+19
| | | | | | | | | | | | | | | | | | | | | There would be some unexpected errors when the whole TMPDIR is located on nfs, so add a test for it in sanity.bbclass. Note: The better way to get the filesystem id should be get f_fsid from struct statvfs, but there is no f_fsid in os.stat() or os.statvfs(), so we use 'stat -f -c "%t"' here. BTW., s/tmpdir/TMPDIR/ in the previous comment message to make them have a uniform. [YOCTO #5442] (From OE-Core rev: ee4061b43522c4893b41c3be63d06be1ee7e3c70) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d: automatically rdepend on initscripts-funtionsChen Qi2014-02-021-0/+12
| | | | | | | | | | | | | | | Automatically add 'initscripts-functions' to packages when needed. This extra dependency is added only when the package's init script would be used at system start-up. In other words, in a systemd based image, if the package has already got its service files, it will not have this extra dependency. (From OE-Core rev: de875cb8893fd8372dd77babaef54ab2d790693d) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Fix empty modules directory QA issueNathan Rossi2014-02-021-0/+2
| | | | | | | | | | | | | | | | | | | | | If a kernel is built without any external modules (aka no CONFIG_*=m), then during a modules_install of the kernel an empty directory is created at /lib/modules/${KERNEL_VERIONS}/kernel. This is behaviour of the kernel infrastructure, the directory would normally be populated with the modules that were built. However because of the expectations of kernel-modules-split, no packages are created when there are no modules and an empty directory lingers. This raises QA issues as warning or errors (depending on the distro). The following patch changes the kernel_do_install task to check if the directory is empty and if so removes it. (From OE-Core rev: 63d3070b7e1207164891b154a5b9017731e75872) Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster.bbclass: save original package nameAlexandru DAMIAN2014-01-291-0/+4
| | | | | | | | | | | If we can get the original package name when reading package infos in toaster.bbclass, we save it for proper referincing in the toater ui. (From OE-Core rev: c3f3fed1b397b6ee6d44e7d39e63d084e4a88e30) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Show which files require given dependency in debug outputMartin Jansa2014-01-291-2/+10
| | | | | | | | | | | * when log.do_package shows some unexpected dependency, people usually need to grep package directory to find which binary was creating that dependency, show it directly in the debug output (From OE-Core rev: cf0696a39b811b13bb6e7dd06a2dad607e93a643) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Don't search for providers of PRIVATE_LIBSMartin Jansa2014-01-291-2/+11
| | | | | | | | | | * split PRIVATE_LIBS and don't use find(), so that libfoo cannot be found in PRIVATE_LIBS = "libfoobar" (From OE-Core rev: 2dec075478f977b554061dd9a4b2b8ff4af3597a) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cml1.bbclass: Fix return code handling in do_menuconfig()Jacob Kroon2014-01-281-1/+1
| | | | | | | | | | | | | | | | | | | On my system, doing "bitbake -c menuconfig busybox" pops up a gnome-terminal, I can see that the compilation starts but then the terminal automatically exits. It turns out I don't have ncurses development package installed on my host, and OE's host sysroot isn't being passed to gcc, so compilation fails. The window automatically closes before I can read the error message since the '$' in the return code check needs to be escaped. Make sure the user can read the error message by properly checking the return code. (From OE-Core rev: a2241a92fc48e4286de17b23124a9e2f0fd8185b) Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: fix Multilib QA IssueMing Liu2014-01-281-1/+1
| | | | | | | | | | | | | | | | Multilib QA warning was observed, as follows: ------ WARNING: Multilib QA Issue: lib32-oprofile package lib32-oprofile - suspicious values 'kernel-vmlinux' in RRECOMMENDS ------ The package starting with 'kernel-vmlinux' should be ok with multilib QA checking. (From OE-Core rev: 00012b63fefd77c57169f7cc06d648f54890e5df) Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory.bbclass: Improve robustness in image file listingOtavio Salvador2014-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The filenames sometimes may have strange names. With the 'awk' script it handled a limited number of spaces in the filename and a package installing a file named "test file with spaces" would have its name truncated. This patch uses the find's printf formating to simplify the code and properly handle this case. From a testing image, the only diff produced is: ,----[ files-in-image.txt diff ] | --rwxr-xr-x root root 0 ./usr/bin/test\ file\ with\ | +-rwxr-xr-x root root 0 ./usr/bin/test file with spaces `---- The options used are available since findutils 4.2.5, released in 19 Nov 2004, making it available in all supported host distributions. (From OE-Core rev: b09e24449c1c9ae335732dd070eacf66777556a1) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scons bbclass: enable parallel makeKoen Kooi2014-01-281-1/+1
| | | | | | | | | | Scons supports -jX parallel make, so let's use that. A small scale test of a few recipes shows no failures! (From OE-Core rev: a3ad3602b0e8d4a6387cac3f118722af1a0781eb) Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>