diff --git a/comps-rocky-10-lh.xml b/comps-rocky-10-lh.xml
index 5ae94a487204db43190636b4d4bae2789a351a29..184f615fd81dbff18582293c7a5bc421430f4e79 100644
--- a/comps-rocky-10-lh.xml
+++ b/comps-rocky-10-lh.xml
@@ -1053,7 +1053,6 @@
       <packagereq variant="AppStream" type="default">tcpdump</packagereq>
       <packagereq variant="AppStream" type="default">wget</packagereq>
       <packagereq variant="AppStream" type="default">vim-enhanced</packagereq>
-      <packagereq variant="AppStream" type="default">insights-client</packagereq>
     </packagelist>
   </group>
   <group>
@@ -2358,7 +2357,7 @@
       <packagereq type="default">catatonit</packagereq>
       <packagereq type="default">cglib</packagereq>
       <packagereq type="default">cifs-utils-devel</packagereq>
-      <packagereq type="default" arch="x86_64">cxl-devel</packagereq>
+      <packagereq type="default">cxl-devel</packagereq>
       <packagereq type="default">clucene-core-devel</packagereq>
       <packagereq type="default">colord-devel</packagereq>
       <packagereq type="default">colord-devel-docs</packagereq>
diff --git a/comps-rocky-10-lh.xml.in b/comps-rocky-10-lh.xml.in
index 2a41060a957c0ebb6130b033184474fa816a6583..625c990abb061ad8e11a960b17423d2a83bec906 100644
--- a/comps-rocky-10-lh.xml.in
+++ b/comps-rocky-10-lh.xml.in
@@ -1058,7 +1058,7 @@
       <packagereq type="default" variant="AppStream">tcpdump</packagereq>
       <packagereq type="default" variant="AppStream">wget</packagereq>
       <packagereq type="default" variant="AppStream">vim-enhanced</packagereq>
-      <packagereq type="default" variant="AppStream">insights-client</packagereq>
+      <rhel_only><packagereq type="default" variant="AppStream">insights-client</packagereq></rhel_only>
       <rhel_only><packagereq type="default" variant="AppStream">rhc</packagereq></rhel_only>
     </packagelist>
   </group>
@@ -1903,7 +1903,7 @@
     <default>false</default>
     <uservisible>false</uservisible>
     <packagelist>
-      <!-- Disable java until we have Java 21 which is what we'll ship in RHEL
+      <!-- Disable java until we have Java 21 which is what we'll ship in Rocky Linux
       <packagereq type="default">java-1.8.0-openjdk-devel</packagereq>
       <packagereq type="default">java-1.8.0-openjdk-demo</packagereq>
       <packagereq type="default">java-1.8.0-openjdk-javadoc</packagereq>
@@ -1948,7 +1948,7 @@
       <packagereq type="default">log4j-slf4j</packagereq>
     </packagelist>
   </group>
-  <!-- Disable java until we have Java 21 which is what we'll ship in RHEL
+  <!-- Disable java until we have Java 21 which is what we'll ship in Rocky Linux
   <group variant="AppStream">
     <id>java-platform</id>
     <_name>Java Platform</_name>
@@ -2583,7 +2583,7 @@
       <packagereq type="default">catatonit</packagereq>
       <packagereq type="default">cglib</packagereq>
       <packagereq type="default">cifs-utils-devel</packagereq>
-      <packagereq type="default" arch="x86_64">cxl-devel</packagereq>
+      <packagereq type="default">cxl-devel</packagereq>
       <packagereq type="default">clucene-core-devel</packagereq>
       <packagereq type="default">colord-devel</packagereq>
       <packagereq type="default">colord-devel-docs</packagereq>
diff --git a/comps-rocky-9-lh.xml b/comps-rocky-9-lh.xml
index 479b327bd0e078e42d965fcbc4efb7ecf7c3cfdd..64e23bae555b7306d5c6e32bc040a17773887344 100644
--- a/comps-rocky-9-lh.xml
+++ b/comps-rocky-9-lh.xml
@@ -3648,7 +3648,6 @@
       <packagereq type="default">rasqal-devel</packagereq>
       <packagereq type="default">redhat-sb-certs</packagereq>
       <packagereq type="default">redland-devel</packagereq>
-      <packagereq type="default">rhc-devel</packagereq>
       <packagereq type="default">rpcgen</packagereq>
       <packagereq type="default">rpcsvc-proto-devel</packagereq>
       <packagereq type="default">rrdtool-devel</packagereq>
diff --git a/comps-rocky-9-lh.xml.in b/comps-rocky-9-lh.xml.in
index 195be85e09e13b72ba13b24669fa24013236d1b7..d9ecdd731e28424a852c62ed4d5003d2fd2f6594 100644
--- a/comps-rocky-9-lh.xml.in
+++ b/comps-rocky-9-lh.xml.in
@@ -1,4 +1,4 @@
-<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
+<!DOCTYPE comps PUBLIC "-//Rocky Enterprise Software Foundation//DTD Comps info//EN" "comps.dtd">
 <comps>
   <group variant="BaseOS">
     <id>conflicts-baseos</id>
@@ -3902,7 +3902,7 @@
       <packagereq type="default">rasqal-devel</packagereq>
       <packagereq type="default">redhat-sb-certs</packagereq>
       <packagereq type="default">redland-devel</packagereq>
-      <packagereq type="default">rhc-devel</packagereq>
+      <rhel_only><packagereq type="default">rhc-devel</packagereq></rhel_only>
       <packagereq type="default">rpcgen</packagereq>
       <packagereq type="default">rpcsvc-proto-devel</packagereq>
       <packagereq type="default">rrdtool-devel</packagereq>
diff --git a/scripts/sync-from-upstream b/scripts/sync-from-upstream
index 07289be10d3e0f2ef1466f5ee3b970958b64463a..14b8cf8cc0d3d721b834f2996aea618afd3e1d8d 100755
--- a/scripts/sync-from-upstream
+++ b/scripts/sync-from-upstream
@@ -1,14 +1,58 @@
 #!/bin/bash
-HOWMANY="-$1"
-if [ -z $1  ]; then
-    HOWMANY="-1"
+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 fetch https://gitlab.com/redhat/centos-stream/release-engineering/comps.git main
-echo "Formatting patch and applying..."
-git format-patch --stdout ${HOWMANY} FETCH_HEAD | sed -e 's/centos-stream-9/rocky-9-lh/' | git apply
+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 <<EOF
+s/>redhat-release/>rocky-release/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}"
+
+echo "Making sure some packages are RHEL only"
+while read -r pattern; do
+  mscript+="$pattern;"
+done <<EOF
+/>insights-client</ s/(<packagereq.*>insights-client<\/packagereq>)/<rhel_only>\1<\/rhel_only>/g
+/>rhc</ s/(<packagereq.*>rhc<\/packagereq>)/<rhel_only>\1<\/rhel_only>/g
+/>rhc-devel</ s/(<packagereq.*>rhc-devel<\/packagereq>)/<rhel_only>\1<\/rhel_only>/g
+/>subscription-manager</ s/(<packagereq.*>subscription-manager<\/packagereq>)/<rhel_only>\1<\/rhel_only>/g
+/>subscription-manager-cockpit</ s/(<packagereq.*>subscription-manager-cockpit<\/packagereq>)/<rhel_only>\1<\/rhel_only>/g
+/>libdnf-plugin-subscription-manager</ s/(<packagereq.*>libdnf-plugin-subscription-manager<\/packagereq>)/<rhel_only>\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 <<EOF
+/>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."
+echo "You may now commit and push if there are any changes."
diff --git a/scripts/sync-from-upstream-10 b/scripts/sync-from-upstream-10
index fa252a502588d4a9c6521e57964dfc2e5440a537..a5d6e4a49ef438878e96a55a139f5f4cd5230bc6 100755
--- a/scripts/sync-from-upstream-10
+++ b/scripts/sync-from-upstream-10
@@ -1,14 +1,53 @@
 #!/bin/bash
-HOWMANY="-$1"
-if [ -z $1  ]; then
-    HOWMANY="-1"
+BRANCH=c10s
+VERS=c10s
+COMPS_FILE=comps-centos-stream-10.xml.in
+COMPS_ROCKY=${COMPS_FILE/centos-stream-10/rocky-10-lh}
+
+if [ ! -f "${COMPS_ROCKY}" ]; then
+  echo "Rocky Comps not found."
 fi
 
 echo "Fetching from upstream"
-git fetch https://gitlab.com/redhat/centos-stream/release-engineering/comps.git c10s
-echo "Formatting patch and applying..."
-git format-patch --stdout ${HOWMANY} FETCH_HEAD | sed -e 's/centos-stream-10/rocky-10-lh/' | git apply
+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 <<EOF
+s/>redhat-release/>rocky-release/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}"
+
+echo "Making sure some packages are RHEL only"
+while read -r pattern; do
+  mscript+="$pattern;"
+done <<EOF
+/  <packagereq .*>insights-client/ s/(<packagereq.*>insights-client<\/packagereq>)/<rhel_only>\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 <<EOF
+#/>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."
+echo "You may now commit and push if there are any changes."
diff --git a/scripts/update-comps b/scripts/update-comps
index e46e58ecb26e55d1207bd7068938497c0a2bd77c..549f54344772458a12bcdfc9008faf416d10ace0 100755
--- a/scripts/update-comps
+++ b/scripts/update-comps
@@ -2,6 +2,7 @@
 
 COMPSFILE=$1
 DISTRO=$2
+CURDIR="${0%/*}"
 
 if [ -z "$COMPSFILE" ] || [ -z "$DISTRO" ]; then
   echo "Usage: $0 <compsfile> <distro>"
@@ -9,7 +10,7 @@ if [ -z "$COMPSFILE" ] || [ -z "$DISTRO" ]; then
 fi
 
 LANG=C intltool-merge -x -u po/ $COMPSFILE.in $COMPSFILE
-xsltproc --stringparam distro $DISTRO --novalid -o $COMPSFILE comps-distro-only.xsl $COMPSFILE
+xsltproc --stringparam distro $DISTRO --novalid -o $COMPSFILE ${CURDIR}/comps-distro-only.xsl $COMPSFILE
 
 echo "Cleaning up empty space left over"
 sed -i '/^      $/d' "${COMPSFILE}"