summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-11-11 10:13:24 +0000
committerZac Medico <zmedico@gentoo.org>2006-11-11 10:13:24 +0000
commitbed087fd07e65fa038a4420b59b95a49557c8467 (patch)
treea7893babd3a68fbd8bb0f6e536e0c487281dbbe2
parent38c923b8b6903dfe81f670be8c556162d99ee652 (diff)
downloadportage-bed087fd07e65fa038a4420b59b95a49557c8467.tar.gz
portage-bed087fd07e65fa038a4420b59b95a49557c8467.tar.bz2
portage-bed087fd07e65fa038a4420b59b95a49557c8467.zip
Make digestcheck() fail if an ebuild isn't listed in the Manifest. Thanks to pva for reporting.
svn path=/main/trunk/; revision=5002
-rw-r--r--pym/portage.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 10f8748c7..604deb104 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -2560,6 +2560,12 @@ def digestcheck(myfiles, mysettings, strict=0, justmanifest=0):
writemsg("!!! Got: %s\n" % e.value[2], noiselevel=-1)
writemsg("!!! Expected: %s\n" % e.value[3], noiselevel=-1)
return 0
+ # 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 0
""" epatch will just grab all the patches out of a directory, so we have to
make sure there aren't any foreign files that it might grab."""
filesdir = os.path.join(pkgdir, "files")