Commit Graph

57985 Commits

Author SHA1 Message Date
Bartłomiej Burdukiewicz
81054cf536 libva: removed opengl from REQUIRED_DISTRO_FEATURES.
Since libva can be built without virtual/mesa, opengl
requirement is only true for glx backend and it's
incorrect for wayland and x11 backends.

(From OE-Core rev: 47d32813a3fd67e75cddce255b40b43fb09e1497)

Signed-off-by: Bartłomiej Burdukiewicz <bartlomiej.burdukiewicz@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:53 +01:00
Bartłomiej Burdukiewicz
5dbea45519 libva: add PACKAGECONFIG and additonal rules for glx.
* glx PACKAGECONFIG by default is selected when x11 and opengl
flag is present in DISTRO_FEATURES.

* virtual/mesa is only required when glx driver is selected to
build.

(From OE-Core rev: 65b7b48cd6c7ec88da4dc8bcc3e93fe2703a8fef)

Signed-off-by: Bartłomiej Burdukiewicz <bartlomiej.burdukiewicz@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:53 +01:00
Wang Mingyu
e5204fe6db icu: CVE-2020-10531
security Advisory

References:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531

(From OE-Core rev: 1d5df7310ee119b71494f97ae86f0fa264ae3022)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:53 +01:00
Jan Luebbe
de438de820 openssl: upgrade 1.1.1f -> 1.1.1g
This also fixes CVE-2020-1967.

(From OE-Core rev: 8e0283e70b9977c9ac14cdab77907301405c3cee)

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:53 +01:00
Mingli Yu
8b0b87c5ad iputils: Initialize libgcrypt
Initialize libgcrypt on first use otherwise
there comes below warning when check the status
of the ninfod.service.
 # systemctl status ninfod.service
 * ninfod.service - Respond to IPv6 Node Information Queries
 Loaded: loaded (/lib/systemd/system/ninfod.service; enabled; vendor preset: enabled)
 Active: active (running) since Wed 2020-04-29 05:18:21 UTC; 36s ago
 Docs: man:ninfod(8)
 Main PID: 347 (ninfod)
 Tasks: 1 (limit: 9382)
 Memory: 1.2M
 CGroup: /system.slice/ninfod.service
 `-347 /sbin/ninfod -d

 Apr 29 05:18:21 intel-x86-64 systemd[1]: Started Respond to IPv6 Node Information Queries.
 Apr 29 05:18:24 intel-x86-64 ninfod[347]: Libgcrypt warning: missing initialization - please fix the application

Reference: 4f489a8c79

(From OE-Core rev: 7d37d129012d723b7c6ade0a763b877b657e1248)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:53 +01:00
Alexander Kanavin
0bbb01c3b0 dnf: add a patch for base-files installation failures
(From OE-Core rev: 742a1b71249f4da1c8d8e13e270b0eb6128a3f66)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:52 +01:00
Alexander Kanavin
4d8df76f40 dnf: upgrade 4.2.2 -> 4.2.21
Drop upstreamed patches.

(From OE-Core rev: 7828bf903001413cb38d34f4a2525f718380b88f)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:52 +01:00
Alexander Kanavin
7add0b8b4d libdnf: upgrade 0.28.1 -> 0.47.0
Add a patch that avoids hardcoded sphinx dependency.

Switch off a couple of new features (zchunk, html docs for
hawkey library via sphinx) that both require new dependencies.

Move from modulemd 1.x to 2.x, drop upstreamed patches.

(From OE-Core rev: ce54462de6642935859421f2116e25ca5b2faa8c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:52 +01:00
Alexander Kanavin
e1ab20ea5a libmodulemd: move from 1.x to 2.x version
New libdnf requires 2.x and is the only consumer in oe-core
(or elsewhere).

(From OE-Core rev: 2c518de672d8876ff96e49b498feb898a497e6a5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:52 +01:00
Alexander Kanavin
365f24bee1 rpm: upgrade to 4.15.1
Drop patches that were merged upstream.

0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
modifies a file that was removed upstream.

Add a 0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
as unfortunately the new parallel file classification feature from
upstream trips over somewhere in libmagic when inspected files are
compressed:
https://github.com/rpm-software-management/rpm/issues/756

(From OE-Core rev: 67257ca87c6fa8e6050a20ecea50daf834c7e869)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:52 +01:00
Richard Purdie
b55f765ae4 abi_version/staging: Bump versions to force rebuild after sstate corruption
A "broken" buildtools-extended-tarball has been released into the wild
where it is optimising binaries for the host processsor. This is fine in
local usage but in a non-homogeneous cluster like our autobuilder, this
results in SIGILL on other machines when the sstate is shared amongst them
and is painful to debug.

The buildtools tarball has been fixed but we need to invalidate the hash
equivalence and sstate data. This change does that. Adding to OE-Core
rather than autobuilder local changes as its good to illustrate how to
do this and the issue is potentially wider than just Yocto Project
infrastructure.

(From OE-Core rev: 23cdfa9eb23146a69edb77a83ef03719a62ddaae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:52 +01:00
Richard Purdie
13297d8589 gcc-target: Ensure buildtools-extended-tarball doesn't use arch=native
A nativesdk BBCLASSEXTEND was added to gcc-target without realising this
would pass arch=native through to it for x86-64. This heavily optimises
gcc output for the host its running on meaning it can't be reused via
sstate on other machines.

Add class-target overrides here to get the desired behaviour. All
targets have been covered for completeness.

(From OE-Core rev: d0d4853dd773f7bbe0f72e50144559b80e80d67a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:52 +01:00
Richard Purdie
f7b8747c52 sanity: Require gcc 6 or later
New versions of rpm have issues with the libgomp support in gcc 5.x
so raise the minimum to 6 or later. This mainly affects Ubuntu 16.04.

(From OE-Core rev: aca2e5816203b54e0955eaa99fc980d010052d5d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:52 +01:00
Mingli Yu
a8544811d7 pbzip2: Fix license warning
After below commit introduced, the LICENSE
field changed from BSD-4-Clause to bzip-1.0.6.
669600ef9b bzip2/pbzip2: Correct license information

But actually it should be bzip2-1.0.6,
update it to fix the below license warning:
WARNING: pbzip2-native-1.1.13-r0 do_populate_lic: pbzip2-native: No generic license file exists for: bzip-1.0.6 in any provider

(From OE-Core rev: ecca4b97b3522e43332c3720bbe8da80c744d0b9)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-30 12:57:40 +01:00
Richard Purdie
a98d9c5b71 image/packagegroup: Remove PACKAGE_GROUP_*, long since deprecated
This was deprecated in 2014 so we can safely remove the old code now.

(From OE-Core rev: fe1b79188cbe8159a0950f0c02d7f476a6694a04)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:19 +01:00
Ovidiu Panait
2aa51e2e31 populate_sdk_base: create_sdk_files: Use _nativesdk variants for libdir and base_libdir
Use the _nativesdk variants for libdir and base_libdir to fix the resulting
ld.so.conf paths in the SDK for systems with libdir=/lib64.

(From OE-Core rev: a6077e87f4eeb89b0617883c9c01e08219ae44dc)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:19 +01:00
Ovidiu Panait
a3b21540c3 populate_sdk_base: Add ld.so.conf for nativesdk-binutils
Extend the functionality provided by commit [1] to the SDK as well. This way we
can make sure that nativesdk-binutils finds SDK libraries first rather than
host ones.

This is useful for example when trying to build the linux kernel using
nativesdk-gcc. This scenario currently fails because it tries to link to host
libraries rather than SDK host ones:

make x86_64_defconfig
make bzImage
...
error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel
Makefile:1101: recipe for target 'prepare-objtool' failed
make: *** [prepare-objtool] Error 1
....
/../../../../x86_64-wrlinuxsdk-linux/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: undefined reference to `__libc_vfork@GLIBC_PRIVATE'
...

[1] 15049c610b [buildtools-tarball: Add an ld.so.conf for nativesdk-binutils]

(From OE-Core rev: 7ec84a463ad4c45aee9cd2cbc75b43e5aab5cd18)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:19 +01:00
Kai Kang
430ef75dcf pseudo: add macro guard for seccomp
It fails to compile pseudo-native on centos 7:

| ports/linux/pseudo_wrappers.c: In function ‘prctl’:
| ports/linux/pseudo_wrappers.c:129:14: error: ‘SECCOMP_SET_MODE_FILTER’ undeclared (first use in this function)
|    if (cmd == SECCOMP_SET_MODE_FILTER) {
|               ^

Add macro guard for the definition to avoid the failure.

(From OE-Core rev: d1c4492cb9cf5a624bb996c94e9a1589133be014)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:19 +01:00
Alejandro Hernandez
48a8eb0fc2 baremetal-helloworld: Fix IMGDEPLOYDIR expansion
IMGDEPLOYDIR is not being expanded anymore, this causes
do_rootfs to fail because it can't create the manifest file,
we can set it to the default being set on image.bbclass since
this is only a decoy function anyway to satisfy testimage,
this makes do_rootfs happy and allows it to continue.

(From OE-Core rev: 06ed491e30b47b8c5f89746e890519dd7de800fd)

Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:19 +01:00
Alejandro Hernandez
87a2e7c43d newlib: Upgrade to latest yearly release 3.3.0
Upgrade to the latest snapshot, also drop md5sum while were at it.

(From OE-Core rev: d73aa359e42e707dbc7cfa29c55a2fc8e6bb938a)

Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com>
Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:19 +01:00
Andrew Geissler
11e7f09d60 libffi: fix v3.3 compile on ppc64le
The latest released version of libffi no longer compiles on ppc64le
based machines. Some searching found a patch that fixed our issue but
had not been submitted upstream to libffi.

It has now been submitted upstream with this PR:
https://github.com/libffi/libffi/pull/561

(From OE-Core rev: 76001bd4ae1e4f153f3d670b19e9ccd39c9fc4ef)

Signed-off-by: Andrew Geissler <geissonator@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:19 +01:00
Alexander Kanavin
2434bf3925 buildtools-extended-tarball: add libgomp-dev
This is needed in particular for newer versions of rpm
which would otherwise fail to build due to absence of omp.h header.

(From OE-Core rev: 319ae973740bc291cb3e02e3cb2b4df2109df53e)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:18 +01:00
Alexander Kanavin
0c53c56812 python3-numpy: update to 1.18.3
(From OE-Core rev: f31e3d2e55962472ba585736a7190e833b9bdf87)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:18 +01:00
Alexander Kanavin
10fd6095cd python3-pyparsing: update to 2.4.7
(From OE-Core rev: e73b429a3b32e319f0cdbb932a476ba96e40f5a5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:18 +01:00
Alexander Kanavin
339eeadc96 python3-cython: update to 0.29.16
(From OE-Core rev: b3f2ed624e772997c356d2b9690dc65ebd551dc0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:18 +01:00
Alexander Kanavin
9dc3347207 maintainers.inc: add entries for cython and pyparsing
(From OE-Core rev: 74f1170657aa92c809b7b903d00415fbd8e6adf3)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:18 +01:00
Alexander Kanavin
1407d1460c python3-cython: add from meta-oe
This is needed by new python3-numpy.

(From OE-Core rev: 5b62f1c313d8b9a74f49ef30e7fa5ff489ae3e84)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:18 +01:00
Alexander Kanavin
182c1af2e6 python3-pyparsing: add from meta-oe
This is needed for python3-cython, which is needed by new python3-numpy.

(From OE-Core rev: 85c025a7072558e49e4cf77ce03b3d156b9377a0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:18 +01:00
Alexander Kanavin
4a971a2ed0 gobject-introspection: update to 1.64.1
All the cross-support patches are finally merged upstream;
the maintainer also changed the option naming to his preference, so
the recipe is adjusted.

(From OE-Core rev: 4f024e10f2c889ca8c09257b7c09f2cbe2eb6d4e)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:18 +01:00
Alexander Kanavin
3c2e77b186 perl: update to 5.30.2
racefix.patch was merged to perl-cross
determinism.patch was partially merged to perl-cross

0001-tests-adjust-to-correctly-exclude-unbuilt-extensions.patch
is no longer needed as issue is addressed upstream.

(From OE-Core rev: d263537bc0a0ad8736dea5e49b93188b123d4a9f)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29 15:02:18 +01:00
Richard Purdie
2e11d97b6c oeqa/qemurunner: Clean up failure handling
If you fail to setup the tap devices, runqemu will error quickly
however stdout/stderr are not shown to the user, instead a SystemExit
traceback is shown. This could explain some long since unexplained
failures on the autobuilder.

Rework the error handling so SystemExit isn't used and the
standard log failure messages can be shown. The code could
likely ultimatley need some restructuring to work effectively.

(From OE-Core rev: 57ccf1e3bb320bd28a2d106c98f4706434c3075a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:51 +01:00
Richard Purdie
ccb009e9a7 targetcontrol: Fix leaking log handler
We had a mystery failure on the autobuilder where runqemu appeared to
be failing as a logfile directory no longer existed. The key to
reproducing was running a runqemu where the image was deleted (as
devtool does), then running another runqemu test. E.g.:

'oe-selftest -r  devtool.DevtoolExtractTests.test_devtool_deploy_target wic.Wic2.test_qemu_efi'

This then tries to write to the logfile from the first test, the
image directory was deleted and we get strange failures.

The fix is to remove the logging handler when qemu is stopped.

(From OE-Core rev: b59a2bbbf3c56b71f6118970ed2269dddfbdbe0c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:51 +01:00
Trevor Gamblin
a3f1d619f3 python3: fix CVE-2020-8492
CVE: CVE-2020-8492

(From OE-Core rev: 7cf314f3eb83750ec70f5b86045a5f5d195cddef)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:51 +01:00
Changqing Li
90f2ebbb5a python3-setuptools: change shebang to python3
we have offcially dropped python2, so it is possible
that our code run on python3 only host, so change
shebang to python3 to avoid error like:
python: command not found

(From OE-Core rev: c49ea8d5640d984e28ad63919e0b9ee549a4e17f)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:51 +01:00
Changqing Li
c57eb0a488 python3-pip: change shebang to python3
we have offcially dropped python2, so it is possible
that our code run on python3 only host, so change
shebang to python3 to avoid error like:
python: command not found

(From OE-Core rev: 4a4fabaa8f6915513a3b1ef2268c402e96eca888)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:51 +01:00
Changqing Li
e5e0b30035 python3-pbr: change shebang to python3
we have offcially dropped python2, so it is possible
that our code run on python3 only host, so change
shebang to python3 to avoid error like:
python: command not found

(From OE-Core rev: a0b6ae56970aa53f65ed10bebd90fefa410a7099)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:51 +01:00
Peter Kjellerstedt
9f7bd77be7 busybox: Correct the name of the bzip2 license
The common bzip2 license was renamed from "bzip2" to "bzip2-1.0.6" in
commit 669600ef to match the official SPDX identifier.

(From OE-Core rev: 7d32417b4dd7788d44ae896e75827f7bf56d328c)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:51 +01:00
Alex Kiernan
d78a20fdc3 u-boot: Upgrade 2020.01 -> 2020.04
(From OE-Core rev: da4b1de11213f988317bee1c9da356a506ef0acc)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:51 +01:00
Khem Raj
425d71856c binutils: Install PIC version of libiberty.a
some architectures e.g. mips complain in linking apps which have shared
libs that are linking with libiberty.a fixes errors like below

libiberty/../../libiberty/hashtab.c:285:(.text+0xf8): relocation R_MIPS_26 against `htab_create_typed_alloc' cannot be used when making a shared object; recompile with -fPIC

(From OE-Core rev: 49eacd44ff65b524c02ab93401dc97745d28415f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:51 +01:00
Khem Raj
4089efd375 binutils: Detect proper static-libstdc++ support when using clang
Fixes configure time tests to ensure static-libstdc++ is enabled when
using clang

(From OE-Core rev: 0f2c415f50364e3b341e9b0d043ec973feacc2f1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:51 +01:00
Khem Raj
43b340fb27 gcc: Configure all gccs with --disable-install-libiberty
OE uses libiberty from binutils, since its properly compiled as pic
archive and applications and other libraries needing libiberty can
properly link with it.

With this option applied, explicit delete of libiberty headers and
libraries is not required in install step, since they wont get installed
in first place.

(From OE-Core rev: fa8a205c69770d23323c9a06373db958af4b34d3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:50 +01:00
Ricardo Ribalda Delgado
01619c9acb oeqa: wic: Add more tests for include_path
Make sure permissions are respected.

Add new test for orig/destination option.

Cc: Paul Barker <pbarker@konsulko.com>
(From OE-Core rev: 33785be3c7eb4d5684cded08f955412a0c008929)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:50 +01:00
Ricardo Ribalda Delgado
31b14186e9 wic: rootfs: Combine path_validation in one function
Combine all the common path validation in a function to avoid code
duplication.

Cc: Paul Barker <pbarker@konsulko.com>
(From OE-Core rev: ebd12b10d17db0b4176b0188407d7e9b8420eab1)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:50 +01:00
Ricardo Ribalda Delgado
a293c76c53 wic: root: Add an opt. destination on include-path
Allow specifying an optional destination to include-path and make the
option aware of permissions and owners.

It is very useful for making a partition that contains the rootfs for a
host and a target Eg:

/ -> Roofs for the host
/export/ -> Rootfs for the target (which will netboot)

Although today we support making a partition for "/export" this might
not be compatible with some upgrade systems, or we might be limited by
the number of partitions.

With this patch we can use something like:

part / --source rootfs --fstype=ext4 --include-path core-image-minimal-mtdutils export/ --include-path hello

on the .wks file.

Cc: Paul Barker <pbarker@konsulko.com>
(From OE-Core rev: e8c21c6ebaebde88151697381bdb2452f1171090)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:50 +01:00
Ricardo Ribalda Delgado
fc2589384b wic: misc: Do not find for executables in ASSUME_PROVIDED
Executables like tar won't be available on the native sysroot, as they
are part of the ASSUME_PROVIDED variable.

Cc: Paul Barker <pbarker@konsulko.com>
(From OE-Core rev: 2f574d535f8665b26dab65c14668cf8fc7b751c0)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:50 +01:00
Ricardo Ribalda Delgado
6cfcc149ef oeqa: wic: Add tests for permissions and change-directory
Make sure that the permissions and username are respected when using all
the rootfs modifiers.

Add tests for change-directory command

Cc: Paul Barker <pbarker@konsulko.com>
(From OE-Core rev: 4aad9531df44d1b0637bd559161702ad86861b46)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:50 +01:00
Ricardo Ribalda Delgado
c81d5c6243 wic: Avoid creating invalid pseudo directory
If the source of the rootfs is not a bitbake cooked image, or it is not
pointing to the root of one, we call pseudo again, which will produce
a new pseudo folder at rootfs/../pseudo

Eg:

part /etc --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4

Cc: Paul Barker <pbarker@konsulko.com>
(From OE-Core rev: 799a24ae78655f7a3eda7456b1a0ffaf3e43ec16)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:50 +01:00
Ricardo Ribalda Delgado
19e778fe1b wic: Continue if excluded_path does not exist
If an excuded path does not exist, continue without an error.
This allows to seamleasly reuse .wks among different projects.

Eg:

part / --source rootfs --fstype=ext4 --exclude-path=opt/private_keys

Where /opt/private_keys in only populated by some of the image.bb files.

Cc: Paul Barker <pbarker@konsulko.com>
(From OE-Core rev: 2dbd692b8e563cf991fb4ae1ef6129fda0d7e3c4)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:50 +01:00
Ricardo Ribalda Delgado
d19004da2f wic: Add --change-directory argument
This option allows to specify which part of a rootfs is going to be
included, the same way the -C argument on tar.

Thanks to this option we can make sure the permissions and usernames
on the target partition are respected, and also simplify the creation of
splitted partitons, not neeting to invoke external vars or using .wks.in
files. Eg:

part / --source rootfs --ondisk sda --fstype=ext4 --exclude-path=etc/   
part /etc --source rootfs --fstype=ext4 --change-directory=etc

Cc: Paul Barker <pbarker@konsulko.com>
(From OE-Core rev: 2265d089a58e1f78f26d623ee667c420cb1c3bd4)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:50 +01:00
Ricardo Ribalda Delgado
c58711f0ea wic: Fix multi images .wks with bitbake
In order to support .wks files with multiple images inside bitbake we
need to explicitly set the pseudo database in use.

Eg: If we try this .mks:
part / --source rootfs --ondisk sda --fstype=ext4
part /export --source rootfs --rootfs=core-image-minimal-mtdutils --fstype=ext4

The username for all the files under /export will be set to the runner
of bitbake (usually UID 1000).

Before we run wic, we need to make sure that the pseudo database will be
flushed, and contains all the data needed.

Cc: Paul Barker <pbarker@konsulko.com>
(From OE-Core rev: dde90a5dd2b22a539095d1bac82acc15c6380ac8)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26 14:00:50 +01:00