summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2014-01-28package_{ipk, deb, rpm}.bbclass: support additional user-defined metadataLeonid Borisenko3
Additional metadata from user-defined variable is written into control/spec file of binary package. Three variables are searched for adiitional package metadata: * PACKAGE_ADD_METADATA_<PKGTYPE>_<PN> * PACKAGE_ADD_METADATA_<PKGTYPE> * PACKAGE_ADD_METADATA First found variable with defined value wins. <PN> is a package name. <PKGTYPE> is a distinct name of specific package type: * IPK for .ipk packages * DEB for .deb packages * RPM for .rpm packages Variable can contain multiple [one-line] metadata fields separated by literal sequence '\n'. Separator can be redefined through variable flag 'separator'. In package control/spec file separator is replaced by newline character. Signed-off-by: Leonid Borisenko <ive.found@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-28package.bbclass: add getter of additional metadataLeonid Borisenko1
Two variables are searched for value of additional package metadata: * PACKAGE_ADD_METADATA_<PKGTYPE> * PACKAGE_ADD_METADATA First found variable with defined value wins. <PKGTYPE> is a parameter of getter and expected to be a distinct name of specific package type. For example: 'DEB' or 'RPM'. Variable can contain multiple [one-line] metadata fields, separated by literal sequence '\n'. Separator can be redefined through variable flag 'separator'. Getter returns found value with separator replaced with newline character. As side-effect, searched variables acquired flags 'type' (equals to 'list') and 'separator'. Signed-off-by: Leonid Borisenko <ive.found@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-23boot-directdisk: fix the support of vmdkJoao Henrique Ferreira de Freitas1
Previous change (086ce22b88f5ef5f75a83119a32c8b3fdcfa296d) broke the creating of vmdk images. This protects shell expansion variables and let dd generate the image to be transformed to vmdk by image-vmdk.class. Signed-off-by: Joao Henrique Ferreira de Freitas <joaohf@gmail.com> [edit to change the usage of IMAGE_FSTYPE to IS_VMDK] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-22cmake.bbclass: fix note when warning about deprecated variablesRoss Burton1
The note issues when OECMAKE_BUILDPATH and OECMAKE_SOURCEPATH were being used stated that an in-tree build would be done, but the default is in fact an out-of-tree build. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-21sstate.bbclass: remove previous version's stampRobert Yang1
There is a potential problem if we don't remove the previous version's stamp, for example: The depend chain is: libtool-native -> autoconf-native -> m4-native We have two m4-native: 1.4.9 and 1.4.7 1) Clean all of them to make a fresh build so that we can reproduce the problem $ bitbake m4-native autoconf-native libtool-native -ccleansstate 2) Build libtool-native so that the m4-native_1.4.17 will be built $ bitbake libtool-native 3) Set PREFERRED_VERSION_m4-native = "1.4.9" and build again $ bitbake libtool-native 4) Set PREFERRED_VERSION_m4-native = "1.4.17" and build again $ bitbake libtool-native -ccleansstate && bitbake libtool-native Then the build will fail: [snip] | m4: unrecognized option '--gnu' | Try `m4 --help' for more information. | autom4te: m4 failed with exit status: 1 [snip] The is because when we change m4-native to 1.4.17 and build libtool-native again: 5) libtool-native depends on autoconf-native, and autoconf-native's version isn't change, so it can remove the current stamp and mirror the sstate (the one depends on m4-native_1.4.9) from the SSTATE_DIR correctly. 6) The mirrored autoconf-native depends on m4-native_1.4.17's do_populate_sysroot, and the stamp is already there (which is made by step 2), so it would do nothing, but this is incorrect, since the one that really in the sysroot is m4-native_1.4.9, then the error happens. Remove previous version's stamp in sstate_clean() will fix the problem. [YOCTO #5422] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-19package.bbclass: show warning when package is providing already provided shlibMartin Jansa1
* move read_shlib_providers before registering package as provider and show warning when different package tries to provide something already provided. [YOCTO #4628] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-19package.bbclass: move reading shlibs providers to separate functionMartin Jansa1
* prepare for reading shlibs providers only from dependency tree of current recipe [YOCTO #4628] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-19icecc: use exact match in blacklists, re-start with empty ↵Martin Jansa1
system_package_blacklist * unify debug messages a bit * old implementation allowed partial match in blacklist, it's safer to explicitly list exact matches * I was able to build all entries from system_package_blacklist with icecc enabled, lets assume that they were already resolved by newer versions (we've fixed a lot of parallel issues in recipes which were detected even without icecc and this list is very old). Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-19icecc: Fix allarch and native recipes having different signaturesMartin Jansa1
* for different MACHINES * is there more elegant way to have "overridable" function so that signature handler properly uses only the branch without STAGING_BINDIR_TOOLCHAIN? Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-19icecc: use bb.utils.which also for 'as'Martin Jansa1
* it was introduced in commit 3a842ec52e7d010767b13bdcb5629ac07b3ee9e7 Author: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Date: Fri Sep 16 10:55:16 2011 +0400 Subject: icecc.bbclass: replace with updated version without any explanation in which case ${ICECC_CC} -print-prog-name=as is returning as in current working directory, but will keep old behavior just in case Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-19icecc: Don't replace non-empty PARALLEL_MAKE with empty ICECC_PARALLEL_MAKEMartin Jansa1
* it's needed for use-case like this: # Inherit icecc here, so that all builders have the same sstate signatures INHERIT_DISTRO += "icecc" # and then disable its function by default (so that people still need to explicity # enable it in local.conf if they have configured icecc and want to use it. # You need to set _empty_ value in local.conf to enable icecc function: # ICECC_DISABLED = "" ICECC_DISABLED ??= "1" * so default ICECC_PARALLEL_MAKE is still empty, but we want build to respect our PARALLEL_MAKE, unfortunately we cannot do something like ICECC_PARALLEL_MAKE ??= "${PARALLEL_MAKE}", because that would cause PARALLEL_MAKE to reference itself. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-19allarch: Set empty TARGET_PREFIX and TARGET_FPUMartin Jansa1
* set empty TARGET_PREFIX This has a bit weird reason caused by unsupported setup where external-toolchain is used in some DISTRO only for some MACHINEs and internal is used for other MACHINEs. Because external-toolchain usually comes with different TARGET_PREFIX it was causing allarch recipes to have different signatures even when they don't use toolchain at all. Empty TARGET_PREFIX also helps to find allarch recipes which still have default dependency on e.g. virtual/${TARGET_PREFIX}gcc. * add TARGET_FPU just for completeness (it was used in icecc.bbclass but now it's vardepexcluded there as well) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-17update-alternatives: We now use u-a in nativesdk so make sure the dependency ↵Richard Purdie1
is present When update-alternatives was part of opkg which got built in most nativesdk scenarios, this missing dependency wasn't an issue. We now need nativesdk-opkg-utils so we need to ensure the dependency is present in nativesdk cases. This avoids build failures with the recent u-a move to opkg-utils. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-16package_rpm: Fix a race with package_deb/package_ipkRichard Purdie1
We have the odd situation where the CONTROL/DEBIAN directory can be removed in the middle of the walk, the isdir() test would then fail and the walk code would assume its a file hence we check for the names in files too. This resolves the autobuilder failure: error: File not found: /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-arm/build/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/xinit/1_1.3.3-r0/package/DEBIAN RPM build errors: File not found: /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-arm/build/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/xinit/1_1.3.3-r0/package/DEBIAN Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-16allarch.bbclass: set SDK_ARCH and SDK_CC_ARCH to "none"Laurentiu Palcu1
allarch packages shouldn't use these variables. [YOCTO #5396] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-14cmake: specify all install pathsRoss Burton1
Specify the full set of install paths (bindir, libdir, etc) for packages that use the GNUInstallDirs module, instead of just the prefix and leaving the rest as default (which breaks with multilib). Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-14ptest: d.keys() is slow, use a list insteadRichard Purdie1
Unfortunately d.keys is extremely slow. Using a list in this case should be fine since the addtask lines are immediately above the code and aren't going to change often. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-14image_types bbclass: add support for tar.lz4 and cpio.lz4Koen Kooi1
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-14kernel.bbclass: add support for LZ4 initramfs filesKoen Kooi1
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-14distrodata bbclass: add support for lz4 archivesKoen Kooi1
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-14base bbclass: add support for lz4 compressed archivesKoen Kooi1
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-14cmake: default to out-of-tree buildsRoss Burton1
Set B=${WORKDIR}/build in cmake.bbclass so that recipes using cmake.bbclass do out-of-tree builds by default. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-14cmake: respect ${S} and ${B}Ross Burton1
Instead of the class-specific variables OECMAKE_BUILDPATH and OECMAKE_SOURCEPATH, just use ${B} and ${S}. If these two paths are different, delete any existing ${B} before running a build so that previous builds don't taint the current build. Note that OECMAKE_SOURCEPATH and OECMAKE_BUILDPATH are not respected, so recipes that manually set these in the past will need to be updated to either use something along the lines of separatebuilddir.inc or set B themselves. If the old variables are set, a warning is displayed. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-14ptest.bblass: Fix package QA issues when disabledNathan Rossi1
When the ptest distro feature is disabled, a ptest directory is still created in the install phase, This directory is not cleaned up or consumed by any package and will throw a QA error, e.g. ERROR: QA Issue: glib-2.0: Files/directories were installed but not shipped /usr/lib/glib-2.0/ptest ERROR: QA run found fatal errors. Please consider fixing them. ERROR: Function failed: do_package_qa This is caused by the do_install_ptest_base[cleandirs] attribute which is not setup to be conditional on ptest being enabled. This patch refactors the use of PTEST_ENABLED in the *ptest_base tasks, replacing the conditional execution with the removal of the tasks from the build, this prevents any part (including cleandirs) of the ptest tasks from executing when disabled. Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-10terminal.bbclass: do not export PS1Anders Darander1
With a complex PS1 setup, PS1 might not have all characters correctly escaped when terminal.bbclass writes the export. This caused the run.do_terminal.PID to terminate, making it impossible to use the devshell. As the spawned shell will parse e.g. .bashrc (or whatever rc-file is being used), PS1 will be reset in the devshell. Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-10package: Keep global pkgfiles[] up to date when snapping library symlinksPhil Blundell1
Since ca86603607a69a17cc5540d69de0e242b33382d3 we are now calling stat() on all the pkgfiles[] during emit_pkgdata(). If symlink snapping has removed some of the files then we will blow up trying to stat a path that no longer exists. Fix that by ensuring that pkgfiles[] is updated when we process the list of library renames. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-10kernel-module-split: Remove extraneous call to depmod from module postinstPhil Blundell1
During rootfs construction, image.bbclass will call depmod after all the modules are installed. There's no need to run it from the postinst when operating in offline root mode. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-07sstate: add do_package to the noexec list in setscene_depvalidMing Liu1
do_package doesn't exist and are noexec anyway for native/cross/crosssdk packages. Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-06base.bbclass: pull in file-native for src.rpmChristopher Larson1
Unpacking an src.rpm uses rpm2cpio.sh, which requires 'file'. Without this, builds of rpm on a host without 'file' installed will fail with very strange messages. Signed-off-by: Christopher Larson <kergoth@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-06sstate: Add optimizing logic for crosssdk setscene dependenciesMing Liu1
This patch mainly aims to add optimisation for crosssdk setscene dependency validating which we haven't handled in current logic, and which I think we could have as we've already implemented to native/cross, although there are albeit not many crossdk tasks, we could still get some performance enhancement. Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-06Revert "gconf.bbclass: remove --disable-schemas-install"Richard Purdie1
This reverts commit 84fa245b1d1e7935094e3b8a452d69461dc3dcbb. Ross Burton comments that: *Some* packages have migrated away from gconf to gsettings. Not all packages have done this, so anything still using gconf is now broken. Note that almost nothing in oe-core uses gsettings as we're still using the GTK+ 2 stack generally. The problem is that people are using gnome.bbclass which is a kitchen sink class, inheriting many other classes that may or may not be used. To resolve this warning gnome.bbclass should extend the sanity check whitelist with --disable-schemas-install as it is the class causing gconf.bbclass to be inherited on recipes that don't use gconf.
2014-01-06lib/oeqa/runtime: add test for pythonTing Wang1
Run a python script on the target 1)checks the output. 2)Call os.system method create a testfile Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-06mime.bbclass: remove the --disable-update-mimedbRobert Yang1
Gnome and other freedesktop's mime data has been moved to shared-mime-info, and there is no such an option any more, we already have this recipe, so remove it, this will fix the warning: configure was passed unrecognised options: --disable-update-mimedb Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-06gconf.bbclass: remove --disable-schemas-installRobert Yang1
Gnome has moved the schemas to the gsettings-desktop-schemas pkg, so there is no --disable-schemas-install option any more, and we already have the gsettings-desktop-schemas recipe, so remove it, it wil fix the warning: configure was passed unrecognised options: --disable-schemas-install Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-06image.bbclass: add ability to set systemd default targetChen Qi1
Add ability to set the default target for systemd images. The default target for system is controlled by SYSTEMD_DEFAULT_TARGET. The default value for this variable is derived from checking whether IMAGE_FEATURES contains 'x11-base' or not. Each image could override this value in its own recipe. For now, we don't need to do any change, because all images that support graphical environment has 'x11-base' in its IMAGE_FEATURES. [YOCTO #3816] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-02classes/package: set SUMMARY in do_split_packages()Paul Eggleton1
do_split_packages() is commonly used to split out plugin/module packages dynamically within recipes. If it doesn't set SUMMARY for each of these packages then they get a generic SUMMARY from the recipe, which isn't particularly useful; so add a parameter to set this and default it from the current description parameter (it ought to have been the other way around, but the description parameter is what we currently have in use by all recipes that use this function.) Fixes [YOCTO #5406]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2014-01-02Update after toplevel LICENSE file checksum changeRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-21toaster.bbclass: fix crash on buildstats collectionAlexandru DAMIAN1
Toaster needs buildstats to be enabled in order to collect task statistics. The toaster.bbclass didn't have a guard to stop task data collection if the buildstats weren't enabled, leading to a crash. This patch verifies that the task variables are defined before trying to use them. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-21classes/insane: restore printing LIC_FILES_CHKSUM checksum if not specifiedPaul Eggleton1
OE-Core rev ec8590aa81e201e28e500935d31cd7266114471f (by me) unintentionally disabled printing the actual checksum value if no checksum was specified, i.e.: LIC_FILES_CHKSUM = "file://COPYING;md5=" Printing the actual checksum in this case is really useful when writing a new recipe, so put this back in. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-21sstate: Use datastore copies due to data changes persistingRichard Purdie1
The way the "all arch" PKGSPEC is enabled, it causes corruption of the datastore of sstate operations against other tasks. Data store copies are cheap and allow us to use that trick, resetting to a clean copy of the data afterwards. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-21externalsrc: Fix deltask usageRichard Purdie1
An incorrect version of the patch merged which entirely removed the covered variable. This corrects the patch so the code works. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-20terminal: Exclude BB_ORIGENV from the signaturesRichard Purdie1
devshell was printing a traceback when exiting due to the use of dump_sigs() being called on the task. This is turn was since this function referenced BB_ORIGENV. We might as well globally exclude this for now since its a data store object and cannot be pickled, not would it make sense to do so. [YOCTO #5683] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-20sstate/sstatesig: Add populate_lic to list of arch invariant sstate tasksRichard Purdie1
Like fetch, unpack and patch, populate_lic doesn't vary between different archs so we should mark it as such. This means better sstate cache reuse with fewer duplicate files as well as less confusing sstate debugging. sstatesig also needs to account for the fact BPN is used for sstate files in these cases. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-20sstate: Convert to use ':' as a filename sperator and use SSTATE_SWSPEC globallyRichard Purdie1
Currently the code has problems differentiating between "gcc-cross" and "gcc-cross-initial" sstate files. We could add in a ton of special casing but tests show this isn't scaling well. Using a more unique separator resolves the issue. The choice of which separator to use is a hard one. We need something which isn't commonly used in PN, PV, PR, *_OS and *_ARCH which rules out '-', '_' and it needs to work ok with webservers/http which makes ';' and '%' harder. The change also sets SSTATE_SWSPEC globally since writing out differently named siginfo files for the fetch/unpack/patch tasks is a waste of diskspace, the hashes match for all PN in the majority of cases and if they don't, its not a big issue as the hash is different. This makes the results from sstate debugging more understandable. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-20testimage: include traceback when loading a test failsStefan Stanacar1
Makes it much easier to figure out where a syntax error is. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-12-20ptest: Disable for native recipesRichard Purdie1
We don't use or otherwise care about ptest for native recipes. Its therefore pointless to take the performance hit for them and we can disable them. (From OE-Core rev: f3d35bb4719d0b8f8e6fc5976e9dbfc0e2019c2e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-20ptest: Fix dependency/ordering issueRichard Purdie1
We've seen occasional issues on the autobuilder where files appear during do_populate_sysroot and this is due to the ptest installation happening in parallel. This fixes the order to be deterministic. (From OE-Core rev: 0ed1641d870f4bb5735aeeb7bd29cc196e61b7cc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-20externalsrc: Use deltask APIRichard Purdie1
Now we have deltask API, stop poking around bitbake internal variables. (From OE-Core rev: 98637df0c04fd14b506d9eec7da8ec6ae441221b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-20native: Use deltask to remove tasks which have no purposeRichard Purdie1
core-image-sato has 47703 inter task dependencies before this patch and 29883 afterwards which is a significant worthwhile task graph simplification. (From OE-Core rev: ac4b1518ec549b5a4d7a79c60dbf96b90797e1d8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-18systemd: pass --root in prerm if running on hostRoss Burton1
If a systemd image is built without a package manager then packages will be removed from an image during rootfs generation, but without passing --root the systemctl will look on the *host* system. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>