copy all explorers, so they can reference themselves

Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
Nico Schottelius 2011-02-23 00:04:36 +01:00
parent d3e2c4a3e8
commit 5cfaad9d7a
1 changed files with 18 additions and 11 deletions

View File

@ -18,10 +18,11 @@
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
#
#
# FIXME: This script is ugly, should be either seperated into smaller ones,
# but definitely be cleaned up - PROOF OF CONCEPT CODE
# FIXME: Replace * references: * breaks if there is no explorer
# or FIXME: check that there is at least one explorer?
#
. cdist-config
if [ $# -ne 5 ]; then
__cdist_usage "<target host> <local srcdir> <local dstdir> <remote srcdir> <remote dstdir>"
@ -49,17 +50,23 @@ mkdir -p "$__cdist_local_dst_dir"
# FIXME: enable -q as soon as the code is cleaned up
cd "${__cdist_local_src_dir}"
for explorer in *; do
# Copy explorers to remote source directory
scp "${explorer}" \
"${__cdist_remote_user}@${__cdist_target_host}:${__cdist_remote_src_dir}"
# Ensure there is at least one explorer
num="$(ls -1 | wc -l)"
if [ "$num" -lt 1 ]; then
__cdist_exit_err "${__cdist_local_src_dir}: Contains no explorers"
fi
# Copy all explorers to remote source directory
scp * "${__cdist_remote_user}@${__cdist_target_host}:${__cdist_remote_src_dir}"
for explorer in *; do
# Execute explorers and save results in remote destination directory
ssh "${__cdist_remote_user}@${__cdist_target_host}" \
"\"${__cdist_remote_src_dir}/$explorer\" > \
"cd \"${__cdist_remote_src_dir}\" && \"./$explorer\" > \
\"${__cdist_remote_dst_dir}/${explorer}\""
# Copy results back to us
scp "${__cdist_remote_user}@${__cdist_target_host}:${__cdist_remote_dst_dir}/${explorer}" \
"$__cdist_local_dst_dir/$explorer"
done
# Copy results back to us
scp "${__cdist_remote_user}@${__cdist_target_host}:${__cdist_remote_dst_dir}/*" \
"$__cdist_local_dst_dir"