Files
MSYS2-packages/subversion/13-dso_open.patch
2020-05-30 09:02:52 +03:00

66 lines
2.7 KiB
Diff

Fix DSO open, specifically for auth modules like GNOME keyring
From: David Rothenberger <daveroth@acm.org>
support. Thanks to Yaakov for the patch.
http://cygwin.com/ml/cygwin/2012-03/msg00835.html
---
subversion/libsvn_fs/fs-loader.c | 7 ++++++-
subversion/libsvn_ra/ra_loader.c | 7 ++++++-
subversion/libsvn_subr/auth.c | 4 ++++
3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/subversion/libsvn_fs/fs-loader.c b/subversion/libsvn_fs/fs-loader.c
index 3840f22..ef444c2 100644
--- a/subversion/libsvn_fs/fs-loader.c
+++ b/subversion/libsvn_fs/fs-loader.c
@@ -155,7 +155,12 @@ load_module(fs_init_func_t *initfunc, const char *name, apr_pool_t *pool)
_("Invalid name for FS type '%s'"),
name);
- libname = apr_psprintf(pool, "libsvn_fs_%s-" SVN_DSO_SUFFIX_FMT,
+ libname = apr_psprintf(pool,
+#ifdef __CYGWIN__
+ "cygsvn_fs_%s-" SVN_DSO_SUFFIX_FMT,
+#else
+ "libsvn_fs_%s-" SVN_DSO_SUFFIX_FMT,
+#endif
name, SVN_VER_MAJOR, SVN_SOVERSION);
funcname = apr_psprintf(pool, "svn_fs_%s__init", name);
diff --git a/subversion/libsvn_ra/ra_loader.c b/subversion/libsvn_ra/ra_loader.c
index ac07545..4c2825c 100644
--- a/subversion/libsvn_ra/ra_loader.c
+++ b/subversion/libsvn_ra/ra_loader.c
@@ -143,7 +143,12 @@ load_ra_module(svn_ra__init_func_t *func,
const char *compat_funcname;
apr_status_t status;
- libname = apr_psprintf(pool, "libsvn_ra_%s-" SVN_DSO_SUFFIX_FMT,
+ libname = apr_psprintf(pool,
+#ifdef __CYGWIN__
+ "cygsvn_ra_%s-" SVN_DSO_SUFFIX_FMT,
+#else
+ "libsvn_ra_%s-" SVN_DSO_SUFFIX_FMT,
+#endif
ra_name, SVN_VER_MAJOR, SVN_SOVERSION);
funcname = apr_psprintf(pool, "svn_ra_%s__init", ra_name);
compat_funcname = apr_psprintf(pool, "svn_ra_%s_init", ra_name);
diff --git a/subversion/libsvn_subr/auth.c b/subversion/libsvn_subr/auth.c
index ae1957e..e26968e 100644
--- a/subversion/libsvn_subr/auth.c
+++ b/subversion/libsvn_subr/auth.c
@@ -508,7 +508,11 @@ svn_auth_get_platform_specific_provider(svn_auth_provider_object_t **provider,
const char *library_label, *library_name;
const char *provider_function_name, *version_function_name;
library_name = apr_psprintf(pool,
+#ifdef __CYGWIN__
+ "cygsvn_auth_%s-%d-%d.dll",
+#else
"libsvn_auth_%s-%d.so.%d",
+#endif
provider_name,
SVN_VER_MAJOR, SVN_SOVERSION);
library_label = apr_psprintf(pool, "svn_%s", provider_name);