Fix FTBFS caused by old python-3.9.x on el9 File "/builddir/build/BUILD/chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py", line 81, in EnumDict type: str | None TypeError: unsupported operand type(s) for |: 'type' and 'NoneType' File "/builddir/build/BUILD/chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py", line 106, in ) -> tuple[str | None, ExtractionErrors]: TypeError: unsupported operand type(s) for |: 'type' and 'NoneType' File "/builddir/build/BUILD/chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py", line 643, in def _GetObsoleteReason(node: xml.dom.minidom.Element) -> str | None: TypeError: unsupported operand type(s) for |: 'type' and 'NoneType' diff -up chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py.me chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py --- chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py.me 2025-10-28 20:14:35.609014587 +0100 +++ chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py 2025-10-28 20:30:30.123641508 +0100 @@ -21,6 +21,7 @@ from typing import Any, TypedDict import xml.dom.minidom import histogram_configuration_model +from typing import Optional, Union sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common')) import xml_utils @@ -78,7 +79,7 @@ class EnumDict(TypedDict, total=False): """A dict representing an enum.""" name: str - type: str | None + type: Optional[str] buckets: list[_BucketDict] summary: str @@ -102,7 +103,7 @@ def ExpandHistogramNameWithSuffixes( suffix_name: str, histogram_name: str, histogram_suffixes_node: xml.dom.minidom.Element, -) -> tuple[str | None, ExtractionErrors]: +) -> tuple[Optional[str], ExtractionErrors]: """Creates a new histogram name based on a histogram suffix. Args: @@ -304,7 +305,7 @@ def _ExtractOwners(node: xml.dom.minidom def _ExtractImprovementDirection( histogram_node: xml.dom.minidom.Element, -) -> tuple[str | None, ExtractionErrors]: +) -> tuple[Union[str, None], ExtractionErrors]: """Extracts improvement direction from the given histogram element, if any. Args: @@ -639,7 +640,7 @@ def ExtractVariantsFromXmlTree( return variants_dict, errors -def _GetObsoleteReason(node: xml.dom.minidom.Element) -> str | None: +def _GetObsoleteReason(node: xml.dom.minidom.Element) -> Optional[str]: """If the node's histogram is obsolete, returns a string explanation. Otherwise, returns None.