aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
AgeCommit message (Collapse)Author
2016-01-11autotools.bbclass: use relative path to run configure scriptrbt/relativeRobert Yang
The absolute path (/path/to/configure) caused VPATH in Makefile to be an absolute path, and then it will be in elf files, use relative path to run configure can fix the problem. This will reduce a lot of buildpaths QA issues in a world buld. [YOCTO #8894] Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2016-01-11package_deb.bbclass: add 'Multi-Arch: foreign' tag to allarch packagesMatt Madison
This tells APT that it can use such packages to resolve dependencies from packages of any architecture in a multilib build. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11package_deb.bbclass, cross-canadian.bbclass: DPKG_ARCH mapping functionMatt Madison
Have DPKG_ARCH set by directly invoking a mapping function, rather than using an anonymous Python function modify the variable under the hood, so we can have proper handling of overrides. Also bring in some additional mappings to Debian architecture names that weren't being handled. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11populate_sdk_ext: Pass excluded_targets as a list to prune_lockedsigsRandy Witt
prune_lockedsigs expects excluded_targets to be a list, whereas previously it was passed in as a string. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11populate_sdk_ext: Change to include siginfo and non sstate task sigsRichard Purdie
Right now, the locked task hashes list for the extensible SDK locks down only the sstate tasks. Whilst asthetically pleasing, this gives two problems: * Half the task are left floating meaning checksum mismatches are a pain to debug * The later code which copies relavent data files out the sstate cache can't use any of this data. This patch modifies things so all the checksums are listed in the locked file. An exclusion of tasks probably makes more sense for the library function rather than an allowed list. The only sstate task being deliberaly excluded here was do_package so add in a function to explictly exclude those sstate object files. The net result of this that siginfo files for all tasks are included in the SDK, which means commands like "bitbake -S printdiff" now function. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11populate_sdk: Switch from bzip2 to xzRichard Purdie
xz gives *much* faster decompression times for the SDK which in itself is a good reason to use it. It also gives better compression. One downside is its slower but we care about the end user case first, build performance secondary. It also assumes the SDK user has a tar capable of understanding a xz compressed file but that should be common enough now. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11classes: Fix do_rootfs referencesRichard Purdie
After the separation of do_rootfs, some rootfs references need changing to image_complete. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11image: Create separate tasks for rootfs constructionRichard Purdie
This patch splits the code in lib/oe/image into separate tasks, one per image type. This removes the need for the simple task graph code and defers to the bitbake task management code to handle this instead. This is a good step forward in splitting up the monolithic code and starting to make it more accessible to people. It should also make it easier for people to hook in other tasks and processes into the rootfs code. Incidentally, the reason this code was all combined originally was due to limitations of fakeroot where if you exited the session, you lost permissions data. With pseudo this constraint was removed. We did start to rework the rootfs/image code previously and got so far with untangling it however we did prioritise some performance tweaks over splitting into separate tasks and in hindsight, this was a mistake and should have been done the other way around. That work was suspended due to changes in the people working on the project but this split has always been intended, now is the time to finish it IMO. There were some side effects of doing this: * The symlink for the manifest moves to the rootfs-postcommands class and into the manifest function. * There is no seperate "symlink removal" and "symlink creation", they are merged * The date/time stamps of the manifest and the built images can now be different since the tasks can be run separately and the datetime stamp will then be different between do_rootfs and the do_image_* tasks. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11image: Move pre/post process commands to bbclassRichard Purdie
As the next step in splitting up do_image, move the pre and post processing commands to separate tasks. This also creates the do_image_complete task which acts as the end marker task for image generation. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11image.bbclass: Separate out image generation into a new task, do_imageRichard Purdie
I've heard complaints from people trying to create more interesting image types about how hard it is to understand the rootfs/image generation code and that its a pain to develop/test/debug. Having looked at it myself, the internal construction of shell functions which then gets passed into a multiprocessing pool is rather convoluted and it places rather odd constraints on when variables are expanded. Its therefore no wonder people find it confusing/complex. This patch starts the process of splitting this up by separating out image generation from the do_rootfs task into a new do_image task. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11classes/populate_sdk_ext: disable signature warningsPaul Eggleton
The user of the extensible SDK doesn't need to see these. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11classes/populate_sdk_ext: fix cascading from preparation failurePaul Eggleton
During extensible SDK installtion, if the build system preparation step fails we try to put something at the end of the environment setup script to show an error when it is sourced, in case the user doesn't realise that the partially-installed SDK is broken. However, an apostrophe in the message (actually a single quote) appears to terminate the string and therefore breaks the command. Drop it to avoid that. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07image: Really remove lockfiles flagRichard Purdie
This was supposed to be removed by a previous patch but was readded. Really remove it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07image_types.bbclass: Rebuild when WICVARS changeMariano Lopez
The procces to do a wic image is to save a file with variables required by wic and then call wic using this file. Because this is external to bitbake if the vars change, the image won't be rebuild; an example of such is IMAGE_BOOT_FILES. This patch adds these variables to vardeps of do_rootfs when a wic image is build. This will rebuild the image if a variable needed by wic changes. [YOCTO #8693] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07testimage: remove VNC test, x11vnc isn't in oe-core anymoreRoss Burton
Now that x11vnc won't be in Sato images we don't want to test it. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07classes/buildhistory: actually use KiB in extensible SDK sizes filesPaul Eggleton
I was using bytes here for the sizes and writing out KiB as the suffix. Change it to actually write out size values in KiB. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07sanity.bbclass: add more information to error message about TUNE_PKGARCH ↵Martin Jansa
missing in PACKAGE_ARCHS * sometimes it's hard to see what's wrong here * error message: Error, the PACKAGE_ARCHS variable does not contain TUNE_PKGARCH (cortexa7t2hfhf-vfp-vfpv4-neon). doesn't help much to understand what exactly went wrong and where Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07qt4: remove recipes and classesAlexander Kanavin
Qt4 is no longer supportd upstream, but it is still needed for LSB compliancy. Qt4 recipes have been moved to a separate meta-qt4 layer to be consistent with meta-qt3 and meta-qt5. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-05image: Condense do_rootfs function/flagsRichard Purdie
Various prefuncs and flags and addtask statements make sense to belong together in one clearer function now, this patch cleans things up a bit. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-05image/rootfs-postcommands: Separate out post rootfs commands to separate classRichard Purdie
Reading image.bbclass is a little difficult as it has many post rootfs helper functions and its hard to separate those from the core contents of the rootfs/image code. Moving it to a separate class would be one way of making it clearer what these functions are. There are some comment layout improvements but no code changes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-05image: Remove pointless rootfs lockRichard Purdie
It was added in aa3141e979326a9d931ff03bad75923faa1d9dc6 back in 2008 but I don't see why multiple images would need this now. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-27image-vm.bbclass: uses IMAGE_LINK_NAMEMing Liu
Uses ${IMAGE_LINK_NAME} instead of ${IMAGE_BASENAME}-${MACHINE}. Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-27image-live.bbclass: uses IMAGE_LINK_NAMEMing Liu
Uses ${IMAGE_LINK_NAME} instead of ${IMAGE_BASENAME}-${MACHINE}. Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-27mirrors: add archive.apache.org to Apache mirrorsAlexander Kanavin
Historical releases may disappear from the main mirrors, so then we need to fall back to the archive (which, in turn, may not carry the current release, and so can't be the primary mirror). Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-27buildhistory: improve support for extensible SDKPaul Eggleton
* Ensure extensible SDK and standard SDK go into their own directories * Record extra extensible SDK variables * Write sstate-package-sizes.txt and sstate-task-sizes.txt files so you can analyse the size of the contents * Add BUILDHISTORY_SDK_FILES (similar to BUILDHISTORY_IMAGE_FILES) and default it to pick up config files installed in the extensible SDK Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-27buildhistory: fix not recording SDK informationPaul Eggleton
After OE-Core revision baa4e43a29e45df17eaa3456acc179b08d571db6 we lost recording SDK the contents in buildhistory. This was due to the SDK_POSTPROCESS_COMMAND variable being set with = in populate_sdk_base.bbclass which overwrote any value set with += in buildhistory.bbclass; to fix it, use _append in buildhistory.bbclass instead. Fixes [YOCTO #8839]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-27kernel-yocto: fix checkout bare-cloned kernel repositoriesJianxun Zhang
The existing code doesn't tell regular (with .git) and bare cases and just move the unpacked repo to the place of kernel source. But later steps will fail on a bare-cloned repo because we can not checkout directly in a bare cloned repo. This change performs another clone to fix the issue. Note: This change doesn't cover the case that S and WORKDIR are same and the repo is bare cloned. Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-22classes/populate_sdk_ext: error out of install if buildtools install failsPaul Eggleton
If the installation of buildtools fails then we should fail the entire installation instead of blindly continuing on. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-22classes/populate_sdk_ext: hide build configuration in devtool build* outputPaul Eggleton
The configuration of the build system within the extensible SDK is fixed, so there's not a lot of point in showing it; plus it just gets in the way of the output that's interesting to the user in this context. So let's hide it within the extensible SDK. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-22classes/base: don't print header if BUILDCFG_HEADER not setPaul Eggleton
If we don't want a header printed at the start of task execution (which we'd prefer not to within the extensible SDK) we can accomplish that by clearing BUILDCFG_VARS and BUILDCFG_HEADER, but that was still printing a load of blank lines. To keep things simple, check if BUILDCFG_HEADER is set to something before printing a header. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-22classes/populate_sdk_ext: use uninative to set NATIVELSBSTRINGPaul Eggleton
We inherit uninative in the extensible SDK configuration, and uninative sets NATIVELSBSTRING to a fixed value, so we don't need to force the value ourselves. Fixes [YOCTO #8662]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-22toaster.bbclass: fix TypeError when parsing build statsElliot Smith
Reading IO stats fails because the IO read/write bytes are being converted to strings, then added to a numeric running total. Fix this by converting IO stats to integers. Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-22staging.bbclass: make already-stripped can be skippedJackie Huang
Add a check like what we does in package.bbclass so that the already-stripped QA test can be skipped. Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-18buildstats-summary/toaster: Cope with removal of get_bn()Richard Purdie
The buildstats changes removed the no longer needed get_bn() function, replace this with references to BUILDNAME. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18toaster: Update for buildstats changesRichard Purdie
This updates the toaster class to use the new data format from buildstats. This does mean it will no longer read IO data from older builds, however since that data is completely useless anyway, I don't consider that to be an issue. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18buildstats: Improve to add getrusage data and corrected IO statsRichard Purdie
Add IO stats and getrusage() data to the task statistics. We also drop the CPU percentage calculation since its pretty arbitrary and not very accurate/useful. In particular we can now see the user and sys times as well as the wall clock times. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18buildstats: Separate out the build and task data to allow improvementsRichard Purdie
The combined build and task data code makes changing things hard, separate out the functions so that changes can be made to the task data whilst the build data remains unchanged. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18buildstats: Clean up e.data and bb.data referencesRichard Purdie
Rather than bb.data and e.data, cleanup to use 'd' and match the standard coding style. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18buildstats: Drop get_bn/set_pn and just use BUILDNAMERichard Purdie
The current setting and getting of the "name" to use for buildstats is convoluted and not particularly interesting. We only need this for the e.getPkgs()[0] component of the path which is the first target listed on the commandline. This is pretty arbitrary. If we drop that piece, we can assume BUILDNAME is common for all events and simply use this and query it. If BUILDNAME did change, that would be a bug and it should be fixed elsewhere. Also take the opportunity to share some common code since the function now has the eventmask. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18buildstats: Drop disk data from buildstatsRichard Purdie
The existing diskstats data from buildstats simply isn't useful. It gives stats on the total IO counts on some random disk within the system. This means that the count includes data from all other tasks running at the same time and from any other process running on the system. I've been unable to find any use for the data so as a start at reworking the class, remove the related code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16uninative.bbclass: Choose the correct loader based on BUILD_ARCHRandy Witt
Previously UNINATIVE_LOADER was always ld-linux-x86-64.so.2. That is incorrect when the host is 32-bit. This change also changes to using ?= so the user can override UNINATIVE_LOADER if so desired. [YOCTO #8124] Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-16license: Fix BB_TASKDEPDATA referencesRichard Purdie
We shouldn't try and expand what is a python dict object and we don't want it to influence the task hashes, task dependencies are already accounted for. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16meta: Drop now pointless manual -dbg packagingRichard Purdie
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg isn't needed in most cases, we can remove them. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-15package: Add auto package splitting of .debug filesRichard Purdie
Creating FILES_${PN}-dbg is tedious and also pretty pointless. We might as well assume ".debug" is a special directory name and split into -dbg automatically. This change does so without changing the rest of the splitting logic too much. It can be disabled for the cases where we really do want manual control of the -dbg packages (e.g. qt4) with NOAUTOPACKAGEDEBUG = "1". Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14nopackages: Add class for recipes which don't generate packagesRichard Purdie
It turns out writing the same list of packaging tasks multiple times in multiple places is error prone. Move this to a new class 'nopackages", migrate existing users and add glibc-initial and libgcc-initial since we don't want packages for those recipes. This means the sstate for those recipes won't be installed, saving small amounts of build time and bandwidth. A reference to the old package_write task is also dropped. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14sstate: Ensure populate_lic dependencies are not followedRichard Purdie
It was observed that do_fetch dependencies (e.g. subversion-native of tremor) were being installed even when sstate was available and hence no fetch was needed. This turned out to be due to the recursive nature of the rootfs dependencies which include populate_lic. We can explicitly whitelist these dependencies as being ones we don't need to follow when installing sstate (the code defaults to being paranoid). [YOCTO #8746] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14populate_sdk_ext/sign_rpm/sign_package_feed: Add missing getVar parameterRichard Purdie
We should always pass a parameter to getVar, add missing default value. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-12mirrors: replace references to archive.apache.orgAlexander Kanavin
archive.apache.org does not contain current releases, only historical ones, so upstream checks aren't accurate. It's replaced with official mirrors containing current versions. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12kernel.bbclass: drop unnecessary 'eval' from kernel_do_configure()Andre McCurdy
KERNEL_CONFIG_COMMAND will be expanded by bitbake, so can be used directly in kernel_do_configure() Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12insane: in libdir test allow libraries in libexecdirJuro Bystricky
Some recipes, such as sudo and gcc, put libraries into libexecdir. Allow this in the sanity test so that we don't have to whitelist the libdir check. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>