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
