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)


Reply via email to