summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* externalsrc: No single-task lock if S != BDouglas Royds2020-10-171-1/+1
| | | | | | | | | | Allow different recipes to build things from the one external source tree in parallel, but only if the build is happening outside the source tree. (From OE-Core rev: 8c6b12683c3160a5b7c62d1fe00a9f848e062df0) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* local.conf.sample.extended: Fix comment typoNaoki Hayama2020-10-131-1/+1
| | | | | | | | | | | Fix comment typo. s/overriden/overridden/ s/spefying/specifying/ (From meta-yocto rev: 5c73a7a8cc2ab739128ffe79f29ac5a6acb51c0e) Signed-off-by: Naoki Hayama <naoki.hayama@lineo.co.jp> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* local.conf.sample: Fix comment typoNaoki Hayama2020-10-131-1/+1
| | | | | | | | | | Fix comment typo. s/necesary/necessary/ (From meta-yocto rev: 94d1714f8ecbedb6fabad72c58d3e4e86c087202) Signed-off-by: Naoki Hayama <naoki.hayama@lineo.co.jp> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: update genericx86* SRCREV for 5.8Naveen Saini2020-10-131-4/+4
| | | | | | | | | Bump to kernel release v5.8.13 (From meta-yocto rev: 1c7a7a43213d53d2b9cd1dd850ae1b859400426a) Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: update genericx86* SRCREV for 5.4Naveen Saini2020-10-131-4/+4
| | | | | | | | | Bump to kernel release v5.4.69 (From meta-yocto rev: 672c04902d733e150a5bbdbcb6cc9ce1cc5ee9a9) Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* IMAGE_LOCALES_ARCHIVE: add option to prevent locale archive creationMichael Thalmeier2020-10-132-7/+11
| | | | | | | | | | | | Under some circumstances it is not desirable to create a combined locale archive (/usr/lib/locale/locale-archive). The new variable IMAGE_LOCALES_ARCHIVE defaults to '1', so the default behaviour is not changed. (From OE-Core rev: 8d78b819c2ec33fce3a34254fa90864ee5fa7617) Signed-off-by: Michael Thalmeier <michael.thalmeier@hale.at> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uninative: Fix typo in error messageNaoki Hayama2020-10-131-1/+1
| | | | | | | | | | Fix typo in an error message. s/verson/version/ (From OE-Core rev: bc96db2e0b5b8a9cc2c909ea70df290e03a50b94) Signed-off-by: Naoki Hayama <naoki.hayama@lineo.co.jp> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tune-cortexa65.inc: Correct TUNE_FEATURES_tune-cortexa65Peter Kjellerstedt2020-10-131-1/+1
| | | | | | | | | It incorrectly specified "cortexa55" instead of "cortexa65". (From OE-Core rev: 25317c51d4d0ac922f4bd555aae9fbfe48a1aa40) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tune-cortexa32: fix cortexa32 tuneJon Mason2020-10-131-1/+1
| | | | | | | | | | Cortex-A32 is 32bit only, but the recent changes had it working as 64bit (causing build breaks). This reverts that change in this file. (From OE-Core rev: 2957379c85c245f183e7e94e30c2b504fc25cedf) Signed-off-by: Jon Mason <jon.mason@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/waf: Add build and install argumentsJoshua Watt2020-10-131-2/+7
| | | | | | | | | | | | | Adds variables that can be used to allow a recipe to pass extra arguments to `waf build` and `waf install`. In most cases, you want to pass the same arguments to `build` and `install` (since install is a superset of `build`), so by default setting EXTRA_OEWAF_BUILD also affects `waf install`, but this can be overridded. (From OE-Core rev: 493e17a2f5cbbbe3b1e435dadb281b007bca2cbf) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: process: Show command exceptions in the server log as wellRichard Purdie2020-10-111-0/+1
| | | | | | | | | | There are autobuilder logs where the server commands are failing but we have no debug info in the server log. Improve this to try and understand what is failing. (Bitbake rev: 04d3a79226c9ea448b22f4efbab33876a72c9bdb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/runtime_test: Exclude gpg directory from pseudo databaseRichard Purdie2020-10-101-0/+1
| | | | | | | | | Avoid pseudo abort()s like: path mismatch [1 link]: ino 6295376 db '/tmp/oeqa-feed-sign-2mw7z81v/S.gpg-agent.yocto-native' req '/tmp/jwkivmu6'. (From OE-Core rev: 189630ca6cdf7ceb6cf9b8f9d86c58997f505efc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* skeleton/baremetal-helloworld: Fix trailing slashRichard Purdie2020-10-101-1/+1
| | | | | | | | This fixes a warning about a trailing slash on ${S}. (From OE-Core rev: 0685dac31a7ae614d9f75cd51b59c45dd050f52e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rngd: fix --debug to also filter syslog() callsYann Dirson2020-10-102-0/+47
| | | | | | | | | | | | | | | Debug logs were only controlled by --debug flag while in --foreground mode. In --daemon mode (the default for us) /var/log/message got stuffed with details of entropy pool refilling, which is useless in production, and hamful when log rotation then gets rid of the more useful logs. This change makes the two modes consistently only produce debug logs when --debug is specified. (From OE-Core rev: 914526868656fd279b13ba8e4d721d27cb2a8792) Signed-off-by: Yann Dirson <yann@blade-group.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake-bblayers/create: Make the example recipe print its messageYoann Congal2020-10-101-1/+3
| | | | | | | | | | | | | | The example recipe is setup to print a message using bb.plain() in the "do_build" task but this task is "noexec" so the message never prints. This might be confusing. This moves the message printing into another "do_display_banner" task and add it to the do_build "before" list. (From OE-Core rev: 252385bef9b226f32691b8513869ea3e41813b40) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-build-perf-report: Ensure correct data is shown for multiple branch optionsRichard Purdie2020-10-101-2/+2
| | | | | | | | | If --branch and --branch2 are the same, there is extra confusing data plotted onto the graph. Only do that if the branches are actually different. (From OE-Core rev: c263d810b7eb47ee90f2adeb5ab6decf7332bec2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-build-perf-report: Allow operation with no buildstatsRichard Purdie2020-10-101-1/+1
| | | | | | | | If buildstats is missing, avoid a backtrace. (From OE-Core rev: 23c4b21f947c7aae1303ca6526fc5aaaa9fc7bb8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: warn when there is trailing slash in S or B variablesMartin Jansa2020-10-101-0/+5
| | | | | | | | | | | | | | | | | | | | * to make sure we won't hit such corner cases in future add a warning to prevent trailing slashes and duplicated slashes even when they in most cases don't cause harm * only a few cases were found in layers included in my world builds: oe-core: 1 meta-oe: 7 meta-python2: 1 meta-qt5: 1 meta-aws: 1 will send patches for these once this warning is approved for oe-core (From OE-Core rev: 8a4c473c07cba159cf88ed775b9f073c6adf31d4) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mtd-utils: don't use trailing slash in SMartin Jansa2020-10-101-1/+1
| | | | | | | (From OE-Core rev: c77651549dd382007c60767076a1a1c72e282bca) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: use os.path.normpath instead of just comparing WORKDIR and S ↵Martin Jansa2020-10-101-2/+2
| | | | | | | | | | | | | | | | | | | as strings * cannot use os.path.samefile, because S/B might not exist at this time yet * there is issue with PSEUDO_IGNORE_PATHS when some recipe sets e.g. S = "${WORKDIR}/" whole WORKDIR gets added to PSEUDO_IGNORE_PATHS and then the build can fail with various strange errors, in my case do_package was failing when do_package calls: fix_perms(.../1.0-r0/package/etc, 755, 0, 0, /etc) and fails with "[Errno 1] Operation not permitted:" (From OE-Core rev: 50b11a61ab29acb8ec990668353e0b7305114628) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: When sending commands we need to process eventsRichard Purdie2020-10-101-1/+10
| | | | | | | | | | | | | The server may be displaying useful information for the user through log messages so we should display anything that has been sent. Its either this or expecting every UI to implement this code around every command call which isn't good API. [YOCTO #14054] (Bitbake rev: 64ae9d7e2fad804dd9e12706c6d76b4b22f9586b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: command: Ensure exceptions inheriting from BBHandledException are ↵Richard Purdie2020-10-101-1/+5
| | | | | | | | | | | | | | visible Previous changes allowed BBHandledException to be detected but not exceptions which inherit from it. Fix this. The code really needs totally reworking to preserve the exceptions. [YOCTO #14054] (Bitbake rev: ef762d92df6c2554c6248e80212f984d9ec4c651) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* poky.conf: Drop OELAYOUT_ABI pokingRichard Purdie2020-10-091-8/+0
| | | | | | | | This has been the same as OE-Core for a long time, drop our custom settings. (From meta-yocto rev: 8c1084f3fd4ca987c3307f4c4c1475b40060ce3f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Upgrade to include mkostemp64 wrapperRichard Purdie2020-10-091-1/+1
| | | | | | | | | | | Newer systems are using this currently unwrapped glibc function, add it. [YOCTO #14080] (From OE-Core rev: cba4f51f0166e2c20e854ee0344be0c58769eaca) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Update to account for patches merged on branchRichard Purdie2020-10-099-735/+1
| | | | | | (From OE-Core rev: ea22fb3aa1c5dd3edcd1d8b415a0843a9ee4677c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* abi_version,sanity: Tell users TMPDIR must be clean after pseudo changesRichard Purdie2020-10-092-1/+4
| | | | | | | | | | | After the recent path ignore changes, there are invalid entries in exiting pseudo databases which will trip up users with the new abort() (proving how common the pseudo potential corrpution is!). Inform them a clean TMPDIR is needed. (From OE-Core rev: 016ee90e210c9b15b80e8370d83f41a14867a413) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* timezone: update to 2020bArmin Kuster2020-10-092-9/+7
| | | | | | | | | For more info see: https://github.com/eggert/tz/blob/master/NEWS (From OE-Core rev: b19bc7ae71a59673bd725e1de3251667c2026ed5) Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* armv8/tunes: Add tunes for supported ARMv8.2a coresJon Mason2020-10-0910-0/+169
| | | | | | | | | | | | Add tunes for all the ARMv8.2a cores currently supported in GCC. This is: Cortex-A65, Cortex-A65AE, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Neoverse-E1, Neoverse-N1, Cortex-A75-Cortex-A55, and Cortex-A76-Cortex-A55. (From OE-Core rev: f15e83df1d4ed4172b43d5b353cf42640862a28e) Signed-off-by: Jon Mason <jon.mason@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* armv8/tunes: Add tunes for supported ARMv8a coresJon Mason2020-10-093-0/+57
| | | | | | | | | | Add tunes for all the ARMv8a cores currently supported in GCC. This is: Cortex-A34, Cortex-A73, and Cortex-A73-Cortex-A35. (From OE-Core rev: fdf6921f145658b1f1c2e7413a2cde6857ddb768) Signed-off-by: Jon Mason <jon.mason@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* armv8/tunes: reference parent's TUNE_FEATURESJon Mason2020-10-099-11/+9
| | | | | | | | | Uniformity clean-up, have the individual tunes reference the armv8a TUNE_FEATURES. (From OE-Core rev: 3ac533127d444f39ad550ce923f494d0eb766ab5) Signed-off-by: Jon Mason <jon.mason@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* armv8/tunes: Move TUNECONFLICTSJon Mason2020-10-094-3/+1
| | | | | | | | | | Move TUNECONFLICTS to the generic arm64 inc file, so that it can provide coverage for more than just the big.LITTLE tunes. (From OE-Core rev: 8022543d79b62b0daa4c988e17cd3e2c364d3cf1) Signed-off-by: Jon Mason <jon.mason@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemumips: use 34Kf-64tlb CPU emulationVictor Kamensky2020-10-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | In order to improve performance of qemumips autobuilder test runs, let's use 34Kf-64tlb cpu type that was introduced in OE version of qemu. 34Kf-64tlb cpu type is identical to 34Kf but it has 64 TLBs configure vs original 16 TLBs. The change in number of TLBs in emulated CPU reduces TLB trash and reduces number of times TLB refill kernel code runs, and therefore siginificantly improves tests execution time. Note 34Kf-64tlb qemu cpu type does not exist in upstream, so far it is added as patch in OE. See qemu 34Kf-64tlb cpu addition commit for more details. Fixes https://bugzilla.yoctoproject.org/show_bug.cgi?id=13992 (From OE-Core rev: 6a9568401cbf8bed89d1f63dae61a07a83a20b50) Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: add 34Kf-64tlb fictitious cpu typeVictor Kamensky2020-10-082-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Yocto Project PR 13992 it was reported that qemumips in autobuilder runs almost twice slower then qemumips64 and some times hit time out. Upon investigations of qemu-system with perf, gdb, and SystemTap and comparing qemumips and qemumips64 machines behavior it was noticed that qemu soft mmu code behaves quite different and in case if qemumips tlbwr instruction called 16 times more oftern. It happens that in qemumips64 case qemu runs with cpu type that contains 64 TLB, but in case of qemumips qemu runs with cpu type that contains only 16 TLBs. The idea of proposed qemu patch is to introduce fictitious 34Kf-64tlb cpu type that defined exactly as 34Kf but has 64 TLBs, instead of original 16 TLBs. Testing of core-image-full-cmdline:do_testimage with 34Kf-64tlb shows 40% or so test execution real time improvement. Note for future porters of the patch: easiest way to update the patch and be in sync with 34Kf definition is to copy 34Kf machine definition and apply the following changes to it (just change 15 to 63 of CP0C1_MMU bits value) [kamensky@coreos-lnx2 qemu]$ diff ~/34Kf.c ~/34Kf-64tlb.c 2c2 < .name = "34Kf", > .name = "34Kf-64tlb", 6c6 < .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (15 << CP0C1_MMU) | > .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (63 << CP0C1_MMU) | Fixes https://bugzilla.yoctoproject.org/show_bug.cgi?id=13992 Upstream Status: Inappropriate (From OE-Core rev: 4470a04943352224955f17e004962f0f9e1c9b0c) Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* docs: Fix license CC-BY-2.0-UK -> CC-BY-SA-2.0-UKRichard Purdie2020-10-0881-81/+81
| | | | | | | | | | | When the license identifier tags were added, an incorrect string was used and the Share-Alike clause was lost. Fix this to match the license description in the files and add back the lost piece (its clear from the history it should be there) (From yocto-docs rev: 8d30c3d792755a7bfdb74b331dad98f51d3516af) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* boost: consolidate and update library listRoss Burton2020-10-081-12/+6
| | | | | | | | | | | | | | | | Add some new libraries to the list (fiber, headers, type_erasure). Move context/coroutine to the list instead of using overrides as it builds everywhere I can test it. Remove the mips16e override for wave as Boost fails so dramatically with mips16e enabled that this isn't even close to a fix. Someone who cares can fix this properly. (From OE-Core rev: 092228f2df6869e31b157ea08766b3e94bee6e29) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* boost: don't specify gcc versionRoss Burton2020-10-081-1/+1
| | | | | | | | | | There's no need to specify an ancient GCC version here as Boost will probe it. (From OE-Core rev: 2339bf5b0aceb8e55f4b38e44b2383389e514393) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* boost: build a standalone boost.buildRoss Burton2020-10-084-23/+28
| | | | | | | | | | | | | | | | Boost is a huge unirepo made from multiple submodules. To bootstrap it we need boost.build (previously bjam) which is also available as a solo repository. This smaller repository can unpack/build/package faster than the Boost unirepo can unpack. Rename the recipe to the current name of Boost.Build that installs a b2 binary, use the solo repository, and update the Boost recipe to use the b2 binary instead of bjam. (From OE-Core rev: 76079f921e596125b0e281ca95e2394d7688aaf2) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Extend PSEUDO_IGNORE_PATHS to ${COREBASE}/metaRichard Purdie2020-10-081-1/+1
| | | | | | | | | Unfortunately, .pyc files can be generated in meta/lib/oe which corrupt the pseudo database so we need to extend the ignore list to cover this as well. (From OE-Core rev: e0cb6dd689a362d8433caa14cc5a9fdd5eb44923) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* strace: Fix value of IPPROTO_MAXKhem Raj2020-10-082-0/+71
| | | | | | | | | | | | | This should also fix build with musl ../strace-5.8/xlat/inet_protocols.h:239:1: error: static assertion failed: "IPPROTO_MAX != 256" 239 | static_assert((IPPROTO_MAX) == (256), "IPPROTO_MAX != 256"); | ^~~~~~~~~~~~~ (From OE-Core rev: 8b0438b5d4850aaca0f725f9ad5d040b90b1347b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* musl: Update to masterKhem Raj2020-10-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings following changes, supports linux 5.8 syscalls [1] * a5aff197 avoid set*id/setrlimit misbehavior and hang in vforked/cloned child * 55fb9a17 use new SYS_faccessat2 syscall to implement faccessat with flags * f035c7b1 netinet/if_ether.h: add ETH_P_MRP from linux v5.8 * 6b1741aa elf.h: add .note.gnu.property related definitions * 9b7ed970 bits/syscall.h: add __NR_faccessat2 from linux v5.8 * 616a8bf6 netinet/tcp.h: update to linux v5.7 * a6c302be sys/mman.h: add MREMAP_DONTUNMAP from linux v5.7 * 8adf42f7 sys/fanotify.h: update to linux v5.7 * 94ab68c2 aarch64: add new HWCAP2_ macros from linux v5.6 * 0296baff aarch64: add HWCAP2_ macros from linux v5.3 * 43b640c2 sched.h: add CLONE_NEWTIME from linux v5.6 * 3da18e69 sys/random.h: add GRND_INSECURE from linux v5.6 * 8f4aa78a sys/prctl.h: add PR_{SET,GET}_IO_FLUSHER from linux v5.6 * 1ab341e8 netinet/udp.h: add TCP_ENCAP_ESPINTCP from linux v5.6 * c6321616 netinet/tcp.h: update for linux v5.6 * 8fca0ea4 netinet/in.h: add IPPROTO_ macros from linux v5.6 * d9900903 add pidfd_getfd and openat2 syscall numbers from linux v5.6 * d4f29814 netinet/tcp.h: update tcp_info for linux v5.5 [1] https://git.musl-libc.org/cgit/musl/log/?qt=range&q=ffac0c229986725c0d0f3c806bafa7e3ca409f3b..a5aff1972c9e3981566414b09a28e331ccd2be5d (From OE-Core rev: e104d235cb14f0d58bfefe48e3888430503ba619) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: fix modify with patches in override directoriesRoss Burton2020-10-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | If a recipe applies patches which are in machine-specific override directories, devtool will fail to fetch the patches that don't match the default configuration. For example where there are patches at qemux86/x86.patch and qemuarm/arm.patch: SRC_URI = "file://source" SRC_URI_append_qemuarm = " file://arm.patch" SRC_URI_append_qemux86 = " file://x86.patch" The patch apply phase sets OVERRIDES but does not set FILESOVERRIDES, so it cannot find the patch files as the search path isn't correct. Fix this by setting FILESOVERRIDES too. Also when iterating through the overrides we need to be sure that other overrides that are used are not enabled, so extend no_overrides instead of simply appending the current override. Fixes most but not all of [ YOCTO #14060 ]. (From OE-Core rev: a372cdf8e175423c47faeecc98ad076ee26bbec8) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: add test for recipes with patches in overridesRoss Burton2020-10-085-0/+39
| | | | | | | | | | devtool doesn't quite behave right when a recipe has patches applied in overrides, so add a test case to exercise that behaviour. (From OE-Core rev: ad89c3254cc6c06026f1bebe23ec3717c1546633) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: skip npm tests if nodejs-native isn't availableRoss Burton2020-10-082-0/+8
| | | | | | | | | | The tests are actually skipped if meta-oe isn't present which isn't quite the same thing, but hopefully close enough. (From OE-Core rev: d22ed015d8f38241acb783e1a468fb15d4317670) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: remove unused variableRoss Burton2020-10-081-1/+0
| | | | | | | | | This variable isn't used at all. (From OE-Core rev: 9676ee24d190b144cb50be6ebde3990644a6df2a) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Fix statx function usageRichard Purdie2020-10-082-0/+57
| | | | | | | | | | | There is magic in the posts where specific variable names have specific magic. For that magic to work, "path" needs to be used not "pathname" as is currently there. Fix this, which fixes path issues on systems using statx (Ubuntu 20.04 in particular). (From OE-Core rev: f9ae80aee98a7bb59c83ac9ebf9d317302507cec) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Handle new PSEUDO_IGNORE_PATHS variableRichard Purdie2020-10-072-6/+8
| | | | | | | | | Adjust wic to correctly handle the new PSEUDO_IGNORE_PATH variable and avoid inode corruption issues. (From OE-Core rev: 13500f5234361385c365c7c35e83f99435500481) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base/bitbake.conf: Enable pseudo path filteringRichard Purdie2020-10-077-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a pretty big change to the way pseudo operates when used in OpenEmbedded. Normally, pseudo monitors and logs (adds to its database) any file created or modified whilst in a fakeroot environment. There are large numbers of files we simply don't care about the permissions of whilst in that fakeroot context, for example ${S}, ${B}, ${T}, ${SSTATE_DIR}, the central sstate control directories, This change uses new functionality in pseudo to ignore these directory trees, resulting in a cleaner database with less chance of "stray" mismatches if files are modified outside pseudo context. It also should reduce some overhead from pseudo as the interprocess round trip to the server is avoided. There is a possible complication where some existing recipe may break, for example, we found a recipe which was writing to "${B}/install" for "make install" in do_install and since we listed ${B} as not to be tracked, there were errors trying to chown root for files in this location. This patch fixes a few corner cases in OE-Core when used with this new ignore list: * The archiver directory matched a "${WORKDIR}/deploy*" pattern so was renamed to something else since that directory does need its root permissions * The ${S} and ${B} ignoring is conditional on them being different to ${WORKDIR} * package_write_* task output (the debs/rpms/ipks) are now owned by the build user so we don't want the file ownership information in the hashequiv outhash calculation even if they are built under pseudo. * The fontcache postinstall intercept is run under qemu outside of pseudo context so delete files it may delete up front where pseudo can see this. * SSTATE_DIR is in PSEUDO_PATHS_IGNORE, which is in FAKEROOTENV which is cached by bitbake. We therefore need to trigger reparsing if this changes, which means SSTATE_DIR can be in BB_HASHBASE_WHITELIST but not BB_HASHCONFIG_WHITELIST. Rework the variables to handle this. This otherwise breaks some of our sstate tests in oe-selftest. * Ignore the temp directory wic uses for rebuilding rootfs. (From OE-Core rev: ad8f5532ffaead9a5ad13e1034fe9e5e1b7979f4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Add pathfix patchRichard Purdie2020-10-072-0/+26
| | | | | | | | | Add a path to fix up handling of dirfd being passed as a full file and with path="". (From OE-Core rev: 3006bbe7768e4efe33d3d2d3f5786a561ecbe96f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Add may unlink patchRichard Purdie2020-10-072-0/+38
| | | | | | | | | Mark files which are unlinked (nlink == 0) but open with fd's as "may-unlink" to avoid problematic database entries. (From OE-Core rev: e1e481f3608c05ab14c61bf45cd0837d7287b6a5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Fix xattr segfaultRichard Purdie2020-10-072-0/+41
| | | | | | | | | Fix a NULL pointer dereference exposed by the path ignore code in xattr handling. (From OE-Core rev: 929a27bf6cbca94d1141d2094ae0c915d93bd3f4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>