Add patch to fix subversion
authorFredrik Fornwall <fredrik@fornwall.net>
Thu, 27 Aug 2015 08:22:16 +0000 (04:22 -0400)
committerFredrik Fornwall <fredrik@fornwall.net>
Thu, 27 Aug 2015 08:22:16 +0000 (04:22 -0400)
packages/subversion/build.sh
packages/subversion/fs_id.c.patch [new file with mode: 0644]

index 2760c4c..c78d80f 100644 (file)
@@ -1,6 +1,7 @@
 TERMUX_PKG_HOMEPAGE=http://subversion.apache.org/
 TERMUX_PKG_DESCRIPTION="Centralized version control system characterized by its simplicity"
 TERMUX_PKG_VERSION=1.9.0
+TERMUX_PKG_BUILD_REVISION=1
 TERMUX_PKG_SRCURL=http://apache.mirrors.spacedump.net/subversion/subversion-${TERMUX_PKG_VERSION}.tar.bz2
 TERMUX_PKG_DEPENDS="apr, apr-util, serf, libexpat, libsqlite"
 TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-sasl --without-libmagic"
diff --git a/packages/subversion/fs_id.c.patch b/packages/subversion/fs_id.c.patch
new file mode 100644 (file)
index 0000000..f203216
--- /dev/null
@@ -0,0 +1,50 @@
+Patch from upcoming subversion 1.9.1:
+
+http://svn.apache.org/viewvc?view=revision&revision=1696695
+
+--- ../subversion/libsvn_fs_x/fs_id.c  2015/08/20 01:01:06     1696694
++++ ./subversion/libsvn_fs_x/fs_id.c   2015/08/20 01:10:22     1696695
+@@ -85,6 +85,13 @@
+      is not.*/
+   const char *fs_path;
++  /* If FS is NULL, this points to svn_fs_open() as passed to the library. */
++  svn_error_t *(*svn_fs_open_)(svn_fs_t **,
++      const char *,
++      apr_hash_t *,
++      apr_pool_t *,
++      apr_pool_t *);
++
+   /* Pool that this context struct got allocated in. */
+   apr_pool_t *owner;
+@@ -118,11 +125,14 @@
+ fs_cleanup(void *baton)
+ {
+   svn_fs_x__id_context_t *context = baton;
++  svn_fs_x__data_t *ffd = context->fs->fsap_data;
+   /* Remember the FS_PATH to potentially reopen and mark the FS as n/a. */
+   context->fs_path = apr_pstrdup(context->owner, context->fs->path);
++  context->svn_fs_open_ = ffd->svn_fs_open_;
+   context->fs = NULL;
++
+   /* No need for further notifications because from now on, everything is
+      allocated in OWNER. */
+   apr_pool_cleanup_kill(context->owner, context, owner_cleanup);
+@@ -137,8 +147,12 @@
+ {
+   if (!context->fs)
+     {
+-      svn_error_t *err = svn_fs_open2(&context->fs, context->fs_path, NULL,
+-                                      context->owner, context->owner);
++      svn_error_t *err;
++
++      SVN_ERR_ASSERT_NO_RETURN(context->svn_fs_open_);
++
++      err = context->svn_fs_open_(&context->fs, context->fs_path, NULL,
++                                  context->owner, context->owner);
+       if (err)
+         {
+           svn_error_clear(err);