mirror of
https://github.com/pfsense/pfsense.git
synced 2025-10-26 11:38:35 +00:00
Change build scripts to make it possible to rsync files to multiple locations
This commit is contained in:
parent
ece2a8bc2f
commit
cdacfec868
@ -1979,59 +1979,63 @@ 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}"
|
||||
for _pkg_rsync_hostname in ${PKG_RSYNC_HOSTNAME}; do
|
||||
# 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 -Have "ssh -p ${PKG_RSYNC_SSH_PORT}" \
|
||||
--timeout=60 --delete-delay ${_repo_path} \
|
||||
${PKG_RSYNC_USERNAME}@${PKG_RSYNC_HOSTNAME}:${PKG_RSYNC_DESTDIR} >/dev/null 2>&1
|
||||
then
|
||||
echo "Done!" | tee -a ${_logfile}
|
||||
else
|
||||
echo "Failed!" | tee -a ${_logfile}
|
||||
echo ">>> ERROR: An error occurred sending repo to remote hostname"
|
||||
print_error_pfS
|
||||
fi
|
||||
|
||||
if [ -z "${USE_PKG_REPO_STAGING}" -o -n "${_ignore_final_rsync}" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
if [ -n "${_IS_RELEASE}" -o "${_repo_path_param}" = "${CORE_PKG_PATH}" ]; then
|
||||
# Send .real* directories first to prevent having a broken repo while transfer happens
|
||||
local _cmd="rsync -Have \"ssh -p ${PKG_FINAL_RSYNC_SSH_PORT}\" \
|
||||
--timeout=60 ${PKG_RSYNC_DESTDIR}/./${_repo_base%%-core}* \
|
||||
--include=\"/*\" --include=\"*/.real*\" --include=\"*/.real*/***\" \
|
||||
--exclude=\"*\" \
|
||||
${PKG_FINAL_RSYNC_USERNAME}@${PKG_FINAL_RSYNC_HOSTNAME}:${PKG_FINAL_RSYNC_DESTDIR}"
|
||||
|
||||
echo -n ">>> Sending updated packages 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 -n ">>> Sending updated repository to ${_pkg_rsync_hostname}... " | tee -a ${_logfile}
|
||||
if script -aq ${_logfile} rsync -Have "ssh -p ${PKG_RSYNC_SSH_PORT}" \
|
||||
--timeout=60 --delete-delay ${_repo_path} \
|
||||
${PKG_RSYNC_USERNAME}@${_pkg_rsync_hostname}:${PKG_RSYNC_DESTDIR} >/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"
|
||||
echo ">>> ERROR: An error occurred sending repo to remote hostname"
|
||||
print_error_pfS
|
||||
fi
|
||||
|
||||
_cmd="rsync -Have \"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 metadata 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
|
||||
if [ -z "${USE_PKG_REPO_STAGING}" -o -n "${_ignore_final_rsync}" ]; then
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${_IS_RELEASE}" -o "${_repo_path_param}" = "${CORE_PKG_PATH}" ]; then
|
||||
for _pkg_final_rsync_hostname in ${PKG_FINAL_RSYNC_HOSTNAME}; do
|
||||
# Send .real* directories first to prevent having a broken repo while transfer happens
|
||||
local _cmd="rsync -Have \"ssh -p ${PKG_FINAL_RSYNC_SSH_PORT}\" \
|
||||
--timeout=60 ${PKG_RSYNC_DESTDIR}/./${_repo_base%%-core}* \
|
||||
--include=\"/*\" --include=\"*/.real*\" --include=\"*/.real*/***\" \
|
||||
--exclude=\"*\" \
|
||||
${PKG_FINAL_RSYNC_USERNAME}@${_pkg_final_rsync_hostname}:${PKG_FINAL_RSYNC_DESTDIR}"
|
||||
|
||||
echo -n ">>> Sending updated packages 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
|
||||
|
||||
_cmd="rsync -Have \"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 metadata 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
|
||||
done
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
poudriere_create_patch() {
|
||||
@ -2566,65 +2570,67 @@ snapshots_scp_files() {
|
||||
pkg_repo_rsync "${CORE_PKG_PATH}"
|
||||
snapshots_update_status ">>> Finished copying core pkg repo"
|
||||
|
||||
snapshots_update_status ">>> Copying files to ${RSYNCIP}"
|
||||
for _rsyncip in ${RSYNCIP}; do
|
||||
snapshots_update_status ">>> Copying files to ${_rsyncip}"
|
||||
|
||||
# Ensure directory(s) are available
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "mkdir -p ${RSYNCPATH}/installer"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "mkdir -p ${RSYNCPATH}/updates"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "mkdir -p ${RSYNCPATH}/nanobsd"
|
||||
if [ -d $STAGINGAREA/virtualization ]; then
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "mkdir -p ${RSYNCPATH}/virtualization"
|
||||
fi
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "mkdir -p ${RSYNCPATH}/.updaters"
|
||||
# ensure permissions are correct for r+w
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "chmod -R ug+rw ${RSYNCPATH}/."
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-*iso* \
|
||||
${RSYNCUSER}@${RSYNCIP}:${RSYNCPATH}/installer/
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-memstick* \
|
||||
${RSYNCUSER}@${RSYNCIP}:${RSYNCPATH}/installer/
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-*Update* \
|
||||
${RSYNCUSER}@${RSYNCIP}:${RSYNCPATH}/updates/
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/nanobsd/* \
|
||||
${RSYNCUSER}@${RSYNCIP}:${RSYNCPATH}/nanobsd/
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/nanobsdupdates/* \
|
||||
${RSYNCUSER}@${RSYNCIP}:${RSYNCPATH}/updates/
|
||||
if [ -d $STAGINGAREA/virtualization ]; then
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/virtualization/* \
|
||||
${RSYNCUSER}@${RSYNCIP}:${RSYNCPATH}/virtualization/
|
||||
fi
|
||||
# Ensure directory(s) are available
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "mkdir -p ${RSYNCPATH}/installer"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "mkdir -p ${RSYNCPATH}/updates"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "mkdir -p ${RSYNCPATH}/nanobsd"
|
||||
if [ -d $STAGINGAREA/virtualization ]; then
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "mkdir -p ${RSYNCPATH}/virtualization"
|
||||
fi
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "mkdir -p ${RSYNCPATH}/.updaters"
|
||||
# ensure permissions are correct for r+w
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "chmod -R ug+rw ${RSYNCPATH}/."
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-*iso* \
|
||||
${RSYNCUSER}@${_rsyncip}:${RSYNCPATH}/installer/
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-memstick* \
|
||||
${RSYNCUSER}@${_rsyncip}:${RSYNCPATH}/installer/
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/${PRODUCT_NAME}${PRODUCT_NAME_SUFFIX}-*Update* \
|
||||
${RSYNCUSER}@${_rsyncip}:${RSYNCPATH}/updates/
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/nanobsd/* \
|
||||
${RSYNCUSER}@${_rsyncip}:${RSYNCPATH}/nanobsd/
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/nanobsdupdates/* \
|
||||
${RSYNCUSER}@${_rsyncip}:${RSYNCPATH}/updates/
|
||||
if [ -d $STAGINGAREA/virtualization ]; then
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/virtualization/* \
|
||||
${RSYNCUSER}@${_rsyncip}:${RSYNCPATH}/virtualization/
|
||||
fi
|
||||
|
||||
# Rather than copy these twice, use ln to link to the latest one.
|
||||
# Rather than copy these twice, use ln to link to the latest one.
|
||||
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "rm -f ${RSYNCPATH}/.updaters/latest.tgz"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "rm -f ${RSYNCPATH}/.updaters/latest.tgz.sha256"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "rm -f ${RSYNCPATH}/.updaters/latest.tgz"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "rm -f ${RSYNCPATH}/.updaters/latest.tgz.sha256"
|
||||
|
||||
LATESTFILENAME=$(basename ${UPDATES_TARBALL_FILENAME})
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "ln -s ${RSYNCPATH}/updates/${LATESTFILENAME} \
|
||||
${RSYNCPATH}/.updaters/latest.tgz"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "ln -s ${RSYNCPATH}/updates/${LATESTFILENAME}.sha256 \
|
||||
${RSYNCPATH}/.updaters/latest.tgz.sha256"
|
||||
LATESTFILENAME=$(basename ${UPDATES_TARBALL_FILENAME})
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "ln -s ${RSYNCPATH}/updates/${LATESTFILENAME} \
|
||||
${RSYNCPATH}/.updaters/latest.tgz"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "ln -s ${RSYNCPATH}/updates/${LATESTFILENAME}.sha256 \
|
||||
${RSYNCPATH}/.updaters/latest.tgz.sha256"
|
||||
|
||||
for i in ${FLASH_SIZE}
|
||||
do
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "rm -f ${RSYNCPATH}/.updaters/latest-nanobsd-${i}.img.gz"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "rm -f ${RSYNCPATH}/.updaters/latest-nanobsd-${i}.img.gz.sha256"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "rm -f ${RSYNCPATH}/.updaters/latest-nanobsd-vga-${i}.img.gz"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "rm -f ${RSYNCPATH}/.updaters/latest-nanobsd-vga-${i}.img.gz.sha256"
|
||||
for i in ${FLASH_SIZE}
|
||||
do
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "rm -f ${RSYNCPATH}/.updaters/latest-nanobsd-${i}.img.gz"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "rm -f ${RSYNCPATH}/.updaters/latest-nanobsd-${i}.img.gz.sha256"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "rm -f ${RSYNCPATH}/.updaters/latest-nanobsd-vga-${i}.img.gz"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "rm -f ${RSYNCPATH}/.updaters/latest-nanobsd-vga-${i}.img.gz.sha256"
|
||||
|
||||
FILENAMEUPGRADE="$(nanobsd_image_filename ${i} nanobsd 1).gz"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "ln -s ${RSYNCPATH}/updates/${FILENAMEUPGRADE} \
|
||||
${RSYNCPATH}/.updaters/latest-nanobsd-${i}.img.gz"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "ln -s ${RSYNCPATH}/updates/${FILENAMEUPGRADE}.sha256 \
|
||||
${RSYNCPATH}/.updaters/latest-nanobsd-${i}.img.gz.sha256"
|
||||
FILENAMEUPGRADE="$(nanobsd_image_filename ${i} nanobsd 1).gz"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "ln -s ${RSYNCPATH}/updates/${FILENAMEUPGRADE} \
|
||||
${RSYNCPATH}/.updaters/latest-nanobsd-${i}.img.gz"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "ln -s ${RSYNCPATH}/updates/${FILENAMEUPGRADE}.sha256 \
|
||||
${RSYNCPATH}/.updaters/latest-nanobsd-${i}.img.gz.sha256"
|
||||
|
||||
FILENAMEUPGRADE="$(nanobsd_image_filename ${i} nanobsd-vga 1).gz"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "ln -s ${RSYNCPATH}/updates/${FILENAMEUPGRADE} \
|
||||
${RSYNCPATH}/.updaters/latest-nanobsd-vga-${i}.img.gz"
|
||||
ssh ${RSYNCUSER}@${RSYNCIP} "ln -s ${RSYNCPATH}/updates/${FILENAMEUPGRADE}.sha256 \
|
||||
${RSYNCPATH}/.updaters/latest-nanobsd-vga-${i}.img.gz.sha256"
|
||||
FILENAMEUPGRADE="$(nanobsd_image_filename ${i} nanobsd-vga 1).gz"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "ln -s ${RSYNCPATH}/updates/${FILENAMEUPGRADE} \
|
||||
${RSYNCPATH}/.updaters/latest-nanobsd-vga-${i}.img.gz"
|
||||
ssh ${RSYNCUSER}@${_rsyncip} "ln -s ${RSYNCPATH}/updates/${FILENAMEUPGRADE}.sha256 \
|
||||
${RSYNCPATH}/.updaters/latest-nanobsd-vga-${i}.img.gz.sha256"
|
||||
done
|
||||
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/version* \
|
||||
${RSYNCUSER}@${_rsyncip}:${RSYNCPATH}/.updaters
|
||||
snapshots_update_status ">>> Finished copying files."
|
||||
done
|
||||
|
||||
rsync $RSYNC_COPY_ARGUMENTS $STAGINGAREA/version* \
|
||||
${RSYNCUSER}@${RSYNCIP}:${RSYNCPATH}/.updaters
|
||||
snapshots_update_status ">>> Finished copying files."
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user