summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames McCoy <jamessan@debian.org>2015-03-07 01:45:57 +0000
committerJames McCoy <jamessan@debian.org>2015-03-07 01:45:57 +0000
commit73530fd14160cf69c4d9a32c189a7ef48956b4f0 (patch)
tree052ee7e1c0bdfecc217722de5ae44c8cec29d884
parentfb8ac294ab6066dfbeba03dc3fba6e5a18018b70 (diff)
Start 1.9.x branch with 1.9.0~beta1
-rw-r--r--debian/changelog8
-rw-r--r--debian/patches/CVE-2014-3580102
-rw-r--r--debian/patches/CVE-2014-810856
-rw-r--r--debian/patches/apache_module_dependency10
-rw-r--r--debian/patches/apr-abi18
-rw-r--r--debian/patches/build-fixes42
-rw-r--r--debian/patches/last-changed-date-charset2
-rw-r--r--debian/patches/libtoolize49
-rw-r--r--debian/patches/no-extra-libs-26
-rw-r--r--debian/patches/python-builds24
-rw-r--r--debian/patches/repos-templates28
-rw-r--r--debian/patches/rpath26
-rw-r--r--debian/patches/ruby-no-strict-aliasing2
-rw-r--r--debian/patches/ruby-test-svnserve-race4
-rw-r--r--debian/patches/ruby-typemap-digest2
-rw-r--r--debian/patches/ruby2.0-build-fixes26
-rw-r--r--debian/patches/series5
-rw-r--r--debian/patches/ssh-no-controlmaster4
-rw-r--r--debian/patches/test-failure-with-optimizations102
-rw-r--r--debian/patches/workaround_EINVAL_on_kfreebsd2
20 files changed, 90 insertions, 428 deletions
diff --git a/debian/changelog b/debian/changelog
index df9c7cd..d449e4a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+subversion (1.9.0~beta1-1) experimental; urgency=medium
+
+ * New upstream pre-release. Refresh patches.
+ + Remove backported patches libtoolize, ruby2.0-build-fixes,
+ test-failure-with-optimizations, CVE-2014-3580, CVE-2014-8108.
+
+ -- James McCoy <jamessan@debian.org> Fri, 06 Mar 2015 20:03:03 -0500
+
subversion (1.8.10-5) unstable; urgency=medium
* patches/CVE-2014-8108: mod_dav_svn DoS vulnerability with invalid virtual
diff --git a/debian/patches/CVE-2014-3580 b/debian/patches/CVE-2014-3580
deleted file mode 100644
index 58288db..0000000
--- a/debian/patches/CVE-2014-3580
+++ /dev/null
@@ -1,102 +0,0 @@
-Subject: Correctly reject requests with missing repo paths
-Origin: upstream, r1643454
-Bug: CVE-2014-3850
-Bug-Debian: https://bugs.debian.org/773263
-Index: subversion/mod_dav_svn/reports/deleted-rev.c
-===================================================================
---- a/subversion/mod_dav_svn/reports/deleted-rev.c (revision 1624477)
-+++ b/subversion/mod_dav_svn/reports/deleted-rev.c (working copy)
-@@ -56,6 +56,9 @@ dav_svn__get_deleted_rev_report(const dav_resource
- dav_error *derr = NULL;
-
- /* Sanity check. */
-+ if (!resource->info->repos_path)
-+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0,
-+ "The request does not specify a repository path");
- ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE);
- if (ns == -1)
- return dav_svn__new_error_tag(resource->pool, HTTP_BAD_REQUEST, 0,
-Index: subversion/mod_dav_svn/reports/file-revs.c
-===================================================================
---- a/subversion/mod_dav_svn/reports/file-revs.c (revision 1624477)
-+++ b/subversion/mod_dav_svn/reports/file-revs.c (working copy)
-@@ -254,6 +254,9 @@ dav_svn__file_revs_report(const dav_resource *reso
- arb.repos = resource->info->repos;
-
- /* Sanity check. */
-+ if (!resource->info->repos_path)
-+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0,
-+ "The request does not specify a repository path");
- ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE);
- /* ### This is done on other places, but the document element is
- in this namespace, so is this necessary at all? */
-Index: subversion/mod_dav_svn/reports/get-location-segments.c
-===================================================================
---- a/subversion/mod_dav_svn/reports/get-location-segments.c (revision 1624477)
-+++ b/subversion/mod_dav_svn/reports/get-location-segments.c (working copy)
-@@ -123,6 +123,9 @@ dav_svn__get_location_segments_report(const dav_re
- struct location_segment_baton location_segment_baton;
-
- /* Sanity check. */
-+ if (!resource->info->repos_path)
-+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0,
-+ "The request does not specify a repository path");
- ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE);
- if (ns == -1)
- {
-Index: subversion/mod_dav_svn/reports/get-locations.c
-===================================================================
---- a/subversion/mod_dav_svn/reports/get-locations.c (revision 1624477)
-+++ b/subversion/mod_dav_svn/reports/get-locations.c (working copy)
-@@ -106,6 +106,9 @@ dav_svn__get_locations_report(const dav_resource *
- sizeof(svn_revnum_t));
-
- /* Sanity check. */
-+ if (!resource->info->repos_path)
-+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0,
-+ "The request does not specify a repository path");
- ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE);
- if (ns == -1)
- {
-Index: subversion/mod_dav_svn/reports/inherited-props.c
-===================================================================
---- a/subversion/mod_dav_svn/reports/inherited-props.c (revision 1624477)
-+++ b/subversion/mod_dav_svn/reports/inherited-props.c (working copy)
-@@ -63,6 +63,9 @@ dav_svn__get_inherited_props_report(const dav_reso
- apr_pool_t *iterpool;
-
- /* Sanity check. */
-+ if (!resource->info->repos_path)
-+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0,
-+ "The request does not specify a repository path");
- ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE);
- if (ns == -1)
- {
-Index: subversion/mod_dav_svn/reports/log.c
-===================================================================
---- a/subversion/mod_dav_svn/reports/log.c (revision 1624477)
-+++ b/subversion/mod_dav_svn/reports/log.c (working copy)
-@@ -307,6 +307,9 @@ dav_svn__log_report(const dav_resource *resource,
- = apr_array_make(resource->pool, 1, sizeof(const char *));
-
- /* Sanity check. */
-+ if (!resource->info->repos_path)
-+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0,
-+ "The request does not specify a repository path");
- ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE);
- if (ns == -1)
- {
-Index: subversion/mod_dav_svn/reports/mergeinfo.c
-===================================================================
---- a/subversion/mod_dav_svn/reports/mergeinfo.c (revision 1624477)
-+++ b/subversion/mod_dav_svn/reports/mergeinfo.c (working copy)
-@@ -67,6 +67,9 @@ dav_svn__get_mergeinfo_report(const dav_resource *
- = apr_array_make(resource->pool, 0, sizeof(const char *));
-
- /* Sanity check. */
-+ if (!resource->info->repos_path)
-+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0,
-+ "The request does not specify a repository path");
- ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE);
- if (ns == -1)
- {
diff --git a/debian/patches/CVE-2014-8108 b/debian/patches/CVE-2014-8108
deleted file mode 100644
index 2c990d5..0000000
--- a/debian/patches/CVE-2014-8108
+++ /dev/null
@@ -1,56 +0,0 @@
-Subject: Correctly reject requests with invalid virtual transaction names.
-Origin: upstream, r1643455
-Bug: CVE-2014-8108
-Bug-Debian: https://bugs.debian.org/773315
-Index: subversion/mod_dav_svn/repos.c
-===================================================================
---- a/subversion/mod_dav_svn/repos.c (revision 1624477)
-+++ b/subversion/mod_dav_svn/repos.c (working copy)
-@@ -508,6 +508,9 @@ parse_vtxnstub_uri(dav_resource_combined *comb,
- if (parse_txnstub_uri(comb, path, label, use_checked_in))
- return TRUE;
-
-+ if (!comb->priv.root.txn_name)
-+ return TRUE;
-+
- comb->priv.root.vtxn_name = comb->priv.root.txn_name;
- comb->priv.root.txn_name = dav_svn__get_txn(comb->priv.repos,
- comb->priv.root.vtxn_name);
-@@ -576,6 +579,9 @@ parse_vtxnroot_uri(dav_resource_combined *comb,
- if (parse_txnroot_uri(comb, path, label, use_checked_in))
- return TRUE;
-
-+ if (!comb->priv.root.txn_name)
-+ return TRUE;
-+
- comb->priv.root.vtxn_name = comb->priv.root.txn_name;
- comb->priv.root.txn_name = dav_svn__get_txn(comb->priv.repos,
- comb->priv.root.vtxn_name);
-@@ -921,6 +927,10 @@ prep_working(dav_resource_combined *comb)
- point. */
- if (txn_name == NULL)
- {
-+ if (!comb->priv.root.activity_id)
-+ return dav_svn__new_error(comb->res.pool, HTTP_BAD_REQUEST, 0,
-+ "The request did not specify an activity ID");
-+
- txn_name = dav_svn__get_txn(comb->priv.repos,
- comb->priv.root.activity_id);
- if (txn_name == NULL)
-@@ -1031,9 +1041,14 @@ prep_working(dav_resource_combined *comb)
- static dav_error *
- prep_activity(dav_resource_combined *comb)
- {
-- const char *txn_name = dav_svn__get_txn(comb->priv.repos,
-- comb->priv.root.activity_id);
-+ const char *txn_name;
-
-+ if (!comb->priv.root.activity_id)
-+ return dav_svn__new_error(comb->res.pool, HTTP_BAD_REQUEST, 0,
-+ "The request did not specify an activity ID");
-+
-+ txn_name = dav_svn__get_txn(comb->priv.repos, comb->priv.root.activity_id);
-+
- comb->priv.root.txn_name = txn_name;
- comb->res.exists = txn_name != NULL;
-
diff --git a/debian/patches/apache_module_dependency b/debian/patches/apache_module_dependency
index bddb2a3..4c4ab11 100644
--- a/debian/patches/apache_module_dependency
+++ b/debian/patches/apache_module_dependency
@@ -15,7 +15,7 @@ dependencies, mod_authz_svn is loaded first.
#ifdef __cplusplus
-@@ -83,6 +84,15 @@
+@@ -101,6 +102,15 @@
const char **repos_basename,
const char **relative_path,
const char **repos_path);
@@ -31,7 +31,7 @@ dependencies, mod_authz_svn is loaded first.
/**
-@@ -91,6 +101,10 @@
+@@ -124,6 +134,10 @@
AP_MODULE_DECLARE(dav_error *) dav_svn_get_repos_path(request_rec *r,
const char *root_path,
const char **repos_path);
@@ -67,7 +67,7 @@ dependencies, mod_authz_svn is loaded first.
/*
* Configuration
*/
-@@ -937,6 +944,16 @@
+@@ -949,6 +956,16 @@
return OK;
}
@@ -84,7 +84,7 @@ dependencies, mod_authz_svn is loaded first.
/*
* Module flesh
*/
-@@ -958,6 +975,9 @@
+@@ -970,6 +987,9 @@
AUTHZ_SVN__SUBREQ_BYPASS_PROV_NAME,
AUTHZ_SVN__SUBREQ_BYPASS_PROV_VER,
(void*)subreq_bypass);
@@ -96,7 +96,7 @@ dependencies, mod_authz_svn is loaded first.
module AP_MODULE_DECLARE_DATA authz_svn_module =
--- a/subversion/mod_dav_svn/mod_dav_svn.c
+++ b/subversion/mod_dav_svn/mod_dav_svn.c
-@@ -1330,6 +1330,9 @@
+@@ -1394,6 +1394,9 @@
static void
register_hooks(apr_pool_t *pconf)
{
diff --git a/debian/patches/apr-abi b/debian/patches/apr-abi
index b4bccd2..98a6a6d 100644
--- a/debian/patches/apr-abi
+++ b/debian/patches/apr-abi
@@ -9,18 +9,12 @@ be ABI-compatible again if and when we move to apr-2.x.
--- a/configure.ac
+++ b/configure.ac
-@@ -111,9 +111,13 @@
- AC_SUBST(SVN_APRUTIL_INCLUDES)
- AC_SUBST(SVN_APRUTIL_CONFIG, ["$apu_config"])
+@@ -106,7 +106,7 @@
AC_SUBST(SVN_APRUTIL_LIBS)
-+elif test `expr $apr_version : 1` -ne 0; then
-+ svn_lib_ver=1
-+ APU_VER_REGEXES=["1\."]
-+ SVN_LIB_APRUTIL($APU_VER_REGEXES)
+ SVN_APR_MAJOR_VERSION=2
else
- svn_lib_ver=0
-- APU_VER_REGEXES=["0\.9\.[7-9] 0\.9\.1[0-9] 1\."]
-+ APU_VER_REGEXES=["0\.9\.[7-9] 0\.9\.1[0-9]"]
+- svn_lib_ver=0
++ svn_lib_ver=1
+ APU_VER_REGEXES=["1\.[3-9]\."]
SVN_LIB_APRUTIL($APU_VER_REGEXES)
- fi
- SVN_LT_SOVERSION="-version-info $svn_lib_ver"
+ SVN_APR_MAJOR_VERSION=1
diff --git a/debian/patches/build-fixes b/debian/patches/build-fixes
index 59991b0..3009226 100644
--- a/debian/patches/build-fixes
+++ b/debian/patches/build-fixes
@@ -27,7 +27,7 @@ Fix some build problems:
% " ".join(checkout_locations))
--- a/Makefile.in
+++ b/Makefile.in
-@@ -113,8 +113,8 @@
+@@ -117,8 +117,8 @@
SHELL = @SHELL@
LIBTOOL = @SVN_LIBTOOL@
@@ -38,7 +38,7 @@ Fix some build problems:
LT_CFLAGS = @LT_CFLAGS@
LT_LDFLAGS = @LT_LDFLAGS@
LT_SO_VERSION = @SVN_LT_SOVERSION@
-@@ -315,14 +315,14 @@
+@@ -341,14 +341,14 @@
# The path to generated and complementary source files for the SWIG
# bindings.
@@ -58,7 +58,7 @@ Fix some build problems:
### Automate JAR creation using Makefile generator's javahl-java.jar
### property. Enhance generator to support JAR installation.
-@@ -811,8 +811,7 @@
+@@ -871,8 +871,7 @@
fi
for d in $(SWIG_PL_DIR)/libsvn_swig_perl; \
do \
@@ -68,7 +68,7 @@ Fix some build problems:
done
if [ -f "$(SWIG_PL_DIR)/native/Makefile" ]; then \
cd $(SWIG_PL_DIR)/native; $(MAKE) clean; \
-@@ -846,7 +845,7 @@
+@@ -906,7 +905,7 @@
fi
for d in $(SWIG_PY_DIR) $(SWIG_PY_DIR)/libsvn_swig_py; \
do \
@@ -77,7 +77,7 @@ Fix some build problems:
done
find $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) -name "*.pyc" -exec rm {} ';'
-@@ -876,8 +875,7 @@
+@@ -936,8 +935,7 @@
fi
for d in $(SWIG_RB_DIR) $(SWIG_RB_DIR)/libsvn_swig_ruby; \
do \
@@ -89,7 +89,7 @@ Fix some build problems:
extraclean-swig-rb: clean-swig-rb
--- a/build/generator/gen_base.py
+++ b/build/generator/gen_base.py
-@@ -340,7 +340,8 @@
+@@ -423,7 +423,8 @@
class SWIGSource(SourceFile):
def __init__(self, filename):
@@ -112,15 +112,15 @@ Fix some build problems:
for fname in self.includes:
--- a/configure.ac
+++ b/configure.ac
-@@ -688,6 +688,7 @@
- fi
+@@ -719,6 +719,7 @@
+ AC_SUBST(SVN_INTL_LIBS)
AH_BOTTOM([
+#undef /* */ _
/* Indicate to translators that string X should be translated. Do not look
up the translation at run time; just expand to X. This macro is suitable
for use where a constant string is required at compile time. */
-@@ -1504,6 +1505,11 @@
+@@ -1573,6 +1574,11 @@
[Defined to the config.guess name of the build target])
AC_OUTPUT
@@ -134,17 +134,17 @@ Fix some build problems:
--- a/build.conf
+++ b/build.conf
-@@ -213,7 +213,7 @@
+@@ -241,7 +241,7 @@
description = Subversion Client Library
type = lib
path = subversion/libsvn_client
-libs = libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr apriconv apr
+libs = libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr aprutil apriconv apr
install = lib
- msvc-export = svn_client.h private/svn_client_private.h
+ msvc-export = svn_client.h private/svn_client_mtcc.h private/svn_client_private.h
-@@ -276,7 +276,7 @@
- description = Subversion Repository Access Library
+@@ -315,7 +315,7 @@
+ description = Subversion General Repository Access Library
type = lib
path = subversion/libsvn_ra
-libs = libsvn_delta libsvn_subr ra-libs apriconv apr
@@ -154,10 +154,10 @@ Fix some build problems:
add-install-deps = $(SVN_RA_LIB_INSTALL_DEPS)
--- a/subversion/libsvn_ra_serf/update.c
+++ b/subversion/libsvn_ra_serf/update.c
-@@ -3064,12 +3064,6 @@
- SVN_ERR(svn_ra_serf__process_pending(parser_ctx,
- &report->report_received,
- iterpool_inner));
+@@ -2618,12 +2618,6 @@
+ /* If there is pending REPORT data, process it now. */
+ if (ud->spillbuf)
+ SVN_ERR(process_pending(ud, iterpool));
-
- /* Debugging purposes only! */
- for (i = 0; i < sess->num_conns; i++)
@@ -166,13 +166,13 @@ Fix some build problems:
- }
}
- /* If we got a complete report, close the edit. Otherwise, abort it. */
+ svn_pool_clear(iterpool);
--- a/subversion/libsvn_ra_serf/util.c
+++ b/subversion/libsvn_ra_serf/util.c
-@@ -962,12 +962,6 @@
+@@ -935,12 +935,6 @@
+ svn_pool_clear(iterpool);
- return svn_ra_serf__wrap_err(status, _("Error running context"));
- }
+ SVN_ERR(svn_ra_serf__context_run(sess, &waittime_left, iterpool));
-
- /* Debugging purposes only! */
- for (i = 0; i < sess->num_conns; i++)
diff --git a/debian/patches/last-changed-date-charset b/debian/patches/last-changed-date-charset
index d4a518c..13ddb23 100644
--- a/debian/patches/last-changed-date-charset
+++ b/debian/patches/last-changed-date-charset
@@ -5,7 +5,7 @@ Not accepted upstream: http://svn.haxx.se/dev/archive-2006-04/0730.shtml
--- a/subversion/libsvn_subr/subst.c
+++ b/subversion/libsvn_subr/subst.c
-@@ -209,8 +209,12 @@
+@@ -210,8 +210,12 @@
break;
case 'D': /* long format of date of this revision */
if (date)
diff --git a/debian/patches/libtoolize b/debian/patches/libtoolize
deleted file mode 100644
index dc18786..0000000
--- a/debian/patches/libtoolize
+++ /dev/null
@@ -1,49 +0,0 @@
-------------------------------------------------------------------------
-r1627276 | philip | 2014-09-24 06:58:12 -0400 (Wed, 24 Sep 2014) | 8 lines
-
-* buildcheck.sh: Look for libtoolize rather than libtool, add some
- more candidate names.
-
-* autogen.sh: Add more candidate names to match buildcheck.sh.
-
-Patch by: Helmut Grohne <helmut{_AT_}subdivi.de>
- me
-
-
-Index: trunk/build/buildcheck.sh
-===================================================================
---- trunk/build/buildcheck.sh (revision 1627275)
-+++ trunk/build/buildcheck.sh (revision 1627276)
-@@ -97,14 +97,14 @@
- esac
- fi
-
--libtool=${LIBTOOL:-`./build/PrintPath glibtool libtool libtool15`}
-+libtoolize=${LIBTOOLIZE:-`./build/PrintPath glibtoolize libtoolize glibtoolize1 libtoolize15 libtoolize14`}
- # Extract the libtool version number: everything from the first number in
- # the version text until a hyphen or space.
--lt_pversion=`$libtool --version 2>/dev/null |
-+lt_pversion=`$libtoolize --version 2>/dev/null |
- sed -e 's/^[^0-9]*//' -e 's/[- ].*//' -e '/^$/d' |
- sed -e 1q`
- if test -z "$lt_pversion"; then
-- echo "buildcheck: libtool not found."
-+ echo "buildcheck: libtoolize not found."
- echo " You need libtool version $LIBTOOL_WANTED_VERSION or newer installed"
- exit 1
- fi
-Index: trunk/autogen.sh
-===================================================================
---- trunk/autogen.sh (revision 1627275)
-+++ trunk/autogen.sh (revision 1627276)
-@@ -59,7 +59,7 @@
- # ### APR's libtool. deferring to a second round of change...
- #
-
--libtoolize="`./build/PrintPath glibtoolize libtoolize libtoolize15`"
-+libtoolize="`./build/PrintPath glibtoolize libtoolize glibtoolize1 libtoolize15 libtoolize14`"
- lt_major_version=`$libtoolize --version 2>/dev/null | sed -e 's/^[^0-9]*//' -e 's/\..*//' -e '/^$/d' -e 1q`
-
- if [ "x$libtoolize" = "x" ]; then
-
-------------------------------------------------------------------------
diff --git a/debian/patches/no-extra-libs-2 b/debian/patches/no-extra-libs-2
index 860dc41..062d803 100644
--- a/debian/patches/no-extra-libs-2
+++ b/debian/patches/no-extra-libs-2
@@ -5,7 +5,7 @@ _at all_, so we don't want it to pull in aprutil for us.)
--- a/subversion/bindings/swig/perl/native/Makefile.PL.in
+++ b/subversion/bindings/swig/perl/native/Makefile.PL.in
@@ -43,6 +43,12 @@
- fs_base fs_util fs_fs/);
+ fs_base fs_util fs_fs fs_x/);
my @ldmodules = map {"-lsvn_$_-1"} (@modules, qw/diff subr/);
+sub libs_line {
@@ -46,12 +46,12 @@ _at all_, so we don't want it to pull in aprutil for us.)
NAME => "SVN::_".perlish($_),
--- a/build.conf
+++ b/build.conf
-@@ -1149,7 +1149,7 @@
+@@ -1381,7 +1381,7 @@
[apriconv]
type = lib
-external-lib = $(SVN_APRUTIL_LIBS)
+external-lib = $(SVN_APR_LIBS)
- [bdb]
+ [libhttpd]
type = lib
diff --git a/debian/patches/python-builds b/debian/patches/python-builds
index 241fcf4..a59d7cc 100644
--- a/debian/patches/python-builds
+++ b/debian/patches/python-builds
@@ -6,8 +6,8 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml
--- a/Makefile.in
+++ b/Makefile.in
-@@ -133,6 +133,7 @@
- APACHE_LDFLAGS = @APACHE_LDFLAGS@
+@@ -140,6 +140,7 @@
+ GMOCK_INCLUDES = -I@GMOCK_SRCDIR@
SWIG = @SWIG@
+PYTHON_INCLUDES = @PYTHON_INCLUDES@
@@ -26,7 +26,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml
if test "$ac_cv_python_includes" = "none"; then
AC_MSG_WARN([python bindings cannot be built without distutils module])
-@@ -289,6 +290,7 @@
+@@ -295,6 +296,7 @@
AC_MSG_RESULT([$SWIG_RB_TEST_VERBOSE])
fi
AC_SUBST(SWIG)
@@ -36,7 +36,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml
AC_SUBST(SWIG_PY_LINK)
--- a/build.conf
+++ b/build.conf
-@@ -428,7 +428,7 @@
+@@ -487,7 +487,7 @@
type = swig
path = subversion/bindings/swig
sources = core.i
@@ -44,8 +44,8 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml
+libs = libsvn_swig_py$(PYVER) libsvn_swig_perl libsvn_swig_ruby
libsvn_diff libsvn_subr apr
description = Subversion core library bindings
- include-runtime = yes
-@@ -437,7 +437,7 @@
+
+@@ -495,7 +495,7 @@
type = swig
path = subversion/bindings/swig
sources = svn_client.i
@@ -54,7 +54,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml
libsvn_client libsvn_subr apr
nonlibs = swig_core
description = Subversion client library bindings
-@@ -446,7 +446,7 @@
+@@ -504,7 +504,7 @@
type = swig
path = subversion/bindings/swig
sources = svn_delta.i
@@ -63,7 +63,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml
libsvn_delta libsvn_subr apr
nonlibs = swig_core
description = Subversion delta library bindings
-@@ -455,7 +455,7 @@
+@@ -513,7 +513,7 @@
type = swig
path = subversion/bindings/swig
sources = svn_diff.i
@@ -72,7 +72,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml
libsvn_diff libsvn_subr apr
nonlibs = swig_core
description = Subversion diff library bindings
-@@ -464,7 +464,7 @@
+@@ -522,7 +522,7 @@
type = swig
path = subversion/bindings/swig
sources = svn_fs.i
@@ -81,7 +81,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml
libsvn_fs libsvn_subr apr
nonlibs = swig_core
description = Subversion FS library bindings
-@@ -473,7 +473,7 @@
+@@ -531,7 +531,7 @@
type = swig
path = subversion/bindings/swig
sources = svn_ra.i
@@ -90,7 +90,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml
libsvn_ra libsvn_subr apr
nonlibs = swig_core
description = Subversion RA library bindings
-@@ -482,7 +482,7 @@
+@@ -540,7 +540,7 @@
type = swig
path = subversion/bindings/swig
sources = svn_repos.i
@@ -99,7 +99,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml
libsvn_repos libsvn_subr apr
nonlibs = swig_core
description = Subversion repository library bindings
-@@ -491,13 +491,13 @@
+@@ -549,13 +549,13 @@
type = swig
path = subversion/bindings/swig
sources = svn_wc.i
diff --git a/debian/patches/repos-templates b/debian/patches/repos-templates
index 5e7f71a..aa751b0 100644
--- a/debian/patches/repos-templates
+++ b/debian/patches/repos-templates
@@ -14,7 +14,7 @@ hooks, not just use them in place.
"# http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and" NL \
"# http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/" NL
-@@ -361,8 +361,11 @@
+@@ -409,8 +409,11 @@
"REPOS=\"$1\"" NL
"USER=\"$2\"" NL
"" NL
@@ -28,7 +28,7 @@ hooks, not just use them in place.
"" NL
"# All checks passed, so allow the commit." NL
"exit 0" NL;
-@@ -451,10 +454,13 @@
+@@ -470,10 +473,13 @@
"$SVNLOOK log -t \"$TXN\" \"$REPOS\" | \\" NL
" grep \"[a-zA-Z0-9]\" > /dev/null || exit 1" NL
"" NL
@@ -44,16 +44,16 @@ hooks, not just use them in place.
"" NL
"# All checks passed, so allow the commit." NL
"exit 0" NL;
-@@ -775,7 +781,7 @@
+@@ -684,7 +690,7 @@
"REV=\"$2\"" NL
"TXN_NAME=\"$3\"" NL
NL
-"mailer.py commit \"$REPOS\" \"$REV\" /path/to/mailer.conf" NL;
+"\"$REPOS\"/hooks/mailer.py commit \"$REPOS\" $REV \"$REPOS\"/mailer.conf" NL;
- #undef SCRIPT_NAME
-
-@@ -838,7 +844,8 @@
+ SVN_ERR_W(write_hook_template_file(repos, SCRIPT_NAME,
+ description, script, pool),
+@@ -719,7 +725,8 @@
"USER=\"$2\"" NL
"" NL
"# Send email to interested parties, let them know a lock was created:" NL
@@ -61,9 +61,9 @@ hooks, not just use them in place.
+"\"$REPOS\"/hooks/mailer.py lock \\" NL
+" \"$REPOS\" \"$USER\" \"$REPOS\"/hooks/mailer.conf" NL;
- #undef SCRIPT_NAME
-
-@@ -899,7 +906,8 @@
+ SVN_ERR_W(write_hook_template_file(repos, SCRIPT_NAME,
+ description, script, pool),
+@@ -751,7 +758,8 @@
"USER=\"$2\"" NL
"" NL
"# Send email to interested parties, let them know a lock was removed:" NL
@@ -71,9 +71,9 @@ hooks, not just use them in place.
+"\"$REPOS\"/hooks/mailer.py unlock \\" NL
+" \"$REPOS\" \"$USER\" \"$REPOS\"/hooks/mailer.conf" NL;
- #undef SCRIPT_NAME
-
-@@ -966,8 +974,8 @@
+ SVN_ERR_W(write_hook_template_file(repos, SCRIPT_NAME,
+ description, script, pool),
+@@ -791,8 +799,8 @@
"PROPNAME=\"$4\"" NL
"ACTION=\"$5\"" NL
"" NL
@@ -82,5 +82,5 @@ hooks, not just use them in place.
+"\"$REPOS\"/hooks/mailer.py propchange2 \"$REPOS\" $REV \\" NL
+" \"$USER\" \"$PROPNAME\" \"$ACTION\" \"$REPOS\"/hooks/mailer.conf" NL;
- #undef SCRIPT_NAME
-
+ SVN_ERR_W(write_hook_template_file(repos, SCRIPT_NAME,
+ description, script, pool),
diff --git a/debian/patches/rpath b/debian/patches/rpath
index 50d0c6f..a2a773e 100644
--- a/debian/patches/rpath
+++ b/debian/patches/rpath
@@ -8,9 +8,9 @@ patch by David Kimdon <dwhedon@debian.org>. The basic theory is:
--- a/Makefile.in
+++ b/Makefile.in
-@@ -216,10 +216,10 @@
- # special compilation for files destined for cxxhl
- COMPILE_CXXHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(CXXHL_INCLUDES) -o $@ -c
+@@ -255,10 +255,10 @@
+ COMPILE_GMOCK_CXX = $(LT_COMPILE_CXX_NOWARN) $(GMOCK_INCLUDES) -o $@ -c
+ COMPILE_CXXHL_GMOCK_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) $(GMOCK_INCLUDES) -o $@ -c
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
-LINK_LIB = $(LINK) $(LT_SO_VERSION)
@@ -23,32 +23,32 @@ patch by David Kimdon <dwhedon@debian.org>. The basic theory is:
# special link rule for mod_dav_svn
LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)
-@@ -777,7 +777,9 @@
+@@ -837,7 +837,9 @@
./config.status subversion/bindings/swig/perl/native/Makefile.PL
$(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
-- cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL
+- cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL PREFIX=$(prefix)
+ cd $(SWIG_PL_DIR)/native; \
-+ $(PERL) Makefile.PL INSTALLDIRS=vendor; \
++ $(PERL) Makefile.PL PREFIX=$(prefix); \
+ sed -i -e '/^LD_RUN_PATH/s/^/#/' Makefile Makefile.[a-z]*
# There is a "readlink -f" command on some systems for the same purpose,
# but it's not as portable (e.g. Mac OS X doesn't have it). These should
--- a/build.conf
+++ b/build.conf
-@@ -502,7 +502,7 @@
- lang = python
+@@ -561,7 +561,7 @@
path = subversion/bindings/swig/python/libsvn_swig_py
- libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
+ libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr
+ apriconv apr python swig
-link-cmd = $(LINK)
+link-cmd = $(LINK_LIB) $(SWIG_PY_LIBS)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
-@@ -525,7 +525,7 @@
+@@ -586,7 +586,7 @@
lang = ruby
path = subversion/bindings/swig/ruby/libsvn_swig_ruby
- libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
+ libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr ruby swig
-link-cmd = $(LINK) $(SWIG_RB_LIBS)
+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
install = swig-rb-lib
@@ -56,7 +56,7 @@ patch by David Kimdon <dwhedon@debian.org>. The basic theory is:
compile-cmd = $(COMPILE_SWIG_RB)
--- a/build/generator/gen_base.py
+++ b/build/generator/gen_base.py
-@@ -415,7 +415,7 @@
+@@ -498,7 +498,7 @@
self.install = options.get('install')
self.compile_cmd = options.get('compile-cmd')
self.sources = options.get('sources', '*.c *.cpp')
@@ -65,7 +65,7 @@ patch by David Kimdon <dwhedon@debian.org>. The basic theory is:
self.external_lib = options.get('external-lib')
self.external_project = options.get('external-project')
-@@ -467,6 +467,7 @@
+@@ -551,6 +551,7 @@
extmap = self.gen_obj._extension_map
self.objext = extmap['exe', 'object']
self.filename = build_path_join(self.path, name + extmap['exe', 'target'])
diff --git a/debian/patches/ruby-no-strict-aliasing b/debian/patches/ruby-no-strict-aliasing
index f8766b0..9af816b 100644
--- a/debian/patches/ruby-no-strict-aliasing
+++ b/debian/patches/ruby-no-strict-aliasing
@@ -4,7 +4,7 @@ be real bugs with real consequences.
--- a/Makefile.in
+++ b/Makefile.in
-@@ -139,7 +139,7 @@
+@@ -146,7 +146,7 @@
SWIG_PY_LIBS = @SWIG_PY_LIBS@
SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@
SWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby
diff --git a/debian/patches/ruby-test-svnserve-race b/debian/patches/ruby-test-svnserve-race
index fea92e2..8ab5729 100644
--- a/debian/patches/ruby-test-svnserve-race
+++ b/debian/patches/ruby-test-svnserve-race
@@ -15,7 +15,7 @@ Michlmayr.
# Tale of a hack...
#
-@@ -287,11 +288,7 @@
+@@ -289,11 +290,7 @@
"-d", "--foreground")
}
pid, status = Process.waitpid2(@svnserve_pid, Process::WNOHANG)
@@ -28,7 +28,7 @@ Michlmayr.
# svnserve started successfully. Note port number and cease
# startup attempts.
@svnserve_port = port
-@@ -357,4 +354,25 @@
+@@ -359,4 +356,25 @@
include Svnserve
extend SetupEnvironment
end
diff --git a/debian/patches/ruby-typemap-digest b/debian/patches/ruby-typemap-digest
index b2f2d39..7424344 100644
--- a/debian/patches/ruby-typemap-digest
+++ b/debian/patches/ruby-typemap-digest
@@ -17,7 +17,7 @@ Sent upstream: http://svn.haxx.se/dev/archive-2006-09/0536.shtml
--- a/subversion/bindings/swig/include/svn_types.swg
+++ b/subversion/bindings/swig/include/svn_types.swg
-@@ -1093,7 +1093,7 @@
+@@ -1086,7 +1086,7 @@
#ifdef SWIGRUBY
%typemap(argout) unsigned char digest[ANY] {
char *digest_string = (char *)svn_md5_digest_to_cstring($1, _global_pool);
diff --git a/debian/patches/ruby2.0-build-fixes b/debian/patches/ruby2.0-build-fixes
deleted file mode 100644
index 799d625..0000000
--- a/debian/patches/ruby2.0-build-fixes
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/build/ac-macros/swig.m4
-+++ b/build/ac-macros/swig.m4
-@@ -186,7 +186,7 @@
- rbconfig="$RUBY -rrbconfig -e "
-
- for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \
-- rubyhdrdir sitedir sitelibdir sitearchdir libdir
-+ rubyhdrdir rubyarchhdrdir sitedir sitelibdir sitearchdir libdir
- do
- rbconfig_tmp=`$rbconfig "print RbConfig::CONFIG@<:@'$var_name'@:>@"`
- eval "rbconfig_$var_name=\"$rbconfig_tmp\""
-@@ -197,7 +197,13 @@
- AC_CACHE_CHECK([for Ruby include path], [svn_cv_ruby_includes],[
- if test -d "$rbconfig_rubyhdrdir"; then
- dnl Ruby >=1.9
-- svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir -I$rbconfig_rubyhdrdir/ruby -I$rbconfig_rubyhdrdir/ruby/backward -I$rbconfig_rubyhdrdir/$rbconfig_arch"
-+ svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir -I$rbconfig_rubyhdrdir/ruby -I$rbconfig_rubyhdrdir/ruby/backward"
-+ if test -d "$rbconfig_rubyarchhdrdir"; then
-+ dnl Ruby >=2.0
-+ svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyarchhdrdir"
-+ else
-+ svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyhdrdir/$rbconfig_arch"
-+ fi
- else
- dnl Ruby 1.8
- svn_cv_ruby_includes="-I. -I$rbconfig_archdir"
diff --git a/debian/patches/series b/debian/patches/series
index 5d58050..91557d0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -14,8 +14,3 @@ python-builds
examples-compile-instructions
apache_module_dependency
workaround_EINVAL_on_kfreebsd
-ruby2.0-build-fixes
-test-failure-with-optimizations
-libtoolize
-CVE-2014-3580
-CVE-2014-8108
diff --git a/debian/patches/ssh-no-controlmaster b/debian/patches/ssh-no-controlmaster
index 3b31fd5..74d8890 100644
--- a/debian/patches/ssh-no-controlmaster
+++ b/debian/patches/ssh-no-controlmaster
@@ -16,7 +16,7 @@ connection sharing, but only if a ControlMaster is already present.
--- a/subversion/libsvn_subr/config_file.c
+++ b/subversion/libsvn_subr/config_file.c
-@@ -1134,7 +1134,7 @@
+@@ -1238,7 +1238,7 @@
"### passed to the tunnel agent as <user>@<hostname>.) If the" NL
"### built-in ssh scheme were not predefined, it could be defined" NL
"### as:" NL
@@ -27,7 +27,7 @@ connection sharing, but only if a ControlMaster is already present.
"# rsh = rsh" NL
--- a/subversion/libsvn_ra_svn/client.c
+++ b/subversion/libsvn_ra_svn/client.c
-@@ -395,7 +395,7 @@
+@@ -396,7 +396,7 @@
* versions have it too. If the user is using some other ssh
* implementation that doesn't accept it, they can override it
* in the [tunnels] section of the config. */
diff --git a/debian/patches/test-failure-with-optimizations b/debian/patches/test-failure-with-optimizations
deleted file mode 100644
index 1435f9f..0000000
--- a/debian/patches/test-failure-with-optimizations
+++ /dev/null
@@ -1,102 +0,0 @@
-------------------------------------------------------------------------
-r1485480 | stefan2 | 2013-05-22 19:05:40 -0400 (Wed, 22 May 2013) | 7 lines
-
-Fix a snafu that prevented the optimized code path to be executed in most
-cases. This affects legacy txdelta v1 data only - which is quite rare to
-find these days.
-
-* subversion/libsvn_delta/text_delta.c
- (patterning_copy): there will be no overlap past the END ..
-
-
-Index: trunk/subversion/libsvn_delta/text_delta.c
-===================================================================
---- trunk/subversion/libsvn_delta/text_delta.c (revision 1485479)
-+++ trunk/subversion/libsvn_delta/text_delta.c (revision 1485480)
-@@ -669,7 +669,7 @@
-
- #if SVN_UNALIGNED_ACCESS_IS_OK
-
-- if (end + sizeof(apr_uint32_t) <= target)
-+ if (source + sizeof(apr_uint32_t) <= target)
- {
- /* Source and target are at least 4 bytes apart, so we can copy in
- * 4-byte chunks. */
-
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-r1618472 | brane | 2014-08-17 07:55:54 -0400 (Sun, 17 Aug 2014) | 12 lines
-
-Remove some code in libsvn_delta that assumes unaligned access is safe
-and therefore breaks GCC's vectorizer. The new code also attempts to
-make better use of the CPU data cache.
-
-* subversion/libsvn_delta/text_delta.c
- (fast_memcpy): Simplify the short copy loop implementation.
- (patterning_copy): Do not blindly use unaligned word-size access.
- Keep the data cache hot when repeating a pattern.
-
-Found by: Alan Modra
-(Message-ID: <20140809135509.GC7047@bubble.grove.modra.org>)
-
-
-Index: trunk/subversion/libsvn_delta/text_delta.c
-===================================================================
---- trunk/subversion/libsvn_delta/text_delta.c (revision 1618471)
-+++ trunk/subversion/libsvn_delta/text_delta.c (revision 1618472)
-@@ -649,9 +649,8 @@
- {
- /* memcpy is not exactly fast for small block sizes.
- * Since they are common, let's run optimized code for them. */
-- const char *end = source + len;
-- for (; source != end; source++)
-- *(target++) = *source;
-+ while (len--)
-+ *target++ = *source++;
- }
-
- return target;
-@@ -663,29 +662,22 @@
- static APR_INLINE char *
- patterning_copy(char *target, const char *source, apr_size_t len)
- {
-- const char *end = source + len;
--
-- /* On many machines, we can do "chunky" copies. */
--
--#if SVN_UNALIGNED_ACCESS_IS_OK
--
-- if (source + sizeof(apr_uint32_t) <= target)
-+ /* If the source and target overlap, repeat the overlapping pattern
-+ in the target buffer. Always copy from the source buffer because
-+ presumably it will be in the L1 cache after the first iteration
-+ and doing this should avoid pipeline stalls due to write/read
-+ dependencies. */
-+ const apr_size_t overlap = target - source;
-+ while (len > overlap)
- {
-- /* Source and target are at least 4 bytes apart, so we can copy in
-- * 4-byte chunks. */
-- for (; source + sizeof(apr_uint32_t) <= end;
-- source += sizeof(apr_uint32_t),
-- target += sizeof(apr_uint32_t))
-- *(apr_uint32_t *)(target) = *(apr_uint32_t *)(source);
-+ target = fast_memcpy(target, source, overlap);
-+ len -= overlap;
- }
-
--#endif
-+ /* Copy any remaining source pattern. */
-+ if (len)
-+ target = fast_memcpy(target, source, len);
-
-- /* fall through to byte-wise copy (either for the below-chunk-size tail
-- * or the whole copy) */
-- for (; source != end; source++)
-- *(target++) = *source;
--
- return target;
- }
-
-
-------------------------------------------------------------------------
diff --git a/debian/patches/workaround_EINVAL_on_kfreebsd b/debian/patches/workaround_EINVAL_on_kfreebsd
index 5321f83..50b4690 100644
--- a/debian/patches/workaround_EINVAL_on_kfreebsd
+++ b/debian/patches/workaround_EINVAL_on_kfreebsd
@@ -1,6 +1,6 @@
--- a/subversion/bindings/swig/ruby/test/util.rb
+++ b/subversion/bindings/swig/ruby/test/util.rb
-@@ -369,6 +369,8 @@
+@@ -371,6 +371,8 @@
TCPSocket.new(@svnserve_host, port).close
rescue Errno::ECONNREFUSED
sleep(n < 10 ? 0.2 : 0.5)