gentoo-asahi-releng/tools/catalyst-auto-amd64.conf
Matt Turner e9ea15ab8b Upload stages to releng-incoming.gentoo.org
Most architecture's build systems are hosted at OSUOSL. The place the
stages need to end up is ultimately masterreleases.gentoo.org, also at
OSUOSL. For some unknown reason, instead of rsync'ing from one system to
another in the same building, we were sending the stages first (slowly,
I might add) to nightheron in France, before sending them back to
OSUOSL.

robbat2 has added a releng-incoming.gentoo.org DNS record that currently
points to nightheron. This will allow us to switch the record in the
future and save the stages from needing to circumnavigate the globe
before reaching the mirrors.

Signed-off-by: Matt Turner <mattst88@gentoo.org>
2020-04-25 22:18:34 -07:00

114 lines
3.8 KiB
Bash

# This is the config file for the catalyst-auto script. It should be pretty
# self-explanatory.
ARCH="amd64"
TYPE="auto"
host=$(hostname)
source /etc/catalyst/release/build.env
SPECS_DIR=${REPO_DIR}/releases/weekly/specs/${ARCH}
SETS="
multilib minimal_multilib
nomultilib minimal_nomultilib
x32
hardened_multilib minimal_hardened_multilib
hardened_nomultilib minimal_hardened_nomultilib
hardened_multilib_selinux hardened_nomultilib_selinux
"
SET_multilib_SPECS="stage1.spec stage2.spec stage3.spec"
SET_multilib_OPTIONAL_SPECS="installcd-stage1.spec installcd-stage2-minimal.spec"
SET_minimal_multilib_OPTIONAL_SPECS="stage4-minimal.spec"
SET_nomultilib_SPECS="stage1-nomultilib.spec stage2-nomultilib.spec stage3-nomultilib.spec"
SET_minimal_nomultilib_OPTIONAL_SPECS="stage4-nomultilib-minimal.spec"
SET_x32_SPECS="stage1-x32.spec stage2-x32.spec stage3-x32.spec"
SET_hardened_multilib_SPECS="hardened/stage1.spec hardened/stage2.spec hardened/stage3.spec"
SET_hardened_multilib_OPTIONAL_SPECS="hardened/admincd-stage1.spec hardened/admincd-stage2.spec"
SET_minimal_hardened_multilib_OPTIONAL_SPECS="hardened/stage4-minimal.spec"
SET_hardened_nomultilib_SPECS="hardened/stage1-nomultilib.spec hardened/stage2-nomultilib.spec hardened/stage3-nomultilib.spec"
SET_minimal_hardened_nomultilib_OPTIONAL_SPECS="hardened/stage4-nomultilib-minimal.spec"
SET_hardened_multilib_selinux_SPECS="hardened/stage1-selinux.spec hardened/stage2-selinux.spec hardened/stage3-selinux.spec"
#SET_hardened_multilib_selinux_OPTIONAL_SPECS="hardened/admincd-stage1-selinux.spec hardened/admincd-stage2-selinux.spec"
SET_hardened_nomultilib_selinux_SPECS="hardened/stage1-selinux-nomultilib.spec hardened/stage2-selinux-nomultilib.spec hardened/stage3-selinux-nomultilib.spec"
KCONFIG_DIR=${REPO_DIR}/releases/weekly/kconfig/${ARCH}
EXTENSIONS="[.tar.xz,.tar.bz2,.tar.gz,.tar,.sfs]"
update_symlinks() {
# Symlink the latest stages3 to build from
for d in ${BUILD_SRCDIR_BASE}/{default,hardened} ; do
pushd $d >/dev/null
for f in $(ls stage3*${EXTENSIONS} | grep -v latest | give_latest_from_dates ) ; do
# 20yymmddThhmmssZ
# 20yymmddhhmmss
# 20yymmdd
# 20yy.n
of=$(perl -p \
-e 's/20\d{6}T\d{6}Z/latest/g;' \
-e 's/20\d{6}\d{6}/latest/g;' \
-e 's/20\d{6}/latest/g;' \
-e 's/20\d{2}\.\d{2}/latest/g;' \
<<<"$f")
ln -svf "$f" "$of"
done
popd >/dev/null
done
}
post_build() {
cmd=(
rsync
-e 'ssh -i /root/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o VerifyHostKeyDNS=yes -o StrictHostKeyChecking=no'
-a
--omit-dir-times
--delay-updates
)
case $HOSTNAME in
nightheron)
DEST_DEFAULT=${BUILD_DESTDIR_BASE}
DEST_HARDENED=${BUILD_DESTDIR_BASE}/hardened
;;
*)
DEST_DEFAULT=${ARCH}@releng-incoming.gentoo.org:${BUILD_DESTDIR_BASE}
DEST_HARDENED=${ARCH}@releng-incoming.gentoo.org:${BUILD_DESTDIR_BASE}/hardened
;;
esac
pushd ${BUILD_SRCDIR_BASE}/default >/dev/null
mkdir -p ${TMPDIR}/empty
"${cmd[@]}" ${TMPDIR}/empty ${DEST_DEFAULT}
for file in $(ls stage{3,4}*${DATESTAMP}*${EXTENSIONS} stage{3,4}*${TIMESTAMP}*${EXTENSIONS} ); do
if [ -f $file ]; then
"${cmd[@]}" ${file}* ${DEST_DEFAULT}
fi
done
if [ -f *${DATESTAMP}*.iso ]; then
"${cmd[@]}" *${DATESTAMP}*.iso* ${DEST_DEFAULT}
elif [ -f *${TIMESTAMP}*.iso ]; then
"${cmd[@]}" *${TIMESTAMP}*.iso* ${DEST_DEFAULT}
fi
popd >/dev/null
pushd ${BUILD_SRCDIR_BASE}/hardened >/dev/null
"${cmd[@]}" ${TMPDIR}/empty ${DEST_HARDENED}
for file in $(ls stage{3,4}*${DATESTAMP}*${EXTENSIONS} stage{3,4}*${TIMESTAMP}*${EXTENSIONS} ); do
if [ -f $file ]; then
"${cmd[@]}" $file* ${DEST_HARDENED}
fi
done
if [ -f *${DATESTAMP}*.iso ]; then
"${cmd[@]}" *${DATESTAMP}*.iso* ${DEST_HARDENED}
elif [ -f *${TIMESTAMP}*.iso ]; then
"${cmd[@]}" *${TIMESTAMP}*.iso* ${DEST_HARDENED}
fi
popd >/dev/null
}
# vim:ft=sh: