forked from sig_core/toolkit
common_10
This commit is contained in:
parent
aa9b814905
commit
6edd65ca79
183
sync/common_10
Normal file
183
sync/common_10
Normal file
@ -0,0 +1,183 @@
|
||||
# To be sourced by scripts to use
|
||||
|
||||
# Revision must always start with a major number
|
||||
case "${RLREL}" in
|
||||
stable)
|
||||
REVISION=10.0
|
||||
APPEND_TO_DIR="-RC1"
|
||||
;;
|
||||
beta)
|
||||
REVISION=10.0
|
||||
APPEND_TO_DIR="-beta"
|
||||
COMPOSE_APPEND="-beta"
|
||||
;;
|
||||
lh)
|
||||
REVISION=10.0
|
||||
APPEND_TO_DIR="-lookahead"
|
||||
COMPOSE_APPEND="-lookahead"
|
||||
;;
|
||||
*)
|
||||
echo "option no recognized"
|
||||
;;
|
||||
esac
|
||||
|
||||
MAJOR="${REVISION%.*}"
|
||||
MINOR="${REVISION#*.}"
|
||||
ARCHES=(x86_64 aarch64 ppc64le s390x)
|
||||
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}"
|
||||
RELEASE_COMPOSE_ROOT="${COMPOSE_ROOT}/${MAJOR}/latest-${SHORT}-${MAJOR}${COMPOSE_APPEND}"
|
||||
|
||||
# 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
|
||||
plus
|
||||
)
|
||||
|
||||
# These repos were originally separate from the main compose and need symlinks
|
||||
declare -A LINK_REPOS
|
||||
LINK_REPOS=(
|
||||
[NFV]="nfv"
|
||||
)
|
||||
|
||||
# These repos have comps/groups, except for debuginfo and sources
|
||||
MODS_REPOS=(
|
||||
BaseOS
|
||||
AppStream
|
||||
HighAvailability
|
||||
ResilientStorage
|
||||
CRB
|
||||
RT
|
||||
NFV
|
||||
SAP
|
||||
SAPHANA
|
||||
)
|
||||
|
||||
ALL_REPOS=(
|
||||
"${NONMODS_REPOS[@]}"
|
||||
"${MODS_REPOS[@]}"
|
||||
)
|
||||
|
||||
NONSIG_COMPOSE=(
|
||||
Rocky
|
||||
)
|
||||
|
||||
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 <<EOF | /usr/bin/python3
|
||||
from configparser import ConfigParser
|
||||
config = ConfigParser()
|
||||
config.read('${TREEINFO_VAR}')
|
||||
config.set('tree', 'variants', 'BaseOS,AppStream')
|
||||
config.add_section('variant-AppStream')
|
||||
config.set('variant-AppStream', 'id', 'AppStream')
|
||||
config.set('variant-AppStream', 'name', 'AppStream')
|
||||
config.set('variant-AppStream', 'type', 'variant')
|
||||
config.set('variant-AppStream', 'uid', 'AppStream')
|
||||
config.set('variant-AppStream', 'packages', '../../../AppStream/${BaseOSArch}/os/Packages')
|
||||
config.set('variant-AppStream', 'repository', '../../../AppStream/${BaseOSArch}/os/')
|
||||
|
||||
with open('${TREEINFO_VAR}', 'w') as configfile:
|
||||
config.write(configfile)
|
||||
EOF
|
||||
else
|
||||
echo "${TREEINFO_VAR}, or python3 does not exist on this system."
|
||||
fi
|
||||
/bin/cp "${TREEINFO_VAR}" "${PRISTINE_TREE}"
|
||||
}
|
||||
|
||||
function treeinfoModderKickstart() {
|
||||
BaseOSArch="${1}"
|
||||
TREEINFO_VAR="${STAGING_ROOT}/${RELEASE_DIR}/BaseOS/${BaseOSArch}/kickstart/.treeinfo"
|
||||
PRISTINE_TREE="${STAGING_ROOT}/${RELEASE_DIR}/BaseOS/${BaseOSArch}/kickstart/.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 <<EOF | /usr/bin/python3
|
||||
from configparser import ConfigParser
|
||||
config = ConfigParser()
|
||||
config.read('${TREEINFO_VAR}')
|
||||
config.set('tree', 'variants', 'BaseOS,AppStream')
|
||||
config.add_section('variant-AppStream')
|
||||
config.set('variant-AppStream', 'id', 'AppStream')
|
||||
config.set('variant-AppStream', 'name', 'AppStream')
|
||||
config.set('variant-AppStream', 'type', 'variant')
|
||||
config.set('variant-AppStream', 'uid', 'AppStream')
|
||||
config.set('variant-AppStream', 'packages', '../../../AppStream/${BaseOSArch}/kickstart/Packages')
|
||||
config.set('variant-AppStream', 'repository', '../../../AppStream/${BaseOSArch}/kickstart/')
|
||||
|
||||
with open('${TREEINFO_VAR}', 'w') as configfile:
|
||||
config.write(configfile)
|
||||
EOF
|
||||
else
|
||||
echo "${TREEINFO_VAR}, or python3 does not exist on this system."
|
||||
fi
|
||||
/bin/cp "${TREEINFO_VAR}" "${PRISTINE_TREE}"
|
||||
}
|
||||
|
||||
#export -f treeinfoFixer
|
||||
#export -f treeinfoModder
|
||||
#export -f treeinfoModderKickstart
|
Loading…
Reference in New Issue
Block a user