Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
Nico Schottelius 2011-06-14 10:57:33 +02:00
parent 00bbadef78
commit 022db22924
4 changed files with 47 additions and 36 deletions

View file

@ -24,45 +24,50 @@
# and __type_explorers can be submitted :-)
#
. cdist-config
[ $# -eq 3 ] || __cdist_usage "<variable name> <explorer dir> <out dir>"
set -ue
# FIXME: cleanup!
__cdist_remote_explorer_run()
{
[ $# -eq 3 ] || __cdist_usage "<variable name> <explorer dir> <out dir>"
set -ue
# Variable that defines the home of the explorers
__cdist_variable_name="$1"; shift
"$__cdist_name_var_object=\"$(__cdist_remote_object_dir "$__cdist_object_self")\""
# Find explorers here
__cdist_explorer_dir="$1"; shift
# Variable that defines the home of the explorers
__cdist_variable_name="$1"; shift
# Write output here
__cdist_my_out_dir="$1"; shift
# Find explorers here
__cdist_explorer_dir="$1"; shift
# Setup environment
export $__cdist_variable_name="$__cdist_explorer_dir"
export __global="$__cdist_remote_out_dir"
# Write output here
__cdist_my_out_dir="$1"; shift
mkdir -p "$__cdist_my_out_dir"
# Setup environment
export $__cdist_variable_name="$__cdist_explorer_dir"
export __global="$__cdist_remote_out_dir"
# Ensure there is at least one explorer
num="$(ls -1 "$__cdist_explorer_dir" | wc -l)"
if [ "$num" -lt 1 ]; then
__cdist_exit_err "${__cdist_explorer_dir}: Contains no explorers"
fi
mkdir -p "$__cdist_my_out_dir"
# Execute all explorers
for explorer in "$__cdist_explorer_dir/"*; do
explorer_name="${explorer##*/}"
if [ -f "$explorer" ]; then
if [ ! -x "$explorer" ]; then
__cdist_exit_err "Explorer \"$explorer\" exists, but is not executable."
fi
# Execute explorers and save results in remote destination directory
"$explorer" > "${__cdist_my_out_dir}/$explorer_name"
else
if [ -e "$explorer" ]; then
__cdist_exit_err "Explorer \"$explorer\" exists, but is not a file."
fi
# Ensure there is at least one explorer
num="$(ls -1 "$__cdist_explorer_dir" | wc -l)"
if [ "$num" -lt 1 ]; then
__cdist_exit_err "${__cdist_explorer_dir}: Contains no explorers"
fi
done
# Execute all explorers
for explorer in "$__cdist_explorer_dir/"*; do
explorer_name="${explorer##*/}"
if [ -f "$explorer" ]; then
if [ ! -x "$explorer" ]; then
__cdist_exit_err "Explorer \"$explorer\" exists, but is not executable."
fi
# Execute explorers and save results in remote destination directory
"$explorer" > "${__cdist_my_out_dir}/$explorer_name"
else
if [ -e "$explorer" ]; then
__cdist_exit_err "Explorer \"$explorer\" exists, but is not a file."
fi
fi
done
}

View file

@ -23,7 +23,6 @@
__cdist_code_run()
{
[ $# -eq 2 ] || __cdist_usage "<object> <type>"
__cdist_object_self="$1"; shift
@ -49,4 +48,7 @@ __cdist_code_run()
__cdist_exit_err "$__cdist_code exists, but is not a file."
fi
fi
# Exit gracefully if nothing is todo
true
}

View file

@ -28,7 +28,6 @@
__cdist_object_gencode()
{
__cdist_myname="foo"
[ $# -eq 2 ] || __cdist_usage "<object>" "<type>"
__cdist_object_self="$1"; shift

View file

@ -38,6 +38,8 @@ __cdist_object_run()
# Export to non-core for use in manifest and gencode scripts
export $__cdist_name_var_self=$__cdist_object_self
# FIXME: BUG: should be named differently!
# FIXME: BUG: I can be called recursively! -> variables are probably already set / overwritten!
__cdist_object_finished="$(__cdist_object_finished "$__cdist_object_self")"
if [ ! -f "$__cdist_object_finished" ]; then
# Resolve dependencies, if any
@ -52,9 +54,12 @@ __cdist_object_run()
__cdist_requirement="$1"; shift
__cdist_echo info "Resolving requirement $__cdist_requirement"
__cdist_object_run "$__cdist_requirement"
echo "done run"
done
fi
echo "after done"
__cdist_object_gencode_run "$__cdist_object_self"
__cdist_dir push "$(__cdist_object_dir "$__cdist_object_self")" \
"$(__cdist_remote_object_dir "$__cdist_object_self")"