Modified: subversion/branches/swig-py3/tools/dev/build-svn-deps-win.pl URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/tools/dev/build-svn-deps-win.pl?rev=1862754&r1=1862753&r2=1862754&view=diff ============================================================================== --- subversion/branches/swig-py3/tools/dev/build-svn-deps-win.pl (original) +++ subversion/branches/swig-py3/tools/dev/build-svn-deps-win.pl Mon Jul 8 15:19:03 2019 @@ -92,7 +92,7 @@ our $SERF_VER = '1.3.6'; our $NEON_VER = '0.29.6'; # Sources for files to download -our $AWK_URL = 'http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe'; +our $AWK_URL = 'https://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe'; our $HTTPD_URL; our $APR_URL; our $APU_URL; @@ -168,17 +168,17 @@ sub set_svn_ver_defaults { # Any variables with defaults that reference other values # should be set here. This defers setting of the default until runtime in these cases. sub set_defaults { - set_default(\$HTTPD_URL, "http://archive.apache.org/dist/httpd/httpd-$HTTPD_VER.tar.bz2"); - set_default(\$APR_URL, "http://archive.apache.org/dist/apr/apr-$APR_VER.tar.bz2"); - set_default(\$APU_URL, "http://archive.apache.org/dist/apr/apr-util-$APU_VER.tar.bz2"); - set_default(\$API_URL, "http://archive.apache.org/dist/apr/apr-iconv-$API_VER.tar.bz2"); - set_default(\$ZLIB_URL, "http://sourceforge.net/projects/libpng/files/zlib/$ZLIB_VER/zlib" . remove_dots($ZLIB_VER) . '.zip'); - set_default(\$OPENSSL_URL, "http://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz"); + set_default(\$HTTPD_URL, "https://archive.apache.org/dist/httpd/httpd-$HTTPD_VER.tar.bz2"); + set_default(\$APR_URL, "https://archive.apache.org/dist/apr/apr-$APR_VER.tar.bz2"); + set_default(\$APU_URL, "https://archive.apache.org/dist/apr/apr-util-$APU_VER.tar.bz2"); + set_default(\$API_URL, "https://archive.apache.org/dist/apr/apr-iconv-$API_VER.tar.bz2"); + set_default(\$ZLIB_URL, "https://sourceforge.net/projects/libpng/files/zlib/$ZLIB_VER/zlib" . remove_dots($ZLIB_VER) . '.zip'); + set_default(\$OPENSSL_URL, "https://www.openssl.org/source/openssl-$OPENSSL_VER.tar.gz"); set_default(\$PCRE_URL, "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-$PCRE_VER.zip"); - set_default(\$BDB_URL, "http://download.oracle.com/berkeley-db/db-5.3.21.zip"); - set_default(\$SQLITE_URL, "http://www.sqlite.org/2013/sqlite-amalgamation-$SQLITE_VER.zip"); + set_default(\$BDB_URL, "https://download.oracle.com/berkeley-db/db-5.3.21.zip"); + set_default(\$SQLITE_URL, "https://www.sqlite.org/2013/sqlite-amalgamation-$SQLITE_VER.zip"); set_default(\$SERF_URL, "https://archive.apache.org/dist/serf/serf-$SERF_VER.zip"); - set_default(\$NEON_URL, "http://www.webdav.org/neon/neon-$NEON_VER.tar.gz"); + set_default(\$NEON_URL, "https://www.webdav.org/neon/neon-$NEON_VER.tar.gz"); set_default(\$INSTDIR, $TOPDIR); set_default(\$BLDDIR, "$TOPDIR\\build"); set_default(\$SRCDIR, "$TOPDIR\\sources");
Modified: subversion/branches/swig-py3/tools/dev/unix-build/Makefile.svn URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/tools/dev/unix-build/Makefile.svn?rev=1862754&r1=1862753&r2=1862754&view=diff ============================================================================== --- subversion/branches/swig-py3/tools/dev/unix-build/Makefile.svn (original) +++ subversion/branches/swig-py3/tools/dev/unix-build/Makefile.svn Mon Jul 8 15:19:03 2019 @@ -101,7 +101,8 @@ APR_VER = 1.5.2 APR_ICONV_VER = 1.2.1 GNU_ICONV_VER = 1.15 APR_UTIL_VER = 1.5.4 -HTTPD_VER = 2.2.32 +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 @@ -121,6 +122,7 @@ 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 @@ -133,7 +135,8 @@ 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 @@ -161,6 +164,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) \ @@ -180,6 +184,7 @@ 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) @@ -201,6 +206,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) @@ -220,6 +226,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) @@ -257,19 +264,19 @@ 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 # 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 \ + pcre-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 # 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 @@ -632,6 +639,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 +700,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 > $@.tmp '--- modules/ssl/ssl_engine_init.c.orig Mon Apr 14 13:20:57 2014' - echo >>$@.tmp '+++ modules/ssl/ssl_engine_init.c Mon Apr 14 13:21:22 2014' - echo >>$@.tmp '@@ -406,9 +406,11 @@ void ssl_init_Engine(server_rec *s, apr_pool_t *p)' - echo >>$@.tmp ' ssl_die();' - echo >>$@.tmp ' }' - echo >>$@.tmp ' ' - echo >>$@.tmp '+#ifdef ENGINE_CTRL_CHIL_SET_FORKCHECK' - echo >>$@.tmp ' if (strEQ(mc->szCryptoDevice, "chil")) {' - echo >>$@.tmp ' ENGINE_ctrl(e, ENGINE_CTRL_CHIL_SET_FORKCHECK, 1, 0, 0);' - echo >>$@.tmp ' }' - echo >>$@.tmp '+#endif' - echo >>$@.tmp ' ' - echo >>$@.tmp ' if (!ENGINE_set_default(e, ENGINE_METHOD_ALL)) {' - echo >>$@.tmp ' ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,' - mv -f $@.tmp $@ - -$(HTTPD_OBJDIR)/ssl-set-state.diff: - mkdir -p $(dir $@) - echo > $@.tmp '--- modules/ssl/ssl_toolkit_compat.h.orig Fri Feb 3 10:47:33 2017' - echo >>$@.tmp '+++ modules/ssl/ssl_toolkit_compat.h Fri Feb 3 10:52:17 2017' - echo >>$@.tmp '@@ -84,7 +84,9 @@' - echo >>$@.tmp ' #define SSL_get_state(ssl) SSL_state(ssl)' - echo >>$@.tmp ' #endif' - echo >>$@.tmp ' ' - echo >>$@.tmp '+#ifndef HAVE_SSL_SET_STATE' - echo >>$@.tmp ' #define SSL_set_state(ssl,val) (ssl)->state = val' - echo >>$@.tmp '+#endif' - echo >>$@.tmp ' ' - echo >>$@.tmp ' #define MODSSL_BIO_CB_ARG_TYPE const char' - echo >>$@.tmp ' #define MODSSL_CRYPTO_CB_ARG_TYPE const char' - mv -f $@.tmp $@ - -$(HTTPD_OBJDIR)/acinclude.diff: +$(HTTPD_OBJDIR)/ssl-init-proxy-certs.diff: mkdir -p $(dir $@) - echo >$@.tmp '--- acinclude.m4.orig Fri Feb 3 11:05:08 2017' - echo >>$@.tmp '+++ acinclude.m4 Fri Feb 3 11:05:15 2017' - echo >>$@.tmp '@@ -455,6 +455,7 @@' - echo >>$@.tmp ' AC_CHECK_HEADERS([openssl/engine.h])' - echo >>$@.tmp ' AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])' - echo >>$@.tmp ' AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines])' - echo >>$@.tmp '+ AC_CHECK_FUNCS(SSL_set_state)' - echo >>$@.tmp ' else' - echo >>$@.tmp ' AC_CHECK_FUNCS([SSLC_library_version SSL_CTX_new], [], [liberrors="yes"])' - echo >>$@.tmp ' AC_CHECK_FUNCS(SSL_set_state)' + echo > $@.tmp '--- modules/ssl/ssl_engine_init.c.orig Sun Dec 16 13:34:14 2018' + echo >> $@.tmp '+++ modules/ssl/ssl_engine_init.c Sun Dec 16 13:34:59 2018' + echo >> $@.tmp '@@ -1492,7 +1492,7 @@' + echo >> $@.tmp ' X509_STORE_CTX *sctx;' + echo >> $@.tmp ' X509_STORE *store = SSL_CTX_get_cert_store(mctx->ssl_ctx);' + echo >> $@.tmp ' ' + echo >> $@.tmp '-#if OPENSSL_VERSION_NUMBER >= 0x1010100fL' + echo >> $@.tmp '+#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(LIBRESSL_VERSION_NUMBER)' + echo >> $@.tmp ' /* For OpenSSL >=1.1.1, turn on client cert support which is' + echo >> $@.tmp ' * otherwise turned off by default (by design).' + echo >> $@.tmp ' * https://github.com/openssl/openssl/issues/6933 */' mv -f $@.tmp $@ -# 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 +751,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 +779,28 @@ $(HTTPD_CONF): echo > $@.tmp '# httpd config for use with mod_dav_svn' echo >>$@.tmp 'ServerRoot "$(PREFIX)/httpd"' echo >>$@.tmp 'Listen localhost:8080' + echo >>$@.tmp 'LoadModule unixd_module modules/mod_unixd.so' + echo >>$@.tmp 'LoadModule alias_module modules/mod_alias.so' + echo >>$@.tmp 'LoadModule access_compat_module modules/mod_access_compat.so' + echo >>$@.tmp 'LoadModule authn_core_module modules/mod_authn_core.so' + echo >>$@.tmp 'LoadModule authn_file_module modules/mod_authn_file.so' + echo >>$@.tmp 'LoadModule authz_core_module modules/mod_authz_core.so' + echo >>$@.tmp 'LoadModule authz_user_module modules/mod_authz_user.so' + echo >>$@.tmp 'LoadModule authz_groupfile_module modules/mod_authz_groupfile.so' + echo >>$@.tmp 'LoadModule auth_basic_module modules/mod_auth_basic.so' + echo >>$@.tmp 'LoadModule dav_module modules/mod_dav.so' echo >>$@.tmp 'LoadModule dav_svn_module modules/svn-$(WC)/mod_dav_svn.so' echo >>$@.tmp 'LoadModule authz_svn_module modules/svn-$(WC)/mod_authz_svn.so' echo >>$@.tmp 'DocumentRoot "$(PREFIX)/httpd/htdocs"' echo >>$@.tmp '<Directory />' echo >>$@.tmp ' Options FollowSymLinks' echo >>$@.tmp ' AllowOverride None' - echo >>$@.tmp ' Order deny,allow' - echo >>$@.tmp ' Deny from all' + echo >>$@.tmp ' Require all denied' echo >>$@.tmp '</Directory>' echo >>$@.tmp '<Location /repos>' echo >>$@.tmp ' DAV svn' echo >>$@.tmp ' SVNPath /tmp/svn-sandbox/repos' - echo >>$@.tmp ' Allow from localhost' + echo >>$@.tmp ' Require ip localhost' echo >>$@.tmp '</Location>' mv -f $@.tmp $@ @@ -1742,6 +1754,16 @@ $(HTTPD_CHECK_CONF): $(MOD_DONTDOTHAT_CO echo > $@.tmp '# httpd config for make check' echo >>$@.tmp 'ServerRoot "$(PREFIX)/httpd"' echo >>$@.tmp 'Listen localhost:$(HTTPD_CHECK_PORT)' + echo >>$@.tmp 'LoadModule unixd_module modules/mod_unixd.so' + echo >>$@.tmp 'LoadModule alias_module modules/mod_alias.so' + echo >>$@.tmp 'LoadModule access_compat_module modules/mod_access_compat.so' + echo >>$@.tmp 'LoadModule authn_core_module modules/mod_authn_core.so' + echo >>$@.tmp 'LoadModule authn_file_module modules/mod_authn_file.so' + echo >>$@.tmp 'LoadModule authz_core_module modules/mod_authz_core.so' + echo >>$@.tmp 'LoadModule authz_user_module modules/mod_authz_user.so' + echo >>$@.tmp 'LoadModule authz_groupfile_module modules/mod_authz_groupfile.so' + echo >>$@.tmp 'LoadModule auth_basic_module modules/mod_auth_basic.so' + echo >>$@.tmp 'LoadModule dav_module modules/mod_dav.so' echo >>$@.tmp 'LoadModule dav_svn_module $(MOD_DAV_SVN)' echo >>$@.tmp 'LoadModule authz_svn_module $(MOD_AUTHZ_SVN)' echo >>$@.tmp 'LoadModule dontdothat_module $(MOD_DONTDOTHAT)' @@ -1750,8 +1772,7 @@ $(HTTPD_CHECK_CONF): $(MOD_DONTDOTHAT_CO echo >>$@.tmp '<Directory />' echo >>$@.tmp ' Options FollowSymLinks' echo >>$@.tmp ' AllowOverride None' - echo >>$@.tmp ' Order deny,allow' - echo >>$@.tmp ' Allow from all' + echo >>$@.tmp ' Require all granted' echo >>$@.tmp '</Directory>' echo >>$@.tmp '<Location /svn-test-work/repositories>' echo >>$@.tmp ' DAV svn' @@ -1783,11 +1804,26 @@ ifeq ($(USE_AUTHZ_SHORT_CIRCUIT),yes) echo >>$@.tmp ' SVNPathAuthz short_circuit' endif echo >>$@.tmp '</Location>' + echo >>$@.tmp '<Location /svn-test-work/local_tmp/trojan>' + echo >>$@.tmp ' DAV svn' + echo >>$@.tmp ' SVNPath $(SVN_WC)/subversion/tests/cmdline/svn-test-work/local_tmp/trojan' + echo >>$@.tmp ' AuthzSVNAccessFile $(SVN_WC)/subversion/tests/cmdline/svn-test-work/authz' + echo >>$@.tmp ' AuthType Basic' + echo >>$@.tmp ' AuthName "Subversion Repository"' + echo >>$@.tmp ' AuthUserFile $(HTTPD_CHECK_USERS)' + echo >>$@.tmp ' Require valid-user' +ifeq ($(USE_HTTPV1),yes) + echo >>$@.tmp ' SVNAdvertiseV2Protocol off' +endif +ifeq ($(USE_AUTHZ_SHORT_CIRCUIT),yes) + echo >>$@.tmp ' SVNPathAuthz short_circuit' +endif + echo >>$@.tmp '</Location>' echo >>$@.tmp '# This Location lets you access repositories dropped in /tmp/' echo >>$@.tmp '<Location /svn>' echo >>$@.tmp ' DAV svn' echo >>$@.tmp ' SVNParentPath /tmp' - echo >>$@.tmp ' Allow from all' + echo >>$@.tmp ' Require all granted' echo >>$@.tmp ' #AuthType Basic' echo >>$@.tmp ' #AuthName "Subversion Repository"' echo >>$@.tmp ' #AuthUserFile $(HTTPD_CHECK_USERS)' @@ -1828,7 +1864,7 @@ endif echo >>$@.tmp ' Require all granted' echo >>$@.tmp ' </IfModule>' echo >>$@.tmp ' <IfModule !mod_authz_core.c>' - echo >>$@.tmp ' Allow from all' + echo >>$@.tmp ' Requite all granted' echo >>$@.tmp ' </IfModule>' ifeq ($(USE_AUTHZ_SHORT_CIRCUIT),yes) echo >>$@.tmp ' SVNPathAuthz short_circuit' @@ -1846,7 +1882,7 @@ endif echo >>$@.tmp ' AuthName "Subversion Repository"' echo >>$@.tmp ' AuthUserFile $(HTTPD_CHECK_USERS)' echo >>$@.tmp ' Require valid-user' - echo >>$@.tmp ' Satisfy Any' + echo >>$@.tmp ' Satisfy Any' ifeq ($(USE_AUTHZ_SHORT_CIRCUIT),yes) echo >>$@.tmp ' SVNPathAuthz short_circuit' endif @@ -1936,7 +1972,7 @@ endif echo >>$@.tmp '<IfModule mod_authz_core.c>' echo >>$@.tmp ' <Location /authz-test-work/sallrany>' echo >>$@.tmp ' DAV svn' - echo >>$@.tmp ' SVNParentPath $($SVN_WC)/subversion/tests/cmdline/svn-test-work/local_tmp' + echo >>$@.tmp ' SVNParentPath $(SVN_WC)/subversion/tests/cmdline/svn-test-work/local_tmp' echo >>$@.tmp ' AuthzSVNAccessFile $(SVN_WC)/subversion/tests/cmdline/svn-test-work/authz' ifeq ($(USE_HTTPV1),yes) echo >>$@.tmp ' SVNAdvertiseV2Protocol off' @@ -1979,7 +2015,7 @@ endif echo >>$@.tmp '</IfModule>' echo >>$@.tmp 'RedirectMatch permanent ^/svn-test-work/repositories/REDIRECT-PERM-(.*)$$ /svn-test-work/repositories/$$1' echo >>$@.tmp 'RedirectMatch ^/svn-test-work/repositories/REDIRECT-TEMP-(.*)$$ /svn-test-work/repositories/$$1' - echo >>$@.tmp 'Include "conf/$(SVN_REL_WC)*-custom.conf"' + echo >>$@.tmp 'IncludeOptional "conf/$(SVN_REL_WC)*-custom.conf"' echo >> $@.tmp '#SVNInMemoryCacheSize 0' echo >> $@.tmp '#SVNCacheTextDeltas Off' echo >> $@.tmp '#SVNCacheRevProps Off' @@ -1990,6 +2026,16 @@ $(HTTPD_PROXY_CONF): $(HTTPD_CHECK_CONF) echo > $@.tmp '# httpd config for a write-through proxy' echo >>$@.tmp 'ServerRoot "$(PREFIX)/httpd"' echo >>$@.tmp 'Listen localhost:$(HTTPD_PROXY_PORT)' + echo >>$@.tmp 'LoadModule unixd_module modules/mod_unixd.so' + echo >>$@.tmp 'LoadModule alias_module modules/mod_alias.so' + echo >>$@.tmp 'LoadModule access_compat_module modules/mod_access_compat.so' + echo >>$@.tmp 'LoadModule authn_core_module modules/mod_authn_core.so' + echo >>$@.tmp 'LoadModule authn_file_module modules/mod_authn_file.so' + echo >>$@.tmp 'LoadModule authz_core_module modules/mod_authz_core.so' + echo >>$@.tmp 'LoadModule authz_user_module modules/mod_authz_user.so' + echo >>$@.tmp 'LoadModule authz_groupfile_module modules/mod_authz_groupfile.so' + echo >>$@.tmp 'LoadModule auth_basic_module modules/mod_auth_basic.so' + echo >>$@.tmp 'LoadModule dav_module modules/mod_dav.so' echo >>$@.tmp 'LoadModule dav_svn_module $(MOD_DAV_SVN)' echo >>$@.tmp 'LoadModule authz_svn_module $(MOD_AUTHZ_SVN)' echo >>$@.tmp 'LoadModule dontdothat_module $(MOD_DONTDOTHAT)' @@ -1999,7 +2045,7 @@ $(HTTPD_PROXY_CONF): $(HTTPD_CHECK_CONF) echo >>$@.tmp ' DAV svn' echo >>$@.tmp ' SVNParentPath /tmp/svn-$(BRANCH)-proxy' echo >>$@.tmp ' SVNMasterURI http://localhost:$(HTTPD_CHECK_PORT)/svn/' - echo >>$@.tmp ' Allow from all' + echo >>$@.tmp ' Requite all granted' echo >>$@.tmp ' #AuthType Basic' echo >>$@.tmp ' #AuthName "Subversion Repository"' echo >>$@.tmp ' #AuthUserFile $(HTTPD_CHECK_USERS)' @@ -2015,7 +2061,7 @@ endif echo >>$@.tmp '<Location /svn-proxy-sync>' echo >>$@.tmp 'DAV svn' echo >>$@.tmp 'SVNParentPath /tmp/svn-$(BRANCH)-proxy' - echo >>$@.tmp 'Allow from all' + echo >>$@.tmp 'Require all granted' echo >>$@.tmp '</Location>' mv -f $@.tmp $@ @@ -2175,6 +2221,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/swig-py3/tools/dist/backport.pl URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/tools/dist/backport.pl?rev=1862754&r1=1862753&r2=1862754&view=diff ============================================================================== --- subversion/branches/swig-py3/tools/dist/backport.pl (original) +++ subversion/branches/swig-py3/tools/dist/backport.pl Mon Jul 8 15:19:03 2019 @@ -1027,7 +1027,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 +1196,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 Modified: subversion/branches/swig-py3/tools/dist/create-minor-release-branch.py URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/tools/dist/create-minor-release-branch.py?rev=1862754&r1=1862753&r2=1862754&view=diff ============================================================================== --- subversion/branches/swig-py3/tools/dist/create-minor-release-branch.py (original) +++ subversion/branches/swig-py3/tools/dist/create-minor-release-branch.py Mon Jul 8 15:19:03 2019 @@ -102,11 +102,20 @@ def edit_file(path, pattern, replacement assert new_text != old_text open(path, 'w').write(new_text) -def prepend_file(path, text): +def edit_changes_file(path, newtext): + """Insert NEWTEXT in the 'CHANGES' file found at PATH, + just before the first line that starts with 'Version '. + """ print("Prepending to '%s'" % (path,)) - print(" text='%s'" % (text,)) - original = open(path, 'r').read() - open(path, 'w').write(text + original) + print(" text='%s'" % (newtext,)) + lines = open(path, 'r').readlines() + for i, line in enumerate(lines): + if line.startswith('Version '): + with open(path, 'w') as newfile: + newfile.writelines(lines[:i]) + newfile.write(newtext) + newfile.writelines(lines[i:]) + break #---------------------------------------------------------------------- def make_release_branch(ver, revnum): @@ -158,7 +167,7 @@ def update_minor_ver_in_trunk(ver, revnu relpath = 'CHANGES' relpaths.append(relpath) # insert at beginning of CHANGES file - prepend_file(get_trunk_wc_path(relpath), + edit_changes_file(get_trunk_wc_path(relpath), 'Version ' + next_ver.base + '\n' + '(?? ??? 20XX, from /branches/' + next_ver.branch + '.x)\n' + get_tag_url(next_ver) + '\n' Modified: subversion/branches/swig-py3/tools/dist/nightly.sh URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/tools/dist/nightly.sh?rev=1862754&r1=1862753&r2=1862754&view=diff ============================================================================== --- subversion/branches/swig-py3/tools/dist/nightly.sh (original) +++ subversion/branches/swig-py3/tools/dist/nightly.sh Mon Jul 8 15:19:03 2019 @@ -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 Modified: subversion/branches/swig-py3/tools/dist/release.py URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/tools/dist/release.py?rev=1862754&r1=1862753&r2=1862754&view=diff ============================================================================== --- subversion/branches/swig-py3/tools/dist/release.py (original) +++ subversion/branches/swig-py3/tools/dist/release.py Mon Jul 8 15:19:03 2019 @@ -77,6 +77,14 @@ tool_versions = { 'swig' : ['3.0.12', '7cf9f447ae7ed1c51722efc45e7f14418d15d7a1e143ac9f09a668999f4fc94d'], }, + '1.12' : { + 'autoconf' : ['2.69', + '954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'], + 'libtool' : ['2.4.6', + 'e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3'], + 'swig' : ['3.0.12', + '7cf9f447ae7ed1c51722efc45e7f14418d15d7a1e143ac9f09a668999f4fc94d'], + }, '1.11' : { 'autoconf' : ['2.69', '954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'], @@ -113,9 +121,9 @@ tool_versions = { # The version that is our current recommended release # ### TODO: derive this from svn_version.h; see ../../build/getversion.py -recommended_release = '1.11' +recommended_release = '1.12' # For clean-dist, a whitelist of artifacts to keep, by version. -supported_release_lines = frozenset({"1.9", "1.10", "1.11", "1.12"}) +supported_release_lines = frozenset({"1.9", "1.10", "1.12", "1.13"}) # Some constants repos = 'https://svn.apache.org/repos/asf/subversion' Modified: subversion/branches/swig-py3/tools/server-side/svnauthz.c URL: http://svn.apache.org/viewvc/subversion/branches/swig-py3/tools/server-side/svnauthz.c?rev=1862754&r1=1862753&r2=1862754&view=diff ============================================================================== --- subversion/branches/swig-py3/tools/server-side/svnauthz.c (original) +++ subversion/branches/swig-py3/tools/server-side/svnauthz.c Mon Jul 8 15:19:03 2019 @@ -31,6 +31,7 @@ #include "private/svn_fspath.h" #include "private/svn_cmdline_private.h" +#include "svn_private_config.h" /*** Option Processing. ***/ @@ -99,6 +100,9 @@ struct svnauthz_opt_state /* Libtool command prefix */ #define SVNAUTHZ_LT_PREFIX "lt-" +/* The prefix for handling errors and warnings. */ +#define SVNAUTHZ_ERR_PREFIX "svnauthz: " + /*** Subcommands. */ @@ -224,6 +228,18 @@ read_file_contents(svn_stream_t **conten return SVN_NO_ERROR; } +/* Handles warning emitted by the authz parser. */ +static void +handle_parser_warning(void *baton, + const svn_error_t *err, + apr_pool_t *scratch_pool) +{ + svn_handle_warning2(stderr, err, SVNAUTHZ_ERR_PREFIX); + SVN_UNUSED(baton); + SVN_UNUSED(scratch_pool); +} + + /* Loads the authz config into *AUTHZ from the file at AUTHZ_FILE in repository at REPOS_PATH from the transaction TXN_NAME. If GROUPS_FILE is set, the resulting *AUTHZ will be constructed from AUTHZ_FILE with @@ -256,7 +272,8 @@ get_authz_from_txn(svn_authz_t **authz, else groups_contents = NULL; - err = svn_repos_authz_parse(authz, authz_contents, groups_contents, pool); + err = svn_repos_authz_parse2(authz, authz_contents, groups_contents, + handle_parser_warning, NULL, pool, pool); /* Add the filename to the error stack since the parser doesn't have it. */ if (err != SVN_NO_ERROR) @@ -283,9 +300,11 @@ get_authz(svn_authz_t **authz, struct sv opt_state->txn, pool); /* Else */ - return svn_repos_authz_read3(authz, opt_state->authz_file, + return svn_repos_authz_read4(authz, opt_state->authz_file, opt_state->groups_file, - TRUE, NULL, pool, pool); + TRUE, NULL, + handle_parser_warning, NULL, + pool, pool); } static svn_error_t * @@ -395,7 +414,12 @@ subcommand_accessof(apr_getopt_t *os, vo static svn_boolean_t use_compat_mode(const char *cmd, apr_pool_t *pool) { - cmd = svn_dirent_internal_style(cmd, pool); + svn_error_t *err = svn_dirent_internal_style_safe(&cmd, NULL, cmd, pool, pool); + if (err) + { + svn_error_clear(err); + return FALSE; + } cmd = svn_dirent_basename(cmd, NULL); /* Skip over the Libtool command prefix if it exists on the command. */ @@ -437,7 +461,9 @@ canonicalize_access_file(const char **ca access_file); } - *canonicalized_access_file = svn_uri_canonicalize(access_file, pool); + SVN_ERR(svn_uri_canonicalize_safe( + canonicalized_access_file, NULL, + access_file, pool, pool)); } else if (within_txn) { @@ -450,8 +476,9 @@ canonicalize_access_file(const char **ca { /* If it isn't a URL and there's no transaction flag then it's a * dirent to the access file on local disk. */ - *canonicalized_access_file = - svn_dirent_internal_style(access_file, pool); + SVN_ERR(svn_dirent_internal_style_safe( + canonicalized_access_file, NULL, + access_file, pool, pool)); } return SVN_NO_ERROR; @@ -626,7 +653,9 @@ sub_main(int *exit_code, int argc, const pool)); os->ind++; - opt_state.repos_path = svn_dirent_internal_style(opt_state.repos_path, pool); + SVN_ERR(svn_dirent_internal_style_safe(&opt_state.repos_path, NULL, + opt_state.repos_path, + pool, pool)); } /* Exactly 1 non-option argument */ @@ -745,7 +774,7 @@ main(int argc, const char *argv[]) { if (exit_code == 0) exit_code = EXIT_FAILURE; - svn_cmdline_handle_exit_error(err, NULL, "svnauthz: "); + svn_cmdline_handle_exit_error(err, NULL, SVNAUTHZ_ERR_PREFIX); } svn_pool_destroy(pool);