Message ID | 20240208234026.3515183-1-martin.jansa@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [meta-filesystems] xfstests: fix make install race condition | expand |
Thanks for fixing this. It has been hitting my CI often enough but still intermittently, these kind of issues are hard to deal with so extra kudos ! On Thu, Feb 8, 2024 at 3:40 PM Martin Jansa <martin.jansa@gmail.com> wrote: > * sometimes make install was failing with: > cp: cannot stat 'group.list': No such file or directory > and bunch of non-fatal messages: > mv: failed to preserve ownership for 'group.list': Invalid argument > > * this was when tools/mkgroupfile did > mv -f "$new_groups" "$groupfile" > overwritting the group.list file while install-sh was already > copying it to output > > * in the end easily reproducible by > 1) removing tests/*/group.list before each make install > 2) adding some sleep in mkgroupfile before the mv call > > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > --- > ...ake-sure-group.list-DIRT-exists-befo.patch | 239 ++++++++++++++++++ > .../xfstests/xfstests_2024.01.14.bb | 10 +- > 2 files changed, 242 insertions(+), 7 deletions(-) > create mode 100644 > meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch > > diff --git > a/meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch > b/meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch > new file mode 100644 > index 0000000000..5e8bf0c606 > --- /dev/null > +++ > b/meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch > @@ -0,0 +1,239 @@ > +From b30d5690d7245aa8bd5ca2896e629e62ec97afda Mon Sep 17 00:00:00 2001 > +From: Martin Jansa <martin.jansa@gmail.com> > +Date: Thu, 8 Feb 2024 23:01:36 +0100 > +Subject: [PATCH] tests/*/Makefile: make sure group.list DIRT exists before > + install > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +* sometimes make install was failing with: > + cp: cannot stat 'group.list': No such file or directory > + and bunch of non-fatal messages: > + mv: failed to preserve ownership for 'group.list': Invalid argument > + > +* this was when tools/mkgroupfile did > + mv -f "$new_groups" "$groupfile" > + overwritting the group.list file while install-sh was already > + copying it to output > + > +* in the end easily reproducible by > + 1) removing tests/*/group.list before each make install > + 2) adding some sleep in mkgroupfile before the mv call > + > +Upstream-Status: Submitted [ > https://lore.kernel.org/fstests/20240208225241.644701-1-martin.jansa@gmail.com/ > ] > + > +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > +--- > + tests/btrfs/Makefile | 2 +- > + tests/ceph/Makefile | 2 +- > + tests/cifs/Makefile | 2 +- > + tests/ext4/Makefile | 2 +- > + tests/f2fs/Makefile | 2 +- > + tests/generic/Makefile | 2 +- > + tests/nfs/Makefile | 2 +- > + tests/ocfs2/Makefile | 2 +- > + tests/overlay/Makefile | 2 +- > + tests/perf/Makefile | 2 +- > + tests/selftest/Makefile | 2 +- > + tests/shared/Makefile | 2 +- > + tests/tmpfs/Makefile | 2 +- > + tests/udf/Makefile | 2 +- > + tests/xfs/Makefile | 2 +- > + 15 files changed, 15 insertions(+), 15 deletions(-) > + > +diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile > +index 1b72a1a1..6d9995b4 100644 > +--- a/tests/btrfs/Makefile > ++++ b/tests/btrfs/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/ceph/Makefile b/tests/ceph/Makefile > +index 2761e1e9..5f24d518 100644 > +--- a/tests/ceph/Makefile > ++++ b/tests/ceph/Makefile > +@@ -12,7 +12,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/cifs/Makefile b/tests/cifs/Makefile > +index 62c48935..0b89a01d 100644 > +--- a/tests/cifs/Makefile > ++++ b/tests/cifs/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/ext4/Makefile b/tests/ext4/Makefile > +index a2a0d561..296e3850 100644 > +--- a/tests/ext4/Makefile > ++++ b/tests/ext4/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/f2fs/Makefile b/tests/f2fs/Makefile > +index 9d1ed3c6..0a90b465 100644 > +--- a/tests/f2fs/Makefile > ++++ b/tests/f2fs/Makefile > +@@ -15,7 +15,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/generic/Makefile b/tests/generic/Makefile > +index b464b22b..d6ed3e55 100644 > +--- a/tests/generic/Makefile > ++++ b/tests/generic/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/nfs/Makefile b/tests/nfs/Makefile > +index 128d2a3a..51590b5c 100644 > +--- a/tests/nfs/Makefile > ++++ b/tests/nfs/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/ocfs2/Makefile b/tests/ocfs2/Makefile > +index 260ad31b..17e01bf3 100644 > +--- a/tests/ocfs2/Makefile > ++++ b/tests/ocfs2/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/overlay/Makefile b/tests/overlay/Makefile > +index 2785b94d..c71e78d6 100644 > +--- a/tests/overlay/Makefile > ++++ b/tests/overlay/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/perf/Makefile b/tests/perf/Makefile > +index 0c74ba39..d72c04d9 100644 > +--- a/tests/perf/Makefile > ++++ b/tests/perf/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/selftest/Makefile b/tests/selftest/Makefile > +index 3ddfca37..cabc35a9 100644 > +--- a/tests/selftest/Makefile > ++++ b/tests/selftest/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/shared/Makefile b/tests/shared/Makefile > +index f3128714..2e6aa718 100644 > +--- a/tests/shared/Makefile > ++++ b/tests/shared/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/tmpfs/Makefile b/tests/tmpfs/Makefile > +index 46544313..46b62dad 100644 > +--- a/tests/tmpfs/Makefile > ++++ b/tests/tmpfs/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/udf/Makefile b/tests/udf/Makefile > +index ed4434f0..feda69a6 100644 > +--- a/tests/udf/Makefile > ++++ b/tests/udf/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/xfs/Makefile b/tests/xfs/Makefile > +index 5f413e67..6bfafdb1 100644 > +--- a/tests/xfs/Makefile > ++++ b/tests/xfs/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > diff --git a/meta-filesystems/recipes-utils/xfstests/ > xfstests_2024.01.14.bb b/meta-filesystems/recipes-utils/xfstests/ > xfstests_2024.01.14.bb > index 711637a70d..5ff1914569 100644 > --- a/meta-filesystems/recipes-utils/xfstests/xfstests_2024.01.14.bb > +++ b/meta-filesystems/recipes-utils/xfstests/xfstests_2024.01.14.bb > @@ -7,8 +7,9 @@ SRCREV_FORMAT = "xfstests_unionmount" > > SRC_URI = "git:// > git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests > \ > git:// > github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite > \ > - > file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ > > file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \ > + > file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ > + > file://0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch \ > " > > SRCREV_xfstests = "c46ca4d1f6c0c45f9a3ea18bc31ba5ae89e02c70" > @@ -51,12 +52,7 @@ do_configure:prepend() { > cp -a ${S}/include/install-sh . > } > > -# Not sure if this is needed, but with old install-sh it was sometimes > failing with: > -# cp: cannot stat 'group.list': No such file or directory > -# http://errors.yoctoproject.org/Errors/Details/752404/ > -# PARALLEL_MAKEINST = "-j1" > - > -do_install:prepend() { > +do_install() { > # otherwise install-sh duplicates DESTDIR prefix > export DIST_ROOT="/" DIST_MANIFEST="" DESTDIR="${D}" > oe_runmake install > -- > 2.43.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#108674): > https://lists.openembedded.org/g/openembedded-devel/message/108674 > Mute This Topic: https://lists.openembedded.org/mt/104250063/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ > raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
More thanks from my side too! Slava On 09.02.2024 01:32, Khem Raj wrote: > Thanks for fixing this. It has been hitting my CI often enough but > still intermittently, these kind of issues are hard to deal with so > extra kudos ! > > On Thu, Feb 8, 2024 at 3:40 PM Martin Jansa <martin.jansa@gmail.com> > wrote: > > * sometimes make install was failing with: > cp: cannot stat 'group.list': No such file or directory > and bunch of non-fatal messages: > mv: failed to preserve ownership for 'group.list': Invalid argument > > * this was when tools/mkgroupfile did > mv -f "$new_groups" "$groupfile" > overwritting the group.list file while install-sh was already > copying it to output > > * in the end easily reproducible by > 1) removing tests/*/group.list before each make install > 2) adding some sleep in mkgroupfile before the mv call > > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > --- > ...ake-sure-group.list-DIRT-exists-befo.patch | 239 > ++++++++++++++++++ > .../xfstests/xfstests_2024.01.14.bb > <http://xfstests_2024.01.14.bb> | 10 +- > 2 files changed, 242 insertions(+), 7 deletions(-) > create mode 100644 > meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch > > diff --git > a/meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch > b/meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch > new file mode 100644 > index 0000000000..5e8bf0c606 > --- /dev/null > +++ > b/meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch > @@ -0,0 +1,239 @@ > +From b30d5690d7245aa8bd5ca2896e629e62ec97afda Mon Sep 17 00:00:00 > 2001 > +From: Martin Jansa <martin.jansa@gmail.com> > +Date: Thu, 8 Feb 2024 23:01:36 +0100 > +Subject: [PATCH] tests/*/Makefile: make sure group.list DIRT > exists before > + install > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +* sometimes make install was failing with: > + cp: cannot stat 'group.list': No such file or directory > + and bunch of non-fatal messages: > + mv: failed to preserve ownership for 'group.list': Invalid argument > + > +* this was when tools/mkgroupfile did > + mv -f "$new_groups" "$groupfile" > + overwritting the group.list file while install-sh was already > + copying it to output > + > +* in the end easily reproducible by > + 1) removing tests/*/group.list before each make install > + 2) adding some sleep in mkgroupfile before the mv call > + > +Upstream-Status: Submitted > [https://lore.kernel.org/fstests/20240208225241.644701-1-martin.jansa@gmail.com/] > + > +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > +--- > + tests/btrfs/Makefile | 2 +- > + tests/ceph/Makefile | 2 +- > + tests/cifs/Makefile | 2 +- > + tests/ext4/Makefile | 2 +- > + tests/f2fs/Makefile | 2 +- > + tests/generic/Makefile | 2 +- > + tests/nfs/Makefile | 2 +- > + tests/ocfs2/Makefile | 2 +- > + tests/overlay/Makefile | 2 +- > + tests/perf/Makefile | 2 +- > + tests/selftest/Makefile | 2 +- > + tests/shared/Makefile | 2 +- > + tests/tmpfs/Makefile | 2 +- > + tests/udf/Makefile | 2 +- > + tests/xfs/Makefile | 2 +- > + 15 files changed, 15 insertions(+), 15 deletions(-) > + > +diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile > +index 1b72a1a1..6d9995b4 100644 > +--- a/tests/btrfs/Makefile > ++++ b/tests/btrfs/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/ceph/Makefile b/tests/ceph/Makefile > +index 2761e1e9..5f24d518 100644 > +--- a/tests/ceph/Makefile > ++++ b/tests/ceph/Makefile > +@@ -12,7 +12,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/cifs/Makefile b/tests/cifs/Makefile > +index 62c48935..0b89a01d 100644 > +--- a/tests/cifs/Makefile > ++++ b/tests/cifs/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/ext4/Makefile b/tests/ext4/Makefile > +index a2a0d561..296e3850 100644 > +--- a/tests/ext4/Makefile > ++++ b/tests/ext4/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/f2fs/Makefile b/tests/f2fs/Makefile > +index 9d1ed3c6..0a90b465 100644 > +--- a/tests/f2fs/Makefile > ++++ b/tests/f2fs/Makefile > +@@ -15,7 +15,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/generic/Makefile b/tests/generic/Makefile > +index b464b22b..d6ed3e55 100644 > +--- a/tests/generic/Makefile > ++++ b/tests/generic/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/nfs/Makefile b/tests/nfs/Makefile > +index 128d2a3a..51590b5c 100644 > +--- a/tests/nfs/Makefile > ++++ b/tests/nfs/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/ocfs2/Makefile b/tests/ocfs2/Makefile > +index 260ad31b..17e01bf3 100644 > +--- a/tests/ocfs2/Makefile > ++++ b/tests/ocfs2/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/overlay/Makefile b/tests/overlay/Makefile > +index 2785b94d..c71e78d6 100644 > +--- a/tests/overlay/Makefile > ++++ b/tests/overlay/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/perf/Makefile b/tests/perf/Makefile > +index 0c74ba39..d72c04d9 100644 > +--- a/tests/perf/Makefile > ++++ b/tests/perf/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/selftest/Makefile b/tests/selftest/Makefile > +index 3ddfca37..cabc35a9 100644 > +--- a/tests/selftest/Makefile > ++++ b/tests/selftest/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/shared/Makefile b/tests/shared/Makefile > +index f3128714..2e6aa718 100644 > +--- a/tests/shared/Makefile > ++++ b/tests/shared/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/tmpfs/Makefile b/tests/tmpfs/Makefile > +index 46544313..46b62dad 100644 > +--- a/tests/tmpfs/Makefile > ++++ b/tests/tmpfs/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/udf/Makefile b/tests/udf/Makefile > +index ed4434f0..feda69a6 100644 > +--- a/tests/udf/Makefile > ++++ b/tests/udf/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > +diff --git a/tests/xfs/Makefile b/tests/xfs/Makefile > +index 5f413e67..6bfafdb1 100644 > +--- a/tests/xfs/Makefile > ++++ b/tests/xfs/Makefile > +@@ -14,7 +14,7 @@ default: $(DIRT) > + > + include $(BUILDRULES) > + > +-install: > ++install: default > + $(INSTALL) -m 755 -d $(TARGET_DIR) > + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) > + $(INSTALL) -m 644 group.list $(TARGET_DIR) > diff --git > a/meta-filesystems/recipes-utils/xfstests/xfstests_2024.01.14.bb > <http://xfstests_2024.01.14.bb> > b/meta-filesystems/recipes-utils/xfstests/xfstests_2024.01.14.bb > <http://xfstests_2024.01.14.bb> > index 711637a70d..5ff1914569 100644 > --- > a/meta-filesystems/recipes-utils/xfstests/xfstests_2024.01.14.bb > <http://xfstests_2024.01.14.bb> > +++ > b/meta-filesystems/recipes-utils/xfstests/xfstests_2024.01.14.bb > <http://xfstests_2024.01.14.bb> > @@ -7,8 +7,9 @@ SRCREV_FORMAT = "xfstests_unionmount" > > SRC_URI = > "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests > <http://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests> > \ > git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite > <http://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite> > \ > - > file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch > \ > file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \ > + > file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch > \ > + > file://0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch > \ > " > > SRCREV_xfstests = "c46ca4d1f6c0c45f9a3ea18bc31ba5ae89e02c70" > @@ -51,12 +52,7 @@ do_configure:prepend() { > cp -a ${S}/include/install-sh . > } > > -# Not sure if this is needed, but with old install-sh it was > sometimes failing with: > -# cp: cannot stat 'group.list': No such file or directory > -# http://errors.yoctoproject.org/Errors/Details/752404/ > -# PARALLEL_MAKEINST = "-j1" > - > -do_install:prepend() { > +do_install() { > # otherwise install-sh duplicates DESTDIR prefix > export DIST_ROOT="/" DIST_MANIFEST="" DESTDIR="${D}" > oe_runmake install > -- > 2.43.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#108674): > https://lists.openembedded.org/g/openembedded-devel/message/108674 > Mute This Topic: https://lists.openembedded.org/mt/104250063/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > <mailto:openembedded-devel%2Bowner@lists.openembedded.org> > Unsubscribe: > https://lists.openembedded.org/g/openembedded-devel/unsub > [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch new file mode 100644 index 0000000000..5e8bf0c606 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch @@ -0,0 +1,239 @@ +From b30d5690d7245aa8bd5ca2896e629e62ec97afda Mon Sep 17 00:00:00 2001 +From: Martin Jansa <martin.jansa@gmail.com> +Date: Thu, 8 Feb 2024 23:01:36 +0100 +Subject: [PATCH] tests/*/Makefile: make sure group.list DIRT exists before + install +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* sometimes make install was failing with: + cp: cannot stat 'group.list': No such file or directory + and bunch of non-fatal messages: + mv: failed to preserve ownership for 'group.list': Invalid argument + +* this was when tools/mkgroupfile did + mv -f "$new_groups" "$groupfile" + overwritting the group.list file while install-sh was already + copying it to output + +* in the end easily reproducible by + 1) removing tests/*/group.list before each make install + 2) adding some sleep in mkgroupfile before the mv call + +Upstream-Status: Submitted [https://lore.kernel.org/fstests/20240208225241.644701-1-martin.jansa@gmail.com/] + +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> +--- + tests/btrfs/Makefile | 2 +- + tests/ceph/Makefile | 2 +- + tests/cifs/Makefile | 2 +- + tests/ext4/Makefile | 2 +- + tests/f2fs/Makefile | 2 +- + tests/generic/Makefile | 2 +- + tests/nfs/Makefile | 2 +- + tests/ocfs2/Makefile | 2 +- + tests/overlay/Makefile | 2 +- + tests/perf/Makefile | 2 +- + tests/selftest/Makefile | 2 +- + tests/shared/Makefile | 2 +- + tests/tmpfs/Makefile | 2 +- + tests/udf/Makefile | 2 +- + tests/xfs/Makefile | 2 +- + 15 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile +index 1b72a1a1..6d9995b4 100644 +--- a/tests/btrfs/Makefile ++++ b/tests/btrfs/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/ceph/Makefile b/tests/ceph/Makefile +index 2761e1e9..5f24d518 100644 +--- a/tests/ceph/Makefile ++++ b/tests/ceph/Makefile +@@ -12,7 +12,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/cifs/Makefile b/tests/cifs/Makefile +index 62c48935..0b89a01d 100644 +--- a/tests/cifs/Makefile ++++ b/tests/cifs/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/ext4/Makefile b/tests/ext4/Makefile +index a2a0d561..296e3850 100644 +--- a/tests/ext4/Makefile ++++ b/tests/ext4/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/f2fs/Makefile b/tests/f2fs/Makefile +index 9d1ed3c6..0a90b465 100644 +--- a/tests/f2fs/Makefile ++++ b/tests/f2fs/Makefile +@@ -15,7 +15,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/generic/Makefile b/tests/generic/Makefile +index b464b22b..d6ed3e55 100644 +--- a/tests/generic/Makefile ++++ b/tests/generic/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/nfs/Makefile b/tests/nfs/Makefile +index 128d2a3a..51590b5c 100644 +--- a/tests/nfs/Makefile ++++ b/tests/nfs/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/ocfs2/Makefile b/tests/ocfs2/Makefile +index 260ad31b..17e01bf3 100644 +--- a/tests/ocfs2/Makefile ++++ b/tests/ocfs2/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/overlay/Makefile b/tests/overlay/Makefile +index 2785b94d..c71e78d6 100644 +--- a/tests/overlay/Makefile ++++ b/tests/overlay/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/perf/Makefile b/tests/perf/Makefile +index 0c74ba39..d72c04d9 100644 +--- a/tests/perf/Makefile ++++ b/tests/perf/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/selftest/Makefile b/tests/selftest/Makefile +index 3ddfca37..cabc35a9 100644 +--- a/tests/selftest/Makefile ++++ b/tests/selftest/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/shared/Makefile b/tests/shared/Makefile +index f3128714..2e6aa718 100644 +--- a/tests/shared/Makefile ++++ b/tests/shared/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/tmpfs/Makefile b/tests/tmpfs/Makefile +index 46544313..46b62dad 100644 +--- a/tests/tmpfs/Makefile ++++ b/tests/tmpfs/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/udf/Makefile b/tests/udf/Makefile +index ed4434f0..feda69a6 100644 +--- a/tests/udf/Makefile ++++ b/tests/udf/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) +diff --git a/tests/xfs/Makefile b/tests/xfs/Makefile +index 5f413e67..6bfafdb1 100644 +--- a/tests/xfs/Makefile ++++ b/tests/xfs/Makefile +@@ -14,7 +14,7 @@ default: $(DIRT) + + include $(BUILDRULES) + +-install: ++install: default + $(INSTALL) -m 755 -d $(TARGET_DIR) + $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) + $(INSTALL) -m 644 group.list $(TARGET_DIR) diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests_2024.01.14.bb b/meta-filesystems/recipes-utils/xfstests/xfstests_2024.01.14.bb index 711637a70d..5ff1914569 100644 --- a/meta-filesystems/recipes-utils/xfstests/xfstests_2024.01.14.bb +++ b/meta-filesystems/recipes-utils/xfstests/xfstests_2024.01.14.bb @@ -7,8 +7,9 @@ SRCREV_FORMAT = "xfstests_unionmount" SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \ git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \ - file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \ + file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ + file://0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch \ " SRCREV_xfstests = "c46ca4d1f6c0c45f9a3ea18bc31ba5ae89e02c70" @@ -51,12 +52,7 @@ do_configure:prepend() { cp -a ${S}/include/install-sh . } -# Not sure if this is needed, but with old install-sh it was sometimes failing with: -# cp: cannot stat 'group.list': No such file or directory -# http://errors.yoctoproject.org/Errors/Details/752404/ -# PARALLEL_MAKEINST = "-j1" - -do_install:prepend() { +do_install() { # otherwise install-sh duplicates DESTDIR prefix export DIST_ROOT="/" DIST_MANIFEST="" DESTDIR="${D}" oe_runmake install
* sometimes make install was failing with: cp: cannot stat 'group.list': No such file or directory and bunch of non-fatal messages: mv: failed to preserve ownership for 'group.list': Invalid argument * this was when tools/mkgroupfile did mv -f "$new_groups" "$groupfile" overwritting the group.list file while install-sh was already copying it to output * in the end easily reproducible by 1) removing tests/*/group.list before each make install 2) adding some sleep in mkgroupfile before the mv call Signed-off-by: Martin Jansa <martin.jansa@gmail.com> --- ...ake-sure-group.list-DIRT-exists-befo.patch | 239 ++++++++++++++++++ .../xfstests/xfstests_2024.01.14.bb | 10 +- 2 files changed, 242 insertions(+), 7 deletions(-) create mode 100644 meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch