Make sure that *all* of the ebuilds are listed in the Manifest.
authorZac Medico <zmedico@gentoo.org>
Sat, 2 Dec 2006 10:19:26 +0000 (10:19 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 2 Dec 2006 10:19:26 +0000 (10:19 -0000)
svn path=/main/trunk/; revision=5156

pym/portage.py

index 222e7420de950e31c67765f92299b263242233b8..4388fb10a739e6ebf594514ac0d1527d157b7f65 100644 (file)
@@ -3045,6 +3045,14 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
                                writemsg("!!! Got: %s\n" % e.value[2], noiselevel=-1)
                                writemsg("!!! Expected: %s\n" % e.value[3], noiselevel=-1)
                                return 1
+                       # Make sure that all of the ebuilds are actually listed in the
+                       # Manifest.
+                       for f in os.listdir(pkgdir):
+                               if f.endswith(".ebuild") and not mf.hasFile("EBUILD", f):
+                                       writemsg("!!! A file is not listed in the " + \
+                                       "Manifest: '%s'\n" % os.path.join(pkgdir, f),
+                                       noiselevel=-1)
+                                       return 1
                        _doebuild_manifest_checked = manifest_path
 
        doebuild_environment(myebuild, mydo, myroot, mysettings, debug,