Commit Graph

479 Commits

Author SHA1 Message Date
Pascal Bach c97194b0b1 image.py: Fix error in graph sorting
The graph sorting algorithm for image dependencies does a look for an
occurrence of a searched string instead of comparing the chunk to the
searched string. This leads to the problem that ubifs is recognized as ubi aswell.

This fixes this by splitting up the string into chunks.

(From OE-Core rev: cec9725c540c2d54c27092e40d159694cea75b5f)

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:22 +00:00
Chong Lu d7cb96f28d python-smartpm: Add checking for "rpm-ignoresize" option
The do_rootfs takes a very long time when build host has mounted many NFS
devices. syscall lstat() was being called on every filesystem mounted on the
build host during building.
The reason for the lstat() is that rpm is verifying that enough free disk space
is available to do the install. However, since the install is into the target
rootfs it should not matter how much free space there is in the host mounts.
Add checking for "rpm-ignoresize", by it, smart can make whether RPM skip
checking for diskspace when install a rpm package.

(From OE-Core rev: fc0668a019eca422540ceab3efcd2b2a27dd79e0)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:14 +01:00
Hongxu Jia ea8a7c5d34 sdk.py: fix write target sdk manifest failed based on ipk
bitbake meta-toolchain
ls tmp/deploy/sdk/poky-glibc-x86_64-meta-toolchain-i586-toolchain-1.7.manifest -al
...
|-rw-rw-r-- 1 root root 0 Oct 10 15:05 tmp/deploy/sdk/poky-glibc-x86_64-
meta-toolchain-i586-toolchain-1.7.manifest
...

The manifest is empty, the reason is target's ipk config path is
d.getVar('IPKGCONF_TARGET') rather than d.getVar('IPKGCONF_Target')

(From OE-Core rev: 81b3cc448f040dcb4c2f2b05983231ac53270663)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-10 16:44:33 +01:00
Richard Purdie 54a755bbb5 oeqa/dmesg: Whitelist usbhid failures
We fixed these in parselog but not here. This test really can just be
deleted now really.

(From OE-Core rev: c598dbdbaebf95cc26e95138b4c3fcb15af67a88)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-02 10:58:24 +01:00
Richard Purdie 399192d156 oeqa/parselogs: Ignore qemu usbhid errors
These are harmless from the USB pointer device we install, ignore them.

(From OE-Core rev: f5bdf41e78ff378fe23d8ba1543917bc64def62f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-02 00:42:44 +01:00
Anibal Limon c34775f886 deb_packaging: Added support for multilib
The Package Manager implementation for deb didn't
take a look about multilib enabled variants.

Changes are made for generate apt.conf, sources.list and
debian repo index Release and Packages files.

[YOCTO #1502]

(From OE-Core rev: b5fb879b351cc23977f3e441f758101551297566)

Signed-off-by: Anibal Limon <anibal.ezau.limon.belmares@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-30 14:33:31 +01:00
Hongxu Jia 3b92eb93ee rootfs.py: catch inner warn message
Package managements (smart/apt-get/opkg-cl) generate some warn messages
to stdout, and we need to catch them and output by bb.warn.

Here is an example, while invoking smart to attempt install doc packages,
if install failed, it generates warn message to stdout.
...
|warning: Can't install util-linux-doc-2.24.2-r1@i586: Can't
install util-linux-doc-2.24.2-r1@i586: no package provides info
...

The fix catches it and outputs:
...
|WARNING: log_check: There is a warn message in the logfile
|WARNING: log_check: Matched keyword: [warn]
|WARNING: log_check: warning: Can't install util-linux-doc-2.24.2-r1@
i586: Can't install util-linux-doc-2.24.2-r1@i586: no package provides
info
...

(From OE-Core rev: f8d725f49f2be4b854f523a5ee3a5c4357e67e30)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-30 14:10:34 +01:00
Lucian Musat 576cb358d7 oeqa/utils: Added filter to LogResults decorator to enforce custom log level.
(From OE-Core rev: 65c97d4abd26f38917cd89b5f50f7299221b2123)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-29 12:12:44 +01:00
Lucian Musat 05fabfca18 oeqa/selftest: Added decorators to buildoptions.py
(From OE-Core rev: ea393e90055ea13b0c5a6950dbd388e826a66623)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-22 13:04:23 +01:00
Hongxu Jia 280b6d0011 sstatesig: fix overrides behaviour to remove SIGGEN_LOCKEDSIGS_i586
Require a sig file which SIGGEN_LOCKEDSIGS_i586 is not null, but
the actual SIGGEN_LOCKEDSIGS_i586 is null.
Invoking 'bitbake -e' and we got:
...
 3935 # $SIGGEN_LOCKEDSIGS_i586 [2 operations]
 3936 #   set /path/to/locked-sigs.inc:8576
 3938 #   del data_smart.py:406 [finalize]
 3939 #     ""
...

It was caused by the following commit:
...
(Bitbake rev: 899d45b90061eb3cf3e71029072eee42cd80930c)
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Tue May 31 23:52:50 2011 +0100

    bitbake/data_smart: Change overrides behaviour to remove expanded
      variables from the datastore
...

We add prefix 't-' to type to workaround the overrides behaviour.

(From OE-Core rev: f6a39cc957bf85ff43513f0b76afc3b2c9c906b6)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-17 22:00:26 +01:00
Randy Witt f9723a36d7 sstatesig.py: Replace '_'s with '-'s in SSTATE_LOCKEDSIGS* names.
Using underscores in the "types" parts of the variable names can cause
unexpected issues with overrides. For example, if you have both
SSTATE_LOCKEDSIGS_x86_64 and SSTATE_LOCKEDSIGS_x86_64_i586, and i586
is in OVERRIDES, then you lose all of the contents in
SSTATE_LOCKEDSIGS_x86_64 and thus don't get some of the locked sstate.

Using '-'s in the variable names instead, eliminates these issues.

(From OE-Core rev: 6662c412a949a9f6b602c848e6303b19db7e5272)

(From OE-Core rev: 65f558a6f762fb13224091dc22903b58eeb9b392)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-17 22:00:26 +01:00
Hongxu Jia abf0e7e53f sstatesig: Improve the support for locked down sstate cache usage
Add code in the sstate hash validation code to ensure it really did
install these from sstate since if it didn't should to warn/abort
the build. The judgment condition is:
1) If a build is replaced by locked sstate-cache, it will triger a
   warn/error;
2) If objects are not used from the locked cache, it will triger a
   warn/error;
3) Use SIGGEN_LOCKEDSIGS_CHECK_LEVEL variable controls whether this
   is just a warning or a fatal error or nothing to report.

[YOCTO #6639]

(From OE-Core rev: 305912dce61c4fed0cbf631aa98a9e6f29db88e4)

(From OE-Core rev: 1683815695f39d4bad352348913f927ac8a1bcf5)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-17 22:00:25 +01:00
Richard Purdie a08d7dc9b2 sstatesig: Improve to handle locking of multiple machines
Instead of a single monolithic SIGGEN_LOCKEDSIGS, split this into
separate variables, one per sstate package architecture. Add in
a new SIGGEN_LOCKEDSIGS_TYPES variable which lists the package
architectures to load in.

SIGGEN_LOCKEDSIGS_TYPES is made machine specific using overrides.

Also sort the hashes in the lists by PN to make diffing them easier.

(From OE-Core rev: d8b0ce35981931a39e7db9d8e78de6e009b34688)

(From OE-Core rev: b42f305ce38b9e0f1a2b7cb9586bbabcd2d27429)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-17 22:00:25 +01:00
Richard Purdie c5cc4993f0 sstatesig/sstate: Add support for locked down sstate cache usage
I've been giving things some thought, specifically why sstate doesn't
get used more and why we have people requesting external toolchains. I'm
guessing the issue is that people don't like how often sstate can change
and the lack of an easy way to lock it down.

Locking it down is actually quite easy so patch implements some basics
of how you can do this (for example to a specific toolchain). With an
addition like this to local.conf (or wherever):

SIGGEN_LOCKEDSIGS = "\
gcc-cross:do_populate_sysroot:a8d91b35b98e1494957a2ddaf4598956 \
eglibc:do_populate_sysroot:13e8c68553dc61f9d67564f13b9b2d67 \
eglibc:do_packagedata:bfca0db1782c719d373f8636282596ee \
gcc-cross:do_packagedata:4b601ff4f67601395ee49c46701122f6 \
"

the code at the end of the email will force the hashes to those values
for the recipes mentioned. The system would then find and use those
specific objects from the sstate cache instead of trying to build
anything.

Obviously this is a little simplistic, you might need to put an override
against this to only apply those revisions for a specific architecture
for example. You'd also probably want to put code in the sstate hash
validation code to ensure it really did install these from sstate since
if it didn't you'd want to abort the build.

This patch also implements support to add to bitbake -S which dumps the
locked sstate checksums for each task into a ready prepared include file
locked-sigs.inc (currently placed into cwd). There is a function,
bb.parse.siggen.dump_lockedsigs() which can be called to trigger the
same functionality from task space.

A warning is added to sstate.bbclass through a call back into the siggen
class to warn if objects are not used from the locked cache. The
SIGGEN_ENFORCE_LOCKEDSIGS variable controls whether this is just a warning
or a fatal error.

A script is provided to generate sstate directory from a locked-sigs file.

(From OE-Core rev: 7e14784f2493a19c6bfe3ec3f05a5cf9797a2f22)

(From OE-Core rev: 884d4fa3e77cf32836f14a113c11489076f4a84d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-17 22:00:25 +01:00
Lucian Musat 7c16a538bc oeqa/runtime: Automatic test for ptest
For images without ptest the packages are automatically installed alongside ptest-runner. Log results are saved in ./results folder.
No cleanup is done for packages after the test is finished.

(From OE-Core rev: f8e99fa8baa020c6414da19428b73c1fd30c9523)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 15:38:56 +01:00
Lucian Musat 0a39472d19 oeqa/utils/logparser.py: results based log parser utility
A module for parsing results based logs like ptest, compliance and performance.
Supports breaking the logs into multiple sections and also provides a result object to use the parser with.
The parser is initialized with the regex required to identify results and section statements in the target log file.

(From OE-Core rev: 72308d030fc98982e88b121b052cd2438f6b031c)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 15:38:56 +01:00
Lucian Musat 1f5186efbf oeqa: Added package installer to oetest to aid in future automatic install of packages
(From OE-Core rev: e0af8a3c751f938faf7deb60b51f42450ae58e27)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 15:38:56 +01:00
Robert Yang d06839e7dd package_manager.py: use RPM_PREFER_ELF_ARCH
Use RPM_PREFER_ELF_ARCH to instead of RPM_PREFER_COLOR as rpm upstream
suggested, and use "4" to instead of "3" since it is a bit mask (not
enumeration), so we need "4" here.

(From OE-Core rev: 8dcfa7143a6690455c3bd5772621f142f2d9e559)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 11:33:22 +01:00
Kévin THIERRY e7a78bdc97 package_manager: RpmPkgsList: determine rpm version
Do not set the rpm_version to 5 if it is not provided, instead
determine the real rpm version.

(From OE-Core rev: 48beaee2e5b2b4ae35c596c19f8a38e0ff4427e9)

(From OE-Core rev: fe4ad726d0dc63be73f885598e216b8eb927668a)

Signed-off-by: Kévin THIERRY <kevin.thierry@open.eurogiciel.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 11:33:22 +01:00
Richard Purdie 45907b6d7f package_manager: Add rpm v4 support
Currently the package manager code only supports rpm v5. To be useful outside
of OE or with OE layers using v4, it makes sense to add in rpm v4 support. This
takes a patch from "Bartosh, Eduard" <eduard.bartosh@intel.com> and enhances
it to also include versions of the workarounds from poky-eurogiciel to
allow rpm v4 usage with the class for image construction.

(From OE-Core rev: fe21804c296bbb8b2b8b0c29e6e4890bc17f07fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-03 11:09:03 +01:00
Khem Raj 573b7436ac oeqa: sstatetests should now look for glibc-initial
(From OE-Core rev: ddc8e7394051c6a2a9cfdab6a9cd39699b7d61a7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01 18:03:04 +01:00
Ed Bartosh cc0a0614e8 package_manager.py: enable smart non-interactive mode
Added --quiet option to smart command line.
Without this option smart 1.4.1 turns into interactive mode, i.e.
start asking questions and expecting answers.

Internally within smart, this changes the default UI to one which
just prints to stderr, the naming of the parameter is a little
odd but does what we need.

(From OE-Core rev: 7a8d88b73d35ac86198a1092c49b33c378416a03)

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-31 23:40:47 +01:00
Peter Kjellerstedt 3b47aa11c2 lib/oe/utils: Make multiprocess_exec() return anything
The variable "results" was accidentally used for multiple different
things at the same time, which unintentionally discarded anything that
was supposed to be returned from the function...

(From OE-Core rev: abf4eb613eba0892a5f240de7aa3a9a1b2879354)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 23:44:37 +01:00
Richard Purdie 91375aff99 oeqa: xorg log test is being replaced by parselogs so remove
Now we have the parselogs test, this one can be removed.

(From OE-Core rev: 7977a3c28677d9a248059b0be230f345227e798a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 23:44:37 +01:00
Richard Purdie 09296cd292 oeqa/pasrselogs: Improve the machine/string whitelist
Currently the whitelist is imcomplete, inaccurate and suffers duplication.

These changes:
 * Add common groups of errors
 * Change to make the default whitelist clear
 * Correctly (or at least better) escape the regexp expressions
 * Add in missing machines to allow builds on the autobuilder to suceed

(From OE-Core rev: 620aa5f9022335a9166b4d47bdcdce611ff5466a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 23:44:37 +01:00
Lucian Musat c730c94a21 oeqa/runtime: Automatic test for parsing the logs on a machine and search for certain error keywords.
This adds a common new qa test for general processing of log files. One
significant improvement is machine dependent ignore filters.

This can be used to replace several weaker individual QA tests
that are currently used.

(From OE-Core rev: a14d076a401397b6773d5d1b99e49126261f1eb4)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29 23:44:37 +01:00
Corneliu Stoicescu 61e3e41ad2 oeqa/sdk/buildsudoku.py: add setUpModule method to run only when gtk+ in installed.
Adding setUpModule in order to skip the module when gtk+ is not installed in the toolchain.

(From OE-Core rev: 97ac0fc33b9277825089ac36f9037d472d397b71)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-27 12:12:31 +01:00
Corneliu Stoicescu e2b4dde94c oeqa/oetest.py: enable sdk tests to use hasFeature and hasPackage methods.
In order to use the hasFeature and hasPackage methods, we need to make oeSDKTest extend oeTest and also set the test context (tc) attribute in the oeTest class when loading the tests.

(From OE-Core rev: 54436aeed5ac5e0da0779919f8524a0603e19c6a)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-27 12:12:31 +01:00
Richard Purdie c490ba0a93 sstatesig: Only squash dependencies for allarch packagegroups
The idea of squashing packagegroup dependencies was to avoid allarch
packages rebuilding upon tune/arch changes. Now that the allarch class
inclusion is conditional, we can narrow down the packagegroup squashing
to be specifically applied to allarch recipes.

(From OE-Core rev: bd8018792155ae842952432900c8431feeaffe30)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-25 08:57:44 +01:00
Richard Purdie be1b198076 lib/oe/utils: Add utils function for multiprocess execution
Our usage of multitprocessing is problematic. In particular, there is a bug
in python 2.7 multiprocessing where signals are not handled until command
completion instead of immediately.

This factors the multiprocess code into a function which is enhanced with
a workaround to ensure immediate signal handling and also better SIGINT
handling which should happen in the parent, not the children to ensure
clean exits. The workaround for the signals is being added to the core
bb.utils function so it can benefit all users.

package_manager is then converted to use the new code.

(From OE-Core rev: 72d153a3a90d31d9f4e41d77da24e44ccb33c56e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:31:41 +01:00
Richard Purdie f4786027ba oeqa/utils/httpserver: Reset SIGTERM handler
With bitbake-worker installing a SIGTERM handler, we now need to reset the one here
to ensure that when this process shuts down, it doesn't take the rest of the task
with it. This does appear to be the only place in OE that we have this problem.

(From OE-Core rev: e1ac67d6470dde70239ca0430b18ca0bffbc0295)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:31:41 +01:00
Corneliu Stoicescu abb7f5bbcc oeqa/sdk/: add sdk tests for sudoku, iptables and cvs
Add test modules for sdk tests.

NOTE: Original patch made by: Richard Purdie <richard.purdie@linuxfoundation.org>

(From OE-Core rev: 1b18a33b1053902faaa5cb242d4c1c7d1fb6b064)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-18 08:55:54 +01:00
Corneliu Stoicescu fec293be3a oeqa/utils/targetbuild.py: add support for sdk tests
- Create new abstract class BuildProject that provides basic functionality for a project/package building class
        * contains abstract method _run() that needs to be implemented by all extending classes.
- The old TargetBuildProject class now extends the abstract BuildProjct class
- Introducing new SDKBuildProject that extends the abstract BuildProjct class

NOTE: Original patch made by: Richard Purdie <richard.purdie@linuxfoundation.org>

(From OE-Core rev: bc8824fd361dbff96f5b5316ddfda36e96e8ea9b)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-18 08:55:54 +01:00
Corneliu Stoicescu 2999a7f684 oeqa/oetest.py: enable sdk testing
- add support for sdk tests in the loadTests and runTests methods
- add new oeSDKTest test object

NOTE: Original patch made by: Richard Purdie <richard.purdie@linuxfoundation.org>

(From OE-Core rev: 6c147e5c82b39773e135ca828b37905cbb31be3b)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-18 08:55:54 +01:00
Christopher Larson d7fea14b1f oe.package_manager: fix use of PACKAGE_EXCLUDE for dpkg
It was iterating over the variable character-by-character rather than
word-by-word.

(From OE-Core rev: 207f2cc0b0fc53b22e1dedfa26905ab143fb0de6)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 17:43:44 +01:00
Corneliu Stoicescu fe5b333e1a oeqa/runtime: add new cpp test and file
This tests out the limits header which we've noticed does have problems in
some SDK builds.

(From OE-Core rev: 63cbed337241191f33fe951662a39ce59dce6774)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 12:30:52 +01:00
Tyler Hall 92785a1a96 lib/oeqa/selftest: Don't match log level in output
To facilitate changing the log level of the "Fetcher failure" message,
search only for the message without the "Error:" prefix.

(From OE-Core rev: 947e6f9005abc71f499f23a4dd3a5a9f8386a369)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-11 12:30:52 +01:00
Robert Yang a9c8767a17 package_manager.py: set preferred ABI for rpm
When using the RPM packaging backend to generate a rootfs there needs to
be a way to configure the preferred ABI to resolve ELF file conflicts.

Currently RPM resolves ELF file conflicts with the last-installed wins.
Using SMART it's difficult to know what the last installed will be.

There are three specific policies that can be selected:
1: ELF32 wins
2: ELF64 wins
3: ELF64 N32 wins (mips64 or mips64el only)

Another option "0" is uncontrollable, which means that if two are being
installed at once Elf64 is preferred, but if they're being installed in
two different transactions, last in wins, so we don't document it.

Add RPM_PREFER_COLOR to let the user config the preferred ABI.

[YOCTO #4073]

(From OE-Core rev: f56d7be2c35cedcd763ba66913982aa4c425d561)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:26:16 +01:00
Corneliu Stoicescu c02d6b4c8d oeqa/utils/decorators.py: add import os
An 'import os' was omitted here while testing the previous decorators using runtime tests that import the os module before this one. Unfortunately oe-selftest fails because of this missing import.

(From OE-Core rev: 5381e6cf6bf7143074800b2949bfa5331fdb6d47)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02 09:26:15 +01:00
Corneliu Stoicescu d738109415 selftest/buildoptions.py: fix QA_WARN test and add more output when failing
The -ccleansstate should be done before building the package for the second time.
Also printing the command output when failing.

(From OE-Core rev: 15e5661d6341004ebc4d3492acb48f73dd86b96e)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-29 09:58:27 +01:00
Richard Purdie addeef1dc9 lib/oe/rootfs: Improve error message whitespace
[YOCTO #6493]

(From OE-Core rev: 91ca6b1b2e009381d8e813906654c0958eee7efc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-28 12:21:24 +01:00
Richard Purdie 14a7cde49f lib/oeqa: Fix accidental revert of code
(From OE-Core rev: 188545ba82119d75f80dde322a73712ce1f0f762)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 17:29:23 +01:00
Lucian Musat 8e26ab7d52 oeqa/rutime: Added testcase decorators for automated runtime tests. Also added LogResults decorator for oeTest class in oetest.py
(From OE-Core rev: 95b83084487d0712362ade8ac487999c3274bb96)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 16:54:42 +01:00
Lucian Musat 984f03457a oeqa/runtime: Added skipModule import for test modules that use it.
The modules that use skipModule should import it themselves and not rely on somebody else to import it.

(From OE-Core rev: 6a14db407d471e717f41342ac0700e6a383c32c3)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 15:34:00 +01:00
Lucian Musat 0c4dd0ad16 oeqa: Refactor test skipping decorators to use the unittest result object
In order to make the test skipping decorators independent of the oeTest object we rely on the unittest result object to construct skip, fail and error lists used by these decorators.
Created a new object getResults that analyses upper frames and retrieves the unittest result object instance, then return a list of failed, skipped and error tests.
Also removed the oetest import from decorators.py because it was no longer required.

(From OE-Core rev: 4d2d201158236bd4c72546cf8db88681ff921b11)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 15:34:00 +01:00
Richard Purdie 42470aa22d lib/oe/classextend: Avoid early expansion of PR values
Variables like RDEPENDS can contain EXTENDPKGV which in turn uses AUTOPR
based values. This gets set during do_package execution so we want to
defer expansion until then. The only way we can do this in the RDEPENDS
(and friends) mapping code is to subsitute a dummy value, then change it
back again. Horrible but I can't see any other way.

This resolves multilib build failures with inconsistent PR values.

(From OE-Core rev: 5aea553e6eaa3b9647f26944976d2a9da79cba42)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 15:33:58 +01:00
Roxana Ciobanu 56bfda20f4 image.bbclass/rootfs.py: add variables to rootfs[vardeps]
Added base variables and package backend specific variables to
rootfs[vardeps] in order for rootfs to rebuild when changes are made.

Set some variables as [func] to inform bitbake that they are shell
scripts, so that it invokes its shell dependency parsing. Without
marking them as functions, changes in the actual function body would
not trigger rootfs rebuilds.

[YOCTO #6502]

(From OE-Core rev: b8b6214b885a0757f0e628937f8fe21c92c45155)

Signed-off-by: Roxana Ciobanu <roxana.ciobanu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 21:59:13 +01:00
Saul Wold 4d2ac6f6df rootfs: Remove the extraneous install directory
The /install/tmp diectory is created during installation by
the smart package manager, we need to clean it up here

[YOCTO #6497]

(From OE-Core rev: d4f4ad5edd8914e696722c1a1c3ba7de091d4c19)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-19 00:18:21 +01:00
Lucian Musat 929e48e0af oeqs/selftest: Added test case decorators for toaster
(From OE-Core rev: 87ded649257e963e45d629679d44376d9a993ecd)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-17 12:37:00 +01:00
Chen Qi 14735be703 oeqa: fix return status in pam.py to match shadow-4.2.1
The return statuses of commands like `su --help' or `passwd --help'
in shadow 4.2.1 version are different from those in shadow 4.1.4.3
version.

Now that we've upgraded shadow to 4.2.1, we need to fix these statuses
in the pam.py to make things work as expected.

(From OE-Core rev: 6bc53438735690866358194dd9e88fa1d7435e2c)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-17 12:36:19 +01:00