aboutsummaryrefslogtreecommitdiffstats
path: root/meta
AgeCommit message (Collapse)Author
2017-03-24oe-build-perf-test: sum rusage in buildstatsMarkus Lehtonen
Instead of separate rusage and child rusage values, only store their sum value in buildstats. This is a big reduction in data footprint without really losing any interesting data. Also, utilize OrderedDict to order data more logically. [YOCTO #10582] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2017-03-24oe-build-perf-test: pack all buildstat in one fileMarkus Lehtonen
Write out all buildstats into one big json file, instead of using multiple per-measurement files. Individual buildstats will be indexed using "<test_name>.<measurement_name>" as the key. Also, changes the per-testcase working directories into temporary directories that will be removed after test execution as there are no more per-testcase data files to store permanently. [YOCTO #10582] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
2017-03-22rpm: add a "rpm-build" PROVIDESAlexander Kanavin
rpm 5.x was packaging build tools separately, so we need to unbreak things that relied on that. [YOCTO #11167] Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22sign_rpm.bbclass: do not set/use RPM_GPG_PUBKEYAlexander Kanavin
This is entirely unnecessary (we can ask the signer backend to export the key to a file when needed), and was causing confusing selftest failures due to the variable being set from two different places. [YOCTO #11191] Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22oeqa: use WORKDIR/oe-testimage-repo to look for RPM packagesAlexander Kanavin
Using RPM deploy dir was causing errors when pre-built images were used with these steps: https://wiki.yoctoproject.org/wiki/Quality_Assurance_yocto_project [YOCTO #11173] Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22oe-selftest: add test_rawcopy_plugin test caseEd Bartosh
This test case builds wic image using rawcopy plugin running wic directly. [YOCTO #10618] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22selftest: pylinted wic test suite.Ed Bartosh
Fixed long lines, indentation and one unused variable. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22oe-selftest: test wic rawcopy pluginEd Bartosh
Added test_rawcopy_plugin_qemu test case and wks template. This test builds ext4 rootfs image, copies it to the root partition of the wic image using rawcopy plugin and boots wic image in qemu. [YOCTO #10618] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22sstate: Ensure installation directory is empty before executionRichard Purdie
When you enable the systemd DISTRO_FEATURE, opkg-native contains systemd units which have a relocation fixme list. When systemd isn't in DISTRO_FEATURES, there are no fixmes required. Unfortunately as sstate isn't cleaning up its installation directory before use, if you install the systemd version, then install the non-systemd version from sstate, it would leave behind the fixme file from the systemd version and breakage results as it would try and fixup files which don't exist. The solution is to ensure the unpack/install directory is clean before use. It does raise other questions about opkg-native, systemd and DISTRO_FEATURES but there is an underlying sstate issue here too which would cause missing file failures. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-21oeqa/selftest/devtool: Enable missing cleanupRichard Purdie
Not sure why this cleanup is disabled but it clearly should be running so enable it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-21externalsrc: Use git add -A for compatibility with all git versionsRichard Purdie
I've been debugging a selftest failure on Centos7. The problem turns out to be the elderly git version (1.8.3.1) on those systems. It means that the system doesn't correctly checksum changed files in the source tree, which in turn means do_compile fails to run and this leads to the following selftest failure: ====================================================================== FAIL [141.373s]: test_devtool_buildclean (oeqa.selftest.devtool.DevtoolTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/devtool.py", line 530, in test_devtool_buildclean assertFile(tempdir_mdadm, 'mdadm') File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/devtool.py", line 497, in assertFile self.assertTrue(os.path.exists(f), "%r does not exist" % f) AssertionError: False is not true : '/tmp/devtoolqag88s39z8/mdadm' does not exist The solution is to use -A on the git add commandline which matches the behaviour in git 2.0+ versions and resolves the problem. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-21wic: selftest: add tests for --fixed-size partition flagsMaciej Borzecki
wic has a new flag for setting a fixed parition size --fixed-size. Add tests that verify if partition is indeed sized properly and that errors are signaled when there is not enough space to fit partition data. Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21wic: selftest: do not assume bzImage kernel imageMaciej Borzecki
Instead of assuming that bzImage is available, query bitbake enviroment for KERNEL_IMAGETYPE. Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21wic: selftest: avoid COMPATIBLE_HOST issuesMaciej Borzecki
Wic tests will unconditionally attempt to build images that may require dependencies that are incompatible with current target. Resolve this by consulting HOST_ARCH first (which defaults to TARGET_ARCH) before proceeding to build images that may be incompatible. A convenience decorator only_for_arch() can be used to skip test cases for specific architectures. Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21selftest: wic: replace directdisk with wictestdisk where possibleMaciej Borzecki
Use wictestdisk instead of directdisk thus allowing more tests to be run on non-x86 compatible machines. Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21buildhistory.bbclass: add layer name to source recipe dataMikko Rapeli
It is useful to know which layer provided a given recipe and its binary packages. Many projects combine a number of layers and some of them also provide same recipe names in which case bitbake can prioritize between them. buildhistory can record the decision by saving the layer from where the recipe was taken from. Also, if a project is split to sub projects which maintain recipes in different meta layers, then meta layer specific summaries of e.g. disk usage can be calculated if source recipes meta layer name is recorded for example in buildhistory. If source layer is not in build history, then layer providing the recipe can be exported from build environment using 'bitbake-layers show-recipes', but it takes a long time to execute since all recipes are parsed again and requires full source tree with correct build configuration. This patch exports the name of layer as configured in BBFILE_COLLECTIONS append of its layer.conf. 'bitbake-layers show-recipes' exports the meta layers directory path name. For several open source layers these are different, e.g. meta-openembedded/meta-perl/conf/layer.conf is perl-layer, poky/meta/conf/layer.conf is core, poky/meta-skeleton/conf/layer.conf is skeleton etc. Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21ovmf: fix toolchain selectionPatrick Ohly
For the native tools, a static patch inserted gcc/g++/ld/ar while later adding BUILD_LDFLAGS and BUILD_CFLAGS with sed. Now it's all done with sed, which has the advantage that it uses the actual compile variables. However, in practice those are the same. More importantly, picking the build tools for the target was broken. ovmf-native tried to insert TARGET_PREFIX into the tools definition file, but that variable is empty in a native recipe. As a result, "gcc" was used instead of "${HOST_PREFIX}gcc", leading to an undesirable dependency on the host compiler and potentially (probably?!) causing some of the build issues that were seen for ovmf. The new approach is to override the tool selection in ovmf-native so that the HOST_PREFIX env variable is used, which then gets exported during do_compile for the target. While at it, Python code that gets appened to do_patch only to call shell functions gets replaced with the do_patch[postfuncs] mechanism. Incremental builds now always use the tools definition from the current ovmf-native; previously, only the initial build copied the template file. Probably the entire split into ovmf-native and ovmf could be removed. This merely hasn't been attempted yet. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21libcomps: Fix/optimize building with clangKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21go-native: Install bootstrap binaries with 1.4 suffixKhem Raj
Currently, bin/go and bin/gofmt collide between go-native and go-bootstrap-native packages, these are scripts anyway which call the go compiler proper from right install, in this case create go1.4 and gofmt1.4 names for these scripts to avoid namespace collision Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21acpitests: Point Makefile CC to use OE synthesized CCKhem Raj
Default CC is same as used here, there is no need to duplicate it, as a plus it helps in compiling acpitests with non-gcc cross compilers Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21openssl: Fix build with clangKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21oeqa/selftest: remove test_sanity_unsafe_binary_referencesRoss Burton
This test was attempting to exercise a broken test, for some reason this broke with patches under review but investigation revealed that the test itself is broken. The test has been removed, so there's no need to test it. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21insane: remove broken unsafe-references-in-binaries testRoss Burton
This test aims to detect binaries in /bin which link to libraries in /usr/lib, for the case where the user has /usr on a separate filesystem to /. However it doesn't scan both image/ and the sysroot, so if a binary in /bin links to a library in /usr/lib that was built by the same recipe then it will error out. This test isn't enabled by default, and because of this serious bug I suspect nobody else is enabling it either. As /usr being on a separate partition to / is a very rare configuration these days I think we should delete the test: if someone cares sufficiently they should write a test that actually works. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21package.bbclass: Add PRIVATE_LIBS to list of package specific variablesPeter Kjellerstedt
Changes to PRIVATE_LIBS should change the sstate checksum. To make that happen, it needs to be listed in the list of package specific variables, therefore add it. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21gpgme: Avoid requiring a host C++ compiler with C++11 supportPeter Kjellerstedt
Building the C++ bindings for native requires a host C++ compiler with C++11 support. Since these bindings are currently not needed, we can disable them and thus avoid increasing the requirement for the host C++ compiler. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21image-buildinfo.bbclass: configurable location for build filePatrick Ohly
In a stateless image, /etc is not a good place for the "build" file. By definining the location with a variable it becomes possible to have the file created elsewhere on a per-image basis. The default is the same as before. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21e2fsprogs: Fix wrong error code after optimizationDaniel Schultz
fsck.ext will return an error code of 1 if a file systems was checked and successfully repaired. Even when an optimization was performed it will return this error code. This patch will change the error code to 0 if only optimizations had changed the file systems. The reason for this patch is a question I asked at the ext4 ML: http://www.spinics.net/lists/linux-ext4/msg55700.html Backport from git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git Based on commit bf9f3b6d5b10d19218b4ed904c12b22e36ec57dd Signed-off-by: Daniel Schultz <d.schultz@phytec.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21python-3.3-multilib.patch: Fixes getpath on multilib configurationsJose Lamego
When using multilib configurations either on arm/arm64 and x86/x86-64 python3 failed to execute due to a failure when looking for its platform independent and dependent libraries. This patch fixes this issue by assigning lib_python to the appropriate macro. [YOCTO #10812] Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21oe-selftest: tinfoil: add tests for recently enabled datastore operationsPaul Eggleton
A recent patch to bitbake fixes these datastore operations so that they actually affect the server end, so we should test that they work. (For full disclosure, some of these tests would probably pass without those fixes, since the operation would be done on the client side instead - but we are at least exercising the code paths.) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21bitbake.conf: remove vi from HOSTTOOLS listbrian avery
Having changes the sdk test to cpio from cvs, we no longer require an editor to be present. This patch removes vi from the list of required tools. Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21meta/lib/oeqa: change sdk test from cvs to cpiobrian avery
We currently fetch,configure,build, and install cvs as our test for the sdk. cvs unfortunately, requires a default editor in order to run. The change in 94790a8254d6 that checks to see if you have something like vi installed is fragile since you may have a different default editor. This patch switches from using cvs as a test to using cpio. cpio also uses autotools so the functionality tested is equivalent. Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21rm_work.bbclass: re-enable recursive do_rm_work_allPatrick Ohly
When rewriting the do_rm_work injection, do_rm_work_all had been removed because it seemed obsolete, as do_build now always triggers do_rm_work. However, do_build does not get triggered for all recipes and thus do_rm_work was not called for recipes that got built only partially. For example, zlib depends indirectly on zlib-native:do_populate_sysroot. Because of that dependency, zlib-native got compiled, but do_rm_work was never called for it. Re-introducing do_rm_work_all fixes that by making do_build depend on do_rm_work_all, which then recursively depends on do_rm_work of all dependencies. This has the unintended side-effect that do_rm_work then also triggers additional work (like do_populate_lic) that normally doesn't need to be done for a build. This seems like the lesser evil, compared to an incomplete cleanup because it mostly enables the lighter tasks after do_populate_sysroot. The real solution would be to have two kinds of relationships: a weak ordering relationship ("if A and B are enabled, A must run before B, but B can also run without A") and hard dependencies ("B cannot run unless A has run before"). Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21image_types_wic.bbclass: tighten dependency to help do_rm_work_allPatrick Ohly
Depending on wic-tools:do_build pulls a lot of additional, indirect dependencies into the image sysroot during do_image_wic as soon as rm_work.bbclass is active, because then we have do_build->do_rm_work_all->[all dependencies]. One of those dependencies is libgcc-initial, which clashes with libgcc itself, leading to errors in extend_recipe_sysroot like this: Exception: FileExistsError: [Errno 17] File exists: '.../tmp/sysroots-components/corei7-64/glibc-initial/usr/include/fstab.h' -> '.../tmp/work/intel_corei7_64-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/include/fstab.h' As the image recipe only needs the sysroot of wic-tools and does not need to wait for the build of wic-tools to finish, depending on do_populate_sysroot is the better choice and happens to avoid the problem above. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21kernel-fitimage: dtb sections named by their filenames and one config ↵Florian Wickert
section for each dtb Before this, dtb sections were named by their position index in KERNEL_DEVICETREE. Also there was only one item in the config section, so only the first dtb was seen by the bootloader. This patch adds a config section for each dtb named by the dtb filename. This is what bootloaders usually know about the machine they run on. Signed-off-by: Florian Wickert <fw@javox-solutions.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21ltp: Fix __sighandler_t for mipsKhem Raj
mips definition of kernel_sigaction was added later and the patch did not apply to mips part which ended in ltp failing to compile on mips parts In file included from rt_sigaction01.c:42:0: ../../../../include/lapi/rt_sigaction.h:39:2: error: unknown type name '__sighandler_t' __sighandler_t k_sa_handler; ^~~~~~~~~~~~~~ Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21lsb: Make use of appropriate bitbake variables.Amarnath Valluri
Using of bitbake environment variables in-place of hardcoded strings makes this recipe portable to all environments. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21mdadm: Avoid using hardocded sbin pathAmarnath Valluri
Use appropriate bitbake variable inplace of hardcoded sbin path in Makefile Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21lttng-modules: Replace '/lib' with ${nonarch_base_libdir}Amarnath Valluri
Do not assume '/lib' for kernel modules location, instead use ${nonarch_base_libdir}. When 'usrmerge' is enabled, kernel modules are not located in /lib/modules, but /usr/lib/modules. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
2017-03-21net-tools: Place package content as per bitbake environment.Amarnath Valluri
net-tools Makefile was hardcoded sbin, bin installation paths to /bin and /sbin respectively. This change moves the installed files to appropriate location as per configured bitbake environment. This might be solved much better way by patching Makefile, but that causing build issues, as net-tools recipe is using pre-generated config.{h/status}. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
2017-03-21mktemp: Move installed files only when neededAmarnath Valluri
Move binary(ies) only when ${base_bindir} != ${bindir}. When usrmerge is enabled they both can point to same location. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
2017-03-21firmware: use ${nonarch_base_libdir} for firmware installation.Amarnath Valluri
Replace hardcoded '/lib' in kernel firmware installation path with ${nonarch_base_libdir}. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
2017-03-21kernel: use ${nonarch_base_libdir} for kernel modules installation.Amarnath Valluri
Replace hardcoded '/lib' in kernel modules installation path with ${nonarch_base_libdir}, which is meant exactly for this. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
2017-03-21util-linux,shadow: Make 'nologin' alternative commandAmarnath Valluri
Both shadow and util-linux packages provides 'nologin' binary in ${base_sbindir} and ${sbindir} respectively, this leads to conflict when 'usrmerge' feature is enabled, where ${sbindir} == ${base_sbindir}. Hance, handle this to alternative system to resolve the conflict. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
2017-03-21util-linux: Make sure '${base_bindir}/reset' is part of util-linux-reset ↵Amarnath Valluri
package. update-alternative.bbclass might rename the 'reset' binary when LINK_NAME == TARGET, This is true (${base_bindir} == ${bindir}) in 'usrmerge' distros. Hence, suffix with * to properly package the renamed binary. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
2017-03-21systemd: Do not add libnss_* to systemd packageAmarnath Valluri
libnss_* files should be part of corresponding sub-packages, the split happens by do_package_split(). By adding ${libdir}/libnss_* to FILES_${PN}, those files end up in the systemd package when ${libdir} == ${base_libdir}. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
2017-03-21attr/acl: Do not create broken static library link when not neededAmarnath Valluri
Stop creating the static library archive(liba(ttr|cl).a) when --disable-static configure option used. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
2017-03-21util-linux: Fix packaging with "usrmerge"Jussi Kukkonen
Make sure fsck.cramfs is packaged before fsck so the latter does not steal the fsck.cramfs binary when building with usrmerge. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
2017-03-21glibc: Ensure ldconfig is packaged into glibcJussi Kukkonen
If base_bindir=bindir, /usr/sbin/ldconfig gets packaged into glibc-utils instead of glibc: Switch PACKAGES order to prevent this. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
2017-03-21useradd-staticids.bbclass: Always fail/warn for missing IDsPeter Kjellerstedt
Previously, with USERADD_ERROR_DYNAMIC set to error/warn, if a static UID/GID was specified in the recipe, then no error/warning would be issued even if no ID was specified in the passwd/groups files. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-21useradd-staticids.bbclass: Support recipes specifying static IDsPeter Kjellerstedt
If this bbclass is used and a recipe specifies a static ID for a user/group as part of the USERADD_PARAM_${PN} or GROUPADD_PARAM_${PN}, the build would fail with and error like this if there was no corresponding ID in the passwd/group files specified via USERADD_UID_TABLES/USERADD_GID_TABLES: ERROR: meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb: meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb inherits useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or GROUPMEMS_PARAM for package postgresql Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>