Author: jamessan
Date: Mon Feb 17 03:49:42 2020
New Revision: 1874094
URL: http://svn.apache.org/viewvc?rev=1874094&view=rev
Log:
Require at least version 1.5 of APR
Since r1874057, the apr_pescape_shell() API is being used to escape filenames
when invoking $SVN_EDITOR. This was added to APR in 1.5.0, released on
2013-11-13.
* INSTALL
(): Document new minimum APR version
* build/generator/gen_win_dependencies.py
(_find_apr): Bump minimal_apr_version to 1.5.0
* configure.ac
(APR_VER_REGEXES): Bump minor version in 1.x regex to 1.5
* get-deps.sh:
(APR_VERSION): Specify 1.5.0 as default version
* subversion/include/private/svn_dep_compat.h
(apr_time_from_msec): Removed, since it's provided by APR 1.4.0 or later
* subversion/include/svn_types.h
(apr_hash_this_key, apr_hash_this_key_len, apr_hash_this_val): Remove
prototypes, since they're provide by APR 1.5.0 or later
* subversion/libsvn_subr/iter.c
(hash_do_baton): Remove condition requiring APR 1.4.0 to define this type
(svn_iter_apr_hash): Remove pre-APR 1.4.0 code
(apr_hash_this_key, apr_hash_this_key_len, apr_hash_this_val): Remove
definitions, since they're provided by APR 1.5.0 or later
* subversion/libsvn_subr/pool.c
(apr_pool_create_unmanaged_ex): Remove conditional alias to
apr_pool_create_core_ex, for APR versions < 1.3.3
Modified:
subversion/trunk/INSTALL
subversion/trunk/build/generator/gen_win_dependencies.py
subversion/trunk/configure.ac
subversion/trunk/get-deps.sh
subversion/trunk/subversion/include/private/svn_dep_compat.h
subversion/trunk/subversion/include/svn_types.h
subversion/trunk/subversion/libsvn_subr/iter.c
subversion/trunk/subversion/libsvn_subr/pool.c
Modified: subversion/trunk/INSTALL
URL:
http://svn.apache.org/viewvc/subversion/trunk/INSTALL?rev=1874094&r1=1874093&r2=1874094&view=diff
==============================================================================
--- subversion/trunk/INSTALL (original)
+++ subversion/trunk/INSTALL Mon Feb 17 03:49:42 2020
@@ -206,7 +206,7 @@ I. INTRODUCTION
commands described in section II.B before installing the following.
- 1. Apache Portable Runtime 1.3 or newer (REQUIRED)
+ 1. Apache Portable Runtime 1.5 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)
@@ -832,7 +832,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.3 or later (1.2 for apr-iconv). If you are building from a Subversion
+ 1.5 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/trunk/build/generator/gen_win_dependencies.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_win_dependencies.py?rev=1874094&r1=1874093&r2=1874094&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_win_dependencies.py (original)
+++ subversion/trunk/build/generator/gen_win_dependencies.py Mon Feb 17
03:49:42 2020
@@ -345,7 +345,7 @@ class GenDependenciesBase(gen_base.Gener
def _find_apr(self):
"Find the APR library and version"
- minimal_apr_version = (1, 3, 0)
+ minimal_apr_version = (1, 5, 0)
if not self.apr_path:
sys.stderr.write("ERROR: Use '--with-apr' option to configure APR " + \
Modified: subversion/trunk/configure.ac
URL:
http://svn.apache.org/viewvc/subversion/trunk/configure.ac?rev=1874094&r1=1874093&r2=1874094&view=diff
==============================================================================
--- subversion/trunk/configure.ac (original)
+++ subversion/trunk/configure.ac Mon Feb 17 03:49:42 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\.[3-9]\. 2\."]
+APR_VER_REGEXES=["1\.[5-9]\. 2\."]
SVN_LIB_APR($APR_VER_REGEXES)
Modified: subversion/trunk/get-deps.sh
URL:
http://svn.apache.org/viewvc/subversion/trunk/get-deps.sh?rev=1874094&r1=1874093&r2=1874094&view=diff
==============================================================================
--- subversion/trunk/get-deps.sh (original)
+++ subversion/trunk/get-deps.sh Mon Feb 17 03:49:42 2020
@@ -31,7 +31,7 @@
# features already used in the file. Reviewing the history of changes
# may be useful as well.
-APR_VERSION=${APR_VERSION:-"1.4.6"}
+APR_VERSION=${APR_VERSION:-"1.5.0"}
APU_VERSION=${APU_VERSION:-"1.5.1"}
PY3C_VERSION=${PY3C_VERSION:='1.1'}
SERF_VERSION=${SERF_VERSION:-"1.3.8"}
Modified: subversion/trunk/subversion/include/private/svn_dep_compat.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_dep_compat.h?rev=1874094&r1=1874093&r2=1874094&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_dep_compat.h (original)
+++ subversion/trunk/subversion/include/private/svn_dep_compat.h Mon Feb 17
03:49:42 2020
@@ -108,12 +108,6 @@ extern "C" {
#define APR_OPENINFO 0x00100000
#endif
-#if !APR_VERSION_AT_LEAST(1,4,0)
-#ifndef apr_time_from_msec
-#define apr_time_from_msec(msec) ((apr_time_t)(msec) * 1000)
-#endif
-#endif
-
/**
* APR 1 has volatile qualifier bugs in some atomic prototypes that
* are fixed in APR 2:
Modified: subversion/trunk/subversion/include/svn_types.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_types.h?rev=1874094&r1=1874093&r2=1874094&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_types.h (original)
+++ subversion/trunk/subversion/include/svn_types.h Mon Feb 17 03:49:42 2020
@@ -249,35 +249,6 @@ 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
Modified: subversion/trunk/subversion/libsvn_subr/iter.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/iter.c?rev=1874094&r1=1874093&r2=1874094&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/iter.c (original)
+++ subversion/trunk/subversion/libsvn_subr/iter.c Mon Feb 17 03:49:42 2020
@@ -37,7 +37,6 @@ static svn_error_t internal_break_error
__LINE__ /* line number */
};
-#if APR_VERSION_AT_LEAST(1, 4, 0)
struct hash_do_baton
{
void *baton;
@@ -59,7 +58,6 @@ int hash_do_callback(void *baton,
return hdb->err == SVN_NO_ERROR;
}
-#endif
svn_error_t *
svn_iter_apr_hash(svn_boolean_t *completed,
@@ -68,7 +66,6 @@ svn_iter_apr_hash(svn_boolean_t *complet
void *baton,
apr_pool_t *pool)
{
-#if APR_VERSION_AT_LEAST(1, 4, 0)
struct hash_do_baton hdb;
svn_boolean_t error_received;
@@ -97,43 +94,6 @@ svn_iter_apr_hash(svn_boolean_t *complet
}
return hdb.err;
-#else
- svn_error_t *err = SVN_NO_ERROR;
- apr_pool_t *iterpool = svn_pool_create(pool);
- apr_hash_index_t *hi;
-
- for (hi = apr_hash_first(pool, hash);
- ! err && hi; hi = apr_hash_next(hi))
- {
- const void *key;
- void *val;
- apr_ssize_t len;
-
- svn_pool_clear(iterpool);
-
- apr_hash_this(hi, &key, &len, &val);
- err = (*func)(baton, key, len, val, iterpool);
- }
-
- if (completed)
- *completed = ! err;
-
- if (err && err->apr_err == SVN_ERR_ITER_BREAK)
- {
- if (err != &internal_break_error)
- /* Errors - except those created by svn_iter_break() -
- need to be cleared when not further propagated. */
- svn_error_clear(err);
-
- err = SVN_NO_ERROR;
- }
-
- /* Clear iterpool, because callers may clear the error but have no way
- to clear the iterpool with potentially lots of allocated memory */
- svn_pool_destroy(iterpool);
-
- return err;
-#endif
}
svn_error_t *
@@ -183,29 +143,3 @@ 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
Modified: subversion/trunk/subversion/libsvn_subr/pool.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/pool.c?rev=1874094&r1=1874093&r2=1874094&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/pool.c (original)
+++ subversion/trunk/subversion/libsvn_subr/pool.c Mon Feb 17 03:49:42 2020
@@ -151,16 +151,6 @@ svn_pool_create_allocator(svn_boolean_t
}
-/*
- * apr_pool_create_core_ex was introduced in APR 1.3.0, then
- * deprecated and renamed to apr_pool_create_unmanaged_ex in 1.3.3.
- * Since our minimum requirement is APR 1.3.0, one or the other of
- * these functions will always be available.
- */
-#if !APR_VERSION_AT_LEAST(1,3,3)
-#define apr_pool_create_unmanaged_ex apr_pool_create_core_ex
-#endif
-
/* Private function that creates an unmanaged pool. */
apr_pool_t *
svn_pool__create_unmanaged(svn_boolean_t thread_safe)