diff mbox series

[2/2] subversion: fix race in parallel builds

Message ID 20260305115130.914001-2-ross.burton@arm.com
State New
Headers show
Series [1/2] gnutls: make C99 detection more resiliant | expand

Commit Message

Ross Burton March 5, 2026, 11:51 a.m. UTC
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>
---
 .../subversion/subversion/parallel.patch      | 25 +++++++++++++++++++
 .../subversion/subversion_1.14.5.bb           |  1 +
 2 files changed, 26 insertions(+)
 create mode 100644 meta/recipes-devtools/subversion/subversion/parallel.patch
diff mbox series

Patch

diff --git a/meta/recipes-devtools/subversion/subversion/parallel.patch b/meta/recipes-devtools/subversion/subversion/parallel.patch
new file mode 100644
index 0000000000..1fee1523ee
--- /dev/null
+++ b/meta/recipes-devtools/subversion/subversion/parallel.patch
@@ -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
diff --git a/meta/recipes-devtools/subversion/subversion_1.14.5.bb b/meta/recipes-devtools/subversion/subversion_1.14.5.bb
index 56ef1019fc..47e2b6c693 100644
--- a/meta/recipes-devtools/subversion/subversion_1.14.5.bb
+++ b/meta/recipes-devtools/subversion/subversion_1.14.5.bb
@@ -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"