From f6776e5bb5f03ee111616a3d94c48328b9840f98 Mon Sep 17 00:00:00 2001 From: Louis Abel Date: Wed, 21 Feb 2024 11:44:30 -0700 Subject: [PATCH] temp: add stream 10 specific scripts --- .../generate_prepopulate_from_stream_10 | 53 +++++++++++++++++++ .../generate_versions_from_stream_10 | 53 +++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100755 mangle/generators/generate_prepopulate_from_stream_10 create mode 100755 mangle/generators/generate_versions_from_stream_10 diff --git a/mangle/generators/generate_prepopulate_from_stream_10 b/mangle/generators/generate_prepopulate_from_stream_10 new file mode 100755 index 0000000..ed3e933 --- /dev/null +++ b/mangle/generators/generate_prepopulate_from_stream_10 @@ -0,0 +1,53 @@ +#!/bin/bash +# Parses a CentOS Stream compose's repos +#set -x + +if [ -n "$1" ] && [ -n "$2" ]; then + MAJOR=$1 + DATE=$2 +else + echo "Major version or date not specified" + exit 1 +fi + +# 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" + exit 2 +fi + +export RLVER=$MAJOR +source common + +drop="${PREPOPDROP}" +current=$(pwd) +tmpdir=$(mktemp -d) +stream_compose_url="https://composes.stream.centos.org/stream-${MAJOR}/production/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 + repodatas=( $(dnf 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) ) + 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} +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" diff --git a/mangle/generators/generate_versions_from_stream_10 b/mangle/generators/generate_versions_from_stream_10 new file mode 100755 index 0000000..92e7d5a --- /dev/null +++ b/mangle/generators/generate_versions_from_stream_10 @@ -0,0 +1,53 @@ +#!/bin/bash +# Parses a CentOS Stream compose's repos +#set -x + +if [ -n "$1" ] && [ -n "$2" ]; then + MAJOR="$1" + DATE="$2" +else + echo "Major version not specified" + exit 1 +fi + +# 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" +fi + +export RLVER="${MAJOR}" +source common + +drop="${VERSDROP}" +current=$(pwd) +tmpdir=$(mktemp -d) +#stream_compose_url="${STREAM_COMPOSE_BASEURL}/CentOS-Stream-${MAJOR}-${DATE}/compose" +stream_compose_url="https://composes.stream.centos.org/stream-${MAJOR}/production/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 + repodatas=( $(dnf 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) ) + 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}/version_parser.py" --version "${MAJOR}" +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"