[erlang-riak_core] Initial build (see rhbz #652598)

Peter Lemenkov peter at fedoraproject.org
Sat Jul 14 04:18:08 UTC 2012


commit 823478ce67f097c3367cc8e6a7f0d68641f84000
Author: Peter Lemenkov <lemenkov at gmail.com>
Date:   Sat Jul 14 08:17:58 2012 +0400

    Initial build (see rhbz #652598)
    
    Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>

 .gitignore                                         |    1 +
 ...hecking-for-specific-version-of-libraries.patch |   37 +++++++
 ...obal-safe_whereis_name-1-has-been-removed.patch |   34 ++++++
 ...-riak_core-0003-remove-duplicated-include.patch |   25 +++++
 ...e-0004-Guard-all-unguarded-eunit-includes.patch |   58 ++++++++++
 erlang-riak_core.spec                              |  114 ++++++++++++++++++++
 sources                                            |    1 +
 7 files changed, 270 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..2a7e6bd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/basho-riak_core-1.1.2-0-g2751120.tar.gz
diff --git a/erlang-riak_core-0001-Remove-checking-for-specific-version-of-libraries.patch b/erlang-riak_core-0001-Remove-checking-for-specific-version-of-libraries.patch
new file mode 100644
index 0000000..b2bd508
--- /dev/null
+++ b/erlang-riak_core-0001-Remove-checking-for-specific-version-of-libraries.patch
@@ -0,0 +1,37 @@
+From db4ddd44bf78df766afc84fb360f2b505db8db48 Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Sat, 27 Nov 2010 16:37:23 +0300
+Subject: [PATCH 1/4] Remove checking for specific version of libraries
+
+This is purely Fedora/EPEL specific and won't go upstream.
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+
+Conflicts:
+	rebar.config
+---
+ rebar.config |   11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/rebar.config b/rebar.config
+index e6d4d73..03c8a4e 100644
+--- a/rebar.config
++++ b/rebar.config
+@@ -3,14 +3,3 @@
+ {erl_opts, [{parse_transform, lager_transform}]}.
+ {edoc_opts, [{preprocess, true}]}.
+ {erl_opts, [debug_info, warnings_as_errors]}.
+-
+-{deps, [
+-  {lager, "1.0.0", {git, "git://github.com/basho/lager", {tag, "1.0.0"}}},
+-  {poolboy, "0.6.1", {git, "git://github.com/basho/poolboy", {tag, "0.6.1"}}},
+-  {protobuffs, "0.6.0", {git, "git://github.com/basho/erlang_protobuffs",
+-                              {tag, "protobuffs-0.6.0"}}},
+-  {basho_stats, "1.0.2", {git, "git://github.com/basho/basho_stats", {tag, "1.0.2"}}},
+-  {riak_sysmon, "1.1.2", {git, "git://github.com/basho/riak_sysmon", {tag, "1.1.2"}}},
+-  {webmachine, "1.9.1", {git, "git://github.com/basho/webmachine",
+-                              {tag, "1.9.1"}}}
+-       ]}.
+-- 
+1.7.10.2
+
diff --git a/erlang-riak_core-0002-global-safe_whereis_name-1-has-been-removed.patch b/erlang-riak_core-0002-global-safe_whereis_name-1-has-been-removed.patch
new file mode 100644
index 0000000..9cf3063
--- /dev/null
+++ b/erlang-riak_core-0002-global-safe_whereis_name-1-has-been-removed.patch
@@ -0,0 +1,34 @@
+From 181b9d18d59f16cb16664abece513a6254b7b28a Mon Sep 17 00:00:00 2001
+From: Emile Joubert <emile at rabbitmq.com>
+Date: Wed, 14 Dec 2011 14:21:55 +0000
+Subject: [PATCH 2/4] global:safe_whereis_name/1 has been removed
+
+---
+ src/gen_server2.erl |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/gen_server2.erl b/src/gen_server2.erl
+index 6d8d2ff..f019b56 100644
+--- a/src/gen_server2.erl
++++ b/src/gen_server2.erl
+@@ -956,7 +956,7 @@ get_proc_name({local, Name}) ->
+ 	    exit(process_not_registered)
+     end;    
+ get_proc_name({global, Name}) ->
+-    case global:safe_whereis_name(Name) of
++    case global:whereis_name(Name) of
+ 	undefined ->
+ 	    exit(process_not_registered_globally);
+ 	Pid when Pid =:= self() ->
+@@ -978,7 +978,7 @@ get_parent() ->
+ name_to_pid(Name) ->
+     case whereis(Name) of
+ 	undefined ->
+-	    case global:safe_whereis_name(Name) of
++	    case global:whereis_name(Name) of
+ 		undefined ->
+ 		    exit(could_not_find_registerd_name);
+ 		Pid ->
+-- 
+1.7.10.2
+
diff --git a/erlang-riak_core-0003-remove-duplicated-include.patch b/erlang-riak_core-0003-remove-duplicated-include.patch
new file mode 100644
index 0000000..6b447d0
--- /dev/null
+++ b/erlang-riak_core-0003-remove-duplicated-include.patch
@@ -0,0 +1,25 @@
+From cbcf615d8c245a66c7cf889e778deaadfb1ebdcd Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Mon, 11 Jun 2012 19:57:14 +0400
+Subject: [PATCH 3/4] remove duplicated include
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ src/riak_core_ring_manager.erl |    1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/riak_core_ring_manager.erl b/src/riak_core_ring_manager.erl
+index cc6102a..86af280 100644
+--- a/src/riak_core_ring_manager.erl
++++ b/src/riak_core_ring_manager.erl
+@@ -23,7 +23,6 @@
+ %% @doc the local view of the cluster's ring configuration
+ 
+ -module(riak_core_ring_manager).
+--include_lib("eunit/include/eunit.hrl").
+ -define(RING_KEY, riak_ring).
+ -behaviour(gen_server2).
+ 
+-- 
+1.7.10.2
+
diff --git a/erlang-riak_core-0004-Guard-all-unguarded-eunit-includes.patch b/erlang-riak_core-0004-Guard-all-unguarded-eunit-includes.patch
new file mode 100644
index 0000000..fd197be
--- /dev/null
+++ b/erlang-riak_core-0004-Guard-all-unguarded-eunit-includes.patch
@@ -0,0 +1,58 @@
+From 785e2714f75f16f1f6764161379256336d3b0da0 Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Mon, 11 Jun 2012 20:09:25 +0400
+Subject: [PATCH 4/4] Guard all unguarded eunit includes
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ src/merkerl.erl |    7 ++++---
+ src/slide.erl   |    3 +++
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/src/merkerl.erl b/src/merkerl.erl
+index b210cd9..dfa36fe 100644
+--- a/src/merkerl.erl
++++ b/src/merkerl.erl
+@@ -50,8 +50,6 @@
+ -module(merkerl).
+ -export([insert/2,delete/2,build_tree/1,diff/2,allkeys/1]).
+ 
+--include_lib("eunit/include/eunit.hrl").
+-
+ % TODO: fix doc, userdata is the ONLY user-exposed key
+ -record(merk, {nodetype,           % atom: expected values are 'leaf' or 'inner'
+                key=undefined,      % if nodetype=leaf, then this is binary/160
+@@ -328,6 +326,9 @@ getkids(Tree) ->
+ sha(X) ->
+     crypto:sha(term_to_binary(X)).
+ 
++-ifdef(TEST).
++-include_lib("eunit/include/eunit.hrl").
++
+ % @spec merkle_test() -> bool()
+ % @doc A test function and example code.
+ %
+@@ -365,4 +366,4 @@ merkle_test() ->
+     I2 = build_tree(I),
+     ?assertEqual(2, length(allkeys(I2))).
+ 
+-
++-endif.
+diff --git a/src/slide.erl b/src/slide.erl
+index 3ee69d1..b78b63f 100644
+--- a/src/slide.erl
++++ b/src/slide.erl
+@@ -54,7 +54,10 @@
+ -export([private_dir/0, sync/1]).
+ 
+ -include_lib("kernel/include/file.hrl").
++
++-ifdef(TEST).
+ -include_lib("eunit/include/eunit.hrl").
++-endif.
+ 
+ -define(DIR, "/tmp/riak/slide-data"). % SLF TODO: need pkg-specific data dir handling
+ -define(REC_BYTES, 12).          % 4 + (size(term_to_binary(4000000000)) = 8)
+-- 
+1.7.10.2
+
diff --git a/erlang-riak_core.spec b/erlang-riak_core.spec
new file mode 100644
index 0000000..01d3d8e
--- /dev/null
+++ b/erlang-riak_core.spec
@@ -0,0 +1,114 @@
+%global realname riak_core
+%global upstream basho
+%global debug_package %{nil}
+%global git_tag 2751120
+%global patchnumber 0
+
+
+Name:		erlang-%{realname}
+Version:	1.1.2
+Release:	1%{?dist}
+Summary:	Distributed systems infrastructure used by Riak
+Group:		Development/Languages
+License:	ASL 2.0
+URL:		https://github.com/basho/riak_core
+# wget --no-check-certificate --content-disposition https://github.com/basho/riak_core/tarball/1.1.2
+Source0:	%{upstream}-%{realname}-%{version}-%{patchnumber}-g%{git_tag}.tar.gz
+# Fedora/EPEL specific
+Patch1:		erlang-riak_core-0001-Remove-checking-for-specific-version-of-libraries.patch
+# Cherry-picked from RabbitMQ sources and sent upstream - https://github.com/basho/riak_core/pull/187
+Patch2:		erlang-riak_core-0002-global-safe_whereis_name-1-has-been-removed.patch
+# Sent upstream - https://github.com/basho/riak_core/pull/188
+Patch3:		erlang-riak_core-0003-remove-duplicated-include.patch
+# Sent upstream - https://github.com/basho/riak_core/pull/188
+Patch4:		erlang-riak_core-0004-Guard-all-unguarded-eunit-includes.patch
+
+# Required for unit-tests only (if you're not interested in a compile-time
+# testing then you may remove these lines):
+BuildRequires:	erlang-basho_stats
+BuildRequires:	erlang-cluster_info
+BuildRequires:	erlang-lager
+BuildRequires:	erlang-mochiweb
+BuildRequires:	erlang-poolboy
+BuildRequires:	erlang-riak_sysmon
+
+# Compile-time requirements
+BuildRequires:	erlang-rebar
+BuildRequires:	erlang-protobuffs
+BuildRequires:	erlang-webmachine
+
+Requires:	erlang-basho_stats
+Requires:	erlang-cluster_info
+Requires:	erlang-crypto
+# Error:erlang(erlang:atom_to_binary/2) in R12B and below
+# Error:erlang(erlang:binary_to_atom/2) in R12B and below
+# Error:erlang(erlang:max/2) in R12B and below
+# Error:erlang(erlang:min/2) in R12B and below
+# Error:erlang(lists:keyfind/3) in R12B and below
+# Error:erlang(os:timestamp/0) in R12B and below
+Requires:	erlang-erts >= R13B
+Requires:	erlang-inets
+Requires:	erlang-kernel
+Requires:	erlang-lager
+Requires:	erlang-mochiweb
+Requires:	erlang-poolboy
+Requires:	erlang-protobuffs
+Requires:	erlang-riak_sysmon
+Requires:	erlang-runtime_tools
+# Error:erlang(ssl:ssl_accept/3) in R12B and below
+Requires:	erlang-ssl >= R13B
+# Error:erlang(supervisor:count_children/1) in R12B and below
+Requires:	erlang-stdlib >= R13B
+Requires:	erlang-webmachine
+
+
+%description
+Distributed systems infrastructure used by Riak.
+
+
+%prep
+%setup -q -n %{upstream}-%{realname}-e3ac25f
+%patch1 -p1 -b .dont_check_for_libs
+%patch2 -p1 -b .r15b01
+%patch3 -p1 -b .duplicated_unguarded_eunit_include
+%patch4 -p1 -b .guard_all_eunit_include
+
+
+%build
+rebar compile -v
+
+
+%install
+mkdir -p %{buildroot}%{_libdir}/erlang/lib/%{realname}-%{version}/{ebin,include,priv}
+install -p -m 644 ebin/%{realname}.app %{buildroot}%{_libdir}/erlang/lib/%{realname}-%{version}/ebin
+install -p -m 644 ebin/*.beam %{buildroot}%{_libdir}/erlang/lib/%{realname}-%{version}/ebin
+install -p -m 644 include/*.hrl %{buildroot}%{_libdir}/erlang/lib/%{realname}-%{version}/include
+
+
+%check
+rebar eunit -v
+
+
+%files
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}/ebin
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}/include
+%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}.app
+%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/*.beam
+%{_libdir}/erlang/lib/%{realname}-%{version}/include/*.hrl
+
+
+%changelog
+* Fri May 18 2012 Peter Lemenkov <lemenkov at gmail.com> - 1.1.2-1
+- Ver. 1.1.2
+
+* Fri Feb 25 2011 Peter Lemenkov <lemenkov at gmail.com> - 0.14.1-1
+- Ver. 0.14.1
+
+* Sat Jan 22 2011 Peter Lemenkov <lemenkov at gmail.com> - 0.14.0-1
+- Ver. 0.14.0
+- Dropped upstreamed patch
+
+* Fri Nov 12 2010 Peter Lemenkov <lemenkov at gmail.com> - 0.13.0-1
+- Initial build
+
diff --git a/sources b/sources
index e69de29..6b6f601 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+32ac278e5b729fd0652f697bef24cf93  basho-riak_core-1.1.2-0-g2751120.tar.gz


More information about the scm-commits mailing list