diff -Nurp setuptools-66.1.1/debian/changelog setuptools-66.1.1-bpo/debian/changelog
--- setuptools-66.1.1/debian/changelog	2023-01-27 08:49:44.000000000 +0200
+++ setuptools-66.1.1-bpo/debian/changelog	2023-02-16 18:05:30.000000000 +0200
@@ -1,3 +1,13 @@
+setuptools (66.1.1-1~bpo11+1) bullseye-backports; urgency=medium
+
+  * Rebuild for bullseye-backports.
+  * Add patch bullseye-bpo-distutils-stdlib to default to
+    SETUPTOOLS_USE_DISTUTILS=stdlib. bullseye's Python 3.9 still ships with
+    distutils, and we need distutils with the install-layout patches that the
+    embedded distutils does not have. See #1003252 for additional context.
+
+ -- Faidon Liambotis <paravoid@debian.org>  Thu, 16 Feb 2023 18:00:05 +0200
+
 setuptools (66.1.1-1) unstable; urgency=medium
 
   * New upstream version.
diff -Nurp setuptools-66.1.1/debian/patches/bullseye-bpo-distutils-stdlib.diff setuptools-66.1.1-bpo/debian/patches/bullseye-bpo-distutils-stdlib.diff
--- setuptools-66.1.1/debian/patches/bullseye-bpo-distutils-stdlib.diff	1970-01-01 02:00:00.000000000 +0200
+++ setuptools-66.1.1-bpo/debian/patches/bullseye-bpo-distutils-stdlib.diff	2023-02-16 17:54:05.000000000 +0200
@@ -0,0 +1,40 @@
+From d2a18148aece44aa908af382011a9c96346c07f3 Mon Sep 17 00:00:00 2001
+From: Faidon Liambotis <paravoid@debian.org>
+Date: Thu, 16 Feb 2023 17:53:47 +0200
+Subject: [PATCH] Revert "Restore local distutils as the default."
+
+This reverts commit b6fcbbd00cb6d5607c9272dec452a50457bdb292.
+---
+ _distutils_hack/__init__.py | 2 +-
+ setup.py                    | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/_distutils_hack/__init__.py b/_distutils_hack/__init__.py
+index f987a536..80856209 100644
+--- a/_distutils_hack/__init__.py
++++ b/_distutils_hack/__init__.py
+@@ -44,7 +44,7 @@ def enabled():
+     """
+     Allow selection of distutils by environment variable.
+     """
+-    which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'local')
++    which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'stdlib')
+     return which == 'local'
+ 
+ 
+diff --git a/setup.py b/setup.py
+index 4cda3d38..c6affe97 100755
+--- a/setup.py
++++ b/setup.py
+@@ -54,7 +54,7 @@ class install_with_pth(install):
+     _pth_contents = textwrap.dedent("""
+         import os
+         var = 'SETUPTOOLS_USE_DISTUTILS'
+-        enabled = os.environ.get(var, 'local') == 'local'
++        enabled = os.environ.get(var, 'stdlib') == 'local'
+         enabled and __import__('_distutils_hack').add_shim()
+         """).lstrip().replace('\n', '; ')
+ 
+-- 
+2.30.2
+
diff -Nurp setuptools-66.1.1/debian/patches/series setuptools-66.1.1-bpo/debian/patches/series
--- setuptools-66.1.1/debian/patches/series	2022-09-14 17:54:08.000000000 +0300
+++ setuptools-66.1.1-bpo/debian/patches/series	2023-02-16 18:06:11.000000000 +0200
@@ -14,3 +14,4 @@ no-sphinx-jaraco-tidelift.diff
 sphinx-theme.diff
 no-sphinx-custom-icons.diff
 no-sphinx-hoverxref.diff
+bullseye-bpo-distutils-stdlib.diff
