# This is the config file for the catalyst-auto script. It should be pretty # self-explanatory. SPECS_DIR=${REPO_DIR}/releases/weekly/specs/alpha SPECS="stage1.spec stage3.spec" #SPECS="${SPECS} installcd-stage1.spec installcd-stage2-minimal.spec" #SPECS="${SPECS} stage2-desktop.spec stage3-desktop.spec" #SPECS="${SPECS} livecd-stage1.spec livecd-stage2.spec" #OPTIONAL_SPECS="installcd-stage1.spec installcd-stage2-minimal.spec" SETS="default" SET_default_SPECS="stage1.spec stage3.spec" SET_default_OPTIONAL_SPECS="installcd-stage1.spec installcd-stage2-minimal.spec" KCONFIG_DIR=${REPO_DIR}/releases/weekly/kconfig/alpha give_latest_from_dates() { sed 's,-20,~20,g' | \ sort -k +1 -n -t '~' |\ awk -F\~ \ 'BEGIN{i=$1; o=$0}; { if($1 != i && i != "") { print o; }; i=$1; o=$0; } END { print o; };' | \ tr '~' '-' } # Replace the date/time stamp in the filename to "latest". # Forms we handle: # stage3-xxx-2018.0.tar.bz2 # stage3-xxx-20180116.tar.bz2 # stage3-xxx-20180116T015819Z.tar.bz2 convert_filename() { sed -E 's:-20[0-9]+(\.[0-9]+|T[0-9]+Z)?:-latest:g' } update_symlinks() { # Symlink the latest stages3 to build from local d f for d in "${BUILD_SRCDIR_BASE}/builds/default" ; do pushd "${d}" >/dev/null for f in $(ls stage3*bz2 | grep -v latest | give_latest_from_dates) ; do local of=$(echo "${f}" | convert_filename) ln -sf "${f}" "${of}" done popd >/dev/null done } upload() { echo Uploading "$@" rsync -e 'ssh -i /root/.ssh/id_rsa' "$@" alpha@nightheron.gentoo.org: } post_build() { local set=$1 spec=$2 pushd "${BUILD_SRCDIR_BASE}/builds/default" >/dev/null case ${spec} in installcd-stage2-minimal.spec) upload *-${TIMESTAMP}*.iso* ;; stage3.spec) upload stage3-*${TIMESTAMP}*.bz2* ;; esac popd >/dev/null }