]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
subversion: fix race in parallel builds
authorRoss Burton <ross.burton@arm.com>
Thu, 5 Mar 2026 11:51:30 +0000 (11:51 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 9 Mar 2026 17:29:24 +0000 (17:29 +0000)
In parallel build its possible for objects to be written into directories
that do not exist yet, as mkdir-init and local-all are executed at the
same time.

This fix is ugly, but a proper fix would be quite invasive. Upstream have
been informed of the problem.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/subversion/subversion/parallel.patch [new file with mode: 0644]
meta/recipes-devtools/subversion/subversion_1.14.5.bb

diff --git a/meta/recipes-devtools/subversion/subversion/parallel.patch b/meta/recipes-devtools/subversion/subversion/parallel.patch
new file mode 100644 (file)
index 0000000..1fee152
--- /dev/null
@@ -0,0 +1,25 @@
+Ensure that directories are created before files are compiled into them.
+
+This is a hacky workaround, upstream have been informed and a better
+solution proposed:
+
+https://lists.apache.org/thread/nr0w8hcpr9my2gkys09kj89rlxgd84of
+
+Upstream-Status: Inappropriate [discussion upstream]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git i/Makefile.in w/Makefile.in
+index 0fb9e39602..8bae2cc3d2 100644
+--- i/Makefile.in
++++ w/Makefile.in
+@@ -424,7 +424,9 @@ ECHO_N = @ECHO_N@
+ TESTS = $(TEST_PROGRAMS) @BDB_TEST_PROGRAMS@
+-all: mkdir-init local-all
++all: mkdir-init
++      $(MAKE) local-all
++
+ clean: local-clean
+ distclean: local-distclean
+ extraclean: local-extraclean
index 56ef1019fc49bced7e3a7e4a8e5c823ce6631449..47e2b6c6932292b157c190f06fa39026fb1379c7 100644 (file)
@@ -10,6 +10,7 @@ DEPENDS:append:class-native = " file-replacement-native"
 
 SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://serfmacro.patch \
+           file://parallel.patch \
            "
 
 SRC_URI[sha256sum] = "e78a29e7766b8b7b354497d08f71a55641abc53675ce1875584781aae35644a1"