# To be sourced by scripts to use # Revision must always start with a major number REVISION=8.6 MAJOR="${REVISION:0:1}" MINOR="${REVISION:2:1}" # comment or blank if needed APPEND_TO_DIR="-RC1" STAGING_ROOT="/mnt/repos-staging" PRODUCTION_ROOT="/mnt/repos-production" # relative to ${ENV}_ROOT CATEGORY_STUB="mirror/pub/rocky" RELEASE_DIR="${CATEGORY_STUB}/${REVISION}${APPEND_TO_DIR}" # Set all repos that have no comps/groups associated with them. This is even in # cases where repos will not be available by normal means. It's just for # consistency. NONMODS_REPOS=( Extras Devel nfv plus rockyrpi ) # These repos have comps/groups, except for debuginfo and sources MODS_REPOS=( BaseOS AppStream HighAvailability ResilientStorage PowerTools RT ) ALL_REPOS=( "${NONMODS_REPOS[@]}" "${MODS_REPOS[@]}" ) NONSIG_COMPOSE=( Rocky Extras Rocky-devel Plus rockyrpi ) declare -A SIG_COMPOSE SIG_COMPOSE=( [kernel]="kernel/kernel" [kmod]="kernel/kmod" ) # These repos have modules MODS=( AppStream PowerTools ) # functions # Note, EL8 and EL9 may not be the same, do not put in 'common' function treeinfoSaver() { BaseOSArch="${1}" TREEINFO_VAR="${STAGING_ROOT}/${RELEASE_DIR}/BaseOS/${BaseOSArch}/os/.treeinfo" PRISTINE_TREE="${STAGING_ROOT}/${RELEASE_DIR}/BaseOS/${BaseOSArch}/os/.treeinfo-pristine" /bin/cp "${TREEINFO_VAR}" "${PRISTINE_TREE}" } function treeinfoFixer() { BaseOSArch="${1}" TREEINFO_VAR="${STAGING_ROOT}/${RELEASE_DIR}/BaseOS/${BaseOSArch}/os/.treeinfo" PRISTINE_TREE="${STAGING_ROOT}/${RELEASE_DIR}/BaseOS/${BaseOSArch}/os/.treeinfo-pristine" test -f "${PRISTINE_TREE}" pris_retval=$? if [ "$pris_retval" -eq 0 ]; then /bin/cp "${PRISTINE_TREE}" "${TREEINFO_VAR}" else echo "WARNING: We do not have a pristine treeinfo to copy from" fi } # Note, EL8 and EL9 may not be the same, do not put in 'common' function treeinfoModder() { BaseOSArch="${1}" TREEINFO_VAR="${STAGING_ROOT}/${RELEASE_DIR}/BaseOS/${BaseOSArch}/os/.treeinfo" PRISTINE_TREE="${STAGING_ROOT}/${RELEASE_DIR}/BaseOS/${BaseOSArch}/os/.treeinfo-pristine" test -f "${TREEINFO_VAR}" treeinfo_retval=$? test -x /usr/bin/python3 python_retval=$? # There is an awk way to do this, but it was easier to implement python and # cat heredoc together. It felt cleaner. This was a trick I had used in a # previous life when I had to admin Solaris systems, and I needed a way to # add a solaris 10 system into FreeIPA (it was not fun, let me tell you). But # the take away is I learned something kind of on the fly and well, it worked. # Emails should have stamps. if [ "$treeinfo_retval" -eq 0 ] && [ "$python_retval" -eq 0 ]; then cat <