scripts: downgrade eclass eapi

BUG=b/438287197
TEST=local test (sys-lib/biutils-libs) and presubmit
RELEASE_NOTE=None

Change-Id: I7e50803bdff46f21d45c846682186ab242092c40
diff --git a/scripts/cros_portage_upgrade.py b/scripts/cros_portage_upgrade.py
index 37650e0..34c79f3 100644
--- a/scripts/cros_portage_upgrade.py
+++ b/scripts/cros_portage_upgrade.py
@@ -1629,20 +1629,21 @@
         except OSError as e:
             oper.Error(f"Failed to downgrade ebuild file(s) {e}")
 
-    def _DowngradeDistutils(self):
-        distutils_file = "/tmp/portage/eclass/distutils-r1.eclass"
-        with open(distutils_file, "r+", encoding="utf-8") as f:
-            changed = False
-            lines = []
-            for line in f.readlines():
-                if line.strip() == "8) ;;":
-                    changed = True
-                    lines.append(line.replace("8", "[6-8]"))
-                else:
-                    lines.append(line)
-            if changed:
-                f.seek(0)
-                f.writelines(lines)
+    def _DowngradeEclassEAPI(self):
+        files_to_downgrade = ["/tmp/portage/eclass/distutils-r1.eclass", "/tmp/portage/eclass/dot-a.eclass"]
+        for path in files_to_downgrade:
+            with open(path, "r+", encoding="utf-8") as f:
+                changed = False
+                lines = []
+                for line in f.readlines():
+                    if line.strip() == "8) ;;":
+                        changed = True
+                        lines.append(line.replace("8", "[6-8]"))
+                    else:
+                        lines.append(line)
+                if changed:
+                    f.seek(0)
+                    f.writelines(lines)
 
     def PrepareToRun(self):
         """Checkout upstream gentoo if necessary, and any other prep steps."""
@@ -1715,7 +1716,7 @@
 
         # TODO(b/242758296) Remove this when ChromeOS supports EAPI 8.
         self._DowngradeEAPI()
-        self._DowngradeDistutils()
+        self._DowngradeEclassEAPI()
 
         # An empty directory is needed to trick equery later.
         self._emptydir = tempfile.mkdtemp()