[couchdb] Added patches for compatibility with R12B5

Peter Lemenkov peter at fedoraproject.org
Tue Oct 12 11:05:54 UTC 2010


commit e1d33e6fb6d214f3cedb107d3b6288c60e391cf2
Author: Peter Lemenkov <lemenkov at gmail.com>
Date:   Tue Oct 12 15:05:55 2010 +0400

    Added patches for compatibility with R12B5
    
    Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>

 couchdb-0001-Force-init-script-installation.patch  |    6 +-
 ...db-0002-Install-into-erllibdir-by-default.patch |    6 +-
 ...-0003-Remove-bundled-erlang-oauth-library.patch |    6 +-
 ...b-0004-Remove-bundled-erlang-etap-library.patch |    6 +-
 couchdb-0005-Remove-bundled-mochiweb-library.patch |    6 +-
 couchdb-0006-Remove-bundled-ibrowse-library.patch  |    6 +-
 ...b-0007-Workaround-for-system-wide-ibrowse.patch |    6 +-
 couchdb-0008-Remove-pid-file-after-stop.patch      |    6 +-
 ...DB-while-it-was-being-opened-would-crash-.patch |    6 +-
 couchdb-0010-Do-not-install-gzipped-docs.patch     |    6 +-
 ...ix-respawn-timeout-to-match-default-value.patch |    6 +-
 ...2-Relax-curl-dependency-to-7.15-for-RHEL5.patch |  100 ++++++++++++++++++++
 ...-No-erlang-min-2-and-erlang-max-2-in-R12B.patch |   78 +++++++++++++++
 couchdb.spec                                       |   13 +++-
 14 files changed, 223 insertions(+), 34 deletions(-)
---
diff --git a/couchdb-0001-Force-init-script-installation.patch b/couchdb-0001-Force-init-script-installation.patch
index 0419aa9..98df718 100644
--- a/couchdb-0001-Force-init-script-installation.patch
+++ b/couchdb-0001-Force-init-script-installation.patch
@@ -1,7 +1,7 @@
-From 3e55695afb015dbc4e478739a1c467bf7ad859b0 Mon Sep 17 00:00:00 2001
+From 0928d966e2f378efc7dc393d2664276c71f6c5a4 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Thu, 27 May 2010 15:17:20 +0400
-Subject: [PATCH 01/11] Force init script installation
+Subject: [PATCH 01/13] Force init script installation
 
 ---
  configure.ac |   16 +++-------------
@@ -35,5 +35,5 @@ index c609a08..cd8c807 100644
  
  if test "$use_launchd" = "yes"; then
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0002-Install-into-erllibdir-by-default.patch b/couchdb-0002-Install-into-erllibdir-by-default.patch
index 17f65e5..c1a0f0e 100644
--- a/couchdb-0002-Install-into-erllibdir-by-default.patch
+++ b/couchdb-0002-Install-into-erllibdir-by-default.patch
@@ -1,7 +1,7 @@
-From 9fbd5b93c786bfd0454679147c253ad432fad46f Mon Sep 17 00:00:00 2001
+From 2024b34484f62475cf320aca1386f7142466329d Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Thu, 27 May 2010 15:18:29 +0400
-Subject: [PATCH 02/11] Install into erllibdir by default
+Subject: [PATCH 02/13] Install into erllibdir by default
 
 ---
  configure |    4 ++--
@@ -30,5 +30,5 @@ index 8d47467..239eff7 100755
      localerlanglibdir=${locallibdir}/erlang/lib
  
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0003-Remove-bundled-erlang-oauth-library.patch b/couchdb-0003-Remove-bundled-erlang-oauth-library.patch
index a9896d9..4072b52 100644
--- a/couchdb-0003-Remove-bundled-erlang-oauth-library.patch
+++ b/couchdb-0003-Remove-bundled-erlang-oauth-library.patch
@@ -1,7 +1,7 @@
-From 85a48df82cd6add8fd40f0ef7e548cfbc9fb447e Mon Sep 17 00:00:00 2001
+From 4691f6311bbf0e46e7fb1fd2139bdc14426ce5a5 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Wed, 14 Jul 2010 17:57:54 +0400
-Subject: [PATCH 03/11] Remove bundled erlang-oauth library
+Subject: [PATCH 03/13] Remove bundled erlang-oauth library
 
 ---
  configure                            |    3 -
@@ -1000,5 +1000,5 @@ index 4c42edb..79b0417 100644
          code:add_pathz(filename:join([builddir(), "src", Name]))
      end, Paths).
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0004-Remove-bundled-erlang-etap-library.patch b/couchdb-0004-Remove-bundled-erlang-etap-library.patch
index b98fd8c..9cc3460 100644
--- a/couchdb-0004-Remove-bundled-erlang-etap-library.patch
+++ b/couchdb-0004-Remove-bundled-erlang-etap-library.patch
@@ -1,7 +1,7 @@
-From 6c9b556d411d14e9dadd550b6b8ff9088cf5bfbf Mon Sep 17 00:00:00 2001
+From 138d0cc7848e305bbd0ad92aa352a9ca5d978164 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Wed, 14 Jul 2010 18:00:03 +0400
-Subject: [PATCH 04/11] Remove bundled erlang-etap library
+Subject: [PATCH 04/13] Remove bundled erlang-etap library
 
 ---
  configure                     |    3 -
@@ -1908,5 +1908,5 @@ index 79b0417..c57d7a8 100644
          code:add_pathz(filename:join([builddir(), "src", Name]))
      end, Paths).
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0005-Remove-bundled-mochiweb-library.patch b/couchdb-0005-Remove-bundled-mochiweb-library.patch
index e7dd308..dfd1856 100644
--- a/couchdb-0005-Remove-bundled-mochiweb-library.patch
+++ b/couchdb-0005-Remove-bundled-mochiweb-library.patch
@@ -1,7 +1,7 @@
-From bad54224de05d8ba1f2ec2b270b1b61b9d9eab7e Mon Sep 17 00:00:00 2001
+From fd2a4e300e7c56608402cd851a73d5824be02fdb Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Wed, 14 Jul 2010 18:01:45 +0400
-Subject: [PATCH 05/11] Remove bundled mochiweb library
+Subject: [PATCH 05/13] Remove bundled mochiweb library
 
 ---
  configure                               |    3 -
@@ -7746,5 +7746,5 @@ index c57d7a8..948958c 100644
          code:add_pathz(filename:join([builddir(), "src", Name]))
      end, Paths).
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0006-Remove-bundled-ibrowse-library.patch b/couchdb-0006-Remove-bundled-ibrowse-library.patch
index 3d599c2..46e5834 100644
--- a/couchdb-0006-Remove-bundled-ibrowse-library.patch
+++ b/couchdb-0006-Remove-bundled-ibrowse-library.patch
@@ -1,7 +1,7 @@
-From 179b20af1a2dff0f8976e4e0071c4b31c04bcfb8 Mon Sep 17 00:00:00 2001
+From a69bb8849d0cc2d1e872a0334fde6a34ea7741b3 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Fri, 6 Aug 2010 16:05:02 +0400
-Subject: [PATCH 06/11] Remove bundled ibrowse library
+Subject: [PATCH 06/13] Remove bundled ibrowse library
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -4085,5 +4085,5 @@ index 948958c..2650fbb 100644
          code:add_pathz(filename:join([builddir(), "src", Name]))
      end, Paths).
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0007-Workaround-for-system-wide-ibrowse.patch b/couchdb-0007-Workaround-for-system-wide-ibrowse.patch
index 1249b01..d14d671 100644
--- a/couchdb-0007-Workaround-for-system-wide-ibrowse.patch
+++ b/couchdb-0007-Workaround-for-system-wide-ibrowse.patch
@@ -1,7 +1,7 @@
-From 279688f94b56ddd85a6311c426780c6eda787edf Mon Sep 17 00:00:00 2001
+From d09bcecb010af30c2bc034b15982f72e6ae93c45 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Tue, 8 Jun 2010 17:30:49 +0400
-Subject: [PATCH 07/11] Workaround for system-wide ibrowse
+Subject: [PATCH 07/13] Workaround for system-wide ibrowse
 
 ---
  src/couchdb/couch_rep_changes_feed.erl |    2 +-
@@ -64,5 +64,5 @@ index 3edc1f3..8722f3f 100644
  -record (state, {
      parent,
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0008-Remove-pid-file-after-stop.patch b/couchdb-0008-Remove-pid-file-after-stop.patch
index 6f71b25..be11df9 100644
--- a/couchdb-0008-Remove-pid-file-after-stop.patch
+++ b/couchdb-0008-Remove-pid-file-after-stop.patch
@@ -1,7 +1,7 @@
-From 16ee55f5fa6d1e8f85de6fd17d4195e176bfca0c Mon Sep 17 00:00:00 2001
+From f62be09cd73dcf53703971c1aecb4a3356adc83c Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Mon, 7 Jun 2010 15:08:42 +0400
-Subject: [PATCH 08/11] Remove pid-file after stop
+Subject: [PATCH 08/13] Remove pid-file after stop
 
 ---
  bin/couchdb.tpl.in |    4 +---
@@ -24,5 +24,5 @@ index 94d4743..af5cb01 100644
              if kill -1 $PID 2> /dev/null; then
                  if test "$1" = "false"; then
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0009-deleting-a-DB-while-it-was-being-opened-would-crash-.patch b/couchdb-0009-deleting-a-DB-while-it-was-being-opened-would-crash-.patch
index 0274891..ad0cbcd 100644
--- a/couchdb-0009-deleting-a-DB-while-it-was-being-opened-would-crash-.patch
+++ b/couchdb-0009-deleting-a-DB-while-it-was-being-opened-would-crash-.patch
@@ -1,7 +1,7 @@
-From b1ed77ec73f756b820e7c8269cb126ffa46a1bbc Mon Sep 17 00:00:00 2001
+From bfbe8a8a727f5ddeb80a268ef4915aba27464868 Mon Sep 17 00:00:00 2001
 From: Adam Kocoloski <kocolosk at apache.org>
 Date: Sun, 11 Jul 2010 01:00:50 +0000
-Subject: [PATCH 09/11] deleting a DB while it was being opened would crash couch_server
+Subject: [PATCH 09/13] deleting a DB while it was being opened would crash couch_server
 
 git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@962964 13f79535-47bb-0310-9956-ffa450edef68
 ---
@@ -22,5 +22,5 @@ index 43fd904..88bd610 100644
          [{_, {opened, Pid, LruTime}}] ->
              couch_util:shutdown_sync(Pid),
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0010-Do-not-install-gzipped-docs.patch b/couchdb-0010-Do-not-install-gzipped-docs.patch
index 0228c8c..e225265 100644
--- a/couchdb-0010-Do-not-install-gzipped-docs.patch
+++ b/couchdb-0010-Do-not-install-gzipped-docs.patch
@@ -1,7 +1,7 @@
-From 4d79cfe314d2b08a46cf25460402e8d7db788576 Mon Sep 17 00:00:00 2001
+From 25e110362bcadbd8f2100fc33f6041d702622cc2 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Thu, 26 Aug 2010 13:07:33 +0400
-Subject: [PATCH 10/11] Do not install gzipped docs
+Subject: [PATCH 10/13] Do not install gzipped docs
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -216,5 +216,5 @@ index 0e9f10a..bc76e26 100644
  check: dev
  	$(top_builddir)/test/etap/run
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0011-Fix-respawn-timeout-to-match-default-value.patch b/couchdb-0011-Fix-respawn-timeout-to-match-default-value.patch
index 99cce6e..bf545dc 100644
--- a/couchdb-0011-Fix-respawn-timeout-to-match-default-value.patch
+++ b/couchdb-0011-Fix-respawn-timeout-to-match-default-value.patch
@@ -1,7 +1,7 @@
-From 3dae034d5c30263c9d28c060422f89847cdb3c53 Mon Sep 17 00:00:00 2001
+From b112a376b24b831ca7e3160e0e421734982131a9 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Thu, 26 Aug 2010 13:22:56 +0400
-Subject: [PATCH 11/11] Fix respawn timeout to match default value
+Subject: [PATCH 11/13] Fix respawn timeout to match default value
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -20,5 +20,5 @@ index c2a3f2a..f589c0a 100644
 +COUCHDB_RESPAWN_TIMEOUT=0
  COUCHDB_OPTIONS=
 -- 
-1.7.2.1
+1.7.2.3
 
diff --git a/couchdb-0012-Relax-curl-dependency-to-7.15-for-RHEL5.patch b/couchdb-0012-Relax-curl-dependency-to-7.15-for-RHEL5.patch
new file mode 100644
index 0000000..e2c3406
--- /dev/null
+++ b/couchdb-0012-Relax-curl-dependency-to-7.15-for-RHEL5.patch
@@ -0,0 +1,100 @@
+From a3d55325758f58cff0c56574f084fe8cac29c089 Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Sat, 21 Aug 2010 12:49:21 +0400
+Subject: [PATCH 12/13] Relax curl dependency to 7.15 (for RHEL5)
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ configure                        |    8 ++++----
+ configure.ac                     |    2 +-
+ src/couchdb/priv/couch_js/http.c |   14 --------------
+ 3 files changed, 5 insertions(+), 19 deletions(-)
+
+diff --git a/configure b/configure
+index 3fbc92b..9859f0c 100755
+--- a/configure
++++ b/configure
+@@ -11835,9 +11835,9 @@ fi
+     echo "*** Or see http://curl.haxx.se/"
+   else
+         CURL_VERSION=`$CURL_CONFIG --version | cut -d" " -f2`
+-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl >= 7.18.0" >&5
+-$as_echo_n "checking for curl >= 7.18.0... " >&6; }
+-        VERSION_CHECK=`expr $CURL_VERSION \>\= 7.18.0`
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl >= 7.15.0" >&5
++$as_echo_n "checking for curl >= 7.15.0... " >&6; }
++        VERSION_CHECK=`expr $CURL_VERSION \>\= 7.15.0`
+         if test "$VERSION_CHECK" = "1" ; then
+             { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+@@ -11859,7 +11859,7 @@ $as_echo "$CURL_LIBS" >&6; }
+             CURL_LIBS=""
+             ## If we have a custom action on failure, don't print errors, but
+             ## do set a variable so people can do so.
+-            echo "can't find curl >= 7.18.0"
++            echo "can't find curl >= 7.15.0"
+         fi
+ 
+ 
+diff --git a/configure.ac b/configure.ac
+index 905f6d1..0fa689e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -214,7 +214,7 @@ AC_ARG_WITH([win32-curl], [AC_HELP_STRING([--with-win32-curl=PATH],
+     CURL_LIBS="$withval/lib/libcurl"
+     CURL_LDFLAGS="-l$CURL_LIBS -lWs2_32 -lkernel32 -luser32 -ladvapi32 -lWldap32"
+ ], [
+-    AC_CHECK_CURL([7.18.0])
++    AC_CHECK_CURL([7.15.0])
+     CURL_LDFLAGS=-lcurl
+ ])
+ 
+diff --git a/src/couchdb/priv/couch_js/http.c b/src/couchdb/priv/couch_js/http.c
+index 6c2a8a8..a672b66 100644
+--- a/src/couchdb/priv/couch_js/http.c
++++ b/src/couchdb/priv/couch_js/http.c
+@@ -377,7 +377,6 @@ CURL*       HTTP_HANDLE = NULL;
+ char        ERRBUF[CURL_ERROR_SIZE];
+ 
+ static size_t send_body(void *ptr, size_t size, size_t nmem, void *data);
+-static int seek_body(void *ptr, curl_off_t offset, int origin);
+ static size_t recv_body(void *ptr, size_t size, size_t nmem, void *data);
+ static size_t recv_header(void *ptr, size_t size, size_t nmem, void *data);
+ 
+@@ -404,8 +403,6 @@ go(JSContext* cx, JSObject* obj, HTTPData* http, char* body, size_t bodylen)
+     {
+         HTTP_HANDLE = curl_easy_init();
+         curl_easy_setopt(HTTP_HANDLE, CURLOPT_READFUNCTION, send_body);
+-        curl_easy_setopt(HTTP_HANDLE, CURLOPT_SEEKFUNCTION,
+-                                        (curl_seek_callback) seek_body);
+         curl_easy_setopt(HTTP_HANDLE, CURLOPT_HEADERFUNCTION, recv_header);
+         curl_easy_setopt(HTTP_HANDLE, CURLOPT_WRITEFUNCTION, recv_body);
+         curl_easy_setopt(HTTP_HANDLE, CURLOPT_NOPROGRESS, 1);
+@@ -458,7 +455,6 @@ go(JSContext* cx, JSObject* obj, HTTPData* http, char* body, size_t bodylen)
+     curl_easy_setopt(HTTP_HANDLE, CURLOPT_URL, http->url);
+     curl_easy_setopt(HTTP_HANDLE, CURLOPT_HTTPHEADER, http->req_headers);
+     curl_easy_setopt(HTTP_HANDLE, CURLOPT_READDATA, &state);
+-    curl_easy_setopt(HTTP_HANDLE, CURLOPT_SEEKDATA, &state);
+     curl_easy_setopt(HTTP_HANDLE, CURLOPT_WRITEHEADER, &state);
+     curl_easy_setopt(HTTP_HANDLE, CURLOPT_WRITEDATA, &state);
+ 
+@@ -555,16 +551,6 @@ send_body(void *ptr, size_t size, size_t nmem, void *data)
+     return towrite;
+ }
+ 
+-static int
+-seek_body(void* ptr, curl_off_t offset, int origin)
+-{
+-    CurlState* state = (CurlState*) ptr;
+-    if(origin != SEEK_SET) return -1;
+-
+-    state->sent = (size_t) offset;
+-    return (int) state->sent;
+-}
+-
+ static size_t
+ recv_header(void *ptr, size_t size, size_t nmem, void *data)
+ {
+-- 
+1.7.2.3
+
diff --git a/couchdb-0013-No-erlang-min-2-and-erlang-max-2-in-R12B.patch b/couchdb-0013-No-erlang-min-2-and-erlang-max-2-in-R12B.patch
new file mode 100644
index 0000000..60038c8
--- /dev/null
+++ b/couchdb-0013-No-erlang-min-2-and-erlang-max-2-in-R12B.patch
@@ -0,0 +1,78 @@
+From 5d519860e6b83723b2db0f81b1250c702f4f5d2b Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Tue, 12 Oct 2010 14:09:37 +0400
+Subject: [PATCH 13/13] No erlang:min/2 and erlang:max/2 in R12B
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ src/couchdb/couch_auth_cache.erl    |    2 +-
+ src/couchdb/couch_query_servers.erl |    4 ++--
+ src/couchdb/couch_util.erl          |   13 +++++++++++++
+ 3 files changed, 16 insertions(+), 3 deletions(-)
+
+diff --git a/src/couchdb/couch_auth_cache.erl b/src/couchdb/couch_auth_cache.erl
+index 078bfcc..0b7d27f 100644
+--- a/src/couchdb/couch_auth_cache.erl
++++ b/src/couchdb/couch_auth_cache.erl
+@@ -175,7 +175,7 @@ handle_call({new_max_cache_size, NewSize}, _From, State) ->
+     end,
+     NewState = State#state{
+         max_cache_size = NewSize,
+-        cache_size = erlang:min(NewSize, State#state.cache_size)
++        cache_size = couch_util:min(NewSize, State#state.cache_size)
+     },
+     {reply, ok, NewState};
+ 
+diff --git a/src/couchdb/couch_query_servers.erl b/src/couchdb/couch_query_servers.erl
+index c4f1bf0..97d06cf 100644
+--- a/src/couchdb/couch_query_servers.erl
++++ b/src/couchdb/couch_query_servers.erl
+@@ -166,7 +166,7 @@ builtin_sum_rows(KVs) ->
+ 
+ builtin_stats(reduce, [[_,First]|Rest]) when is_number(First) ->
+     Stats = lists:foldl(fun([_K,V], {S,C,Mi,Ma,Sq}) when is_number(V) ->
+-        {S+V, C+1, erlang:min(Mi,V), erlang:max(Ma,V), Sq+(V*V)};
++        {S+V, C+1, couch_util:min(Mi,V), couch_util:max(Ma,V), Sq+(V*V)};
+     (_, _) ->
+         throw({invalid_value,
+             <<"builtin _stats function requires map values to be numbers">>})
+@@ -178,7 +178,7 @@ builtin_stats(rereduce, [[_,First]|Rest]) ->
+     {[{sum,Sum0}, {count,Cnt0}, {min,Min0}, {max,Max0}, {sumsqr,Sqr0}]} = First,
+     Stats = lists:foldl(fun([_K,Red], {S,C,Mi,Ma,Sq}) ->
+         {[{sum,Sum}, {count,Cnt}, {min,Min}, {max,Max}, {sumsqr,Sqr}]} = Red,
+-        {Sum+S, Cnt+C, erlang:min(Min,Mi), erlang:max(Max,Ma), Sqr+Sq}
++        {Sum+S, Cnt+C, couch_util:min(Min,Mi), couch_util:max(Max,Ma), Sqr+Sq}
+     end, {Sum0,Cnt0,Min0,Max0,Sqr0}, Rest),
+     {Sum, Cnt, Min, Max, Sqr} = Stats,
+     {[{sum,Sum}, {count,Cnt}, {min,Min}, {max,Max}, {sumsqr,Sqr}]}.
+diff --git a/src/couchdb/couch_util.erl b/src/couchdb/couch_util.erl
+index 8217a26..2ca001b 100644
+--- a/src/couchdb/couch_util.erl
++++ b/src/couchdb/couch_util.erl
+@@ -27,6 +27,7 @@
+ -export([get_value/2, get_value/3]).
+ -export([md5/1, md5_init/0, md5_update/2, md5_final/1]).
+ -export([reorder_results/2]).
++-export([min/2, max/2]).
+ 
+ -include("couch_db.hrl").
+ -include_lib("kernel/include/file.hrl").
+@@ -452,3 +453,15 @@ reorder_results(Keys, SortedResults) when length(Keys) < 100 ->
+ reorder_results(Keys, SortedResults) ->
+     KeyDict = dict:from_list(SortedResults),
+     [dict:fetch(Key, KeyDict) || Key <- Keys].
++
++min(A,B) ->
++	case (A < B) of
++		true -> A;
++		_ -> B
++	end.
++
++max(A,B) ->
++	case (A > B) of
++		true -> A;
++		_ -> B
++	end.
+-- 
+1.7.2.3
+
diff --git a/couchdb.spec b/couchdb.spec
index b1144a4..253feb4 100644
--- a/couchdb.spec
+++ b/couchdb.spec
@@ -4,7 +4,7 @@
 
 Name:           couchdb
 Version:        1.0.1
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        A document database server, accessible via a RESTful JSON API
 
 Group:          Applications/Databases
@@ -23,8 +23,11 @@ Patch8:		couchdb-0008-Remove-pid-file-after-stop.patch
 Patch9:		couchdb-0009-deleting-a-DB-while-it-was-being-opened-would-crash-.patch
 Patch10:	couchdb-0010-Do-not-install-gzipped-docs.patch
 Patch11:	couchdb-0011-Fix-respawn-timeout-to-match-default-value.patch
+Patch12:	couchdb-0012-Relax-curl-dependency-to-7.15-for-RHEL5.patch
+Patch13:	couchdb-0013-No-erlang-min-2-and-erlang-max-2-in-R12B.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+
 BuildRequires:	curl-devel
 BuildRequires:	erlang-erts
 BuildRequires:	erlang-etap
@@ -78,6 +81,11 @@ JavaScript acting as the default view definition language.
 %patch9 -p1 -b .fix_crash
 %patch10 -p1 -b .gzipped_docs
 %patch11 -p1 -b .fix_respawn
+%if 0%{?el5}
+# Erlang/OTP R12B5
+%patch12 -p1 -b .curl_7_15
+%patch13 -p1 -b .min_max
+%endif
 # Restore original timestamps to avoid reconfiguring
 touch -r configure.ac.initenabled configure.ac
 touch -r configure.fix_lib_path configure
@@ -151,6 +159,9 @@ fi
 
 
 %changelog
+* Tue Oct 12 2010 Peter Lemenkov <lemenkov at gmail.com> 1.0.1-4
+- Added patches for compatibility with R12B5
+
 * Mon Oct 11 2010 Peter Lemenkov <lemenkov at gmail.com> 1.0.1-3
 - Narrowed list of BuildRequires
 


More information about the scm-commits mailing list