repoman: tell user which mirror identifiers contain SRC_URI
authorSergei Trofimovich <slyfox@gentoo.org>
Tue, 1 Jan 2013 14:15:39 +0000 (17:15 +0300)
committerZac Medico <zmedico@gentoo.org>
Wed, 2 Jan 2013 00:28:05 +0000 (16:28 -0800)
before the patch:
    $ repoman full

    RepoMan scours the neighborhood...
      metadata.missing              1
       dev-haskell/qthaskellc/metadata.xml
      SRC_URI.mirror                1
       dev-haskell/qthaskellc/qthaskellc-1.1.4.ebuild: 'http://download.berlios.de/' found in thirdpartymirrors

after the patch:
    $ repoman full

    RepoMan scours the neighborhood...
      metadata.missing              1
       dev-haskell/qthaskellc/metadata.xml
      SRC_URI.mirror                1
       dev-haskell/qthaskellc/qthaskellc-1.1.4.ebuild: 'http://download.berlios.de/' found in thirdpartymirrors: 'mirror://berlios'

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
bin/repoman

index 45a7ca57f95d6aa785ac182d1146247c0dc864e4..92ae667e61e229a1432f43bff5db70432568b491 100755 (executable)
@@ -1267,12 +1267,12 @@ check_ebuild_notadded = not \
        (vcs == "svn" and repolevel < 3 and options.mode != "commit")
 
 # Build a regex from thirdpartymirrors for the SRC_URI.mirror check.
-thirdpartymirrors = []
-for v in repoman_settings.thirdpartymirrors().values():
+thirdpartymirrors = {}
+for k, v in repoman_settings.thirdpartymirrors().items():
        for v in v:
                if not v.endswith("/"):
                        v += "/"
-               thirdpartymirrors.append(v)
+               thirdpartymirrors[v] = k
 
 class _MetadataTreeBuilder(xml.etree.ElementTree.TreeBuilder):
        """
@@ -1772,7 +1772,7 @@ for x in effective_scanlist:
                        for uri in portage.dep.use_reduce( \
                                myaux["SRC_URI"], matchall=True, is_src_uri=True, eapi=eapi, flat=True):
                                contains_mirror = False
-                               for mirror in thirdpartymirrors:
+                               for mirror, mirror_alias in thirdpartymirrors.items():
                                        if uri.startswith(mirror):
                                                contains_mirror = True
                                                break
@@ -1781,8 +1781,8 @@ for x in effective_scanlist:
 
                                stats["SRC_URI.mirror"] += 1
                                fails["SRC_URI.mirror"].append(
-                                       "%s: '%s' found in thirdpartymirrors" % \
-                                       (relative_path, mirror))
+                                       "%s: '%s' found in thirdpartymirrors: 'mirror://%s'" % \
+                                       (relative_path, mirror, mirror_alias))
 
                if myaux.get("PROVIDE"):
                        stats["virtual.oldstyle"]+=1