* I'm trying to fix random build failure from world builds: tests-install sometimes fails as shown bellow: cp: cannot stat 'group.list': No such file or directory ... mv: failed to preserve ownership for 'group.list': Invalid argument whole log: 2023.10.29: http://errors.yoctoproject.org/Errors/Details/752403/ 2024.01.14 http://errors.yoctoproject.org/Errors/Details/752404/ * Interestingly I finally triggered this error for first time in my local build (when rebuilding it after reverting this upgrade - which might be just coincidence), here is the log: While looking at this a bit more, I've noticed that install-sh in: # install-sh script in the project is outdated # we use the one from the latest libtool to solve installation issues # It looks like the upstream is not interested in having it fixed :( # https://www.spinics.net/lists/fstests/msg16981.html do_configure:prepend() { cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B} } is copied only to ${B}, but Makefile still has "cp include/install-sh ." which was removed in proposed change for upstream: https://www.spinics.net/lists/fstests/msg16899.html but here it isn't, so shouldn't we copy it to ${B}/include to make sure that make won't use the old version? So I've tried to add: cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B}/include in do_configure:prepend and then I've triggered the build failure again this time with 2024.01.14 version as well by running: for i in `seq -w 1 100`; do bitbake -c cleansstate xfstests; bitbake -k xfstests 2>&1 | tee log.xfstests.$i; done so the issue isn't fixed in the 2024.01.14 version, but maybe it's a bug introduced by our install-sh? It was rejected by upstream in: https://www.spinics.net/lists/fstests/msg16928.html This install-sh has been used for performance reason, I'd like keep it if possible. Would you please describe the failures you hit in cross-compilation env? It'd be great if we could fix the env issue. Also the important error isn't: "mv: failed to preserve ownership for 'group.list': Invalid argument" because that's shown in all the builds: xfstests $ grep -c "mv: failed to preserve ownership for 'group.list': Invalid argument" */temp/log.do_install* 2023.10.29-broken/temp/log.do_install:14 2023.10.29-broken/temp/log.do_install.1094046:14 2023.10.29-fixed-after-broken/temp/log.do_install:14 2023.10.29-fixed-after-broken/temp/log.do_install.1094046:14 2023.10.29-fixed-after-broken/temp/log.do_install.1120923:14 2023.10.29/temp/log.do_install:14 2023.10.29/temp/log.do_install.1094046:14 2024.01.14-ok/temp/log.do_install:14 2024.01.14-ok/temp/log.do_install.1186155:14 but the "cp: cannot stat 'group.list': No such file or directory" which is shown only in the ones which in the end failed: xfstests $ grep cp */temp/log.do_install* 2023.10.29-broken/temp/log.do_install:cp: cannot stat 'group.list': No such file or directory 2023.10.29-broken/temp/log.do_install.1094046:cp: cannot stat 'group.list': No such file or directory 2023.10.29-fixed-after-broken/temp/log.do_install.1094046:cp: cannot stat 'group.list': No such file or directory 2023.10.29/temp/log.do_install:cp: cannot stat 'group.list': No such file or directory 2023.10.29/temp/log.do_install.1094046:cp: cannot stat 'group.list': No such file or directory So I guess we should just drop this install-sh hack from do_configure completely as cross-compilation seems to be fixed upstream already in: https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/commit/?id=5d20084fefaf09e86be26d7c71bd1c7ac2a2b35c xfstests/2024.01.14-ok/git $ git log --oneline include/install-sh fa993e51 include/: spdx license conversion da7916f7 build: Use the original install-sh file from SGI xfstests/2024.01.14-ok/git $ git log --oneline install-sh 5d20084f build: allow cros-compilation on chromeOS e3ca126a xfstests: respect DESTDIR when installing fa6a7868 xfsqa: more sh to bash conversions 491d467f Add GPL license plate to SGI's files. d259454b Update copyright annotations and license boilerplates to correspond with SGI Legals preferences. Merge of master-melb:xfs-cmds:24329a by kenmcd. 3ef12e38 Update copyright dates (again) bc4eb461 Undoes mod: xfs-cmds:slinx:120772a Undo xfs-cmds:slinx:120772a, inadvertently whacked a previous mod. 8ce73f86 Update copyright dates db6944ec need a copy of this here too. * buildhistory doesn't show any difference, so all the files are installed in the same location as before Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This README file contains information on the contents of the filesystems layer.
Please see the corresponding sections below for details.
Dependencies
This layer depends on:
URI: git://git.openembedded.org/openembedded-core layers: meta branch: master
URI: git://git.openembedded.org/meta-openembedded layers: meta-oe branch: master
Patches
Please submit any patches against the filesystems layer to the OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org) with '[meta-filesystems]' in the subject.
Layer maintainer: Khem Raj raj.khem@gmail.com
When sending single patches, please use something like:
git send-email -1 -M
--to openembedded-devel@lists.openembedded.org
--subject-prefix='meta-filesystems][PATCH'
Table of Contents
I. Adding the filesystems layer to your build II. Misc
I. Adding the filesystems layer to your build
In order to use this layer, you need to make the build system aware of it.
Assuming the filesystems layer exists at the top-level of your yocto build tree, you can add it to the build system by adding the location of the filesystems layer to bblayers.conf, along with any other layers needed. e.g.:
BBLAYERS ?= "
/path/to/yocto/meta
/path/to/yocto/meta-oe
/path/to/yocto/meta-filesystems
"
II. Misc
--- physfs --- A library to provide abstract access to various archives
--- fuse --- Filesystem in Userspace (FUSE) is a simple interface for userspace programs to export a virtual filesystem to the Linux kernel.
--- ifuse --- A fuse filesystem to access the contents of an iPhone or iPod Touch
--- sshfs-fuse --- A filesystem client based on the SSH File Transfer Protocol
--- owfs --- An easy way to use the 1-Wire file system
--- ntfs-3g-ntfsprogs --- The ntfs-3g is a freely available read/write NTFS driver for Linux and ntfsprogs includes utilities for doing all required tasks to NTFS partitions.
--- cramfs --- Builds cramfs filesystems for embedded systems
--- smbnetfs --- SMBNetFS is a Linux/FreeBSD filesystem that allow you to use samba/microsoft network in the same manner as the network neighborhood in Microsoft Windows.
--- fuse-exfat --- A read and write exFAT driver for FUSE
--- exfat-utils --- Utilities to create, check, label and dump exFAT filesystem
--- f2fs-tools --- Tools needed for creating and managing f2fs partitions
--- xfsprogs --- It provides XFS filesystem utilities.