diff options
author | Renato Botelho <renato@netgate.com> | 2016-04-21 16:34:40 -0300 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2016-04-21 16:34:52 -0300 |
commit | 15333972e7916918be46c3d7c4e8ded240ac773a (patch) | |
tree | 383beecf9a2b3c8e944ba4e778c980e07f09e9af /tools/builder_common.sh | |
parent | 61b63ac04aeae6ddaefae3f0f793f5c6500dc148 (diff) | |
download | pfsense-15333972e7916918be46c3d7c4e8ded240ac773a.zip pfsense-15333972e7916918be46c3d7c4e8ded240ac773a.tar.gz |
Send pkg repos to staging server before move to final one
Diffstat (limited to 'tools/builder_common.sh')
-rw-r--r-- | tools/builder_common.sh | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/tools/builder_common.sh b/tools/builder_common.sh index eac8135..27380e9 100644 --- a/tools/builder_common.sh +++ b/tools/builder_common.sh @@ -1833,14 +1833,14 @@ finish() { } pkg_repo_rsync() { - local _repo_path="${1}" + local _repo_path_param="${1}" - if [ -z "${_repo_path}" -o ! -d "${_repo_path}" ]; then + if [ -z "${_repo_path_param}" -o ! -d "${_repo_path_param}" ]; then return fi # Sanitize path - _repo_path=$(realpath ${_repo_path}) + _repo_path=$(realpath ${_repo_path_param}) local _repo_dir=$(dirname ${_repo_path}) local _repo_base=$(basename ${_repo_path}) @@ -1899,6 +1899,11 @@ pkg_repo_rsync() { return fi + # Make sure destination directory exist + ssh -p ${PKG_RSYNC_SSH_PORT} \ + ${PKG_RSYNC_USERNAME}@${PKG_RSYNC_HOSTNAME} \ + "mkdir -p ${PKG_RSYNC_DESTDIR}" + echo -n ">>> Sending updated repository to ${PKG_RSYNC_HOSTNAME}... " | tee -a ${_logfile} if script -aq ${_logfile} rsync -ave "ssh -p ${PKG_RSYNC_SSH_PORT}" \ --timeout=60 --delete-delay ${_repo_path} \ @@ -1910,6 +1915,26 @@ pkg_repo_rsync() { echo ">>> ERROR: An error occurred sending repo to remote hostname" print_error_pfS fi + + if [ -z "${USE_PKG_REPO_STAGING}" ]; then + return + fi + + if [ -n "${_IS_RELEASE}" -o "${_repo_path_param}" = "${CORE_PKG_PATH}" ]; then + local _cmd="rsync -ave \"ssh -p ${PKG_FINAL_RSYNC_SSH_PORT}\" \ + --timeout=60 --delete-delay ${PKG_RSYNC_DESTDIR}/./${_repo_base%%-core}* \ + ${PKG_FINAL_RSYNC_USERNAME}@${PKG_FINAL_RSYNC_HOSTNAME}:${PKG_FINAL_RSYNC_DESTDIR}" + + echo -n ">>> Sending updated repositories to ${PKG_FINAL_RSYNC_HOSTNAME}... " | tee -a ${_logfile} + if script -aq ${_logfile} ssh -p ${PKG_RSYNC_SSH_PORT} \ + ${PKG_RSYNC_USERNAME}@${PKG_RSYNC_HOSTNAME} ${_cmd} >/dev/null 2>&1; then + echo "Done!" | tee -a ${_logfile} + else + echo "Failed!" | tee -a ${_logfile} + echo ">>> ERROR: An error occurred sending repo to final hostname" + print_error_pfS + fi + fi } poudriere_create_patch() { |