diff options
author | Martin Jansa <martin.jansa@gmail.com> | 2024-02-09 00:40:26 +0100 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2024-02-09 09:52:16 -0800 |
commit | e8a1c9823b7e55dd2ca7f19a3fd3a05ae676bfe2 (patch) | |
tree | c566e9ad51a15d30f9663ac59281c53eb7a042e3 /meta-filesystems/recipes-utils/xfstests | |
parent | 8e5f98be352946fe1440a54700026580c2ae2043 (diff) | |
download | meta-openembedded-e8a1c9823b7e55dd2ca7f19a3fd3a05ae676bfe2.tar.gz |
xfstests: fix make install race condition
* 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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-filesystems/recipes-utils/xfstests')
2 files changed, 242 insertions, 7 deletions
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 000000000..5e8bf0c60 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch | |||
@@ -0,0 +1,239 @@ | |||
1 | From b30d5690d7245aa8bd5ca2896e629e62ec97afda Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <martin.jansa@gmail.com> | ||
3 | Date: Thu, 8 Feb 2024 23:01:36 +0100 | ||
4 | Subject: [PATCH] tests/*/Makefile: make sure group.list DIRT exists before | ||
5 | install | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | * sometimes make install was failing with: | ||
11 | cp: cannot stat 'group.list': No such file or directory | ||
12 | and bunch of non-fatal messages: | ||
13 | mv: failed to preserve ownership for 'group.list': Invalid argument | ||
14 | |||
15 | * this was when tools/mkgroupfile did | ||
16 | mv -f "$new_groups" "$groupfile" | ||
17 | overwritting the group.list file while install-sh was already | ||
18 | copying it to output | ||
19 | |||
20 | * in the end easily reproducible by | ||
21 | 1) removing tests/*/group.list before each make install | ||
22 | 2) adding some sleep in mkgroupfile before the mv call | ||
23 | |||
24 | Upstream-Status: Submitted [https://lore.kernel.org/fstests/20240208225241.644701-1-martin.jansa@gmail.com/] | ||
25 | |||
26 | Signed-off-by: Martin Jansa <martin.jansa@gmail.com> | ||
27 | --- | ||
28 | tests/btrfs/Makefile | 2 +- | ||
29 | tests/ceph/Makefile | 2 +- | ||
30 | tests/cifs/Makefile | 2 +- | ||
31 | tests/ext4/Makefile | 2 +- | ||
32 | tests/f2fs/Makefile | 2 +- | ||
33 | tests/generic/Makefile | 2 +- | ||
34 | tests/nfs/Makefile | 2 +- | ||
35 | tests/ocfs2/Makefile | 2 +- | ||
36 | tests/overlay/Makefile | 2 +- | ||
37 | tests/perf/Makefile | 2 +- | ||
38 | tests/selftest/Makefile | 2 +- | ||
39 | tests/shared/Makefile | 2 +- | ||
40 | tests/tmpfs/Makefile | 2 +- | ||
41 | tests/udf/Makefile | 2 +- | ||
42 | tests/xfs/Makefile | 2 +- | ||
43 | 15 files changed, 15 insertions(+), 15 deletions(-) | ||
44 | |||
45 | diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile | ||
46 | index 1b72a1a1..6d9995b4 100644 | ||
47 | --- a/tests/btrfs/Makefile | ||
48 | +++ b/tests/btrfs/Makefile | ||
49 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
50 | |||
51 | include $(BUILDRULES) | ||
52 | |||
53 | -install: | ||
54 | +install: default | ||
55 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
56 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
57 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
58 | diff --git a/tests/ceph/Makefile b/tests/ceph/Makefile | ||
59 | index 2761e1e9..5f24d518 100644 | ||
60 | --- a/tests/ceph/Makefile | ||
61 | +++ b/tests/ceph/Makefile | ||
62 | @@ -12,7 +12,7 @@ default: $(DIRT) | ||
63 | |||
64 | include $(BUILDRULES) | ||
65 | |||
66 | -install: | ||
67 | +install: default | ||
68 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
69 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
70 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
71 | diff --git a/tests/cifs/Makefile b/tests/cifs/Makefile | ||
72 | index 62c48935..0b89a01d 100644 | ||
73 | --- a/tests/cifs/Makefile | ||
74 | +++ b/tests/cifs/Makefile | ||
75 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
76 | |||
77 | include $(BUILDRULES) | ||
78 | |||
79 | -install: | ||
80 | +install: default | ||
81 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
82 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
83 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
84 | diff --git a/tests/ext4/Makefile b/tests/ext4/Makefile | ||
85 | index a2a0d561..296e3850 100644 | ||
86 | --- a/tests/ext4/Makefile | ||
87 | +++ b/tests/ext4/Makefile | ||
88 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
89 | |||
90 | include $(BUILDRULES) | ||
91 | |||
92 | -install: | ||
93 | +install: default | ||
94 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
95 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
96 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
97 | diff --git a/tests/f2fs/Makefile b/tests/f2fs/Makefile | ||
98 | index 9d1ed3c6..0a90b465 100644 | ||
99 | --- a/tests/f2fs/Makefile | ||
100 | +++ b/tests/f2fs/Makefile | ||
101 | @@ -15,7 +15,7 @@ default: $(DIRT) | ||
102 | |||
103 | include $(BUILDRULES) | ||
104 | |||
105 | -install: | ||
106 | +install: default | ||
107 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
108 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
109 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
110 | diff --git a/tests/generic/Makefile b/tests/generic/Makefile | ||
111 | index b464b22b..d6ed3e55 100644 | ||
112 | --- a/tests/generic/Makefile | ||
113 | +++ b/tests/generic/Makefile | ||
114 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
115 | |||
116 | include $(BUILDRULES) | ||
117 | |||
118 | -install: | ||
119 | +install: default | ||
120 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
121 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
122 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
123 | diff --git a/tests/nfs/Makefile b/tests/nfs/Makefile | ||
124 | index 128d2a3a..51590b5c 100644 | ||
125 | --- a/tests/nfs/Makefile | ||
126 | +++ b/tests/nfs/Makefile | ||
127 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
128 | |||
129 | include $(BUILDRULES) | ||
130 | |||
131 | -install: | ||
132 | +install: default | ||
133 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
134 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
135 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
136 | diff --git a/tests/ocfs2/Makefile b/tests/ocfs2/Makefile | ||
137 | index 260ad31b..17e01bf3 100644 | ||
138 | --- a/tests/ocfs2/Makefile | ||
139 | +++ b/tests/ocfs2/Makefile | ||
140 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
141 | |||
142 | include $(BUILDRULES) | ||
143 | |||
144 | -install: | ||
145 | +install: default | ||
146 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
147 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
148 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
149 | diff --git a/tests/overlay/Makefile b/tests/overlay/Makefile | ||
150 | index 2785b94d..c71e78d6 100644 | ||
151 | --- a/tests/overlay/Makefile | ||
152 | +++ b/tests/overlay/Makefile | ||
153 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
154 | |||
155 | include $(BUILDRULES) | ||
156 | |||
157 | -install: | ||
158 | +install: default | ||
159 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
160 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
161 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
162 | diff --git a/tests/perf/Makefile b/tests/perf/Makefile | ||
163 | index 0c74ba39..d72c04d9 100644 | ||
164 | --- a/tests/perf/Makefile | ||
165 | +++ b/tests/perf/Makefile | ||
166 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
167 | |||
168 | include $(BUILDRULES) | ||
169 | |||
170 | -install: | ||
171 | +install: default | ||
172 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
173 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
174 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
175 | diff --git a/tests/selftest/Makefile b/tests/selftest/Makefile | ||
176 | index 3ddfca37..cabc35a9 100644 | ||
177 | --- a/tests/selftest/Makefile | ||
178 | +++ b/tests/selftest/Makefile | ||
179 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
180 | |||
181 | include $(BUILDRULES) | ||
182 | |||
183 | -install: | ||
184 | +install: default | ||
185 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
186 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
187 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
188 | diff --git a/tests/shared/Makefile b/tests/shared/Makefile | ||
189 | index f3128714..2e6aa718 100644 | ||
190 | --- a/tests/shared/Makefile | ||
191 | +++ b/tests/shared/Makefile | ||
192 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
193 | |||
194 | include $(BUILDRULES) | ||
195 | |||
196 | -install: | ||
197 | +install: default | ||
198 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
199 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
200 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
201 | diff --git a/tests/tmpfs/Makefile b/tests/tmpfs/Makefile | ||
202 | index 46544313..46b62dad 100644 | ||
203 | --- a/tests/tmpfs/Makefile | ||
204 | +++ b/tests/tmpfs/Makefile | ||
205 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
206 | |||
207 | include $(BUILDRULES) | ||
208 | |||
209 | -install: | ||
210 | +install: default | ||
211 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
212 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
213 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
214 | diff --git a/tests/udf/Makefile b/tests/udf/Makefile | ||
215 | index ed4434f0..feda69a6 100644 | ||
216 | --- a/tests/udf/Makefile | ||
217 | +++ b/tests/udf/Makefile | ||
218 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
219 | |||
220 | include $(BUILDRULES) | ||
221 | |||
222 | -install: | ||
223 | +install: default | ||
224 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
225 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
226 | $(INSTALL) -m 644 group.list $(TARGET_DIR) | ||
227 | diff --git a/tests/xfs/Makefile b/tests/xfs/Makefile | ||
228 | index 5f413e67..6bfafdb1 100644 | ||
229 | --- a/tests/xfs/Makefile | ||
230 | +++ b/tests/xfs/Makefile | ||
231 | @@ -14,7 +14,7 @@ default: $(DIRT) | ||
232 | |||
233 | include $(BUILDRULES) | ||
234 | |||
235 | -install: | ||
236 | +install: default | ||
237 | $(INSTALL) -m 755 -d $(TARGET_DIR) | ||
238 | $(INSTALL) -m 755 $(TESTS) $(TARGET_DIR) | ||
239 | $(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 711637a70..5ff191456 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" | |||
7 | 7 | ||
8 | SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \ | 8 | SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \ |
9 | git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \ | 9 | git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \ |
10 | file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ | ||
11 | file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \ | 10 | file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \ |
11 | file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ | ||
12 | file://0003-tests-Makefile-make-sure-group.list-DIRT-exists-befo.patch \ | ||
12 | " | 13 | " |
13 | 14 | ||
14 | SRCREV_xfstests = "c46ca4d1f6c0c45f9a3ea18bc31ba5ae89e02c70" | 15 | SRCREV_xfstests = "c46ca4d1f6c0c45f9a3ea18bc31ba5ae89e02c70" |
@@ -51,12 +52,7 @@ do_configure:prepend() { | |||
51 | cp -a ${S}/include/install-sh . | 52 | cp -a ${S}/include/install-sh . |
52 | } | 53 | } |
53 | 54 | ||
54 | # Not sure if this is needed, but with old install-sh it was sometimes failing with: | 55 | do_install() { |
55 | # cp: cannot stat 'group.list': No such file or directory | ||
56 | # http://errors.yoctoproject.org/Errors/Details/752404/ | ||
57 | # PARALLEL_MAKEINST = "-j1" | ||
58 | |||
59 | do_install:prepend() { | ||
60 | # otherwise install-sh duplicates DESTDIR prefix | 56 | # otherwise install-sh duplicates DESTDIR prefix |
61 | export DIST_ROOT="/" DIST_MANIFEST="" DESTDIR="${D}" | 57 | export DIST_ROOT="/" DIST_MANIFEST="" DESTDIR="${D}" |
62 | oe_runmake install | 58 | oe_runmake install |