Bug #201848 - Make the ebuild command reject ebuilds that do not define
authorZac Medico <zmedico@gentoo.org>
Thu, 13 Dec 2007 04:30:46 +0000 (04:30 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 13 Dec 2007 04:30:46 +0000 (04:30 -0000)
SLOT.

svn path=/main/trunk/; revision=8895

pym/portage/__init__.py

index e32e168391d8ed4be7cb00998869a3c3ec778e95..f3da7887772402c0346a3c6eeee11d50fbe88c30 100644 (file)
@@ -4339,7 +4339,8 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
                mycpv = mysettings["CATEGORY"] + "/" + mysettings["PF"]
                dep_keys = ["DEPEND", "RDEPEND", "PDEPEND"]
                misc_keys = ["LICENSE", "PROVIDE", "RESTRICT", "SRC_URI"]
-               all_keys = dep_keys + misc_keys
+               other_keys = ["SLOT"]
+               all_keys = dep_keys + misc_keys + other_keys
                metadata = dict(izip(all_keys, mydbapi.aux_get(mycpv, all_keys)))
                class FakeTree(object):
                        def __init__(self, mydb):
@@ -4367,6 +4368,10 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
                                if mydo not in invalid_dep_exempt_phases:
                                        return 1
                        del k
+               if not metadata["SLOT"]:
+                       writemsg("SLOT is undefined\n", noiselevel=-1)
+                       if mydo not in invalid_dep_exempt_phases:
+                               return 1
                del mycpv, dep_keys, metadata, misc_keys, FakeTree, dep_check_trees
 
                if "PORTAGE_TMPDIR" not in mysettings or \