Author: svn-role Date: Fri Dec 18 04:00:24 2020 New Revision: 1884589 URL: http://svn.apache.org/viewvc?rev=1884589&view=rev Log: Merge the r1881958 group from trunk:
* r1881958, 1882128 Restoring support for building with APR 1.4. Justification: Allow building on older distros such as CentOS 7. Votes: +1: brane, hartmannathan, julianfoad Added: subversion/branches/1.14.x/subversion/libsvn_subr/apr_escape.c - copied, changed from r1881958, subversion/trunk/subversion/libsvn_subr/apr_escape.c Modified: subversion/branches/1.14.x/ (props changed) subversion/branches/1.14.x/INSTALL subversion/branches/1.14.x/STATUS subversion/branches/1.14.x/build/generator/gen_win_dependencies.py subversion/branches/1.14.x/configure.ac subversion/branches/1.14.x/subversion/include/private/svn_dep_compat.h subversion/branches/1.14.x/subversion/include/svn_types.h subversion/branches/1.14.x/subversion/libsvn_subr/cmdline.c subversion/branches/1.14.x/subversion/libsvn_subr/iter.c Propchange: subversion/branches/1.14.x/ ------------------------------------------------------------------------------ Merged /subversion/trunk:r1881958,1882128 Modified: subversion/branches/1.14.x/INSTALL URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/INSTALL?rev=1884589&r1=1884588&r2=1884589&view=diff ============================================================================== --- subversion/branches/1.14.x/INSTALL (original) +++ subversion/branches/1.14.x/INSTALL Fri Dec 18 04:00:24 2020 @@ -206,7 +206,7 @@ I. INTRODUCTION commands described in section II.B before installing the following. - 1. Apache Portable Runtime 1.5 or newer (REQUIRED) + 1. Apache Portable Runtime 1.4 or newer (REQUIRED) Whenever you want to build any part of Subversion, you need the Apache Portable Runtime (APR) and the APR Utility (APR-util) @@ -838,7 +838,7 @@ II. INSTALLATION needed to compile Apache. Note that this is the actual awk program, not an installer - just rename it to awk.exe and it is ready to use. * Apache apr, apr-util, and optionally apr-iconv libraries, version - 1.5 or later (1.2 for apr-iconv). If you are building from a Subversion + 1.4 or later (1.2 for apr-iconv). If you are building from a Subversion checkout and have not downloaded Apache 2, then get these 3 libraries from https://www.apache.org/dist/apr/. * SQLite 3.8.2 or higher from https://www.sqlite.org/download.html Modified: subversion/branches/1.14.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1884589&r1=1884588&r2=1884589&view=diff ============================================================================== --- subversion/branches/1.14.x/STATUS (original) +++ subversion/branches/1.14.x/STATUS Fri Dec 18 04:00:24 2020 @@ -73,13 +73,6 @@ Veto-blocked changes: Approved changes: ================= - * r1881958, 1882128 - Restoring support for building with APR 1.4. - Justification: - Allow building on older distros such as CentOS 7. - Votes: - +1: brane, hartmannathan, julianfoad - * r1882326 Fix issue #4762 "authz doesn't combine global and repository rules" Justification: Modified: subversion/branches/1.14.x/build/generator/gen_win_dependencies.py URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/build/generator/gen_win_dependencies.py?rev=1884589&r1=1884588&r2=1884589&view=diff ============================================================================== --- subversion/branches/1.14.x/build/generator/gen_win_dependencies.py (original) +++ subversion/branches/1.14.x/build/generator/gen_win_dependencies.py Fri Dec 18 04:00:24 2020 @@ -345,7 +345,7 @@ class GenDependenciesBase(gen_base.Gener def _find_apr(self): "Find the APR library and version" - minimal_apr_version = (1, 5, 0) + minimal_apr_version = (1, 4, 0) if not self.apr_path: sys.stderr.write("ERROR: Use '--with-apr' option to configure APR " + \ Modified: subversion/branches/1.14.x/configure.ac URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/configure.ac?rev=1884589&r1=1884588&r2=1884589&view=diff ============================================================================== --- subversion/branches/1.14.x/configure.ac (original) +++ subversion/branches/1.14.x/configure.ac Fri Dec 18 04:00:24 2020 @@ -91,7 +91,7 @@ AC_SUBST([MKDIR]) dnl verify apr version and set apr flags dnl These regular expressions should not contain "\(" and "\)". -APR_VER_REGEXES=["1\.[5-9]\. 2\."] +APR_VER_REGEXES=["1\.[4-9]\. 2\."] SVN_LIB_APR($APR_VER_REGEXES) Modified: subversion/branches/1.14.x/subversion/include/private/svn_dep_compat.h URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/include/private/svn_dep_compat.h?rev=1884589&r1=1884588&r2=1884589&view=diff ============================================================================== --- subversion/branches/1.14.x/subversion/include/private/svn_dep_compat.h (original) +++ subversion/branches/1.14.x/subversion/include/private/svn_dep_compat.h Fri Dec 18 04:00:24 2020 @@ -29,6 +29,7 @@ #define SVN_DEP_COMPAT_H #include <apr_version.h> +#include <apr_errno.h> #ifdef __cplusplus extern "C" { @@ -193,6 +194,16 @@ extern "C" { ((major*1000000 + minor*1000 + patch) <= SVN_SQLITE_MIN_VERSION_NUMBER) #endif /* SQLITE_VERSION_AT_LEAST */ +/** + * Support for 'apr_escape_shell() which was introduced in APR 1.5. + */ +#if !APR_VERSION_AT_LEAST(1,5,0) +/* from apr_escape.h */ +#define APR_ESCAPE_STRING (-1) +APR_DECLARE(apr_status_t) apr_escape_shell(char *escaped, const char *str, + apr_ssize_t slen, apr_size_t *len); +#endif + #ifdef __cplusplus } #endif /* __cplusplus */ Modified: subversion/branches/1.14.x/subversion/include/svn_types.h URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/include/svn_types.h?rev=1884589&r1=1884588&r2=1884589&view=diff ============================================================================== --- subversion/branches/1.14.x/subversion/include/svn_types.h (original) +++ subversion/branches/1.14.x/subversion/include/svn_types.h Fri Dec 18 04:00:24 2020 @@ -249,6 +249,35 @@ typedef struct svn_version_t svn_version +/** @defgroup apr_hash_utilities APR Hash Table Helpers + * These functions enable the caller to dereference an APR hash table index + * without type casts or temporary variables. + * + * These functions are provided by APR itself from version 1.5. + * Definitions are provided here for when using older versions of APR. + * @{ + */ + +#if !APR_VERSION_AT_LEAST(1, 5, 0) + +/** Return the key of the hash table entry indexed by @a hi. */ +const void * +apr_hash_this_key(apr_hash_index_t *hi); + +/** Return the key length of the hash table entry indexed by @a hi. */ +apr_ssize_t +apr_hash_this_key_len(apr_hash_index_t *hi); + +/** Return the value of the hash table entry indexed by @a hi. */ +void * +apr_hash_this_val(apr_hash_index_t *hi); + +#endif + +/** @} */ + + + /** On Windows, APR_STATUS_IS_ENOTDIR includes several kinds of * invalid-pathname error but not ERROR_INVALID_NAME, so we include it. * We also include ERROR_DIRECTORY as that was not included in apr versions Copied: subversion/branches/1.14.x/subversion/libsvn_subr/apr_escape.c (from r1881958, subversion/trunk/subversion/libsvn_subr/apr_escape.c) URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/libsvn_subr/apr_escape.c?p2=subversion/branches/1.14.x/subversion/libsvn_subr/apr_escape.c&p1=subversion/trunk/subversion/libsvn_subr/apr_escape.c&r1=1881958&r2=1884589&rev=1884589&view=diff ============================================================================== --- subversion/trunk/subversion/libsvn_subr/apr_escape.c (original) +++ subversion/branches/1.14.x/subversion/libsvn_subr/apr_escape.c Fri Dec 18 04:00:24 2020 @@ -125,4 +125,11 @@ APR_DECLARE(apr_status_t) apr_escape_she return APR_SUCCESS; } -#endif +#else /* APR_VERSION_AT_LEAST(1,5,0) */ + +/* Silence OSX ranlib warnings about object files with no symbols. */ +#include <apr.h> +extern const apr_uint32_t svn__fake__apr_escape; +const apr_uint32_t svn__fake__apr_escape = 0xdeadbeef; + +#endif /* !APR_VERSION_AT_LEAST(1,5,0) */ Modified: subversion/branches/1.14.x/subversion/libsvn_subr/cmdline.c URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/libsvn_subr/cmdline.c?rev=1884589&r1=1884588&r2=1884589&view=diff ============================================================================== --- subversion/branches/1.14.x/subversion/libsvn_subr/cmdline.c (original) +++ subversion/branches/1.14.x/subversion/libsvn_subr/cmdline.c Fri Dec 18 04:00:24 2020 @@ -39,7 +39,12 @@ #include <apr.h> /* for STDIN_FILENO */ #include <apr_errno.h> /* for apr_strerror */ +#include <apr_version.h> +#if APR_VERSION_AT_LEAST(1,5,0) #include <apr_escape.h> +#else +#include "private/svn_dep_compat.h" +#endif #include <apr_general.h> /* for apr_initialize/apr_terminate */ #include <apr_strings.h> /* for apr_snprintf */ #include <apr_pools.h> Modified: subversion/branches/1.14.x/subversion/libsvn_subr/iter.c URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/libsvn_subr/iter.c?rev=1884589&r1=1884588&r2=1884589&view=diff ============================================================================== --- subversion/branches/1.14.x/subversion/libsvn_subr/iter.c (original) +++ subversion/branches/1.14.x/subversion/libsvn_subr/iter.c Fri Dec 18 04:00:24 2020 @@ -143,3 +143,29 @@ svn_iter__break(void) { return &internal_break_error; } + +#if !APR_VERSION_AT_LEAST(1, 5, 0) +const void *apr_hash_this_key(apr_hash_index_t *hi) +{ + const void *key; + + apr_hash_this((apr_hash_index_t *)hi, &key, NULL, NULL); + return key; +} + +apr_ssize_t apr_hash_this_key_len(apr_hash_index_t *hi) +{ + apr_ssize_t klen; + + apr_hash_this((apr_hash_index_t *)hi, NULL, &klen, NULL); + return klen; +} + +void *apr_hash_this_val(apr_hash_index_t *hi) +{ + void *val; + + apr_hash_this((apr_hash_index_t *)hi, NULL, NULL, &val); + return val; +} +#endif