toolkit/mangle/generators/generate_prepopulate_from_stream

60 lines
1.5 KiB
Text
Raw Normal View History

2022-09-26 02:31:40 +00:00
#!/bin/bash
# Parses a CentOS Stream compose's repos
#set -x
if [ -n "$1" ] && [ -n "$2" ]; then
MAJOR=$1
DATE=$2
else
2022-10-31 22:39:38 +00:00
echo "Major version or date not specified"
2022-09-26 02:31:40 +00:00
exit 1
fi
2024-10-29 20:10:26 +00:00
if [ -f /usr/bin/dnf4 ]; then
SAFEDNF=/usr/bin/dnf4
else
SAFEDNF=/usr/bin/dnf
fi
2022-09-26 02:31:40 +00:00
# Verify the date format
echo "${DATE}" | grep -Eq '[0-9]+\.[0-9]'
grep_val=$?
if [ "$grep_val" -ne 0 ]; then
echo "Date format incorrect. You must use: YYYYMMDD.X"
2022-10-31 22:39:38 +00:00
exit 2
2022-09-26 02:31:40 +00:00
fi
export RLVER=$MAJOR
source common
drop="${PREPOPDROP}"
current=$(pwd)
tmpdir=$(mktemp -d)
stream_compose_url="${STREAM_COMPOSE_BASEURL}/CentOS-Stream-${MAJOR}-${DATE}/compose"
pushd "${tmpdir}" || { echo "Could not change directory"; exit 1; }
for x in "${REPO[@]}"; do
echo "Working on ${x}"
for y in "${ARCH[@]}"; do
2024-10-29 20:10:26 +00:00
repodatas=( $($SAFEDNF reposync --repofrompath ${x},${stream_compose_url}/${x}/${y}/os --download-metadata --repoid=${x} -p ${x}/${y} --forcearch ${y} --norepopath --remote-time --assumeyes -u | grep repodata) )
2022-09-26 02:31:40 +00:00
mkdir -p "${x}/${y}/repodata"
pushd "${x}/${y}/repodata" || { echo "Could not change directory"; exit 1; }
for z in "${repodatas[@]}"; do
wget -q -nc "${z}"
done
wget -q -nc "${stream_compose_url}/${x}/${y}/os/repodata/repomd.xml"
popd || { echo "Could not change back..."; exit 1; }
done
done
/usr/bin/python3 "${current}/prepopulate_parser.py" --version ${MAJOR}
2022-09-26 02:31:40 +00:00
ret_val=$?
popd || { echo "Could not change back..."; exit 1; }
if [ "$ret_val" -ne "0" ]; then
echo "There was an error running through the parser."
exit 1
fi
echo "File located at: $drop"