anchor.diff:      "-name " ++ Name ++ "@" ++ Hostname;
   name_param1(Name, {local, Hostname}, _) ->
       "-sname " ++ Name ++ "@" ++ Hostname.
  -
  -
  -get_host({local, Hostname}) -> Hostname;
  -get_host({fqdn, Hostname}) -> string:sub_word(Hostname, 1, $.).
   
   %%------------------------------------------------------------------------------
   
  
positive.code:     {true, {App, Name, Path}};
  get_priv_dir(false, [], _App, _Name, _Dir, _Path) ->
      false.
  
  %%------------------------------------------------------------------------------
  
  
negative.code: 
  %%------------------------------------------------------------------------------
  
  parse(Args, Params) ->
      parse(Args, Params, false, []).
  
  parse(["--config", Config | T], P, J, Acc) ->
      parse(T, P, false, add_config(Config,                 add_joins(J, Acc)));
  parse(["-f" | T],               P, J, Acc) ->
      parse(T, P, false, bld_lib:ensure_member(do_delete,   add_joins(J, Acc)));
  parse(["-i", Node | T],         P, J, Acc) ->
      parse(T, P, false, bld_lib:add_node(Node, install, P, add_joins(J, Acc)));
  parse(["-s", Node | T],         P, J, Acc) ->
      parse(T, P, false, bld_lib:add_node(Node, setup,   P, add_joins(J, Acc)));
  parse(["-j", Type | T],         P, J, Acc) ->
      parse(T, P, [add_join_type(Type, P)],                 add_joins(J, Acc));
  parse([],                       P, J, Acc) ->
      add_seq(P, ensure_nodes(P, lists:reverse(add_joins(J, Acc))));
  parse(Other,                    _P, false, _Acc) ->
      bld_lib:halt_badarg(Other);
  parse([Type | T],               P, J, Acc) ->
      parse(T, P, [add_join_type(Type, P) | J], Acc).
  
  add_joins(false, Acc) -> Acc;
  add_joins(Join, Acc) -> [{join, lists:reverse(Join)} | Acc].
  