subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject svn commit: r1617086 - in /subversion/branches/authzperf: ./ build/generator/ subversion/ subversion/bindings/swig/python/libsvn_swig_py/ subversion/include/ subversion/libsvn_fs/ subversion/libsvn_fs_fs/ subversion/libsvn_fs_x/ subversion/libsvn_ra_se...
Date Sun, 10 Aug 2014 10:25:32 GMT
Author: brane
Date: Sun Aug 10 10:25:31 2014
New Revision: 1617086

URL: http://svn.apache.org/r1617086
Log:
On the authzperf branch: Catch up with trunk to r1617077.

Added:
    subversion/branches/authzperf/subversion/libsvn_fs/deprecated.c
      - copied unchanged from r1617077, subversion/trunk/subversion/libsvn_fs/deprecated.c
Modified:
    subversion/branches/authzperf/   (props changed)
    subversion/branches/authzperf/build/generator/gen_win_dependencies.py
    subversion/branches/authzperf/configure.ac
    subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
    subversion/branches/authzperf/subversion/include/svn_error_codes.h
    subversion/branches/authzperf/subversion/libsvn_fs/access.c
    subversion/branches/authzperf/subversion/libsvn_fs/editor.c
    subversion/branches/authzperf/subversion/libsvn_fs/fs-loader.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/fs_fs.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/   (props changed)
    subversion/branches/authzperf/subversion/libsvn_fs_x/index.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/noderevs.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/pack.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/reps.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/reps.h
    subversion/branches/authzperf/subversion/libsvn_ra_serf/ra_serf.h
    subversion/branches/authzperf/subversion/libsvn_repos/deprecated.c
    subversion/branches/authzperf/subversion/libsvn_repos/load-fs-vtable.c
    subversion/branches/authzperf/subversion/libsvn_repos/repos.c
    subversion/branches/authzperf/subversion/libsvn_subr/cache-memcache.c
    subversion/branches/authzperf/subversion/libsvn_subr/error.c
    subversion/branches/authzperf/subversion/libsvn_subr/sqlite.c
    subversion/branches/authzperf/subversion/libsvn_subr/utf8proc.c
    subversion/branches/authzperf/subversion/libsvn_subr/win32_xlate.c
    subversion/branches/authzperf/subversion/libsvn_wc/workqueue.c
    subversion/branches/authzperf/subversion/svn_private_config.hw
    subversion/branches/authzperf/subversion/tests/cmdline/svnadmin_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/svntest/main.py
    subversion/branches/authzperf/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_fs_x/   (props changed)
    subversion/branches/authzperf/subversion/tests/libsvn_fs_x/fs-x-pack-test.c
    subversion/branches/authzperf/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd
    subversion/branches/authzperf/tools/dev/unix-build/Makefile.svn

Propchange: subversion/branches/authzperf/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1615512-1617077

Modified: subversion/branches/authzperf/build/generator/gen_win_dependencies.py
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/build/generator/gen_win_dependencies.py?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/build/generator/gen_win_dependencies.py (original)
+++ subversion/branches/authzperf/build/generator/gen_win_dependencies.py Sun Aug 10 10:25:31 2014
@@ -862,15 +862,21 @@ class GenDependenciesBase(gen_base.Gener
     "Find the right perl library name to link swig bindings with"
 
     fp = os.popen('perl -MConfig -e ' + escape_shell_arg(
+                  'print "$Config{libperl}\\n"; '
                   'print "$Config{PERL_REVISION}.$Config{PERL_VERSION}.'
                           '$Config{PERL_SUBVERSION}\\n"; '
                   'print "$Config{archlib}\\n"'), 'r')
     try:
       line = fp.readline()
       if line:
+        perl_lib = line.strip()
+      else:
+        return
+
+      line = fp.readline()
+      if line:
         perl_version = line.strip()
         perl_ver = perl_version.split('.')
-        perl_lib = 'perl%s%s.lib' % (perl_ver[0], perl_ver[1])
       else:
         return
 

Modified: subversion/branches/authzperf/configure.ac
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/configure.ac?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/configure.ac (original)
+++ subversion/branches/authzperf/configure.ac Sun Aug 10 10:25:31 2014
@@ -779,6 +779,10 @@ AH_BOTTOM([
 # define SVN__FORCE_INLINE APR_INLINE
 # define SVN__PREVENT_INLINE
 #endif
+
+/* Macro used to specify that a variable is intentionally left unused.
+   Supresses compiler warnings about the variable being unused.  */
+#define SVN_UNUSED(v) ( (void)(v) )
 ])
 
 dnl Used to simulate makefile conditionals.

Modified: subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Sun Aug 10 10:25:31 2014
@@ -445,7 +445,7 @@ static PyObject *make_ob_pool(void *pool
   apr_pool_t *new_pool = svn_pool_create(application_pool);
   PyObject *new_py_pool = svn_swig_py_new_pointer_obj(new_pool,
     svn_swig_TypeQuery("apr_pool_t *"), application_py_pool, NULL);
-  (void) pool; /* Silence compiler warnings about unused parameter. */
+  SVN_UNUSED(pool);
   return new_py_pool;
 }
 static PyObject *make_ob_fs_root(svn_fs_root_t *ptr, PyObject *py_pool)

Modified: subversion/branches/authzperf/subversion/include/svn_error_codes.h
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/include/svn_error_codes.h?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/include/svn_error_codes.h (original)
+++ subversion/branches/authzperf/subversion/include/svn_error_codes.h Sun Aug 10 10:25:31 2014
@@ -851,6 +851,11 @@ SVN_ERROR_START
              SVN_ERR_FS_CATEGORY_START + 60,
              "Unsupported FS type")
 
+  /** @since New in 1.9. */
+  SVN_ERRDEF(SVN_ERR_FS_CONTAINER_SIZE,
+             SVN_ERR_FS_CATEGORY_START + 61,
+             "Container capacity exceeded.")
+
   /* repos errors */
 
   SVN_ERRDEF(SVN_ERR_REPOS_LOCKED,

Modified: subversion/branches/authzperf/subversion/libsvn_fs/access.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs/access.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs/access.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs/access.c Sun Aug 10 10:25:31 2014
@@ -91,13 +91,6 @@ svn_fs_access_add_lock_token2(svn_fs_acc
   return SVN_NO_ERROR;
 }
 
-svn_error_t *
-svn_fs_access_add_lock_token(svn_fs_access_t *access_ctx,
-                             const char *token)
-{
-  return svn_fs_access_add_lock_token2(access_ctx, (const char *) 1, token);
-}
-
 apr_hash_t *
 svn_fs__access_get_lock_tokens(svn_fs_access_t *access_ctx)
 {

Modified: subversion/branches/authzperf/subversion/libsvn_fs/editor.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs/editor.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs/editor.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs/editor.c Sun Aug 10 10:25:31 2014
@@ -63,8 +63,6 @@ struct edit_baton {
 };
 
 #define FSPATH(relpath, pool) apr_pstrcat(pool, "/", relpath, SVN_VA_NULL)
-#define UNUSED(x) ((void)(x))
-
 
 static svn_error_t *
 get_root(svn_fs_root_t **root,
@@ -522,7 +520,8 @@ alter_symlink_cb(void *baton,
 {
   struct edit_baton *eb = baton;
 
-  UNUSED(eb); SVN__NOT_IMPLEMENTED();
+  SVN_UNUSED(eb);
+  SVN__NOT_IMPLEMENTED();
 }
 
 

Modified: subversion/branches/authzperf/subversion/libsvn_fs/fs-loader.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs/fs-loader.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs/fs-loader.c Sun Aug 10 10:25:31 2014
@@ -559,12 +559,6 @@ svn_fs_upgrade2(const char *path,
 }
 
 svn_error_t *
-svn_fs_upgrade(const char *path, apr_pool_t *pool)
-{
-  return svn_error_trace(svn_fs_upgrade2(path, NULL, NULL, NULL, NULL, pool));
-}
-
-svn_error_t *
 svn_fs_verify(const char *path,
               apr_hash_t *fs_config,
               svn_revnum_t start,
@@ -679,26 +673,6 @@ svn_fs_hotcopy3(const char *src_path, co
 }
 
 svn_error_t *
-svn_fs_hotcopy2(const char *src_path, const char *dest_path,
-                svn_boolean_t clean, svn_boolean_t incremental,
-                svn_cancel_func_t cancel_func, void *cancel_baton,
-                apr_pool_t *scratch_pool)
-{
-  return svn_error_trace(svn_fs_hotcopy3(src_path, dest_path, clean,
-                                         incremental, NULL, NULL,
-                                         cancel_func, cancel_baton,
-                                         scratch_pool));
-}
-
-svn_error_t *
-svn_fs_hotcopy(const char *src_path, const char *dest_path,
-               svn_boolean_t clean, apr_pool_t *pool)
-{
-  return svn_error_trace(svn_fs_hotcopy2(src_path, dest_path, clean,
-                                         FALSE, NULL, NULL, pool));
-}
-
-svn_error_t *
 svn_fs_pack(const char *path,
             svn_fs_pack_notify_t notify_func,
             void *notify_baton,
@@ -848,14 +822,6 @@ svn_fs_begin_txn2(svn_fs_txn_t **txn_p, 
 
 
 svn_error_t *
-svn_fs_begin_txn(svn_fs_txn_t **txn_p, svn_fs_t *fs, svn_revnum_t rev,
-                 apr_pool_t *pool)
-{
-  return svn_error_trace(svn_fs_begin_txn2(txn_p, fs, rev, 0, pool));
-}
-
-
-svn_error_t *
 svn_fs_commit_txn(const char **conflict_p, svn_revnum_t *new_rev,
                    svn_fs_txn_t *txn, apr_pool_t *pool)
 {
@@ -1561,14 +1527,6 @@ svn_fs_change_rev_prop2(svn_fs_t *fs, sv
 }
 
 svn_error_t *
-svn_fs_change_rev_prop(svn_fs_t *fs, svn_revnum_t rev, const char *name,
-                       const svn_string_t *value, apr_pool_t *pool)
-{
-  return svn_error_trace(
-           svn_fs_change_rev_prop2(fs, rev, name, NULL, value, pool));
-}
-
-svn_error_t *
 svn_fs_get_file_delta_stream(svn_txdelta_stream_t **stream_p,
                              svn_fs_root_t *source_root,
                              const char *source_path,
@@ -1832,16 +1790,6 @@ svn_fs_get_locks2(svn_fs_t *fs, const ch
                                                get_locks_baton, pool));
 }
 
-svn_error_t *
-svn_fs_get_locks(svn_fs_t *fs, const char *path,
-                 svn_fs_get_locks_callback_t get_locks_func,
-                 void *get_locks_baton, apr_pool_t *pool)
-{
-  return svn_error_trace(svn_fs_get_locks2(fs, path, svn_depth_infinity,
-                                           get_locks_func, get_locks_baton,
-                                           pool));
-}
-
 
 /* --- History functions --- */
 

Modified: subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.c Sun Aug 10 10:25:31 2014
@@ -245,6 +245,16 @@ initialize_fs_struct(svn_fs_t *fs)
   return SVN_NO_ERROR;
 }
 
+/* Reset vtable and fsap_data fields in FS such that the FS is basically
+ * closed now.  Note that FS must not hold locks when you call this. */
+static svn_error_t *
+uninitialize_fs_struct(svn_fs_t *fs)
+{
+  fs->vtable = NULL;
+  fs->fsap_data = NULL;
+  return SVN_NO_ERROR;
+}
+
 /* This implements the fs_library_vtable_t.create() API.  Create a new
    fsfs-backed Subversion filesystem at path PATH and link it into
    *FS.  Perform temporary allocations in POOL, and fs-global allocations
@@ -413,11 +423,13 @@ fs_hotcopy(svn_fs_t *src_fs,
   if (cancel_func)
     SVN_ERR(cancel_func(cancel_baton));
 
-  /* Provide FFD for DST_FS, test / initialize target repo, remove FFD. */
+  /* Test target repo when in INCREMENTAL mode, initialize it when not.
+   * For this, we need our FS internal data structures to be temporarily
+   * available. */
   SVN_ERR(initialize_fs_struct(dst_fs));
   SVN_ERR(svn_fs_fs__hotcopy_prepare_target(src_fs, dst_fs, dst_path,
                                             incremental, pool));
-  dst_fs->fsap_data = NULL;
+  SVN_ERR(uninitialize_fs_struct(dst_fs));
 
   /* Now, the destination repo should open just fine. */
   SVN_ERR(fs_open(dst_fs, dst_path, common_pool_lock, pool, common_pool));

Modified: subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.h?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.h (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.h Sun Aug 10 10:25:31 2014
@@ -295,13 +295,14 @@ typedef struct fs_fs_data_t
      and is not complete, yet. */
   svn_revnum_t min_log_addressing_rev;
 
-  /* Rev / pack file read granularity. */
+  /* Rev / pack file read granularity in bytes. */
   apr_int64_t block_size;
 
   /* Capacity in entries of log-to-phys index pages */
   apr_int64_t l2p_page_size;
 
-  /* Rev / pack file granularity covered by phys-to-log index pages */
+  /* Rev / pack file granularity (in bytes) covered by a single phys-to-log
+   * index page. */
   apr_int64_t p2l_page_size;
 
   /* If set, parse and cache *all* data of each block that we read

Modified: subversion/branches/authzperf/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs_fs/fs_fs.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs_fs/fs_fs.c Sun Aug 10 10:25:31 2014
@@ -743,15 +743,17 @@ read_config(fs_fs_data_t *ffd,
                                    CONFIG_OPTION_P2L_PAGE_SIZE,
                                    0x400));
 
+      /* convert kBytes to bytes */
       ffd->block_size *= 0x400;
       ffd->p2l_page_size *= 0x400;
+      /* L2P pages are in entries - not in (k)Bytes */
     }
   else
     {
       /* should be irrelevant but we initialize them anyway */
-      ffd->block_size = 0x1000;
-      ffd->l2p_page_size = 0x2000;
-      ffd->p2l_page_size = 0x100000;
+      ffd->block_size = 0x1000; /* Matches default APR file buffer size. */
+      ffd->l2p_page_size = 0x2000;    /* Matches above default. */
+      ffd->p2l_page_size = 0x100000;  /* Matches above default in bytes. */
     }
 
   if (ffd->format >= SVN_FS_FS__MIN_PACKED_FORMAT)
@@ -943,7 +945,7 @@ write_config(svn_fs_t *fs,
 "### may improve latency while still maximizing throughput.  If block-read"  NL
 "### has not been enabled, this will be capped to 4 kBytes."                 NL
 "### Can be changed at any time but must be a power of 2."                   NL
-"### block-size is 64 kBytes by default."                                    NL
+"### block-size is given in kBytes and with a default of 64 kBytes."         NL
 "# " CONFIG_OPTION_BLOCK_SIZE " = 64"                                        NL
 "###"                                                                        NL
 "### The log-to-phys index maps data item numbers to offsets within the"     NL
@@ -976,7 +978,7 @@ write_config(svn_fs_t *fs,
 "### smaller changes."                                                       NL
 "### For source code repositories, this should be about 16x the block-size." NL
 "### Must be a power of 2."                                                  NL
-"### p2l-page-size is 1024 kBytes by default."                               NL
+"### p2l-page-size is given in kBytes and with a default of 1024 kBytes."    NL
 "# " CONFIG_OPTION_P2L_PAGE_SIZE " = 1024"                                   NL
 ;
 #undef NL

Propchange: subversion/branches/authzperf/subversion/libsvn_fs_x/
------------------------------------------------------------------------------
  Merged /subversion/trunk/subversion/libsvn_fs_x:r1615512-1617077

Modified: subversion/branches/authzperf/subversion/libsvn_fs_x/index.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs_x/index.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs_x/index.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs_x/index.c Sun Aug 10 10:25:31 2014
@@ -1638,7 +1638,7 @@ l2p_proto_index_lookup(apr_off_t *offset
       if (!eof && entry.item_index == item_index)
         {
           *offset = (apr_off_t)entry.offset - 1;
-          *sub_item = (apr_off_t)entry.sub_item;
+          *sub_item = entry.sub_item;
           break;
         }
     }

Modified: subversion/branches/authzperf/subversion/libsvn_fs_x/noderevs.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs_x/noderevs.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs_x/noderevs.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs_x/noderevs.c Sun Aug 10 10:25:31 2014
@@ -740,7 +740,7 @@ svn_fs_x__read_noderevs_container(svn_fs
   count
     = svn_packed__int_count(svn_packed__first_int_substream(ids_stream));
   noderevs->ids
-    = apr_array_make(result_pool, count, sizeof(binary_id_t));
+    = apr_array_make(result_pool, (int)count, sizeof(binary_id_t));
   for (i = 0; i < count; ++i)
     {
       binary_id_t id;
@@ -765,7 +765,7 @@ svn_fs_x__read_noderevs_container(svn_fs
   count
     = svn_packed__int_count(svn_packed__first_int_substream(noderevs_stream));
   noderevs->noderevs
-    = apr_array_make(result_pool, count, sizeof(binary_noderev_t));
+    = apr_array_make(result_pool, (int)count, sizeof(binary_noderev_t));
   for (i = 0; i < count; ++i)
     {
       binary_noderev_t noderev;

Modified: subversion/branches/authzperf/subversion/libsvn_fs_x/pack.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs_x/pack.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs_x/pack.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs_x/pack.c Sun Aug 10 10:25:31 2014
@@ -1343,8 +1343,8 @@ write_reps_containers(pack_context_t *co
       SVN_ERR(svn_stream_read_full(stream, contents->data, &contents->len));
       SVN_ERR(svn_stream_close(stream));
 
-      list_index = svn_fs_x__reps_add(container,
-                                svn_stringbuf__morph_into_string(contents));
+      SVN_ERR(svn_fs_x__reps_add(&list_index, container,
+                                 svn_stringbuf__morph_into_string(contents)));
       SVN_ERR_ASSERT(list_index == sub_items->nelts);
       block_left -= entry->size;
 

Modified: subversion/branches/authzperf/subversion/libsvn_fs_x/reps.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs_x/reps.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs_x/reps.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs_x/reps.c Sun Aug 10 10:25:31 2014
@@ -27,6 +27,8 @@
 #include "private/svn_packed_data.h"
 #include "private/svn_temp_serializer.h"
 
+#include "svn_private_config.h"
+
 #include "cached_data.h"
 
 /* Length of the text chunks we hash and match.  The algorithm will find
@@ -38,6 +40,16 @@
  */
 #define MATCH_BLOCKSIZE 64
 
+/* Limit the total text body within a container to 16MB.  Larger values
+ * of up to 2GB are possible but become increasingly impractical as the
+ * container has to be loaded in its entirety before any of it can be read.
+ */
+#define MAX_TEXT_BODY 0x1000000
+
+/* Limit the size of the instructions stream.  This should not exceed the
+ * text body size limit. */
+#define MAX_INSTRUCTIONS (MAX_TEXT_BODY / 8)
+
 /* value of unused hash buckets */
 #define NO_OFFSET ((apr_uint32_t)(-1))
 
@@ -398,15 +410,17 @@ svn_fs_x__reps_add_base(svn_fs_x__reps_b
 
   svn_stream_t *stream;
   svn_string_t *contents;
+  apr_size_t idx;
   SVN_ERR(svn_fs_x__get_contents(&stream, builder->fs, rep, FALSE,
                                  scratch_pool));
   SVN_ERR(svn_string_from_stream(&contents, stream, scratch_pool,
                                  scratch_pool));
+  SVN_ERR(svn_fs_x__reps_add(&idx, builder, contents));
 
   base.revision = svn_fs_x__get_revnum(rep->id.change_set);
   base.item_index = rep->id.number;
   base.priority = priority;
-  base.rep = (apr_uint32_t)svn_fs_x__reps_add(builder, contents);
+  base.rep = (apr_uint32_t)idx;
 
   APR_ARRAY_PUSH(builder->bases, base_t) = base;
   builder->base_text_len += builder->text->len - text_start_offset;
@@ -430,8 +444,8 @@ add_new_text(svn_fs_x__reps_builder_t *b
     return;
 
   /* new instruction */
-  instruction.offset = builder->text->len;
-  instruction.count = len;
+  instruction.offset = (apr_int32_t)builder->text->len;
+  instruction.count = (apr_uint32_t)len;
   APR_ARRAY_PUSH(builder->instructions, instruction_t) = instruction;
 
   /* add to text corpus */
@@ -457,13 +471,14 @@ add_new_text(svn_fs_x__reps_builder_t *b
       else if (builder->hash.offsets[idx] >= instruction.offset)
         continue;
 
-      builder->hash.offsets[idx] = offset;
+      builder->hash.offsets[idx] = (apr_uint32_t)offset;
       builder->hash.prefixes[idx] = builder->text->data[offset];
     }
 }
 
-apr_size_t
-svn_fs_x__reps_add(svn_fs_x__reps_builder_t *builder,
+svn_error_t *
+svn_fs_x__reps_add(apr_size_t *rep_idx,
+                   svn_fs_x__reps_builder_t *builder,
                    const svn_string_t *contents)
 {
   rep_t rep;
@@ -472,8 +487,16 @@ svn_fs_x__reps_add(svn_fs_x__reps_builde
   const char *end = current + contents->len;
   const char *last_to_test = end - MATCH_BLOCKSIZE - 1;
 
-  rep.first_instruction = (apr_uint32_t)builder->instructions->nelts;
+  if (builder->text->len + contents->len > MAX_TEXT_BODY)
+    return svn_error_create(SVN_ERR_FS_CONTAINER_SIZE, NULL,
+                      _("Text body exceeds star delta container capacity"));
+
+  if (  builder->instructions->nelts + 2 * contents->len / MATCH_BLOCKSIZE
+      > MAX_INSTRUCTIONS)
+    return svn_error_create(SVN_ERR_FS_CONTAINER_SIZE, NULL,
+              _("Instruction count exceeds star delta container capacity"));
 
+  rep.first_instruction = (apr_uint32_t)builder->instructions->nelts;
   while (current < last_to_test)
     {
       hash_key_t key = hash_key(current);
@@ -501,7 +524,7 @@ svn_fs_x__reps_add(svn_fs_x__reps_builde
       if (current < last_to_test)
         {
           instruction_t instruction;
-          
+
           /* extend the match */
 
           size_t prefix_match
@@ -522,8 +545,9 @@ svn_fs_x__reps_add(svn_fs_x__reps_builde
 
           /* add instruction for matching section */
 
-          instruction.offset = offset - prefix_match;
-          instruction.count = prefix_match + postfix_match + MATCH_BLOCKSIZE;
+          instruction.offset = (apr_int32_t)(offset - prefix_match);
+          instruction.count = (apr_uint32_t)(prefix_match + postfix_match +
+                                             MATCH_BLOCKSIZE);
           APR_ARRAY_PUSH(builder->instructions, instruction_t) = instruction;
 
           processed = current + MATCH_BLOCKSIZE + postfix_match;
@@ -536,7 +560,8 @@ svn_fs_x__reps_add(svn_fs_x__reps_builde
                         - rep.first_instruction;
   APR_ARRAY_PUSH(builder->reps, rep_t) = rep;
 
-  return (apr_size_t)(builder->reps->nelts - 1);
+  *rep_idx = (apr_size_t)(builder->reps->nelts - 1);
+  return SVN_NO_ERROR;
 }
 
 apr_size_t
@@ -594,7 +619,7 @@ get_text(svn_fs_x__rep_extractor_t *extr
         /* a section that we need to fill from some external base rep. */
         missing_t missing;
         missing.base = 0;
-        missing.start = extractor->result->len;
+        missing.start = (apr_uint32_t)extractor->result->len;
         missing.count = instruction->count;
         missing.offset = instruction->offset;
         svn_stringbuf_appendfill(extractor->result, 0, instruction->count);
@@ -812,7 +837,7 @@ svn_fs_x__read_reps_container(svn_fs_x__
   for (i = 0; i < reps->rep_count; ++i)
     first_instructions[i]
       = (apr_uint32_t)svn_packed__get_uint(reps_stream);
-  first_instructions[reps->rep_count] = reps->instruction_count;
+  first_instructions[reps->rep_count] = (apr_uint32_t)reps->instruction_count;
 
   /* other elements */
   reps->base_text_len = (apr_size_t)svn_packed__get_uint(misc_stream);

Modified: subversion/branches/authzperf/subversion/libsvn_fs_x/reps.h
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_fs_x/reps.h?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_fs_x/reps.h (original)
+++ subversion/branches/authzperf/subversion/libsvn_fs_x/reps.h Sun Aug 10 10:25:31 2014
@@ -96,10 +96,11 @@ svn_fs_x__reps_add_base(svn_fs_x__reps_b
                         apr_pool_t *scratch_pool);
 
 /* Add the byte string CONTENTS to BUILDER.  Return the item index under
- * which the fulltext can be retrieved from the final container.
+ * which the fulltext can be retrieved from the final container in *REP_IDX.
  */
-apr_size_t
-svn_fs_x__reps_add(svn_fs_x__reps_builder_t *builder,
+svn_error_t *
+svn_fs_x__reps_add(apr_size_t *rep_idx,
+                   svn_fs_x__reps_builder_t *builder,
                    const svn_string_t *contents);
 
 /* Return a rough estimate in bytes for the serialized representation

Modified: subversion/branches/authzperf/subversion/libsvn_ra_serf/ra_serf.h
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_ra_serf/ra_serf.h?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_ra_serf/ra_serf.h (original)
+++ subversion/branches/authzperf/subversion/libsvn_ra_serf/ra_serf.h Sun Aug 10 10:25:31 2014
@@ -54,9 +54,6 @@ extern "C" {
 #error Please update your version of serf to at least 1.2.1.
 #endif
 
-/** Use this to silence compiler warnings about unused parameters. */
-#define UNUSED_CTX(x) ((void)(x))
-
 /** Wait duration (in microseconds) used in calls to serf_context_run() */
 #define SVN_RA_SERF__CONTEXT_RUN_DURATION 500000
 

Modified: subversion/branches/authzperf/subversion/libsvn_repos/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_repos/deprecated.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_repos/deprecated.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_repos/deprecated.c Sun Aug 10 10:25:31 2014
@@ -227,6 +227,30 @@ svn_repos_upgrade(const char *path,
   return svn_repos_upgrade2(path, nonblocking, recovery_started, &rb, pool);
 }
 
+svn_error_t *
+svn_repos_hotcopy2(const char *src_path,
+                   const char *dst_path,
+                   svn_boolean_t clean_logs,
+                   svn_boolean_t incremental,
+                   svn_cancel_func_t cancel_func,
+                   void *cancel_baton,
+                   apr_pool_t *pool)
+{
+  return svn_error_trace(svn_repos_hotcopy3(src_path, dst_path, clean_logs,
+                                            incremental, NULL, NULL,
+                                            cancel_func, cancel_baton, pool));
+}
+
+svn_error_t *
+svn_repos_hotcopy(const char *src_path,
+                  const char *dst_path,
+                  svn_boolean_t clean_logs,
+                  apr_pool_t *pool)
+{
+  return svn_error_trace(svn_repos_hotcopy2(src_path, dst_path, clean_logs,
+                                            FALSE, NULL, NULL, pool));
+}
+
 /*** From reporter.c ***/
 svn_error_t *
 svn_repos_begin_report(void **report_baton,

Modified: subversion/branches/authzperf/subversion/libsvn_repos/load-fs-vtable.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_repos/load-fs-vtable.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_repos/load-fs-vtable.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_repos/load-fs-vtable.c Sun Aug 10 10:25:31 2014
@@ -62,7 +62,7 @@ struct parse_baton
   const char *parent_dir; /* repository relpath, or NULL */
   svn_repos_notify_func_t notify_func;
   void *notify_baton;
-  svn_repos_notify_t *notify;
+  apr_pool_t *notify_pool; /* scratch pool for notifications */
   apr_pool_t *pool;
 
   /* Start and end (inclusive) of revision range we'll pay attention
@@ -503,9 +503,14 @@ new_revision_record(void **revision_bato
 
       if (pb->notify_func)
         {
-          pb->notify->action = svn_repos_notify_load_txn_start;
-          pb->notify->old_revision = rb->rev;
-          pb->notify_func(pb->notify_baton, pb->notify, rb->pool);
+          /* ### TODO: Use proper scratch pool instead of pb->notify_pool */
+          svn_repos_notify_t *notify = svn_repos_notify_create(
+                                            svn_repos_notify_load_txn_start,
+                                            pb->notify_pool);
+
+          notify->old_revision = rb->rev;
+          pb->notify_func(pb->notify_baton, notify, pb->notify_pool);
+          svn_pool_clear(pb->notify_pool);
         }
 
       /* Stash the oldest "old" revision committed from the load stream. */
@@ -516,9 +521,14 @@ new_revision_record(void **revision_bato
   /* If we're skipping this revision, try to notify someone. */
   if (rb->skipped && pb->notify_func)
     {
-      pb->notify->action = svn_repos_notify_load_skipped_rev;
-      pb->notify->old_revision = rb->rev;
-      pb->notify_func(pb->notify_baton, pb->notify, rb->pool);
+      /* ### TODO: Use proper scratch pool instead of pb->notify_pool */
+      svn_repos_notify_t *notify = svn_repos_notify_create(
+                                        svn_repos_notify_load_skipped_rev,
+                                        pb->notify_pool);
+
+      notify->old_revision = rb->rev;
+      pb->notify_func(pb->notify_baton, notify, pb->notify_pool);
+      svn_pool_clear(pb->notify_pool);
     }
 
   /* If we're parsing revision 0, only the revision props are (possibly)
@@ -587,8 +597,13 @@ maybe_add_with_history(struct node_baton
 
       if (pb->notify_func)
         {
-          pb->notify->action = svn_repos_notify_load_copied_node;
-          pb->notify_func(pb->notify_baton, pb->notify, rb->pool);
+          /* ### TODO: Use proper scratch pool instead of pb->notify_pool */
+          svn_repos_notify_t *notify = svn_repos_notify_create(
+                                            svn_repos_notify_load_copied_node,
+                                            pb->notify_pool);
+
+          pb->notify_func(pb->notify_baton, notify, pb->notify_pool);
+          svn_pool_clear(pb->notify_pool);
         }
     }
 
@@ -657,10 +672,14 @@ new_node_record(void **node_baton,
 
   if (pb->notify_func)
     {
-      pb->notify->action = svn_repos_notify_load_node_start;
-      pb->notify->node_action = nb->action;
-      pb->notify->path = nb->path;
-      pb->notify_func(pb->notify_baton, pb->notify, rb->pool);
+      /* ### TODO: Use proper scratch pool instead of pb->notify_pool */
+      svn_repos_notify_t *notify = svn_repos_notify_create(
+                                        svn_repos_notify_load_node_start,
+                                        pb->notify_pool);
+
+      notify->path = nb->path;
+      pb->notify_func(pb->notify_baton, notify, pb->notify_pool);
+      svn_pool_clear(pb->notify_pool);
     }
 
   switch (nb->action)
@@ -773,8 +792,14 @@ set_node_property(void *baton,
 
           if (pb->notify_func)
             {
-              pb->notify->action = svn_repos_notify_load_normalized_mergeinfo;
-              pb->notify_func(pb->notify_baton, pb->notify, nb->pool);
+              /* ### TODO: Use proper scratch pool instead of pb->notify_pool */
+              svn_repos_notify_t *notify
+                      = svn_repos_notify_create(
+                                    svn_repos_notify_load_normalized_mergeinfo,
+                                    pb->notify_pool);
+
+              pb->notify_func(pb->notify_baton, notify, pb->notify_pool);
+              svn_pool_clear(pb->notify_pool);
             }
         }
 
@@ -901,8 +926,13 @@ close_node(void *baton)
 
   if (pb->notify_func)
     {
-      pb->notify->action = svn_repos_notify_load_node_done;
-      pb->notify_func(pb->notify_baton, pb->notify, rb->pool);
+      /* ### TODO: Use proper scratch pool instead of pb->notify_pool */
+      svn_repos_notify_t *notify = svn_repos_notify_create(
+                                            svn_repos_notify_load_node_done,
+                                            pb->notify_pool);
+
+      pb->notify_func(pb->notify_baton, notify, pb->notify_pool);
+      svn_pool_clear(pb->notify_pool);
     }
 
   return SVN_NO_ERROR;
@@ -1029,12 +1059,17 @@ close_revision(void *baton)
 
   if (pb->notify_func)
     {
-      pb->notify->action = svn_repos_notify_load_txn_committed;
-      pb->notify->new_revision = committed_rev;
-      pb->notify->old_revision = ((committed_rev == rb->rev)
+      /* ### TODO: Use proper scratch pool instead of pb->notify_pool */
+      svn_repos_notify_t *notify = svn_repos_notify_create(
+                                        svn_repos_notify_load_txn_committed,
+                                        pb->notify_pool);
+
+      notify->new_revision = committed_rev;
+      notify->old_revision = ((committed_rev == rb->rev)
                                     ? SVN_INVALID_REVNUM
                                     : rb->rev);
-      pb->notify_func(pb->notify_baton, pb->notify, rb->pool);
+      pb->notify_func(pb->notify_baton, notify, pb->notify_pool);
+      svn_pool_clear(pb->notify_pool);
     }
 
   return SVN_NO_ERROR;
@@ -1092,10 +1127,10 @@ svn_repos_get_fs_build_parser4(const svn
   pb->validate_props = validate_props;
   pb->notify_func = notify_func;
   pb->notify_baton = notify_baton;
-  pb->notify = svn_repos_notify_create(svn_repos_notify_load_txn_start, pool);
   pb->uuid_action = uuid_action;
   pb->parent_dir = parent_dir;
   pb->pool = pool;
+  pb->notify_pool = svn_pool_create(pool);
   pb->rev_map = apr_hash_make(pool);
   pb->oldest_old_rev = SVN_INVALID_REVNUM;
   pb->last_rev_mapped = SVN_INVALID_REVNUM;

Modified: subversion/branches/authzperf/subversion/libsvn_repos/repos.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_repos/repos.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_repos/repos.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_repos/repos.c Sun Aug 10 10:25:31 2014
@@ -2247,30 +2247,6 @@ svn_repos_hotcopy3(const char *src_path,
            dst_repos->format, pool);
 }
 
-svn_error_t *
-svn_repos_hotcopy2(const char *src_path,
-                   const char *dst_path,
-                   svn_boolean_t clean_logs,
-                   svn_boolean_t incremental,
-                   svn_cancel_func_t cancel_func,
-                   void *cancel_baton,
-                   apr_pool_t *pool)
-{
-  return svn_error_trace(svn_repos_hotcopy3(src_path, dst_path, clean_logs,
-                                            incremental, NULL, NULL,
-                                            cancel_func, cancel_baton, pool));
-}
-
-svn_error_t *
-svn_repos_hotcopy(const char *src_path,
-                  const char *dst_path,
-                  svn_boolean_t clean_logs,
-                  apr_pool_t *pool)
-{
-  return svn_error_trace(svn_repos_hotcopy2(src_path, dst_path, clean_logs,
-                                            FALSE, NULL, NULL, pool));
-}
-
 /* Return the library version number. */
 const svn_version_t *
 svn_repos_version(void)

Modified: subversion/branches/authzperf/subversion/libsvn_subr/cache-memcache.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_subr/cache-memcache.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_subr/cache-memcache.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_subr/cache-memcache.c Sun Aug 10 10:25:31 2014
@@ -367,7 +367,7 @@ memcache_iter(svn_boolean_t *completed,
 static svn_boolean_t
 memcache_is_cachable(void *unused, apr_size_t size)
 {
-  (void)unused;  /* silence gcc warning. */
+  SVN_UNUSED(unused);
 
   /* The memcached cutoff seems to be a bit (header length?) under a megabyte.
    * We round down a little to be safe.

Modified: subversion/branches/authzperf/subversion/libsvn_subr/error.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_subr/error.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_subr/error.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_subr/error.c Sun Aug 10 10:25:31 2014
@@ -85,34 +85,15 @@ svn_error__locate(const char *file, long
 
 /* Cleanup function for errors.  svn_error_clear () removes this so
    errors that are properly handled *don't* hit this code. */
-#if defined(SVN_DEBUG)
-/* GCC >= 4.6 has support for diagnostic pragmas that let us
- * turn off warnings.  clang also supports the same pragmas */
-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) \
-     || defined(__clang__))
-  #define IGNORING_UNUSED_WARNING
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wunused-variable"
-#endif /* supports diagnostic pragmas */
 static apr_status_t err_abort(void *data)
 {
   svn_error_t *err = data;  /* For easy viewing in a debugger */
-#ifndef IGNORING_UNUSED_WARNING
-  /* Fake a use for the variable to avoid compiler warnings if we can't turn
-   * them off via pragmas. */
-  err = err;
-#endif /* IGNORING_UNUSED_WARNING */
+  SVN_UNUSED(err);
 
   if (!getenv("SVN_DBG_NO_ABORT_ON_ERROR_LEAK"))
     abort();
   return APR_SUCCESS;
 }
-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) \
-     || defined(__clang__))
-  #undef IGNORING_UNUSED_WARNING
-  #pragma GCC diagnostic pop
-#endif /* supports diagnostic pragmas */
-#endif
 
 
 static svn_error_t *

Modified: subversion/branches/authzperf/subversion/libsvn_subr/sqlite.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_subr/sqlite.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_subr/sqlite.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_subr/sqlite.c Sun Aug 10 10:25:31 2014
@@ -934,7 +934,7 @@ close_apr(void *data)
             {
 #ifdef SVN_DEBUG
               const char *stmt_text = db->statement_strings[i];
-              stmt_text = stmt_text; /* Provide value for debugger */
+              SVN_UNUSED(stmt_text);
 
               SVN_ERR_MALFUNCTION_NO_RETURN();
 #else

Modified: subversion/branches/authzperf/subversion/libsvn_subr/utf8proc.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_subr/utf8proc.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_subr/utf8proc.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_subr/utf8proc.c Sun Aug 10 10:25:31 2014
@@ -28,7 +28,6 @@
 #include "private/svn_string_private.h"
 #include "private/svn_utf_private.h"
 #include "svn_private_config.h"
-#define UNUSED(x) ((void)(x))
 
 #define UTF8PROC_INLINE
 /* Somehow utf8proc thinks it is nice to use strlen as an argument name,
@@ -41,10 +40,10 @@
 const char *svn_utf__utf8proc_version(void)
 {
   /* Unused static function warning removal hack. */
-  UNUSED(utf8proc_NFD);
-  UNUSED(utf8proc_NFC);
-  UNUSED(utf8proc_NFKD);
-  UNUSED(utf8proc_NFKC);
+  SVN_UNUSED(utf8proc_NFD);
+  SVN_UNUSED(utf8proc_NFC);
+  SVN_UNUSED(utf8proc_NFKD);
+  SVN_UNUSED(utf8proc_NFKC);
 
   return utf8proc_version();
 }

Modified: subversion/branches/authzperf/subversion/libsvn_subr/win32_xlate.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_subr/win32_xlate.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_subr/win32_xlate.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_subr/win32_xlate.c Sun Aug 10 10:25:31 2014
@@ -116,7 +116,17 @@ get_page_id_from_name(UINT *page_id_p, c
   if ((page_name[0] == 'c' || page_name[0] == 'C')
       && (page_name[1] == 'p' || page_name[1] == 'P'))
     {
-      *page_id_p = atoi(page_name + 2);
+      int page_id;
+
+      err = svn_cstring_atoi(&page_id, page_name + 2);
+      if (err)
+        {
+          apr_status_t saved = err->apr_err;
+          svn_error_clear(err);
+          return saved;
+        }
+
+      *page_id_p = page_id;
       return APR_SUCCESS;
     }
 

Modified: subversion/branches/authzperf/subversion/libsvn_wc/workqueue.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/libsvn_wc/workqueue.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/branches/authzperf/subversion/libsvn_wc/workqueue.c Sun Aug 10 10:25:31 2014
@@ -1489,8 +1489,11 @@ svn_wc__wq_run(svn_wc__db_t *db,
   {
     static int count = 0;
     const char *count_env_var = getenv("SVN_DEBUG_WORK_QUEUE");
+    int count_env_val;
 
-    if (count_env_var && ++count == atoi(count_env_var))
+    SVN_ERR(svn_cstring_atoi(&count_env_val, count_env_var));
+
+    if (count_env_var && ++count == count_env_val)
       return svn_error_create(SVN_ERR_CANCELLED, NULL, "fake cancel");
   }
 #endif

Modified: subversion/branches/authzperf/subversion/svn_private_config.hw
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/svn_private_config.hw?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/svn_private_config.hw (original)
+++ subversion/branches/authzperf/subversion/svn_private_config.hw Sun Aug 10 10:25:31 2014
@@ -118,6 +118,10 @@
 #define SVN__PREDICT_TRUE(x)  (x)
 #define SVN__PREDICT_FALSE(x)  (x)
 
+/* Macro used to specify that a variable is intentionally left unused.
+   Supresses compiler warnings about the variable being unused.  */
+#define SVN_UNUSED(v) ( (void)(v) )
+
 #endif /* SVN_PRIVATE_CONFIG_HW */
 
 /* Inclusion of Berkeley DB header */

Modified: subversion/branches/authzperf/subversion/tests/cmdline/svnadmin_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/tests/cmdline/svnadmin_tests.py?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/tests/cmdline/svnadmin_tests.py (original)
+++ subversion/branches/authzperf/subversion/tests/cmdline/svnadmin_tests.py Sun Aug 10 10:25:31 2014
@@ -213,6 +213,24 @@ def get_txns(repo_dir):
 
   return txns
 
+def write_sharded_format(repo_dir, shards):
+  """Rewrite the format of the FSFS or FSX repository REPO_DIR so
+  that it would use sharding with SHARDS revisions per shard."""
+
+  format_path = os.path.join(repo_dir, "db", "format")
+  contents = open(format_path, 'rb').read()
+  processed_lines = []
+
+  for line in contents.split("\n"):
+    if line.startswith("layout "):
+      processed_lines.append("layout sharded %d" % shards)
+    else:
+      processed_lines.append(line)
+
+  new_contents = "\n".join(processed_lines)
+  os.chmod(format_path, 0666)
+  open(format_path, 'wb').write(new_contents)
+
 def load_and_verify_dumpstream(sbox, expected_stdout, expected_stderr,
                                revs, check_props, dump, *varargs):
   """Load the array of lines passed in DUMP into the current tests'
@@ -1830,24 +1848,21 @@ def hotcopy_incremental(sbox):
 @SkipUnless(svntest.main.fs_has_pack)
 def hotcopy_incremental_packed(sbox):
   "'svnadmin hotcopy --incremental' with packing"
+
+  # Configure two files per shard to trigger packing.
   sbox.build()
+  write_sharded_format(sbox.repo_dir, 2)
 
   backup_dir, backup_url = sbox.add_repo_path('backup')
   os.mkdir(backup_dir)
   cwd = os.getcwd()
 
-  # Configure two files per shard to trigger packing
-  format_file = open(os.path.join(sbox.repo_dir, 'db', 'format'), 'wb')
-  if svntest.main.options.server_minor_version >= 9:
-    format_file.write("7\nlayout sharded 2\naddressing logical 0\n")
-  else:
-    format_file.write("6\nlayout sharded 2\n")
-  format_file.close()
-
-  # Pack revisions 0 and 1.
-  svntest.actions.run_and_verify_svnadmin(
-    None, ['Packing revisions in shard 0...done.\n'], [], "pack",
-    os.path.join(cwd, sbox.repo_dir))
+  # Pack revisions 0 and 1 if not already packed.
+  if not (svntest.main.is_fs_type_fsfs and svntest.main.options.fsfs_packing
+          and svntest.main.options.fsfs_sharding == 2):
+    svntest.actions.run_and_verify_svnadmin(
+      None, ['Packing revisions in shard 0...done.\n'], [], "pack",
+      os.path.join(cwd, sbox.repo_dir))
 
   # Commit 5 more revs, hotcopy and pack after each commit.
   for i in [1, 2, 3, 4, 5]:
@@ -1863,7 +1878,8 @@ def hotcopy_incremental_packed(sbox):
     if i < 5:
       sbox.simple_mkdir("newdir-%i" % i)
       sbox.simple_commit()
-      if not i % 2:
+      if (svntest.main.is_fs_type_fsfs and not svntest.main.options.fsfs_packing
+          and not i % 2):
         expected_output = ['Packing revisions in shard %d...done.\n' % (i/2)]
       else:
         expected_output = []
@@ -2483,23 +2499,10 @@ def fsfs_hotcopy_old_with_id_changes(sbo
 @SkipUnless(svntest.main.fs_has_pack)
 def verify_packed(sbox):
   "verify packed with small shards"
-  sbox.build()
 
   # Configure two files per shard to trigger packing.
-  if svntest.main.is_fs_type_fsx():
-    format = "1\nlayout sharded 2\n"
-  elif svntest.main.is_fs_type_fsfs and \
-       svntest.main.options.server_minor_version >= 9:
-    format = "7\nlayout sharded 2\naddressing logical 0\n"
-  elif svntest.main.is_fs_type_fsfs and \
-       svntest.main.options.server_minor_version < 9:
-    format = "6\nlayout sharded 2\n"
-  else:
-    raise svntest.Failure
-
-  format_file = open(os.path.join(sbox.repo_dir, 'db', 'format'), 'wb')
-  format_file.write(format)
-  format_file.close()
+  sbox.build()
+  write_sharded_format(sbox.repo_dir, 2)
 
   # Play with our greek tree.  These changesets fall into two
   # separate shards with r2 and r3 being in shard 1 ...
@@ -2562,7 +2565,7 @@ def verify_packed(sbox):
 def freeze_freeze(sbox):
   "svnadmin freeze svnadmin freeze (some-cmd)"
 
-  sbox.build(read_only=True) # need working copy as location for arg-file
+  sbox.build(create_wc=False, read_only=True)
   second_repo_dir, _ = sbox.add_repo_path('backup')
   svntest.actions.run_and_verify_svnadmin(None, None, [], "hotcopy",
                                           sbox.repo_dir, second_repo_dir)
@@ -2574,7 +2577,7 @@ def freeze_freeze(sbox):
                  svntest.main.svnadmin_binary, 'freeze', '--', second_repo_dir,
                  sys.executable, '-c', 'True')
 
-  arg_file = sbox.ospath('arg-file')
+  arg_file = sbox.get_tempname()
   svntest.main.file_write(arg_file,
                           "%s\n%s\n" % (sbox.repo_dir, second_repo_dir))
 
@@ -2659,17 +2662,7 @@ def fsfs_hotcopy_progress(sbox):
   sbox.build(create_wc=False)
   svntest.main.safe_rmtree(sbox.repo_dir, True)
   svntest.main.create_repos(sbox.repo_dir)
-
-  if svntest.main.options.server_minor_version >= 9:
-    format = "7\nlayout sharded 3\naddressing logical 0\n"
-  elif svntest.main.options.server_minor_version < 9:
-    format = "6\nlayout sharded 3\n"
-  else:
-    raise svntest.Failure
-
-  format_file = open(os.path.join(sbox.repo_dir, 'db', 'format'), 'wb')
-  format_file.write(format)
-  format_file.close()
+  write_sharded_format(sbox.repo_dir, 3)
 
   inc_backup_dir, inc_backup_url = sbox.add_repo_path('incremental-backup')
 

Modified: subversion/branches/authzperf/subversion/tests/cmdline/svntest/main.py
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/tests/cmdline/svntest/main.py?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/branches/authzperf/subversion/tests/cmdline/svntest/main.py Sun Aug 10 10:25:31 2014
@@ -1011,7 +1011,7 @@ def create_repos(path, minor_version = N
     # post-commit
     # Note that some tests (currently only commit_tests) create their own
     # post-commit hooks, which would override this one. :-(
-    if options.fsfs_packing:
+    if options.fsfs_packing and minor_version >=6:
       # some tests chdir.
       abs_path = os.path.abspath(path)
       create_python_hook_script(get_post_commit_hook_path(abs_path),
@@ -1508,6 +1508,10 @@ class TestSpawningThread(threading.Threa
       args.append('--exclusive-wc-locks')
     if options.memcached_server:
       args.append('--memcached-server=' + options.memcached_server)
+    if options.fsfs_sharding:
+      args.append('--fsfs-sharding=' + str(options.fsfs_sharding))
+    if options.fsfs_packing:
+      args.append('--fsfs-packing')
 
     result, stdout_lines, stderr_lines = spawn_process(command, 0, False, None,
                                                        *args)

Modified: subversion/branches/authzperf/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c (original)
+++ subversion/branches/authzperf/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c Sun Aug 10 10:25:31 2014
@@ -1139,9 +1139,9 @@ recursive_locking(const svn_test_opts_t 
   svn_fs_t *fs;
 
   /* Bail (with success) on known-untestable scenarios */
-  if (strcmp(opts->fs_type, "bdb") == 0)
+  if (strcmp(opts->fs_type, "fsfs") != 0)
     return svn_error_create(SVN_ERR_TEST_SKIPPED, NULL,
-                            "BDB won't test for recursive locks");
+                            "this will test FSFS repositories only");
 
   SVN_ERR(svn_test__create_fs(&fs, REPO_NAME, opts, pool));
   SVN_ERR(svn_fs_fs__with_all_locks(fs, lock_again, fs, pool));

Propchange: subversion/branches/authzperf/subversion/tests/libsvn_fs_x/
------------------------------------------------------------------------------
  Merged /subversion/trunk/subversion/tests/libsvn_fs_x:r1613053-1617077

Modified: subversion/branches/authzperf/subversion/tests/libsvn_fs_x/fs-x-pack-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/tests/libsvn_fs_x/fs-x-pack-test.c?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/tests/libsvn_fs_x/fs-x-pack-test.c (original)
+++ subversion/branches/authzperf/subversion/tests/libsvn_fs_x/fs-x-pack-test.c Sun Aug 10 10:25:31 2014
@@ -814,11 +814,12 @@ test_reps(const svn_test_opts_t *opts,
   builder = svn_fs_x__reps_builder_create(fs, pool);
   for (i = 10000; i > 10; --i)
     {
+      apr_size_t idx;
       svn_string_t string;
       string.data = contents->data;
       string.len = i;
 
-      svn_fs_x__reps_add(builder, &string);
+      SVN_ERR(svn_fs_x__reps_add(&idx, builder, &string));
     }
 
   serialized = svn_stringbuf_create_empty(pool);

Modified: subversion/branches/authzperf/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd (original)
+++ subversion/branches/authzperf/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd Sun Aug 10 10:25:31 2014
@@ -28,10 +28,10 @@ PUSHD ..\deps
 ECHO Checking dependencies in %CD%
 
 IF NOT EXIST "imports\" (
-    svn co --username guest --password "" https://ctf.open.collab.net/svn/repos/sharpsvn/trunk/imports imports
+    svn co https://ctf.open.collab.net/svn/repos/sharpsvn/trunk/imports imports --username guest --password ""
 )
 IF NOT EXIST build\imports.done (
-    svn up imports
+    svn up imports --username guest --password ""
     copy /y imports\dev-default.build default.build
     nant prep-dev %NANTARGS%
     IF ERRORLEVEL 1 (

Modified: subversion/branches/authzperf/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/tools/dev/unix-build/Makefile.svn?rev=1617086&r1=1617085&r2=1617086&view=diff
==============================================================================
--- subversion/branches/authzperf/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/authzperf/tools/dev/unix-build/Makefile.svn Sun Aug 10 10:25:31 2014
@@ -68,24 +68,23 @@ OBJDIR		= $(PWD)/objdir
 
 BDB_MAJOR_VER	= 4.7
 BDB_VER		= $(BDB_MAJOR_VER).25
-APR_VER		= 1.5.0
+APR_VER		= 1.5.1
 APR_ICONV_VER	= 1.2.1
 GNU_ICONV_VER	= 1.14
 APR_UTIL_VER	= 1.5.3
 HTTPD_VER	= 2.2.27
-NEON_VER	= 0.29.6
+NEON_VER	= 0.30.0
 SERF_VER	= 1.3.6
 SERF_OLD_VER	= 0.3.1
 CYRUS_SASL_VER	= 2.1.25
-SQLITE_VER	= 3080403
-LIBMAGIC_VER	= 5.17
+SQLITE_VER	= 3080500
+LIBMAGIC_VER	= 5.19
 RUBY_VER	= 1.8.7-p358
 BZ2_VER	= 1.0.6
-PYTHON_VER	= 2.7.3
+PYTHON_VER	= 2.7.8
 JUNIT_VER	= 4.10
 GETTEXT_VER	= 0.18.3.1
 
-APR_1_5_PATCH	= apr-1.5.0-out-of-tree-build.patch
 BDB_DIST	= db-$(BDB_VER).tar.gz
 APR_ICONV_DIST	= apr-iconv-$(APR_ICONV_VER).tar.gz
 GNU_ICONV_DIST	= libiconv-$(GNU_ICONV_VER).tar.gz
@@ -100,6 +99,33 @@ PYTHON_DIST	= Python-$(PYTHON_VER).tgz
 JUNIT_DIST	= junit-${JUNIT_VER}.jar
 GETTEXT_DIST	= gettext-$(GETTEXT_VER).tar.gz
 
+SHA256_${BDB_DIST} = f14fd96dd38915a1d63dcb94a63fbb8092334ceba6b5060760427096f631263e
+SHA256_${APR_ICONV_DIST} = 19381959d50c4a5f3b9c84d594a5f9ffb3809786919b3058281f4c87e1f4b245
+SHA256_${GNU_ICONV_DIST} = 72b24ded17d687193c3366d0ebe7cde1e6b18f0df8c55438ac95be39e8a30613
+SHA256_${HTTPD_DIST} = 205973ded6ca55c056ce9c84d73ab708f7829f330193bd39b651463b8d4f8147
+SHA256_${NEON_DIST} = 2962cfcb5d30f3272e3d2fa0e473434419770a3801afe3d46e5d1650787990c2
+SHA256_${CYRUS_SASL_DIST} = 418c16e6240a4f9b637cbe3d62937b9675627bad27c622191d47de8686fe24fe
+SHA256_${SQLITE_DIST} = 98c33abe4106e508e73fda648b2657ac9e969fe24695f543dcde68cc71f3091b
+SHA256_${LIBMAGIC_DIST} = 9484b3bbda1acc7b13a4f71031a85ce10c77bd0ffec7226741a219ef587e3a7c
+SHA256_${RUBY_DIST} = 9e0856d58830e08f1e38233947d859898ae09d4780cb1a502108e41308de33cb
+SHA256_${BZ2_DIST} = a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd
+SHA256_${PYTHON_DIST} = 74d70b914da4487aa1d97222b29e9554d042f825f26cb2b93abd20fdda56b557
+SHA256_${JUNIT_DIST} = 36a747ca1e0b86f6ea88055b8723bb87030d627766da6288bf077afdeeb0f75a
+SHA256_${GETTEXT_DIST} = 0d8f9a33531b77776b3dc473e7940019ca19bfca5b4c06db6e96065eeb07245d
+
+define do_check_sha256
+if [ -x /bin/sha256 ]; then \
+	(cd $(DISTDIR) && \
+		echo "SHA256 (${1}) = ${SHA256_${1}}" | /bin/sha256 -C /dev/stdin "${1}"); \
+elif [ -x /usr/bin/sha256sum ]; then \
+	(cd $(DISTDIR) && \
+		echo "${SHA256_${1}} ${1}" | /usr/bin/sha256sum --quiet --check); \
+else \
+	echo "Error: No tool found to verify checksum"; \
+	false; \
+fi
+endef
+
 DISTFILES	= $(DISTDIR)/$(NEON_DIST) \
 		$(DISTDIR)/$(SERF_DIST) \
 		$(DISTDIR)/$(SQLITE_DIST) \
@@ -118,24 +144,23 @@ FETCH_CMD	= wget -c
 
 SUBVERSION_REPOS_URL = https://svn.apache.org/repos/asf/subversion
 BDB_URL		= http://download.oracle.com/berkeley-db/$(BDB_DIST)
-APR_URL		= http://svn.apache.org/repos/asf/apr/apr
-APR_PATCHES_URL	= http://www.apache.org/dist/apr/patches
-APR_ICONV_URL	= http://www.apache.org/dist/apr/$(APR_ICONV_DIST)
-GNU_ICONV_URL	= http://ftp.gnu.org/pub/gnu/libiconv/$(GNU_ICONV_DIST)
-APR_UTIL_URL	= http://svn.apache.org/repos/asf/apr/apr-util
-HTTPD_URL	= http://archive.apache.org/dist/httpd/$(HTTPD_DIST)
+APR_URL		= https://svn.apache.org/repos/asf/apr/apr
+APR_ICONV_URL	= https://www.apache.org/dist/apr/$(APR_ICONV_DIST)
+GNU_ICONV_URL	= https://ftp.gnu.org/pub/gnu/libiconv/$(GNU_ICONV_DIST)
+APR_UTIL_URL	= https://svn.apache.org/repos/asf/apr/apr-util
+HTTPD_URL	= https://archive.apache.org/dist/httpd/$(HTTPD_DIST)
 NEON_URL	= http://webdav.org/neon/$(NEON_DIST)
 #SERF_URL	= http://serf.googlecode.com/files/$(SERF_DIST)
-SERF_URL	= http://serf.googlecode.com/svn/tags/$(SERF_VER)
-SERF_OLD_URL	= http://serf.googlecode.com/svn/tags/$(SERF_OLD_VER)
-SQLITE_URL	= http://www.sqlite.org/2014/$(SQLITE_DIST)
+SERF_URL	= https://serf.googlecode.com/svn/tags/$(SERF_VER)
+SERF_OLD_URL	= https://serf.googlecode.com/svn/tags/$(SERF_OLD_VER)
+SQLITE_URL	= https://www.sqlite.org/2014/$(SQLITE_DIST)
 CYRUS_SASL_URL	= ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/$(CYRUS_SASL_DIST)
 LIBMAGIC_URL	= ftp://ftp.astron.com/pub/file/$(LIBMAGIC_DIST)
 RUBY_URL	= http://ftp.ruby-lang.org/pub/ruby/1.8/$(RUBY_DIST)
 BZ2_URL		= http://bzip.org/$(BZ2_VER)/$(BZ2_DIST)
-PYTHON_URL	= http://python.org/ftp/python/$(PYTHON_VER)/$(PYTHON_DIST)
-JUNIT_URL	= http://downloads.sourceforge.net/project/junit/junit/$(JUNIT_VER)/$(JUNIT_DIST)
-GETTEXT_URL	= http://ftp.gnu.org/pub/gnu/gettext/$(GETTEXT_DIST)
+PYTHON_URL	= https://python.org/ftp/python/$(PYTHON_VER)/$(PYTHON_DIST)
+JUNIT_URL	= https://downloads.sourceforge.net/project/junit/junit/$(JUNIT_VER)/$(JUNIT_DIST)
+GETTEXT_URL	= https://ftp.gnu.org/pub/gnu/gettext/$(GETTEXT_DIST)
 
 
 BDB_SRCDIR	= $(SRCDIR)/db-$(BDB_VER)
@@ -190,7 +215,7 @@ LD_LIBRARY_PATH=$(PREFIX)/apr/lib:$(PREF
 # Main targets.
 #######################################################################
 
-.PHONY: all reset clean nuke
+.PHONY: all reset clean nuke fetch
 
 all: dirs-create bdb-install apr-install iconv-install apr-util-install \
 	httpd-install neon-install serf-install serf-old-install \
@@ -233,6 +258,8 @@ nuke:
 				;; \
 		esac
 
+fetch: $(DISTFILES)
+
 #######################################################################
 # directories
 #######################################################################
@@ -267,6 +294,7 @@ $(DISTDIR)/$(BDB_DIST):
 
 # retrieve bdb
 $(BDB_OBJDIR)/.retrieved: $(DISTDIR)/$(BDB_DIST)
+	$(call do_check_sha256,$(BDB_DIST))
 	[ -d $(BDB_OBJDIR) ] || mkdir -p $(BDB_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(BDB_DIST)
 	touch $@
@@ -311,9 +339,6 @@ $(APR_OBJDIR)/.retrieved:
 	if [ ! -d $(APR_SRCDIR) ]; then \
 		svn export $(APR_URL)/tags/$(APR_VER)/ $(APR_SRCDIR); \
 	fi
-	-(cd $(APR_SRCDIR) && \
-		$(FETCH_CMD) $(APR_PATCHES_URL)/$(APR_1_5_PATCH) && \
-		patch -N -p1 < $(APR_1_5_PATCH))
 	touch $@
 
 ifeq ($(THREADING),yes)
@@ -373,6 +398,7 @@ $(DISTDIR)/$(APR_ICONV_DIST):
 
 # retrieve apr-iconv
 $(APR_ICONV_OBJDIR)/.retrieved: $(DISTDIR)/$(APR_ICONV_DIST)
+	$(call do_check_sha256,$(APR_ICONV_DIST))
 	[ -d $(APR_ICONV_OBJDIR) ] || mkdir -p $(APR_ICONV_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(APR_ICONV_DIST)
 	touch $@
@@ -453,6 +479,7 @@ $(GNU_ICONV_OBJDIR)/lib_aliases.gperf.di
 $(GNU_ICONV_OBJDIR)/.retrieved: $(DISTDIR)/$(GNU_ICONV_DIST) \
 		$(GNU_ICONV_OBJDIR)/lib_encodings.def.diff \
 		$(GNU_ICONV_OBJDIR)/lib_aliases.gperf.diff
+	$(call do_check_sha256,$(GNU_ICONV_DIST))
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(GNU_ICONV_DIST)
 	cd $(SRCDIR)/libiconv-$(GNU_ICONV_VER) && \
 		patch -p0 < $(GNU_ICONV_OBJDIR)/lib_encodings.def.diff && \
@@ -597,6 +624,7 @@ $(HTTPD_OBJDIR)/chil-engine.diff:
 # retrieve httpd
 $(HTTPD_OBJDIR)/.retrieved: $(DISTDIR)/$(HTTPD_DIST) \
 	$(HTTPD_OBJDIR)/chil-engine.diff
+	$(call do_check_sha256,$(HTTPD_DIST))
 	[ -d $(HTTPD_OBJDIR) ] || mkdir -p $(HTTPD_OBJDIR)
 	tar -C $(SRCDIR) -jxf $(DISTDIR)/$(HTTPD_DIST)
 	cd $(HTTPD_SRCDIR) && patch -p0 < $(HTTPD_OBJDIR)/chil-engine.diff
@@ -675,19 +703,10 @@ $(DISTDIR)/$(NEON_DIST):
 	cd $(DISTDIR) && $(FETCH_CMD) $(NEON_URL)
 
 # retrieve neon
-NEON_SVN_URL=http://svn.webdav.org/repos/projects/neon/trunk
 $(NEON_OBJDIR)/.retrieved: $(DISTDIR)/$(NEON_DIST)
+	$(call do_check_sha256,$(NEON_DIST))
 	[ -d $(NEON_OBJDIR) ] || mkdir -p $(NEON_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(NEON_DIST)
-	# fix build with OpenSSL lacking SSLv2 support:
-	cd $(NEON_SRCDIR)/src && svn diff -c 1865 \
-		$(NEON_SVN_URL)/src/ne_openssl.c | patch -p0
-	cd $(NEON_SRCDIR)/src && svn diff -c 1872 \
-		$(NEON_SVN_URL)/src/ne_openssl.c | patch -p0
-	cd $(NEON_SRCDIR)/src && svn diff -c 1865 \
-		$(NEON_SVN_URL)/src/ne_ssl.h | patch -p0
-	cd $(NEON_SRCDIR)/src && svn diff -c 1865 \
-		$(NEON_SVN_URL)/src/ne_session.c | patch -p0
 	touch $@
 
 # OpenBSD does not have krb5-config in PATH, but the neon port has
@@ -845,6 +864,7 @@ $(DISTDIR)/$(SQLITE_DIST):
 
 # retrieve sqlite
 $(SQLITE_OBJDIR)/.retrieved: $(DISTDIR)/$(SQLITE_DIST)
+	$(call do_check_sha256,$(SQLITE_DIST))
 	[ -d $(SQLITE_OBJDIR) ] || mkdir -p $(SQLITE_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(SQLITE_DIST)
 	touch $@
@@ -895,6 +915,7 @@ $(DISTDIR)/$(CYRUS_SASL_DIST):
 
 # retrieve cyrus-sasl
 $(CYRUS_SASL_OBJDIR)/.retrieved: $(DISTDIR)/$(CYRUS_SASL_DIST)
+	$(call do_check_sha256,$(CYRUS_SASL_DIST))
 	[ -d $(CYRUS_SASL_OBJDIR) ] || mkdir -p $(CYRUS_SASL_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(CYRUS_SASL_DIST)
 	# fixes build on Debian:
@@ -970,6 +991,7 @@ $(DISTDIR)/$(LIBMAGIC_DIST):
 
 # retrieve libmagic
 $(LIBMAGIC_OBJDIR)/.retrieved: $(DISTDIR)/$(LIBMAGIC_DIST)
+	$(call do_check_sha256,$(LIBMAGIC_DIST))
 	[ -d $(LIBMAGIC_OBJDIR) ] || mkdir -p $(LIBMAGIC_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(LIBMAGIC_DIST)
 	touch $@
@@ -1015,6 +1037,7 @@ $(DISTDIR)/$(RUBY_DIST):
 # retrieve ruby
 #
 $(RUBY_OBJDIR)/.retrieved: $(DISTDIR)/$(RUBY_DIST)
+	$(call do_check_sha256,$(RUBY_DIST))
 	[ -d $(RUBY_OBJDIR) ] || mkdir -p $(RUBY_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(RUBY_DIST)
 	touch $@
@@ -1065,6 +1088,7 @@ $(DISTDIR)/$(BZ2_DIST):
 
 # retrieve bz2
 $(BZ2_OBJDIR)/.retrieved: $(DISTDIR)/$(BZ2_DIST)
+	$(call do_check_sha256,$(BZ2_DIST))
 	[ -d $(BZ2_OBJDIR) ] || mkdir -p $(BZ2_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(BZ2_DIST)
 	touch $@
@@ -1102,13 +1126,14 @@ $(DISTDIR)/$(PYTHON_DIST):
 # retrieve python
 #
 $(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/$(PYTHON_DIST)
+	$(call do_check_sha256,$(PYTHON_DIST))
 	[ -d $(PYTHON_OBJDIR) ] || mkdir -p $(PYTHON_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(PYTHON_DIST)
 	# Make setup.py use our own dependencies instead of system ones
 	sed -e "s#sqlite_inc_paths = \[ '/usr/include',#sqlite_inc_paths = [ '$(PREFIX)/sqlite/include',#" \
 		-e "s#'/usr/include/db4'#'$(PREFIX)/bdb/include'#" \
-		-e "s|\(add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')\)|#\1|" \
-		-e "s|\(add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')\)|#\1|" \
+		-e "s|\(add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')\)|pass #\1|" \
+		-e "s|\(add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')\)|pass #\1|" \
 		-e "s#find_library_file(lib_dirs, 'bz2'#find_library_file(['$(PREFIX)/bz2/lib'] + lib_dirs, 'bz2'#" \
 		< $(PYTHON_SRCDIR)/setup.py \
 		> $(PYTHON_SRCDIR)/setup.py.patched
@@ -1162,6 +1187,8 @@ $(PYTHON_OBJDIR)/.installed: $(PYTHON_OB
 # fetch distfile for junit
 $(DISTDIR)/$(JUNIT_DIST):
 	cd $(DISTDIR) && $(FETCH_CMD) $(JUNIT_URL)
+	$(call do_check_sha256,$(JUNIT_DIST))
+
 
 #######################################################################
 # gettext
@@ -1184,6 +1211,7 @@ $(DISTDIR)/$(GETTEXT_DIST):
 
 # retrieve gettext
 $(GETTEXT_OBJDIR)/.retrieved: $(DISTDIR)/$(GETTEXT_DIST)
+	$(call do_check_sha256,$(GETTEXT_DIST))
 	[ -d $(GETTEXT_OBJDIR) ] || mkdir -p $(GETTEXT_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(GETTEXT_DIST)
 	touch $@



Mime
View raw message