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
 
