summaryrefslogtreecommitdiffstats
path: root/meta/lib
AgeCommit message (Collapse)Author
2016-03-28selftest/devtool: Update after make PROVIDER changesRichard Purdie
Now that make/remake needs a PREFERRED_PROVIDER, we need to set this correctly during tests. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25lib/oe/qa: add method to check if static or dynamic linkedRoss Burton
It's useful to know if a binary is statically or dynamically linked, so add a method to determine this. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-23selftest/signing.py: RPM_GPG_PASSPHRASE_FILE -> RPM_GPG_PASSPHRASERobert Yang
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-23gpg_sign.py: get rid of pexpectRobert Yang
The python-expect is not installed on the distro such as Ubuntu by default, and we can get rid of it. Use RPM_GPG_PASSPHRASE to replace of RPM_GPG_PASSPHRASE_FILE which is more straightforward. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-23devtool: add: create git repository if URL specified as positional argumentPaul Eggleton
When we add from a fetched URL we are supposed to turn the resulting source tree into a git repository (if it isn't already one). However, we were using the older deprecated option name here instead of the positional argument, so "devtool add -f <url>" resulted in the repo being created but "devtool add <url>" didn't, which was wrong. Also update the oe-selftest tests to check that this worked. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-22parselogs: add new whitelist entries to address 4.4.3 issuesSaul Wold
Adds intel-corei7-64 with x86-common, this makes the x86-common whitelist available for intel-corei7-64 bsp also. [YOCTO #9179] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-20parselogs: add new whitelist entries to address 4.4.3 issuesSaul Wold
This message appears on older hardware and is a benign warning [YOCTO #9179] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20oeqa: remove RPM 4 self testJoshua Lock
We're dropping RPM 4 as it's not well maintained, therefore remove a selftest which tests RPM 4 availability. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20lib/package_manager: remove RPM4 support codeJoshua Lock
Simplify the RPM code by removing support for RPM 4 now that we've dropped the RPM 4 recipe. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20oeqa/selftest/buildoptions: test read-only-rootfsRoss Burton
Add a test to build core-image-sato with read-only-rootfs enabled. [ YOCTO #9214 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20oeqa/selftest/sstatetests: verify more variables don't impact the hashRoss Burton
Add DL_DIR and TIME to the hash tests. We can't add DATE for some reason. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20selftest/buildoptions: Renamed one test caseDaniel Istrate
'test_layer_git_revisions_are_displayed_and_do_not_fail_without_git_repo' was renamed to 'test_layer_without_git_dir' which is shorter. fix for [YOCTO #9243] Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20oeqa/utils/testexport.py: add functionality for exporting binariesCostin Constantin
This new file is encapsulating functionality for both running tests with binaries support via TestNeedsBin() decorator and exporting these binaries via testimage.bbclass file. Addresses [YOCTO #7850], [YOCTO #8478], [YOCTO #8481], [YOCTO #8536], [YOCTO #8694]. Signed-off-by: Costin Constantin <costin.c.constantin@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20Revert "selftest: Added MACHINE = "qemux86" to tests that use runqemu"Paul Eggleton
This is not the correct way to handle this - it significantly increases the time taken to run oe-selftest anywhere MACHINE is set to some other value (for example "qemux86-64"), because all of the artifacts for qemux86 need to then be built as well when running the test. If we need to skip these tests on non-QEMU machines, the devtool test already demonstrates how to do that. This reverts commit 169e1eaa4fc5ed03e2307b68686a7f5b1db37a36. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20recipetool: create: don't create extra files directory unconditionallyPaul Eggleton
The extra directory next to the recipe should only be created if there are files to put into it; currently only the npm plugin does this. I didn't notice the issue earlier because the test was actually able to succeed under these circumstances if the recipe file came first in the directory listing, which was a fault in my original oe-selftest test; apparently on some YP autobuilder machines the order came out reversed. With this change we can put the oe-selftest test that highlighted the issue back to the way it was, with an extra check to reinforce that only a single file should be created. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-13oeqa/selftest/recipetool: Fix test_recipetool_create_simpleRichard Purdie
Correctly handle the any other files/directories that may exist during the test. ====================================================================== FAIL: test_recipetool_create_simple (oeqa.selftest.recipetool.RecipetoolTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/utils/decorators.py", line 106, in wrapped_f return func(*args, **kwargs) File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/recipetool.py", line 414, in test_recipetool_create_simple self.fail('recipetool did not create recipe file; output:\n%s\ndirlist:\n%s' % (result.output, str(dirlist))) AssertionError: recipetool did not create recipe file; output: NOTE: Fetching http://www.dest-unreach.org/socat/download/socat-1.7.3.0.tar.bz2... NOTE: Unpacking /srv/www/vhosts/autobuilder.yoctoproject.org/current_sources/socat-1.7.3.0.tar.bz2 to /tmp/recipetool-Uj7MIh/ NOTE: Recipe /tmp/recipetoolqaebTo9s/recipe/socat_1.7.3.0.bb has been created; further editing may be required to make it fully functional dirlist: ['socat', 'socat_1.7.3.0.bb'] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-13oeqa/recipetool: Fix syntax errorRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12oeqa/recipetool: Improve debugging output by adding dirlistRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12package_manager.py: Fix race condition in OpkgIndexer.write_index()Mariano Lopez
When writing the index using ipk packages there could be a race condition when populate the index. This happens because the architectures are repeated (specially all) and the commands generated to write the index run in parallel. This change avoid the duplication of commands using a set instead of a list. [YOCTO #8924] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-11sign_package_feed: add feed signature typeIoan-Adrian Ratiu
Signing package feeds will default to ascii armored signatures (ASC) the other option being binary (BIN). This is for both rpm and ipk backends. Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-11package_manager: sign IPK package feedsIoan-Adrian Ratiu
Create gpg signed ipk package feeds using the gpg backend if configured Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-11gpg_sign: export_pubkey: add signature type supportIoan-Adrian Ratiu
Add support for multiple types of signatures (binary or ascii) in export_pubkey(). There is no change in behaviour for the function, the previous implicit default is the new parameter "armor" default. Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-11gpg_sign: detach_sign: fix gpg > 2.1 STDIN file descriptorIoan-Adrian Ratiu
Starting from v2.1 passing passwords directly to gpg does not work anymore [1], instead a loopback interface must be used otherwise gpg >2.1 will error out with: "gpg: signing failed: Inappropriate ioctl for device" gpg <2.1 does not work with the new --pinentry-mode arg and gives an invalid option error, so we detect what is the running version of gpg and pass it accordingly. [1] https://wiki.archlinux.org/index.php/GnuPG#Unattended_passphrase Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-11gpg_sign: add local ipk package signing functionalityIoan-Adrian Ratiu
Implement ipk signing inside the sign_ipk bbclass using the gpg_sign module and configure signing similar to how rpm does it. sign_ipk uses gpg_sign's detach_sign because its functionality is identical to package feed signing. IPK signing process is a bit different from rpm: - Signatures are stored outside ipk files; opkg connects to a feed server and downloads them to verify a package. - Signatures are of two types (both supported by opkg): binary or ascii armoured. By default we sign using ascii armoured. - Public keys are stored on targets to verify ipks using the opkg-keyrings recipe. Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-11selftest/bblayers.py: Remove harcoded recipe filesMariano Lopez
Currently the recipe files are hardcoded and if the recipe change the version, the test will fail. This will change from using a harcoded file to look for the file using bitbake-layers. Now, just the recipe name must be specified. Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-11selftest/prservice.py: Sanitize package version when looking for stampMariano Lopez
Currently when using a git version the check for the stamp, using regex, will fail because of plus sign in the version. With this change the version is escaped before adding it to the regex. Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-09recipetool: create: split npm module dependencies into packagesPaul Eggleton
Rather than rolling all of an npm module's dependencies into the same package, split them into one module per package, setting the SUMMARY and PKGV values from the package.json file for each package. Additionally, mark each package with the appropriate license using the license scanning we already do, falling back to the license stated in the package.json file for the module if unknown. All of this is mostly in aid of ensuring all modules and their licenses now show up in the manifests for the image. Additionally we set the main LICENSE value more concretely once we've calculated the per-package licenses, since we have more information at that point. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09lib/sstatesig: skip shared_workdir when checking locked sigsJoshua Lock
do_shared_workdir is not a proper sstate task, it always reruns if needed, so special-case it in warnings when checking locked sigs. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09rpm: Uprev to rpm-5.4.16 (pre) and rpm-5.4+cvs to current CVS headMark Hatle
meta/lib/oe/package_manager.py was also updated. This ensures that any diagnostic messages are ignored from the output of rpmresolve. The patches have been split into bug fixes (things that belong upstream) and local changes that are OE specific. The following patches are obsolete and have been removed: rpm-remove-sykcparse-decl.patch fstack-protector-configure-check.patch rpm-disable-Wno-override-init.patch rpm-lua-fix-print.patch rpm-rpmpgp-fix.patch verify-fix-broken-logic-for-ghost-avoidance-Mark-Hat.patch Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2016-03-09oeqa/selftest/buildoptions: Test build does not fail without git revDaniel Istrate
Test that layer git revisions are displayed and do not fail without git repository. fix for [YOCTO #8852] Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-06insane/prelink: Handle nonstandard library pathsRichard Purdie
Prelink contains some hardcoded assumptions about the path layout of the target system. Unfortunately if the system doesn't match, prelink doesn't work. This breaks: a) prelink of those images b) the unsafe-references-in-binaries QA test (which uses prelink-rtld) One way to work around this is to construct an ld.so.conf file which lists the library paths in question. We do this in sanity QA check and in the rootfs prelink code, being careful not to trample any existing target ld.so.conf. There is an additional problem that $LIB references in RPATHs won't be handled correctly, I've not see any system use these in reality though so this change at least improves things. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-04devtool: add build-sdk subcommandPaul Eggleton
Add a build-sdk command which is only available within the extensible SDK that builds a derivative extensible SDK. The idea is recipes in the workspace become a part of the new SDK - for example, this allows taking a vendor provided SDK, adding a few libs and then producing a new SDK with those included. When normally building the extensible SDK, the workspace is excluded; here we need to copy into the new SDK (renaming it in the process); the recipes' task signatures become locked and thus the sources are no longer needed, so they are removed along with the workspace bbappends which would interfere with the locked signatures. Additionally we need to just copy the configuration files (i.e. local.conf and auto.conf) rather than filtering and appending to them since that work has already been done when constructing the original SDK. The extra sstate artifacts from workspace recipes are also determined and copied into the new SDK in minimal mode (on the assumption that you won't set up a new sstate mirror). This reuses some code from build-image, so that needed to be generalised to allow that. Implements [YOCTO #8892]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-04oeqa/buildoptions: Improve unsafe references testsRichard Purdie
Fixing one of the recipes not to contain unsafe references to paths results in this QA test failing. Improve the test so that we test the recipe works, then if we intentionally break the recipe, the issue is detected. Also split out the binaries test from the scripts test. The binaries issue may also get 'fixed' in future and need the same fix. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-03sdk_update.py: Enable local sdk-update testsJuro Bystricky
Testing of local sdk updates was commented out. Local sdk updates are functional now, so the tests should be re-enabled. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28oeqa/sdkext: Add sdk_update.SDKUpdateTest class.Aníbal Limón
The SDKUpdateTest class test devtool sdk-update mechanism inside eSDK. The SDKUpdateTest class search for new sdk if not found uses the main one then it publish the eSDK into known folder inside work and it starts a web server for serve the eSDK. Finally it executes sdk-update over http, the local test is commented due to bug [1]. [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=9043 [YOCTO #9089] Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28classes/testsdk: Pass tcname to SDK and SDKExt contextsAníbal Limón
tcname is needed for eSDK update testcase will be used for publish it and then try to update Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28classes/testsdk: Move the removal of bitbake PATH to eSDK context onlyAníbal Limón
The removal of bitbake and scripts PATH is only needed by eSDK tests so move to eSDK context only. This also it's a support for eSDK update test because it needs to execute oe-publish-sdk from scripts. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28classes/testsdk: Move code for avoid PATHs to oeqa.utilsAníbal Limón
Due to the neeed to use in other modules. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28oe-selftest: devtool: add an additional test for devtool upgradePaul Eggleton
Add a test for devtool upgrade with a recipe pointing to a git repository, since this uses several different code paths. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28oe-selftest: devtool: rework devtool upgrade testPaul Eggleton
* Use a more real-world test of a recipe pointing to a remote file * The cleanup tracking / teardown commands need to be added towards the top, or they won't have the desired effect of cleaning up if the test fails. * Check that a versioned subdirectory gets renamed to match the new version * Ensure the recipe contents gets changed as we expect it to * Check that the recipe directory is deleted by devtool reset at the end Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28lib/oe/qa: add explicit exception for 'file isn't an ELF'Ross Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28oeqa/parselogs: Updated whitelistCristina Agurida
Moved an error to common, and whitelisted the BAR errors and ati module. Also the uvesafb related errors will be ignored in LSB images which do not have graphic interface. Fix for [YOCTO #8387] Fix for [YOCTO #8590] Fix for [YOCTO #6820] Fix for [YOCTO #7897] Signed-off-by: Lucian Musat <george.l.musat at intel.com> Signed-off-by: Cristina Agurida <cristina-danielax.agurida@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28oeqa/selftest/prservice: Added new TC: check pr-server starts and stop ↵Francisco Pedraza
correctly on localhost. This test case validates if prservice start and stop properly the server. Using bitbake commands also validates the exit status. [YOCTO #8258] Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28oeqa/utils: added new network moduleFrancisco Pedraza
A network module was added, and will contain network utility funcions for now. with get_free_port that returns available network port in the system. Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28oeqa/selftest/signing: Added test for locked signaturesDaniel Istrate
fix for [YOCTO #8706] Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-26signing-keys: Make signing keys the only publisher of keysRandy Witt
Previously the keys were put into the os-release package. The package indexing code was also deploying the keys rather than only using the keys. This change makes signing-keys.bb the only publisher of the keys and also uses standard tasks that already have sstate. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-26oeqa/selftest/buildoptions: build -minimal instead of -sato imagesRoss Burton
When checking enabling buildhistory doesn't change anything but rootfs stamps, just build core-image-minimal instead of -sato to reduce the time this test takes. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18oe/gpg_sign: add 'passphrase' argument to detach_sign methodMarkus Lehtonen
This allows directly giving the passphrase, instead of reading from a file. [YOCTO #9006] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18sign_rpm.bbclass: do not store key details in signer instanceMarkus Lehtonen
Refactor the LocalSigner class. Do not store keyid or passphrase file in the signer object as they are only needed for some of the methods. For example, the newly added verify() method does not need any key parameters and export_pubkey only uses keyid. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18oe/gpg_sign: add 'armor' argument to detach_sign()Markus Lehtonen
[YOCTO #9006] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>