If a repo doesn't have metadata/layout.conf then use either missing eclass
authorZac Medico <zmedico@gentoo.org>
Thu, 30 Apr 2009 07:18:41 +0000 (07:18 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 30 Apr 2009 07:18:41 +0000 (07:18 -0000)
directory or missing profiles/profiles.desc to trigger assignment of a default
master. (trunk r13361)

svn path=/main/branches/2.1.6/; revision=13517

pym/portage/dbapi/porttree.py

index c07cf4ff264b2617a4531c51c2aeaf3d560c6545..2be49d58f0f12e33a617cf84c92ee497247748d9 100644 (file)
@@ -254,10 +254,12 @@ class portdbapi(dbapi):
                                        porttrees.append(master_path)
 
                        if not porttrees:
-                               # Make PORTDIR the default master, but only if this
-                               # repo doesn't provide profiles.desc itself.
+                               # Make PORTDIR the default master, but only if our
+                               # heuristics suggest that it's necessary.
                                profiles_desc = os.path.join(path, 'profiles', 'profiles.desc')
-                               if not os.path.exists(profiles_desc):
+                               eclass_dir = os.path.join(path, 'eclass')
+                               if not os.path.isfile(profiles_desc) or \
+                                       not os.path.isdir(eclass_dir):
                                        porttrees.append(porttree_root)
 
                        porttrees.append(path)