[erlang-cluster_info] Initial commit (see rhbz #671884)
Peter Lemenkov
peter at fedoraproject.org
Mon Feb 21 20:38:58 UTC 2011
commit 45d40a6e4c9fef65f9ebb28a5aa713b1bd810a85
Author: Peter Lemenkov <lemenkov at gmail.com>
Date: Mon Feb 21 23:38:37 2011 +0300
Initial commit (see rhbz #671884)
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
.gitignore | 1 +
...cluster_info-0001-drop-gmt_util-dependency.diff | 74 ++++++++++++++++++++
erlang-cluster_info.spec | 65 +++++++++++++++++
sources | 1 +
4 files changed, 141 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..1b377b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/hibari-cluster-info-v0.1.0-0-gd077716.tar.gz
diff --git a/erlang-cluster_info-0001-drop-gmt_util-dependency.diff b/erlang-cluster_info-0001-drop-gmt_util-dependency.diff
new file mode 100644
index 0000000..dffeec6
--- /dev/null
+++ b/erlang-cluster_info-0001-drop-gmt_util-dependency.diff
@@ -0,0 +1,74 @@
+diff --git a/src/cluster_info.erl b/src/cluster_info.erl
+index e53a8bc..aa952fb 100644
+--- a/src/cluster_info.erl
++++ b/src/cluster_info.erl
+@@ -99,7 +99,7 @@ dump_node(Node, Path) when is_atom(Node), is_list(Path) ->
+ dump_local_info(Collector),
+ collector_done(Collector)
+ end),
+- {ok, MRef} = gmt_util:make_monitor(Remote),
++ {ok, MRef} = gmt_util_make_monitor(Remote),
+ Res = try
+ ok = collect_remote_info(Remote, FH)
+ catch X:Y ->
+@@ -108,7 +108,7 @@ dump_node(Node, Path) when is_atom(Node), is_list(Path) ->
+ error
+ after
+ catch file:close(FH),
+- gmt_util:unmake_monitor(MRef)
++ gmt_util_unmake_monitor(MRef)
+ end,
+ Res.
+
+@@ -243,3 +243,51 @@ harvest_reqs(Timeout) ->
+ after Timeout ->
+ []
+ end.
++
++%% From gmt_util.erl, also Apache Public License'd.
++
++%% @spec (server_spec()) -> {ok, monitor_ref()} | error
++%% @doc Simplify the arcane art of <tt>erlang:monitor/1</tt>:
++%% create a monitor.
++%%
++%% The arg may be a PID or a {registered_name, node} tuple.
++%% In the case of the tuple, we will use rpc:call/4 to find the
++%% server's actual PID before calling erlang:monitor();
++%% therefore there is a risk of blocking by the RPC call.
++%% To avoid the risk of blocking in this case, use make_monitor/2.
++
++gmt_util_make_monitor(Pid) when is_pid(Pid) ->
++ gmt_util_make_monitor2(Pid);
++gmt_util_make_monitor({Name, Node}) ->
++ case catch rpc:call(Node, erlang, whereis, [Name]) of
++ Pid when is_pid(Pid) ->
++ gmt_util_make_monitor2(Pid);
++ _ ->
++ error
++ end.
++
++gmt_util_make_monitor2(Spec) -> % Private func
++ case catch erlang:monitor(process, Spec) of
++ MRef when is_reference(MRef) ->
++ receive
++ {'DOWN', MRef, _, _, _} ->
++ error
++ after 0 ->
++ {ok, MRef}
++ end;
++ _ ->
++ error
++ end.
++
++%% @spec (pid()) -> {ok, monitor_ref()} | error
++%% @doc Simplify the arcane art of <tt>erlang:demonitor/1</tt>:
++%% destroy a monitor.
++
++gmt_util_unmake_monitor(MRef) ->
++ erlang:demonitor(MRef),
++ receive
++ {'DOWN', MRef, _, _, _} ->
++ ok
++ after 0 ->
++ ok
++ end.
diff --git a/erlang-cluster_info.spec b/erlang-cluster_info.spec
new file mode 100644
index 0000000..88d8f7b
--- /dev/null
+++ b/erlang-cluster_info.spec
@@ -0,0 +1,65 @@
+%global realname cluster_info
+%global debug_package %{nil}
+%global git_tag d077716
+
+
+Name: erlang-%{realname}
+Version: 0.1.0
+Release: 0.3.20101229git%{git_tag}%{?dist}
+Summary: Cluster info/postmortem inspector for Erlang applications
+Group: Development/Languages
+License: ASL 2.0
+URL: https://github.com/hibari/cluster-info
+# wget --no-check-certificate https://github.com/hibari/cluster-info/tarball/d077716
+Source0: hibari-cluster-info-v%{version}-0-g%{git_tag}.tar.gz
+Patch1: erlang-cluster_info-0001-drop-gmt_util-dependency.diff
+BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+BuildRequires: erlang-erts
+BuildRequires: erlang-rebar
+# erlang:get_stacktrace/0
+Requires: erlang-erts >= R12B
+Requires: erlang-kernel
+Requires: erlang-stdlib
+
+
+%description
+Cluster info/postmortem inspector for Erlang applications.
+
+
+%prep
+%setup -q -n hibari-cluster-info-%{git_tag}
+%patch1 -p1 -b .drop-gmt_util_dependency
+
+
+%build
+rebar compile -v
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/ebin
+install -m 644 ebin/%{realname}.{app,beam} $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/ebin
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%files
+%defattr(-,root,root,-)
+%doc LICENSE
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}/ebin
+%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}.app
+%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}.beam
+
+
+%changelog
+* Sun Feb 20 2011 Peter Lemenkov <lemenkov at gmail.com> - 0.1.0-0.3.20101229gitd077716
+- Changed Source0 again
+
+* Sun Jan 30 2011 Peter Lemenkov <lemenkov at gmail.com> - 0.1.0-0.2.20101229gitd077716
+- Changed Source0 url
+
+* Sat Jan 22 2011 Peter Lemenkov <lemenkov at gmail.com> - 0.1.0-0.1.20101229gitd077716
+- Initial build
diff --git a/sources b/sources
index e69de29..5397ff2 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+c80f5c022cc934e1694bcaec3c5af047 hibari-cluster-info-v0.1.0-0-gd077716.tar.gz
More information about the scm-commits
mailing list