Modified: subversion/branches/multi-wc-format/tools/dev/unix-build/Makefile.svn URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dev/unix-build/Makefile.svn?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dev/unix-build/Makefile.svn (original) +++ subversion/branches/multi-wc-format/tools/dev/unix-build/Makefile.svn Fri Jan 14 14:01:45 2022 @@ -46,11 +46,19 @@ USE_HTTPV1 ?= no USE_AUTHZ_SHORT_CIRCUIT ?= no RAMDISK ?= /ramdisk MAKE_JOBS ?= 4 +# available backends: fsfs fsx bdb +SVN_CHECK_FS_BACKENDS ?= fsfs PWD = $(shell pwd) UNAME = $(shell uname) RUBY = $(shell which ruby 2>/dev/null) ifeq ($(RUBY),) +RUBY = $(shell which ruby27 2>/dev/null) +ifeq ($(RUBY),) +RUBY = $(shell which ruby26 2>/dev/null) +ifeq ($(RUBY),) +RUBY = $(shell which ruby25 2>/dev/null) +ifeq ($(RUBY),) RUBY = $(shell which ruby24 2>/dev/null) ifeq ($(RUBY),) RUBY = $(shell which ruby23 2>/dev/null) @@ -71,6 +79,9 @@ endif # 2.1 endif # 2.2 endif # 2.3 endif # 2.4 +endif # 2.5 +endif # 2.6 +endif # 2.7 ifeq ($(UNAME),OpenBSD) # Pick the correct base compiler (ie. clang rather than ancient gcc 4.2.1) @@ -85,8 +96,12 @@ else BRANCH = $(TAG) endif WC ?= $(BRANCH) -BRANCH_MAJOR = $(shell echo $(BRANCH) | \ - sed -e 's/\([0-9]\)\.\([0-9]\)\.[x0-9].*$$/\1.\2/') +BRANCH_MAJOR := $(shell echo $(BRANCH) | sed -E 's/([0-9]+)\.([0-9]+)\..*/\1.\2/') +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 +endif SVN_REL_WC = svn-$(WC) SVN_WC = $(PWD)/$(SVN_REL_WC) PREFIX = $(PWD)/prefix @@ -97,20 +112,23 @@ OBJDIR = $(PWD)/objdir BDB_MAJOR_VER = 4.7 BDB_VER = $(BDB_MAJOR_VER).25 -APR_VER = 1.5.2 +APR_VER = 1.7.0 APR_ICONV_VER = 1.2.1 GNU_ICONV_VER = 1.15 -APR_UTIL_VER = 1.5.4 -HTTPD_VER = 2.2.32 +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 SERF_OLD_VER = 0.3.1 CYRUS_SASL_VER = 2.1.25 SQLITE_VER = 3160200 LIBMAGIC_VER = 5.30 -RUBY_VER = 2.4.4 +RUBY_VER = 2.7.4 BZ2_VER = 1.0.6 -PYTHON_VER = 2.7.13 +PYTHON_VER = 3.7.5 +PYTHON2_VER = 2.7.13 +PY3C_VER = 1.1 JUNIT_VER = 4.10 GETTEXT_VER = 0.19.8.1 LZ4_VER = 1.7.5 @@ -121,11 +139,14 @@ GNU_ICONV_DIST = libiconv-$(GNU_ICONV_VE NEON_DIST = neon-$(NEON_VER).tar.gz SQLITE_DIST = sqlite-autoconf-$(SQLITE_VER).tar.gz CYRUS_SASL_DIST = cyrus-sasl-$(CYRUS_SASL_VER).tar.gz +PCRE_DIST = pcre-$(PCRE_VER).tar.gz HTTPD_DIST = httpd-$(HTTPD_VER).tar.gz LIBMAGIC_DIST = file-$(LIBMAGIC_VER).tar.gz RUBY_DIST = ruby-$(RUBY_VER).tar.gz BZ2_DIST = bzip2-$(BZ2_VER).tar.gz PYTHON_DIST = Python-$(PYTHON_VER).tgz +PYTHON2_DIST = Python-$(PYTHON2_VER).tgz +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 @@ -133,14 +154,17 @@ LZ4_DIST = lz4-$(LZ4_VER).tar.gz SHA256_${BDB_DIST} = f14fd96dd38915a1d63dcb94a63fbb8092334ceba6b5060760427096f631263e SHA256_${APR_ICONV_DIST} = 19381959d50c4a5f3b9c84d594a5f9ffb3809786919b3058281f4c87e1f4b245 SHA256_${GNU_ICONV_DIST} = ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178 -SHA256_${HTTPD_DIST} = b6e1528779f99c301d6438d89ae892a311619b43a39f16297f9eabd4a8d16cb8 +SHA256_${PCRE_DIST} = 244838e1f1d14f7e2fa7681b857b3a8566b74215f28133f14a8f5e59241b682c +SHA256_${HTTPD_DIST} = aa97a834a32d51974be8d8a013b561e28d327387cb1da2c3c2762acd0146aabd SHA256_${NEON_DIST} = db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca SHA256_${CYRUS_SASL_DIST} = 418c16e6240a4f9b637cbe3d62937b9675627bad27c622191d47de8686fe24fe SHA256_${SQLITE_DIST} = 65cc0c3e9366f50c0679c5ccd31432cea894bc4a3e8947dabab88c8693263615 SHA256_${LIBMAGIC_DIST} = 694c2432e5240187524c9e7cf1ec6acc77b47a0e19554d34c14773e43dbbf214 -SHA256_${RUBY_DIST} = 254f1c1a79e4cc814d1e7320bc5bdd995dc57e08727d30a767664619a9c8ae5a +SHA256_${RUBY_DIST} = 3043099089608859fc8cce7f9fdccaa1f53a462457e3838ec3b25a7d609fbc5b SHA256_${BZ2_DIST} = a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd -SHA256_${PYTHON_DIST} = a4f05a0720ce0fd92626f0278b6b433eee9a6173ddf2bced7957dfb599a5ece1 +SHA256_${PYTHON_DIST} = 8ecc681ea0600bbfb366f2b173f727b205bb825d93d2f0b286bc4e58d37693da +SHA256_${PYTHON2_DIST} = a4f05a0720ce0fd92626f0278b6b433eee9a6173ddf2bced7957dfb599a5ece1 +SHA256_${PY3C_DIST} = c7ffc22bc92dded0ca859db53ef3a0b466f89a9f8aad29359c9fe4ff18ebdd20 SHA256_${JUNIT_DIST} = 36a747ca1e0b86f6ea88055b8723bb87030d627766da6288bf077afdeeb0f75a SHA256_${GETTEXT_DIST} = ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43 SHA256_${LZ4_DIST} = 0190cacd63022ccb86f44fa5041dc6c3804407ad61550ca21c382827319e7e7e @@ -161,6 +185,7 @@ endef DISTFILES = $(DISTDIR)/$(NEON_DIST) \ $(DISTDIR)/$(SERF_DIST) \ $(DISTDIR)/$(SQLITE_DIST) \ + $(DISTDIR)/$(PCRE_DIST) \ $(DISTDIR)/$(HTTPD_DIST) \ $(DISTDIR)/$(APR_ICONV_DIST) \ $(DISTDIR)/$(GNU_ICONV_DIST) \ @@ -169,6 +194,8 @@ DISTFILES = $(DISTDIR)/$(NEON_DIST) \ $(DISTDIR)/$(RUBY_DIST) \ $(DISTDIR)/$(BZ2_DIST) \ $(DISTDIR)/$(PYTHON_DIST) \ + $(DISTDIR)/$(PYTHON2_DIST) \ + $(DISTDIR)/$(PY3C_DIST) \ $(DISTDIR)/$(JUNIT_DIST) \ $(DISTDIR)/$(GETTEXT_DIST) @@ -180,18 +207,21 @@ 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) 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) SERF_URL = https://svn.apache.org/repos/asf/serf/tags/$(SERF_VER) SERF_OLD_URL = https://svn.apache.org/repos/asf/serf/tags/$(SERF_OLD_VER) SQLITE_URL = https://www.sqlite.org/2017/$(SQLITE_DIST) -CYRUS_SASL_URL = ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/$(CYRUS_SASL_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.4/$(RUBY_DIST) -BZ2_URL = https://ftp.openbsd.org/pub/OpenBSD/distfiles/$(BZ2_DIST) +RUBY_URL = https://cache.ruby-lang.org/pub/ruby/2.7/$(RUBY_DIST) +BZ2_URL = https://stsp.name/distfiles/$(BZ2_DIST) PYTHON_URL = https://python.org/ftp/python/$(PYTHON_VER)/$(PYTHON_DIST) -JUNIT_URL = https://downloads.sourceforge.net/project/junit/junit/$(JUNIT_VER)/$(JUNIT_DIST) +PYTHON2_URL = https://python.org/ftp/python/$(PYTHON2_VER)/$(PYTHON2_DIST) +PY3C_URL = https://stsp.name/distfiles/py3c-${PY3C_VER}.tar.gz +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 @@ -201,6 +231,7 @@ APR_SRCDIR = $(SRCDIR)/apr-$(APR_VER) APR_ICONV_SRCDIR = $(SRCDIR)/apr-iconv-$(APR_ICONV_VER) GNU_ICONV_SRCDIR = $(SRCDIR)/libiconv-$(GNU_ICONV_VER) APR_UTIL_SRCDIR = $(SRCDIR)/apr-util-$(APR_UTIL_VER) +PCRE_SRCDIR = $(SRCDIR)/pcre-$(PCRE_VER) HTTPD_SRCDIR = $(SRCDIR)/httpd-$(HTTPD_VER) NEON_SRCDIR = $(SRCDIR)/neon-$(NEON_VER) SERF_SRCDIR = $(SRCDIR)/serf-$(SERF_VER) @@ -211,6 +242,8 @@ LIBMAGIC_SRCDIR = $(SRCDIR)/file-$(LIBMA RUBY_SRCDIR = $(SRCDIR)/ruby-$(RUBY_VER) BZ2_SRCDIR = $(SRCDIR)/bzip2-$(BZ2_VER) PYTHON_SRCDIR = $(SRCDIR)/Python-$(PYTHON_VER) +PYTHON2_SRCDIR = $(SRCDIR)/Python-$(PYTHON2_VER) +PY3C_SRCDIR = $(SRCDIR)/py3c-$(PY3C_VER) GETTEXT_SRCDIR = $(SRCDIR)/gettext-$(GETTEXT_VER) LZ4_SRCDIR = ${SRCDIR}/lz4-$(LZ4_VER) SVN_SRCDIR = $(SVN_WC) @@ -220,6 +253,7 @@ APR_OBJDIR = $(OBJDIR)/apr-$(APR_VER) APR_ICONV_OBJDIR = $(OBJDIR)/apr-iconv-$(APR_ICONV_VER) GNU_ICONV_OBJDIR = $(OBJDIR)/libiconv-$(GNU_ICONV_VER) APR_UTIL_OBJDIR = $(OBJDIR)/apr-util-$(APR_UTIL_VER) +PCRE_OBJDIR = $(OBJDIR)/pcre-$(PCRE_VER) HTTPD_OBJDIR = $(OBJDIR)/httpd-$(HTTPD_VER) NEON_OBJDIR = $(OBJDIR)/neon-$(NEON_VER) SERF_OBJDIR = $(OBJDIR)/serf-$(SERF_VER) @@ -230,6 +264,8 @@ LIBMAGIC_OBJDIR = $(OBJDIR)/file-$(LIBMA RUBY_OBJDIR = $(OBJDIR)/ruby-$(RUBY_VER) BZ2_OBJDIR = $(OBJDIR)/bzip2-$(BZ2_VER) PYTHON_OBJDIR = $(OBJDIR)/python-$(PYTHON_VER) +PYTHON2_OBJDIR = $(OBJDIR)/python-$(PYTHON2_VER) +PY3C_OBJDIR = $(OBJDIR)/py3c-$(PY3C_VER) GETTEXT_OBJDIR = $(OBJDIR)/gettext-$(GETTEXT_VER) LZ4_OBJDIR = ${OBJDIR}/lz4-$(LZ4_VER) SVN_OBJDIR = $(OBJDIR)/$(SVN_REL_WC) @@ -244,10 +280,10 @@ PROFILE_CFLAGS=-pg endif # We need this to make sure some targets below pick up the right libraries -LD_LIBRARY_PATH=$(PREFIX)/apr/lib:$(PREFIX)/gettext/lib:$(PREFIX)/iconv/lib:$(PREFIX)/bdb/lib:$(PREFIX)/neon/lib:$(PREFIX)/serf/lib:$(PREFIX)/sqlite/lib:$(PREFIX)/cyrus-sasl/lib:$(PREFIX)/iconv/lib:$(PREFIX)/libmagic/lib:$(PREFIX)/ruby/lib:$(PREFIX)/python/lib:$(PREFIX)/svn-$(WC)/lib +LD_LIBRARY_PATH=$(PREFIX)/apr/lib:$(PREFIX)/gettext/lib:$(PREFIX)/iconv/lib:$(PREFIX)/bdb/lib:$(PREFIX)/neon/lib:$(PREFIX)/serf/lib:$(PREFIX)/sqlite/lib:$(PREFIX)/cyrus-sasl/lib:$(PREFIX)/iconv/lib:$(PREFIX)/libmagic/lib:$(PREFIX)/ruby/lib:$(PREFIX)/svn-$(WC)/lib # We need this to make sure some targets below pick up the right pkg-config files -PKG_CONFIG_PATH=$(PREFIX)/apr/lib/pkgconfig:$(PREFIX)/neon/lib/pkgconfig:$(PREFIX)/serf/lib/pkgconfig:$(PREFIX)/sqlite/lib/pkgconfig:$(PREFIX)/ruby/lib/pkgconfig:$(PREFIX)/python/lib/pkgconfig:$(PREFIX)/lz4/lib/pkgconfig +PKG_CONFIG_PATH=$(PREFIX)/apr/lib/pkgconfig:$(PREFIX)/neon/lib/pkgconfig:$(PREFIX)/serf/lib/pkgconfig:$(PREFIX)/sqlite/lib/pkgconfig:$(PREFIX)/ruby/lib/pkgconfig:$(PREFIX)/lz4/lib/pkgconfig ####################################################################### @@ -257,22 +293,22 @@ PKG_CONFIG_PATH=$(PREFIX)/apr/lib/pkgcon .PHONY: all reset clean nuke fetch all: dirs-create bdb-install apr-install iconv-install apr-util-install \ - httpd-install neon-install serf-install serf-old-install \ + pcre-install httpd-install neon-install serf-install serf-old-install \ sqlite-install cyrus-sasl-install libmagic-install \ - ruby-install bz2-install python-install gettext-install \ - lz4-install svn-install svn-bindings-install + ruby-install bz2-install python-install python2-install py3c-retrieve \ + gettext-install lz4-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 \ - httpd-reset neon-reset serf-reset serf-old-reset sqlite-reset \ - cyrus-sasl-reset libmagic-reset ruby-reset python-reset \ - bz2-reset gettext-reset lz4-reset svn-reset + pcre-reset httpd-reset neon-reset serf-reset serf-old-reset \ + sqlite-reset cyrus-sasl-reset libmagic-reset ruby-reset python-reset \ + python2-reset bz2-reset gettext-reset lz4-reset svn-reset # Use to save disk space. -clean: bdb-clean apr-clean iconv-clean apr-util-clean httpd-clean \ +clean: bdb-clean apr-clean iconv-clean apr-util-clean pcre-clean httpd-clean \ neon-clean serf-clean serf-old-clean sqlite-clean cyrus-sasl-clean \ - libmagic-clean ruby-clean bz2-clean python-clean gettext-clean \ - lz4-clean svn-clean + libmagic-clean ruby-clean bz2-clean python-clean python2-clean \ + gettext-clean lz4-clean svn-clean # Nukes everything (including installed binaries!) # Use this to start ALL OVER AGAIN! Use with caution! @@ -529,6 +565,8 @@ $(GNU_ICONV_OBJDIR)/.retrieved: $(DISTDI cd $(SRCDIR)/libiconv-$(GNU_ICONV_VER) && \ patch -p0 < $(GNU_ICONV_OBJDIR)/lib_encodings.def.diff && \ patch -p0 < $(GNU_ICONV_OBJDIR)/lib_aliases.gperf.diff + cd $(SRCDIR)/libiconv-${GNU_ICONV_VER} && \ + sed -i 's/gcc/${CC}/' Makefile.devel touch $@ # configure gnu-iconv @@ -632,6 +670,53 @@ $(APR_UTIL_OBJDIR)/.installed: $(APR_UTI touch $@ ####################################################################### +# pcre +####################################################################### + +pcre-retrieve: $(PCRE_OBJDIR)/.retrieved +pcre-configure: $(PCRE_OBJDIR)/.configured +pcre-compile: $(PCRE_OBJDIR)/.compiled +pcre-install: $(PCRE_OBJDIR)/.installed +pcre-reset: + $(foreach f, .retrieved .configured .compiled .installed, \ + rm -f $(PCRE_OBJDIR)/$(f);) + +pcre-clean: + -(cd $(PCRE_OBJDIR) && env MAKEFLAGS= make clean) + +# fetch distfile for pcre +$(DISTDIR)/$(PCRE_DIST): + cd $(DISTDIR) && $(FETCH_CMD) $(PCRE_URL) + +# retrieve pcre +$(PCRE_OBJDIR)/.retrieved: $(DISTDIR)/$(PCRE_DIST) + $(call do_check_sha256,$(PCRE_DIST)) + [ -d $(PCRE_OBJDIR) ] || mkdir -p $(PCRE_OBJDIR) + tar -C $(SRCDIR) -zxf $(DISTDIR)/$(PCRE_DIST) + touch $@ + +# configure pcre +$(PCRE_OBJDIR)/.configured: $(PCRE_OBJDIR)/.retrieved + cd $(PCRE_OBJDIR) \ + && env CFLAGS="-g $(PROFILE_CFLAGS)" \ + CC=$(CC) CXX=$(CXX) \ + GREP="`which grep`" \ + PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \ + $(PCRE_SRCDIR)/configure \ + --prefix=$(PREFIX)/pcre + touch $@ + +# compile pcre +$(PCRE_OBJDIR)/.compiled: $(PCRE_OBJDIR)/.configured + (cd $(PCRE_OBJDIR) && env MAKEFLAGS= make -j${MAKE_JOBS}) + touch $@ + +# install pcre +$(PCRE_OBJDIR)/.installed: $(PCRE_OBJDIR)/.compiled + (cd $(PCRE_OBJDIR) && env MAKEFLAGS= make install) + touch $@ + +####################################################################### # httpd ####################################################################### @@ -646,104 +731,50 @@ httpd-reset: httpd-clean: -(cd $(HTTPD_OBJDIR) && env MAKEFLAGS= make clean) - -rm ${HTTPD_OBJDIR}/chil-engine.diff - -rm ${HTTPD_OBJDIR}/ssl-set-state.diff - -rm ${HTTPD_OBJDIR}/acinclude.diff + rm -f $(HTTPD_OBJDIR)/mod-proxy-no-threads-2.4.diff + rm -f $(HTTPD_OBJDIR)/ssl-init-proxy-certs.diff # fetch distfile for httpd $(DISTDIR)/$(HTTPD_DIST): cd $(DISTDIR) && $(FETCH_CMD) $(HTTPD_URL) -$(HTTPD_OBJDIR)/chil-engine.diff: - mkdir -p $(dir $@) - echo > [email protected] '--- modules/ssl/ssl_engine_init.c.orig Mon Apr 14 13:20:57 2014' - echo >>[email protected] '+++ modules/ssl/ssl_engine_init.c Mon Apr 14 13:21:22 2014' - echo >>[email protected] '@@ -406,9 +406,11 @@ void ssl_init_Engine(server_rec *s, apr_pool_t *p)' - echo >>[email protected] ' ssl_die();' - echo >>[email protected] ' }' - echo >>[email protected] ' ' - echo >>[email protected] '+#ifdef ENGINE_CTRL_CHIL_SET_FORKCHECK' - echo >>[email protected] ' if (strEQ(mc->szCryptoDevice, "chil")) {' - echo >>[email protected] ' ENGINE_ctrl(e, ENGINE_CTRL_CHIL_SET_FORKCHECK, 1, 0, 0);' - echo >>[email protected] ' }' - echo >>[email protected] '+#endif' - echo >>[email protected] ' ' - echo >>[email protected] ' if (!ENGINE_set_default(e, ENGINE_METHOD_ALL)) {' - echo >>[email protected] ' ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,' - mv -f [email protected] $@ - -$(HTTPD_OBJDIR)/ssl-set-state.diff: - mkdir -p $(dir $@) - echo > [email protected] '--- modules/ssl/ssl_toolkit_compat.h.orig Fri Feb 3 10:47:33 2017' - echo >>[email protected] '+++ modules/ssl/ssl_toolkit_compat.h Fri Feb 3 10:52:17 2017' - echo >>[email protected] '@@ -84,7 +84,9 @@' - echo >>[email protected] ' #define SSL_get_state(ssl) SSL_state(ssl)' - echo >>[email protected] ' #endif' - echo >>[email protected] ' ' - echo >>[email protected] '+#ifndef HAVE_SSL_SET_STATE' - echo >>[email protected] ' #define SSL_set_state(ssl,val) (ssl)->state = val' - echo >>[email protected] '+#endif' - echo >>[email protected] ' ' - echo >>[email protected] ' #define MODSSL_BIO_CB_ARG_TYPE const char' - echo >>[email protected] ' #define MODSSL_CRYPTO_CB_ARG_TYPE const char' - mv -f [email protected] $@ - -$(HTTPD_OBJDIR)/acinclude.diff: +$(HTTPD_OBJDIR)/ssl-init-proxy-certs.diff: mkdir -p $(dir $@) - echo >[email protected] '--- acinclude.m4.orig Fri Feb 3 11:05:08 2017' - echo >>[email protected] '+++ acinclude.m4 Fri Feb 3 11:05:15 2017' - echo >>[email protected] '@@ -455,6 +455,7 @@' - echo >>[email protected] ' AC_CHECK_HEADERS([openssl/engine.h])' - echo >>[email protected] ' AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])' - echo >>[email protected] ' AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines])' - echo >>[email protected] '+ AC_CHECK_FUNCS(SSL_set_state)' - echo >>[email protected] ' else' - echo >>[email protected] ' AC_CHECK_FUNCS([SSLC_library_version SSL_CTX_new], [], [liberrors="yes"])' - echo >>[email protected] ' AC_CHECK_FUNCS(SSL_set_state)' + echo > [email protected] '--- modules/ssl/ssl_engine_init.c.orig Sun Dec 16 13:34:14 2018' + echo >> [email protected] '+++ modules/ssl/ssl_engine_init.c Sun Dec 16 13:34:59 2018' + echo >> [email protected] '@@ -1492,7 +1492,7 @@' + echo >> [email protected] ' X509_STORE_CTX *sctx;' + echo >> [email protected] ' X509_STORE *store = SSL_CTX_get_cert_store(mctx->ssl_ctx);' + echo >> [email protected] ' ' + echo >> [email protected] '-#if OPENSSL_VERSION_NUMBER >= 0x1010100fL' + echo >> [email protected] '+#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(LIBRESSL_VERSION_NUMBER)' + echo >> [email protected] ' /* For OpenSSL >=1.1.1, turn on client cert support which is' + echo >> [email protected] ' * otherwise turned off by default (by design).' + echo >> [email protected] ' * https://github.com/openssl/openssl/issues/6933 */' mv -f [email protected] $@ -# fix build without APR_HAS_THREADS (broken by r1750836) -ifneq ($(THREADING),yes) -HTTPD_REVERT_1750836_CMD = (cd $(HTTPD_SRCDIR)/modules/proxy && svn diff -c-1750836 https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x/modules/proxy/proxy_util.c | patch) -else -HTTPD_REVERT_1750836_CMD = true -endif +$(HTTPD_OBJDIR)/mod-proxy-no-threads-2.4.diff: + cd $(HTTPD_OBJDIR) && $(FETCH_CMD) https://stsp.name/mod-proxy-no-threads-2.4.diff # retrieve httpd $(HTTPD_OBJDIR)/.retrieved: $(DISTDIR)/$(HTTPD_DIST) \ - $(HTTPD_OBJDIR)/chil-engine.diff $(HTTPD_OBJDIR)/ssl-set-state.diff \ - $(HTTPD_OBJDIR)/acinclude.diff + $(HTTPD_OBJDIR)/ssl-init-proxy-certs.diff \ + $(HTTPD_OBJDIR)/mod-proxy-no-threads-2.4.diff $(call do_check_sha256,$(HTTPD_DIST)) [ -d $(HTTPD_OBJDIR) ] || mkdir -p $(HTTPD_OBJDIR) tar -C $(SRCDIR) -zxf $(DISTDIR)/$(HTTPD_DIST) - cd $(HTTPD_SRCDIR) && patch -p0 < $(HTTPD_OBJDIR)/chil-engine.diff - cd $(HTTPD_SRCDIR) && patch -p0 < $(HTTPD_OBJDIR)/ssl-set-state.diff - cd $(HTTPD_SRCDIR) && patch -p0 < $(HTTPD_OBJDIR)/acinclude.diff - cp $(HTTPD_SRCDIR)/modules/ssl/ssl_toolkit_compat.h \ - $(HTTPD_SRCDIR)/modules/ssl/ssl_toolkit_compat.h.orig - sed '/^#define HAVE_SSL_RAND_EGD/d' \ - < $(HTTPD_SRCDIR)/modules/ssl/ssl_toolkit_compat.h.orig \ - > $(HTTPD_SRCDIR)/modules/ssl/ssl_toolkit_compat.h - cp $(HTTPD_SRCDIR)/modules/ssl/ssl_engine_vars.c \ - $(HTTPD_SRCDIR)/modules/ssl/ssl_engine_vars.c.orig - sed 's/^\(#if (OPENSSL_VERSION_NUMBER >= 0x00908000)\)$$/\1 \&\& !defined(OPENSSL_NO_COMP)/' \ - < $(HTTPD_SRCDIR)/modules/ssl/ssl_engine_vars.c.orig \ - > $(HTTPD_SRCDIR)/modules/ssl/ssl_engine_vars.c - cp $(HTTPD_SRCDIR)/modules/ssl/ssl_engine_init.c \ - $(HTTPD_SRCDIR)/modules/ssl/ssl_engine_init.c.orig - $(foreach f, ssl_engine_init.c ssl_util_ssl.c ssl_util_ssl.h, \ - cp $(HTTPD_SRCDIR)/modules/ssl/${f} $(HTTPD_SRCDIR)/modules/ssl/${f}.orig; \ - sed 's/SSL_CTX_use_certificate_chain/_SSL_CTX_use_certificate_chain/' \ - < $(HTTPD_SRCDIR)/modules/ssl/${f}.orig \ - > $(HTTPD_SRCDIR)/modules/ssl/${f};\ - ) - $(HTTPD_REVERT_1750836_CMD) + (cd $(HTTPD_SRCDIR) && patch -p0 < $(HTTPD_OBJDIR)/ssl-init-proxy-certs.diff) + (cd $(HTTPD_SRCDIR) && patch -p0 < $(HTTPD_OBJDIR)/mod-proxy-no-threads-2.4.diff) + (cd $(HTTPD_SRCDIR) && svn diff -cr1849590 https://svn.apache.org/repos/asf/httpd/httpd/trunk | patch -p0) + (cd $(HTTPD_SRCDIR) && svn diff -cr1663375 https://svn.apache.org/repos/asf/httpd/httpd/trunk | patch -p0) touch $@ # configure httpd $(HTTPD_OBJDIR)/.configured: $(HTTPD_OBJDIR)/.retrieved \ - $(APR_UTIL_OBJDIR)/.installed - cd $(HTTPD_SRCDIR) && ./buildconf + $(APR_UTIL_OBJDIR)/.installed $(PCRE_OBJDIR)/.installed + cd $(HTTPD_SRCDIR) && ./buildconf \ + --with-apr="$(PREFIX)/apr/bin/apr-1-config" \ + --with-apr-util="$(PREFIX)/apr/bin/apu-1-config" cd $(HTTPD_OBJDIR) \ && env CFLAGS="-g $(PROFILE_CFLAGS) -DAPR_POOL_DEBUG" \ CC=$(CC) CXX=$(CXX) \ @@ -751,13 +782,16 @@ $(HTTPD_OBJDIR)/.configured: $(HTTPD_OBJ PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \ $(HTTPD_SRCDIR)/configure \ --prefix=$(PREFIX)/httpd \ - --enable-maintainer-mode \ + --with-mpm=prefork \ --enable-ssl \ --enable-dav \ --enable-proxy \ - --with-mpm=prefork \ - --with-apr="$(PREFIX)/apr" \ - --with-apr-util="$(PREFIX)/apr" + --disable-md \ + --disable-http2 \ + --disable-brotli \ + --with-apr="$(PREFIX)/apr/bin/apr-1-config" \ + --with-apr-util="$(PREFIX)/apr/bin/apu-1-config" \ + --with-pcre="$(PREFIX)/pcre" touch $@ # compile httpd @@ -776,19 +810,28 @@ $(HTTPD_CONF): echo > [email protected] '# httpd config for use with mod_dav_svn' echo >>[email protected] 'ServerRoot "$(PREFIX)/httpd"' echo >>[email protected] 'Listen localhost:8080' + echo >>[email protected] 'LoadModule unixd_module modules/mod_unixd.so' + echo >>[email protected] 'LoadModule alias_module modules/mod_alias.so' + echo >>[email protected] 'LoadModule access_compat_module modules/mod_access_compat.so' + echo >>[email protected] 'LoadModule authn_core_module modules/mod_authn_core.so' + echo >>[email protected] 'LoadModule authn_file_module modules/mod_authn_file.so' + echo >>[email protected] 'LoadModule authz_core_module modules/mod_authz_core.so' + echo >>[email protected] 'LoadModule authz_user_module modules/mod_authz_user.so' + echo >>[email protected] 'LoadModule authz_groupfile_module modules/mod_authz_groupfile.so' + echo >>[email protected] 'LoadModule auth_basic_module modules/mod_auth_basic.so' + echo >>[email protected] 'LoadModule dav_module modules/mod_dav.so' echo >>[email protected] 'LoadModule dav_svn_module modules/svn-$(WC)/mod_dav_svn.so' echo >>[email protected] 'LoadModule authz_svn_module modules/svn-$(WC)/mod_authz_svn.so' echo >>[email protected] 'DocumentRoot "$(PREFIX)/httpd/htdocs"' echo >>[email protected] '<Directory />' echo >>[email protected] ' Options FollowSymLinks' echo >>[email protected] ' AllowOverride None' - echo >>[email protected] ' Order deny,allow' - echo >>[email protected] ' Deny from all' + echo >>[email protected] ' Require all denied' echo >>[email protected] '</Directory>' echo >>[email protected] '<Location /repos>' echo >>[email protected] ' DAV svn' echo >>[email protected] ' SVNPath /tmp/svn-sandbox/repos' - echo >>[email protected] ' Allow from localhost' + echo >>[email protected] ' Require ip localhost' echo >>[email protected] '</Location>' mv -f [email protected] $@ @@ -1186,6 +1229,29 @@ $(RUBY_OBJDIR)/openssl_missing.patch: echo >> [email protected] ' #if defined(HAVE_AUTHENTICATED_ENCRYPTION) && !defined(EVP_CTRL_AEAD_GET_TAG)' mv -f [email protected] $@ +$(RUBY_OBJDIR)/sparc64_buserror.patch: + mkdir -p $(dir $@) + 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 @@' + echo >> [email protected] ' #define STRICT_ALIGNMENT' + echo >> [email protected] ' #endif' + echo >> [email protected] ' ' + echo >> [email protected] '+/*' + echo >> [email protected] '+ * Some OpenBSD platforms (including sparc64) require strict alignment.' + echo >> [email protected] '+ */' + echo >> [email protected] '+#if defined(__OpenBSD__)' + echo >> [email protected] '+ #include <sys/endian.h>' + echo >> [email protected] '+ #ifdef __STRICT_ALIGNMENT' + echo >> [email protected] '+ #define STRICT_ALIGNMENT' + echo >> [email protected] '+ #endif' + echo >> [email protected] '+#endif' + echo >> [email protected] '+' + echo >> [email protected] ' #ifdef STRICT_ALIGNMENT' + 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] $@ + 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")/; }' else @@ -1194,13 +1260,14 @@ endif # retrieve ruby # -$(RUBY_OBJDIR)/.retrieved: $(DISTDIR)/$(RUBY_DIST) $(RUBY_OBJDIR)/openssl_missing.patch +$(RUBY_OBJDIR)/.retrieved: $(DISTDIR)/$(RUBY_DIST) $(RUBY_OBJDIR)/openssl_missing.patch $(RUBY_OBJDIR)/sparc64_buserror.patch $(call do_check_sha256,$(RUBY_DIST)) [ -d $(RUBY_OBJDIR) ] || mkdir -p $(RUBY_OBJDIR) 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 cd $(RUBY_SRCDIR) && patch -p0 < $(RUBY_OBJDIR)/openssl_missing.patch + cd $(RUBY_SRCDIR) && patch -p0 < $(RUBY_OBJDIR)/sparc64_buserror.patch touch $@ ifeq ($(THREADING),yes) @@ -1291,14 +1358,9 @@ python-clean: $(DISTDIR)/$(PYTHON_DIST): cd $(DISTDIR) && $(FETCH_CMD) $(PYTHON_URL) -# https://bugs.python.org/issue12560 -$(DISTDIR)/python-issue12560.patch: - cd $(DISTDIR) && $(FETCH_CMD) -O "$@" \ - https://hg.python.org/cpython/raw-rev/32cc37a89b58 - # retrieve python # -$(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/$(PYTHON_DIST) $(DISTDIR)/python-issue12560.patch +$(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/$(PYTHON_DIST) $(call do_check_sha256,$(PYTHON_DIST)) [ -d $(PYTHON_OBJDIR) ] || mkdir -p $(PYTHON_OBJDIR) tar -C $(SRCDIR) -zxf $(DISTDIR)/$(PYTHON_DIST) @@ -1312,7 +1374,6 @@ $(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/ > $(PYTHON_SRCDIR)/setup.py.patched mv $(PYTHON_SRCDIR)/setup.py.patched $(PYTHON_SRCDIR)/setup.py chmod +x $(PYTHON_SRCDIR)/setup.py - cd $(PYTHON_SRCDIR) && patch -p1 < $(DISTDIR)/python-issue12560.patch touch $@ # configure python @@ -1326,13 +1387,14 @@ $(PYTHON_OBJDIR)/.configured: $(PYTHON_O CC=$(CC) CXX=$(CXX) \ CPPFLAGS="-I$(PREFIX)/bz2/include" \ LDFLAGS="-Wl,-rpath=$(PREFIX)/python/lib -L$(PREFIX)/bz2/lib" \ - LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$$LD_LIBRARY_PATH" \ + LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(PREFIX)/python/lib:$$LD_LIBRARY_PATH" \ PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \ $(PYTHON_SRCDIR)/configure \ --prefix=$(PREFIX)/python \ --enable-shared \ --with-system-expat \ --with-dbmliborder=bdb \ + --without-pymalloc \ $(PYTHON_PROFILING) touch $@ @@ -1340,7 +1402,7 @@ $(PYTHON_OBJDIR)/.configured: $(PYTHON_O $(PYTHON_OBJDIR)/.compiled: $(PYTHON_OBJDIR)/.configured (cd $(PYTHON_OBJDIR) && \ env MAKEFLAGS= \ - LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$$LD_LIBRARY_PATH" \ + LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(PREFIX)/python/lib:$$LD_LIBRARY_PATH" \ make -j${MAKE_JOBS}) touch $@ @@ -1348,10 +1410,117 @@ $(PYTHON_OBJDIR)/.compiled: $(PYTHON_OBJ $(PYTHON_OBJDIR)/.installed: $(PYTHON_OBJDIR)/.compiled (cd $(PYTHON_OBJDIR) && \ env MAKEFLAGS= \ - LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$$LD_LIBRARY_PATH" \ + LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(PREFIX)/python/lib:$$LD_LIBRARY_PATH" \ make install) + ln -sf $(PREFIX)/python/bin/python3 $(PREFIX)/python/bin/python touch $@ +####################################################################### +# python 2 +####################################################################### + +python2-retrieve: $(PYTHON2_OBJDIR)/.retrieved +python2-configure: $(PYTHON2_OBJDIR)/.configured +python2-compile: $(PYTHON2_OBJDIR)/.compiled +python2-install: $(PYTHON2_OBJDIR)/.installed +python2-reset: + $(foreach f, .retrieved .configured .compiled .installed, \ + rm -f $(PYTHON2_OBJDIR)/$(f);) + +python2-clean: + -(cd $(PYTHON2_OBJDIR) && env MAKEFLAGS= make distclean) + +# fetch distfile for python 2 +$(DISTDIR)/$(PYTHON2_DIST): + cd $(DISTDIR) && $(FETCH_CMD) $(PYTHON2_URL) + +# https://bugs.python.org/issue12560 +$(DISTDIR)/python-issue12560.patch: + cd $(DISTDIR) && $(FETCH_CMD) -O "$@" \ + https://hg.python.org/cpython/raw-rev/32cc37a89b58 + +# retrieve python 2 +# +$(PYTHON2_OBJDIR)/.retrieved: $(DISTDIR)/$(PYTHON2_DIST) $(DISTDIR)/python-issue12560.patch + $(call do_check_sha256,$(PYTHON2_DIST)) + [ -d $(PYTHON2_OBJDIR) ] || mkdir -p $(PYTHON2_OBJDIR) + tar -C $(SRCDIR) -zxf $(DISTDIR)/$(PYTHON2_DIST) + # Make setup.py use our own dependencies instead of system ones + sed -e "s#sqlite_inc_paths = \[ '/usr/include',#sqlite_inc_paths = [ '$(PREFIX)/sqlite/include',#" \ + -e "s#'/usr/include/db4'#'$(PREFIX)/bdb/include'#" \ + -e "s|\(add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')\)|pass #\1|" \ + -e "s|\(add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')\)|pass #\1|" \ + -e "s#find_library_file(lib_dirs, 'bz2'#find_library_file(['$(PREFIX)/bz2/lib'] + lib_dirs, 'bz2'#" \ + < $(PYTHON2_SRCDIR)/setup.py \ + > $(PYTHON2_SRCDIR)/setup.py.patched + mv $(PYTHON2_SRCDIR)/setup.py.patched $(PYTHON2_SRCDIR)/setup.py + chmod +x $(PYTHON2_SRCDIR)/setup.py + cd $(PYTHON2_SRCDIR) && patch -p1 < $(DISTDIR)/python-issue12560.patch + mkdir -p $(PYTHON2_OBJDIR)/bin + ln -sf "`which python2`" $(PYTHON2_OBJDIR)/bin/python + touch $@ + +# configure python 2 +ifdef PROFILE +PYTHON2_PROFILING=--enable-profiling +endif +$(PYTHON2_OBJDIR)/.configured: $(PYTHON2_OBJDIR)/.retrieved \ + $(BZ2_OBJDIR)/.installed + cd $(PYTHON2_OBJDIR) \ + && env CFLAGS="-g $(PROFILE_CFLAGS)" GREP="`which grep`" \ + CC=$(CC) CXX=$(CXX) \ + CPPFLAGS="-I$(PREFIX)/bz2/include" \ + LDFLAGS="-Wl,-rpath=$(PREFIX)/python2/lib -L$(PREFIX)/bz2/lib" \ + LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(PREFIX)/python2/lib:$$LD_LIBRARY_PATH" \ + PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \ + PATH=$(PYTHON2_OBJDIR)/bin:$$PATH \ + $(PYTHON2_SRCDIR)/configure \ + --prefix=$(PREFIX)/python2 \ + --enable-shared \ + --with-system-expat \ + --with-dbmliborder=bdb \ + --without-pymalloc \ + $(PYTHON2_PROFILING) + touch $@ + +# compile python 2 +$(PYTHON2_OBJDIR)/.compiled: $(PYTHON2_OBJDIR)/.configured + (cd $(PYTHON2_OBJDIR) && \ + env MAKEFLAGS= \ + LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(PREFIX)/python2/lib:$$LD_LIBRARY_PATH" \ + PATH=$(PYTHON2_OBJDIR)/bin:$$PATH \ + make -j${MAKE_JOBS}) + touch $@ + +# install python 2 +$(PYTHON2_OBJDIR)/.installed: $(PYTHON2_OBJDIR)/.compiled + (cd $(PYTHON2_OBJDIR) && \ + env MAKEFLAGS= \ + LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(PREFIX)/python2/lib:$$LD_LIBRARY_PATH" \ + PATH=$(PYTHON2_OBJDIR)/bin:$$PATH \ + make install) + ln -sf $(PREFIX)/python2/bin/python2 $(PREFIX)/python2/bin/python + touch $@ + +####################################################################### +# py3c +####################################################################### + +py3c-retrieve: $(PY3C_OBJDIR)/.retrieved +py3c-reset: + $(foreach f, .retrieved .configured .compiled .installed, \ + rm -f $(PY3C_OBJDIR)/$(f);) + +# fetch distfile for py3c +$(DISTDIR)/$(PY3C_DIST): + cd $(DISTDIR) && $(FETCH_CMD) $(PY3C_URL) + +# retrieve py3c +$(PY3C_OBJDIR)/.retrieved: $(DISTDIR)/$(PY3C_DIST) + $(call do_check_sha256,$(PY3C_DIST)) + [ -d $(PY3C_OBJDIR) ] || mkdir -p $(PY3C_OBJDIR) + tar -C $(SRCDIR) -zxf $(DISTDIR)/$(PY3C_DIST) + touch $@ ####################################################################### # junit @@ -1541,7 +1710,7 @@ DISABLE_NEON_VERSION_CHECK=--disable-neo W_NO_SYSTEM_HEADERS=-Wno-system-headers NEON_FLAG=--with-neon="$(PREFIX)/neon" JAVAHL_CHECK_TARGET=check-javahl -else ifeq ($(BRANCH_MAJOR), $(filter $(BRANCH_MAJOR), 1.8 1.9)) +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_FLAG=--with-serf="$(PREFIX)/serf" # serf >= 1.3.0 is built with scons and no longer sets up rpath linker flags, @@ -1552,7 +1721,7 @@ 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 -else # 1.10 +else # 1.10, 1.11, 1.12, 1.13, 1.14, trunk BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER) SERF_FLAG=--with-serf="$(PREFIX)/serf" # serf >= 1.3.0 is built with scons and no longer sets up rpath linker flags, @@ -1610,10 +1779,11 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR) CC=$(CC) CXX=$(CXX) \ CFLAGS="-I$(PREFIX)/gettext/include -DAPR_POOL_DEBUG" \ CXXFLAGS="-I$(PREFIX)/gettext/include -DAPR_POOL_DEBUG" \ - LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$$LD_LIBRARY_PATH" \ - PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \ + LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(PREFIX)/$(PYTHON)/lib:$$LD_LIBRARY_PATH" \ + PKG_CONFIG_PATH=$(PKG_CONFIG_PATH):$(PREFIX)/$(PYTHON)/lib/pkgconfig \ + PYTHON=$(PREFIX)/$(PYTHON)/bin/python \ GREP="`which grep`" \ - PATH=$(PREFIX)/ruby/bin:$(PREFIX)/python/bin:$(PREFIX)/gettext/bin:$$PATH \ + PATH=$(PREFIX)/ruby/bin:$(PREFIX)/$(PYTHON)/bin:$(PREFIX)/gettext/bin:$$PATH \ $(SVN_SRCDIR)/configure \ --enable-maintainer-mode \ --prefix="$(SVN_PREFIX)" \ @@ -1628,6 +1798,7 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR) --without-gnome-keyring \ --with-berkeley-db="$(BDB_FLAG)" \ --with-ruby-sitedir="$(SVN_PREFIX)/lib/ruby/site_ruby" \ + --with-py3c="$(SRCDIR)/py3c-${PY3C_VER}" \ --disable-mod-activation \ $(JAVAHL_FLAG) \ $(LIBMAGIC_FLAG) \ @@ -1733,15 +1904,26 @@ $(HTTPD_CHECK_GROUPS): $(HTTPD_CHECK_CONF): $(MOD_DONTDOTHAT_CONF) $(HTTPD_CHECK_GROUPS) mkdir -p $(dir $@) - $(PREFIX)/httpd/bin/htpasswd -bc $(HTTPD_CHECK_USERS).tmp jrandom rayjandom - $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp jconstant rayjandom - $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp __dumpster__ __loadster__ - $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp JRANDOM rayjandom - $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp JCONSTANT rayjandom + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PREFIX)/httpd/bin/htpasswd -bc $(HTTPD_CHECK_USERS).tmp jrandom rayjandom + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp jconstant rayjandom + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp __dumpster__ __loadster__ + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp JRANDOM rayjandom + env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PREFIX)/httpd/bin/htpasswd -b $(HTTPD_CHECK_USERS).tmp JCONSTANT rayjandom mv -f $(HTTPD_CHECK_USERS).tmp $(HTTPD_CHECK_USERS) echo > [email protected] '# httpd config for make check' echo >>[email protected] 'ServerRoot "$(PREFIX)/httpd"' echo >>[email protected] 'Listen localhost:$(HTTPD_CHECK_PORT)' + echo >>[email protected] 'LogLevel warn' + echo >>[email protected] 'LoadModule unixd_module modules/mod_unixd.so' + echo >>[email protected] 'LoadModule alias_module modules/mod_alias.so' + echo >>[email protected] 'LoadModule access_compat_module modules/mod_access_compat.so' + echo >>[email protected] 'LoadModule authn_core_module modules/mod_authn_core.so' + echo >>[email protected] 'LoadModule authn_file_module modules/mod_authn_file.so' + echo >>[email protected] 'LoadModule authz_core_module modules/mod_authz_core.so' + echo >>[email protected] 'LoadModule authz_user_module modules/mod_authz_user.so' + echo >>[email protected] 'LoadModule authz_groupfile_module modules/mod_authz_groupfile.so' + echo >>[email protected] 'LoadModule auth_basic_module modules/mod_auth_basic.so' + echo >>[email protected] 'LoadModule dav_module modules/mod_dav.so' echo >>[email protected] 'LoadModule dav_svn_module $(MOD_DAV_SVN)' echo >>[email protected] 'LoadModule authz_svn_module $(MOD_AUTHZ_SVN)' echo >>[email protected] 'LoadModule dontdothat_module $(MOD_DONTDOTHAT)' @@ -1750,8 +1932,7 @@ $(HTTPD_CHECK_CONF): $(MOD_DONTDOTHAT_CO echo >>[email protected] '<Directory />' echo >>[email protected] ' Options FollowSymLinks' echo >>[email protected] ' AllowOverride None' - echo >>[email protected] ' Order deny,allow' - echo >>[email protected] ' Allow from all' + echo >>[email protected] ' Require all granted' echo >>[email protected] '</Directory>' echo >>[email protected] '<Location /svn-test-work/repositories>' echo >>[email protected] ' DAV svn' @@ -1783,11 +1964,26 @@ ifeq ($(USE_AUTHZ_SHORT_CIRCUIT),yes) echo >>[email protected] ' SVNPathAuthz short_circuit' endif echo >>[email protected] '</Location>' + echo >>[email protected] '<Location /svn-test-work/local_tmp/trojan>' + echo >>[email protected] ' DAV svn' + echo >>[email protected] ' SVNPath $(SVN_WC)/subversion/tests/cmdline/svn-test-work/local_tmp/trojan' + echo >>[email protected] ' AuthzSVNAccessFile $(SVN_WC)/subversion/tests/cmdline/svn-test-work/authz' + echo >>[email protected] ' AuthType Basic' + echo >>[email protected] ' AuthName "Subversion Repository"' + echo >>[email protected] ' AuthUserFile $(HTTPD_CHECK_USERS)' + echo >>[email protected] ' Require valid-user' +ifeq ($(USE_HTTPV1),yes) + echo >>[email protected] ' SVNAdvertiseV2Protocol off' +endif +ifeq ($(USE_AUTHZ_SHORT_CIRCUIT),yes) + echo >>[email protected] ' SVNPathAuthz short_circuit' +endif + echo >>[email protected] '</Location>' echo >>[email protected] '# This Location lets you access repositories dropped in /tmp/' echo >>[email protected] '<Location /svn>' echo >>[email protected] ' DAV svn' echo >>[email protected] ' SVNParentPath /tmp' - echo >>[email protected] ' Allow from all' + echo >>[email protected] ' Require all granted' echo >>[email protected] ' #AuthType Basic' echo >>[email protected] ' #AuthName "Subversion Repository"' echo >>[email protected] ' #AuthUserFile $(HTTPD_CHECK_USERS)' @@ -1828,12 +2024,27 @@ endif echo >>[email protected] ' Require all granted' echo >>[email protected] ' </IfModule>' echo >>[email protected] ' <IfModule !mod_authz_core.c>' - echo >>[email protected] ' Allow from all' + echo >>[email protected] ' Requite all granted' echo >>[email protected] ' </IfModule>' ifeq ($(USE_AUTHZ_SHORT_CIRCUIT),yes) echo >>[email protected] ' SVNPathAuthz short_circuit' endif echo >>[email protected] '</Location>' + echo >>[email protected] '<Location /authz-test-work/in-repos-authz>' + echo >>[email protected] ' DAV svn' + echo >>[email protected] ' SVNParentPath $(SVN_WC)/subversion/tests/cmdline/svn-test-work/repositories' + echo >>[email protected] ' AuthzSVNReposRelativeAccessFile "^/authz"' + echo >>[email protected] ' AuthType Basic' + echo >>[email protected] ' AuthName "Subversion Repository"' + echo >>[email protected] ' AuthUserFile $(HTTPD_CHECK_USERS)' + echo >>[email protected] ' Require valid-user' +ifeq ($(USE_HTTPV1),yes) + echo >>[email protected] ' SVNAdvertiseV2Protocol off' +endif +ifeq ($(USE_AUTHZ_SHORT_CIRCUIT),yes) + echo >>[email protected] ' SVNPathAuthz short_circuit' +endif + echo >>[email protected] '</Location>' echo >>[email protected] '<Location /authz-test-work/mixed>' echo >>[email protected] ' DAV svn' echo >>[email protected] ' SVNParentPath $(SVN_WC)/subversion/tests/cmdline/svn-test-work/local_tmp' @@ -1846,7 +2057,7 @@ endif echo >>[email protected] ' AuthName "Subversion Repository"' echo >>[email protected] ' AuthUserFile $(HTTPD_CHECK_USERS)' echo >>[email protected] ' Require valid-user' - echo >>[email protected] ' Satisfy Any' + echo >>[email protected] ' Satisfy Any' ifeq ($(USE_AUTHZ_SHORT_CIRCUIT),yes) echo >>[email protected] ' SVNPathAuthz short_circuit' endif @@ -1936,7 +2147,7 @@ endif echo >>[email protected] '<IfModule mod_authz_core.c>' echo >>[email protected] ' <Location /authz-test-work/sallrany>' echo >>[email protected] ' DAV svn' - echo >>[email protected] ' SVNParentPath $($SVN_WC)/subversion/tests/cmdline/svn-test-work/local_tmp' + echo >>[email protected] ' SVNParentPath $(SVN_WC)/subversion/tests/cmdline/svn-test-work/local_tmp' echo >>[email protected] ' AuthzSVNAccessFile $(SVN_WC)/subversion/tests/cmdline/svn-test-work/authz' ifeq ($(USE_HTTPV1),yes) echo >>[email protected] ' SVNAdvertiseV2Protocol off' @@ -1979,7 +2190,7 @@ endif echo >>[email protected] '</IfModule>' echo >>[email protected] 'RedirectMatch permanent ^/svn-test-work/repositories/REDIRECT-PERM-(.*)$$ /svn-test-work/repositories/$$1' echo >>[email protected] 'RedirectMatch ^/svn-test-work/repositories/REDIRECT-TEMP-(.*)$$ /svn-test-work/repositories/$$1' - echo >>[email protected] 'Include "conf/$(SVN_REL_WC)*-custom.conf"' + echo >>[email protected] 'IncludeOptional "conf/$(SVN_REL_WC)*-custom.conf"' echo >> [email protected] '#SVNInMemoryCacheSize 0' echo >> [email protected] '#SVNCacheTextDeltas Off' echo >> [email protected] '#SVNCacheRevProps Off' @@ -1990,6 +2201,16 @@ $(HTTPD_PROXY_CONF): $(HTTPD_CHECK_CONF) echo > [email protected] '# httpd config for a write-through proxy' echo >>[email protected] 'ServerRoot "$(PREFIX)/httpd"' echo >>[email protected] 'Listen localhost:$(HTTPD_PROXY_PORT)' + echo >>[email protected] 'LoadModule unixd_module modules/mod_unixd.so' + echo >>[email protected] 'LoadModule alias_module modules/mod_alias.so' + echo >>[email protected] 'LoadModule access_compat_module modules/mod_access_compat.so' + echo >>[email protected] 'LoadModule authn_core_module modules/mod_authn_core.so' + echo >>[email protected] 'LoadModule authn_file_module modules/mod_authn_file.so' + echo >>[email protected] 'LoadModule authz_core_module modules/mod_authz_core.so' + echo >>[email protected] 'LoadModule authz_user_module modules/mod_authz_user.so' + echo >>[email protected] 'LoadModule authz_groupfile_module modules/mod_authz_groupfile.so' + echo >>[email protected] 'LoadModule auth_basic_module modules/mod_auth_basic.so' + echo >>[email protected] 'LoadModule dav_module modules/mod_dav.so' echo >>[email protected] 'LoadModule dav_svn_module $(MOD_DAV_SVN)' echo >>[email protected] 'LoadModule authz_svn_module $(MOD_AUTHZ_SVN)' echo >>[email protected] 'LoadModule dontdothat_module $(MOD_DONTDOTHAT)' @@ -1999,7 +2220,7 @@ $(HTTPD_PROXY_CONF): $(HTTPD_CHECK_CONF) echo >>[email protected] ' DAV svn' echo >>[email protected] ' SVNParentPath /tmp/svn-$(BRANCH)-proxy' echo >>[email protected] ' SVNMasterURI http://localhost:$(HTTPD_CHECK_PORT)/svn/' - echo >>[email protected] ' Allow from all' + echo >>[email protected] ' Requite all granted' echo >>[email protected] ' #AuthType Basic' echo >>[email protected] ' #AuthName "Subversion Repository"' echo >>[email protected] ' #AuthUserFile $(HTTPD_CHECK_USERS)' @@ -2015,7 +2236,7 @@ endif echo >>[email protected] '<Location /svn-proxy-sync>' echo >>[email protected] 'DAV svn' echo >>[email protected] 'SVNParentPath /tmp/svn-$(BRANCH)-proxy' - echo >>[email protected] 'Allow from all' + echo >>[email protected] 'Require all granted' echo >>[email protected] '</Location>' mv -f [email protected] $@ @@ -2089,12 +2310,13 @@ stop-svnserve: $(SVNSERVE_STOP_CMD) define do_check --cd $(svn_builddir) && for fs in fsfs bdb; do \ +-cd $(svn_builddir) && for fs in $(SVN_CHECK_FS_BACKENDS); do \ echo "Begin test: $(subst svn-check-,,$@) x $$fs"; \ test -d "$(RAMDISK)/tmp" && export TMPDIR="$(RAMDISK)/tmp"; \ env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(LIB_PTHREAD_HACK) \ env MAKEFLAGS= make check PARALLEL=$(PARALLEL) CLEANUP=$(CLEANUP) \ EXCLUSIVE_WC_LOCKS=$(EXCLUSIVE_WC_LOCKS) \ + THREADED=$(THREADED) \ SVN_BIN_DIR=$(SVN_PREFIX)/bin \ MEMCACHED_SERVER=$(MEMCACHED_SERVER) $1 FS_TYPE=$$fs; \ for log in tests.log fails.log; do \ @@ -2175,6 +2397,7 @@ svn-check-swig-rb: svn-check-javahl: -if [ $(ENABLE_JAVA_BINDINGS) = yes ]; then \ + ln -s libsvnjavahl-1.so.0.0 $(PREFIX)/svn-$(WC)/lib/libsvnjavahl-1.so; \ (cd $(svn_builddir) && \ env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \ MAKEFLAGS= make $(JAVAHL_CHECK_TARGET) 2>&1) | \
Modified: subversion/branches/multi-wc-format/tools/dev/unix-build/README URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dev/unix-build/README?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dev/unix-build/README (original) +++ subversion/branches/multi-wc-format/tools/dev/unix-build/README Fri Jan 14 14:01:45 2022 @@ -1,7 +1,7 @@ Introduction ============ Makefile.svn aids Subversion developers on unix-like systems set up an -SVN development environment without requiring root priviliges. It does +SVN development environment without requiring root privileges. It does this by fetching Subversion along with many of its dependencies from the internet and building them using sane defaults suitable for development (for example, it invokes --enable-maintainer-mode while Modified: subversion/branches/multi-wc-format/tools/dev/wc-format.py URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dev/wc-format.py?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dev/wc-format.py (original) +++ subversion/branches/multi-wc-format/tools/dev/wc-format.py Fri Jan 14 14:01:45 2022 @@ -40,7 +40,7 @@ def get_format(wc_path): parent_path = os.path.dirname(os.path.abspath(wc_path)) if wc_path != parent_path: formatno = get_format(parent_path) - if formatno >= MIN_SINGLE_DB_FORMAT: + if isinstance(formatno, int) and formatno >= MIN_SINGLE_DB_FORMAT: return formatno return formatno Propchange: subversion/branches/multi-wc-format/tools/dev/wc-ng/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Fri Jan 14 14:01:45 2022 @@ -1 +1,2 @@ svn-wc-db-tester +.libs Modified: subversion/branches/multi-wc-format/tools/dev/x509-parser.c URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dev/x509-parser.c?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dev/x509-parser.c (original) +++ subversion/branches/multi-wc-format/tools/dev/x509-parser.c Fri Jan 14 14:01:45 2022 @@ -118,7 +118,7 @@ get_der_cert_from_stream(const svn_strin return SVN_NO_ERROR; } - /* Try decoding as a PEM with begining and ending headers. */ + /* Try decoding as a PEM with beginning and ending headers. */ start = strstr(raw->data, PEM_BEGIN_CERT); end = strstr(raw->data, PEM_END_CERT); if (start && end && end > start) Modified: subversion/branches/multi-wc-format/tools/dist/backport.pl URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dist/backport.pl?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dist/backport.pl (original) +++ subversion/branches/multi-wc-format/tools/dist/backport.pl Fri Jan 14 14:01:45 2022 @@ -9,11 +9,11 @@ use v5.10.0; # needed for $^V # experimental and "subject to change" in v5.18 (see perl5180delta). Every # use of it now triggers a warning. # -# As of Perl v5.26.1, the semantics of given/when provided by Perl are +# As of Perl v5.30.0, the semantics of given/when provided by Perl are # 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.26.1), +no if (v5.17.0 le $^V and $^V le v5.30.0), warnings => 'experimental::smartmatch'; # Licensed to the Apache Software Foundation (ASF) under one @@ -157,7 +157,7 @@ N: Move to the next entry. Do not pro revisions added, justification changed) in the repository. (This is a local action that will not affect other people or bots.) : Move to the next entry. Prompt for the current entry again in the next - run of backport.pl. + run of backport.pl. (That's a space character, ASCII 0x20.) ?: Display this list. EOF @@ -231,7 +231,7 @@ Both batch modes also perform a basic sa backport branches (via the "Branch:" header): if a backport branch is used, but at least one of the revisions enumerated in the entry title had neither been merged from $TRUNK to the branch root, nor been committed -directly to the backport branch, the hourly bot will turn red and +directly to the backport branch, the hourly bot will turn red and nightly bot will skip the entry and email its admins. (The nightly bot does not email the list on failure, since it doesn't use buildbot.) @@ -262,6 +262,9 @@ numbers); it will be ignored. For examp $0 "Committed revision 42." "\$Some_justification" will nominate r42. +Revision numbers within the last thousand revisions may be specified using +the last three digits only. + The justification can be an arbitrarily-long string; if it is wider than the available width, this script will wrap it for you (and allow you to review the result before committing). @@ -567,7 +570,7 @@ sub parse_entry { my (@revisions, @logsummary, $branch, @votes); # @lines = @_; - # strip spaces to match up with the indention + # strip spaces to match up with the indentation $_[0] =~ s/^( *)\* //; my $indentation = ' ' x (length($1) + 2); s/^$indentation// for @_; @@ -1027,7 +1030,7 @@ sub handle_entry { # the "next PROMPT;" is; there's a "last;" at the end of the loop body. PROMPT: while (1) { say ""; - say "\n>>> $entry{header_start}:"; + say "\n\e\x5b32m>>> $entry{header_start}:\e\x5b0m"; say join ", ", map { "r$_" } @{$entry{revisions}} if @{$entry{revisions}}; say "$BRANCHES/$entry{branch}" if $entry{branch}; say "--accept=$entry{accept}" if $entry{accept}; @@ -1196,7 +1199,7 @@ sub backport_main { given ($lines[0]) { # Section header when (/^[A-Z].*:$/i) { - say "\n\n=== $lines[0]" unless $YES; + say "\n\n\e\x5b33m\e\x5b1m=== $lines[0]\e\x5b0m" unless $YES; $in_approved = $lines[0] =~ /^Approved changes/; } # Comment @@ -1238,6 +1241,20 @@ sub nominate_main { die "Unable to proceed." if warned_cannot_commit "Nominating failed"; + # To save typing, require just the last three digits if they're unambiguous. + my $BASE_revision = `$SVN info --show-item=revision` + 0; + if ($BASE_revision > 1000) { + my $residue = $BASE_revision % 1000; + my $thousands = $BASE_revision - $residue; + @revnums = map { + $_ >= 1000 + ? $_ + : $thousands + $_ - 1000 * ($_ > $residue) + } + @revnums; + } + + # Deduplicate and sort @revnums = sort { $a <=> $b } keys %{{ map { $_ => 1 } @revnums }}; die "No revision numbers specified" unless @revnums; Modified: subversion/branches/multi-wc-format/tools/dist/backport/merger.py URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dist/backport/merger.py?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dist/backport/merger.py (original) +++ subversion/branches/multi-wc-format/tools/dist/backport/merger.py Fri Jan 14 14:01:45 2022 @@ -151,13 +151,13 @@ def log_message_file(logmsg): logmsg_file.write(logmsg) logmsg_file.flush() yield logmsg_file.name - + def merge(entry, expected_stderr=None, *, commit=False): """Merges ENTRY into the working copy at cwd. Do not commit the result, unless COMMIT is true. When committing, remove ENTRY from its STATUS file prior to committing. - + EXPECTED_STDERR will be passed to run_svn() for the actual 'merge' command.""" assert isinstance(entry, backport.status.StatusEntry) @@ -225,7 +225,7 @@ def merge(entry, expected_stderr=None, * if entry.branch: revnum = last_changed_revision('./STATUS') - + if commit: # Sleep to avoid out-of-order commit notifications if not os.getenv("SVN_BACKPORT_DONT_SLEEP"): # enabled by the test suite Modified: subversion/branches/multi-wc-format/tools/dist/backport/status.py URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dist/backport/status.py?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dist/backport/status.py (original) +++ subversion/branches/multi-wc-format/tools/dist/backport/status.py Fri Jan 14 14:01:45 2022 @@ -85,7 +85,7 @@ class Paragraph: def __init__(self, kind, text, entry, containing_section): """Constructor. - + KIND is one of the Kind.* enumerators. TEXT is the physical text in the file, used by unparsing. @@ -109,7 +109,7 @@ class Paragraph: @classmethod def is_header(cls, para_text): """PARA_TEXT is a single physical paragraph, as a bare multiline string. - + If PARA_TEXT is a section header, return the header text; else, return False.""" lines = para_text.split('\n', 2) @@ -135,7 +135,7 @@ class Paragraph: def approved(self): "TRUE if this paragraph is in the approved section, false otherwise." - assert self.kind + assert self.kind # ### backport.pl used to check just .startswith() here. return self.section() == "Approved changes" @@ -335,7 +335,7 @@ class StatusEntry: def __init__(self, para_text, status_file=None): """Parse an entry from PARA_TEXT, and add it to SELF. PARA_TEXT must contain exactly one entry, as a single multiline string. - + STATUS_FILE is the StatusFile object containing this entry, if any. """ self.branch = None @@ -499,7 +499,7 @@ class StatusEntry: assert self.valid() suffix = "" if len(self.logsummary) == 1 else " [...]" return self.logsummary[0] + suffix - + # Private for is_vetoed() _re_vetoed = re.compile(r'^\s*(-1:|-1\s*[()])', re.MULTILINE) def is_vetoed(self): Modified: subversion/branches/multi-wc-format/tools/dist/backport_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dist/backport_tests.py?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dist/backport_tests.py (original) +++ subversion/branches/multi-wc-format/tools/dist/backport_tests.py Fri Jan 14 14:01:45 2022 @@ -528,7 +528,7 @@ def backport_double_conflict(sbox): # ... # Warning summary # =============== - # + # # r4 (default logsummary): subshell exited with code 256 # And backport.pl would exit with exit code 1. Modified: subversion/branches/multi-wc-format/tools/dist/checksums.py URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dist/checksums.py?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dist/checksums.py (original) +++ subversion/branches/multi-wc-format/tools/dist/checksums.py Fri Jan 14 14:01:45 2022 @@ -19,7 +19,7 @@ # under the License. # # -# Check MD5 and SHA-1 and SHA-2 signatures of files, using +# Check MD5 and SHA-1 and SHA-2 signatures of files, using # md5sums, sha1sums, and/or sha512sums as manifests # Replaces the 'md5sum', 'sha1sum', and 'sha512sums' commands # on systems that do not have them, such as Mac OS X or Windows. Modified: subversion/branches/multi-wc-format/tools/dist/dist.sh URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dist/dist.sh?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dist/dist.sh (original) +++ subversion/branches/multi-wc-format/tools/dist/dist.sh Fri Jan 14 14:01:45 2022 @@ -327,7 +327,7 @@ if [ -z "$ZIP" ]; then # Use the gzip -n flag - this prevents it from storing the original name of # the .tar file, and far more importantly, the mtime of the .tar file, in the # produced .tar.gz file. This is important, because it makes the gzip - # encoding reproducable by anyone else who has an similar version of gzip, + # encoding reproducible by anyone else who has an similar version of gzip, # and also uses "gzip -9n". This means that committers who want to GPG-sign # both the .tar.gz and the .tar.bz2 can download the .tar.bz2 (which is # smaller), and locally generate an exact duplicate of the official .tar.gz Modified: subversion/branches/multi-wc-format/tools/dist/nightly.sh URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/tools/dist/nightly.sh?rev=1897034&r1=1897033&r2=1897034&view=diff ============================================================================== --- subversion/branches/multi-wc-format/tools/dist/nightly.sh (original) +++ subversion/branches/multi-wc-format/tools/dist/nightly.sh Fri Jan 14 14:01:45 2022 @@ -21,7 +21,7 @@ # set -e -repo=http://svn.apache.org/repos/asf/subversion +repo=https://svn.apache.org/repos/asf/subversion svn=svn olds=7
