e9ea15ab8b
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>
114 lines
3.8 KiB
Bash
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:
|