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



Reply via email to