anchor.diff:                  get_temp_path(BuildPath, Rev),
                   Rev),
               arm_build_bucket(Buckets, DepsDets, Bucket, BuildPath, Deps),
  -            ?UNLOCK(Bucket),
               {ok, 
                   {none, {Rev, Bucket, BuildPath}}
               };
  
positive.code:             error_logger:error_msg("failed to find or create a bucket for ~p~n", [Rev]),
              {error, "failed to find a place to build, sorry"}
      end,
      Res.
      
  
  
negative.code: %% {{{{2 Pipe functions
  
  unpack_rev(Rev, {BuildPath, Buckets, DepsDets}) ->
      ?LOCK(1),
      Package = ?VERSION(Rev),
      error_logger:info_msg("unpacking revision ~p~n", [Package]),
      Deps = Rev#rev_def.dep_object,
      Res = case find_bucket(Buckets, Package, Deps) of
          [Bucket|_] ->
              error_logger:info_msg("found a bucket for ~p: ~p~n", [Rev, Bucket]),
              update_package_buckets(
                  Buckets,
                  DepsDets, 
  