diff --git a/.gitignore b/.gitignore index e69de29..be03fe5 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/riak_ensemble-2.1.2.tar.gz diff --git a/erlang-riak_ensemble-0001-Remove-deprecated-BIF.patch b/erlang-riak_ensemble-0001-Remove-deprecated-BIF.patch new file mode 100644 index 0000000..b4fd547 --- /dev/null +++ b/erlang-riak_ensemble-0001-Remove-deprecated-BIF.patch @@ -0,0 +1,32 @@ +From: Peter Lemenkov +Date: Fri, 22 Apr 2016 13:57:32 +0300 +Subject: [PATCH] Remove deprecated BIF + +Signed-off-by: Peter Lemenkov + +diff --git a/src/riak_ensemble_manager.erl b/src/riak_ensemble_manager.erl +index f0a1085..4cbb7ce 100644 +--- a/src/riak_ensemble_manager.erl ++++ b/src/riak_ensemble_manager.erl +@@ -487,7 +487,7 @@ reload_state() -> + -spec initial_state() -> state(). + initial_state() -> + ets:insert(?ETS, {enabled, false}), +- ClusterName = {node(), erlang:now()}, ++ ClusterName = {node(), os:timestamp()}, + CS = riak_ensemble_state:new(ClusterName), + State=#state{version=0, + ensemble_data=[], +diff --git a/src/synctree_leveldb.erl b/src/synctree_leveldb.erl +index 69d005d..0deeef9 100644 +--- a/src/synctree_leveldb.erl ++++ b/src/synctree_leveldb.erl +@@ -87,7 +87,7 @@ get_path(Opts) -> + case proplists:get_value(path, Opts) of + undefined -> + Base = "/tmp/ST", +- Name = integer_to_list(timestamp(erlang:now())), ++ Name = integer_to_list(timestamp(os:timestamp())), + filename:join(Base, Name); + Path -> + Path diff --git a/erlang-riak_ensemble.spec b/erlang-riak_ensemble.spec new file mode 100644 index 0000000..94376e4 --- /dev/null +++ b/erlang-riak_ensemble.spec @@ -0,0 +1,63 @@ +%global realname riak_ensemble +%global upstream basho +# Technically, we're noarch; but erlang whose directories we install into is not. +%global debug_package %{nil} + + +Name: erlang-%{realname} +Version: 2.1.2 +Release: 1%{?dist} +Summary: Multi-Paxos framework in Erlang +Group: Development/Languages +License: ASL 2.0 +URL: https://github.com/%{upstream}/%{realname} +%if 0%{?el7}%{?fedora} +VCS: scm:git:https://github.com/%{upstream}/%{realname}.git +%endif +Source0: https://github.com/%{upstream}/%{realname}/archive/%{version}/%{realname}-%{version}.tar.gz +Patch1: erlang-riak_ensemble-0001-Remove-deprecated-BIF.patch +BuildRequires: erlang-eleveldb +BuildRequires: erlang-lager +BuildRequires: erlang-rebar +#BuildRequires: erlang-riak_test +%{?__erlang_nif_version:Requires: %{__erlang_nif_version}} + + +%description +A consensus library that supports creating multiple consensus groups +(ensembles). Each ensemble is a separate Multi-Paxos instance with its own +leader, set of members, and state. + +Each ensemble also supports an extended API that provides consistent key/value +operations. Conceptually, this is identical to treating each key as a separate +Paxos entity. However, this isn't accomplished by having each key maintain its +own Paxos group. Instead, an ensemble emulates per-key consensus through a +combination of per-key and per-ensemble state. + + +%prep +%setup -q -n %{realname}-%{version} +%patch1 -p1 -b .deprecated_bifs + + +%build +%{erlang_compile} + + +%install +%{erlang_install} + + +%check +#%%{erlang_test} + + +%files +%license LICENSE +%doc doc/ README.md +%{erlang_appdir}/ + + +%changelog +* Wed Mar 16 2016 Peter Lemenkov - 2.1.2-1 +- Ver. 2.1.2 diff --git a/sources b/sources index e69de29..028df43 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +c9e1a2927e1fb1adfadf7f419529ae88 riak_ensemble-2.1.2.tar.gz