Revert "Revert "oran-shell-release: release image for F""
[pti/rtp.git] / meta-starlingx / meta-stx-cloud / recipes-extended / rabbitmq / files / rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch
1 From: Peter Lemenkov <lemenkov@gmail.com>
2 Date: Wed, 25 May 2016 22:24:44 +0300
3 Subject: [PATCH] Revert "Distinct exit-codes for CLI utilities"
4
5 This reverts commit 7984540175d0b8852025165b6b6a0ac05d692c98.
6
7 diff --git a/include/rabbit_cli.hrl b/include/rabbit_cli.hrl
8 index a0d1ecf..efd328a 100644
9 --- a/include/rabbit_cli.hrl
10 +++ b/include/rabbit_cli.hrl
11 @@ -46,14 +46,3 @@
12  -define(RAM_DEF, {?RAM_OPT, flag}).
13  -define(OFFLINE_DEF, {?OFFLINE_OPT, flag}).
14  -define(ONLINE_DEF, {?ONLINE_OPT, flag}).
15 -
16 -%% Subset of standartized exit codes from sysexits.h, see
17 -%% https://github.com/rabbitmq/rabbitmq-server/issues/396 for discussion.
18 --define(EX_OK         ,  0).
19 --define(EX_USAGE      , 64).  % Bad command-line arguments.
20 --define(EX_DATAERR    , 65).  % Wrong data in command-line arguments.
21 --define(EX_NOUSER     , 67).  % The user specified does not exist.
22 --define(EX_UNAVAILABLE, 69).  % Could not connect to the target node.
23 --define(EX_SOFTWARE   , 70).  % Failed to execute command.
24 --define(EX_TEMPFAIL   , 75).  % Temporary error (e.g. something has timed out).
25 --define(EX_CONFIG     , 78).  % Misconfiguration detected
26 diff --git a/src/rabbit_cli.erl b/src/rabbit_cli.erl
27 index 6b35482..dc490ad 100644
28 --- a/src/rabbit_cli.erl
29 +++ b/src/rabbit_cli.erl
30 @@ -58,7 +58,7 @@ ensure_cli_distribution() ->
31          {error, Error} ->
32              print_error("Failed to initialize erlang distribution: ~p.",
33                          [Error]),
34 -            rabbit_misc:quit(?EX_TEMPFAIL)
35 +            rabbit_misc:quit(2)
36      end.
37  
38  %%----------------------------------------------------------------------------
39 @@ -84,10 +84,10 @@ main(ParseFun, DoFun, UsageMod) ->
40      %% thrown errors into normal return values
41      case catch DoFun(Command, Node, Args, Opts) of
42          ok ->
43 -            rabbit_misc:quit(?EX_OK);
44 +            rabbit_misc:quit(0);
45          {ok, Result} ->
46              rabbit_control_misc:print_cmd_result(Command, Result),
47 -            rabbit_misc:quit(?EX_OK);
48 +            rabbit_misc:quit(0);
49          {'EXIT', {function_clause, [{?MODULE, action, _}    | _]}} -> %% < R15
50              PrintInvalidCommandError(),
51              usage(UsageMod);
52 @@ -97,51 +97,51 @@ main(ParseFun, DoFun, UsageMod) ->
53          {error, {missing_dependencies, Missing, Blame}} ->
54              print_error("dependent plugins ~p not found; used by ~p.",
55                          [Missing, Blame]),
56 -            rabbit_misc:quit(?EX_CONFIG);
57 +            rabbit_misc:quit(2);
58          {'EXIT', {badarg, _}} ->
59              print_error("invalid parameter: ~p", [Args]),
60 -            usage(UsageMod, ?EX_DATAERR);
61 +            usage(UsageMod, 2);
62          {error, {Problem, Reason}} when is_atom(Problem), is_binary(Reason) ->
63              %% We handle this common case specially to avoid ~p since
64              %% that has i18n issues
65              print_error("~s: ~s", [Problem, Reason]),
66 -            rabbit_misc:quit(?EX_SOFTWARE);
67 +            rabbit_misc:quit(2);
68          {error, Reason} ->
69              print_error("~p", [Reason]),
70 -            rabbit_misc:quit(?EX_SOFTWARE);
71 +            rabbit_misc:quit(2);
72          {error_string, Reason} ->
73              print_error("~s", [Reason]),
74 -            rabbit_misc:quit(?EX_SOFTWARE);
75 +            rabbit_misc:quit(2);
76          {badrpc, {'EXIT', Reason}} ->
77              print_error("~p", [Reason]),
78 -            rabbit_misc:quit(?EX_SOFTWARE);
79 +            rabbit_misc:quit(2);
80          {badrpc, Reason} ->
81              case Reason of
82                  timeout ->
83                      print_error("operation ~w on node ~w timed out", [Command, Node]),
84 -                    rabbit_misc:quit(?EX_TEMPFAIL);
85 +                    rabbit_misc:quit(2);
86                  _ ->
87                      print_error("unable to connect to node ~w: ~w", [Node, Reason]),
88                      print_badrpc_diagnostics([Node]),
89                      case Command of
90 -                        stop -> rabbit_misc:quit(?EX_OK);
91 -                        _    -> rabbit_misc:quit(?EX_UNAVAILABLE)
92 +                        stop -> rabbit_misc:quit(0);
93 +                        _    -> rabbit_misc:quit(2)
94                      end
95              end;
96          {badrpc_multi, Reason, Nodes} ->
97              print_error("unable to connect to nodes ~p: ~w", [Nodes, Reason]),
98              print_badrpc_diagnostics(Nodes),
99 -            rabbit_misc:quit(?EX_UNAVAILABLE);
100 +            rabbit_misc:quit(2);
101          function_clause ->
102              print_error("operation ~w used with invalid parameter: ~p",
103                          [Command, Args]),
104              usage(UsageMod);
105          {refused, Username, _, _} ->
106              print_error("failed to authenticate user \"~s\"", [Username]),
107 -            rabbit_misc:quit(?EX_NOUSER);
108 +            rabbit_misc:quit(2);
109          Other ->
110              print_error("~p", [Other]),
111 -            rabbit_misc:quit(?EX_SOFTWARE)
112 +            rabbit_misc:quit(2)
113      end.
114  
115  start_distribution_anon(0, LastError) ->
116 @@ -172,7 +172,7 @@ name_type() ->
117      end.
118  
119  usage(Mod) ->
120 -    usage(Mod, ?EX_USAGE).
121 +    usage(Mod, 1).
122  
123  usage(Mod, ExitCode) ->
124      io:format("~s", [Mod:usage()]),