summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* iputils: Initialize libgcryptMingli Yu2020-05-022-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | 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: https://salsa.debian.org/apt-team/apt/-/commit/4f489a8c7954cbbc9613e6b671c8efe87b9ced8c (From OE-Core rev: 7d37d129012d723b7c6ade0a763b877b657e1248) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dnf: add a patch for base-files installation failuresAlexander Kanavin2020-05-022-0/+30
| | | | | | | (From OE-Core rev: 742a1b71249f4da1c8d8e13e270b0eb6128a3f66) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dnf: upgrade 4.2.2 -> 4.2.21Alexander Kanavin2020-05-022-36/+1
| | | | | | | | | 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>
* libdnf: upgrade 0.28.1 -> 0.47.0Alexander Kanavin2020-05-025-147/+54
| | | | | | | | | | | | | | 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>
* libmodulemd: move from 1.x to 2.x versionAlexander Kanavin2020-05-025-29/+58
| | | | | | | | | | 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>
* rpm: upgrade to 4.15.1Alexander Kanavin2020-05-029-845/+90
| | | | | | | | | | | | | | | | | | 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>
* abi_version/staging: Bump versions to force rebuild after sstate corruptionRichard Purdie2020-05-022-1/+2
| | | | | | | | | | | | | | | | | | 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>
* gcc-target: Ensure buildtools-extended-tarball doesn't use arch=nativeRichard Purdie2020-05-021-5/+5
| | | | | | | | | | | | | | 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>
* sanity: Require gcc 6 or laterRichard Purdie2020-05-021-3/+3
| | | | | | | | | 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>
* pbzip2: Fix license warningMingli Yu2020-04-301-1/+1
| | | | | | | | | | | | | | | 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>
* image/packagegroup: Remove PACKAGE_GROUP_*, long since deprecatedRichard Purdie2020-04-293-12/+2
| | | | | | | | 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>
* populate_sdk_base: create_sdk_files: Use _nativesdk variants for libdir and ↵Ovidiu Panait2020-04-291-2/+2
| | | | | | | | | | | | 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>
* populate_sdk_base: Add ld.so.conf for nativesdk-binutilsOvidiu Panait2020-04-292-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* pseudo: add macro guard for seccompKai Kang2020-04-291-1/+14
| | | | | | | | | | | | | | | | 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>
* baremetal-helloworld: Fix IMGDEPLOYDIR expansionAlejandro Hernandez2020-04-291-0/+1
| | | | | | | | | | | | | | 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>
* newlib: Upgrade to latest yearly release 3.3.0Alejandro Hernandez2020-04-293-2/+1
| | | | | | | | | | 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>
* libffi: fix v3.3 compile on ppc64leAndrew Geissler2020-04-292-0/+63
| | | | | | | | | | | | | | 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>
* buildtools-extended-tarball: add libgomp-devAlexander Kanavin2020-04-291-0/+1
| | | | | | | | | | 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>
* python3-numpy: update to 1.18.3Alexander Kanavin2020-04-294-135/+80
| | | | | | | (From OE-Core rev: f31e3d2e55962472ba585736a7190e833b9bdf87) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pyparsing: update to 2.4.7Alexander Kanavin2020-04-292-2/+3
| | | | | | | (From OE-Core rev: e73b429a3b32e319f0cdbb932a476ba96e40f5a5) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-cython: update to 0.29.16Alexander Kanavin2020-04-292-2/+2
| | | | | | | (From OE-Core rev: b3f2ed624e772997c356d2b9690dc65ebd551dc0) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* maintainers.inc: add entries for cython and pyparsingAlexander Kanavin2020-04-291-0/+2
| | | | | | | (From OE-Core rev: 74f1170657aa92c809b7b903d00415fbd8e6adf3) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-cython: add from meta-oeAlexander Kanavin2020-04-292-0/+59
| | | | | | | | | 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>
* python3-pyparsing: add from meta-oeAlexander Kanavin2020-04-292-0/+24
| | | | | | | | | 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>
* gobject-introspection: update to 1.64.1Alexander Kanavin2020-04-299-461/+12
| | | | | | | | | | | 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>
* perl: update to 5.30.2Alexander Kanavin2020-04-294-71/+3
| | | | | | | | | | | | | 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>
* oeqa/qemurunner: Clean up failure handlingRichard Purdie2020-04-261-3/+8
| | | | | | | | | | | | | | | 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>
* targetcontrol: Fix leaking log handlerRichard Purdie2020-04-261-3/+4
| | | | | | | | | | | | | | | | | | 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>
* python3: fix CVE-2020-8492Trevor Gamblin2020-04-262-0/+249
| | | | | | | | | 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>
* python3-setuptools: change shebang to python3Changqing Li2020-04-262-0/+38
| | | | | | | | | | | | 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>
* python3-pip: change shebang to python3Changqing Li2020-04-262-0/+62
| | | | | | | | | | | | 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>
* python3-pbr: change shebang to python3Changqing Li2020-04-262-0/+44
| | | | | | | | | | | | 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>
* busybox: Correct the name of the bzip2 licensePeter Kjellerstedt2020-04-261-1/+1
| | | | | | | | | | 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>
* u-boot: Upgrade 2020.01 -> 2020.04Alex Kiernan2020-04-263-1/+1
| | | | | | | (From OE-Core rev: da4b1de11213f988317bee1c9da356a506ef0acc) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binutils: Install PIC version of libiberty.aKhem Raj2020-04-261-0/+5
| | | | | | | | | | | | 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>
* binutils: Detect proper static-libstdc++ support when using clangKhem Raj2020-04-262-0/+49
| | | | | | | | | | 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>
* gcc: Configure all gccs with --disable-install-libibertyKhem Raj2020-04-264-14/+1
| | | | | | | | | | | | | | | 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>
* oeqa: wic: Add more tests for include_pathRicardo Ribalda Delgado2020-04-261-1/+62
| | | | | | | | | | | | 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>
* wic: rootfs: Combine path_validation in one functionRicardo Ribalda Delgado2020-04-261-22/+19
| | | | | | | | | | | 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>
* wic: root: Add an opt. destination on include-pathRicardo Ribalda Delgado2020-04-264-12/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* wic: misc: Do not find for executables in ASSUME_PROVIDEDRicardo Ribalda Delgado2020-04-261-2/+12
| | | | | | | | | | | 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>
* oeqa: wic: Add tests for permissions and change-directoryRicardo Ribalda Delgado2020-04-261-0/+90
| | | | | | | | | | | | | 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>
* wic: Avoid creating invalid pseudo directoryRicardo Ribalda Delgado2020-04-261-7/+8
| | | | | | | | | | | | | | | | 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>
* wic: Continue if excluded_path does not existRicardo Ribalda Delgado2020-04-261-1/+3
| | | | | | | | | | | | | | | | | 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>
* wic: Add --change-directory argumentRicardo Ribalda Delgado2020-04-264-3/+26
| | | | | | | | | | | | | | | | | | | 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>
* wic: Fix multi images .wks with bitbakeRicardo Ribalda Delgado2020-04-262-8/+9
| | | | | | | | | | | | | | | | | | | | | 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>
* wic: Fix permissions when using exclude or include pathRicardo Ribalda Delgado2020-04-262-6/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When parameters include_path or exclude_path are passed to the rootfs plugin, it will copy the partition content into a folder and make all the modifications there. This is done using copyhardlinktree(), which does not take into consideration the content of the pseudo folder, which contains the information about the right permissions and ownership of the folders. This results in a rootfs owned by the user that is running the wic command (usually UID 1000), which makes some rootfs unbootable. This bug can be easily triggerd with the following .wks part / --source rootfs --fstype=ext4 --exclude-path=home And this sequence: $ wic create test-permissions -e core-image-minimal -o test/ $ sudo mount test/test-permissions-202004080823-sda.direct.p1 /mnt $ ls -la /mnt/etc/shadow To fix this we copy the content of the pseudo folders to the new folder and modify the pseudo database using the "pseudo -B" command. If the rootfs is not a rootfs generated by bitbake a warning is shown making the user aware that the permissions on the target might not match what he expects. WARNING: /tmp/test/../pseudo folder does not exist. Usernames and permissions will be invalid Cc: Paul Barker <pbarker@konsulko.com> (From OE-Core rev: fd739c15cdba221d9d497d3402b7d929c0be2ca4) Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Fix overlapping file failuresRichard Purdie2020-04-261-2/+10
| | | | | | | | | | | | | | | | | | | If there are different providers of a file and they are swiched when the recipe isn't machine specific, we can get tracebacks due to the overlapping files. The issue is that the previous provider isn't uninstalled since the system can't tell whether some later task needs them. By tracking which tasks we depend upon, the code can now choose to uninstall more things since a later task can reinstall if/as needed. The code here was to protect against code with two different tasks running in parallel which is still protected agaisnt. [YOCTO #13702] (From OE-Core rev: 9d8e6daa866d2f19b2a6324072b984a866715426) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Add test for conflicting sysroot providerRichard Purdie2020-04-264-0/+71
| | | | | | | | | | | | | | | | | | sysroot-test depends on virtual/sysroot-test which we build for one machine, switch machine, switch provider of virtual/sysroot-test and check that the sysroot is correctly cleaned up. The files in the two providers overlap so can cause errors if the sysroot code doesn't function correctly. Yes, sysroot-test should be machine specific really to avoid this, however the sysroot cleanup should also work. This adds a test for bug: [YOCTO #13702] (From OE-Core rev: 24ca62b3c1fd404b67d549b29aeeacf913e6dc86) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: get_package_mapping: avoid dependency mapping if renamed package ↵Yann Dirson2020-04-261-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | provides original name Packages with a runtime dependency on a target package whose name is changed by the PKG_* mechanism must rebuild when that mapping changes, but we have no way of tracking this today, so eg. packagegroup-machine-base ends up with a relationship on a versioned kernel-image, and does not get rebuilt when that version changes, leading to unsatisfiable dependency and reproducibility issue. OTOH there is no reason for the dependency to get rewritten if the renamed package already has a RPROVIDES on the non-rewritten package name, and if the dependency relationship is an unversionned one. This is what this patch prevents. Note that this may not cover all cases of rewritten package names. Notably I had to let the rewrite be done in the case of versionned dependencies, as package managers usually can follow "Provides" in such case; this includes many dependencies against shared-lib packages renamed to their soname, and those at least are OK, since the dependent recipe should explicitly depend on the target recipe. (From OE-Core rev: 920beaaeef62b558e046f32c8ef0332250969ef1) Signed-off-by: Yann Dirson <yann@blade-group.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>