You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2020/12/18 04:00:24 UTC

svn commit: r1884589 - in /subversion/branches/1.14.x: ./ build/generator/ subversion/include/ subversion/include/private/ subversion/libsvn_subr/

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