summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2016-02-10oeqa/oetest: Fix compatibility SDK tests using eSDK.Aníbal Limón1
When run SDK tests over eSDK we need to use SDKExtTestContext instead of SDKTestContext because if we use SDKTestContext search for SDK manifest and depends on the SDK manifest generation so populate_sdk needs to be executed. Adds a compatibility mode flag to SDKExtTestContext for search tests over sdk module instead of sdkext module and change testsdk calls to comply with this new param. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10classes/populate_sdk_ext: Add SDK_EXT_TARGET_MANIFEST and SDK_EXT_HOST_MANIFESTAníbal Limón1
Extensible SDK needs to point to the correct manifest so add SDK_EXT_TARGET_MANIFEST and SDK_EXT_HOST_MANIFEST variables. oeqa/oetest.py: Fix SDKExtTestContext for load the correct manifests. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10testsdkext: Add skeleton for support Extensible SDK tests.Aníbal Limón1
oeqa/sdkext: Add module and __init__.py will contain eSDK tests. classes/testsdk: Add support for run eSDK tests. oeqa/oetest: Create oeSDKExtTest for now only inherit oeSDKTest, modified SDKExtTestContext now inherit SDKTestContext and set sdkext filesdir for store data fixtures. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10classes/testsdk: Add compatibility SDK testsuite to eSDKAníbal Limón1
Extensible SDK is compatible with SDK test suite so it need to execute the same tests over it. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10classes/testsdk: Add function run_test_contextAníbal Limón1
This helper functions will be serve as well to run extensible sdk tests so generalize it to get function context as arg. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10oetest.py/TestContext: Move loadTests and runTests inside it.Aníbal Limón2
Method's for loadTests and runTests make sense to define inside TestContext because it can be different around Image, SDK, SDKExt. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10testimage/testsdk: Move get test suites routine inside TestContext.Aníbal Limón2
In order to provide better abstraction move functions to get the test suite inside the TestContext. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10testimage/testsdk: Modularize TestContext.Aníbal Limón2
Move anonymous duplicated class TestContext from testimage/testsdk to oeqa/oetest now we have two new classes ImageTestContext and SDKTestContext with common code in TestContext class. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10classes/testsdk: Add call to export_proxies on testsdkext.Aníbal Limón1
Extensible SDK needs to use network and some networks requires proxies then export it. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10classes/testsdk: Add testsdkext task only install.Aníbal Limón1
Add task for test extensible sdk for now only install the SDK. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10populate_sdk_ext: Set TOOLCHAINEXT_OUTPUTNAME.Aníbal Limón1
This variable is needed by testextsdk to known the name of extensible sdk file generated. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10classes/testimage: Add defeault inherit for testsdk.Aníbal Limón1
For compatibility adds default inherit of the new class testsdk for now, we need to review the code base. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10classes/testsdk: Add new class testsdk.Aníbal Limón2
Moves all the testsdk code from testimage in order to have it's own class because new tests will be added for extensible SDK. The old paths for store logs "${WORKDIR}/testimage" and sdk "${WORKDIR}/testimage-sdk" was maintained for compatibility may be change to point testsdk after review the codebase. The dependency of QEMU was removed because isn't needed. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10testimage: Modularize helper functions for get test lists.Aníbal Limón1
Test lists functions can be used in other parts so modularize it and move to oeqa/oetest.py library. Testimage class was updated to meet the new sign of the functions. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10bitbake.conf/base: Improve handling of SRCPVRichard Purdie1
If SRCPV is set, it can be expanded when SRC_URI doesn't support it leading to errors. Avoid doing this by setting it only when it makes sense. This patch depends on the bitbake python expansion patch series. [YCOTO #7772] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-07image_types.bbclass: Embed IMAGE_NAME in ubinize config fileDrew Moseley1
When using the FSTYPE multiubi, make sure that each image build has a unique config file. Without this there is a race condition when building multiple images in a single bitbake command which results in errors similar to: ERROR: Error: The image creation script 'blah/tmp/work/blah/core-image-base/1.0-r0/temp/create_image.multiubi' returned 1: iniparser: cannot open ubinize_normal.cfg ubinize: error!: cannot load the input ini file "ubinize_normal.cfg" mv: cannot stat 'ubinize_normal.cfg': No such file or directory WARNING: blah/tmp/work/blah/core-image-base/1.0-r0/temp/create_image.multiubi:1 exit 1 from mv ubinize${vname}.cfg blahtmp/deploy/images/blah/ Signed-off-by: Drew Moseley <drew_moseley@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-07toolchain-scripts: drop PYTHONHOMEChristopher Larson1
If this is set when nativesdk-python is not installed, it will break the host python, so it's better to handle this in python. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-06uninative: Improve error handlingRichard Purdie1
We need to improve the error handling here, things were breaking and yet the user wasn't seeing the issues. We need to skip libraries as we process the files. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-06populate_sdk_ext: Make populate_sdk_ext depend on sdk_extra_confRandy Witt1
If a user changes sdk_extra_conf, it should cause populate_sdk_ext to run. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06populate_sdk_ext: Add support for a "minimal" typeRandy Witt1
If the user sets the SDK_EXT_TYPE variable to "minimal" then the sdk won't contain any sstate. The sstate can come from an sstate mirror and be installed on demand as usual. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06populate_sdk_ext: Don't set sdk_update_targets in the configRandy Witt1
sdk_update_targets isn't used by any code, so there is no reason to set it. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06toolchain-scripts.bbclass: Use PYTHONPATH instead of PYTHONHOMERandy Witt1
In the extensible sdk it was originally intended that the native sstate would always be setscened as part of the sdk installation. However, the soon to come "minimal" sdk won't do that. A side effect of that is that pointing PYTHONHOME at the native sysroot within the "bitbake workspace" won't work. For now only set PYTHONPATH instead and continue using the python that comes from buildtools. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06bitbake.conf/native/nativesdk: Set PKG_CONFIG_SYSTEM_ at top levelRichard Purdie2
Setting PKG_CONFIG_SYSTEM_{HEADERS/INCLUDE}_PATH for nativesdk isn't enough, we also need to deal with multlib cases where libdir from pkg-config-native isn't correct. Native builds are about the only case where this variable shouldn't be set. Therefore move the code from nativesdk to bitbake.conf and unexport it in the native case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-05nativesdk: Set PKG_CONFIG_SYSTEM_ variablesRichard Purdie1
When building nativesdk recipes, we noticed paths going into .pc files which should have been suppressed since these were standard library search paths. pkgconfig-native sets these variables to sane values for native recipes, we need it set to values for our specific library paths in the nativesdk case. Setting these values cleans up the .pc files and suppresses the paths. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04insane: Fix populate_sysroot sanity test pathRichard Purdie1
This was correct for native/cross paths but not for target ones which meant the tests weren't running in some cases. Fix the path to be correct in both cases. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04license.bbclass: add LICENSE_CREATE_PACKAGE to perform_packagecopy vardepsRoss Burton1
This class has a perform_packagecopy_prepend() that uses LICENSE_CREATE_PACKAGE, but the BitBake variable dependency code doesn't know that oe.data.typed_value() is a getter. Until BitBake knows this, add an explicit vardeps. [ YOCTO #5635 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-04Revert "kernel/kernel-arch: Explicitly mapping between i386/x86_64 and x86 ↵Ioan-Adrian Ratiu2
for kernel ARCH" This reverts commit 8d310b24927d0f348fb431895f0583733db2aad0. That commit completely breaks KBUILD_DEFCONFIG because it relies on $ARCH to match between the target OE arch and the kernel subdirectory containing the defconfigs. In the kernel all defconfigs for everything x86-based (including x86_64) is stored in dir arch/x86/configs/ kernel-yocto.bbclass correctly searches for all the defconfigs inside ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} Commit 8d310b249 makes it search in wrong places and _only_ if you define TARGET_ARCH = "athlon" will it search x86 which is nonsensical. The commit further adds an if clause to hack the mungled kernel arches back to their original values (ugh) in do_shared_workdir which is run after do compile, but of course the build breaks before that in do_kernel_metadata because of the KBUILD_DEFCONFIG mentioned above (so that hack is useless). Please fix that corner case bug in another way which does not completely screw up the kernel arch mapping & defconfig logic. If 64bit configs are generated in the kernel for 32bit machines because the host is asked, then it it a bug in the kernel, it is of no use to hack around it in OE. Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-04toaster.bbclass: reinstate scan for artifacts in the sdk directoryElliot Smith1
During refactoring of the SDK/artifact scan code in toaster.bbclass, the code to find other non-image artifacts in the images/ directory was incorrectly removed. Reinstate that code and clean it up so it's clearer what's happening and so that non-image artifacts are correctly reported. [YOCTO #8956] Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04toaster.bbclass: attach image file scan postfunc to do_image_completeElliot Smith1
The postfunc for finding image files after completion of a build fails, as the image files we're interested in don't exist at the point when the scan is currently done (following do_rootfs). Attach the postfunc for scanning for image files to the new do_image_complete task, which definitely runs after the image files have been created. [YOCTO #8956] Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04meta: add ASSUME_PROVIDED dependency on wget-native for http fetchesRoss Burton1
For clarity and consistency, add a dependency on wget-native for any URIs that will be fetched using the wget fetcher, and add wget-native to ASSUME_PROVIDED. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-04classes/lib: Add expand parameter to getVarFlagRichard Purdie13
This sets the scene for removing the default False for expansion from getVarFlag. This would later allow True to become the default. On the most part this is an automatic translation with: sed -e 's:\(\.getVarFlag([^,()]*, [^,()]*\)):\1, True):g' -i `grep -ril getVar *` In this case, the default was False, but True was used since in most cases here expansion would be expected. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04sstate: Fix SSTATE_SWSPEC only used by populate_lic tasksRichard Purdie1
This variable is only used by populate_lic tasks (gcc-source overrides it) and refers to BPN. In recipes like gcc, where there are multiple variants, it is resulting in sstate objects which encode PN (they install into a PN subdir) but the sstate object reflects BPN. This leads to corruption between then and eventually, warnings from image builds like: WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc WARNING: The license listed GPL-3.0-with-GCC-exception was not in the licenses collected for recipe gcc WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc WARNING: The license listed NCSA was not in the licenses collected for recipe gcc-sanitizers WARNING: The license listed MIT was not in the licenses collected for recipe gcc-sanitizers WARNING: The license listed GPL-3.0-with-GCC-exception was not in the licenses collected for recipe gcc WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc WARNING: The license listed NCSA was not in the licenses collected for recipe gcc-sanitizers By referring to PN, as used by license.bbclass, this issue is resolved. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04package.bbclass: Add data expansion to do_split_packages()Richard Purdie1
do_split_packages is often called with parameters which need expansion. This happens to work at the moment since python functions are expanded before execution but likely will not happen in future and isn't good code practise. Expand the common parameters do_split_packages() to avoid regressions. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-02populate_sdk_ext: Add SSTATE_MIRRORS to config blacklistRandy Witt1
SSTATE_MIRRORS used by the builder may not be the same as what the installer of the sdk will use. Therefore blacklist SSTATE_MIRRORS from the builder configuration. Note: the actual SSTATE_MIRRORS for the sdk can be added using sdk_extra_conf. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-02insane: add test for -dev packaging containing real librariesRoss Burton1
PN-dev packages should generally contain the link-time symlinks from libfoo.so to the real libraries. If a recipe installs a real library named libfoo.so there's a very good chance that it's a loadable module and should be in another package. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-02remove-libtool: add new classRoss Burton1
This class adds a postfunc to do_install to remove all .la files installed by libtool, so that they are absent from both the sysroots and target packages. If a recipe needs these files to be installed then it can be overridden by setting REMOVE_LIBTOOL_LA. Note that this class isn't enabled by default. [ YOCTO #2380 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-02gtk-immodules-cache.bbclass: fix immodules-cache pathMaxin B. John1
This commit in gtk+ moved the cache files below <libdir> " commit c8849046860a9b17fa943247d85ddadb29262b48 Author: Matthias Clasen <mclasen@redhat.com> Date: Thu Jul 4 09:27:17 2013 -0400 Move the module cache files below libdir These files contain architecture-dependent paths, and thus placing them into sysconfdir causes unnecessary hassle. Now the immodule cache file is looked for in libdir/gtk-2.0/2.10.0/immodules.cache. Belated backport of a change that was done in the run-up to 3.0.". Update gtk-immodules-cache.bbclass to use that path. The environment variable "GTK_IM_MODULE_FILE" can also be set to point GTK+ at the file to fix this problem. However, it causes problems for gtk3 apps. [YOCTO #6774] [YOCTO #8957] Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-31sstate: Revert using -m option to tar in sstateRichard Purdie1
In http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=2d89cff42af2bb0049224bfaaebaa2b21966169f we added a workaround for dealing with lack of time sync between build machines and their users. This has turned out to cause problems for people who rely on timestamps being preserved in sstate output. Since our autobuilders are all in time sync with ntp, revert the commit. [YOCTO #8996] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31native.bbclass: Set CXXFLAGS from BUILD_CXXFLAGS not BUILD_CFLAGSPhil Blundell1
Although BUILD_CXXFLAGS, by default, expands to the same thing as BUILD_CFLAGS there is no guarantee that this will be true in all cases. When setting CXXFLAGS we should use the former. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31externalsrc: use shared CONFIGURESTAMPFILE if B=SMarkus Lehtonen1
External source tree is used as the builddir even for different architectures in case ${B}=${S}. This may cause problems if MACHINE is changed as do_configure is not being re-run (which would run make clean). This patches changes externalsrc to use a common (per-recipe) CONFIGURESTAMPFILE under 'work-shared' if ${B}=${S}. In addition, do_configure will depend on changes of this stamp file. As a result, do_configure is re-run and the build dir is cleaned correctly if a rebuild for different MACHINE is done. [YOCTO #8950] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31Make sure that the directory for CONFIGURESTAMPFILE existsMarkus Lehtonen2
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31autotools.bbclass: use oe_runmake instead of ${MAKE}Markus Lehtonen1
Use oe_runmake like in base.bbclass so that EXTRA_OEMAKE will be respected. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-29base: Move COMPATIBLE_MACHINE out the scope of SOURCE_MIRROR_FETCHRichard Purdie1
Recipes setting COMPATIBLE_MACHINE are likely to have SRC_URI entries which can heavily depend on the configured machine. Skipping them for SOURCE_MIRROR_FETCH is therefore not advised and leads to build errors whilst not particularly improving source mirrors. [YOCTO #8802] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-29autotools.bbclass: don't create subshell to delete configure scriptsAndre McCurdy1
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-29sstate: Add back packagedata on packagedata dependenciesRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-29autotools_stage.bbclass: remove itRobert Yang1
Not needed any more, the autotools.bbclass can fully instead of it. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-29sstate: Improve handling of useradd dependenciesRichard Purdie1
useradd has sstate [depends] for both do_package and do_populate_sysroot yet the dependency validation code only covers do_package. Add coverage of populate_sysroot, else the order inversion that [depends] creates means unexpected installation of users of useradd.bbclass (e.g. avahi do_populate_sysroot) in cases where it shouldn't be (e.g. libnss-mdns -c packagedata). The code needs to move above the other populate_sysroot intercept code since there are specific cases we need to cover before that code. The result of this change is more optimal installation of sstate objects in common usage scenarios. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-29bash-completion.bbclass: add classGeorge McCollister1
Add bash-completion.bbclass which will package bash completion files in a subpackage ${PN}-bash-completion. Use of this class will ensure consitent handling of bash completions across recipes. Signed-off-by: George McCollister <george.mccollister@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-29qemu.bbclass: clarify QEMU_EXTRAOPTIONSAndre McCurdy1
QEMU_EXTRAOPTIONS is a way to add PACKAGE_ARCH specific options to the qemu_run_binary qemu commandline. The base QEMU_EXTRAOPTIONS variable (ie without a PACKAGE_ARCH suffix) is not used, so defining it, either directly or via an over-ride has no effect. Although previously an over-ride for _armv7a was used, it did nothing for most armv7a builds, which typically use PACKAGE_ARCH values such as "cortexa9hf-neon". In practice this worked OK since without a -cpu option, qemu-arm will default to emulating a CPU which supports all required architecture levels. qemu-arm (v2.5.0) with no -cpu option has been confirmed to successfully run binaries built for armv7ve. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-29buildhistory: fix the check for existence of a git repoMarkus Lehtonen1
Previously, in order to determine the existence of an already initialized Git repository we checked if a directory named '.git' was present in the buildhistory dir. However, e.g. in the case of git submodules '.git' may also be a regular file referencing some other location which was causing unwanted behavior. This patch changes buildhistory.bbclass to check for any file named '.git' which fixes these problems. [YOCTO #8911] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>