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()