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