svn commit: r1922345 [9/10] - in /subversion/branches/pristine-checksum-kind: ./ .github/ build/ build/ac-macros/ build/cmake/ build/generator/ build/generator/swig/ build/generator/templates/ build/hudson/ contrib/client-side/ contrib/client-side/svn_...

[email protected]
Newsgroups gmane.comp.version-control.subversion.svn
Message-ID <[email protected]>
Modified: subversion/branches/pristine-checksum-kind/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dev/unix-build/Makefile.svn?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/pristine-checksum-kind/tools/dev/unix-build/Makefile.svn Fri Dec  6 13:59:05 2024
@@ -20,15 +20,6 @@
 # WARNING: This may or may not work on your system. This Makefile is
 # an example, rather than a ready-made universal solution.
 
-#   ****************************************************************
-#   **       IMPORTANT NOTE FOR SVN COMMITTERS:  READ THIS.       **
-#   **                                                            **
-#   ****************************************************************
-#   | This Makefile is used by the bb-openbsd buildbot             |
-#   | (http://ci.apache.org/builders/bb-openbsd). Please check     |
-#   | the bot's health after making changes to this file.          |
-#   |______________________________________________________________|
-
 PERL ?= yes
 ENABLE_PERL_BINDINGS = $(PERL)
 THREADING ?= yes
@@ -100,7 +91,7 @@ BRANCH_MAJOR	:= $(shell echo $(BRANCH) |
 ifeq ($(BRANCH_MAJOR), $(filter 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13, $(BRANCH_MAJOR)))
 PYTHON = python2
 else
-PYTHON = python
+PYTHON = python3
 endif
 SVN_REL_WC	= svn-$(WC)
 SVN_WC		= $(PWD)/$(SVN_REL_WC)
@@ -110,28 +101,37 @@ DISTDIR		= $(PWD)/distfiles
 SRCDIR		= $(PWD)/src
 OBJDIR		= $(PWD)/objdir
 
+# Default dependency versions
 BDB_MAJOR_VER	= 4.7
 BDB_VER		= $(BDB_MAJOR_VER).25
-APR_VER		= 1.7.0
+APR_VER		= 1.7.5
 APR_ICONV_VER	= 1.2.1
 GNU_ICONV_VER	= 1.15
 APR_UTIL_VER	= 1.6.1
 PCRE_VER	= 8.41
 HTTPD_VER	= 2.4.37
-NEON_VER	= 0.30.2
-SERF_VER	= 1.3.9
+NEON_VER	= 0.32.5
+SERF_VER	= 1.3.10
 CYRUS_SASL_VER	= 2.1.28
 SQLITE_VER	= 3390400
 LIBMAGIC_VER	= 5.30
-RUBY_VER	= 2.7.4
+RUBY_MAJOR_VER	= 2.7
+RUBY_VER	= $(RUBY_MAJOR_VER).4
 BZ2_VER	= 1.0.6
-PYTHON_VER	= 3.10.8
+PYTHON_VER	= 3.11.10
 PYTHON2_VER	= 2.7.13
 PY3C_VER	= 1.1
 JUNIT_VER	= 4.10
 GETTEXT_VER	= 0.19.8.1
 LZ4_VER		= 1.7.5
-SWIG_OLD_VER	= 3.0.12
+ifeq ($(BRANCH_MAJOR), $(filter 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13, $(BRANCH_MAJOR)))
+SWIG_VER	= 3.0.12
+else
+SWIG_VER	=
+endif
+
+# Get local dependency versions
+include Makefile.local
 
 BDB_DIST	= db-$(BDB_VER).tar.gz
 APR_ICONV_DIST	= apr-iconv-$(APR_ICONV_VER).tar.gz
@@ -150,26 +150,32 @@ PY3C_DIST	= py3c-$(PY3C_VER).tar.gz
 JUNIT_DIST	= junit-${JUNIT_VER}.jar
 GETTEXT_DIST	= gettext-$(GETTEXT_VER).tar.gz
 LZ4_DIST	= lz4-$(LZ4_VER).tar.gz
-SWIG_OLD_DIST	= swig-$(SWIG_OLD_VER).tar.gz
+SWIG_DIST	= swig-$(SWIG_VER).tar.gz
 
 SHA256_${BDB_DIST} = f14fd96dd38915a1d63dcb94a63fbb8092334ceba6b5060760427096f631263e
 SHA256_${APR_ICONV_DIST} = 19381959d50c4a5f3b9c84d594a5f9ffb3809786919b3058281f4c87e1f4b245
 SHA256_${GNU_ICONV_DIST} = ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178
 SHA256_${PCRE_DIST} = 244838e1f1d14f7e2fa7681b857b3a8566b74215f28133f14a8f5e59241b682c
 SHA256_${HTTPD_DIST} = aa97a834a32d51974be8d8a013b561e28d327387cb1da2c3c2762acd0146aabd
-SHA256_${NEON_DIST} = db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca
+SHA256_${NEON_DIST} = 4872e12f802572dedd4b02f870065814b2d5141f7dbdaf708eedab826b51a58a
 SHA256_${CYRUS_SASL_DIST} = 7ccfc6abd01ed67c1a0924b353e526f1b766b21f42d4562ee635a8ebfc5bb38c
 SHA256_${SQLITE_DIST} = f31d445b48e67e284cf206717cc170ab63cbe4fd7f79a82793b772285e78fdbb
 SHA256_${LIBMAGIC_DIST} = 694c2432e5240187524c9e7cf1ec6acc77b47a0e19554d34c14773e43dbbf214
-SHA256_${RUBY_DIST} = 3043099089608859fc8cce7f9fdccaa1f53a462457e3838ec3b25a7d609fbc5b
+SHA256_ruby-2.7.4.tar.gz = 3043099089608859fc8cce7f9fdccaa1f53a462457e3838ec3b25a7d609fbc5b
+SHA256_ruby-2.7.7.tar.gz = e10127db691d7ff36402cfe88f418c8d025a3f1eea92044b162dd72f0b8c7b90
+SHA256_ruby-2.7.8.tar.gz = c2dab63cbc8f2a05526108ad419efa63a67ed4074dbbcf9fc2b1ca664cb45ba0
+SHA256_ruby-3.0.7.tar.gz = 2a3411977f2850431136b0fab8ad53af09fb74df2ee2f4fb7f11b378fe034388
+SHA256_ruby-3.1.6.tar.gz = 0d0dafb859e76763432571a3109d1537d976266be3083445651dc68deed25c22
 SHA256_${BZ2_DIST} = a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd
-SHA256_${PYTHON_DIST} = f400c3fb394b8bef1292f6dc1292c5fadc3533039a5bc0c3e885f3e16738029a
+SHA256_${PYTHON_DIST} = 92f2faf242681bfa406d53a51e17d42c5373affe23a130cd9697e132ef574706
 SHA256_${PYTHON2_DIST} = a4f05a0720ce0fd92626f0278b6b433eee9a6173ddf2bced7957dfb599a5ece1
 SHA256_${PY3C_DIST} = c7ffc22bc92dded0ca859db53ef3a0b466f89a9f8aad29359c9fe4ff18ebdd20
 SHA256_${JUNIT_DIST} = 36a747ca1e0b86f6ea88055b8723bb87030d627766da6288bf077afdeeb0f75a
 SHA256_${GETTEXT_DIST} = ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43
 SHA256_${LZ4_DIST} = 0190cacd63022ccb86f44fa5041dc6c3804407ad61550ca21c382827319e7e7e
-SHA256_${SWIG_OLD_DIST} = 7cf9f447ae7ed1c51722efc45e7f14418d15d7a1e143ac9f09a668999f4fc94d
+SHA256_swig-3.0.12.tar.gz = 7cf9f447ae7ed1c51722efc45e7f14418d15d7a1e143ac9f09a668999f4fc94d
+SHA256_swig-4.2.1.tar.gz = fa045354e2d048b2cddc69579e4256245d4676894858fcf0bab2290ecf59b7d8
+SHA256_swig-4.3.0.tar.gz = f7203ef796f61af986c70c05816236cbd0d31b7aa9631e5ab53020ab7804aa9e
 
 define do_check_sha256
 if [ -x /bin/sha256 ]; then \
@@ -178,6 +184,13 @@ if [ -x /bin/sha256 ]; then \
 elif [ -x /usr/bin/sha256sum ]; then \
 	(cd $(DISTDIR) && \
 		echo "${SHA256_${1}} ${1}" | /usr/bin/sha256sum --quiet --check); \
+elif [ -x /sbin/sha256sum ]; then \
+	(cd $(DISTDIR) && \
+		echo "${SHA256_${1}} ${1}" | /sbin/sha256sum --quiet --check /dev/stdin); \
+elif [ -x /usr/bin/shasum ]; then \
+        echo "${SHA256_${1}}  ${1}"; \
+        (cd $(DISTDIR) && \
+                echo "${SHA256_${1}}  ${1}" | /usr/bin/shasum -a 256 -c /dev/stdin ); \
 else \
 	echo "Error: No tool found to verify checksum"; \
 	false; \
@@ -200,7 +213,7 @@ DISTFILES	= $(DISTDIR)/$(NEON_DIST) \
 		$(DISTDIR)/$(PY3C_DIST) \
 		$(DISTDIR)/$(JUNIT_DIST) \
 		$(DISTDIR)/$(GETTEXT_DIST) \
-		$(DISTDIR)/$(SWIG_OLD_DIST)
+		$(DISTDIR)/$(SWIG_DIST)
 
 FETCH_CMD	= wget -c
 
@@ -210,15 +223,14 @@ APR_URL		= https://svn.apache.org/repos/
 APR_ICONV_URL	= https://archive.apache.org/dist/apr/$(APR_ICONV_DIST)
 GNU_ICONV_URL	= https://ftp.gnu.org/pub/gnu/libiconv/$(GNU_ICONV_DIST)
 APR_UTIL_URL	= https://svn.apache.org/repos/asf/apr/apr-util
-PCRE_URL	= https://ftp.pcre.org/pub/pcre/$(PCRE_DIST)
+PCRE_URL	= https://downloads.sourceforge.net/project/pcre/pcre/$(PCRE_VER)/$(PCRE_DIST)
 HTTPD_URL	= https://archive.apache.org/dist/httpd/$(HTTPD_DIST)
-#NEON_URL	= http://webdav.org/neon/$(NEON_DIST)
-NEON_URL	= http://ftp.openbsd.org/pub/OpenBSD/distfiles/$(NEON_DIST)
+NEON_URL	= https://notroj.github.io/neon/$(NEON_DIST)
 SERF_URL	= https://svn.apache.org/repos/asf/serf/tags/$(SERF_VER)
 SQLITE_URL	= https://www.sqlite.org/2022/$(SQLITE_DIST)
 CYRUS_SASL_URL	= https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-${CYRUS_SASL_VER}/$(CYRUS_SASL_DIST)
 LIBMAGIC_URL	= ftp://ftp.astron.com/pub/file/$(LIBMAGIC_DIST)
-RUBY_URL	= https://cache.ruby-lang.org/pub/ruby/2.7/$(RUBY_DIST)
+RUBY_URL	= https://cache.ruby-lang.org/pub/ruby/$(RUBY_MAJOR_VER)/$(RUBY_DIST)
 BZ2_URL		= https://stsp.name/distfiles/$(BZ2_DIST)
 PYTHON_URL	= https://python.org/ftp/python/$(PYTHON_VER)/$(PYTHON_DIST)
 PYTHON2_URL	= https://python.org/ftp/python/$(PYTHON2_VER)/$(PYTHON2_DIST)
@@ -226,7 +238,7 @@ PY3C_URL	= https://stsp.name/distfiles/p
 JUNIT_URL	= https://stsp.name/distfiles/$(JUNIT_DIST)
 GETTEXT_URL	= https://ftp.gnu.org/pub/gnu/gettext/$(GETTEXT_DIST)
 LZ4_URL		= https://github.com/lz4/lz4/archive/v$(LZ4_VER).tar.gz
-SWIG_OLD_URL	= https://downloads.sourceforge.net/sourceforge/swig/swig-$(SWIG_OLD_VER).tar.gz
+SWIG_URL	= https://downloads.sourceforge.net/sourceforge/swig/swig-$(SWIG_VER).tar.gz
 
 
 BDB_SRCDIR	= $(SRCDIR)/db-$(BDB_VER)
@@ -248,7 +260,7 @@ PYTHON2_SRCDIR	= $(SRCDIR)/Python-$(PYTH
 PY3C_SRCDIR	= $(SRCDIR)/py3c-$(PY3C_VER)
 GETTEXT_SRCDIR	= $(SRCDIR)/gettext-$(GETTEXT_VER)
 LZ4_SRCDIR	= ${SRCDIR}/lz4-$(LZ4_VER)
-SWIG_OLD_SRCDIR	= ${SRCDIR}/swig-$(SWIG_OLD_VER)
+SWIG_SRCDIR	= ${SRCDIR}/swig-$(SWIG_VER)
 SVN_SRCDIR	= $(SVN_WC)
 
 BDB_OBJDIR	= $(OBJDIR)/db-$(BDB_VER)
@@ -270,7 +282,7 @@ PYTHON2_OBJDIR	= $(OBJDIR)/python-$(PYTH
 PY3C_OBJDIR	= $(OBJDIR)/py3c-$(PY3C_VER)
 GETTEXT_OBJDIR	= $(OBJDIR)/gettext-$(GETTEXT_VER)
 LZ4_OBJDIR	= ${OBJDIR}/lz4-$(LZ4_VER)
-SWIG_OLD_OBJDIR	= ${OBJDIR}/swig-$(SWIG_OLD_VER)
+SWIG_OBJDIR	= ${OBJDIR}/swig-$(SWIG_VER)
 SVN_OBJDIR	= $(OBJDIR)/$(SVN_REL_WC)
 
 # Tweak this for out-of-tree builds. Note that running individual
@@ -299,20 +311,20 @@ all: dirs-create bdb-install apr-install
 	pcre-install httpd-install neon-install serf-install \
 	sqlite-install cyrus-sasl-install libmagic-install \
 	ruby-install bz2-install python-install python2-install py3c-retrieve \
-	gettext-install lz4-install swig-old-install svn-install \
+	gettext-install lz4-install swig-install svn-install \
 	svn-bindings-install
 
 # Use these to start a build from the beginning.
 reset: dirs-reset bdb-reset apr-reset iconv-reset apr-util-reset \
 	pcre-reset httpd-reset neon-reset serf-reset \
 	sqlite-reset cyrus-sasl-reset libmagic-reset ruby-reset python-reset \
-	python2-reset bz2-reset gettext-reset lz4-reset swig-old-reset svn-reset
+	python2-reset bz2-reset gettext-reset lz4-reset swig-reset svn-reset
 
 # Use to save disk space.
 clean: bdb-clean apr-clean iconv-clean apr-util-clean pcre-clean httpd-clean \
 	neon-clean serf-clean sqlite-clean cyrus-sasl-clean \
 	libmagic-clean ruby-clean bz2-clean python-clean python2-clean \
-	gettext-clean lz4-clean swig-old-clean svn-clean
+	gettext-clean lz4-clean swig-clean svn-clean
 
 # Nukes everything (including installed binaries!)
 # Use this to start ALL OVER AGAIN! Use with caution!
@@ -341,6 +353,12 @@ nuke:
 fetch: $(DISTFILES)
 
 #######################################################################
+# Local version override file
+#######################################################################
+Makefile.local:
+	cp unix-build/Makefile.local .
+
+#######################################################################
 # directories
 #######################################################################
 
@@ -893,6 +911,7 @@ $(NEON_OBJDIR)/.configured: $(NEON_OBJDI
 # compile neon
 $(NEON_OBJDIR)/.compiled: $(NEON_OBJDIR)/.configured
 	(cd $(NEON_OBJDIR) && env MAKEFLAGS= make -j${MAKE_JOBS})
+	(cd $(NEON_OBJDIR) && env MAKEFLAGS= make docs)
 	touch $@
 
 # install neon
@@ -932,9 +951,7 @@ $(SERF_OBJDIR)/.retrieved:
 	[ -d $(SERF_OBJDIR) ] || mkdir -p $(SERF_OBJDIR)
 	if [ ! -d $(SERF_SRCDIR) ]; then \
 		svn co $(SERF_URL) $(SERF_SRCDIR); \
-		svn merge ^/serf/branches/1.3.x-sslbuild@1781542 $(SERF_SRCDIR); \
-		svn merge -c 1811083 ^/serf/trunk@1811083 $(SERF_SRCDIR); \
-		svn merge -c 1814604 ^/serf/trunk@1814604 $(SERF_SRCDIR); \
+		svn merge ^/serf/branches/1.3.x-sslbuild@1910116 $(SERF_SRCDIR); \
 	fi
 	touch $@
 
@@ -1163,6 +1180,7 @@ $(DISTDIR)/$(RUBY_DIST):
 
 $(RUBY_OBJDIR)/openssl_missing.patch:
 	mkdir -p $(dir $@)
+ifeq ($(shell test $(RUBY_MAJOR_VER) \< 3.0 && echo 1), 1)
 	echo > [email protected] 'Index: ext/openssl/openssl_missing.h'
 	echo >> [email protected] '--- ext/openssl/openssl_missing.h.orig'
 	echo >> [email protected] '+++ ext/openssl/openssl_missing.h'
@@ -1193,9 +1211,13 @@ $(RUBY_OBJDIR)/openssl_missing.patch:
 	echo >> [email protected] ' '
 	echo >> [email protected] ' #if defined(HAVE_AUTHENTICATED_ENCRYPTION) && !defined(EVP_CTRL_AEAD_GET_TAG)'
 	mv -f [email protected] $@
+else
+	touch $@
+endif
 
 $(RUBY_OBJDIR)/sparc64_buserror.patch:
 	mkdir -p $(dir $@)
+ifeq ($(shell test $(RUBY_MAJOR_VER) \< 3.0 && echo 1), 1)
 	echo > [email protected] '--- compile.c.orig	Thu Mar 12 12:58:26 2020'
 	echo >> [email protected] '+++ compile.c	Thu Mar 12 16:36:55 2020'
 	echo >> [email protected] '@@ -751,6 +751,16 @@'
@@ -1216,6 +1238,9 @@ $(RUBY_OBJDIR)/sparc64_buserror.patch:
 	echo >> [email protected] '   #if defined(HAVE_TRUE_LONG_LONG) && SIZEOF_LONG_LONG > SIZEOF_VALUE'
 	echo >> [email protected] '     #define ALIGNMENT_SIZE SIZEOF_LONG_LONG'
 	mv -f [email protected] $@
+else
+	touch $@
+endif
 
 ifeq ($(UNAME),OpenBSD)
 RUBY_SSL_EX_NEW_DATA_PATCH = sed -i -e '/^have_func("X509_STORE_set_ex_data")$$/ { p; s/^.*$$/\have_func("X509_STORE_get_ex_new_index")/; }'
@@ -1231,8 +1256,10 @@ $(RUBY_OBJDIR)/.retrieved: $(DISTDIR)/$(
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(RUBY_DIST)
 	-which ghead && sed -i -e "s/head -c/ghead -c/" $(RUBY_SRCDIR)/configure
 	$(RUBY_SSL_EX_NEW_DATA_PATCH) $(RUBY_SRCDIR)/ext/openssl/extconf.rb
+ifeq ($(shell test $(RUBY_MAJOR_VER) \< 3.0 && echo 1), 1)
 	cd $(RUBY_SRCDIR) && patch -p0 < $(RUBY_OBJDIR)/openssl_missing.patch
 	cd $(RUBY_SRCDIR) && patch -p0 < $(RUBY_OBJDIR)/sparc64_buserror.patch
+endif
 	sed -i 's/X509_num(bs->certs)/X509_num(OCSP_resp_get0_certs(bs))/' \
 		$(RUBY_SRCDIR)/ext/openssl/ossl_ocsp.c
 	touch $@
@@ -1335,9 +1362,25 @@ $(PYTHON_OBJDIR)/openbsd-march.diff:
 	echo >>[email protected] '   [MULTIARCH=$$($$CC --print-multiarch 2>/dev/null)]'
 	mv -f [email protected] $@
 
+$(PYTHON_OBJDIR)/openbsd-make.diff:
+	mkdir -p $(dir $@)
+	echo >[email protected] 'Index: Makefile.pre.in'
+	echo >>[email protected] '--- Makefile.pre.in.orig'
+	echo >>[email protected] '+++ Makefile.pre.in'
+	echo >>[email protected] '@@ -534,8 +534,6 @@ LIBMPDEC_OBJS= \'
+	echo >>[email protected] ' 		Modules/_decimal/libmpdec/numbertheory.o \'
+	echo >>[email protected] ' 		Modules/_decimal/libmpdec/sixstep.o \'
+	echo >>[email protected] ' 		Modules/_decimal/libmpdec/transpose.o'
+	echo >>[email protected] '-		# _decimal does not use signaling API'
+	echo >>[email protected] '-		# Modules/_decimal/libmpdec/mpsignal.o'
+	echo >>[email protected] ' '
+	echo >>[email protected] ' LIBMPDEC_HEADERS= \'
+	echo >>[email protected] ' 		$(srcdir)/Modules/_decimal/libmpdec/basearith.h \'
+	mv -f [email protected] $@
+
 # retrieve python
 #
-$(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/$(PYTHON_DIST) $(PYTHON_OBJDIR)/openbsd-march.diff
+$(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/$(PYTHON_DIST) $(PYTHON_OBJDIR)/openbsd-march.diff $(PYTHON_OBJDIR)/openbsd-make.diff
 	$(call do_check_sha256,$(PYTHON_DIST))
 	[ -d $(PYTHON_OBJDIR) ] || mkdir -p $(PYTHON_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(PYTHON_DIST)
@@ -1352,6 +1395,7 @@ $(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/
 	mv $(PYTHON_SRCDIR)/setup.py.patched $(PYTHON_SRCDIR)/setup.py
 	chmod +x $(PYTHON_SRCDIR)/setup.py
 	cd $(PYTHON_SRCDIR) && patch -p0 < $(PYTHON_OBJDIR)/openbsd-march.diff
+	cd $(PYTHON_SRCDIR) && patch -p0 < $(PYTHON_OBJDIR)/openbsd-make.diff
 	touch $@
 
 # configure python
@@ -1615,54 +1659,64 @@ $(LZ4_OBJDIR)/.installed: $(LZ4_OBJDIR)/
 	touch $@
 
 #######################################################################
-# swig-old
+# swig
 #######################################################################
 
-swig-old-retrieve:	$(SWIG_OLD_OBJDIR)/.retrieved
-swig-old-configure:	$(SWIG_OLD_OBJDIR)/.configured
-swig-old-compile:	$(SWIG_OLD_OBJDIR)/.compiled
-swig-old-install:	$(SWIG_OLD_OBJDIR)/.installed
-swig-old-reset:
+swig-retrieve:	$(SWIG_OBJDIR)/.retrieved
+swig-configure:	$(SWIG_OBJDIR)/.configured
+swig-compile:	$(SWIG_OBJDIR)/.compiled
+swig-install:	$(SWIG_OBJDIR)/.installed
+swig-reset:
 	$(foreach f, .retrieved .configured .compiled .installed, \
-		rm -f $(SWIG_OLD_OBJDIR)/$(f);)
+		rm -f $(SWIG_OBJDIR)/$(f);)
 
-swig-old-clean:
-	-(cd $(SWIG_OLD_SRCDIR) && env MAKEFLAGS= $(MAKE) clean)
+swig-clean:
+	-(cd $(SWIG_SRCDIR) && env MAKEFLAGS= $(MAKE) clean)
 
-# fetch distfile for swig-old
-$(DISTDIR)/$(SWIG_OLD_DIST):
-	cd $(DISTDIR) && $(FETCH_CMD) -O $(SWIG_OLD_DIST) $(SWIG_OLD_URL)
+# fetch distfile for swig
+$(DISTDIR)/$(SWIG_DIST):
+ifneq ($(SWIG_VER),)
+	cd $(DISTDIR) && $(FETCH_CMD) -O $(SWIG_DIST) $(SWIG_URL)
+endif
 
-# retrieve swig-old
-$(SWIG_OLD_OBJDIR)/.retrieved: $(DISTDIR)/$(SWIG_OLD_DIST)
-	$(call do_check_sha256,$(SWIG_OLD_DIST))
-	[ -d $(SWIG_OLD_OBJDIR) ] || mkdir -p $(SWIG_OLD_OBJDIR)
-	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(SWIG_OLD_DIST)
+# retrieve swig
+$(SWIG_OBJDIR)/.retrieved: $(DISTDIR)/$(SWIG_DIST)
+ifneq ($(SWIG_VER),)
+	$(call do_check_sha256,$(SWIG_DIST))
+	[ -d $(SWIG_OBJDIR) ] || mkdir -p $(SWIG_OBJDIR)
+	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(SWIG_DIST)
 	touch $@
+endif
 
-# configure swig-old
-$(SWIG_OLD_OBJDIR)/.configured: $(SWIG_OLD_OBJDIR)/.retrieved
-	cd $(SWIG_OLD_SRCDIR) \
+# configure swig
+$(SWIG_OBJDIR)/.configured: $(SWIG_OBJDIR)/.retrieved
+ifneq ($(SWIG_VER),)
+	cd $(SWIG_SRCDIR) \
 		&& env CFLAGS="-g $(PROFILE_CFLAGS)" GREP="`which grep`"\
 		CC=$(CC) CXX=$(CXX) \
 		LDFLAGS="-L$(PREFIX)/iconv/lib" \
 		PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \
-		$(SWIG_OLD_SRCDIR)/configure \
-		--prefix=$(PREFIX)/swig-old
+		$(SWIG_SRCDIR)/configure \
+		--prefix=$(PREFIX)/swig
 	touch $@
+endif
 
-# compile swig-old
-$(SWIG_OLD_OBJDIR)/.compiled: $(SWIG_OLD_OBJDIR)/.configured
-	(cd $(SWIG_OLD_SRCDIR) && \
+# compile swig
+$(SWIG_OBJDIR)/.compiled: $(SWIG_OBJDIR)/.configured
+ifneq ($(SWIG_VER),)
+	(cd $(SWIG_SRCDIR) && \
 		env MAKEFLAGS= $(MAKE) CC=$(CC) CXX=$(CXX) \
-			-j${MAKE_JOBS} PREFIX=$(PREFIX)/swig-old)
+			-j${MAKE_JOBS} PREFIX=$(PREFIX)/swig)
 	touch $@
+endif
 
-# install swig-old
-$(SWIG_OLD_OBJDIR)/.installed: $(SWIG_OLD_OBJDIR)/.compiled
-	(cd $(SWIG_OLD_SRCDIR) && \
-		env MAKEFLAGS= $(MAKE) PREFIX=$(PREFIX)/swig-old install)
+# install swig
+$(SWIG_OBJDIR)/.installed: $(SWIG_OBJDIR)/.compiled
+ifneq ($(SWIG_VER),)
+	(cd $(SWIG_SRCDIR) && \
+		env MAKEFLAGS= $(MAKE) PREFIX=$(PREFIX)/swig install)
 	touch $@
+endif
 
 #######################################################################
 # svn
@@ -1718,7 +1772,8 @@ MOD_DONTDOTHAT=modules/svn-$(WC)/mod_don
 LIBMAGIC_FLAG=--with-libmagic=$(PREFIX)/libmagic
 NEON_FLAG=--with-neon="$(PREFIX)/neon"
 JAVAHL_CHECK_TARGET=check-javahl
-SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
+SWIG_FLAG=--with-swig=$(PREFIX)/swig/bin/swig
+PYTHON_BIN_PATH=$(PREFIX)/python2/bin
 else ifeq ($(BRANCH_MAJOR),1.6)
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
 SERF_LDFLAG=-Wl,-rpath,$(PREFIX)/serf/lib -Wl,-rpath,$(PREFIX)/bdb/lib
@@ -1728,7 +1783,8 @@ MOD_DONTDOTHAT=modules/svn-$(WC)/mod_don
 W_NO_SYSTEM_HEADERS=-Wno-system-headers
 NEON_FLAG=--with-neon="$(PREFIX)/neon"
 JAVAHL_CHECK_TARGET=check-javahl
-SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
+SWIG_FLAG=--with-swig=$(PREFIX)/swig/bin/swig
+PYTHON_BIN_PATH=$(PREFIX)/python2/bin
 else ifeq ($(BRANCH_MAJOR), $(filter 1.8 1.9, $(BRANCH_MAJOR)))
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
 # serf >= 1.3.0 is built with scons and no longer sets up rpath linker flags,
@@ -1739,7 +1795,8 @@ MOD_AUTHZ_SVN=modules/svn-$(WC)/mod_auth
 MOD_DONTDOTHAT=modules/svn-$(WC)/mod_dontdothat.so
 LIBMAGIC_FLAG=--with-libmagic=$(PREFIX)/libmagic
 JAVAHL_CHECK_TARGET=check-all-javahl
-SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
+SWIG_FLAG=--with-swig=$(PREFIX)/swig/bin/swig
+PYTHON_BIN_PATH=$(PREFIX)/python2/bin
 else ifeq ($(BRANCH_MAJOR), $(filter 1.10 1.11, 1.12, 1.13 $(BRANCH_MAJOR)))
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
 # serf >= 1.3.0 is built with scons and no longer sets up rpath linker flags,
@@ -1753,7 +1810,8 @@ LIBMAGIC_FLAG=--with-libmagic=$(PREFIX)/
 JAVAHL_CHECK_TARGET=check-all-javahl
 LZ4_FLAG=--with-lz4=$(PREFIX)/lz4
 UTF8PROC_FLAG=--with-utf8proc=internal
-SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
+SWIG_FLAG=--with-swig=$(PREFIX)/swig/bin/swig
+PYTHON_BIN_PATH=$(PREFIX)/python2/bin
 else # 1.14, trunk
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
 # serf >= 1.3.0 is built with scons and no longer sets up rpath linker flags,
@@ -1767,6 +1825,10 @@ LIBMAGIC_FLAG=--with-libmagic=$(PREFIX)/
 JAVAHL_CHECK_TARGET=check-all-javahl
 LZ4_FLAG=--with-lz4=$(PREFIX)/lz4
 UTF8PROC_FLAG=--with-utf8proc=internal
+ifneq ($(SWIG_VER),)
+SWIG_FLAG=--with-swig=$(PREFIX)/swig/bin/swig
+endif
+PYTHON_BIN_PATH=$(PREFIX)/python/bin
 endif
 
 ifeq ($(ENABLE_JAVA_BINDINGS),yes)
@@ -1801,13 +1863,19 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
 	$(BDB_OBJDIR)/.installed $(SQLITE_OBJDIR)/.installed \
 	$(HTTPD_OBJDIR)/.installed $(CYRUS_SASL_OBJDIR)/.installed \
 	$(LIBMAGIC_OBJDIR)/.installed $(NEON_OBJDIR)/.installed \
-	$(SERF_OBJDIR)/.installed \
+	$(SERF_OBJDIR)/.installed $(SWIG_OBJDIR)/.installed \
 	$(RUBY_OBJDIR)/.installed $(PYTHON_OBJDIR)/.installed
+ifeq ($(BRANCH_MAJOR), $(filter 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13, $(BRANCH_MAJOR)))
+ifneq ($(shell test $(SWIG_VER) \< 4.0 && echo 1), 1)
+	@echo "SWIG 3 is required for Subversion < 1.14"
+	@exit 1
+endif
+endif
 	cd $(SVN_SRCDIR) && ./autogen.sh
 	$(SWIG_PL_INCLUDES_HACK)
 	$(SWIG_PL_LINK_HACK)
 	cd $(svn_builddir) && \
-		env LDFLAGS="-L$(PREFIX)/neon/lib -L$(PREFIX)/apr/lib -L$(PREFIX)/serf/lib $(SERF_LDFLAG) $(LZ4_LDFLAG) -L$(PREFIX)/gettext/lib -L$(PREFIX)/iconv/lib" \
+		env LDFLAGS="-L$(PREFIX)/neon/lib -L$(PREFIX)/apr/lib -L$(PREFIX)/serf/lib $(SERF_LDFLAG) -lcrypto -lssl $(LZ4_LDFLAG) -L$(PREFIX)/gettext/lib -L$(PREFIX)/iconv/lib" \
 			CC=$(CC) CXX=$(CXX) \
 			CFLAGS="-I$(PREFIX)/gettext/include -DAPR_POOL_DEBUG" \
 			CXXFLAGS="-I$(PREFIX)/gettext/include -DAPR_POOL_DEBUG" \
@@ -1837,7 +1905,8 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
 			$(LIBMAGIC_FLAG) \
 			$(LZ4_FLAG) \
 			$(UTF8PROC_FLAG) \
-			$(SWIG_OLD_FLAG) \
+			$(SWIG_FLAG) \
+			--with-swig-python=$(PYTHON_BIN_PATH)/python \
 			$(SVN_STATIC_FLAG) \
 			$(DISABLE_NEON_VERSION_CHECK)
 	touch $@
@@ -2415,7 +2484,8 @@ svn-check-swig-pl:
 svn-check-swig-py:
 	-(cd $(svn_builddir) && \
 		env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \
-		env MAKEFLAGS= make check-swig-py 2>&1) | \
+		PATH=$(PYTHON_BIN_PATH):$$PATH \
+		MAKEFLAGS= make check-swig-py 2>&1) | \
 			tee $(svn_builddir)/tests.log.bindings.py
 
 # We add the svn prefix to PATH here because the ruby tests
@@ -2477,8 +2547,8 @@ ifdef LZ4_FLAG
 	@echo "lz4:        $(LZ4_VER)"
 endif
 	@echo "libssl:     `openssl version`"
-ifdef SWIG_OLD_FLAG
-	@echo "swig:       `$(PREFIX)/swig-old/bin/swig -version | grep Version | cut -d' ' -f3`"
+ifdef SWIG_FLAG
+	@echo "swig:       `$(PREFIX)/swig/bin/swig -version | grep Version | cut -d' ' -f3`"
 else
 	@echo "swig:       `swig -version | grep Version | cut -d' ' -f3`"
 endif

Modified: subversion/branches/pristine-checksum-kind/tools/dev/unix-build/README
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dev/unix-build/README?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dev/unix-build/README (original)
+++ subversion/branches/pristine-checksum-kind/tools/dev/unix-build/README Fri Dec  6 13:59:05 2024
@@ -7,8 +7,7 @@ the internet and building them using san
 development (for example, it invokes --enable-maintainer-mode while
 compiling Subversion itself). However, indirect dependencies are not
 covered; you need OpenSSL installed to get SSL support in neon and
-serf for example. Also, it doesn't build all the bindings by default
-(javahl for example).
+serf for example.
 
 This README only covers basic usage. Please read Makefile.svn for more
 details.
@@ -48,6 +47,16 @@ And you can specify a working copy to us
 than one working copy of the same branch:
 	$ make BRANCH="1.6.x" WC="1.6.x-test2"
 
+To change to a specific version of a dependency, pass it on the command
+line:
+	$ make SERF_VER="1.3.9"
+You can also create a file named Makefile.local and set the SERF_VER variable
+there. It is used automatically and will override the default versions.
+
+Dependency versions other than default may require patching of the Makefile,
+for example setting the SHA256_xxx variable to the checksum of that source
+file.
+
 When the script has finished fetching and building, it uses
 $(SVN_DEV)/prefix to install Subversion libraries and
 binaries. $(SVN_DEV)/prefix/svn-trunk (or whatever you choose to

Modified: subversion/branches/pristine-checksum-kind/tools/dev/wc-ng/svn-wc-db-tester.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dev/wc-ng/svn-wc-db-tester.c?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dev/wc-ng/svn-wc-db-tester.c (original)
+++ subversion/branches/pristine-checksum-kind/tools/dev/wc-ng/svn-wc-db-tester.c Fri Dec  6 13:59:05 2024
@@ -156,7 +156,10 @@ check_lib_versions(void)
  * return SVN_NO_ERROR.
  */
 static svn_error_t *
-sub_main(int *exit_code, int argc, const char *argv[], apr_pool_t *pool)
+sub_main(int *exit_code,
+         int argc,
+         const svn_cmdline__argv_char_t *cmdline_argv[],
+         apr_pool_t *pool)
 {
   apr_getopt_t *os;
   const apr_getopt_option_t options[] =
@@ -167,10 +170,13 @@ sub_main(int *exit_code, int argc, const
       {0,             0,  0,  0}
     };
   apr_array_header_t *remaining_argv;
+  const char **argv;
 
   /* Check library versions */
   SVN_ERR(check_lib_versions());
 
+  SVN_ERR(svn_cmdline__get_cstring_argv(&argv, argc, cmdline_argv, pool));
+
 #if defined(WIN32) || defined(__CYGWIN__)
   /* Set the working copy administrative directory name. */
   if (getenv("SVN_ASP_DOT_NET_HACK"))
@@ -237,7 +243,7 @@ sub_main(int *exit_code, int argc, const
 }
 
 int
-main(int argc, const char *argv[])
+SVN_CMDLINE__MAIN(int argc, const svn_cmdline__argv_char_t *argv[])
 {
   apr_pool_t *pool;
   int exit_code = EXIT_SUCCESS;

Modified: subversion/branches/pristine-checksum-kind/tools/dist/README.backport
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/README.backport?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/README.backport (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/README.backport Fri Dec  6 13:59:05 2024
@@ -18,9 +18,9 @@ F4. Adding new entries to STATUS.
 The scripts are:
 
 backport.pl:
-    oldest script, implements [F1], [F2], and [F3].  As of Feb 2018, used in
-    production by svn-role (running on svn-qavm) and by svn-backport-conflicts-1.9.x
-    (a buildbot job).
+    oldest script, implements [F1], [F2], and [F3].  As of Aug 2023, used in
+    production by svn-role (running on svn-qavm) and by the buildbot jobs
+    svn-backport-conflicts-* (see https://ci2.apache.org/).
 
 nominate.pl:
     Symlink to backport.pl.  Implements [F4].  (The script inspects its argv[0].)

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport.pl
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport.pl?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport.pl (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport.pl Fri Dec  6 13:59:05 2024
@@ -13,7 +13,7 @@ use v5.10.0; # needed for $^V
 # compatible with those expected by the script, so disable the warning for
 # those Perls.  But don't try to disable the the warning category on Perls
 # that don't know that category, since that breaks compilation.
-no if (v5.17.0 le $^V and $^V le v5.34.0),
+no if (v5.17.0 le $^V and $^V le v5.38.0),
    warnings => 'experimental::smartmatch';
 
 # Licensed to the Apache Software Foundation (ASF) under one

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests.py?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests.py (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests.py Fri Dec  6 13:59:05 2024
@@ -101,7 +101,7 @@ class BackportTest(object):
     # .wraps() propagates the wrappee's docstring to the wrapper.
     @functools.wraps(test_func)
     def wrapped_test_func(sbox):
-      expected_dump_file = './backport_tests_data/%s.dump' % (test_func.func_name,)
+      expected_dump_file = './backport_tests_data/%s.dump' % (test_func.__name__,)
 
       sbox.build()
 
@@ -223,15 +223,24 @@ def verify_backport(sbox, expected_dump_
     # There is no expected dump file.
     return
 
-  # Remove some SVNSync-specific housekeeping properties from the
-  # mirror repository in preparation for the comparison dump.
+  # Prepare for dump comparison
+  # We will run this over file://, let's set a known author: by default it
+  # would be the developer's OS username, since svn(1) as executed by this
+  # script doesn't use the _with_auth() codepath.
+  # We also need to ignore the date, since it will be based on the date the
+  # test is executed.
   svntest.actions.enable_revprop_changes(sbox.repo_dir)
   for revnum in range(0, 1+int(sbox.youngest())):
     svntest.actions.run_and_verify_svnadmin([], [],
       "delrevprop", "-r", revnum, sbox.repo_dir, "svn:date")
+    # Assume r1:HEAD have svn:author set, and r0 hasn't
+    if revnum > 0:
+      svntest.actions.run_and_verify_svn([], [],
+        "propset", "--revprop", "-r", revnum, "-q", "svn:author", "jrandom",
+        sbox.wc_dir)
 
-  # Create a dump file from the mirror repository.
-  dest_dump = open(expected_dump_file).readlines()
+  # Create a dump file from the repository.
+  dest_dump = open(expected_dump_file, 'rb').readlines()
   svntest.actions.run_and_verify_svnadmin(None, [],
                                           'setuuid', '--', sbox.repo_dir, uuid)
   src_dump = svntest.actions.run_and_verify_dump(sbox.repo_dir)

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_accept.dump
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_accept.dump?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_accept.dump (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_accept.dump Fri Dec  6 13:59:05 2024
@@ -480,13 +480,13 @@ Approved changes:
 
 
 Revision-number: 8
-Prop-content-length: 206
-Content-length: 206
+Prop-content-length: 207
+Content-length: 207
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 150

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_branch_with_original_revision.dump
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_branch_with_original_revision.dump?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_branch_with_original_revision.dump (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_branch_with_original_revision.dump Fri Dec  6 13:59:05 2024
@@ -570,13 +570,13 @@ Approved changes:
 
 
 Revision-number: 11
-Prop-content-length: 150
-Content-length: 150
+Prop-content-length: 151
+Content-length: 151
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 95
@@ -653,13 +653,13 @@ resolved
 
 
 Revision-number: 12
-Prop-content-length: 93
-Content-length: 93
+Prop-content-length: 94
+Content-length: 94
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 38

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_branches.dump
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_branches.dump?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_branches.dump (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_branches.dump Fri Dec  6 13:59:05 2024
@@ -547,13 +547,13 @@ Approved changes:
 
 
 Revision-number: 10
-Prop-content-length: 146
-Content-length: 146
+Prop-content-length: 147
+Content-length: 147
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 91
@@ -623,13 +623,13 @@ resolved
 
 
 Revision-number: 11
-Prop-content-length: 93
-Content-length: 93
+Prop-content-length: 94
+Content-length: 94
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 38

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_indented_entry.dump
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_indented_entry.dump?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_indented_entry.dump (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_indented_entry.dump Fri Dec  6 13:59:05 2024
@@ -453,13 +453,13 @@ Approved changes:
 
 
 Revision-number: 7
-Prop-content-length: 128
-Content-length: 128
+Prop-content-length: 129
+Content-length: 129
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 73

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_logsummary_colon.dump
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_logsummary_colon.dump?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_logsummary_colon.dump (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_logsummary_colon.dump Fri Dec  6 13:59:05 2024
@@ -453,13 +453,13 @@ Approved changes:
 
 
 Revision-number: 7
-Prop-content-length: 135
-Content-length: 135
+Prop-content-length: 136
+Content-length: 136
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 80

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_multirevisions.dump
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_multirevisions.dump?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_multirevisions.dump (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_multirevisions.dump Fri Dec  6 13:59:05 2024
@@ -453,13 +453,13 @@ Approved changes:
 
 
 Revision-number: 7
-Prop-content-length: 146
-Content-length: 146
+Prop-content-length: 147
+Content-length: 147
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 91

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_two_approveds.dump
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_two_approveds.dump?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_two_approveds.dump (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_two_approveds.dump Fri Dec  6 13:59:05 2024
@@ -458,13 +458,13 @@ Approved changes:
 
 
 Revision-number: 7
-Prop-content-length: 132
-Content-length: 132
+Prop-content-length: 133
+Content-length: 133
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 77
@@ -531,13 +531,13 @@ First change
 
 
 Revision-number: 8
-Prop-content-length: 132
-Content-length: 132
+Prop-content-length: 133
+Content-length: 133
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 77
@@ -749,13 +749,13 @@ Approved changes:
 
 
 Revision-number: 12
-Prop-content-length: 132
-Content-length: 132
+Prop-content-length: 133
+Content-length: 133
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 77
@@ -827,13 +827,13 @@ First change
 
 
 Revision-number: 13
-Prop-content-length: 132
-Content-length: 132
+Prop-content-length: 133
+Content-length: 133
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 77
@@ -900,13 +900,13 @@ Approved changes:
 
 
 Revision-number: 14
-Prop-content-length: 134
-Content-length: 134
+Prop-content-length: 135
+Content-length: 135
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 79

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_unicode_entry.dump
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_unicode_entry.dump?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_unicode_entry.dump (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_data/backport_unicode_entry.dump Fri Dec  6 13:59:05 2024
@@ -454,13 +454,13 @@ Approved changes:
 
 
 Revision-number: 7
-Prop-content-length: 153
-Content-length: 153
+Prop-content-length: 154
+Content-length: 154
 
 K 10
 svn:author
-V 6
-daniel
+V 7
+jrandom
 K 7
 svn:log
 V 98

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_pl.py
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_pl.py?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_pl.py (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_pl.py Fri Dec  6 13:59:05 2024
@@ -50,4 +50,5 @@ def run_conflicter(sbox, error_expected=
   return run_backport(sbox, error_expected, ["MAY_COMMIT=0"])
 
 
-execfile("backport_tests.py")
+with open("backport_tests.py", "rb") as file:
+  exec(compile(file.read(), "backport_tests.py", "exec"))

Modified: subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_py.py
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_py.py?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_py.py (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/backport_tests_py.py Fri Dec  6 13:59:05 2024
@@ -51,4 +51,5 @@ def run_conflicter(sbox, error_expected=
   with chdir(sbox.ospath('branch')):
     return svntest.main.run_command(args[0], error_expected, False, *(args[1:]))
 
-execfile("backport_tests.py")
+with open("backport_tests.py", "rb") as file:
+  exec(compile(file.read(), "backport_tests.py", "exec"))

Modified: subversion/branches/pristine-checksum-kind/tools/dist/make-keys.sh
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/make-keys.sh?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/make-keys.sh (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/make-keys.sh Fri Dec  6 13:59:05 2024
@@ -34,7 +34,7 @@ while getopts ":c:o:h" ARG; do
 done
 
 if [ ! -f $COMMITTERS ]; then
-	echo "COMMITTERS file not found."
+	echo "COMMITTERS file not found at ${COMMITTERS}"
 	exit 1
 fi
 

Modified: subversion/branches/pristine-checksum-kind/tools/dist/release-lines.yaml
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/release-lines.yaml?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/release-lines.yaml (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/release-lines.yaml Fri Dec  6 13:59:05 2024
@@ -24,7 +24,7 @@ tool_versions:
 # The version that is our current recommended release
 recommended_release: '1.14'
 # For clean-dist, a whitelist of artifacts to keep, by version.
-supported_release_lines: ['1.10', '1.14']
+supported_release_lines: ['1.14']
 # Long-Term Support (LTS) versions
 lts_release_lines: ['1.10', '1.14']
 

Modified: subversion/branches/pristine-checksum-kind/tools/dist/release.py
URL: http://svn.apache.org/viewvc/subversion/branches/pristine-checksum-kind/tools/dist/release.py?rev=1922345&r1=1922344&r2=1922345&view=diff
==============================================================================
--- subversion/branches/pristine-checksum-kind/tools/dist/release.py (original)
+++ subversion/branches/pristine-checksum-kind/tools/dist/release.py Fri Dec  6 13:59:05 2024
@@ -97,7 +97,7 @@ dist_dev_url = dist_repos + '/dev/subver
 dist_release_url = dist_repos + '/release/subversion'
 dist_archive_url = 'https://archive.apache.org/dist/subversion'
 buildbot_repos = os.getenv('SVN_RELEASE_BUILDBOT_REPOS',
-                           'https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster')
+                           'https://svn.apache.org/repos/infra/infrastructure/buildbot2')
 extns = ['zip', 'tar.gz', 'tar.bz2']
 
 
@@ -630,7 +630,8 @@ def create_status_file_on_branch(args):
     ver = args.version
     branch_wc = get_workdir(args.base_dir)
     branch_url = get_branch_url(ver)
-    run_svn(['checkout', branch_url, branch_wc, '--depth=immediates'])
+    run_svn(['checkout', branch_url, branch_wc, '--depth=immediates'],
+            dry_run=args.dry_run)
 
     status_local_path = os.path.join(branch_wc, 'STATUS')
     template_filename = 'STATUS.ezt'
@@ -641,9 +642,14 @@ def create_status_file_on_branch(args):
     template = ezt.Template(compress_whitespace=False)
     template.parse(get_tmplfile(template_filename).read())
 
-    with open(status_local_path, 'wx') as g:
+    if args.dry_run:
+      print('\nNew STATUS file:')
+      print(template.generate(sys.stdout, data))
+    else:
+      with open(status_local_path, 'wx') as g:
         template.generate(g, data)
-    run_svn(['add', status_local_path])
+    run_svn(['add', status_local_path],
+            dry_run=args.dry_run)
     run_svn(['commit', status_local_path,
              '-m', '* branches/' + ver.branch + '.x/STATUS: New file.'],
             dry_run=args.dry_run)
@@ -675,9 +681,9 @@ def update_buildbot_config(args):
     prev_ver = Version('1.%d.0' % (ver.minor - 1,))
     next_ver = Version('1.%d.0' % (ver.minor + 1,))
 
-    relpath = 'master1/projects/subversion.conf'
+    relpath = 'projects/subversion.py'
     edit_file(get_buildbot_wc_path(args.base_dir, relpath),
-              r'(MINOR_LINES=\[.*%s)(\])' % (prev_ver.minor,),
+              r'(MINOR_LINES = \[.*%s)(\])' % (prev_ver.minor,),
               r'\1, %s\2' % (ver.minor,))
 
     log_msg = '''\
@@ -824,6 +830,10 @@ def roll_tarballs(args):
         exclude += ['STATUS']
         if args.version.minor < 7:
             exclude += ['packages', 'www']
+    if os.path.exists('.github'):
+        exclude += ['.github']
+    if os.path.exists('.asf.yaml'):
+        exclude += ['.asf.yaml']
     cwd = os.getcwd()
     os.chdir(get_workdir(args.base_dir))
     run_svn(['update', '--set-depth=exclude'] + exclude,
@@ -896,6 +906,12 @@ def roll_tarballs(args):
                 if dname.startswith('autom4te') and dname.endswith('.cache'):
                     shutil.rmtree(os.path.join(root, dname))
 
+    def clean_pycache():
+        for root, dirs, files in os.walk(exportdir):
+            for dname in dirs:
+                if dname == '__pycache__':
+                    shutil.rmtree(os.path.join(root, dname))
+
     logging.info('Building Windows tarballs')
     export(windows=True)
     os.chdir(exportdir)
@@ -904,6 +920,10 @@ def roll_tarballs(args):
     # line endings and won't run, so use the one in the working copy.
     run_script(args.verbose,
                '%s/tools/po/po-update.sh pot' % get_workdir(args.base_dir))
+    if not args.version < Version("1.15.0"):
+      run_script(args.verbose,
+                 'python gen-make.py -t cmake --release')
+    clean_pycache()  # as with clean_autom4te, is this pointless on Windows?
     os.chdir(cwd)
     clean_autom4te() # dist.sh does it but pointless on Windows?
     os.chdir(get_tempdir(args.base_dir))
@@ -919,6 +939,10 @@ def roll_tarballs(args):
                '''tools/po/po-update.sh pot
                   ./autogen.sh --release''',
                hide_stderr=True) # SWIG is noisy
+    if not args.version < Version("1.15.0"):
+      run_script(args.verbose,
+                 'python gen-make.py -t cmake --release')
+    clean_pycache()  # without this, tarballs contain empty __pycache__ dirs
     os.chdir(cwd)
     clean_autom4te() # dist.sh does it but probably pointless
 
@@ -983,7 +1007,7 @@ def roll_tarballs(args):
         # complete wc, not a shallow wc as indicated in HACKING as one option.
         # We /could/ download COMMITTERS from /trunk if it doesn't exist...
         subprocess.check_call([os.path.dirname(__file__) + '/make-keys.sh',
-                               '-c', os.path.dirname(__file__) + '/../..',
+                               '-c', os.path.dirname(__file__) + '/../../COMMITTERS',
                                '-o', filepath])
         shutil.move(filepath, get_target(args))
 
@@ -1567,7 +1591,7 @@ def write_changelog(args):
     mergeinfo = mergeinfo.splitlines()
 
     separator_pattern = re.compile('^-{72}$')
-    revline_pattern = re.compile('^r(\d+) \| [^\|]+ \| [^\|]+ \| \d+ lines?$')
+    revline_pattern = re.compile(r'^r(\d+) \| [^|]+ \| [^|]+ \| \d+ lines?$')
     changes_prefix_pattern = re.compile(r'^\[(U|D)?:?([^\]]+)?\](.+)$')
     changes_suffix_pattern = re.compile(r'^(.+)\[(U|D)?:?([^\]]+)?\]$')
     # TODO: push this into backport.status as a library function
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.