public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Frysinger" <vapier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: bin/
Date: Mon, 18 Feb 2013 02:09:03 +0000 (UTC)	[thread overview]
Message-ID: <1361152929.328dfc62a7f1252d8c940a4c267345b2b6aa7a53.vapier@gentoo> (raw)

commit:     328dfc62a7f1252d8c940a4c267345b2b6aa7a53
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 18 02:02:09 2013 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Mon Feb 18 02:02:09 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=328dfc62

repoman: clean up style in a lot of places

Shouldn't be any functional changes in here.

Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>

---
 bin/repoman |  449 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 222 insertions(+), 227 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index 270b86f..a77b5de 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -120,10 +120,10 @@ def exithandler(signum=None, frame=None):
 	else:
 		sys.exit(128 + signum)
 
-signal.signal(signal.SIGINT,exithandler)
+signal.signal(signal.SIGINT, exithandler)
 
 class RepomanHelpFormatter(optparse.IndentedHelpFormatter):
-	"""Repoman needs it's own HelpFormatter for now, because the default ones
+	"""Repoman needs its own HelpFormatter for now, because the default ones
 	murder the help text."""
 
 	def __init__(self, indent_increment=1, max_help_position=24, width=150, short_first=1):
@@ -179,7 +179,7 @@ def ParseArgs(argv, qahelp):
 	parser.description = green(" ".join((os.path.basename(argv[0]), "1.2")))
 	parser.description += "\nCopyright 1999-2007 Gentoo Foundation"
 	parser.description += "\nDistributed under the terms of the GNU General Public License v2"
-	parser.description += "\nmodes: " + " | ".join(map(green,mode_keys))
+	parser.description += "\nmodes: " + " | ".join(map(green, mode_keys))
 
 	parser.add_option('-a', '--ask', dest='ask', action='store_true', default=False,
 		help='Request a confirmation before commiting')
@@ -300,86 +300,86 @@ def ParseArgs(argv, qahelp):
 
 	return (opts, args)
 
-qahelp={
-	"CVS/Entries.IO_error":"Attempting to commit, and an IO error was encountered access the Entries file",
-	"ebuild.invalidname":"Ebuild files with a non-parseable or syntactically incorrect name (or using 2.1 versioning extensions)",
-	"ebuild.namenomatch":"Ebuild files that do not have the same name as their parent directory",
-	"changelog.ebuildadded":"An ebuild was added but the ChangeLog was not modified",
-	"changelog.missing":"Missing ChangeLog files",
-	"ebuild.notadded":"Ebuilds that exist but have not been added to cvs",
-	"ebuild.patches":"PATCHES variable should be a bash array to ensure white space safety",
-	"changelog.notadded":"ChangeLogs that exist but have not been added to cvs",
+qahelp = {
+	"CVS/Entries.IO_error": "Attempting to commit, and an IO error was encountered access the Entries file",
+	"ebuild.invalidname": "Ebuild files with a non-parseable or syntactically incorrect name (or using 2.1 versioning extensions)",
+	"ebuild.namenomatch": "Ebuild files that do not have the same name as their parent directory",
+	"changelog.ebuildadded": "An ebuild was added but the ChangeLog was not modified",
+	"changelog.missing": "Missing ChangeLog files",
+	"ebuild.notadded": "Ebuilds that exist but have not been added to cvs",
+	"ebuild.patches": "PATCHES variable should be a bash array to ensure white space safety",
+	"changelog.notadded": "ChangeLogs that exist but have not been added to cvs",
 	"dependency.bad": "User-visible ebuilds with unsatisfied dependencies (matched against *visible* ebuilds)",
 	"dependency.badmasked": "Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds)",
 	"dependency.badindev": "User-visible ebuilds with unsatisfied dependencies (matched against *visible* ebuilds) in developing arch",
 	"dependency.badmaskedindev": "Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds) in developing arch",
 	"dependency.badtilde": "Uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)",
 	"dependency.syntax": "Syntax error in dependency string (usually an extra/missing space/parenthesis)",
-	"dependency.unknown" : "Ebuild has a dependency that refers to an unknown package (which may be valid if it is a blocker for a renamed/removed package, or is an alternative choice provided by an overlay)",
-	"file.executable":"Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the executable bit",
-	"file.size":"Files in the files directory must be under 20 KiB",
-	"file.size.fatal":"Files in the files directory must be under 60 KiB",
-	"file.name":"File/dir name must be composed of only the following chars: %s " % allowed_filename_chars,
-	"file.UTF8":"File is not UTF8 compliant",
-	"inherit.deprecated":"Ebuild inherits a deprecated eclass",
-	"inherit.missing":"Ebuild uses functions from an eclass but does not inherit it",
-	"inherit.unused":"Ebuild inherits an eclass but does not use it",
-	"java.eclassesnotused":"With virtual/jdk in DEPEND you must inherit a java eclass",
-	"wxwidgets.eclassnotused":"Ebuild DEPENDs on x11-libs/wxGTK without inheriting wxwidgets.eclass",
-	"KEYWORDS.dropped":"Ebuilds that appear to have dropped KEYWORDS for some arch",
-	"KEYWORDS.missing":"Ebuilds that have a missing or empty KEYWORDS variable",
-	"KEYWORDS.stable":"Ebuilds that have been added directly with stable KEYWORDS",
-	"KEYWORDS.stupid":"Ebuilds that use KEYWORDS=-* instead of package.mask",
-	"LICENSE.missing":"Ebuilds that have a missing or empty LICENSE variable",
-	"LICENSE.virtual":"Virtuals that have a non-empty LICENSE variable",
-	"DESCRIPTION.missing":"Ebuilds that have a missing or empty DESCRIPTION variable",
-	"DESCRIPTION.toolong":"DESCRIPTION is over %d characters" % max_desc_len,
-	"EAPI.definition":"EAPI definition does not conform to PMS section 7.3.1 (first non-comment, non-blank line)",
-	"EAPI.deprecated":"Ebuilds that use features that are deprecated in the current EAPI",
-	"EAPI.incompatible":"Ebuilds that use features that are only available with a different EAPI",
-	"EAPI.unsupported":"Ebuilds that have an unsupported EAPI version (you must upgrade portage)",
-	"SLOT.invalid":"Ebuilds that have a missing or invalid SLOT variable value",
-	"HOMEPAGE.missing":"Ebuilds that have a missing or empty HOMEPAGE variable",
-	"HOMEPAGE.virtual":"Virtuals that have a non-empty HOMEPAGE variable",
-	"PDEPEND.suspect":"PDEPEND contains a package that usually only belongs in DEPEND.",
-	"LICENSE.syntax":"Syntax error in LICENSE (usually an extra/missing space/parenthesis)",
-	"PROVIDE.syntax":"Syntax error in PROVIDE (usually an extra/missing space/parenthesis)",
-	"PROPERTIES.syntax":"Syntax error in PROPERTIES (usually an extra/missing space/parenthesis)",
-	"RESTRICT.syntax":"Syntax error in RESTRICT (usually an extra/missing space/parenthesis)",
-	"REQUIRED_USE.syntax":"Syntax error in REQUIRED_USE (usually an extra/missing space/parenthesis)",
-	"SRC_URI.syntax":"Syntax error in SRC_URI (usually an extra/missing space/parenthesis)",
-	"SRC_URI.mirror":"A uri listed in profiles/thirdpartymirrors is found in SRC_URI",
-	"ebuild.syntax":"Error generating cache entry for ebuild; typically caused by ebuild syntax error or digest verification failure",
-	"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.",
-	"variable.invalidchar":"A variable contains an invalid character that is not part of the ASCII character set",
-	"variable.readonly":"Assigning a readonly variable",
-	"variable.usedwithhelpers":"Ebuild uses D, ROOT, ED, EROOT or EPREFIX with helpers",
-	"LIVEVCS.stable":"This ebuild is a live checkout from a VCS but has stable keywords.",
-	"LIVEVCS.unmasked":"This ebuild is a live checkout from a VCS but has keywords and is not masked in the global package.mask.",
-	"IUSE.invalid":"This ebuild has a variable in IUSE that is not in the use.desc or its metadata.xml file",
-	"IUSE.missing":"This ebuild has a USE conditional which references a flag that is not listed in IUSE",
-	"LICENSE.invalid":"This ebuild is listing a license that doesnt exist in portages license/ dir.",
-	"LICENSE.deprecated":"This ebuild is listing a deprecated license.",
-	"KEYWORDS.invalid":"This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found",
-	"RDEPEND.implicit":"RDEPEND is unset in the ebuild which triggers implicit RDEPEND=$DEPEND assignment (prior to EAPI 4)",
-	"RDEPEND.suspect":"RDEPEND contains a package that usually only belongs in DEPEND.",
-	"RESTRICT.invalid":"This ebuild contains invalid RESTRICT values.",
-	"digest.assumed":"Existing digest must be assumed correct (Package level only)",
-	"digest.missing":"Some files listed in SRC_URI aren't referenced in the Manifest",
-	"digest.unused":"Some files listed in the Manifest aren't referenced in SRC_URI",
-	"ebuild.majorsyn":"This ebuild has a major syntax error that may cause the ebuild to fail partially or fully",
-	"ebuild.minorsyn":"This ebuild has a minor syntax error that contravenes gentoo coding style",
-	"ebuild.badheader":"This ebuild has a malformed header",
-	"manifest.bad":"Manifest has missing or incorrect digests",
-	"metadata.missing":"Missing metadata.xml files",
-	"metadata.bad":"Bad metadata.xml files",
-	"metadata.warning":"Warnings in metadata.xml files",
-	"portage.internal":"The ebuild uses an internal Portage function or variable",
-	"virtual.oldstyle":"The ebuild PROVIDEs an old-style virtual (see GLEP 37)",
-	"virtual.suspect":"Ebuild contains a package that usually should be pulled via virtual/, not directly.",
-	"usage.obsolete":"The ebuild makes use of an obsolete construct",
-	"upstream.workaround":"The ebuild works around an upstream bug, an upstream bug should be filed and tracked in bugs.gentoo.org"
+	"dependency.unknown": "Ebuild has a dependency that refers to an unknown package (which may be valid if it is a blocker for a renamed/removed package, or is an alternative choice provided by an overlay)",
+	"file.executable": "Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the executable bit",
+	"file.size": "Files in the files directory must be under 20 KiB",
+	"file.size.fatal": "Files in the files directory must be under 60 KiB",
+	"file.name": "File/dir name must be composed of only the following chars: %s " % allowed_filename_chars,
+	"file.UTF8": "File is not UTF8 compliant",
+	"inherit.deprecated": "Ebuild inherits a deprecated eclass",
+	"inherit.missing": "Ebuild uses functions from an eclass but does not inherit it",
+	"inherit.unused": "Ebuild inherits an eclass but does not use it",
+	"java.eclassesnotused": "With virtual/jdk in DEPEND you must inherit a java eclass",
+	"wxwidgets.eclassnotused": "Ebuild DEPENDs on x11-libs/wxGTK without inheriting wxwidgets.eclass",
+	"KEYWORDS.dropped": "Ebuilds that appear to have dropped KEYWORDS for some arch",
+	"KEYWORDS.missing": "Ebuilds that have a missing or empty KEYWORDS variable",
+	"KEYWORDS.stable": "Ebuilds that have been added directly with stable KEYWORDS",
+	"KEYWORDS.stupid": "Ebuilds that use KEYWORDS=-* instead of package.mask",
+	"LICENSE.missing": "Ebuilds that have a missing or empty LICENSE variable",
+	"LICENSE.virtual": "Virtuals that have a non-empty LICENSE variable",
+	"DESCRIPTION.missing": "Ebuilds that have a missing or empty DESCRIPTION variable",
+	"DESCRIPTION.toolong": "DESCRIPTION is over %d characters" % max_desc_len,
+	"EAPI.definition": "EAPI definition does not conform to PMS section 7.3.1 (first non-comment, non-blank line)",
+	"EAPI.deprecated": "Ebuilds that use features that are deprecated in the current EAPI",
+	"EAPI.incompatible": "Ebuilds that use features that are only available with a different EAPI",
+	"EAPI.unsupported": "Ebuilds that have an unsupported EAPI version (you must upgrade portage)",
+	"SLOT.invalid": "Ebuilds that have a missing or invalid SLOT variable value",
+	"HOMEPAGE.missing": "Ebuilds that have a missing or empty HOMEPAGE variable",
+	"HOMEPAGE.virtual": "Virtuals that have a non-empty HOMEPAGE variable",
+	"PDEPEND.suspect": "PDEPEND contains a package that usually only belongs in DEPEND.",
+	"LICENSE.syntax": "Syntax error in LICENSE (usually an extra/missing space/parenthesis)",
+	"PROVIDE.syntax": "Syntax error in PROVIDE (usually an extra/missing space/parenthesis)",
+	"PROPERTIES.syntax": "Syntax error in PROPERTIES (usually an extra/missing space/parenthesis)",
+	"RESTRICT.syntax": "Syntax error in RESTRICT (usually an extra/missing space/parenthesis)",
+	"REQUIRED_USE.syntax": "Syntax error in REQUIRED_USE (usually an extra/missing space/parenthesis)",
+	"SRC_URI.syntax": "Syntax error in SRC_URI (usually an extra/missing space/parenthesis)",
+	"SRC_URI.mirror": "A uri listed in profiles/thirdpartymirrors is found in SRC_URI",
+	"ebuild.syntax": "Error generating cache entry for ebuild; typically caused by ebuild syntax error or digest verification failure",
+	"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.",
+	"variable.invalidchar": "A variable contains an invalid character that is not part of the ASCII character set",
+	"variable.readonly": "Assigning a readonly variable",
+	"variable.usedwithhelpers": "Ebuild uses D, ROOT, ED, EROOT or EPREFIX with helpers",
+	"LIVEVCS.stable": "This ebuild is a live checkout from a VCS but has stable keywords.",
+	"LIVEVCS.unmasked": "This ebuild is a live checkout from a VCS but has keywords and is not masked in the global package.mask.",
+	"IUSE.invalid": "This ebuild has a variable in IUSE that is not in the use.desc or its metadata.xml file",
+	"IUSE.missing": "This ebuild has a USE conditional which references a flag that is not listed in IUSE",
+	"LICENSE.invalid": "This ebuild is listing a license that doesnt exist in portages license/ dir.",
+	"LICENSE.deprecated": "This ebuild is listing a deprecated license.",
+	"KEYWORDS.invalid": "This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found",
+	"RDEPEND.implicit": "RDEPEND is unset in the ebuild which triggers implicit RDEPEND=$DEPEND assignment (prior to EAPI 4)",
+	"RDEPEND.suspect": "RDEPEND contains a package that usually only belongs in DEPEND.",
+	"RESTRICT.invalid": "This ebuild contains invalid RESTRICT values.",
+	"digest.assumed": "Existing digest must be assumed correct (Package level only)",
+	"digest.missing": "Some files listed in SRC_URI aren't referenced in the Manifest",
+	"digest.unused": "Some files listed in the Manifest aren't referenced in SRC_URI",
+	"ebuild.majorsyn": "This ebuild has a major syntax error that may cause the ebuild to fail partially or fully",
+	"ebuild.minorsyn": "This ebuild has a minor syntax error that contravenes gentoo coding style",
+	"ebuild.badheader": "This ebuild has a malformed header",
+	"manifest.bad": "Manifest has missing or incorrect digests",
+	"metadata.missing": "Missing metadata.xml files",
+	"metadata.bad": "Bad metadata.xml files",
+	"metadata.warning": "Warnings in metadata.xml files",
+	"portage.internal": "The ebuild uses an internal Portage function or variable",
+	"virtual.oldstyle": "The ebuild PROVIDEs an old-style virtual (see GLEP 37)",
+	"virtual.suspect": "Ebuild contains a package that usually should be pulled via virtual/, not directly.",
+	"usage.obsolete": "The ebuild makes use of an obsolete construct",
+	"upstream.workaround": "The ebuild works around an upstream bug, an upstream bug should be filed and tracked in bugs.gentoo.org"
 }
 
 qacats = list(qahelp)
@@ -436,7 +436,7 @@ missingvars = ["KEYWORDS", "LICENSE", "DESCRIPTION", "HOMEPAGE"]
 allvars = set(x for x in portage.auxdbkeys if not x.startswith("UNUSED_"))
 allvars.update(Package.metadata_keys)
 allvars = sorted(allvars)
-commitmessage=None
+commitmessage = None
 for x in missingvars:
 	x += ".missing"
 	if x not in qacats:
@@ -513,7 +513,7 @@ metadata_dtd_uri = 'http://www.gentoo.org/dtd/metadata.dtd'
 metadata_dtd_ctime_interval = 60 * 60 * 24 * 7 # 7 days
 
 # file.executable
-no_exec = frozenset(["Manifest","ChangeLog","metadata.xml"])
+no_exec = frozenset(["Manifest", "ChangeLog", "metadata.xml"])
 
 options, arguments = ParseArgs(sys.argv, qahelp)
 
@@ -716,7 +716,7 @@ repolevel = len(reposplit)
 # check if it's in $PORTDIR/$CATEGORY/$PN , otherwise bail if commiting.
 # Reason for this is if they're trying to commit in just $FILESDIR/*, the Manifest needs updating.
 # this check ensures that repoman knows where it is, and the manifest recommit is at least possible.
-if options.mode == 'commit' and repolevel not in [1,2,3]:
+if options.mode == 'commit' and repolevel not in [1, 2, 3]:
 	print(red("***")+" Commit attempts *must* be from within a vcs co, category, or package directory.")
 	print(red("***")+" Attempting to commit from a packages files directory will be blocked for instance.")
 	print(red("***")+" This is intended behaviour, to ensure the manifest is recommitted for a package.")
@@ -729,10 +729,10 @@ if repolevel == 1:
 	startdir = repodir
 else:
 	startdir = normalize_path(mydir)
-	startdir = os.path.join(repodir, *startdir.split(os.sep)[-2-repolevel+3:])
+	startdir = os.path.join(repodir, *startdir.split(os.sep)[-2 - repolevel + 3:])
 
 def caterror(mycat):
-	err(mycat+" is not an official category.  Skipping QA checks in this directory.\nPlease ensure that you add "+catdir+" to "+repodir+"/profiles/categories\nif it is a new category.")
+	err(mycat + " is not an official category.  Skipping QA checks in this directory.\nPlease ensure that you add " + catdir + " to " + repodir + "/profiles/categories\nif it is a new category.")
 
 def repoman_getstatusoutput(cmd):
 	"""
@@ -860,18 +860,18 @@ for path in portdb.porttrees:
 				continue
 			if len(arch) != 3:
 				err("wrong format: \"" + bad(x.strip()) + "\" in " + \
-					desc_path + " line %d" % (i+1, ))
+					desc_path + " line %d" % (i + 1, ))
 			elif arch[0] not in kwlist:
 				err("invalid arch: \"" + bad(arch[0]) + "\" in " + \
-					desc_path + " line %d" % (i+1, ))
+					desc_path + " line %d" % (i + 1, ))
 			elif arch[2] not in valid_profile_types:
 				err("invalid profile type: \"" + bad(arch[2]) + "\" in " + \
-					desc_path + " line %d" % (i+1, ))
+					desc_path + " line %d" % (i + 1, ))
 			profile_desc = ProfileDesc(arch[0], arch[2], arch[1], path)
 			if not os.path.isdir(profile_desc.abs_path):
 				logging.error(
 					"Invalid %s profile (%s) for arch %s in %s line %d",
-					arch[2], arch[1], arch[0], desc_path, i+1)
+					arch[2], arch[1], arch[0], desc_path, i + 1)
 				continue
 			if os.path.exists(
 				os.path.join(profile_desc.abs_path, 'deprecated')):
@@ -918,9 +918,9 @@ for x in repoman_settings.archlist():
 	if x[0] == "~":
 		continue
 	if x not in profiles:
-		print(red("\""+x+"\" doesn't have a valid profile listed in profiles.desc."))
+		print(red("\"" + x + "\" doesn't have a valid profile listed in profiles.desc."))
 		print(red("You need to either \"cvs update\" your profiles dir or follow this"))
-		print(red("up with the "+x+" team."))
+		print(red("up with the " + x + " team."))
 		print()
 
 liclist_deprecated = set()
@@ -940,34 +940,34 @@ if not uselist:
 	logging.fatal("Couldn't find use.desc?")
 	sys.exit(1)
 
-scanlist=[]
-if repolevel==2:
-	#we are inside a category directory
-	catdir=reposplit[-1]
+scanlist = []
+if repolevel == 2:
+	# we are inside a category directory
+	catdir = reposplit[-1]
 	if catdir not in categories:
 		caterror(catdir)
-	mydirlist=os.listdir(startdir)
+	mydirlist = os.listdir(startdir)
 	for x in mydirlist:
 		if x == "CVS" or x.startswith("."):
 			continue
-		if os.path.isdir(startdir+"/"+x):
-			scanlist.append(catdir+"/"+x)
+		if os.path.isdir(startdir + "/" + x):
+			scanlist.append(catdir + "/" + x)
 	repo_subdir = catdir + os.sep
-elif repolevel==1:
+elif repolevel == 1:
 	for x in categories:
-		if not os.path.isdir(startdir+"/"+x):
+		if not os.path.isdir(startdir + "/" + x):
 			continue
-		for y in os.listdir(startdir+"/"+x):
+		for y in os.listdir(startdir + "/" + x):
 			if y == "CVS" or y.startswith("."):
 				continue
-			if os.path.isdir(startdir+"/"+x+"/"+y):
-				scanlist.append(x+"/"+y)
+			if os.path.isdir(startdir + "/" + x + "/" + y):
+				scanlist.append(x + "/" + y)
 	repo_subdir = ""
-elif repolevel==3:
+elif repolevel == 3:
 	catdir = reposplit[-2]
 	if catdir not in categories:
 		caterror(catdir)
-	scanlist.append(catdir+"/"+reposplit[-1])
+	scanlist.append(catdir + "/" + reposplit[-1])
 	repo_subdir = scanlist[-1] + os.sep
 else:
 	msg = 'Repoman is unable to determine PORTDIR or PORTDIR_OVERLAY' + \
@@ -999,7 +999,7 @@ def vcs_files_to_cps(vcs_file_iter):
 		if category in categories:
 			for filename in vcs_file_iter:
 				f_split = filename.split(os.sep)
-				# ['.', pn,...]
+				# ['.', pn, ...]
 				if len(f_split) > 2:
 					modified_cps.append(category + "/" + f_split[1])
 
@@ -1007,7 +1007,7 @@ def vcs_files_to_cps(vcs_file_iter):
 		# repolevel == 1
 		for filename in vcs_file_iter:
 			f_split = filename.split(os.sep)
-			# ['.', category, pn,...]
+			# ['.', category, pn, ...]
 			if len(f_split) > 3 and f_split[1] in categories:
 				modified_cps.append("/".join(f_split[1:3]))
 
@@ -1049,12 +1049,12 @@ def dev_keywords(profiles):
 
 dev_keywords = dev_keywords(profiles)
 
-stats={}
-fails={}
+stats = {}
+fails = {}
 
 for x in qacats:
-	stats[x]=0
-	fails[x]=[]
+	stats[x] = 0
+	fails[x] = []
 
 xmllint_capable = False
 metadata_dtd = os.path.join(repoman_settings["DISTDIR"], 'metadata.dtd')
@@ -1160,14 +1160,14 @@ if options.mode == "manifest":
 	pass
 elif not find_binary('xmllint'):
 	print(red("!!! xmllint not found. Can't check metadata.xml.\n"))
-	if options.xml_parse or repolevel==3:
+	if options.xml_parse or repolevel == 3:
 		print(red("!!!")+" sorry, xmllint is needed.  failing\n")
 		sys.exit(1)
 else:
 	if not fetch_metadata_dtd():
 		sys.exit(1)
-	#this can be problematic if xmllint changes their output
-	xmllint_capable=True
+	# this can be problematic if xmllint changes their output
+	xmllint_capable = True
 
 if options.mode == 'commit' and vcs:
 	utilities.detect_vcs_conflicts(options, vcs)
@@ -1196,10 +1196,10 @@ if vcs == "cvs":
 elif vcs == "svn":
 	with repoman_popen("svn status") as f:
 		svnstatus = f.readlines()
-	mychanged = [ "./" + elem.split()[-1:][0] for elem in svnstatus if elem and elem[:1] in "MR" ]
-	mynew     = [ "./" + elem.split()[-1:][0] for elem in svnstatus if elem.startswith("A") ]
+	mychanged = ["./" + elem.split()[-1:][0] for elem in svnstatus if elem and elem[:1] in "MR"]
+	mynew     = ["./" + elem.split()[-1:][0] for elem in svnstatus if elem.startswith("A")]
 	if options.if_modified == "y":
-		myremoved = [ "./" + elem.split()[-1:][0] for elem in svnstatus if elem.startswith("D")]
+		myremoved = ["./" + elem.split()[-1:][0] for elem in svnstatus if elem.startswith("D")]
 
 elif vcs == "git":
 	with repoman_popen("git diff-index --name-only "
@@ -1220,10 +1220,10 @@ elif vcs == "git":
 elif vcs == "bzr":
 	with repoman_popen("bzr status -S .") as f:
 		bzrstatus = f.readlines()
-	mychanged = [ "./" + elem.split()[-1:][0].split('/')[-1:][0] for elem in bzrstatus if elem and elem[1:2] == "M" ]
-	mynew     = [ "./" + elem.split()[-1:][0].split('/')[-1:][0] for elem in bzrstatus if elem and ( elem[1:2] == "NK" or elem[0:1] == "R" ) ]
+	mychanged = ["./" + elem.split()[-1:][0].split('/')[-1:][0] for elem in bzrstatus if elem and elem[1:2] == "M"]
+	mynew     = ["./" + elem.split()[-1:][0].split('/')[-1:][0] for elem in bzrstatus if elem and (elem[1:2] == "NK" or elem[0:1] == "R")]
 	if options.if_modified == "y":
-		myremoved = [ "./" + elem.split()[-3:-2][0].split('/')[-1:][0] for elem in bzrstatus if elem and ( elem[1:2] == "K" or elem[0:1] == "R" ) ]
+		myremoved = ["./" + elem.split()[-3:-2][0].split('/')[-1:][0] for elem in bzrstatus if elem and (elem[1:2] == "K" or elem[0:1] == "R")]
 
 elif vcs == "hg":
 	with repoman_popen("hg status --no-status --modified .") as f:
@@ -1255,7 +1255,7 @@ dofail = 0
 
 # NOTE: match-all caches are not shared due to potential
 # differences between profiles in _get_implicit_iuse.
-arch_caches={}
+arch_caches = {}
 arch_xmatch_caches = {}
 shared_xmatch_caches = {"cp-list":{}}
 
@@ -1300,9 +1300,9 @@ for x in effective_scanlist:
 	logging.info("checking package %s" % x)
 	# save memory by discarding xmatch caches from previous package(s)
 	arch_xmatch_caches.clear()
-	eadded=[]
-	catdir,pkgdir=x.split("/")
-	checkdir=repodir+"/"+x
+	eadded = []
+	catdir, pkgdir = x.split("/")
+	checkdir = repodir + "/" + x
 	checkdir_relative = ""
 	if repolevel < 3:
 		checkdir_relative = os.path.join(pkgdir, checkdir_relative)
@@ -1384,8 +1384,8 @@ for x in effective_scanlist:
 	if options.mode == 'manifest-check':
 		continue
 
-	checkdirlist=os.listdir(checkdir)
-	ebuildlist=[]
+	checkdirlist = os.listdir(checkdir)
+	ebuildlist = []
 	pkgs = {}
 	allvalid = True
 	for y in checkdirlist:
@@ -1456,7 +1456,7 @@ for x in effective_scanlist:
 				encoding=_encodings['fs'], errors='strict'),
 				mode='r', encoding=_encodings['repo.content'])
 			for l in f:
-				line +=1
+				line += 1
 		except UnicodeDecodeError as ue:
 			stats["file.UTF8"] += 1
 			s = ue.object[:ue.start]
@@ -1486,7 +1486,7 @@ for x in effective_scanlist:
 	if vcs in ("cvs", "svn", "bzr") and check_ebuild_notadded:
 		try:
 			if vcs == "cvs":
-				myf=open(checkdir+"/CVS/Entries","r")
+				myf = open(checkdir + "/CVS/Entries", "r")
 			if vcs == "svn":
 				myf = repoman_popen("svn status --depth=files --verbose " +
 					portage._shell_quote(checkdir))
@@ -1497,12 +1497,12 @@ for x in effective_scanlist:
 			myf.close()
 			for l in myl:
 				if vcs == "cvs":
-					if l[0]!="/":
+					if l[0] != "/":
 						continue
-					splitl=l[1:].split("/")
+					splitl = l[1:].split("/")
 					if not len(splitl):
 						continue
-					if splitl[0][-7:]==".ebuild":
+					if splitl[0][-7:] == ".ebuild":
 						eadded.append(splitl[0][:-7])
 				if vcs == "svn":
 					if l[:1] == "?":
@@ -1522,7 +1522,7 @@ for x in effective_scanlist:
 			if vcs == "svn":
 				myf = repoman_popen("svn status " +
 					portage._shell_quote(checkdir))
-				myl=myf.readlines()
+				myl = myf.readlines()
 				myf.close()
 				for l in myl:
 					if l[0] == "A":
@@ -1532,7 +1532,7 @@ for x in effective_scanlist:
 		except IOError:
 			if vcs == "cvs":
 				stats["CVS/Entries.IO_error"] += 1
-				fails["CVS/Entries.IO_error"].append(checkdir+"/CVS/Entries")
+				fails["CVS/Entries.IO_error"].append(checkdir + "/CVS/Entries")
 			else:
 				raise
 			continue
@@ -1540,7 +1540,7 @@ for x in effective_scanlist:
 	mf = repoman_settings.repositories.get_repo_for_location(
 		os.path.dirname(os.path.dirname(checkdir)))
 	mf = mf.load_manifest(checkdir, repoman_settings["DISTDIR"])
-	mydigests=mf.getTypeDigests("DIST")
+	mydigests = mf.getTypeDigests("DIST")
 
 	fetchlist_dict = portage.FetchlistDict(checkdir, repoman_settings, portdb)
 	myfiles_all = []
@@ -1556,7 +1556,7 @@ for x in effective_scanlist:
 				# This will be reported as an "ebuild.syntax" error.
 				pass
 			else:
-				stats["SRC_URI.syntax"] = stats["SRC_URI.syntax"] + 1
+				stats["SRC_URI.syntax"] += 1
 				fails["SRC_URI.syntax"].append(
 					"%s.ebuild SRC_URI: %s" % (mykey, e))
 	del fetchlist_dict
@@ -1570,15 +1570,15 @@ for x in effective_scanlist:
 		for entry in mydigests:
 			if entry not in myfiles_all:
 				stats["digest.unused"] += 1
-				fails["digest.unused"].append(checkdir+"::"+entry)
+				fails["digest.unused"].append(checkdir + "::" + entry)
 		for entry in myfiles_all:
 			if entry not in mydigests:
 				stats["digest.missing"] += 1
-				fails["digest.missing"].append(checkdir+"::"+entry)
+				fails["digest.missing"].append(checkdir + "::" + entry)
 	del myfiles_all
 
-	if os.path.exists(checkdir+"/files"):
-		filesdirlist=os.listdir(checkdir+"/files")
+	if os.path.exists(checkdir + "/files"):
+		filesdirlist = os.listdir(checkdir + "/files")
 
 		# recurse through files directory
 		# use filesdirlist as a stack, appending directories as needed so people can't hide > 20k files in a subdirectory.
@@ -1598,18 +1598,18 @@ for x in effective_scanlist:
 				# !!! VCS "portability" alert!  Need some function isVcsDir() or alike !!!
 				if y == "CVS" or y == ".svn":
 					continue
-				for z in os.listdir(checkdir+"/files/"+y):
+				for z in os.listdir(checkdir + "/files/" + y):
 					if z == "CVS" or z == ".svn":
 						continue
-					filesdirlist.append(y+"/"+z)
+					filesdirlist.append(y + "/" + z)
 			# Current policy is no files over 20 KiB, these are the checks. File size between
 			# 20 KiB and 60 KiB causes a warning, while file size over 60 KiB causes an error.
 			elif mystat.st_size > 61440:
 				stats["file.size.fatal"] += 1
-				fails["file.size.fatal"].append("("+ str(mystat.st_size//1024) + " KiB) "+x+"/files/"+y)
+				fails["file.size.fatal"].append("(" + str(mystat.st_size//1024) + " KiB) " + x + "/files/" + y)
 			elif mystat.st_size > 20480:
 				stats["file.size"] += 1
-				fails["file.size"].append("("+ str(mystat.st_size//1024) + " KiB) "+x+"/files/"+y)
+				fails["file.size"].append("(" + str(mystat.st_size//1024) + " KiB) " + x + "/files/" + y)
 
 			index = repo_config.find_invalid_path_char(y)
 			if index != -1:
@@ -1627,15 +1627,15 @@ for x in effective_scanlist:
 	del mydigests
 
 	if check_changelog and "ChangeLog" not in checkdirlist:
-		stats["changelog.missing"]+=1
-		fails["changelog.missing"].append(x+"/ChangeLog")
+		stats["changelog.missing"] += 1
+		fails["changelog.missing"].append(x + "/ChangeLog")
 
 	musedict = {}
-	#metadata.xml file check
+	# metadata.xml file check
 	if "metadata.xml" not in checkdirlist:
-		stats["metadata.missing"]+=1
-		fails["metadata.missing"].append(x+"/metadata.xml")
-	#metadata.xml parse check
+		stats["metadata.missing"] += 1
+		fails["metadata.missing"].append(x + "/metadata.xml")
+	# metadata.xml parse check
 	else:
 		metadata_bad = False
 
@@ -1696,9 +1696,9 @@ for x in effective_scanlist:
 			if st != os.EX_OK:
 				print(red("!!!") + " metadata.xml is invalid:")
 				for z in out.splitlines():
-					print(red("!!! ")+z)
-				stats["metadata.bad"]+=1
-				fails["metadata.bad"].append(x+"/metadata.xml")
+					print(red("!!! ") + z)
+				stats["metadata.bad"] += 1
+				fails["metadata.bad"].append(x + "/metadata.xml")
 
 		del metadata_bad
 	muselist = frozenset(musedict)
@@ -1725,19 +1725,19 @@ for x in effective_scanlist:
 
 		if vcs in ("cvs", "svn", "bzr") and check_ebuild_notadded and y not in eadded:
 			#ebuild not added to vcs
-			stats["ebuild.notadded"]=stats["ebuild.notadded"]+1
-			fails["ebuild.notadded"].append(x+"/"+y+".ebuild")
-		myesplit=portage.pkgsplit(y)
+			stats["ebuild.notadded"] += 1
+			fails["ebuild.notadded"].append(x + "/" + y + ".ebuild")
+		myesplit = portage.pkgsplit(y)
 		if myesplit is None or myesplit[0] != x.split("/")[-1] \
 			    or pv_toolong_re.search(myesplit[1]) \
 			    or pv_toolong_re.search(myesplit[2]):
-			stats["ebuild.invalidname"]=stats["ebuild.invalidname"]+1
-			fails["ebuild.invalidname"].append(x+"/"+y+".ebuild")
+			stats["ebuild.invalidname"] += 1
+			fails["ebuild.invalidname"].append(x + "/" + y + ".ebuild")
 			continue
-		elif myesplit[0]!=pkgdir:
-			print(pkgdir,myesplit[0])
-			stats["ebuild.namenomatch"]=stats["ebuild.namenomatch"]+1
-			fails["ebuild.namenomatch"].append(x+"/"+y+".ebuild")
+		elif myesplit[0] != pkgdir:
+			print(pkgdir, myesplit[0])
+			stats["ebuild.namenomatch"] += 1
+			fails["ebuild.namenomatch"].append(x + "/" + y + ".ebuild")
 			continue
 
 		pkg = pkgs[y]
@@ -1746,7 +1746,7 @@ for x in effective_scanlist:
 			allvalid = False
 			for k, msgs in pkg.invalid.items():
 				for msg in msgs:
-					stats[k] = stats[k] + 1
+					stats[k] += 1
 					fails[k].append("%s: %s" % (relative_path, msg))
 			continue
 
@@ -1785,7 +1785,7 @@ for x in effective_scanlist:
 					(relative_path, mirror, new_uri))
 
 		if myaux.get("PROVIDE"):
-			stats["virtual.oldstyle"]+=1
+			stats["virtual.oldstyle"] += 1
 			fails["virtual.oldstyle"].append(relative_path)
 
 		for pos, missing_var in enumerate(missingvars):
@@ -1795,15 +1795,15 @@ for x in effective_scanlist:
 					continue
 				if live_ebuild and missing_var == "KEYWORDS":
 					continue
-				myqakey=missingvars[pos]+".missing"
-				stats[myqakey]=stats[myqakey]+1
-				fails[myqakey].append(x+"/"+y+".ebuild")
+				myqakey = missingvars[pos] + ".missing"
+				stats[myqakey] += 1
+				fails[myqakey].append(x + "/" + y + ".ebuild")
 
 		if catdir == "virtual":
 			for var in ("HOMEPAGE", "LICENSE"):
 				if myaux.get(var):
 					myqakey = var + ".virtual"
-					stats[myqakey] = stats[myqakey] + 1
+					stats[myqakey] += 1
 					fails[myqakey].append(relative_path)
 
 		# 14 is the length of DESCRIPTION=""
@@ -1853,7 +1853,7 @@ for x in effective_scanlist:
 					haskeyword = True
 			if not haskeyword:
 				stats["KEYWORDS.stupid"] += 1
-				fails["KEYWORDS.stupid"].append(x+"/"+y+".ebuild")
+				fails["KEYWORDS.stupid"].append(x + "/" + y + ".ebuild")
 
 		"""
 		Ebuilds that inherit a "Live" eclass (darcs,subversion,git,cvs,etc..) should
@@ -1883,9 +1883,9 @@ for x in effective_scanlist:
 		else:
 			arches = set()
 			for keyword in keywords:
-				if (keyword[0]=="-"):
+				if keyword[0] == "-":
 					continue
-				elif (keyword[0]=="~"):
+				elif keyword[0] == "~":
 					arch = keyword[1:]
 					if arch == "*":
 						for expanded_arch in profiles:
@@ -1913,7 +1913,7 @@ for x in effective_scanlist:
 		baddepsyntax = False
 		badlicsyntax = False
 		badprovsyntax = False
-		catpkg = catdir+"/"+y
+		catpkg = catdir + "/" + y
 
 		inherited_java_eclass = "java-pkg-2" in inherited or \
 			"java-pkg-opt-2" in inherited
@@ -1927,7 +1927,7 @@ for x in effective_scanlist:
 			runtime = mytype in Package._runtime_keys
 			token_class = None
 			if mytype.endswith("DEPEND"):
-				token_class=portage.dep.Atom
+				token_class = portage.dep.Atom
 
 			try:
 				atoms = portage.dep.use_reduce(mydepstr, matchall=1, flat=True, \
@@ -1998,7 +1998,7 @@ for x in effective_scanlist:
 
 			type_list.extend([mytype] * (len(badsyntax) - len(type_list)))
 
-		for m,b in zip(type_list, badsyntax):
+		for m, b in zip(type_list, badsyntax):
 			if m.endswith("DEPEND"):
 				qacat = "dependency.syntax"
 			else:
@@ -2024,7 +2024,7 @@ for x in effective_scanlist:
 				myuse.append(flag_name)
 
 		# uselist checks - metadata
-		for mypos in range(len(myuse)-1,-1,-1):
+		for mypos in range(len(myuse)-1, -1, -1):
 			if myuse[mypos] and (myuse[mypos] in muselist):
 				del myuse[mypos]
 
@@ -2037,8 +2037,8 @@ for x in effective_scanlist:
 					" '%s'") % (eapi, myflag))
 
 		for mypos in range(len(myuse)):
-			stats["IUSE.invalid"]=stats["IUSE.invalid"]+1
-			fails["IUSE.invalid"].append(x+"/"+y+".ebuild: %s" % myuse[mypos])
+			stats["IUSE.invalid"] += 1
+			fails["IUSE.invalid"].append(x + "/" + y + ".ebuild: %s" % myuse[mypos])
 
 		# license checks
 		if not badlicsyntax:
@@ -2051,10 +2051,10 @@ for x in effective_scanlist:
 				# Need to check for "||" manually as no portage
 				# function will remove it without removing values.
 				if lic not in liclist and lic != "||":
-					stats["LICENSE.invalid"]=stats["LICENSE.invalid"]+1
-					fails["LICENSE.invalid"].append(x+"/"+y+".ebuild: %s" % lic)
+					stats["LICENSE.invalid"] += 1
+					fails["LICENSE.invalid"].append(x + "/" + y + ".ebuild: %s" % lic)
 				elif lic in liclist_deprecated:
-					stats["LICENSE.deprecated"] = stats["LICENSE.deprecated"] + 1
+					stats["LICENSE.deprecated"] += 1
 					fails["LICENSE.deprecated"].append("%s: %s" % (relative_path, lic))
 
 		#keyword checks
@@ -2068,17 +2068,17 @@ for x in effective_scanlist:
 					myskey = myskey[1:]
 				if myskey not in kwlist:
 					stats["KEYWORDS.invalid"] += 1
-					fails["KEYWORDS.invalid"].append(x+"/"+y+".ebuild: %s" % mykey)
+					fails["KEYWORDS.invalid"].append(x + "/" + y + ".ebuild: %s" % mykey)
 				elif myskey not in profiles:
 					stats["KEYWORDS.invalid"] += 1
-					fails["KEYWORDS.invalid"].append(x+"/"+y+".ebuild: %s (profile invalid)" % mykey)
+					fails["KEYWORDS.invalid"].append(x + "/" + y + ".ebuild: %s (profile invalid)" % mykey)
 
 		#restrict checks
 		myrestrict = None
 		try:
 			myrestrict = portage.dep.use_reduce(myaux["RESTRICT"], matchall=1, flat=True)
 		except portage.exception.InvalidDependString as e:
-			stats["RESTRICT.syntax"] = stats["RESTRICT.syntax"] + 1
+			stats["RESTRICT.syntax"] += 1
 			fails["RESTRICT.syntax"].append(
 				"%s: RESTRICT: %s" % (relative_path, e))
 			del e
@@ -2088,7 +2088,7 @@ for x in effective_scanlist:
 			if mybadrestrict:
 				stats["RESTRICT.invalid"] += len(mybadrestrict)
 				for mybad in mybadrestrict:
-					fails["RESTRICT.invalid"].append(x+"/"+y+".ebuild: %s" % mybad)
+					fails["RESTRICT.invalid"].append(x + "/" + y + ".ebuild: %s" % mybad)
 		#REQUIRED_USE check
 		required_use = myaux["REQUIRED_USE"]
 		if required_use:
@@ -2101,7 +2101,7 @@ for x in effective_scanlist:
 				portage.dep.check_required_use(required_use, (),
 					pkg.iuse.is_valid_flag, eapi=eapi)
 			except portage.exception.InvalidDependString as e:
-				stats["REQUIRED_USE.syntax"] = stats["REQUIRED_USE.syntax"] + 1
+				stats["REQUIRED_USE.syntax"] += 1
 				fails["REQUIRED_USE.syntax"].append(
 					"%s: REQUIRED_USE: %s" % (relative_path, e))
 				del e
@@ -2135,8 +2135,7 @@ for x in effective_scanlist:
 			continue
 
 		relevant_profiles = []
-		for keyword,arch,groups in arches:
-
+		for keyword, arch, groups in arches:
 			if arch not in profiles:
 				# A missing profile will create an error further down
 				# during the KEYWORDS verification.
@@ -2207,10 +2206,10 @@ for x in effective_scanlist:
 						if options.ignore_masked:
 							continue
 						#we are testing deps for a masked package; give it some lee-way
-						suffix="masked"
+						suffix = "masked"
 						matchmode = "minimum-all"
 					else:
-						suffix=""
+						suffix = ""
 						matchmode = "minimum-visible"
 
 					if not have_dev_keywords:
@@ -2218,7 +2217,7 @@ for x in effective_scanlist:
 							bool(dev_keywords.intersection(keywords))
 
 					if prof.status == "dev":
-						suffix=suffix+"indev"
+						suffix = suffix + "indev"
 
 					for mytype in Package._dep_keys:
 
@@ -2262,12 +2261,12 @@ for x in effective_scanlist:
 								#if we emptied out our list, continue:
 								if not atoms:
 									continue
-								stats[mykey]=stats[mykey]+1
+								stats[mykey] += 1
 								fails[mykey].append("%s: %s: %s(%s) %s" % \
 									(relative_path, mytype, keyword,
 									prof, repr(atoms)))
 						else:
-							stats[mykey]=stats[mykey]+1
+							stats[mykey] += 1
 							fails[mykey].append("%s: %s: %s(%s) %s" % \
 								(relative_path, mytype, keyword,
 								prof, repr(atoms)))
@@ -2296,11 +2295,11 @@ if options.if_modified == "y" and len(effective_scanlist) < 1:
 if options.mode == "manifest":
 	sys.exit(dofail)
 
-#dofail will be set to 1 if we have failed in at least one non-warning category
-dofail=0
-#dowarn will be set to 1 if we tripped any warnings
-dowarn=0
-#dofull will be set if we should print a "repoman full" informational message
+# dofail will be set to 1 if we have failed in at least one non-warning category
+dofail = 0
+# dowarn will be set to 1 if we tripped any warnings
+dowarn = 0
+# dofull will be set if we should print a "repoman full" informational message
 dofull = options.mode != 'full'
 
 for x in qacats:
@@ -2335,20 +2334,20 @@ del console_writer, f, style_file
 qa_output = qa_output.getvalue()
 qa_output = qa_output.splitlines(True)
 
-def grouplist(mylist,seperator="/"):
+def grouplist(mylist, seperator="/"):
 	"""(list,seperator="/") -- Takes a list of elements; groups them into
 	same initial element categories. Returns a dict of {base:[sublist]}
 	From: ["blah/foo","spork/spatula","blah/weee/splat"]
 	To:   {"blah":["foo","weee/splat"], "spork":["spatula"]}"""
-	mygroups={}
+	mygroups = {}
 	for x in mylist:
-		xs=x.split(seperator)
-		if xs[0]==".":
-			xs=xs[1:]
+		xs = x.split(seperator)
+		if xs[0] == ".":
+			xs = xs[1:]
 		if xs[0] not in mygroups:
-			mygroups[xs[0]]=[seperator.join(xs[1:])]
+			mygroups[xs[0]] = [seperator.join(xs[1:])]
 		else:
-			mygroups[xs[0]]+=[seperator.join(xs[1:])]
+			mygroups[xs[0]] += [seperator.join(xs[1:])]
 	return mygroups
 
 suggest_ignore_masked = False
@@ -2399,8 +2398,8 @@ else:
 	myunadded = []
 	if vcs == "cvs":
 		try:
-			myvcstree=portage.cvstree.getentries("./",recursive=1)
-			myunadded=portage.cvstree.findunadded(myvcstree,recursive=1,basedir="./")
+			myvcstree = portage.cvstree.getentries("./", recursive=1)
+			myunadded = portage.cvstree.findunadded(myvcstree, recursive=1, basedir="./")
 		except SystemExit as e:
 			raise  # TODO propagate this
 		except:
@@ -2409,7 +2408,7 @@ else:
 		try:
 			with repoman_popen("svn status --no-ignore") as f:
 				svnstatus = f.readlines()
-			myunadded = [ "./"+elem.rstrip().split()[1] for elem in svnstatus if elem.startswith("?") or elem.startswith("I") ]
+			myunadded = ["./" + elem.rstrip().split()[1] for elem in svnstatus if elem.startswith("?") or elem.startswith("I")]
 		except SystemExit as e:
 			raise  # TODO propagate this
 		except:
@@ -2417,13 +2416,13 @@ else:
 	if vcs == "git":
 		# get list of files not under version control or missing
 		myf = repoman_popen("git ls-files --others")
-		myunadded = [ "./" + elem[:-1] for elem in myf ]
+		myunadded = ["./" + elem[:-1] for elem in myf]
 		myf.close()
 	if vcs == "bzr":
 		try:
 			with repoman_popen("bzr status -S .") as f:
 				bzrstatus = f.readlines()
-			myunadded = [ "./"+elem.rstrip().split()[1].split('/')[-1:][0] for elem in bzrstatus if elem.startswith("?") or elem[0:2] == " D" ]
+			myunadded = ["./" + elem.rstrip().split()[1].split('/')[-1:][0] for elem in bzrstatus if elem.startswith("?") or elem[0:2] == " D"]
 		except SystemExit as e:
 			raise  # TODO propagate this
 		except:
@@ -2441,23 +2440,23 @@ else:
 		mydeleted = ["./" + elem.rstrip() for elem in mydeleted]
 
 
-	myautoadd=[]
+	myautoadd = []
 	if myunadded:
-		for x in range(len(myunadded)-1,-1,-1):
-			xs=myunadded[x].split("/")
-			if xs[-1]=="files":
+		for x in range(len(myunadded)-1, -1, -1):
+			xs = myunadded[x].split("/")
+			if xs[-1] == "files":
 				print("!!! files dir is not added! Please correct this.")
 				sys.exit(-1)
-			elif xs[-1]=="Manifest":
+			elif xs[-1] == "Manifest":
 				# It's a manifest... auto add
-				myautoadd+=[myunadded[x]]
+				myautoadd += [myunadded[x]]
 				del myunadded[x]
 
 	if myunadded:
 		print(red("!!! The following files are in your local tree but are not added to the master"))
 		print(red("!!! tree. Please remove them from the local tree or add them to the master tree."))
 		for x in myunadded:
-			print("   ",x)
+			print("   ", x)
 		print()
 		print()
 		sys.exit(1)
@@ -2466,7 +2465,7 @@ else:
 		print(red("!!! The following files are removed manually from your local tree but are not"))
 		print(red("!!! removed from the repository. Please remove them, using \"hg remove [FILES]\"."))
 		for x in mydeleted:
-			print("   ",x)
+			print("   ", x)
 		print()
 		print()
 		sys.exit(1)
@@ -2475,18 +2474,17 @@ else:
 		mycvstree = cvstree.getentries("./", recursive=1)
 		mychanged = cvstree.findchanged(mycvstree, recursive=1, basedir="./")
 		mynew = cvstree.findnew(mycvstree, recursive=1, basedir="./")
-		myremoved=portage.cvstree.findremoved(mycvstree,recursive=1,basedir="./")
+		myremoved = portage.cvstree.findremoved(mycvstree, recursive=1, basedir="./")
 		bin_blob_pattern = re.compile("^-kb$")
 		no_expansion = set(portage.cvstree.findoption(mycvstree, bin_blob_pattern,
 			recursive=1, basedir="./"))
 
-
 	if vcs == "svn":
 		with repoman_popen("svn status") as f:
 			svnstatus = f.readlines()
-		mychanged = [ "./" + elem.split()[-1:][0] for elem in svnstatus if (elem[:1] in "MR" or elem[1:2] in "M")]
-		mynew     = [ "./" + elem.split()[-1:][0] for elem in svnstatus if elem.startswith("A")]
-		myremoved = [ "./" + elem.split()[-1:][0] for elem in svnstatus if elem.startswith("D")]
+		mychanged = ["./" + elem.split()[-1:][0] for elem in svnstatus if (elem[:1] in "MR" or elem[1:2] in "M")]
+		mynew     = ["./" + elem.split()[-1:][0] for elem in svnstatus if elem.startswith("A")]
+		myremoved = ["./" + elem.split()[-1:][0] for elem in svnstatus if elem.startswith("D")]
 
 		# Subversion expands keywords specified in svn:keywords properties.
 		with repoman_popen("svn propget -R svn:keywords") as f:
@@ -2513,10 +2511,10 @@ else:
 	if vcs == "bzr":
 		with repoman_popen("bzr status -S .") as f:
 			bzrstatus = f.readlines()
-		mychanged = [ "./" + elem.split()[-1:][0].split('/')[-1:][0] for elem in bzrstatus if elem and elem[1:2] == "M" ]
-		mynew     = [ "./" + elem.split()[-1:][0].split('/')[-1:][0] for elem in bzrstatus if elem and ( elem[1:2] in "NK" or elem[0:1] == "R" ) ]
-		myremoved = [ "./" + elem.split()[-1:][0].split('/')[-1:][0] for elem in bzrstatus if elem.startswith("-") ]
-		myremoved = [ "./" + elem.split()[-3:-2][0].split('/')[-1:][0] for elem in bzrstatus if elem and ( elem[1:2] == "K" or elem[0:1] == "R" ) ]
+		mychanged = ["./" + elem.split()[-1:][0].split('/')[-1:][0] for elem in bzrstatus if elem and elem[1:2] == "M"]
+		mynew     = ["./" + elem.split()[-1:][0].split('/')[-1:][0] for elem in bzrstatus if elem and (elem[1:2] in "NK" or elem[0:1] == "R")]
+		myremoved = ["./" + elem.split()[-1:][0].split('/')[-1:][0] for elem in bzrstatus if elem.startswith("-")]
+		myremoved = ["./" + elem.split()[-3:-2][0].split('/')[-1:][0] for elem in bzrstatus if elem and (elem[1:2] == "K" or elem[0:1] == "R")]
 		# Bazaar expands nothing.
 
 	if vcs == "hg":
@@ -2835,7 +2833,7 @@ else:
 				gpgvars[k] = v
 		gpgcmd = portage.util.varexpand(gpgcmd, mydict=gpgvars)
 		if options.pretend:
-			print("("+gpgcmd+")")
+			print("(" + gpgcmd + ")")
 		else:
 			# Encode unicode manually for bug #310789.
 			gpgcmd = portage.util.shlex_split(gpgcmd)
@@ -2845,7 +2843,7 @@ else:
 					encoding=_encodings['fs'], errors='strict') for arg in gpgcmd]
 			rValue = subprocess.call(gpgcmd)
 			if rValue == os.EX_OK:
-				os.rename(filename+".asc", filename)
+				os.rename(filename + ".asc", filename)
 			else:
 				raise portage.exception.PortageException("!!! gpg exited with '" + str(rValue) + "' status")
 
@@ -2931,7 +2929,6 @@ else:
 				sys.exit(retval)
 
 	if True:
-
 		myfiles = mymanifests[:]
 		# If there are no header (SVN/CVS keywords) changes in
 		# the files, this Manifest commit must include the
@@ -2968,7 +2965,6 @@ else:
 			else:
 				retval = spawn(commit_cmd, env=os.environ)
 				if retval != os.EX_OK:
-
 					if repo_config.sign_commit and vcs == 'git' and \
 						not git_supports_gpg_sign():
 						# Inform user that newer git is needed (bug #403323).
@@ -2992,4 +2988,3 @@ else:
 		print("repoman was too scared by not seeing any familiar version control file that he forgot to commit anything")
 	print(green("RepoMan sez:"), "\"If everyone were like you, I'd be out of business!\"\n")
 sys.exit(0)
-


             reply	other threads:[~2013-02-18  2:09 UTC|newest]

Thread overview: 886+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-18  2:09 Mike Frysinger [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-04-12 10:17 [gentoo-commits] proj/portage:master commit in: bin/ Michał Górny
2025-01-21 21:02 Sam James
2025-01-21 21:02 Sam James
2025-01-14 13:16 Ulrich Müller
2024-12-31 14:21 Ulrich Müller
2024-09-10 10:29 Ulrich Müller
2024-09-10 10:29 Ulrich Müller
2024-09-10 10:29 Ulrich Müller
2024-08-15 17:28 Mike Gilbert
2024-08-14 14:44 Mike Gilbert
2024-05-22 16:35 Mike Gilbert
2024-05-04  1:32 Sam James
2024-03-15 14:55 Zac Medico
2024-03-10 20:14 Zac Medico
2024-03-09 18:46 Sam James
2024-02-22 15:36 Zac Medico
2024-02-05  6:44 Zac Medico
2023-10-26 18:44 Ulrich Müller
2023-10-24 17:49 Zac Medico
2023-10-24  2:27 Zac Medico
2023-10-24  2:27 Zac Medico
2023-10-24  2:21 Zac Medico
2023-10-24  2:21 Zac Medico
2023-10-24  2:10 Zac Medico
2023-10-13 10:19 Sam James
2023-09-26 20:54 Sam James
2023-09-26 20:54 Sam James
2023-09-08 21:43 Sam James
2023-08-19 15:03 Sam James
2023-08-19 14:49 Sam James
2023-08-19 14:49 Sam James
2023-07-03 20:19 Sam James
2023-05-26  1:33 Sam James
2023-05-26  1:33 Sam James
2023-05-18  7:23 Ulrich Müller
2023-05-17  6:20 Sam James
2023-05-13 20:29 Ulrich Müller
2023-05-12 17:23 Ulrich Müller
2023-05-12 17:23 Ulrich Müller
2023-05-10  1:28 Sam James
2023-05-01  7:21 Sam James
2023-05-01  7:21 Sam James
2023-05-01  7:21 Sam James
2023-05-01  7:21 Sam James
2023-04-29  4:44 Sam James
2023-04-09  7:26 Sam James
2023-04-09  7:19 Sam James
2023-04-09  6:52 Sam James
2023-04-06  8:08 Ulrich Müller
2023-03-21 23:52 Sam James
2023-03-21 23:52 Sam James
2023-01-02 20:45 Mike Gilbert
2022-12-31 13:33 Sam James
2022-11-24  4:16 Sam James
2022-10-21  2:34 Sam James
2022-09-24 22:13 Sam James
2022-08-17  3:26 Sam James
2022-08-13 17:51 Sam James
2022-08-10  4:31 Sam James
2022-08-06 21:01 Sam James
2022-08-06 21:01 Sam James
2022-08-06 21:01 Sam James
2022-08-06 21:01 Sam James
2022-08-01 22:39 Sam James
2022-08-01  1:19 Sam James
2022-07-27 19:07 Fabian Groffen
2022-07-27 19:07 Fabian Groffen
2022-07-20 18:07 Ulrich Müller
2022-07-18 15:16 Sam James
2022-07-11 23:02 Sam James
2022-07-03 19:36 Mike Gilbert
2022-06-24  2:20 Zac Medico
2022-05-22 14:51 Mike Gilbert
2022-05-22 14:51 Mike Gilbert
2022-05-15  1:02 Sam James
2022-04-28 15:50 Sam James
2022-04-15  4:47 Sam James
2022-04-14  2:36 Sam James
2022-04-13  4:02 Sam James
2022-04-12  2:00 Sam James
2022-03-28  6:20 Sam James
2022-02-15 21:30 Mike Frysinger
2022-02-15 21:30 Mike Frysinger
2022-02-15 21:30 Mike Frysinger
2022-02-04 17:32 Mike Gilbert
2022-01-24  2:07 Sam James
2021-11-19 23:59 Zac Medico
2021-11-19 16:17 Mike Gilbert
2021-11-19 16:17 Mike Gilbert
2021-11-19 16:17 Mike Gilbert
2021-11-01 17:32 Mike Gilbert
2021-11-01 17:32 Mike Gilbert
2021-10-20  7:02 Sam James
2021-09-27 11:19 Ulrich Müller
2021-09-21 17:27 Sam James
2021-09-03 11:34 Michał Górny
2021-09-03 11:34 Michał Górny
2021-07-17 22:16 Zac Medico
2021-06-20 20:21 Michał Górny
2021-06-18  6:59 Zac Medico
2021-06-13 21:48 Zac Medico
2021-06-05 18:47 Zac Medico
2021-06-02 21:47 Michał Górny
2021-05-31 16:35 Michał Górny
2021-05-24  4:55 Zac Medico
2021-05-24  4:37 Zac Medico
2021-05-24  4:37 Zac Medico
2021-05-24  4:37 Zac Medico
2021-05-24  4:34 Zac Medico
2021-05-12 11:28 Michał Górny
2021-05-12 11:28 Michał Górny
2021-05-01 23:25 Zac Medico
2021-03-29  0:30 Zac Medico
2021-03-04  9:14 Zac Medico
2021-02-24 18:51 Zac Medico
2020-12-24 17:55 Mike Gilbert
2020-11-01 21:46 Zac Medico
2020-10-18  9:32 Ulrich Müller
2020-08-03 19:30 Zac Medico
2020-07-13  5:22 Zac Medico
2020-06-24 23:09 Zac Medico
2020-06-24  3:01 Zac Medico
2020-06-14 19:12 Zac Medico
2020-05-24 23:49 Zac Medico
2020-05-03 21:42 Mike Gilbert
2020-03-21 22:08 Zac Medico
2020-03-02  6:13 Zac Medico
2020-02-21  6:35 Ulrich Müller
2020-02-08 18:19 Mike Gilbert
2019-12-30 21:30 Zac Medico
2019-12-26 20:36 Ulrich Müller
2019-12-15 22:01 Zac Medico
2019-12-15  7:40 Zac Medico
2019-12-09  9:19 Zac Medico
2019-11-27 19:39 Michał Górny
2019-11-25 16:59 Ulrich Müller
2019-11-08 16:02 Mike Gilbert
2019-10-18  3:47 Zac Medico
2019-09-15  3:08 Zac Medico
2019-09-15  3:08 Zac Medico
2019-09-15  1:51 Zac Medico
2019-09-15  1:50 Zac Medico
2019-09-01 19:03 Zac Medico
2019-09-01 18:26 Zac Medico
2019-08-31  3:44 Zac Medico
2019-08-31  3:42 Zac Medico
2019-08-31  3:42 Zac Medico
2019-08-31  3:42 Zac Medico
2019-08-30 17:05 Zac Medico
2019-08-26 18:13 Zac Medico
2019-08-23 17:58 Zac Medico
2019-08-18 19:27 Ulrich Müller
2019-08-16  1:09 Zac Medico
2019-08-14  2:19 Zac Medico
2019-08-14  2:08 Zac Medico
2019-08-10 19:12 Zac Medico
2019-08-03 17:38 Zac Medico
2019-07-21  4:12 Zac Medico
2019-07-03 21:27 Zac Medico
2019-06-05 20:33 Zac Medico
2019-05-20  5:09 Zac Medico
2019-05-20  4:21 Zac Medico
2019-05-20  4:21 Zac Medico
2019-05-20  0:35 Zac Medico
2019-04-30 18:56 Zac Medico
2019-03-19  1:20 Ulrich Müller
2019-01-28 19:45 Zac Medico
2019-01-28  6:41 Zac Medico
2019-01-23  5:33 Zac Medico
2019-01-23  4:35 Zac Medico
2019-01-23  1:08 Zac Medico
2019-01-17 18:30 Zac Medico
2019-01-16  8:33 Zac Medico
2019-01-06 19:07 Zac Medico
2018-11-19 21:40 Zac Medico
2018-11-19  7:29 Zac Medico
2018-11-18  8:13 Michał Górny
2018-11-05 22:10 Ulrich Müller
2018-11-05 18:48 Michał Górny
2018-11-02 19:14 Zac Medico
2018-10-31 16:37 Michał Górny
2018-10-20  4:08 Zac Medico
2018-10-08 21:47 Zac Medico
2018-10-06  1:35 Zac Medico
2018-09-28 20:33 Michał Górny
2018-09-28 20:33 Michał Górny
2018-09-28 20:33 Michał Górny
2018-09-28 20:33 Michał Górny
2018-09-26 22:53 Zac Medico
2018-09-25 21:04 Zac Medico
2018-09-24 20:24 Zac Medico
2018-09-20 18:49 Michał Górny
2018-09-17 18:18 Michał Górny
2018-09-03 18:25 Zac Medico
2018-08-16 17:15 Zac Medico
2018-08-11  8:14 Zac Medico
2018-08-08 21:45 Zac Medico
2018-08-01 20:51 Zac Medico
2018-07-28  6:12 Zac Medico
2018-06-15 23:56 Zac Medico
2018-05-26  6:36 Zac Medico
2018-05-18 16:08 Zac Medico
2018-05-18 16:08 Zac Medico
2018-05-16 20:58 Zac Medico
2018-05-16 20:46 Zac Medico
2018-05-16 17:32 Zac Medico
2018-05-16 16:53 Zac Medico
2018-05-03  1:15 Zac Medico
2018-05-01 16:26 Zac Medico
2018-05-01 16:26 Zac Medico
2018-04-30 18:28 Zac Medico
2018-04-30  6:29 Zac Medico
2018-04-26 18:04 Zac Medico
2018-04-26 17:57 Zac Medico
2018-04-26 10:08 Zac Medico
2018-04-26 10:08 Zac Medico
2018-04-26  9:06 Zac Medico
2018-04-26  9:06 Zac Medico
2018-04-24 20:20 Zac Medico
2018-04-07 17:12 Zac Medico
2018-03-28 15:42 Zac Medico
2018-03-28  6:52 Zac Medico
2018-03-28  5:47 Zac Medico
2018-03-26 17:43 Zac Medico
2018-03-15 20:43 Zac Medico
2018-03-04 21:05 Michał Górny
2018-03-04 21:05 Michał Górny
2018-03-04 18:35 Zac Medico
2018-03-04 18:22 Zac Medico
2018-02-07  5:24 Zac Medico
2018-02-07  5:08 Zac Medico
2018-02-07  4:58 Zac Medico
2018-02-05  4:22 Zac Medico
2018-02-05  3:34 Zac Medico
2018-02-05  1:03 Zac Medico
2018-02-01  6:18 Zac Medico
2018-01-17 19:39 Zac Medico
2017-12-10  8:55 Zac Medico
2017-12-10  8:51 Zac Medico
2017-12-08  3:30 Zac Medico
2017-12-02 21:33 Zac Medico
2017-11-16 23:47 Zac Medico
2017-11-16 23:22 Zac Medico
2017-09-19  7:00 Zac Medico
2017-09-11 20:32 Michał Górny
2017-08-31 18:10 Michał Górny
2017-08-31 14:07 Michał Górny
2017-08-28 13:23 Fabian Groffen
2017-08-28  6:24 Fabian Groffen
2017-08-16 23:06 Zac Medico
2017-08-16 23:06 Zac Medico
2017-08-16 23:03 Zac Medico
2017-08-11 16:06 Zac Medico
2017-07-02 16:31 Zac Medico
2017-03-26  8:44 Ulrich Müller
2017-03-26  7:43 Michał Górny
2017-03-24 20:33 Zac Medico
2017-02-22 22:28 Zac Medico
2017-01-18 16:29 Zac Medico
2017-01-17 17:52 Zac Medico
2017-01-14  0:19 Zac Medico
2017-01-12 23:52 Zac Medico
2017-01-12 23:45 Zac Medico
2016-12-31 22:08 Zac Medico
2016-11-25 19:46 Zac Medico
2016-10-04 16:41 Zac Medico
2016-09-26 17:19 Zac Medico
2016-06-26 23:40 Zac Medico
2016-06-19  5:51 Zac Medico
2016-05-20 21:14 Michał Górny
2016-05-18 16:49 Zac Medico
2016-05-18 16:29 Zac Medico
2016-05-18 16:20 Zac Medico
2016-04-22  8:21 Alexander Berntsen
2016-03-12 18:47 Zac Medico
2016-03-08 22:52 Zac Medico
2016-03-06 18:05 Brian Dolbec
2016-03-06 18:05 Brian Dolbec
2016-03-06  2:11 Brian Dolbec
2016-02-24 21:40 Zac Medico
2016-01-29 23:04 Brian Dolbec
2016-01-28 12:10 Alexander Berntsen
2016-01-29 11:17 ` Alexander Berntsen
2016-01-15 13:43 Michał Górny
2016-01-02  5:18 Zac Medico
2015-12-20 17:37 Michał Górny
2015-12-13 12:57 Michał Górny
2015-12-13 12:57 Michał Górny
2015-12-08 20:57 Arfrever Frehtes Taifersar Arahesis
2015-12-08 10:32 Arfrever Frehtes Taifersar Arahesis
2015-12-08  7:23 Arfrever Frehtes Taifersar Arahesis
2015-12-01  0:27 Arfrever Frehtes Taifersar Arahesis
2015-11-25 12:51 Arfrever Frehtes Taifersar Arahesis
2015-11-24  1:08 Zac Medico
2015-11-22 21:07 Robin H. Johnson
2015-11-22 20:57 Robin H. Johnson
2015-11-18 16:57 Zac Medico
2015-11-18 16:50 Michał Górny
2015-11-18  5:12 Michał Górny
2015-11-14 22:13 Michał Górny
2015-11-14 22:13 Michał Górny
2015-11-14 22:13 Michał Górny
2015-11-14 22:13 Michał Górny
2015-11-13 17:52 Zac Medico
2015-11-13  2:55 Mike Frysinger
2015-11-13  2:55 Mike Frysinger
2015-11-13  1:42 Mike Frysinger
2015-11-12 21:43 Michał Górny
2015-11-12 21:19 Robin H. Johnson
2015-11-12 19:32 Michał Górny
2015-11-12 19:32 Michał Górny
2015-11-12 19:32 Michał Górny
2015-11-12 19:32 Michał Górny
2015-11-12 19:32 Michał Górny
2015-11-12 19:32 Michał Górny
2015-11-12 18:56 Michał Górny
2015-11-11 22:43 Zac Medico
2015-10-04 21:29 Zac Medico
2015-09-28 19:10 Brian Dolbec
2015-08-26  1:52 Zac Medico
2015-08-11 19:57 Michał Górny
2015-07-20 21:48 Brian Dolbec
2015-07-17 20:53 Zac Medico
2015-07-07 18:10 Brian Dolbec
2015-05-18 23:19 Brian Dolbec
2015-05-09 23:10 Brian Dolbec
2015-05-09 15:22 Brian Dolbec
2015-05-06 18:26 Zac Medico
2015-04-28 23:47 Zac Medico
2015-04-22  0:23 Brian Dolbec
2015-04-20 23:34 Zac Medico
2015-04-20 23:34 Zac Medico
2015-04-13 17:27 Brian Dolbec
2015-04-11 15:57 Zac Medico
2015-04-10 16:58 Zac Medico
2015-03-31 16:52 Michał Górny
2015-02-21 20:24 Zac Medico
2015-02-16 18:54 Ulrich Müller
2015-02-09 20:32 Zac Medico
2015-02-09  0:45 Zac Medico
2015-02-03 21:39 Brian Dolbec
2015-01-19 20:47 Zac Medico
2015-01-18  5:06 Zac Medico
2014-12-15 16:28 Arfrever Frehtes Taifersar Arahesis
2014-12-07 23:53 Zac Medico
2014-12-07 23:23 Brian Dolbec
2014-12-07 18:51 Ulrich Müller
2014-12-07  6:02 Zac Medico
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-04 14:01 Michał Górny
2014-12-02 23:06 Michał Górny
2014-11-29 22:48 Michał Górny
2014-11-26  8:40 Zac Medico
2014-11-19 23:26 Michał Górny
2014-11-19 23:26 Michał Górny
2014-11-08 20:26 Zac Medico
2014-11-08 20:24 Zac Medico
2014-11-03  4:42 Zac Medico
2014-10-27 19:28 Zac Medico
2014-10-27  9:47 Zac Medico
2014-10-27  9:46 Zac Medico
2014-10-24 22:55 Zac Medico
2014-10-24 20:39 Zac Medico
2014-10-19 17:31 Zac Medico
2014-09-26  2:17 Brian Dolbec
2014-09-26  2:17 Brian Dolbec
2014-09-26  2:17 Brian Dolbec
2014-09-24 22:23 Brian Dolbec
2014-09-20 15:09 Brian Dolbec
2014-09-20  4:52 Brian Dolbec
2014-09-20  4:52 Brian Dolbec
2014-09-20  4:52 Brian Dolbec
2014-09-20  3:56 Arfrever Frehtes Taifersar Arahesis
2014-09-11 23:45 Brian Dolbec
2014-09-11 23:45 Brian Dolbec
2014-09-11 23:45 Brian Dolbec
2014-09-11 23:45 Brian Dolbec
2014-09-10  6:51 Michał Górny
2014-09-03 20:22 Michał Górny
2014-08-26 19:38 Michał Górny
2014-08-19  7:01 Michał Górny
2014-08-19  7:01 Michał Górny
2014-08-06 21:11 ` Michał Górny
2014-08-19  7:01 Michał Górny
2014-08-19  7:01 Michał Górny
2014-08-19  7:01 Michał Górny
2014-08-11 20:52 Michał Górny
2014-08-19  7:01 ` Michał Górny
2014-08-11 20:52 Michał Górny
2014-08-19  7:01 ` Michał Górny
2014-08-10 10:32 Arfrever Frehtes Taifersar Arahesis
2014-08-04 12:16 Arfrever Frehtes Taifersar Arahesis
2014-08-03 15:24 [gentoo-commits] proj/portage:v2.2.11 " Brian Dolbec
2014-08-03 15:22 ` [gentoo-commits] proj/portage:master " Brian Dolbec
2014-07-25 16:15 Alexander Berntsen
2014-06-16  5:16 Brian Dolbec
2014-04-19  7:59 Brian Dolbec
2014-04-19  5:26 Brian Dolbec
2014-04-19  5:26 Brian Dolbec
2014-02-19 17:52 Chris Reffett
2014-01-05 17:56 Brian Dolbec
2013-12-24  8:28 Arfrever Frehtes Taifersar Arahesis
2013-12-18  2:50 Mike Frysinger
2013-12-12 19:39 Mike Frysinger
2013-12-02 15:18 Arfrever Frehtes Taifersar Arahesis
2013-12-01  7:22 Mike Frysinger
2013-11-30  4:22 Mike Frysinger
2013-11-27  3:27 Mike Frysinger
2013-10-16  6:56 Mike Frysinger
2013-10-11 10:33 Mike Frysinger
2013-10-11 10:33 Mike Frysinger
2013-10-11 10:33 Mike Frysinger
2013-10-11 10:33 Mike Frysinger
2013-10-11 10:33 Mike Frysinger
2013-10-11 10:33 Mike Frysinger
2013-10-08 20:00 Mike Frysinger
2013-10-08 19:40 Mike Frysinger
2013-10-08 19:40 Mike Frysinger
2013-09-20 12:40 Zac Medico
2013-09-16  5:03 Arfrever Frehtes Taifersar Arahesis
2013-09-15  0:30 Zac Medico
2013-09-13  3:07 Zac Medico
2013-09-11 20:47 Zac Medico
2013-09-03 19:43 Zac Medico
2013-09-01 19:04 Zac Medico
2013-09-01 18:46 Zac Medico
2013-09-01 18:16 Zac Medico
2013-08-27  4:00 Zac Medico
2013-08-24 18:24 Zac Medico
2013-08-22  2:19 Zac Medico
2013-08-18  6:52 Zac Medico
2013-08-12 23:09 Zac Medico
2013-08-06  4:30 Zac Medico
2013-08-05 17:57 Zac Medico
2013-08-03 22:14 Zac Medico
2013-08-03 11:09 Zac Medico
2013-08-03  1:32 Zac Medico
2013-08-03  1:29 Zac Medico
2013-08-03  1:27 Zac Medico
2013-08-03  1:21 Zac Medico
2013-08-03  1:02 Zac Medico
2013-08-03  0:59 Zac Medico
2013-08-03  0:49 Zac Medico
2013-08-03  0:49 Zac Medico
2013-08-02 23:04 Zac Medico
2013-08-02 22:49 Zac Medico
2013-08-02 22:37 Zac Medico
2013-08-02 18:06 Zac Medico
2013-07-30 22:26 Zac Medico
2013-07-27 22:29 Zac Medico
2013-07-25 18:00 Zac Medico
2013-07-23 22:18 Arfrever Frehtes Taifersar Arahesis
2013-07-22 20:48 Zac Medico
2013-07-22  3:21 Zac Medico
2013-07-22  1:59 Zac Medico
2013-07-21 16:53 Zac Medico
2013-07-16 18:57 Arfrever Frehtes Taifersar Arahesis
2013-07-14 18:56 Arfrever Frehtes Taifersar Arahesis
2013-07-14 18:40 Arfrever Frehtes Taifersar Arahesis
2013-07-14 18:02 Arfrever Frehtes Taifersar Arahesis
2013-07-14  8:39 Arfrever Frehtes Taifersar Arahesis
2013-07-13 18:19 Zac Medico
2013-06-29  4:21 Zac Medico
2013-06-25 19:24 Zac Medico
2013-06-25 18:50 Zac Medico
2013-06-25  3:29 Zac Medico
2013-06-25  3:26 Zac Medico
2013-06-25  2:23 Arfrever Frehtes Taifersar Arahesis
2013-06-24 21:21 Zac Medico
2013-06-21 23:07 Zac Medico
2013-06-21 22:10 Zac Medico
2013-06-21 21:24 Zac Medico
2013-06-21 20:41 Zac Medico
2013-06-20  7:05 Zac Medico
2013-05-20 15:30 Zac Medico
2013-05-18 23:25 Zac Medico
2013-05-18 18:58 Zac Medico
2013-05-15 22:27 Zac Medico
2013-05-15 20:21 Zac Medico
2013-05-15 20:16 Zac Medico
2013-05-15 18:02 Zac Medico
2013-05-12 20:21 Zac Medico
2013-05-12 20:12 Zac Medico
2013-05-12 19:48 Zac Medico
2013-04-30  5:07 Zac Medico
2013-04-30  4:54 Zac Medico
2013-04-29  4:27 Zac Medico
2013-04-23  3:20 Zac Medico
2013-04-22 21:02 Zac Medico
2013-04-16 19:26 Zac Medico
2013-04-16 18:19 Zac Medico
2013-04-16 18:16 Zac Medico
2013-04-12  7:20 Zac Medico
2013-04-11 17:51 Zac Medico
2013-03-27 19:11 Mike Frysinger
2013-03-20  3:30 Zac Medico
2013-03-19 19:58 Zac Medico
2013-03-18 19:39 Zac Medico
2013-03-18 12:01 Zac Medico
2013-03-18 11:06 Zac Medico
2013-03-18 10:09 Zac Medico
2013-03-18  8:32 Zac Medico
2013-03-18  6:27 Zac Medico
2013-03-17 23:45 Zac Medico
2013-03-17 22:38 Zac Medico
2013-03-17 22:37 Zac Medico
2013-03-17 20:02 Zac Medico
2013-03-09  7:53 Zac Medico
2013-03-06 22:16 Zac Medico
2013-03-03 17:59 Zac Medico
2013-03-03  8:12 Zac Medico
2013-03-02  3:44 Zac Medico
2013-03-02  3:42 Zac Medico
2013-03-02  3:24 Zac Medico
2013-02-17 22:53 Zac Medico
2013-02-14 16:47 Zac Medico
2013-02-14  5:33 Zac Medico
2013-02-11  7:20 Zac Medico
2013-02-05  8:39 Zac Medico
2013-02-04 17:53 Zac Medico
2013-02-03  5:52 Mike Frysinger
2013-01-27 21:27 Zac Medico
2013-01-25 22:35 Zac Medico
2013-01-20 15:43 Zac Medico
2013-01-19  6:40 Zac Medico
2013-01-18 17:27 Zac Medico
2013-01-12  0:09 Zac Medico
2013-01-04 13:23 Zac Medico
2013-01-04  7:34 Zac Medico
2013-01-04  7:14 Zac Medico
2013-01-04  7:07 Zac Medico
2013-01-04  6:30 Zac Medico
2013-01-02  0:44 Zac Medico
2013-01-02  0:30 Zac Medico
2013-01-01 23:50 Zac Medico
2012-12-29  1:11 Zac Medico
2012-12-26 22:47 Zac Medico
2012-12-21 22:02 Zac Medico
2012-12-16  8:56 Zac Medico
2012-12-15 23:42 Zac Medico
2012-12-15 23:08 Zac Medico
2012-12-15 22:24 Zac Medico
2012-12-11 17:14 Zac Medico
2012-12-11 11:09 Zac Medico
2012-11-29 21:40 Zac Medico
2012-11-29  5:58 Zac Medico
2012-11-29  5:37 Zac Medico
2012-11-25 10:41 Arfrever Frehtes Taifersar Arahesis
2012-11-25 10:41 Arfrever Frehtes Taifersar Arahesis
2012-10-27 10:01 Zac Medico
2012-10-25  3:21 Zac Medico
2012-10-24 21:04 Arfrever Frehtes Taifersar Arahesis
2012-10-18  1:59 Zac Medico
2012-10-17 22:54 Arfrever Frehtes Taifersar Arahesis
2012-10-17 22:46 Arfrever Frehtes Taifersar Arahesis
2012-10-16 22:35 Zac Medico
2012-10-16 21:46 Zac Medico
2012-10-15  0:11 Zac Medico
2012-10-14 20:32 Zac Medico
2012-10-14 20:17 Zac Medico
2012-10-14 19:48 Zac Medico
2012-10-14 19:26 Zac Medico
2012-10-08 16:26 Zac Medico
2012-10-07 21:31 Zac Medico
2012-10-04 22:18 Zac Medico
2012-10-03 23:53 Zac Medico
2012-09-30 17:31 Zac Medico
2012-09-30 17:23 Zac Medico
2012-09-30  8:40 Zac Medico
2012-09-27 19:12 Zac Medico
2012-09-27 17:38 Zac Medico
2012-09-24 22:30 Arfrever Frehtes Taifersar Arahesis
2012-09-24  3:47 Mike Frysinger
2012-09-24  0:13 Mike Frysinger
2012-09-17  1:36 Zac Medico
2012-09-14 17:17 Zac Medico
2012-09-14 17:09 Zac Medico
2012-09-14  7:26 Zac Medico
2012-09-14  7:26 Zac Medico
2012-09-14  7:26 Zac Medico
2012-09-14  7:26 Zac Medico
2012-09-12  6:33 Zac Medico
2012-09-12  4:52 Zac Medico
2012-09-10 20:45 Zac Medico
2012-09-10 20:33 Zac Medico
2012-09-10 19:48 Zac Medico
2012-09-10  1:26 Zac Medico
2012-09-10  0:53 Zac Medico
2012-09-08 20:32 Zac Medico
2012-09-08 16:50 Zac Medico
2012-09-08 16:15 Zac Medico
2012-09-08  5:35 Zac Medico
2012-09-04  1:34 Zac Medico
2012-09-02 21:56 Zac Medico
2012-09-02  2:24 Zac Medico
2012-08-31 16:37 Zac Medico
2012-08-31 14:55 Ulrich Mueller
2012-08-31 14:52 Zac Medico
2012-08-31 14:47 Ulrich Mueller
2012-08-31  1:49 Zac Medico
2012-08-30 16:33 Zac Medico
2012-08-30  5:30 Zac Medico
2012-08-30  5:26 Zac Medico
2012-08-30  5:05 Zac Medico
2012-08-29 16:43 Zac Medico
2012-08-19  4:03 Zac Medico
2012-08-19  0:00 Zac Medico
2012-08-17 19:10 Mike Frysinger
2012-08-15  3:04 Zac Medico
2012-08-15  2:55 Zac Medico
2012-08-15  2:00 Zac Medico
2012-08-15  1:03 Zac Medico
2012-08-14  4:08 Zac Medico
2012-08-07 21:09 Zac Medico
2012-08-05 20:11 Zac Medico
2012-08-04 21:18 Zac Medico
2012-07-31 23:12 Arfrever Frehtes Taifersar Arahesis
2012-07-18 20:23 Zac Medico
2012-07-10  0:13 Zac Medico
2012-07-03 21:35 Zac Medico
2012-06-25  4:16 Arfrever Frehtes Taifersar Arahesis
2012-06-25  1:26 Arfrever Frehtes Taifersar Arahesis
2012-06-20 21:58 Zac Medico
2012-06-16  0:45 Zac Medico
2012-06-12  2:18 Zac Medico
2012-06-11 23:24 Zac Medico
2012-06-06  1:35 Zac Medico
2012-06-04 22:22 Zac Medico
2012-06-04 20:34 Zac Medico
2012-06-02  6:45 Zac Medico
2012-06-02  6:19 Zac Medico
2012-05-24  5:50 Mike Frysinger
2012-05-14 18:51 Mike Frysinger
2012-05-14  8:00 Zac Medico
2012-05-13 21:43 Zac Medico
2012-05-13 21:42 Zac Medico
2012-05-09 18:21 Zac Medico
2012-05-09  0:46 Zac Medico
2012-05-08 15:42 Zac Medico
2012-05-08  7:39 Zac Medico
2012-05-05  7:32 Zac Medico
2012-05-05  7:17 Zac Medico
2012-05-01 13:10 Zac Medico
2012-04-30 19:17 Zac Medico
2012-04-28 20:19 Zac Medico
2012-04-22 21:59 Zac Medico
2012-04-22 21:10 Zac Medico
2012-04-22 19:50 Arfrever Frehtes Taifersar Arahesis
2012-04-22 17:41 Zac Medico
2012-04-14  0:37 Zac Medico
2012-04-13 21:52 Zac Medico
2012-04-05 16:45 Zac Medico
2012-04-01 17:16 Zac Medico
2012-04-01 16:48 Zac Medico
2012-03-27 17:36 Zac Medico
2012-03-27 17:06 Zac Medico
2012-03-23  5:38 Zac Medico
2012-03-21  7:40 Zac Medico
2012-03-17 23:29 Zac Medico
2012-03-17 22:56 Zac Medico
2012-03-17 19:48 Zac Medico
2012-03-12  5:29 Mike Frysinger
2012-03-12  4:42 Mike Frysinger
2012-03-11 19:41 Mike Frysinger
2012-03-11  3:58 Mike Frysinger
2012-03-11  3:25 Mike Frysinger
2012-03-10 17:45 Zac Medico
2012-03-10 15:22 Zac Medico
2012-03-08 23:55 Zac Medico
2012-03-08 23:26 Mike Frysinger
2012-03-08 18:46 Mike Frysinger
2012-03-08  5:18 Mike Frysinger
2012-03-05  0:55 Zac Medico
2012-03-05  0:49 Zac Medico
2012-02-11  5:43 Zac Medico
2012-02-10 23:19 Zac Medico
2012-02-10 23:14 Zac Medico
2012-02-08 17:33 Zac Medico
2012-02-08 17:33 Zac Medico
2012-02-01 18:52 Zac Medico
2012-01-25  5:34 Zac Medico
2012-01-17 20:39 Zac Medico
2012-01-17 15:30 Zac Medico
2012-01-15 21:46 Arfrever Frehtes Taifersar Arahesis
2012-01-14 17:10 Zac Medico
2012-01-14 17:01 Zac Medico
2012-01-13 16:22 Zac Medico
2012-01-13 16:06 Zac Medico
2012-01-13 14:14 Zac Medico
2012-01-13 12:20 Zac Medico
2012-01-08  6:07 Arfrever Frehtes Taifersar Arahesis
2012-01-02  7:37 Zac Medico
2011-12-25 20:05 Zac Medico
2011-12-24 11:53 Zac Medico
2011-12-24 10:13 Zac Medico
2011-12-24  9:10 Zac Medico
2011-12-23  0:27 Zac Medico
2011-12-22 19:39 Zac Medico
2011-12-22  5:44 Zac Medico
2011-12-22  4:06 Zac Medico
2011-12-21 19:36 Zac Medico
2011-12-19  1:38 Arfrever Frehtes Taifersar Arahesis
2011-12-18 22:13 Zac Medico
2011-12-18 20:48 Arfrever Frehtes Taifersar Arahesis
2011-12-18 20:18 Zac Medico
2011-12-14  9:43 Zac Medico
2011-12-14  5:32 Zac Medico
2011-12-14  4:06 Zac Medico
2011-12-10 23:39 Zac Medico
2011-12-10 20:52 Zac Medico
2011-12-10 18:45 Zac Medico
2011-12-09 18:54 Zac Medico
2011-12-08 19:51 Zac Medico
2011-12-08 18:03 Zac Medico
2011-12-08  6:43 Zac Medico
2011-12-06 21:57 Zac Medico
2011-12-06 19:06 Zac Medico
2011-12-06 19:01 Zac Medico
2011-12-05  2:28 Zac Medico
2011-12-05  1:52 Zac Medico
2011-11-25  5:29 Zac Medico
2011-11-09 18:48 Zac Medico
2011-11-09 18:42 Zac Medico
2011-11-09  2:36 Zac Medico
2011-11-08 19:28 Zac Medico
2011-11-07 20:42 Zac Medico
2011-11-07 20:20 Zac Medico
2011-11-07 19:16 Zac Medico
2011-11-07 18:30 Arfrever Frehtes Taifersar Arahesis
2011-11-07  8:32 Zac Medico
2011-11-02  4:57 Zac Medico
2011-11-02  1:48 Zac Medico
2011-10-30  6:42 Arfrever Frehtes Taifersar Arahesis
2011-10-30  5:25 Zac Medico
2011-10-29 20:38 Zac Medico
2011-10-29 19:38 Zac Medico
2011-10-29 18:56 Zac Medico
2011-10-29 18:33 Zac Medico
2011-10-29  7:59 Zac Medico
2011-10-29  3:26 Zac Medico
2011-10-21  2:23 Zac Medico
2011-10-20 14:17 Zac Medico
2011-10-18  6:05 Zac Medico
2011-10-17  2:51 Zac Medico
2011-10-17  0:39 Zac Medico
2011-10-16  0:03 Zac Medico
2011-10-15 23:10 Zac Medico
2011-10-15 22:33 Zac Medico
2011-10-15 18:58 Zac Medico
2011-10-15 18:20 Zac Medico
2011-10-15  3:21 Zac Medico
2011-10-15  3:03 Zac Medico
2011-10-15  2:54 Zac Medico
2011-10-15  2:34 Zac Medico
2011-10-14 19:31 Zac Medico
2011-10-14  5:13 Zac Medico
2011-10-14  5:04 Zac Medico
2011-10-13 21:58 Zac Medico
2011-10-13 21:53 Zac Medico
2011-10-13 15:14 Zac Medico
2011-10-13 15:07 Zac Medico
2011-10-11 18:28 Zac Medico
2011-10-08  6:55 Zac Medico
2011-10-07 16:07 Zac Medico
2011-10-07 15:04 Zac Medico
2011-10-07 14:33 Zac Medico
2011-10-04  5:42 Zac Medico
2011-10-03 10:02 Zac Medico
2011-10-02  0:36 Zac Medico
2011-09-29 16:49 Zac Medico
2011-09-29  0:36 Zac Medico
2011-09-28 13:51 Zac Medico
2011-09-23 21:00 Zac Medico
2011-09-23 18:36 Fabian Groffen
2011-09-23 17:47 Zac Medico
2011-09-23 17:15 Zac Medico
2011-09-23  3:26 Arfrever Frehtes Taifersar Arahesis
2011-09-22 23:53 Zac Medico
2011-09-19  3:18 Zac Medico
2011-09-18 20:41 Zac Medico
2011-09-17 17:34 Zac Medico
2011-09-17  4:09 Zac Medico
2011-09-14 20:23 Zac Medico
2011-09-14 18:40 Zac Medico
2011-09-14 16:11 Zac Medico
2011-09-13  5:22 Zac Medico
2011-09-13  4:57 Zac Medico
2011-09-13  3:20 Zac Medico
2011-09-12 20:43 Zac Medico
2011-09-12  3:06 Zac Medico
2011-09-12  1:25 Zac Medico
2011-09-12  1:10 Zac Medico
2011-09-12  0:57 Zac Medico
2011-09-12  0:41 Zac Medico
2011-09-12  0:16 Zac Medico
2011-09-12  0:02 Zac Medico
2011-09-11 23:40 Zac Medico
2011-09-11 23:15 Zac Medico
2011-09-11 22:58 Zac Medico
2011-09-11 22:50 Zac Medico
2011-09-11 22:17 Zac Medico
2011-09-11 21:29 Zac Medico
2011-09-11 21:17 Zac Medico
2011-09-11  0:47 Zac Medico
2011-09-11  0:25 Zac Medico
2011-09-10 19:43 Zac Medico
2011-09-07 18:02 Zac Medico
2011-09-07 16:30 Zac Medico
2011-09-04  0:23 Zac Medico
2011-08-27 19:04 Zac Medico
2011-08-27 19:01 Zac Medico
2011-08-25 23:45 Zac Medico
2011-08-25 16:38 Zac Medico
2011-08-20 21:09 Zac Medico
2011-08-12 11:44 Zac Medico
2011-08-12 11:23 Zac Medico
2011-08-06  5:16 Zac Medico
2011-08-04 21:26 Zac Medico
2011-08-02 18:28 Zac Medico
2011-08-01 23:48 Zac Medico
2011-07-15 17:06 Zac Medico
2011-07-14 22:33 Zac Medico
2011-07-12 20:17 Zac Medico
2011-07-12 18:46 Zac Medico
2011-07-11 14:27 Zac Medico
2011-07-08 17:23 Zac Medico
2011-07-08 16:54 Zac Medico
2011-07-03 15:53 Zac Medico
2011-07-01 13:27 Zac Medico
2011-06-30  8:55 Zac Medico
2011-06-30  4:40 Zac Medico
2011-06-30  4:27 Zac Medico
2011-06-30  4:13 Zac Medico
2011-06-24 20:35 Zac Medico
2011-06-24 10:29 Zac Medico
2011-06-18 22:11 Zac Medico
2011-06-18 19:51 Zac Medico
2011-06-18 17:54 Zac Medico
2011-06-16 20:06 Zac Medico
2011-06-09 15:12 Zac Medico
2011-06-09 14:36 Zac Medico
2011-06-06  2:53 Zac Medico
2011-06-02 21:02 Zac Medico
2011-06-02 13:06 Zac Medico
2011-05-26  6:28 Zac Medico
2011-05-23  7:05 Zac Medico
2011-05-18  3:46 Zac Medico
2011-05-05 13:47 Zac Medico
2011-05-02 20:17 Arfrever Frehtes Taifersar Arahesis
2011-05-02 17:58 Zac Medico
2011-04-30 16:32 Arfrever Frehtes Taifersar Arahesis
2011-04-30  0:25 Zac Medico
2011-04-26 21:18 Zac Medico
2011-04-23 15:42 Zac Medico
2011-04-14  1:55 Zac Medico
2011-04-03 15:56 Zac Medico
2011-03-30 22:22 Arfrever Frehtes Taifersar Arahesis
2011-03-30 20:35 Arfrever Frehtes Taifersar Arahesis
2011-03-30 15:03 Arfrever Frehtes Taifersar Arahesis
2011-03-27 20:01 Zac Medico
2011-03-24  5:05 Zac Medico
2011-03-20 17:41 Zac Medico
2011-03-17 21:52 Zac Medico
2011-03-17 21:12 Zac Medico
2011-03-10 22:52 Zac Medico
2011-03-02  0:53 Zac Medico
2011-02-28 18:58 Zac Medico
2011-02-21 16:18 Zac Medico
2011-02-18 23:39 Ulrich Mueller
2011-02-18 15:38 Zac Medico
2011-02-13 14:19 Zac Medico
2011-02-13  8:38 Zac Medico
2011-02-06 23:03 Zac Medico

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1361152929.328dfc62a7f1252d8c940a4c267345b2b6aa7a53.vapier@gentoo \
    --to=vapier@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox