This is one of the infra runs of repoman, where it runs as non-root, and has no permission to write to DISTDIR. DISTDIR contains an old(er) copy of metadata.dtd than PORTDIR does. Repoman keeps trying to download to DISTDIR a more "recent" copy of metadata.dtd, instead of just using the PORTDIR copy. Please make repoman check if the PORTDIR copy of metadata.dtd is sufficiently new, and/or add options to explicitly state that it is (this is the master mirror, it's not going to get any newer!).
PORTDIR / main-repo are deprecated. So probably repository, in which repoman is run, should be checked. What location exactly? ${current_repository_location}/metadata.dtd ?
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #1) > PORTDIR / main-repo are deprecated. > So probably repository, in which repoman is run, should be checked. > What location exactly? ${current_repository_location}/metadata.dtd ? If metadata.dtd doesn't exist in the current repository, we could have it check the master repositories. Location is ${repo}/metadata/dtd/metadata.dtd
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #1) > PORTDIR / main-repo are deprecated. > So probably repository, in which repoman is run, should be checked. > What location exactly? ${current_repository_location}/metadata.dtd ? ${repo}/metadata/dtd/metadata.dtd is the location at which Infra distributes the DTD, and has always done so. $repo in this case is /var/tmp/gmirror-rsync/gentoo-x86-stage where egencache & repoman are running. Also important to this discussion is the related option to inform repoman that there is no point in trying to fetch it, because THIS is the canonical copy. (say 30 days down the line, when no changes have been made, and the mtime accurately reflects the last change).
There's a patch in the following branch: https://github.com/zmedico/portage/tree/bug_567746 I've posted it for review here: https://archives.gentoo.org/gentoo-portage-dev/message/5775c0f28b49faf18fed3e3194a79176
This is in the master branch: https://gitweb.gentoo.org/proj/portage.git/commit/?id=801f9a8a4d50baee38c8c06eaf4183e76c018e58
Fixed in 2.2.27.