cdist-backup/bin/cdist-bin-transfer
Nico Schottelius 1ee4647b28 make version static on remote side
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-03-04 09:07:59 +01:00

51 lines
1.7 KiB
Bash
Executable file

#!/bin/sh
#
# 2010-2011 Nico Schottelius (nico-cdist at schottelius.org)
#
# This file is part of cdist.
#
# cdist is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# cdist is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
#
#
# Transfer all executables
#
. cdist-config
[ $# -eq 2 ] || __cdist_usage "<target host> <remote bin dir>"
set -eu
__cdist_target_host="$1"; shift
__cdist_my_remote_out_dir="$1"; shift
# Find directory that contains cdist binaries
__cdist_conf_dir_path=$(which cdist-config)
__cdist_src_base=${__cdist_conf_dir_path%config}
# Help the user
echo "Transferring cdist binaries ..."
# re-create basedir so it's clean
ssh "${__cdist_remote_user}@${__cdist_target_host}" \
"rm -rf \"${__cdist_my_remote_out_dir}\" && mkdir -p \"${__cdist_my_remote_out_dir}\""
# Transfer cdist-* to the remote host
scp -qr "${__cdist_src_base}"* \
"${__cdist_remote_user}@${__cdist_target_host}:${__cdist_my_remote_out_dir}"
# Adjust cdist-config to contain static version string
tmp_version="$__cdist_version"
sed "s/^\(__cdist_version=\).*/\1\"$tmp_version\"/" "$(which cdist-config)" | \
ssh -q "${__cdist_remote_user}@${__cdist_target_host}" \
"cat > \"${__cdist_my_remote_out_dir}\"/cdist-config"