#!/bin/bash
BRANCH=main
VERS=c9s
COMPS_FILE=comps-centos-stream-9.xml.in
COMPS_ROCKY=${COMPS_FILE/centos-stream-9/rocky-9-lh}
if [ ! -f "${COMPS_ROCKY}" ]; then
echo "Rocky Comps not found."
fi
echo "Fetching from upstream"
git clone https://gitlab.com/redhat/centos-stream/release-engineering/comps.git -b ${BRANCH} /var/tmp/${VERS}-comps
echo "Copying comps file over"
cp /var/tmp/${VERS}-comps/${COMPS_FILE} "./${COMPS_ROCKY}"
echo "Modifying file with Rocky Branding"
while read -r pattern; do
sscript+="$pattern;"
done <redhat-release/>rocky-release/g
s/>redhat-sb-certs/>rocky-sb-certs/g
s/Red Hat Enterprise Linux/Rocky Linux/g
s/RHEL/Rocky Linux/g
s/Red Hat, Inc./Rocky Enterprise Software Foundation/g
EOF
sed -i "$sscript" "${COMPS_ROCKY}"
# This is taken care of upstream now. Left for visibility.
#echo "Making sure some packages are RHEL only"
#while read -r pattern; do
# mscript+="$pattern;"
#done <insights-client s/(insights-client<\/packagereq>)/\1<\/rhel_only>/g
#/>rhc s/(rhc<\/packagereq>)/\1<\/rhel_only>/g
#/>rhc-devel s/(rhc-devel<\/packagereq>)/\1<\/rhel_only>/g
#/>subscription-manager s/(subscription-manager<\/packagereq>)/\1<\/rhel_only>/g
#/>subscription-manager-cockpit s/(subscription-manager-cockpit<\/packagereq>)/\1<\/rhel_only>/g
#/>libdnf-plugin-subscription-manager s/(libdnf-plugin-subscription-manager<\/packagereq>)/\1<\/rhel_only>/g
#EOF
#sed -Ei "$mscript" "${COMPS_ROCKY}"
echo "Modifications to make sure certain scenarios work"
while read -r pattern; do
wscript+="$pattern;"
done <kmod-kvdo s/type="default"/type="default" arch="ppc64le,s390x,x86_64"/g
/>vdo s/type="default"/type="default" arch="ppc64le,s390x,x86_64"/g
EOF
sed -i "$wscript" "${COMPS_ROCKY}"
echo "Generating proper XML"
/bin/bash ./scripts/update-comps "${COMPS_ROCKY/.in/}" rocky
echo "Cleaning up upstream"
rm -rf /var/tmp/${VERS}-comps
echo "!! DIFF OF CHANGES !!"
git --no-pager diff HEAD
echo "You may now commit and push if there are any changes."