commit: 8623ef538cf32aaf4d46982c5e22569ae72ed8b0
Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 12 17:59:08 2021 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Fri Nov 12 18:00:31 2021 +0000
URL: https://gitweb.gentoo.org/proj/releng.git/commit/?id=8623ef53
scripts/copy_buildsync: dead detection works too well, send to files instead
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
scripts/copy_buildsync.sh | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/scripts/copy_buildsync.sh b/scripts/copy_buildsync.sh
index f7f9a3df..0308da39 100755
--- a/scripts/copy_buildsync.sh
+++ b/scripts/copy_buildsync.sh
@@ -6,6 +6,8 @@ INCOMING_BASE="/release/weekly/builds"
OUTGOING_BASE="/release/distfiles/weekly"
# Scratch space used when moving files from incoming to outgoing.
TMPDIR_BASE="/release/distfiles/tmp/buildsync/partial"
+# Keep some records
+LOGDIR_BASE="/release/distfiles/tmp/buildsync/logs"
ARCHES=(
alpha
@@ -64,7 +66,7 @@ EOF
# Copy artifacts for an arch to the outgoing directory.
copy_arch_to_outgoing() {
- local ARCH=$1 indir=$2 outdir=$3 tmpdir=$4
+ local ARCH=$1 indir=$2 outdir=$3 tmpdir=$4 logdir=$5
local i t rc timestamps
if [[ ! -d ${indir} ]]; then
@@ -91,6 +93,7 @@ copy_arch_to_outgoing() {
"${RSYNC_OPTS[@]}" \
--temp-dir="${tmpdir}" \
--partial-dir="${tmpdir}" \
+ --log-file="${logdir}/rsync.log" \
--filter '- **/.*' \
--filter "S *${i}*" \
--filter 'S **/' \
@@ -126,11 +129,12 @@ process_arch() {
indir="${INCOMING_BASE}/${ARCH}"
outdir="${OUTGOING_BASE}/${ARCH}"
tmpdir="${TMPDIR_BASE}/${ARCH}"
+ logdir="${LOGDIR_BASE}/${ARCH}"
- mkdir -p "${tmpdir}" 2>/dev/null
+ mkdir -p "${tmpdir}" "${logdir}" 2>/dev/null
# Sync incoming->outgoing first.
- copy_arch_to_outgoing "${ARCH}" "${indir}" "${outdir}" "${tmpdir}"
+ copy_arch_to_outgoing "${ARCH}" "${indir}" "${outdir}" "${tmpdir}"
"${logdir}"
# ================================================================
# Build data for revealing latest:
@@ -216,10 +220,7 @@ process_arch() {
# Find the dead links for cleanup
_dead="${tmpdir}"/dead-link
find -L $(pwd) -type l >"${_dead}"
- if test -s "${_dead}"; then
- echo "copy_buildsync: dead links to verify:" 1>&2
- cat "${_dead}" 1>&2
- fi
+ mv -f "${_dead}" "${logdir}/dead-links.txt"
# Find the dead latest txt files
_dead="${tmpdir}"/dead-latest
@@ -235,6 +236,7 @@ process_arch() {
| fgrep -l -f - $f \
| xargs -n1 --no-run-if-empty readlink -f
done >"${_dead}"
+
if test -s "${_dead}"; then
echo "copy_buildsync: removing dead latest*txt
files:" 1>&2
foreach txtfil in $(cat "${_dead}") ; do
@@ -242,11 +244,14 @@ process_arch() {
done
fi
+ mv -f "${_dead}" "${logdir}/dead-latest-txt.txt"
+
# Cleanup tmpdir
$DEBUGP rm $VERBOSEP -rf "${tmpdir}"
else
echo "There was some failure for $ARCH during the weekly sync.
Not doing cleanup for fear of dataloss." 1>&2
+ echo "See logs in $logdir" 1>&2
fi
}