# This is the config file for the catalyst-auto script. It should be pretty
# self-explanatory.

UPLOAD_USER=x86
UPLOAD_KEY=/root/.ssh/id_ed25519
host=$(hostname)

EMAIL_SUBJECT_PREPEND="[x86-auto]"

SPECS_DIR=${REPO_DIR}/releases/specs/x86

SETS="
	i486_openrc_23
	i486_systemd_23
	i686_openrc_23
	i686_systemd_23
	hardened_openrc_23
	musl_23
	i486_openrc
	i686_openrc
	hardened_openrc
	musl
"

SET_i486_openrc_SPECS="i486/stage1-openrc.spec i486/stage3-openrc.spec"

SET_i486_openrc_23_SPECS="i486/stage1-openrc-23.spec i486/stage3-openrc-23.spec"
SET_i486_openrc_23_OPTIONAL_SPECS="i486/installcd-stage1-openrc.spec i486/installcd-stage2-minimal-openrc.spec"

SET_i486_systemd_23_SPECS="i486/stage1-systemd-23.spec i486/stage3-systemd-23.spec"

SET_i686_openrc_SPECS="i686/stage1-openrc.spec i686/stage3-openrc.spec"

SET_i686_openrc_23_SPECS="i686/stage1-openrc-23.spec i686/stage3-openrc-23.spec"

SET_i686_systemd_23_SPECS="i686/stage1-systemd-23.spec i686/stage3-systemd-23.spec"

SET_hardened_openrc_SPECS="hardened/stage1-openrc.spec hardened/stage3-openrc.spec"

SET_hardened_openrc_23_SPECS="hardened/stage1-openrc-23.spec hardened/stage3-openrc-23.spec"
SET_hardened_openrc_23_OPTIONAL_SPECS="hardened/admincd-stage1-openrc.spec hardened/admincd-stage2-openrc.spec"

SET_musl_SPECS="musl/stage1.spec musl/stage3.spec"

SET_musl_23_SPECS="musl/stage1-23.spec musl/stage3-23.spec"


KCONFIG_DIR=${REPO_DIR}/releases/kconfig/x86

EXTENSIONS="@(.tar.xz|.tar.bz2|.tar.gz|.tar|.sfs)"

update_symlinks() {
	# Symlink the latest stages3 to build from
	for d in ${BUILD_SRCDIR_BASE}/builds/* ; do
		mkdir -p "${d}"
		pushd "${d}" >/dev/null || exit
		shopt -s extglob
		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 -sf "$f" "$of"
		done
		popd >/dev/null || exit
	done
}

post_build() {
	local set=$1 spec=$2

	pushd ${BUILD_SRCDIR_BASE}/builds/default >/dev/null || exit
	case ${spec} in
	i486/stage3-openrc.spec)
		upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-i486" x86/17.0/i486
		;;
	i686/stage3-openrc.spec)
		upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/default/stage3-i686" x86/17.0/i686
		;;
	esac
	popd >/dev/null || exit

	pushd ${BUILD_SRCDIR_BASE}/builds/23.0-default >/dev/null || exit
	case ${spec} in
	i486/stage3-openrc-23.spec)
		upload stage3-i486-openrc-${TIMESTAMP}.tar.xz*
		;;
	i486/stage3-systemd-23.spec)
		upload stage3-i486-systemd-${TIMESTAMP}.tar.xz*
		upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-i486" x86/23.0/i486
		;;
	i486/installcd-stage2-minimal-openrc.spec)
		upload install-x86-minimal-${TIMESTAMP}.iso*
		;;
	i686/stage3-openrc-23.spec)
		upload stage3-i686-openrc-${TIMESTAMP}.tar.xz*
		;;
	i686/stage3-systemd-23.spec)
		upload stage3-i686-systemd-${TIMESTAMP}.tar.xz*
		upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-default/stage3-i686" x86/23.0/i686
		;;
	esac
	popd >/dev/null || exit

	pushd ${BUILD_SRCDIR_BASE}/builds/hardened >/dev/null || exit
	case ${spec} in
	hardened/stage3-openrc.spec)
		upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/hardened/stage3-i686" x86/17.0/i686_hardened
		;;
	esac
	popd >/dev/null || exit

	pushd ${BUILD_SRCDIR_BASE}/builds/23.0-hardened >/dev/null || exit
	case ${spec} in
	hardened/stage3-openrc-23.spec)
		upload stage3-i686-hardened-openrc-${TIMESTAMP}.tar.xz*
		upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-hardened/stage3-i686" x86/23.0/i686_hardened
		;;
	hardened/admincd-stage2-openrc.spec)
		upload admincd-x86-${TIMESTAMP}.iso*
		;;
	esac
	popd >/dev/null || exit

	pushd ${BUILD_SRCDIR_BASE}/builds/musl >/dev/null || exit
	case ${spec} in
	musl/stage3.spec)
		upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/musl/stage3-i686" x86/17.0/i686_musl
		;;
	esac
	popd >/dev/null || exit

	pushd ${BUILD_SRCDIR_BASE}/builds/23.0-musl >/dev/null || exit
	case ${spec} in
	musl/stage3-23.spec)
		upload stage3-i686-musl-${TIMESTAMP}.tar.xz*
		upsync_binpackages "${BUILD_SRCDIR_BASE}/packages/23.0-musl/stage3-i686" x86/23.0/i686_musl
		;;
	esac
	popd >/dev/null || exit
}

# vim:ft=sh:
