repoman uses the following code to build a parser for XML: class _XMLParser(xml.etree.ElementTree.XMLParser): def __init__(self, data, **kwargs): xml.etree.ElementTree.XMLParser.__init__(self, **kwargs) self._portage_data = data if hasattr(self, 'parser'): self._base_XmlDeclHandler = self.parser.XmlDeclHandler self.parser.XmlDeclHandler = self._portage_XmlDeclHandler self._base_StartDoctypeDeclHandler = \ self.parser.StartDoctypeDeclHandler self.parser.StartDoctypeDeclHandler = \ self._portage_StartDoctypeDeclHandler With Python 3.4 and expat, xml.etree.ElementTree.XMLParser is really just an alias for _elementtree.XMLParser, which is a C extension module that does not contain a "parser" parser attribute. This causes hasattr(self, 'parser') to return false, and _portage_StartDoctypeDeclHandler is never installed on the object.
FWICS, the code is no longer there and repoman complains about wrong DTD URI w/ py3.5.