Enable BytesWarnings.
diff --git a/bin/archive-conf b/bin/archive-conf
index 2c34588..f513ff8 100755
--- a/bin/archive-conf
+++ b/bin/archive-conf
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 #
diff --git a/bin/binhost-snapshot b/bin/binhost-snapshot
index 376080c..1a14020 100755
--- a/bin/binhost-snapshot
+++ b/bin/binhost-snapshot
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 2010-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 2010-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import io
@@ -31,7 +31,7 @@
 
 	usage += "\n\n"
 	for line in textwrap.wrap(prog_desc, 70):
-		usage += line + "\n" 
+		usage += line + "\n"
 
 	usage += "\n"
 	usage += "Required Arguments:\n\n"
diff --git a/bin/check-implicit-pointer-usage.py b/bin/check-implicit-pointer-usage.py
index 8822c45..863c312 100755
--- a/bin/check-implicit-pointer-usage.py
+++ b/bin/check-implicit-pointer-usage.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python -bb
 
 # Ripped from HP and updated from Debian
 # Update by Gentoo to support unicode output
diff --git a/bin/chpathtool.py b/bin/chpathtool.py
index 287644d..f5b2c67 100755
--- a/bin/chpathtool.py
+++ b/bin/chpathtool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python -bb
 # Copyright 2011-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
diff --git a/bin/clean_locks b/bin/clean_locks
index 184e80c..7d10409 100755
--- a/bin/clean_locks
+++ b/bin/clean_locks
@@ -1,5 +1,5 @@
-#!/usr/bin/python -O
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bbO
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
@@ -22,11 +22,11 @@
 	print("%s --force %s/.locks" % (sys.argv[0], portage.settings["DISTDIR"]))
 	print()
 	sys.exit(1)
-	
+
 force = False
 if "--force" in sys.argv[1:]:
 	force=True
-	
+
 for x in sys.argv[1:]:
 	if x == "--force":
 		continue
@@ -34,7 +34,7 @@
 		for y in portage.locks.hardlock_cleanup(x, remove_all_locks=force):
 			print(y)
 		print()
-		
+
 	except OSError as e:
 		if e.errno in (errno.ENOENT, errno.ENOTDIR):
 			print("!!! %s is not a directory or does not exist" % x)
diff --git a/bin/dispatch-conf b/bin/dispatch-conf
index 10455f4..6a818bf 100755
--- a/bin/dispatch-conf
+++ b/bin/dispatch-conf
@@ -1,5 +1,5 @@
-#!/usr/bin/python -O
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bbO
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 #
diff --git a/bin/dohtml.py b/bin/dohtml.py
index f98557f..1b8c925 100755
--- a/bin/dohtml.py
+++ b/bin/dohtml.py
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 #
diff --git a/bin/ebuild b/bin/ebuild
index 262dab6..2138aed 100755
--- a/bin/ebuild
+++ b/bin/ebuild
@@ -1,5 +1,5 @@
-#!/usr/bin/python -O
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bbO
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
diff --git a/bin/ebuild-ipc.py b/bin/ebuild-ipc.py
index d351e94..bbb6e86 100755
--- a/bin/ebuild-ipc.py
+++ b/bin/ebuild-ipc.py
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 2010-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 2010-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 #
 # This is a helper which ebuild processes can use
@@ -150,7 +150,7 @@
 					self._no_daemon_msg()
 					return 2
 
-		buf = pipe_reader.getvalue() 
+		buf = pipe_reader.getvalue()
 
 		retval = 2
 
diff --git a/bin/egencache b/bin/egencache
index 9b22363..2562d59 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 2009-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 2009-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 # unicode_literals for compat with TextIOWrapper in Python 2
diff --git a/bin/emaint b/bin/emaint
index adf44d0..c5415c3 100755
--- a/bin/emaint
+++ b/bin/emaint
@@ -1,5 +1,5 @@
-#!/usr/bin/python -O
-# Copyright 2005-2013 Gentoo Foundation
+#!/usr/bin/python -bbO
+# Copyright 2005-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 """System health checks and maintenance utilities.
diff --git a/bin/emerge b/bin/emerge
index 4d9ea5a..a415afa 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 2006-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 2006-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
diff --git a/bin/emirrordist b/bin/emirrordist
index 8d93de9..2430aa7 100755
--- a/bin/emirrordist
+++ b/bin/emirrordist
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 2013-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import sys
diff --git a/bin/env-update b/bin/env-update
index b500c54..8e3b81c 100755
--- a/bin/env-update
+++ b/bin/env-update
@@ -1,5 +1,5 @@
-#!/usr/bin/python -O
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bbO
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
diff --git a/bin/filter-bash-environment.py b/bin/filter-bash-environment.py
index 3d4b3ec..838b422 100755
--- a/bin/filter-bash-environment.py
+++ b/bin/filter-bash-environment.py
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import codecs
diff --git a/bin/fixpackages b/bin/fixpackages
index e29d6ee..3ec2832 100755
--- a/bin/fixpackages
+++ b/bin/fixpackages
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
diff --git a/bin/glsa-check b/bin/glsa-check
index 7fa3688..87eafca 100755
--- a/bin/glsa-check
+++ b/bin/glsa-check
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 2008-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 2008-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
@@ -244,7 +244,7 @@
 				mergedict = {}
 				for (vuln, update) in myglsa.getAffectionTable(least_change=least_change):
 					mergedict.setdefault(update, []).append(vuln)
-				
+
 				sys.stdout.write(">>> The following updates will be performed for this GLSA:\n")
 				for pkg in mergedict:
 					if pkg != "":
diff --git a/bin/install.py b/bin/install.py
index 2c6dfbe..423ee42 100755
--- a/bin/install.py
+++ b/bin/install.py
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 2013-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import os
@@ -61,7 +61,7 @@
 	parser.add_argument(
 		"--owner",
 		"-o",
-		action="store", 
+		action="store",
 		dest="owner"
 	)
 	parser.add_argument(
diff --git a/bin/lock-helper.py b/bin/lock-helper.py
index 128e4dd..0c21835 100755
--- a/bin/lock-helper.py
+++ b/bin/lock-helper.py
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 2010-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 2010-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import os
diff --git a/bin/portageq b/bin/portageq
index a50b805..59cc019 100755
--- a/bin/portageq
+++ b/bin/portageq
@@ -1,5 +1,5 @@
-#!/usr/bin/python -O
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bbO
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function, unicode_literals
diff --git a/bin/quickpkg b/bin/quickpkg
index cf5800c..a3e2f5b 100755
--- a/bin/quickpkg
+++ b/bin/quickpkg
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
diff --git a/bin/regenworld b/bin/regenworld
index f74b3dd..239ea9a 100755
--- a/bin/regenworld
+++ b/bin/regenworld
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
diff --git a/bin/repoman b/bin/repoman
index d1542e9..1277f36 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -1,5 +1,5 @@
-#!/usr/bin/python -O
-# Copyright 1999-2013 Gentoo Foundation
+#!/usr/bin/python -bbO
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 # Next to do: dep syntax checking in mask files
diff --git a/bin/xattr-helper.py b/bin/xattr-helper.py
index 6d99521..6525393 100755
--- a/bin/xattr-helper.py
+++ b/bin/xattr-helper.py
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 2012-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 2012-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 """Dump and restore extended attributes.
diff --git a/bin/xpak-helper.py b/bin/xpak-helper.py
index d9d325d..9fdc8ce 100755
--- a/bin/xpak-helper.py
+++ b/bin/xpak-helper.py
@@ -1,5 +1,5 @@
-#!/usr/bin/python
-# Copyright 2009-2013 Gentoo Foundation
+#!/usr/bin/python -bb
+# Copyright 2009-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import sys
diff --git a/pym/portage/tests/dbapi/test_portdb_cache.py b/pym/portage/tests/dbapi/test_portdb_cache.py
index 9843962..e04d8de 100644
--- a/pym/portage/tests/dbapi/test_portdb_cache.py
+++ b/pym/portage/tests/dbapi/test_portdb_cache.py
@@ -1,4 +1,4 @@
-# Copyright 2012-2013 Gentoo Foundation
+# Copyright 2012-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import subprocess
@@ -37,11 +37,11 @@
 		layout_conf_path = os.path.join(metadata_dir, "layout.conf")
 
 		portage_python = portage._python_interpreter
-		egencache_cmd = (portage_python, "-Wd",
+		egencache_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "egencache"),
 			"--repo", "test_repo",
 			"--repositories-configuration", settings.repositories.config_string())
-		python_cmd = (portage_python, "-Wd", "-c")
+		python_cmd = (portage_python, "-bb", "-Wd", "-c")
 
 		test_commands = (
 			(lambda: not os.path.exists(pms_cache_dir),),
@@ -84,17 +84,17 @@
 					sys.exit(1)
 			"""),),
 
-			# Don't use python -Wd, since the pms format triggers deprecation warnings
+			# Disable DeprecationWarnings, since the pms format triggers them
 			# in portdbapi._create_pregen_cache().
 			(BASH_BINARY, "-c", "echo %s > %s" %
 				tuple(map(portage._shell_quote,
 				("cache-formats = pms md5-dict", layout_conf_path,)))),
-			(portage_python, "-Wi", "-c") + (textwrap.dedent("""
+			(portage_python, "-bb", "-Wd", "-Wi::DeprecationWarning", "-c") + (textwrap.dedent("""
 				import os, sys, portage
 				if portage.portdb.porttree_root not in portage.portdb._pregen_auxdb:
 					sys.exit(1)
 			"""),),
-			(portage_python, "-Wi", "-c") + (textwrap.dedent("""
+			(portage_python, "-bb", "-Wd", "-Wi::DeprecationWarning", "-c") + (textwrap.dedent("""
 				import os, sys, portage
 				from portage.cache.metadata import database as pms_database
 				if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.porttree_root], pms_database):
diff --git a/pym/portage/tests/emerge/test_emerge_slot_abi.py b/pym/portage/tests/emerge/test_emerge_slot_abi.py
index 7d8426b..e73ebc5 100644
--- a/pym/portage/tests/emerge/test_emerge_slot_abi.py
+++ b/pym/portage/tests/emerge/test_emerge_slot_abi.py
@@ -1,4 +1,4 @@
-# Copyright 2012-2013 Gentoo Foundation
+# Copyright 2012-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import subprocess
@@ -69,9 +69,9 @@
 		package_mask_path = os.path.join(user_config_dir, "package.mask")
 
 		portage_python = portage._python_interpreter
-		ebuild_cmd = (portage_python, "-Wd",
+		ebuild_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "ebuild"))
-		emerge_cmd = (portage_python, "-Wd",
+		emerge_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "emerge"))
 
 		test_ebuild = portdb.findname("dev-libs/dbus-glib-0.98")
diff --git a/pym/portage/tests/emerge/test_simple.py b/pym/portage/tests/emerge/test_simple.py
index ad02384..2016ae6 100644
--- a/pym/portage/tests/emerge/test_simple.py
+++ b/pym/portage/tests/emerge/test_simple.py
@@ -1,4 +1,4 @@
-# Copyright 2011-2013 Gentoo Foundation
+# Copyright 2011-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import subprocess
@@ -174,29 +174,29 @@
 		cachedir_pregen = os.path.join(test_repo_location, "metadata", "md5-cache")
 
 		portage_python = portage._python_interpreter
-		dispatch_conf_cmd = (portage_python, "-Wd",
+		dispatch_conf_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "dispatch-conf"))
-		ebuild_cmd = (portage_python, "-Wd",
+		ebuild_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "ebuild"))
-		egencache_cmd = (portage_python, "-Wd",
+		egencache_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "egencache"),
 			"--repo", "test_repo",
 			"--repositories-configuration", settings.repositories.config_string())
-		emerge_cmd = (portage_python, "-Wd",
+		emerge_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "emerge"))
-		emaint_cmd = (portage_python, "-Wd",
+		emaint_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "emaint"))
-		env_update_cmd = (portage_python, "-Wd",
+		env_update_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "env-update"))
 		etc_update_cmd = (BASH_BINARY,
 			os.path.join(PORTAGE_BIN_PATH, "etc-update"))
-		fixpackages_cmd = (portage_python, "-Wd",
+		fixpackages_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "fixpackages"))
-		portageq_cmd = (portage_python, "-Wd",
+		portageq_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "portageq"))
-		quickpkg_cmd = (portage_python, "-Wd",
+		quickpkg_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "quickpkg"))
-		regenworld_cmd = (portage_python, "-Wd",
+		regenworld_cmd = (portage_python, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "regenworld"))
 
 		rm_binary = find_binary("rm")
diff --git a/pym/portage/tests/repoman/test_simple.py b/pym/portage/tests/repoman/test_simple.py
index 23b0e0a..9fc6d83 100644
--- a/pym/portage/tests/repoman/test_simple.py
+++ b/pym/portage/tests/repoman/test_simple.py
@@ -1,4 +1,4 @@
-# Copyright 2011-2013 Gentoo Foundation
+# Copyright 2011-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import subprocess
@@ -170,7 +170,7 @@
 		profiles_dir = os.path.join(test_repo_location, "profiles")
 		license_dir = os.path.join(test_repo_location, "licenses")
 
-		repoman_cmd = (portage._python_interpreter, "-Wd",
+		repoman_cmd = (portage._python_interpreter, "-bb", "-Wd",
 			os.path.join(PORTAGE_BIN_PATH, "repoman"))
 
 		git_binary = find_binary("git")
@@ -287,8 +287,7 @@
 
 			for cwd in ("", "dev-libs", "dev-libs/A", "dev-libs/B"):
 				abs_cwd = os.path.join(test_repo_symlink, cwd)
-				proc = subprocess.Popen([portage._python_interpreter, "-Wd",
-					os.path.join(PORTAGE_BIN_PATH, "repoman"), "full"],
+				proc = subprocess.Popen(repoman_cmd + ("full",),
 					cwd=abs_cwd, env=env, stdout=stdout)
 
 				if debug:
diff --git a/pym/portage/tests/runTests b/pym/portage/tests/runTests
index 60bcf31..5869f37 100755
--- a/pym/portage/tests/runTests
+++ b/pym/portage/tests/runTests
@@ -1,6 +1,6 @@
-#!/usr/bin/python -Wd
+#!/usr/bin/python -bbWd
 # runTests.py -- Portage Unit Test Functionality
-# Copyright 2006-2013 Gentoo Foundation
+# Copyright 2006-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import os, sys
diff --git a/pym/portage/tests/util/test_whirlpool.py b/pym/portage/tests/util/test_whirlpool.py
index dd0de89..ac78d97 100644
--- a/pym/portage/tests/util/test_whirlpool.py
+++ b/pym/portage/tests/util/test_whirlpool.py
@@ -1,4 +1,4 @@
-# Copyright 2011 Gentoo Foundation
+# Copyright 2011-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import subprocess
@@ -11,6 +11,6 @@
 class WhirlpoolTestCase(TestCase):
 	def testBundledWhirlpool(self):
 		# execute the tests bundled with the whirlpool module
-		retval = subprocess.call([portage._python_interpreter, "-Wd",
+		retval = subprocess.call([portage._python_interpreter, "-bb", "-Wd",
 			os.path.join(PORTAGE_PYM_PATH, "portage/util/whirlpool.py")])
 		self.assertEqual(retval, os.EX_OK)
diff --git a/runtests.sh b/runtests.sh
index c759ae9..1bd1234 100755
--- a/runtests.sh
+++ b/runtests.sh
@@ -67,7 +67,7 @@
 	fi
 	if [[ -x "${executable}" ]]; then
 		echo -e "${GOOD}Testing with Python ${version}...${NORMAL}"
-		"${executable}" -Wd pym/portage/tests/runTests "$@"
+		"${executable}" -bb -Wd pym/portage/tests/runTests "$@"
 		status=$?
 		status_array[${#status_array[@]}]=${status}
 		found_versions[${#found_versions[@]}]=${version}
diff --git a/tabcheck.py b/tabcheck.py
index 1699e98..7b5ea19 100755
--- a/tabcheck.py
+++ b/tabcheck.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python -O
+#!/usr/bin/python -bbO
 
 import tabnanny,sys