Commit Graph

2845 Commits

Author SHA1 Message Date
Peter Kjellerstedt
2a26378081 license.bbclass: Introduce AVAILABLE_LICENSES that lists all licenses
Previously, there was SRC_DISTRIBUTE_LICENSES, an undocumented
variable that contained a static list of licenses. It was used by
expand_wildcard_licenses() to expand any wildcards used in, e.g.,
INCOMPATIBLE_LICENSE. However, since this static list of licenses has
not been kept up-to-date, many licenses were missing, with the result
that if one tried to use any of those licenses with a wildcard, no
licenses would be found, effectively ignoring that they should be
marked as incompatible.

This introduces a new (documented) variable, AVAILABLE_LICENSES, that
is automatically updated to contain all licenses found in any
directories specified by ${COMMON_LICENSE_DIR} and ${LICENSE_PATH},
and uses it instead of SRC_DISTRIBUTE_LICENSES when expanding
wildcards.

(From OE-Core rev: 8c9ef587fe499c612a878a1ab42092eb79b334ef)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-16 23:25:49 +00:00
André Draszik
969b9974c6 oeqa/runtime/apt dnf opkg: support running from within docker container
If the user specified an http port to use for serving
files, use that instead of a random one. At the same
time, have the http server bind to all interfaces.

Binding to the server_ip might not always be possible,
e.g. in the case of running bitbake / oeqa from within
a docker container. In this case, the ip address is valid
outside the container, but not inside, and hence can't
be bound to. So switch to simply binding to all interfaces.

(From OE-Core rev: da529e6522959c2024023e90de52b5e42f160596)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-16 23:25:49 +00:00
André Draszik
eeefadc738 oeqa/target/ssh oeqa/target/qemu: expose server listening port to tests
Allow tests to access the listening port as just introduced.
Note that when using qemu this infrastructure shouldn't be
needed, but we still need to set the port to 0 so that
a listening port is determined automatically (e.g. by the
python http server).

(From OE-Core rev: ca58559fc30842c123907fb5cc68b3356c530862)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-16 23:25:49 +00:00
André Draszik
ae6c729a53 oeqa/runtime/context.py: support listening port in TEST_SERVER_IP
Similar to the existing possibility to specify a port in
TEST_TARGET_IP, allow TEST_SERVER_IP to also contain a
port.

The intention is for this port to be passed into e.g.
the http server from the apt / dnf / opkg tests, or
any other (custom) tests that might need the target to
connect to a service spawned by bitbake / oeqa, where
bitbake is actually running inside a docker container.

(From OE-Core rev: 9f401cd8b010ca613a151d0323b251f2243f399f)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-16 23:25:49 +00:00
André Draszik
6f637e973a oeqa/utils/httpserver: allow to pass in listening port
Being able to specify the listening port is useful when
running OEQA from within a docker container, e.g.
crops or any other solution.
In that case, a port on the outside must be mapped to a
specific port inside the container. If no port is specified
for the http server module in this case, the http server
would choose a random port, which is unlikely to be mapped
and thus won't be reachable from the outside.

(From OE-Core rev: e54391ca9068661693275fbfcfded9bc0b2606f3)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-16 23:25:49 +00:00
Richard Purdie
ba4dbacedd sstatesig: Further optimise
Optimise the call into the parent function to be only when needed.

(From OE-Core rev: 198bacaa1068fd68075d9182318fe64e9809dd36)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-16 23:25:49 +00:00
Richard Purdie
58726c4a56 sstatesig: Optimise get_taskhash for hashequiv
With hashequiv the get_taskhash function is called much more regularly
and contains expensive operations. This these don't change based upon
hash in a given build, improve the caching within the function to
reduce overhead.

(From OE-Core rev: de98cfe3cde4b8d5f4b163b5fba3f129651ef06a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-15 09:10:46 +00:00
Paul Eggleton
01fa7fdd05 oeqa: qemu: ensure we print runqemu output in the event of failure
If we get here in the code it's because runqemu has failed, this is not
a debug situation - we need to see the output, so print it as an error.

Fixes [YOCTO #13681].

(From OE-Core rev: c1def38c680d64c992839166bbf9bec51eb0788a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-15 09:10:46 +00:00
Paul Eggleton
c4d247ff7c oeqa: qemu: fix width of top output in host dump
If runqemu fails, there is some logic to run a set of commands to dump
various bits of information that might help debug the issue
(particularly in a busy situation such as on the autobuilder). One of
those commands is "top -bn1", however top restricts the output to the
width of the calling terminal, and for whatever reason this is a little
restrictive when called from inside testimage, so set COLUMNS in the
environment to a high value to fix it. (Another way is to use the -w
option, but that is not supported by our default busybox configuration
so it will then fail when this same list of commands is used on the
target).

(From OE-Core rev: 07da998f5aa6c3f5ffeee5150fc579e8a1051ba4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-15 09:10:46 +00:00
Paul Eggleton
f0f8714238 oeqa: qemu: ensure that host dump commands can be run properly
If runqemu fails, there is some logic to run a set of commands to dump
various bits of information that might help debug the issue
(particularly in a busy situation such as on the autobuilder). However,
when we try to run these we are inside the normal build environment
which restricts commands to be run on the host to those specified in
HOSTTOOLS. Since this isn't a place where host contamination is going to
be a problem, override PATH to a reasonable default so that we run the
actual host tools directly to avoid the issue. (Logically we would want
to use the original PATH value here, but it is not easily accessible.)

(From OE-Core rev: 3f6dcf67bccb4f0fc1a9a64e02bd0e2da620ad0e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-15 09:10:46 +00:00
Armin Kuster
d486fe88c1 oeqa/selftest/runtime_test: split systemd and sysvinit tests out
This should help debug which part of this selftest is failing.
We can not tell which outloop is failing so split the tests into
systemd and sysvinit.

[YOCTO #13650]

(From OE-Core rev: 5f49ac73ca38ae711e093b35ae0feb5a0674198a)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-09 12:00:43 +00:00
Alexander Kanavin
e978f1e82a selftest: skip virgl gtk/sdl test on opensuse 15.0
(From OE-Core rev: ae9660cac026cf87043596e8d598a3541f1f53d2)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-09 12:00:42 +00:00
Richard Purdie
f93d5a469c oeqa/qemurunner: Fix cmdline variable use before reference
This avoids some tracebacks we've seen on failed autobuilder builds which would
allow the real error to be seen.

(From OE-Core rev: a4031935a7b8ea4f61b9020c1aa5598e186e7ad7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-06 14:41:28 +00:00
Richard Purdie
055695994a oeqa/concurrencytest: Optimise for autobuilder/clobberdir
We're seeing huge delays on the autobuilder during oe-selftest builddir
deletion. For example there is a currently running selftest we could do
with the results from and its been going 13 hours, at least 8 of which
was in deletion of the builddirs.

There are a variety of ways we could solve this problem however the
autobuilder has a mechanism for deferred deletion, "clobberdir" which
it already uses for this kind of work.

Whilst in general hardcoding things like this is horrible, I believe
in this case the benefits (and resulting improvements on my sanity
if nothing else) mean this is a case where we should do it.

If/as/when someone can come up with a better solution that is fine
and this can be replaced.

(From OE-Core rev: 51a84937d32a85cbdb7d5b1d1ec69a290d0c303b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-06 14:41:28 +00:00
Ross Burton
4f82d1e59a selftest/imagefeatures: blacklist zst
The dependency isn't in OE-Core so we need to disable this test.

(From OE-Core rev: 3646499cb34e91c1d012d057eedfdeff08a4f06c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-04 12:30:58 +00:00
Alexander Kanavin
469f6ee0bb oe-selftest: extend virgl gtk test to also check the SDL option
(From OE-Core rev: 909dc047790efad8304d9c6630c39f6a6b4166fb)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-28 21:13:00 +00:00
Paul Barker
d5c1a7607f oeqa: archiver: Add basic tests for all archiver modes
6 new test cases are added to cover the various archiver modes
documented at the top of archiver.bbclass. Each test sets the
appropriate configuration options, runs the `do_deploy_archives` task
for the selftest-ed recipe and checks for the presence of the expected
archive file.

(From OE-Core rev: d3bf1012e918109e958cf78c89feda0f4dfe17c5)

Signed-off-by: Paul Barker <paul@betafive.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-27 13:25:18 +00:00
Chee Yang Lee
89288705c6 wic: 'wic cp' to copy from image
currently 'wic cp' only works for copy file from local storage to
wic image.

enhance 'wic cp' to copy file/directory from wic image to local storage.

include selftest and 'wic help' updates.

[YOCTO#12169]

(From OE-Core rev: bd669c1809a378f93580eb9e0679a26ec6746cb8)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-27 13:25:18 +00:00
Nathan Rossi
95bd5a3961 oeqa/selftest/cases/gcc.py: Split 'gcc' and 'g++' testsuites
Split the GccCrossSelfTest testcase into separate testcases for 'gcc'
and 'g++' respectively. In order to split them use the "check-gcc-*"
language make check targets.

(From OE-Core rev: 84cc08942fd3d17fb603e90f362a1ee5653a225d)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-27 13:25:18 +00:00
Nathan Rossi
6cde67d0a8 oeqa/utils/qemurunner.py: Handle QEMU machines with a single serial
Not all QEMU machines are capable of having more than one serial port,
this is due to the machine emulating a physical device/board.

Rework QemuRunner to handle machines that only have 1 serial port, where
the serial port shares output of the kernel log buffer and a login
console. In this case the output is mixed but enables the machine to
boot and have QemuRunner detect the login prompt.

QemuTarget uses SERIAL_CONSOLES to determine the number of available
serial ports.

(From OE-Core rev: 333897c4a00b41681ffe34312a08cae09274327e)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-27 13:25:18 +00:00
Richard Purdie
2cca43e060 oeqa/selftest/sstatetests: Ensure we don't use hashequiv for sstatesigs tests
(From OE-Core rev: 6af559467f869afabad16cd84ae1af4bc7af0950)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-22 23:13:06 +00:00
Alexander Kanavin
7081beeb18 selftest: check that 'devtool upgrade' correctly drops backported patches
There was a regression in this functionality that went unnoticed
due to lack of tests.

(From OE-Core rev: a75e4eceb703b2b13ddd4ba3dea3a86af0b0a9eb)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:20 +00:00
Richard Purdie
91fdad8c16 oeqa/devtool: Avoid unbound variable errors
inherits can be unset resulting in:

UnboundLocalError: local variable 'inherits' referenced before assignment

which can mask real errors. Avoid this.

(From OE-Core rev: 29a0502e101ed0667e960f9f8591b0a2d60a4bcb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Armin Kuster
56c530c291 /oeqa/manual/compliance-test: remove obsolete test
ltpstress was removed in Oct 2018

e752f7c196 (diff-5231627fc8640e0adb955f9e69c3c08d)

Remove LTP stress tests
ltpstress.sh runs stress.part[1-3]. But these runtest files just
duplicate definitions:
* stress.part1: fs, mm, nfs
* stress.part2: ipc, math, nptl
* stress.part3: net.multicast, pty, syscalls

The definitions are outdated anyway. There is no point trying
to keep them sync.

(From OE-Core rev: 85b3f9ef568a8a11569898c6637b0e80c057fbfb)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Armin Kuster
5834f2ff44 oeqa/manual/compliance-test: move crashme to runtime
[v3]
remove fork12 from crashme. runs forever
missed in v2 resend

(From OE-Core rev: 5d32ff52a36bdcc6abe55b89bf81c3312a03160a)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Armin Kuster
bd67c56d36 oeqa/manual/compliance-test: remove crashme tests
(From OE-Core rev: 9739259a8c169b5bc47fe93158a276eda0195ecf)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Armin Kuster
bd2a3c7b2b manual/bsd-hw: remove bash tests
done as part of IncompatibleLicensePerImageTests

(From OE-Core rev: b6e66d388001cdbb833a18056781f69a6f8c82fb)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Armin Kuster
b9b46b6625 oeqa/manual/bsp-hw: remove usb and SDmicro tests
(From OE-Core rev: fe1063ae76a503327fe9cc13e9bf753ea2ae79f2)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Armin Kuster
5b5b75a5bf oeqa/manual/bsp-hw: move storage tests to runtime
move usb mount, r/w and umount tests to runtime
move SD card mount, r/w and umount tests to runtim

(From OE-Core rev: 246d73b35f6be7880d98274e87033a14cdced9ba)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Armin Kuster
6f36e626e1 oeqa/manual/bsp-hw: remove reboot test
(From OE-Core rev: f30a3e18a47bc2b3307cc5080f18cce7e3a736a1)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Armin Kuster
7ad0876086 oeqa/runtime/boot: add reboot test
(From OE-Core rev: c8ddebee04a7c752986b407b98f4d0175f447d01)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Armin Kuster
18ad61198f oeqa/manual/bsp-hw: remove rpm -ivh test
done via runtime

def test_rpm_install(self):

(From OE-Core rev: 1be4471d664c9445d0599d57c4366a86f8352b07)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Chee Yang Lee
b8c34f9a24 selftest/wic: test wic rm with -r flag
selftest to make sure wic rm with -r flag for ext partition
could remove directory and all its content.

(From OE-Core rev: d7ccbb393a71501424b7c0d4c1d78e4bac1ecccf)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21 23:08:19 +00:00
Armin Kuster
85c18be8f4 oeqa/manual/oe-core: remove crosstab test from manual
(From OE-Core rev: fb76404edddb5a6739447bcfa046732b7fa5144b)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
ef1f6cab65 oeqa/selftest/runtime_test: add crosstab selftest
(From OE-Core rev: fd83e9aa35fa2553a8afd975e5405ea22f318eab)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
f23f766920 oeqa/manua/oe-core: remove manual PACKAGECONFIG_FLAGS tests
(From OE-Core rev: 77a0371284280c39731a4a0630ba6959969d850f)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
7fcb703894 oeqa/selftest/oescripts: move list-packageconfig-flags tests from manual to self
(From OE-Core rev: f55bfde64bd7b6f862ca7b59eb075b862d221f12)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
9eab3f9926 oeqa/manual/bsp-qemu: remove manual useradd test
useradd tested is done via:
test_non_root_user_can_connect_via_ssh_without_password and
test_non_root_user_can_connect_via_ssh_without_password

(From OE-Core rev: 0ab30c0386bf86b2e2101c18208b76200c665051)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
d2a28aa65e oeqa/manual/bsp-qemu: remove manual bash test
(From OE-Core rev: 29127d5a6ff9eb09a11dc4157006dc4098b01963)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
fdd96ad304 oeqa/manual/bsp-qemu: remove postinit test done w/selftest runtime
(From OE-Core rev: 63293d1c67736ea8dcb2872e7157b1f5db93c9fa)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
9fc88bf924 oeqa/manual/bsp-qemu: remove only_one_connmand_in_background test done at runtime
(From OE-Core rev: e0aa0c195ae233c3c28a7e1bc415839171062f42)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
2890aafb13 oeqa/manual/bsp-qemu: drop xserver test done at runtime
xserver testing is done at runtime and selftest via sato image

(From OE-Core rev: 0146b3a0b60f54fa6ea84461e4ced6fae59aafa7)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
81bc4bbb59 oeqa/manual/bsp-qemu: remove KVM enabled which is already done in selftest runqemu
(From OE-Core rev: 378bcbc47bac718b7228506f010c26045114d421)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
b524ddfd7c oeqa/manual/bsp-qemu: remove rpm tests already done in runtime
(From OE-Core rev: 3f71afb23d409f56175341f4b7ac2c84c112b383)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
97c2021b8a oeqa/core: Add qemu checks
Some test should not be run in QEMU systems so
add some checks to make that easier

(From OE-Core rev: 1b1e53c4ad33a71d526887d1133598f255a476ec)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Armin Kuster
1351614b8d oeqa/core: Add a check for MACHINE
(From OE-Core rev: e69f963e548e2f6f211a56406694c029111d7203)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:21:00 +00:00
Denys Dmytriyenko
d71fb563c1 buildhistory: fix "version went backwards" QA error message
Fix parentheses placement in the message from:
Package version for package X went backwards which would break package feeds from (Y to Z)
to this one:
Package version for package X went backwards which would break package feeds (from Y to Z)

(From OE-Core rev: 3a5a61fb6b3f811bd4f7232ba902afcfd2019154)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14 13:20:59 +00:00
Haris Okanovic
dfb8d75ae6 meta/lib/oe/package_manager.py: Enable sha256 checksums in opkg indexer
Pass `--checksum md5` and `--checksum sha256` to opkg-make-index.

Sha256 checksum enables more reliable install-time validation of IPKs.
This is particularly useful when installing from signed feeds --
I.e. feeds using signed Packages index files that deliver otherwise
unsigned IPKs. Such feeds rely on hash validation of enclosed IPKs to
thwart tampering. After download, opkg verifies IPK's checksum against
the (signed) Packages index file. Weak hashes like md5 are prone to
collision and therefore tampering.

The md5 checksum is purely for backward compatibility. Sha256 validation
was recently added to opkg. Newer builds of opkg will use it. Older
builds still look for an md5 checksum. Md5 is deprecated and should be
removed once old build are phased out.

Testing: I ran `bitbake package-index` after building a few IPKs and
verified MD5Sum and SHA256sum attributes are present in Packages.
Using opkg-utils 0.4.0.

Performance Impact: It takes about 40 seconds to cleanly re-index 8000
IPKs on an Intel Xeon E5-1620 machine. This was previously about
20 seconds.

NOTE: It's recommended to delete all Packages* files after applying this
patch. Otherwise, some IPKs won't have sha256.

(From OE-Core rev: e462f47489f35902b6972f9837d9adfa542fc796)

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-10 14:06:10 +00:00
Joshua Watt
57ea3e78bd oeqa: reproducible: Add option to capture bad packages
Adds an option that can be used to copy the offending packages to a temp
directory for later evaluation. This is useful on the Autobuilder to
investigate failures.

(From OE-Core rev: 54b29bae78d1711074fbd18f0350ef0b83b555d1)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-07 22:30:39 +00:00
Richard Purdie
320049c058 selftest/signing: Fix test_locked_signatures to use a temporary layer
Tests shouldn't be writing to layers during tests as this could corrupt
other tests running in parallel.

Modify the test to write the bbappend to a separate temporary layer
which is added and removed by the test. This avoids race failures
on the autobuilder.

(From OE-Core rev: 467c72ff2c9fe00c40d04d5d859d860fb267499e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-07 15:12:00 +00:00