diff --git a/debian/changelog b/debian/changelog
index 17b52a0..0474f18 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+nvidia-cuda-toolkit (11.2.2-3+deb11u1) bullseye; urgency=medium
+
+  * cuda-gdb: Disable non-functional python support causing segmentation
+    faults.  (Closes: #997031)
+  * Use a snapshot of openjdk-8-jre (8u312-b07-1).
+  * Do not ship a spurious CMakeLists.txt below /usr/include/cuda.
+  * Bump Standards-Version to 4.6.0 (no changes needed).
+  * Update Lintian overrides.
+  * Record upstream versions to detect non-monotonic cases.
+  * Semi-automatically update version-prefixes in non-monotonic cases.
+  * Upload to bullseye.
+
+ -- Andreas Beckmann <anbe@debian.org>  Wed, 05 Jan 2022 14:49:29 +0100
+
 nvidia-cuda-toolkit (11.2.2-3) unstable; urgency=medium
 
   * Use a snapshot of openjdk-8-jre (8u292-b10-3).
@@ -464,6 +478,13 @@ nvidia-cuda-toolkit (10.0.130-1) experimental; urgency=medium
 
  -- Andreas Beckmann <anbe@debian.org>  Tue, 15 Jan 2019 13:21:01 +0100
 
+nvidia-cuda-toolkit (9.2.148-7+deb10u1) buster; urgency=medium
+
+  * [ppc64el]: Do not overwrite the customized nvcc.profile with the
+    unmodified upstream copy from CUDA 9.2 Patch 1.  (Closes: #991592)
+
+ -- Andreas Beckmann <anbe@debian.org>  Tue, 07 Sep 2021 16:02:46 +0200
+
 nvidia-cuda-toolkit (9.2.148-7) unstable; urgency=medium
 
   * Use debianize.patch to customize paths etc. in nvcc.profile and the
diff --git a/debian/control b/debian/control
index 1e727ce..e13a762 100644
--- a/debian/control
+++ b/debian/control
@@ -22,7 +22,6 @@ Build-Depends-Arch:
  liblzma-dev,
  libncurses-dev,
  libreadline-dev,
- python3-dev,
  texinfo,
  zlib1g-dev,
 # for nsight-compute/nsight-systems
@@ -50,7 +49,7 @@ Build-Depends-Arch:
  libpulse-dev [!arm64],
  libxrender-dev [!arm64],
 Rules-Requires-Root: no
-Standards-Version: 4.5.1
+Standards-Version: 4.6.0
 Homepage: https://developer.nvidia.com/cuda-zone
 Vcs-Browser: https://salsa.debian.org/nvidia-team/nvidia-cuda-toolkit
 Vcs-Git: https://salsa.debian.org/nvidia-team/nvidia-cuda-toolkit.git
diff --git a/debian/copyright b/debian/copyright
index b4c749e..452bdd7 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1638,7 +1638,7 @@ License: GPL-3.0+
  Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
 
 Files: debian/*
-Copyright: © 2008-2020 Andreas Beckmann <anbe@debian.org>
+Copyright: © 2008-2022 Andreas Beckmann <anbe@debian.org>
 License: GPL-2+
  This package is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
diff --git a/debian/gbp.conf b/debian/gbp.conf
index b741131..8947feb 100644
--- a/debian/gbp.conf
+++ b/debian/gbp.conf
@@ -10,8 +10,8 @@ component = [
 	'amd64',
 	'ppc64el',
 	'arm64',
-	'openjdk-8-source-8u292-b10-3',
-	'openjdk-8-jre-amd64-8u292-b10-3',
-	'openjdk-8-jre-ppc64el-8u292-b10-3',
+	'openjdk-8-source-8u312-b07-1',
+	'openjdk-8-jre-amd64-8u312-b07-1',
+	'openjdk-8-jre-ppc64el-8u312-b07-1',
 	]
-debian-branch = master
+debian-branch = bullseye
diff --git a/debian/libcupti-dev.lintian-overrides b/debian/libcupti-dev.lintian-overrides
index 5bec035..f9f9966 100644
--- a/debian/libcupti-dev.lintian-overrides
+++ b/debian/libcupti-dev.lintian-overrides
@@ -1,2 +1,2 @@
 # The NVIDIA license does not allow any form of modification.
-[amd64]: static-library-has-unneeded-section
+[amd64]: static-library-has-unneeded-sections
diff --git a/debian/libcuptiSOVER.lintian-overrides b/debian/libcuptiSOVER.lintian-overrides
index 97ad79b..74c02d7 100644
--- a/debian/libcuptiSOVER.lintian-overrides
+++ b/debian/libcuptiSOVER.lintian-overrides
@@ -4,7 +4,7 @@ hardening-no-fortify-functions
 [!amd64]: hardening-no-relro
 binary-has-unneeded-section
 lacks-unversioned-link-to-shared-library
-embedded-library usr/lib*/libnvperf_host.so: zlib
+embedded-library zlib usr/lib*/libnvperf_host.so
 exit-in-shared-library
 [arm64]: shared-library-lacks-stack-section
 shared-library-lacks-version
diff --git a/debian/libcuptiSOVER.symbols b/debian/libcuptiSOVER.symbols
index 544ec88..4246fd1 100644
--- a/debian/libcuptiSOVER.symbols
+++ b/debian/libcuptiSOVER.symbols
@@ -2,6 +2,7 @@ libcupti.so.#SOVERSION# #PACKAGE# #MINVER#
 * Build-Depends-Package: libcupti-dev
  (symver)libcupti.so.#SOVERSION# 0
 libnvperf_host.so #PACKAGE# #MINVER#
+* Build-Depends-Package: libcupti-dev
  NVPA_CounterDataBuilder_AddMetrics@Base 0
  NVPA_CounterDataBuilder_Create@Base 0
  NVPA_CounterDataBuilder_Destroy@Base 0
@@ -229,6 +230,7 @@ libnvperf_host.so #PACKAGE# #MINVER#
  (arch=!arm64)NVPW_VK_Queue_ServicePendingGpuOperations@Base 0
  (arch=!arm64)NVPW_VK_RawMetricsConfig_Create@Base 0
 libnvperf_target.so #PACKAGE# #MINVER#
+* Build-Depends-Package: libcupti-dev
  NVPA_CounterData_GetNumRanges@Base 0
  NVPA_CounterData_GetRangeDescriptions@Base 0
  NVPA_Device_GetNames@Base 0
diff --git a/debian/nsight-compute-target.lintian-overrides b/debian/nsight-compute-target.lintian-overrides
index 152ab81..966e6c2 100644
--- a/debian/nsight-compute-target.lintian-overrides
+++ b/debian/nsight-compute-target.lintian-overrides
@@ -4,13 +4,12 @@ hardening-no-fortify-functions
 hardening-no-pie
 [!amd64]: hardening-no-relro
 binary-has-unneeded-section
-embedded-library usr/lib/*/nsight-compute/target/*/libcuda-injection.so: zlib
-embedded-library usr/lib/*/nsight-compute/target/*/libnvperf_host.so: zlib
-embedded-library usr/lib/*/nsight-compute/target/*/ncu: zlib
+embedded-library zlib usr/lib/*/nsight-compute/target/*/libcuda-injection.so
+embedded-library zlib usr/lib/*/nsight-compute/target/*/libnvperf_host.so
+embedded-library zlib usr/lib/*/nsight-compute/target/*/ncu
 exit-in-shared-library
 [arm64]: shared-library-lacks-stack-section
 spelling-error-in-binary
 
 # Some of NVIDIA's binaries expect files at certain relative paths.
-breakout-link usr/lib/nsight-compute/target/* -> usr/lib/*/nsight-compute/target/*
 executable-in-usr-lib
diff --git a/debian/nsight-compute.lintian-overrides.in b/debian/nsight-compute.lintian-overrides.in
index e0b7f2f..e050954 100644
--- a/debian/nsight-compute.lintian-overrides.in
+++ b/debian/nsight-compute.lintian-overrides.in
@@ -3,13 +3,13 @@
 [amd64]: hardening-no-fortify-functions
 [amd64]: hardening-no-pie
 [amd64]: binary-has-unneeded-section
-[amd64]: embedded-library usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/Plugins/RebelPlugin/libRebelPlugin.so: zlib
-[amd64]: embedded-library usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/Plugins/imageformats/libqjpeg.so: libjpeg
-[amd64]: embedded-library usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/Plugins/imageformats/libqtiff.so: tiff
-[amd64]: embedded-library usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/libQt5Gui.so.5: libpng
-[amd64]: embedded-library usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/libnvperf_host.so: zlib
-[amd64]: embedded-library usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/libssh.so: libssh
-[amd64]: embedded-library usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/libssh.so: zlib
+[amd64]: embedded-library libjpeg usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/Plugins/imageformats/libqjpeg.so
+[amd64]: embedded-library libpng usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/libQt5Gui.so.5
+[amd64]: embedded-library libssh usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/libssh.so
+[amd64]: embedded-library tiff usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/Plugins/imageformats/libqtiff.so
+[amd64]: embedded-library zlib usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/Plugins/RebelPlugin/libRebelPlugin.so
+[amd64]: embedded-library zlib usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/libnvperf_host.so
+[amd64]: embedded-library zlib usr/lib/nsight-compute/host/#NSIGHT_COMPUTE_DESKTOP_DIR#/libssh.so
 [amd64]: shared-library-lacks-prerequisites
 [amd64]: exit-in-shared-library
 [amd64]: spelling-error-in-binary
diff --git a/debian/nsight-systems-target.lintian-overrides b/debian/nsight-systems-target.lintian-overrides
index df52b92..8df91fe 100644
--- a/debian/nsight-systems-target.lintian-overrides
+++ b/debian/nsight-systems-target.lintian-overrides
@@ -4,8 +4,8 @@ hardening-no-fortify-functions
 hardening-no-pie
 hardening-no-relro
 binary-has-unneeded-section
-[!ppc64el]: embedded-library usr/lib/*/nsight-systems/*/nsys: zlib
-embedded-library usr/lib/*/nsight-systems/*/python/bin/python: zlib
+[!ppc64el]: embedded-library zlib usr/lib/*/nsight-systems/*/nsys
+embedded-library zlib usr/lib/*/nsight-systems/*/python/bin/python
 exit-in-shared-library
 [arm64]: shared-library-lacks-stack-section
 spelling-error-in-binary
@@ -15,6 +15,5 @@ unstripped-binary-or-object
 package-has-unnecessary-activation-of-ldconfig-trigger
 
 # Some of NVIDIA's binaries expect files at certain relative paths.
-breakout-link usr/lib/nsight-systems/* -> usr/lib/*/nsight-systems/*
 executable-in-usr-lib
 repeated-path-segment lib usr/lib/*/nsight-systems/*/python/lib/
diff --git a/debian/nsight-systems.lintian-overrides.in b/debian/nsight-systems.lintian-overrides.in
index e79d4a4..84af0c1 100644
--- a/debian/nsight-systems.lintian-overrides.in
+++ b/debian/nsight-systems.lintian-overrides.in
@@ -4,19 +4,19 @@ hardening-no-fortify-functions
 hardening-no-pie
 [!amd64]: hardening-no-relro
 binary-has-unneeded-section
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/Plugins/imageformats/libqjpeg.so: libjpeg
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/Plugins/imageformats/libqtiff.so: tiff
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5Gui.so.5: libpng
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5: lcms2
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5: libjpeg
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5: libpng
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5: openjpeg
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5: srtp
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5: libjsoncpp
-[!amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libboost_iostreams.so.1.70.0: zlib
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libssh.so: libssh
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libssh.so: zlib
-[amd64]: embedded-library usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libz.so: zlib
+[amd64]: embedded-library lcms2 usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5
+[amd64]: embedded-library libjpeg usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/Plugins/imageformats/libqjpeg.so
+[amd64]: embedded-library libjpeg usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5
+[amd64]: embedded-library libjsoncpp usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5
+[amd64]: embedded-library libpng usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5Gui.so.5
+[amd64]: embedded-library libpng usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5
+[amd64]: embedded-library libssh usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libssh.so
+[amd64]: embedded-library openjpeg usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5
+[amd64]: embedded-library srtp usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libQt5WebEngineCore.so.5
+[amd64]: embedded-library tiff usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/Plugins/imageformats/libqtiff.so
+[!amd64]: embedded-library zlib usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libboost_iostreams.so.1.70.0
+[amd64]: embedded-library zlib usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libssh.so
+[amd64]: embedded-library zlib usr/lib/nsight-systems/#NSIGHT_SYSTEMS_HOST_DIR#/libz.so
 [amd64]: shared-library-lacks-prerequisites
 [amd64]: exit-in-shared-library
 spelling-error-in-binary
diff --git a/debian/nvidia-cuda-dev.lintian-overrides b/debian/nvidia-cuda-dev.lintian-overrides
index d276517..5ef8252 100644
--- a/debian/nvidia-cuda-dev.lintian-overrides
+++ b/debian/nvidia-cuda-dev.lintian-overrides
@@ -2,11 +2,10 @@
 hardening-no-bindnow
 hardening-no-fortify-functions
 repeated-path-segment include usr/include/cuda/std/detail/libcxx/include/*
-static-library-has-unneeded-section
+static-library-has-unneeded-sections
 
 # These libraries are only stubs used by nvcc while linking.
 missing-dependency-on-libc needed by usr/lib/*/stubs/libnvidia-ml.so
+[arm64]: library-not-linked-against-libc usr/lib/*/stubs/*.so
 [arm64]: missing-dependency-on-libstdc++ needed by usr/lib/*/stubs/*.so and 21 others
 [!arm64]: shared-library-lacks-prerequisites usr/lib/*/stubs/*.so
-
-package-contains-documentation-outside-usr-share-doc usr/include/cuda/std/detail/libcxx/include/CMakeLists.txt
diff --git a/debian/nvidia-cuda-toolkit.README.Debian b/debian/nvidia-cuda-toolkit.README.Debian
index 63a7663..318f7bb 100644
--- a/debian/nvidia-cuda-toolkit.README.Debian
+++ b/debian/nvidia-cuda-toolkit.README.Debian
@@ -13,6 +13,8 @@ Here is a list of possible combinations, partially based on [1]:
     ```
     CUDA Toolkit Version | Supported GCC Versions | Supported Clang Versions
     ---------------------+------------------------+-------------------------
+     11.5                | 6 - 11                 | 6.0 - 12
+     11.4.1              | 6 - 11                 | 6.0 - 11
      11.4                | 6 - 10                 | 6.0 - 11
      11.3                | (5) 6 - 10             | (3.8) 6.0 - 11
      11.2                | (5) 6 - 10             | (3.8) 6.0 - 11
diff --git a/debian/nvidia-cuda-toolkit.lintian-overrides b/debian/nvidia-cuda-toolkit.lintian-overrides
index 7fd6ec5..e8dc754 100644
--- a/debian/nvidia-cuda-toolkit.lintian-overrides
+++ b/debian/nvidia-cuda-toolkit.lintian-overrides
@@ -12,11 +12,9 @@ spelling-error-in-binary
 no-manual-page
 
 # Some of NVIDIA's binaries expect files at certain relative paths.
-breakout-link usr/lib/nvidia-cuda-toolkit/bin/nvcc.profile -> etc/nvcc.profile
 executable-in-usr-lib
 
 # Monolithic installation tree shim for clang++ --cuda-path=/usr/lib/cuda
-breakout-link usr/lib/cuda/nvvm/libdevice -> usr/lib/nvidia-cuda-toolkit/libdevice
 package-contains-empty-directory usr/lib/cuda/bin/
 package-contains-empty-directory usr/lib/cuda/include/
 package-contains-empty-directory usr/lib/cuda/lib64/
diff --git a/debian/nvidia-openjdk-8-jre.lintian-overrides b/debian/nvidia-openjdk-8-jre.lintian-overrides
index d276dcc..01265ef 100644
--- a/debian/nvidia-openjdk-8-jre.lintian-overrides
+++ b/debian/nvidia-openjdk-8-jre.lintian-overrides
@@ -1,11 +1,11 @@
 # this package is only meant as a temporary measure
 # until upstream supports a current jdk
 
-breakout-link
 executable-in-usr-lib
 hardening-no-bindnow
 hardening-no-fortify-functions
 image-file-in-usr-lib
+library-not-linked-against-libc
 package-contains-documentation-outside-usr-share-doc
 package-has-unnecessary-activation-of-ldconfig-trigger
 exit-in-shared-library
diff --git a/debian/nvidia-profiler.lintian-overrides b/debian/nvidia-profiler.lintian-overrides
index ca6c166..875af50 100644
--- a/debian/nvidia-profiler.lintian-overrides
+++ b/debian/nvidia-profiler.lintian-overrides
@@ -4,7 +4,7 @@ hardening-no-fortify-functions
 hardening-no-pie
 [amd64]: hardening-no-relro
 spelling-error-in-binary
-embedded-library usr/lib/nvidia-cuda-toolkit/bin/nvprof: zlib
+embedded-library zlib usr/lib/nvidia-cuda-toolkit/bin/nvprof
 
 # Documentation and manpages are no longer bundled since 11.1.
 no-manual-page
diff --git a/debian/nvidia-visual-profiler.lintian-overrides b/debian/nvidia-visual-profiler.lintian-overrides
index 19e102b..3f88512 100644
--- a/debian/nvidia-visual-profiler.lintian-overrides
+++ b/debian/nvidia-visual-profiler.lintian-overrides
@@ -9,7 +9,6 @@ unstripped-binary-or-object
 no-manual-page
 
 # Bundled eclipse components ...
-breakout-link usr/lib/nvidia-visual-profiler/* -> usr/share/nvidia-visual-profiler/*
 codeless-jar
 extra-license-file usr/share/*/plugins/org.apache.ant_*/about_files/LICENSE
 national-encoding usr/share/*/plugins/org.w3c.sac_*/about_files/copyright-software-20021231.htm
diff --git a/debian/patches/cuda-gdb.patch b/debian/patches/cuda-gdb.patch
index c7e9b0d..bccc1ca 100644
--- a/debian/patches/cuda-gdb.patch
+++ b/debian/patches/cuda-gdb.patch
@@ -58,7 +58,38 @@ Forwarded: not-needed
  int (*gdbpy_PySlice_GetIndicesEx) (PyObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength) = NULL;
  #else
  PyObject * (*gdbpy_PyBuffer_FromObject) (PyObject *base, Py_ssize_t offset, Py_ssize_t size) = NULL;
-@@ -637,7 +637,9 @@ PYWRAPPER_ARG1(PyObject *, PyList_New, P
+@@ -248,8 +248,17 @@ static int *gdb_Py_DontWriteBytecodeFlag
+ bool
+ is_python_available (void) {
+ 
++#define _s(s) #s
++#define _S(s) _s(s)
++
+   int i;
+   static const char *libpython_names[] = {
++#ifdef IS_PY3K
++                     "libpython" _S(PY_MAJOR_VERSION) "." _S(PY_MINOR_VERSION) ".so.1.0",
++                     "libpython" _S(PY_MAJOR_VERSION) "." _S(PY_MINOR_VERSION) ".so.1",
++                     "libpython" _S(PY_MAJOR_VERSION) "." _S(PY_MINOR_VERSION) "m.so.1.0",
++                     "libpython" _S(PY_MAJOR_VERSION) "." _S(PY_MINOR_VERSION) "m.so.1",
++#else
+ #if HAVE_LIBPYTHON2_4
+                      "libpython2.4.so.1.0", "libpython2.4.so.1",
+ #elif !defined(__APPLE__)
+@@ -261,8 +270,12 @@ is_python_available (void) {
+                      "Python.framework/Versions/2.7/Python",
+                      "/System/Library/Frameworks/Python.framework/Versions/2.7/Python",
+ #endif
++#endif
+                      NULL };
+ 
++#undef _s
++#undef _S
++
+   if (python_initialized)
+     return libpython_handle != NULL;
+ 
+@@ -637,7 +650,9 @@ PYWRAPPER_ARG1(PyObject *, PyList_New, P
  PYWRAPPER_ARG1(Py_ssize_t, PyList_Size, PyObject *)
  PYWRAPPER_ARG1(PY_LONG_LONG, PyLong_AsLongLong, PyObject *)
  PYWRAPPER_ARG1(unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong, PyObject *)
@@ -68,7 +99,7 @@ Forwarded: not-needed
  PYWRAPPER_ARG1(PyObject *, PyLong_FromLongLong, PY_LONG_LONG)
  PYWRAPPER_ARG1(PyObject *, PyLong_FromUnsignedLong, unsigned long)
  PYWRAPPER_ARG1(PyObject *, PyLong_FromUnsignedLongLong, unsigned PY_LONG_LONG)
-@@ -693,7 +695,9 @@ PYWRAPPER_ARG3(PyObject *, PyType_Generi
+@@ -693,7 +708,9 @@ PYWRAPPER_ARG3(PyObject *, PyType_Generi
  PYWRAPPER_ARG3(int, PyObject_AsReadBuffer, PyObject *, const void **, Py_ssize_t *)
  PYWRAPPER_ARG3(int, PyObject_GenericSetAttr, PyObject *, PyObject *, PyObject *)
  PYWRAPPER_ARG3(PyObject *, PyBuffer_FromReadWriteObject, PyObject *, Py_ssize_t, Py_ssize_t)
diff --git a/debian/rules b/debian/rules
index 38e6afc..0264dfc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -26,7 +26,7 @@ CUDA_GDB_FLAGS	+= --with-intel-pt
 endif
 CUDA_GDB_FLAGS	+= --enable-tui
 CUDA_GDB_FLAGS	+= --with-lzma
-CUDA_GDB_FLAGS	+= --with-python=python3
+CUDA_GDB_FLAGS	+= --without-python
 CUDA_GDB_FLAGS	+= --enable-64-bit-bfd
 CUDA_GDB_FLAGS	+= --disable-sim
 
@@ -45,6 +45,7 @@ VENDOR			?= $(call dpkg_late_eval,VENDOR,dpkg-vendor --derives-from Ubuntu && ec
 aval			 = $(or $($(strip $1).$(or $(strip $2),$(DEB_HOST_ARCH))),$($(strip $1).default),$(error Not defined: $(strip $1)($(or $(strip $2),$(DEB_HOST_ARCH)))))
 -include debian/rules.version
 include debian/rules.soversion
+include debian/rules.version_prefix
 include debian/rules.defs
 CUDA_ARCH_LIST			?= amd64
 CUDA_ARCH_LIST_NO_DRIVER	?=
@@ -99,7 +100,7 @@ jre_depends.Debian	?= $(if $(jre_pkg),$(jre_pkg_dep) |) openjdk-8-jre
 jre_depends.Ubuntu	?= openjdk-8-jre | $(jre_pkg_dep)
 
 ifneq (,$(jre_pkg))
-$(jre_pkg).DEB_VERSION	 = 9.+$(OPENJDK_VERSION)
+$(jre_pkg).VERSION	 = $(OPENJDK_VERSION)
 endif
 
 ifneq (,$(thrust_pkg))
@@ -119,6 +120,7 @@ AUTOCLEAN	+= debian/shlibs.local
 .PHONY: autogen prepare
 autogen: $(AUTOGEN)
 prepare: autogen unpack-stamp compare-copyright-license
+prepare: update-version-prefix
 
 
 # deep copy, files will get irreversibly modified via hardlinks in the build target
@@ -168,6 +170,33 @@ compare-copyright-license: EULA.fmt
 	diff -w copyright.tmp EULA.tmp
 	rm -f copyright.tmp EULA.tmp
 
+dpkg-compare-versions = $(shell dpkg --compare-versions "$(1)" "$(2)" "$(3)" && echo "$(2)")
+
+# $1 = key, $2 = value, $3 = append_to_file
+define echokv
+	echo '$(shell printf "%-39s" $(1)) = $(2)'	>> $(3)
+
+endef
+
+define update-version-prefix
+	$(if $($(1).VERSION_PREFIX),$(if $(call dpkg-compare-versions,$($(1).VERSION_PREFIX),le,$(call get-upstream-version,$(1),1)),
+		: DROP PREFIX $(1) $($(1).VERSION_PREFIX) $(call get-upstream-version,$(1),1)
+		$(eval $(1).VERSION_PREFIX =)))
+	$(if $(call dpkg-compare-versions,$($(1).PREV_VERSION),le,$(call get-current-version,$(1))),,
+		$(if $(call get-upstream-version,$(1),),,$(error MISSING VERSION FOR $(1)))
+		: ADD PREFIX $(1) $($(1).PREV_VERSION) $(call get-current-version,$(1))
+		$(eval $(1).VERSION_PREFIX = $($(1).PREV_VERSION)+~))
+	echo '' >> $(2)
+	$(if $($(1).VERSION_PREFIX),$(call echokv,$(1).VERSION_PREFIX,$($(1).VERSION_PREFIX),$(2)))
+	$(call echokv,$(1).PREV_VERSION,$(call get-current-version,$(1)),$(2))
+
+endef
+
+update-version-prefix:
+	echo "# This file is generated/updated by 'debian/rules update-version-prefix'." > debian/rules.version_prefix.new
+	$(foreach pkg,$(OTHER_PACKAGES) $(LIB_PACKAGES),$(call update-version-prefix,$(pkg),debian/rules.version_prefix.new))
+	mv debian/rules.version_prefix.new debian/rules.version_prefix
+
 
 .PHONY: binary binary-arch binary-indep build build-arch build-indep clean install
 binary binary-arch binary-indep build build-arch build-indep clean install:
@@ -219,6 +248,7 @@ endif
 	@set -e -x ; for dir in build/*/include build/*/lib64 ; do if [ -h "$$dir" ] ; then target=$$(readlink -f $$dir) ; $(RM) $$dir ; mv -v $$target $$dir ; fi ; done
 	$(RM) -rv build/cuda_nvcc/nvvm-prev
 	$(RM) -rv build/cuda_nvrtc/lib64/nvrtc-prev
+	$(RM) -v build/cuda_cudart/include/cuda/std/detail/libcxx/include/CMakeLists.txt
 	# cuda-gdb is built from source
 	$(RM) -rv build/cuda_gdb/share/gdb
 ifeq (,$(thrust_pkg))
@@ -335,7 +365,10 @@ execute_before_dh_installdeb-arch:
 	hardlink -v -t debian/nsight-compute/usr/share/doc/nsight-compute
 
 # $1 = <lib_basename or pkgname>
-get-custom-version	 = $(or $($(1).DEB_VERSION),$(if $(filter 10.% 11.0% 11.1.0%,$($(1).VERSION)),11.1.1+~)$($(1).VERSION))
+get-custom-version	 = $(or $($(1).DEB_VERSION),$($(1).VERSION_PREFIX)$($(1).VERSION))
+get-upstream-version	 = $(or $($(1).DEB_VERSION),$($(1).VERSION),$(if $(2),$(DEB_VERSION_UPSTREAM)))
+get-previous-version	 = $($(1).PREV_VERSION)
+get-current-version	 = $(or $(call get-custom-version,$(1)),$(DEB_VERSION_UPSTREAM))
 
 substvars	+= $(foreach pkg,$(filter-out $(PACKAGE_LIST),$(OTHER_PACKAGES)),-V'$(pkg):Version=0.not-built' -V'$(pkg):eq:Version=$(pkg) (= $${$(pkg):Version})')
 substvars	+= $(foreach pkg,$(filter-out $(LIB_PACKAGES),$(PACKAGE_LIST)),$(if $(call get-custom-version,$(pkg)),-V'$(pkg):Version=$(call get-custom-version,$(pkg))~$(DEB_VERSION)' -V'$(pkg):eq:Version=$(pkg) (= $${$(pkg):Version})'))
@@ -352,6 +385,11 @@ substvars	+= -V'cuda:arch:has-nvidia-profiler=$(if $(nvidia_profiler_pkg),,!)$(D
 substvars	+= -V'cuda:arch:has-nvidia-visual-profiler=$(if $(visual_profiler_pkg),,!)$(DEB_HOST_ARCH)'
 substvars	+= -V'jre:Depends=$(jre_depends.$(VENDOR))'
 
+define check-monotonic-version
+	: $(shell printf "%-29s" "$(1)") ; dpkg --compare-versions "$(call get-previous-version,$(1))" le "$(call get-current-version,$(1))"
+
+endef
+
 define gencontrol-template
 	dh_gencontrol $(1) -- $(2) \
 		$(substvars)
@@ -359,6 +397,7 @@ define gencontrol-template
 endef
 
 override_dh_gencontrol:
+	$(foreach p,$(PACKAGE_LIST),$(call check-monotonic-version,$(p)))
 	$(foreach p,$(PACKAGE_LIST),$(if $(call get-custom-version,$(p)),$(call gencontrol-template,-p$(p),-v$(call get-custom-version,$(p))~$(DEB_VERSION))))
 	$(call gencontrol-template,--remaining-packages,)
 
@@ -406,7 +445,8 @@ debian/rules.soversion: debian/control
 
 # $1 = <lib_basename>, $2 = <soversion>
 define sover-template
-$(1)$(2).VERSION	?= $($(1).VERSION)
+$(1).VERSION_PREFIX	?= $$($(1)$(2).VERSION_PREFIX)
+$(1)$(2).VERSION	?= $$($(1).VERSION)
 $(1)$(2).%:: $(1)SOVER.%
 	perl -p \
 	-e 's{#SOVERSION#}{$(2)}g;' \
diff --git a/debian/rules.defs b/debian/rules.defs
index 51a055f..e363977 100644
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -97,7 +97,7 @@ nsight-systems-target.VERSION		 = $(CUDA_VERSION_nsight_systems)
 
 DEFAULT_GCC_VERSION			 = 10
 
-OPENJDK_VERSION.default			 = 8u292-b10-3
+OPENJDK_VERSION.default			 = 8u312-b07-1
 
 NSIGHT_COMPUTE_DESKTOP_DIR.amd64	 = linux-desktop-glibc_2_11_3-x64
 NSIGHT_COMPUTE_DESKTOP_DIR.i386		 = linux-desktop-glibc_2_11_3-x86
diff --git a/debian/rules.version_prefix b/debian/rules.version_prefix
new file mode 100644
index 0000000..36c82ed
--- /dev/null
+++ b/debian/rules.version_prefix
@@ -0,0 +1,95 @@
+# This file is generated/updated by 'debian/rules update-version-prefix'.
+
+nvidia-cuda-toolkit.PREV_VERSION        = 11.2.2
+
+nvidia-cuda-toolkit-gcc.PREV_VERSION    = 11.2.2
+
+nvidia-cuda-toolkit-doc.PREV_VERSION    = 11.2.2
+
+nvidia-cuda-gdb.PREV_VERSION            = 11.2.152
+
+nvidia-profiler.PREV_VERSION            = 11.2.152
+
+nvidia-openjdk-8-jre.VERSION_PREFIX     = 9.+
+nvidia-openjdk-8-jre.PREV_VERSION       = 9.+8u312-b07-1
+
+nvidia-visual-profiler.PREV_VERSION     = 11.2.152
+
+nsight-compute.PREV_VERSION             = 2020.3.1.4
+
+nsight-compute-target.PREV_VERSION      = 2020.3.1.4
+
+nsight-systems.PREV_VERSION             = 2020.4.3.7
+
+nsight-systems-target.PREV_VERSION      = 2020.4.3.7
+
+nvidia-cuda-dev.PREV_VERSION            = 11.2.2
+
+nvidia-opencl-dev.PREV_VERSION          = 11.2.2
+
+libnvidia-ml-dev.PREV_VERSION           = 11.2.152
+
+libcupti-dev.PREV_VERSION               = 11.2.152
+
+libcupti-doc.PREV_VERSION               = 11.2.152
+
+libcudart11.0.PREV_VERSION              = 11.2.152
+
+libaccinj64-11.2.PREV_VERSION           = 11.2.152
+
+libcuinj64-11.2.PREV_VERSION            = 11.2.152
+
+libnvrtc11.2.PREV_VERSION               = 11.2.152
+
+libnvtoolsext1.PREV_VERSION             = 11.2.152
+
+libnvvm4.PREV_VERSION                   = 11.2.152
+
+libcupti11.2.PREV_VERSION               = 11.2.152
+
+libcublas11.PREV_VERSION                = 11.4.1.1043
+
+libcublaslt11.PREV_VERSION              = 11.4.1.1043
+
+libnvblas11.PREV_VERSION                = 11.4.1.1043
+
+libcufft10.VERSION_PREFIX               = 11.1.1+~
+libcufft10.PREV_VERSION                 = 11.1.1+~10.4.1.152
+
+libcufftw10.VERSION_PREFIX              = 11.1.1+~
+libcufftw10.PREV_VERSION                = 11.1.1+~10.4.1.152
+
+libcurand10.VERSION_PREFIX              = 11.1.1+~
+libcurand10.PREV_VERSION                = 11.1.1+~10.2.3.152
+
+libcusolver11.VERSION_PREFIX            = 11.1.1+~
+libcusolver11.PREV_VERSION              = 11.1.1+~11.1.0.152
+
+libcusolvermg11.VERSION_PREFIX          = 11.1.1+~
+libcusolvermg11.PREV_VERSION            = 11.1.1+~11.1.0.152
+
+libcusparse11.PREV_VERSION              = 11.4.1.1152
+
+libnppc11.PREV_VERSION                  = 11.3.2.152
+
+libnppial11.PREV_VERSION                = 11.3.2.152
+
+libnppicc11.PREV_VERSION                = 11.3.2.152
+
+libnppidei11.PREV_VERSION               = 11.3.2.152
+
+libnppif11.PREV_VERSION                 = 11.3.2.152
+
+libnppig11.PREV_VERSION                 = 11.3.2.152
+
+libnppim11.PREV_VERSION                 = 11.3.2.152
+
+libnppist11.PREV_VERSION                = 11.3.2.152
+
+libnppisu11.PREV_VERSION                = 11.3.2.152
+
+libnppitc11.PREV_VERSION                = 11.3.2.152
+
+libnpps11.PREV_VERSION                  = 11.3.2.152
+
+libnvjpeg11.PREV_VERSION                = 11.4.0.152
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
index b4adbc9..835ac78 100644
--- a/debian/source/lintian-overrides
+++ b/debian/source/lintian-overrides
@@ -9,7 +9,9 @@ source-contains-prebuilt-binary
 source-contains-prebuilt-doxygen-documentation
 source-contains-prebuilt-java-object
 source-contains-prebuilt-javascript-object
+source-contains-prebuilt-sphinx-documentation
 source-is-missing
+very-long-line-length-in-source-file
 
 # only binary releases
 upstream-metadata-missing-bug-tracking
