From: Haixiao Yan Date: Mon, 1 Jun 2026 06:46:41 +0000 (+0800) Subject: subversion: fix svn-revision.txt conflict when building for qemux86-64 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fd7e3cb11d07ec9bc357f416b79bd8e2a028e0a;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git subversion: fix svn-revision.txt conflict when building for qemux86-64 The revision-install target in Makefile.in generates svn-revision.txt by first trying to run the cross-compiled svnversion binary on the host. When the target architecture is x86-64 (same as the build host), the cross-compiled binary can execute on the host. If the host has libapr1 installed, the 64-bit svnversion succeeds and outputs "Unversioned directory", while the 32-bit (lib32) binary lacks the 32-bit libapr1 and fails, falling back to "unknown". The differing content causes an RPM file conflict on /usr/include/subversion-1/svn-revision.txt when lib32-subversion-dev and subversion-dev are installed together in do_rootfs. This does not affect non-x86-64 targets (e.g. ARM) because the cross-compiled binary cannot execute on the x86-64 host, so both 64-bit and 32-bit builds fall through to the same fallback. Since the source is a release tarball with no SVN metadata, the correct value is always "unknown". Fix by patching Makefile.in to skip the svnversion invocations entirely. Signed-off-by: Haixiao Yan Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/subversion/subversion/0001-fix-svn-revision-host-contamination.patch b/meta/recipes-devtools/subversion/subversion/0001-fix-svn-revision-host-contamination.patch new file mode 100644 index 0000000000..9741a6499c --- /dev/null +++ b/meta/recipes-devtools/subversion/subversion/0001-fix-svn-revision-host-contamination.patch @@ -0,0 +1,43 @@ +From 54b2cf44445820ea7c3250a25ed957a389aafbd6 Mon Sep 17 00:00:00 2001 +From: Haixiao Yan +Date: Thu, 28 May 2026 09:20:59 +0800 +Subject: [PATCH] build: do not run svnversion during install + +The revision-install target generates svn-revision.txt by first trying +to run the cross-compiled svnversion binary on the host. When the target +architecture is x86-64 (same as the build host), the cross-compiled +binary can execute on the host. If the host has libapr1 installed, the +64-bit svnversion succeeds and outputs "Unversioned directory", while +the 32-bit (lib32) binary lacks the 32-bit libapr1 and fails, falling +back to "unknown". The differing content causes an RPM file conflict +when lib32-subversion-dev and subversion-dev are installed together. + +Since the source is a release tarball with no SVN metadata, the correct +value is always "unknown". Skip the svnversion invocations entirely. + +Upstream-Status: Inappropriate [issue reported at https://www.mail-archive.com/users@subversion.apache.org/msg30267.html] + +Signed-off-by: Haixiao Yan +--- + Makefile.in | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 7f0a37dd9a9b..914c1c37790c 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -499,10 +499,7 @@ local-install: @INSTALL_RULES@ + revision-install: + test -d $(DESTDIR)$(includedir)/subversion-1 || \ + $(MKDIR) $(DESTDIR)$(includedir)/subversion-1 +- (subversion/svnversion/svnversion $(top_srcdir) 2> /dev/null || \ +- svnversion $(top_srcdir) 2> /dev/null || \ +- echo "unknown"; \ +- ) > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt ++ echo "unknown" > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt + + install-static: @INSTALL_STATIC_RULES@ + +-- +2.53.0 + diff --git a/meta/recipes-devtools/subversion/subversion_1.14.5.bb b/meta/recipes-devtools/subversion/subversion_1.14.5.bb index 13bec4ad59..05f80b3319 100644 --- a/meta/recipes-devtools/subversion/subversion_1.14.5.bb +++ b/meta/recipes-devtools/subversion/subversion_1.14.5.bb @@ -11,6 +11,7 @@ DEPENDS:append:class-native = " file-replacement-native" SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://serfmacro.patch \ file://parallel.patch \ + file://0001-fix-svn-revision-host-contamination.patch \ " SRC_URI[sha256sum] = "e78a29e7766b8b7b354497d08f71a55641abc53675ce1875584781aae35644a1"