summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlain Penders <alain@gentoo.org>2003-02-24 14:48:13 +0000
committerAlain Penders <alain@gentoo.org>2003-02-24 14:48:13 +0000
commitb5afa28ac4ceeb369e442854995ea9e045d0c740 (patch)
tree0eec86fc790ed6d83093cd06e387157134f5ee61
parentfix for ccache (diff)
downloadportage-cvs-b5afa28ac4ceeb369e442854995ea9e045d0c740.tar.gz
portage-cvs-b5afa28ac4ceeb369e442854995ea9e045d0c740.tar.bz2
portage-cvs-b5afa28ac4ceeb369e442854995ea9e045d0c740.zip
Added nested/sub-shell die testing.
-rw-r--r--ChangeLog5
-rwxr-xr-xbin/repoman10
2 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 5498030..4ba3d71 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for Portage; the Gentoo Linux ports system
# Copyright 2000-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /local/data/ulm/cvs/history/var/cvsroot/gentoo-src/portage/ChangeLog,v 1.424 2003/02/23 23:12:26 alain Exp $
+# $Header: /local/data/ulm/cvs/history/var/cvsroot/gentoo-src/portage/ChangeLog,v 1.425 2003/02/24 14:48:13 alain Exp $
+
+ 24 Feb 2003; Alain Penders <alain@gentoo.org> repoman: Added nested/sub-shell
+ die testing.
23 Feb 2003; Alain Penders <alain@gentoo.org>: Added bin/portageq tool to
provide access to portage internal information without using APIs that
diff --git a/bin/repoman b/bin/repoman
index fa2883c..3bb409e 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -2,7 +2,7 @@
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# Author: Daniel Robbins <drobbins@gentoo.org>
-# $Header: /local/data/ulm/cvs/history/var/cvsroot/gentoo-src/portage/bin/repoman,v 1.9 2003/02/22 16:59:08 carpaski Exp $
+# $Header: /local/data/ulm/cvs/history/var/cvsroot/gentoo-src/portage/bin/repoman,v 1.10 2003/02/24 14:48:13 alain Exp $
# Next to do: dep syntax checking in ebuilds, mask files
# Then, check to make sure deps are satisfiable (to avoid "can't find match for" problems)
@@ -35,7 +35,7 @@ modeshelp={"scan":"Scan current directory tree for QA issues (default)",
optionshelp={"--pretend":"Don't actually perform commit or fix steps; just show what would be done.",
"--help":"Show this screen"
}
-qacats=["digest.stray","digest.missing","ebuild.invalidname","ebuild.namenomatch","changelog.missing","ebuild.notadded","digest.notadded","ebuild.disjointed","digest.disjointed", "DEPEND.bad","RDEPEND.bad","DEPEND.badmasked","RDEPEND.badmasked","ebuild.syntax","ebuild.output"]
+qacats=["digest.stray","digest.missing","ebuild.invalidname","ebuild.namenomatch","changelog.missing","ebuild.notadded","digest.notadded","ebuild.disjointed","digest.disjointed", "DEPEND.bad","RDEPEND.bad","DEPEND.badmasked","RDEPEND.badmasked","ebuild.syntax","ebuild.output","ebuild.nesteddie"]
qawarnings=["changelog.missing","ebuild.notadded","digest.notadded","DEPEND.badmasked","RDEPEND.badmasked"]
missingvars=["KEYWORDS","LICENSE","DESCRIPTION","SLOT"]
allvars=missingvars[:]
@@ -62,7 +62,8 @@ qahelp={
"DEPEND.badmasked":"Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds)",
"RDEPEND.badmasked":"Masked ebuilds with RDEPEND settings (matched against *all* ebuilds)",
"ebuild.syntax":"Error generating cache entry for ebuild; typically caused by ebuild syntax error",
- "ebuild.output":"A simple sourcing of the ebuild produces output; this breaks ebuild policy."
+ "ebuild.output":"A simple sourcing of the ebuild produces output; this breaks ebuild policy.",
+ "ebuild.nesteddie":"Placing 'die' inside ( ) prints an error, but doesn't stop the ebuild."
}
def err(txt):
@@ -312,6 +313,9 @@ for x in scanlist:
else:
stats[mykey]=stats[mykey]+1
fails[mykey].append(x+"/"+y+".ebuild: "+repr(mydep[1]))
+ if not os.system("egrep '\([^)]*\<die\>' "+checkdir+"/"+y+".ebuild >/dev/null 2>&1"):
+ stats["ebuild.nesteddie"]=stats["ebuild.nesteddie"]+1
+ fails["ebuild.nesteddie"].append(x+"/"+y+".ebuild")
print
#dofail will be set to 1 if we have failed in at least one non-warning category