diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index 5bf2c4b8..ce16250b 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -848,42 +848,10 @@ def localpath(url, d):
     fetcher = bb.fetch2.Fetch([url], d)
     return fetcher.localpath(url)
 
-# Need to export PATH as binary could be in metadata paths
-# rather than host provided
-# Also include some other variables.
-FETCH_EXPORT_VARS = ['HOME', 'PATH',
-                     'HTTP_PROXY', 'http_proxy',
-                     'HTTPS_PROXY', 'https_proxy',
-                     'FTP_PROXY', 'ftp_proxy',
-                     'FTPS_PROXY', 'ftps_proxy',
-                     'NO_PROXY', 'no_proxy',
-                     'ALL_PROXY', 'all_proxy',
-                     'GIT_PROXY_COMMAND',
-                     'GIT_SSH',
-                     'GIT_SSH_COMMAND',
-                     'GIT_SSL_CAINFO',
-                     'GIT_SMART_HTTP',
-                     'SSH_AUTH_SOCK', 'SSH_AGENT_PID',
-                     'SOCKS5_USER', 'SOCKS5_PASSWD',
-                     'DBUS_SESSION_BUS_ADDRESS',
-                     'P4CONFIG',
-                     'SSL_CERT_FILE',
-                     'NODE_EXTRA_CA_CERTS',
-                     'AWS_PROFILE',
-                     'AWS_ACCESS_KEY_ID',
-                     'AWS_SECRET_ACCESS_KEY',
-                     'AWS_ROLE_ARN',
-                     'AWS_WEB_IDENTITY_TOKEN_FILE',
-                     'AWS_DEFAULT_REGION',
-                     'AWS_SESSION_TOKEN',
-                     'GIT_CACHE_PATH',
-                     'REMOTE_CONTAINERS_IPC',
-                     'SSL_CERT_DIR']
-
 def get_fetcher_environment(d):
     newenv = {}
     origenv = d.getVar("BB_ORIGENV")
-    for name in bb.fetch2.FETCH_EXPORT_VARS:
+    for name in d.getVar("BB_FETCH_EXPORT_VARS").split():
         value = d.getVar(name)
         if not value and origenv:
             value = origenv.getVar(name)
@@ -899,7 +867,7 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
     Optionally remove the files/directories listed in cleanup upon failure
     """
 
-    exportvars = FETCH_EXPORT_VARS
+    exportvars = d.getVar("BB_FETCH_EXPORT_VARS").split()
 
     if not cleanup:
         cleanup = []
diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
index bcc3f828..094acb4f 100644
--- a/meta/classes/dpkg.bbclass
+++ b/meta/classes/dpkg.bbclass
@@ -57,7 +57,7 @@ dpkg_runbuild() {
         value=$(echo "${line}" | cut -d '=' -f2-)
         sbuild_export $var "$value"
 
-        # Don't warn some variables
+        # Don't warn dpkg specific environment variables
         [ "${var}" = "PARALLEL_MAKE" ] && continue
         [ "${var}" = "CCACHE_DIR" ] && continue
         [ "${var}" = "CCACHE_DEBUGDIR" ] && continue
@@ -66,15 +66,10 @@ dpkg_runbuild() {
         [ "${var}" = "PATH_PREPEND" ] && continue
         [ "${var}" = "DEB_BUILD_OPTIONS" ] && continue
 
-        [ "${var}" = "http_proxy" ] && continue
-        [ "${var}" = "HTTP_PROXY" ] && continue
-        [ "${var}" = "https_proxy" ] && continue
-        [ "${var}" = "HTTPS_PROXY" ] && continue
-        [ "${var}" = "ftp_proxy" ] && continue
-        [ "${var}" = "FTP_PROXY" ] && continue
-        [ "${var}" = "no_proxy" ] && continue
-        [ "${var}" = "NO_PROXY" ] && continue
-        [ "${var}" = "GIT_PROXY_COMMAND" ] && continue
+	# Don't warn environment variables exported to the bitbake fetcher
+	case " ${BB_FETCH_EXPORT_VARS} " in
+	    *" ${var} "*) continue;;
+	esac
 
         bbwarn "Export of '${line}' detected, please migrate to templates"
     done
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index cda98035..82486248 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -100,6 +100,26 @@ THIRD_PARTY_APT_KEYRING = "/etc/apt/trusted.gpg.d/third_party.gpg"
 REPO_BASE_DIR = "${DEPLOY_DIR}/base-apt/${DISTRO}/apt"
 REPO_BASE_DB_DIR = "${DEPLOY_DIR}/base-apt/${DISTRO}/db"
 
+# Environment variables exported to the bitbake fetcher.
+# Export PATH as binary could be in metadata paths rather than host provided.
+BB_FETCH_EXPORT_VARS = "HOME PATH \
+    HTTP_PROXY http_proxy \
+    HTTPS_PROXY https_proxy \
+    FTP_PROXY ftp_proxy \
+    FTPS_PROXY ftps_proxy \
+    NO_PROXY no_proxy \
+    ALL_PROXY all_proxy \
+    GIT_PROXY_COMMAND GIT_SSH GIT_SSH_COMMAND GIT_SSL_CAINFO GIT_SMART_HTTP GIT_CACHE_PATH \
+    SSH_AUTH_SOCKSSH_AGENT_PID \
+    SOCKS5_USERSOCKS5_PASSWD \
+    DBUS_SESSION_BUS_ADDRESS \
+    P4CONFIG \
+    SSL_CERT_FILE SSL_CERT_DIR \
+    NODE_EXTRA_CA_CERTS \
+    AWS_PROFILE AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_ROLE_ARN \
+    AWS_WEB_IDENTITY_TOKEN_FILE AWS_DEFAULT_REGION AWS_SESSION_TOKEN \
+    REMOTE_CONTAINERS_IPC"
+
 # Setup our default hash policy
 BB_SIGNATURE_HANDLER ?= "OEBasicHash"
 BB_HASHEXCLUDE_ISAR ?= "CCACHE_DEBUG LAYERDIR_core SCRIPTSDIR TOPDIR ISAR_BUILD_UUID"
