gentoo-asahi-releng/tools/catalyst-auto-qemu-mips-common
Andreas K. Hüttel d4ba4c0f8e
Enable mips multilib 23.0 builds
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2024-02-25 22:49:28 +01:00

333 lines
13 KiB
Plaintext

# This is the config file for the catalyst-auto script. It should be pretty
# self-explanatory.
UPLOAD_USER=mips
UPLOAD_KEY=/root/.ssh/id_rsa
SPECS_DIR=${REPO_DIR}/releases/specs-qemu/mips
EMAIL_SUBJECT_PREPEND="[mips-qemu-auto]"
SETS_O32_17="
mipsel2_softfloat_o32_openrc
mipsel2_softfloat_o32_systemd_mu
mipsel2_o32_openrc
mipsel2_o32_systemd_mu
mipsel2_o32_musl
mips2_softfloat_o32_openrc
mips2_softfloat_o32_systemd_mu
mips2_o32_openrc
mips2_o32_systemd_mu
mips2_o32_musl
"
SETS_O32_23="
mipsel2_softfloat_o32_openrc_23
mipsel2_softfloat_o32_systemd_23
mipsel2_o32_openrc_23
mipsel2_o32_systemd_23
mipsel2_o32_musl_23
mips2_softfloat_o32_openrc_23
mips2_softfloat_o32_systemd_23
mips2_o32_openrc_23
mips2_o32_systemd_23
mips2_o32_musl_23
"
SETS_O32="${SETS_O32_17} ${SETS_O32_23}"
SETS_N32_17="
mipsel3_n32_openrc
mipsel3_n32_systemd_mu
mips3_n32_openrc
mips3_n32_systemd_mu
"
SETS_N32_23="
mipsel3_n32_openrc_23
mipsel3_n32_systemd_23
mips3_n32_openrc_23
mips3_n32_systemd_23
"
SETS_N32="${SETS_N32_17} ${SETS_N32_23}"
SETS_N64_17="
mipsel3_n64_openrc
mipsel3_n64_systemd_mu
mips3_n64_openrc
mips3_n64_systemd_mu
"
SETS_N64_23="
mipsel3_n64_openrc_23
mipsel3_n64_systemd_23
mips3_n64_openrc_23
mips3_n64_systemd_23
"
SETS_N64="${SETS_N64_17} ${SETS_N64_23}"
SETS_MULTI_17="
mipsel3_multilib_openrc
mipsel3_multilib_systemd_mu
mips3_multilib_openrc
mips3_multilib_systemd_mu
"
SETS_MULTI_23="
mipsel3_multilib_openrc_23
mipsel3_multilib_systemd_23
mips3_multilib_openrc_23
mips3_multilib_systemd_23
"
SETS_MULTI="${SETS_MULTI_17} ${SETS_MULTI_23}"
# 17.0 O32
SET_mips2_o32_openrc_SPECS="stage1-mips2-o32-openrc.spec stage3-mips2-o32-openrc.spec"
SET_mips2_o32_systemd_mu_SPECS="stage1-mips2-o32-systemd-mu.spec stage3-mips2-o32-systemd-mu.spec"
SET_mips2_softfloat_o32_openrc_SPECS="stage1-mips2_softfloat-o32-openrc.spec stage3-mips2_softfloat-o32-openrc.spec"
SET_mips2_softfloat_o32_systemd_mu_SPECS="stage1-mips2_softfloat-o32-systemd-mu.spec stage3-mips2_softfloat-o32-systemd-mu.spec"
SET_mips2_o32_musl_SPECS="stage1-mips2-o32-musl.spec stage3-mips2-o32-musl.spec"
SET_mipsel2_o32_openrc_SPECS="stage1-mipsel2-o32-openrc.spec stage3-mipsel2-o32-openrc.spec"
SET_mipsel2_o32_systemd_mu_SPECS="stage1-mipsel2-o32-systemd-mu.spec stage3-mipsel2-o32-systemd-mu.spec"
SET_mipsel2_softfloat_o32_openrc_SPECS="stage1-mipsel2_softfloat-o32-openrc.spec stage3-mipsel2_softfloat-o32-openrc.spec"
SET_mipsel2_softfloat_o32_systemd_mu_SPECS="stage1-mipsel2_softfloat-o32-systemd-mu.spec stage3-mipsel2_softfloat-o32-systemd-mu.spec"
SET_mipsel2_o32_musl_SPECS="stage1-mipsel2-o32-musl.spec stage3-mipsel2-o32-musl.spec"
# 23.0 O32
SET_mips2_o32_openrc_23_SPECS="o32/stage1-mips2-o32-openrc-23.spec o32/stage3-mips2-o32-openrc-23.spec"
SET_mips2_o32_systemd_23_SPECS="o32/stage1-mips2-o32-systemd-23.spec o32/stage3-mips2-o32-systemd-23.spec"
SET_mips2_softfloat_o32_openrc_23_SPECS="o32/stage1-mips2_softfloat-o32-openrc-23.spec o32/stage3-mips2_softfloat-o32-openrc-23.spec"
SET_mips2_softfloat_o32_systemd_23_SPECS="o32/stage1-mips2_softfloat-o32-systemd-23.spec o32/stage3-mips2_softfloat-o32-systemd-23.spec"
SET_mips2_o32_musl_23_SPECS="o32/stage1-mips2-o32-musl-23.spec o32/stage3-mips2-o32-musl-23.spec"
SET_mipsel2_o32_openrc_23_SPECS="o32/stage1-mipsel2-o32-openrc-23.spec o32/stage3-mipsel2-o32-openrc-23.spec"
SET_mipsel2_o32_systemd_23_SPECS="o32/stage1-mipsel2-o32-systemd-23.spec o32/stage3-mipsel2-o32-systemd-23.spec"
SET_mipsel2_softfloat_o32_openrc_23_SPECS="o32/stage1-mipsel2_softfloat-o32-openrc-23.spec o32/stage3-mipsel2_softfloat-o32-openrc-23.spec"
SET_mipsel2_softfloat_o32_systemd_23_SPECS="o32/stage1-mipsel2_softfloat-o32-systemd-23.spec o32/stage3-mipsel2_softfloat-o32-systemd-23.spec"
SET_mipsel2_o32_musl_23_SPECS="o32/stage1-mipsel2-o32-musl-23.spec o32/stage3-mipsel2-o32-musl-23.spec"
# 17.0 N32
SET_mips3_n32_openrc_SPECS="stage1-mips3-n32-openrc.spec stage3-mips3-n32-openrc.spec"
SET_mips3_n32_systemd_mu_SPECS="stage1-mips3-n32-systemd-mu.spec stage3-mips3-n32-systemd-mu.spec"
SET_mipsel3_n32_openrc_SPECS="stage1-mipsel3-n32-openrc.spec stage3-mipsel3-n32-openrc.spec"
SET_mipsel3_n32_systemd_mu_SPECS="stage1-mipsel3-n32-systemd-mu.spec stage3-mipsel3-n32-systemd-mu.spec"
# 23.0 N32
SET_mips3_n32_openrc_23_SPECS="n32/stage1-mips3-n32-openrc-23.spec n32/stage3-mips3-n32-openrc-23.spec"
SET_mips3_n32_systemd_23_SPECS="n32/stage1-mips3-n32-systemd-23.spec n32/stage3-mips3-n32-systemd-23.spec"
SET_mipsel3_n32_openrc_23_SPECS="n32/stage1-mipsel3-n32-openrc-23.spec n32/stage3-mipsel3-n32-openrc-23.spec"
SET_mipsel3_n32_systemd_23_SPECS="n32/stage1-mipsel3-n32-systemd-23.spec n32/stage3-mipsel3-n32-systemd-23.spec"
# 17.0 N64
SET_mips3_n64_openrc_SPECS="stage1-mips3-n64-openrc.spec stage3-mips3-n64-openrc.spec"
SET_mips3_n64_systemd_mu_SPECS="stage1-mips3-n64-systemd-mu.spec stage3-mips3-n64-systemd-mu.spec"
SET_mipsel3_n64_openrc_SPECS="stage1-mipsel3-n64-openrc.spec stage3-mipsel3-n64-openrc.spec"
SET_mipsel3_n64_systemd_mu_SPECS="stage1-mipsel3-n64-systemd-mu.spec stage3-mipsel3-n64-systemd-mu.spec"
# 23.0 N64
SET_mips3_n64_openrc_23_SPECS="n64/stage1-mips3-n64-openrc-23.spec n64/stage3-mips3-n64-openrc-23.spec"
SET_mips3_n64_systemd_23_SPECS="n64/stage1-mips3-n64-systemd-23.spec n64/stage3-mips3-n64-systemd-23.spec"
SET_mipsel3_n64_openrc_23_SPECS="n64/stage1-mipsel3-n64-openrc-23.spec n64/stage3-mipsel3-n64-openrc-23.spec"
SET_mipsel3_n64_systemd_23_SPECS="n64/stage1-mipsel3-n64-systemd-23.spec n64/stage3-mipsel3-n64-systemd-23.spec"
# 17.0 multilib
SET_mips3_multilib_openrc_SPECS="stage1-mips3-multilib-openrc.spec stage3-mips3-multilib-openrc.spec"
SET_mips3_multilib_systemd_mu_SPECS="stage1-mips3-multilib-systemd-mu.spec stage3-mips3-multilib-systemd-mu.spec"
SET_mipsel3_multilib_openrc_SPECS="stage1-mipsel3-multilib-openrc.spec stage3-mipsel3-multilib-openrc.spec"
SET_mipsel3_multilib_systemd_mu_SPECS="stage1-mipsel3-multilib-systemd-mu.spec stage3-mipsel3-multilib-systemd-mu.spec"
# 23.0 multilib
SET_mips3_multilib_openrc_23_SPECS="multilib/stage1-mips3-multilib-openrc-23.spec multilib/stage3-mips3-multilib-openrc-23.spec"
SET_mips3_multilib_systemd_23_SPECS="multilib/stage1-mips3-multilib-systemd-23.spec multilib/stage3-mips3-multilib-systemd-23.spec"
SET_mipsel3_multilib_openrc_23_SPECS="multilib/stage1-mipsel3-multilib-openrc-23.spec multilib/stage3-mipsel3-multilib-openrc-23.spec"
SET_mipsel3_multilib_systemd_23_SPECS="multilib/stage1-mipsel3-multilib-systemd-23.spec multilib/stage3-mipsel3-multilib-systemd-23.spec"
KCONFIG_DIR=${REPO_DIR}/releases/kconfig/mips
update_symlinks() {
# Symlink the latest stages3 to build from
local d f
for d in "${BUILD_SRCDIR_BASE}/builds"/* ; do
mkdir -p "${d}"
pushd "${d}" >/dev/null
for f in $(ls stage3*xz | grep -v latest | give_latest_from_dates) ; do
local of=$(echo "${f}" | convert_filename)
ln -sf "${f}" "${of}"
done
popd >/dev/null
done
}
post_build() {
local set=$1 spec=$2
pushd "${BUILD_SRCDIR_BASE}/builds/default" >/dev/null
case ${spec} in
stage3-mips2-o32-openrc.spec)
upload stage3-mips2-openrc-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-mips2" mips/17.0/mips2_o32
;;
stage3-mips2_softfloat-o32-openrc.spec)
upload stage3-mips2_softfloat-openrc-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-mips2_softfloat" mips/17.0/mips2_o32_softfloat
;;
stage3-mipsel2-o32-openrc.spec)
upload stage3-mipsel2-openrc-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-mipsel2" mips/17.0/mipsel2_o32
;;
stage3-mipsel2_softfloat-o32-openrc.spec)
upload stage3-mipsel2_softfloat-openrc-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-mipsel2_softfloat" mips/17.0/mipsel2_o32_softfloat
;;
stage3-mips3-n32-openrc.spec)
upload stage3-mips3_n32-openrc-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-mips3_n32" mips/17.0/mips3_n32
;;
stage3-mipsel3-n32-openrc.spec)
upload stage3-mipsel3_n32-openrc-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-mipsel3_n32" mips/17.0/mipsel3_n32
;;
stage3-mips3-n64-openrc.spec)
upload stage3-mips3_n64-openrc-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-mips3_n64" mips/17.0/mips3_n64
;;
stage3-mipsel3-n64-openrc.spec)
upload stage3-mipsel3_n64-openrc-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-mipsel3_n64" mips/17.0/mipsel3_n64
;;
stage3-mips3-multilib-openrc.spec)
upload stage3-mips3_multilib-openrc-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-mips3_multilib" mips/17.0/mips3_multilib
;;
stage3-mipsel3-multilib-openrc.spec)
upload stage3-mipsel3_multilib-openrc-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-mipsel3_multilib" mips/17.0/mipsel3_multilib
;;
esac
popd >/dev/null
pushd "${BUILD_SRCDIR_BASE}/builds/23.0-default" >/dev/null
case ${spec} in
o32/stage3-mips2-o32-systemd-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-mips2" mips/23.0/mips2_o32
;;
o32/stage3-mips2_softfloat-o32-systemd-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-mips2_softfloat" mips/23.0/mips2_o32_sf
;;
o32/stage3-mipsel2-o32-systemd-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-mipsel2" mips/23.0/mipsel2_o32
;;
o32/stage3-mipsel2_softfloat-o32-systemd-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-mipsel2_softfloat" mips/23.0/mipsel2_o32_sf
;;
n32/stage3-mips3-n32-systemd-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-mips3_n32" mips/23.0/mips3_n32
;;
n32/stage3-mipsel3-n32-systemd-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-mipsel3_n32" mips/23.0/mipsel3_n32
;;
n64/stage3-mips3-n64-systemd-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-mips3_n64" mips/23.0/mips3_n64
;;
n64/stage3-mipsel3-n64-systemd-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-mipsel3_n64" mips/23.0/mipsel3_n64
;;
multilib/stage3-mips3-multilib-systemd-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-mips3_multilib" mips/23.0/mips3_multilib
;;
multilib/stage3-mipsel3-multilib-systemd-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-mipsel3_multilib" mips/23.0/mipsel3_multilib
;;
esac
popd >/dev/null
pushd "${BUILD_SRCDIR_BASE}/builds/mergedusr" >/dev/null
case ${spec} in
stage3-mips2-o32-systemd-mu.spec)
upload stage3-mips2-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
stage3-mips2_softfloat-o32-systemd-mu.spec)
upload stage3-mips2_softfloat-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
stage3-mips3-n32-systemd-mu.spec)
upload stage3-mips3_n32-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
stage3-mips3-n64-systemd-mu.spec)
upload stage3-mips3_n64-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
stage3-mips3-multilib-systemd-mu.spec)
upload stage3-mips3_multilib-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
stage3-mipsel2-o32-systemd-mu.spec)
upload stage3-mipsel2-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
stage3-mipsel2_softfloat-o32-systemd-mu.spec)
upload stage3-mipsel2_softfloat-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
stage3-mipsel3-o32-systemd-mu.spec)
upload stage3-mipsel3-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
stage3-mipsel3-n32-systemd-mu.spec)
upload stage3-mipsel3_n32-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
stage3-mipsel3-n64-systemd-mu.spec)
upload stage3-mipsel3_n64-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
stage3-mipsel3-multilib-systemd-mu.spec)
upload stage3-mipsel3_multilib-systemd-mergedusr-${TIMESTAMP}.tar.xz*
;;
esac
popd >/dev/null
pushd "${BUILD_SRCDIR_BASE}/builds/musl" >/dev/null
case ${spec} in
stage3-mips2-o32-musl.spec)
upload stage3-mips2_musl-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/musl/stage3-mips2_musl" mips/17.0/mips2_o32_musl
;;
stage3-mipsel2-o32-musl.spec)
upload stage3-mipsel2_musl-${TIMESTAMP}.tar.xz*
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/musl/stage3-mipsel2_musl" mips/17.0/mipsel2_o32_musl
;;
esac
popd >/dev/null
pushd "${BUILD_SRCDIR_BASE}/builds/23.0-musl" >/dev/null
case ${spec} in
o32/stage3-mips2-o32-musl-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-musl/stage3-mips2_musl" mips/23.0/mips2_o32_musl
;;
o32/stage3-mipsel2-o32-musl-23.spec)
upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-musl/stage3-mipsel2_musl" mips/23.0/mipsel2_o32_musl
;;
esac
popd >/dev/null
}