[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1014324: bullseye-pu: package rustc-mozilla/1.59.0+dfsg1-1~deb11u1



Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: pkg-rust-maintainers@alioth-lists.debian.net

Hi,

This updates rustc-mozilla in bullseye from 1.51 to 1.59. I disabled the
new binary packages in src:rustc_1.59, there are more packages that we
don't really need and could disable but since they are already present
I left them be.

I'm attaching two diffs for the debian/ dir, one from rustc-mozilla 1.51,
and one from rustc 1.59.

Cheers,
Emilio
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/bin/rust-lld rustc-mozilla-1.59.0+dfsg1/debian/bin/rust-lld
--- rustc-mozilla-1.51.0+dfsg1/debian/bin/rust-lld	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/bin/rust-lld	2022-06-06 14:03:37.000000000 +0200
@@ -6,4 +6,4 @@
 # However the tests fail for other reasons, namely we can't build rustdoc
 # (which runs the tests) in wasm32 yet. So this is just WIP at the moment,
 # it is not expect to work nor to be installed on user machines.
-exec /usr/bin/lld-11 "${@/#-Wl,/}"
+exec /usr/bin/lld-13 "${@/#-Wl,/}"
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/changelog rustc-mozilla-1.59.0+dfsg1/debian/changelog
--- rustc-mozilla-1.51.0+dfsg1/debian/changelog	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/changelog	2022-07-03 11:52:07.278402955 +0200
@@ -1,3 +1,223 @@
+rustc-mozilla (1.59.0+dfsg1-1~deb11u1) bullseye; urgency=medium
+
+  * Non-maintainer upload.
+  * Backport to bullseye as rustc-mozilla.
+  * Do a bootstrap build.
+  * Disable wasm.
+  * Disable new binary packages rustfmt, -clippy, -all.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org>  Sun, 03 Jul 2022 11:51:30 +0200
+
+rustc (1.59.0+dfsg1-1) unstable; urgency=medium
+
+  * Upload to unstable.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 11 May 2022 14:11:46 +0100
+
+rustc (1.59.0+dfsg1-1~exp1) experimental; urgency=medium
+
+  [ Fabian Grünbichler ]
+  * New upstream release
+
+ -- Ximin Luo <infinity0@debian.org>  Tue, 29 Mar 2022 14:32:01 +0100
+
+rustc (1.58.1+dfsg1-1) unstable; urgency=medium
+
+  * Upload to unstable.
+
+ -- Ximin Luo <infinity0@debian.org>  Tue, 29 Mar 2022 12:23:46 +0100
+
+rustc (1.58.1+dfsg1-1~exp1) experimental; urgency=medium
+
+  [ Fabian Gruenbichler ]
+  * New upstream release.
+
+ -- Ximin Luo <infinity0@debian.org>  Tue, 08 Mar 2022 11:32:29 +0000
+
+rustc (1.57.0+dfsg1-1) unstable; urgency=medium
+
+  * Upload to unstable. (Closes: #1005203)
+
+ -- Ximin Luo <infinity0@debian.org>  Tue, 08 Mar 2022 10:51:18 +0000
+
+rustc (1.57.0+dfsg1-1~exp1) experimental; urgency=medium
+
+  [ Simon Chopin ]
+  * d/p/d-bootstrap-rustflags.patch: remove the warnings bit, use the option
+    "deny-warnings = false" in d/config.toml.in instead
+
+  [ Fabian Grünbichler ]
+  * Fix CVE-2022-21658 - std::fs::remove_dir_all TOCTOU symlink issue
+  * New upstream release. (Closes: #1005203)
+
+ -- Fabian Grünbichler <f.gruenbichler@proxmox.com>  Thu, 03 Feb 2022 19:14:04 +0100
+
+rustc (1.56.0+dfsg1-2) unstable; urgency=medium
+
+  * Update to debhelper 13.
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 22 Oct 2021 23:29:14 +0100
+
+rustc (1.56.0+dfsg1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Support terse and verbose DEB_BUILD_OPTIONS.
+  * Support -Z gcc-ld=lld via symlinks.
+  * Fix RUSTC_SYSROOT in rust-gdb and rust-lldb, thanks James McCoy.
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 22 Oct 2021 18:54:49 +0100
+
+rustc (1.56.0~beta.4+dfsg1-1~exp2) experimental; urgency=medium
+
+  * Include upstream patch for x32 support. (Closes: #993855)
+  * Update to LLVM 13.
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 15 Oct 2021 10:44:35 +0100
+
+rustc (1.56.0~beta.4+dfsg1-1~exp1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Ximin Luo <infinity0@debian.org>  Thu, 14 Oct 2021 22:50:58 +0100
+
+rustc (1.55.0+dfsg1-2) unstable; urgency=medium
+
+  * Actually work around segfault on ppc64el.
+  * Fix FTBFS on armhf caused by GCC 11 changes.
+
+ -- Ximin Luo <infinity0@debian.org>  Thu, 14 Oct 2021 00:36:15 +0100
+
+rustc (1.55.0+dfsg1-1) unstable; urgency=medium
+
+  * Upload to unstable.
+  * Bump test failures-allowed on s390x to 40.
+  * Work around a segfault on ppc64el
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 13 Oct 2021 22:06:15 +0100
+
+rustc (1.55.0+dfsg1-1~exp1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Ximin Luo <infinity0@debian.org>  Sat, 09 Oct 2021 03:22:08 +0100
+
+rustc (1.54.0+dfsg1-3) unstable; urgency=medium
+
+  * Fix links to cargo-doc.
+
+ -- Ximin Luo <infinity0@debian.org>  Sat, 09 Oct 2021 11:46:08 +0100
+
+rustc (1.54.0+dfsg1-2) unstable; urgency=medium
+
+  * Fix some more build & test failures.
+
+ -- Ximin Luo <infinity0@debian.org>  Sat, 09 Oct 2021 03:12:35 +0100
+
+rustc (1.54.0+dfsg1-1) unstable; urgency=medium
+
+  * Upload to unstable.
+  * Re-enable backported patch for armhf & reset its allowed-failures.
+  * Add compatibility patch for cargo 0.47.
+  * Ignore more spurious test failures, and filed upstream.
+  * Bump powerpc allowed-failures to 180 at the request of ports maintainers.
+
+ -- Ximin Luo <infinity0@debian.org>  Sat, 09 Oct 2021 00:24:37 +0100
+
+rustc (1.54.0+dfsg1-1~exp1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 06 Oct 2021 10:37:55 +0100
+
+rustc (1.53.0+dfsg1-4) unstable; urgency=medium
+
+  * Ignore some hanging test regressions on non-release arches powerpc, ppc64.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 06 Oct 2021 19:24:11 +0100
+
+rustc (1.53.0+dfsg1-3) unstable; urgency=medium
+
+  * Disable patch that was backported incorrectly.
+  * Temporarily increase armhf allowed-failures to 12.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 06 Oct 2021 19:01:54 +0100
+
+rustc (1.53.0+dfsg1-2) unstable; urgency=medium
+
+  * Fix some test failures.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 06 Oct 2021 10:29:03 +0100
+
+rustc (1.53.0+dfsg1-1) unstable; urgency=medium
+
+  * Upload to unstable.
+  * Update mips patches, disable a test as our workaround makes it invalid.
+  * Temporarily ignore some tests that fail on big-endian.
+
+ -- Ximin Luo <infinity0@debian.org>  Tue, 05 Oct 2021 23:19:31 +0100
+
+rustc (1.53.0+dfsg1-1~exp1) experimental; urgency=medium
+
+  * New upstream release. (Closes: #986803)
+  * Honour parallel option in DEB_BUILD_OPTIONS. (Closes: #993871)
+
+ -- Ximin Luo <infinity0@debian.org>  Sat, 02 Oct 2021 12:46:49 +0100
+
+rustc (1.52.1+dfsg1-1) unstable; urgency=medium
+
+  * Upload to unstable.
+  * Reorganise dependencies, move optional rustc deps to rust-all.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 29 Sep 2021 20:05:55 +0100
+
+rustc (1.52.1+dfsg1-1~exp3) experimental; urgency=medium
+
+  * Update to LLVM 12.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 19 May 2021 17:52:44 +0100
+
+rustc (1.52.1+dfsg1-1~exp2) experimental; urgency=medium
+
+  * Fix rust-clippy dependency on libstd-rust-*
+
+ -- Ximin Luo <infinity0@debian.org>  Sat, 15 May 2021 22:42:38 +0100
+
+rustc (1.52.1+dfsg1-1~exp1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Ximin Luo <infinity0@debian.org>  Sat, 15 May 2021 15:21:27 +0100
+
+rustc (1.52.0+dfsg1-1~exp1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 07 May 2021 20:38:38 +0100
+
+rustc (1.52.0~beta.3+dfsg1-1~exp4) experimental; urgency=medium
+
+  * Fix issue with dh_missing --fail-missing
+
+ -- Ximin Luo <infinity0@debian.org>  Thu, 06 May 2021 01:52:30 +0100
+
+rustc (1.52.0~beta.3+dfsg1-1~exp3) experimental; urgency=medium
+
+  * Fix Makefile addition syntax.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 05 May 2021 22:24:22 +0100
+
+rustc (1.52.0~beta.3+dfsg1-1~exp2) experimental; urgency=medium
+
+  * Install the rust-llvm-dwp symlink.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 05 May 2021 22:20:13 +0100
+
+rustc (1.52.0~beta.3+dfsg1-1~exp1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Ximin Luo <infinity0@debian.org>  Mon, 26 Apr 2021 12:31:27 +0100
+
 rustc-mozilla (1.51.0+dfsg1-1~deb11u1) bullseye; urgency=medium
 
   * Non-maintainer upload.
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/config.toml.in rustc-mozilla-1.59.0+dfsg1/debian/config.toml.in
--- rustc-mozilla-1.51.0+dfsg1/debian/config.toml.in	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/config.toml.in	2022-06-17 16:00:08.749151991 +0200
@@ -1,8 +1,10 @@
+changelog-seen = 2
+
 [build]
 submodules = false
 vendor = true
 locked-deps = false
-verbose = 2
+verbose = VERBOSITY
 
 rustc = "RUST_DESTDIR/usr/bin/rustc"
 cargo = "RUST_DESTDIR/usr/bin/cargo"
@@ -19,6 +21,9 @@ target = ["DEB_TARGET_RUST_TYPE"]
 # we do it this way to avoid spurious rebuilds
 docs = false
 
+extended = true
+tools = ["clippy", "rustfmt"]
+
 [install]
 prefix = "/usr"
 
@@ -62,3 +67,5 @@ remap-debuginfo = true
 
 verbose-tests = true
 backtrace-on-ice = true
+
+deny-warnings = false
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/control rustc-mozilla-1.59.0+dfsg1/debian/control
--- rustc-mozilla-1.51.0+dfsg1/debian/control	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/control	2022-06-17 17:51:59.054234489 +0200
@@ -9,17 +9,17 @@ Rules-Requires-Root: no
 # :native annotations are to support cross-compiling, see README.Debian
 Build-Depends:
  debhelper (>= 9),
- debhelper-compat (= 12),
+ debhelper-compat (= 13),
  dpkg-dev (>= 1.17.14),
  python3:native,
-# cargo:native (>= 0.40.0)              <!pkg.rustc.dlstage0>,
-# rustc-mozilla:native (>= 1.50.0+dfsg) <!pkg.rustc.dlstage0>,
-# rustc-mozilla:native (<= 1.51.0++)    <!pkg.rustc.dlstage0>,
- llvm-11-dev:native,
- llvm-11-tools:native,
+# cargo:native (>= 0.40.0)      <!pkg.rustc.dlstage0>,
+# rustc:native (>= 1.58.0+dfsg) <!pkg.rustc.dlstage0>,
+# rustc:native (<= 1.59.0++)    <!pkg.rustc.dlstage0>,
+ llvm-13-dev:native,
+ llvm-13-tools:native,
  gcc-mingw-w64-x86-64-posix:native [amd64] <!nowindows>,
  gcc-mingw-w64-i686-posix:native [i386] <!nowindows>,
- libllvm11,
+ libllvm13 (>= 1:13.0.0),
  cmake (>= 3.0) | cmake3,
 # needed by some vendor crates
  pkg-config,
@@ -38,9 +38,9 @@ Build-Depends:
  curl <pkg.rustc.dlstage0>,
  ca-certificates <pkg.rustc.dlstage0>,
 Build-Depends-Indep:
- wasi-libc (>= 0.0~git20200731.215adc8~~) <!nowasm>,
- wasi-libc (<= 0.0~git20200731.215adc8++) <!nowasm>,
- clang-11:native,
+# wasi-libc (>= 0.0~git20210922.ad51334~~) <!nowasm>,
+# wasi-libc (<= 0.0~git20210922.ad51334++) <!nowasm>,
+ clang-13:native,
 Build-Conflicts: gdb-minimal <!nocheck>
 Standards-Version: 4.2.1
 Homepage: http://www.rust-lang.org/
@@ -51,12 +51,16 @@ Package: rustc-mozilla
 Architecture: any
 Multi-Arch: allowed
 Pre-Depends: ${misc:Pre-Depends}
-Depends: ${shlibs:Depends}, ${misc:Depends}, libstd-rust-mozilla-dev (= ${binary:Version}),
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libstd-rust-mozilla-dev (= ${binary:Version}),
  gcc, libc-dev, binutils (>= 2.26)
-Recommends: cargo (>= 0.52.0~~), cargo (<< 0.53.0~~), rust-mozilla-gdb | rust-mozilla-lldb
-# lld is needed for wasm compilation
-# llvm is needed for llvm-dwp for split-debuginfo
-Suggests: rust-mozilla-doc, rust-mozilla-src, lld-11, llvm-11
+Recommends:
+ cargo (>= 0.60.0~~), cargo (<< 0.61.0~~),
+# llvm is needed for llvm-dwp for -C split-debuginfo=packed
+ llvm-13,
+Suggests:
+# lld and clang are needed for wasm compilation
+ lld-13, clang-13,
 Conflicts: rustc
 Provides: rustc (= ${binary:Version})
 Replaces: libstd-rust-dev (<< 1.25.0+dfsg1-2~~), rustc
@@ -74,7 +78,7 @@ Description: Rust systems programming la
  generic programming and meta-programming, in both static and dynamic
  styles.
 
-Package: libstd-rust-mozilla-1.51
+Package: libstd-rust-mozilla-1.59
 Section: libs
 Architecture: any
 Multi-Arch: same
@@ -100,7 +104,8 @@ Package: libstd-rust-mozilla-dev
 Section: libdevel
 Architecture: any
 Multi-Arch: same
-Depends: ${shlibs:Depends}, ${misc:Depends}, libstd-rust-mozilla-1.51 (= ${binary:Version})
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libstd-rust-mozilla-1.59 (= ${binary:Version}),
 Description: Rust standard libraries - development files
  Rust is a curly-brace, block-structured expression language.  It
  visually resembles the C language family, but differs significantly
@@ -146,35 +151,35 @@ Description: Rust standard libraries - d
  needed to cross-compile Rust programs to the *-pc-windows-gnu target
  corresponding to the architecture of this package.
 
-Package: libstd-rust-mozilla-dev-wasm32
-Section: libdevel
-Architecture: all
-Multi-Arch: foreign
-Depends: ${shlibs:Depends}, ${misc:Depends}
-# Embeds wasi-libc so doesn't need to depend on it
-# None of its licenses require source redistrib, so no need for Built-Using
-Recommends: lld-11
-Suggests: clang-11, nodejs (>= 12.16)
-# nodejs contains wasi-node for running the program
-Conflicts: libstd-rust-dev-wasm32
-Replaces: libstd-rust-dev-wasm32
-Build-Profiles: <!nowasm>
-Description: Rust standard libraries - development files
- Rust is a curly-brace, block-structured expression language.  It
- visually resembles the C language family, but differs significantly
- in syntactic and semantic details.  Its design is oriented toward
- concerns of "programming in the large", that is, of creating and
- maintaining boundaries - both abstract and operational - that
- preserve large-system integrity, availability and concurrency.
- .
- It supports a mixture of imperative procedural, concurrent actor,
- object-oriented and pure functional styles.  Rust also supports
- generic programming and meta-programming, in both static and dynamic
- styles.
- .
- This package contains the standard Rust libraries including development files,
- needed to cross-compile Rust programs to the wasm32-unknown-unknown and
- wasm32-wasi targets.
+#Package: libstd-rust-mozilla-dev-wasm32
+#Section: libdevel
+#Architecture: all
+#Multi-Arch: foreign
+#Depends: ${shlibs:Depends}, ${misc:Depends}
+## Embeds wasi-libc so doesn't need to depend on it
+## None of its licenses require source redistrib, so no need for Built-Using
+#Recommends:
+# lld-13, clang-13,
+#Suggests:
+## nodejs contains wasi-node for running the program
+# nodejs (>= 12.16),
+#Build-Profiles: <!nowasm>
+#Description: Rust standard libraries - development files
+# Rust is a curly-brace, block-structured expression language.  It
+# visually resembles the C language family, but differs significantly
+# in syntactic and semantic details.  Its design is oriented toward
+# concerns of "programming in the large", that is, of creating and
+# maintaining boundaries - both abstract and operational - that
+# preserve large-system integrity, availability and concurrency.
+# .
+# It supports a mixture of imperative procedural, concurrent actor,
+# object-oriented and pure functional styles.  Rust also supports
+# generic programming and meta-programming, in both static and dynamic
+# styles.
+# .
+# This package contains the standard Rust libraries including development files,
+# needed to cross-compile Rust programs to the wasm32-unknown-unknown and
+# wasm32-wasi targets.
 
 Package: rust-mozilla-gdb
 Architecture: all
@@ -200,8 +205,8 @@ Description: Rust debugger (gdb)
 
 Package: rust-mozilla-lldb
 Architecture: all
-# When updating, also update rust-mozilla-lldb.links
-Depends: lldb-11, ${misc:Depends}, python3-lldb-11
+# When updating, also update rust-lldb.links
+Depends: lldb-13, ${misc:Depends}, python3-lldb-13
 Conflicts: rust-lldb
 Replaces: rustc (<< 1.1.0+dfsg1-1), rust-lldb
 Description: Rust debugger (lldb)
@@ -266,3 +271,84 @@ Description: Rust systems programming la
  .
  This package contains sources of the Rust compiler and standard
  libraries, useful for IDEs and code analysis tools such as Racer.
+
+#Package: rust-mozilla-clippy
+#Architecture: any
+#Multi-Arch: allowed
+#Depends: ${misc:Depends}, ${shlibs:Depends},
+# libstd-rust-mozilla-1.59 (= ${binary:Version})
+#Recommends: cargo
+#Description: Rust linter
+# Rust is a curly-brace, block-structured expression language.  It
+# visually resembles the C language family, but differs significantly
+# in syntactic and semantic details.  Its design is oriented toward
+# concerns of "programming in the large", that is, of creating and
+# maintaining boundaries - both abstract and operational - that
+# preserve large-system integrity, availability and concurrency.
+# .
+# It supports a mixture of imperative procedural, concurrent actor,
+# object-oriented and pure functional styles.  Rust also supports
+# generic programming and meta-programming, in both static and dynamic
+# styles.
+# .
+# This package contains 'clippy', a linter to catch common mistakes and improve
+# your Rust code as well a collection of over 400 compatible lints.
+# .
+# Lints are divided into categories, each with a default lint level. You can
+# choose how much Clippy is supposed to annoy help you by changing the lint
+# level by category.
+# .
+# Clippy is integrated into the 'cargo' build tool, available via 'cargo clippy'.
+#
+#Package: rustfmt-mozilla
+#Architecture: any
+#Multi-Arch: allowed
+#Depends: ${misc:Depends}, ${shlibs:Depends},
+#Recommends: cargo
+#Description: Rust formatting helper
+# Rust is a curly-brace, block-structured expression language.  It
+# visually resembles the C language family, but differs significantly
+# in syntactic and semantic details.  Its design is oriented toward
+# concerns of "programming in the large", that is, of creating and
+# maintaining boundaries - both abstract and operational - that
+# preserve large-system integrity, availability and concurrency.
+# .
+# It supports a mixture of imperative procedural, concurrent actor,
+# object-oriented and pure functional styles.  Rust also supports
+# generic programming and meta-programming, in both static and dynamic
+# styles.
+# .
+# This package contains 'rustfmt', a tool for formatting Rust code according to
+# style guidelines, as well as 'cargo-fmt', a helper enabling running rustfmt
+# directly with 'cargo fmt'.
+#
+#Package: rust-mozilla-all
+#Architecture: all
+#Depends: ${misc:Depends}, ${shlibs:Depends},
+# rustc-mozilla (>= ${binary:Version}),
+# rustfmt-mozilla (>= ${binary:Version}),
+# rust-mozilla-clippy (>= ${binary:Version}),
+# rust-mozilla-gdb (>= ${binary:Version}) | rust-mozilla-lldb (>= ${binary:Version}),
+# cargo,
+#Recommends:
+# cargo (>= 0.60.0~~), cargo (<< 0.61.0~~)
+#Suggests:
+# rust-mozilla-doc (>= ${binary:Version}),
+# rust-mozilla-src (>= ${binary:Version}),
+# libstd-rust-mozilla-dev-wasm32 (>= ${binary:Version}),
+# libstd-rust-mozilla-dev-windows (>= ${binary:Version}),
+#Description: Rust systems programming language - all developer tools
+# Rust is a curly-brace, block-structured expression language.  It
+# visually resembles the C language family, but differs significantly
+# in syntactic and semantic details.  Its design is oriented toward
+# concerns of "programming in the large", that is, of creating and
+# maintaining boundaries - both abstract and operational - that
+# preserve large-system integrity, availability and concurrency.
+# .
+# It supports a mixture of imperative procedural, concurrent actor,
+# object-oriented and pure functional styles.  Rust also supports
+# generic programming and meta-programming, in both static and dynamic
+# styles.
+# .
+# This package is an empty metapackage that depends on all developer tools
+# in the standard rustc distribution that have been packaged for Debian.
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/copyright rustc-mozilla-1.59.0+dfsg1/debian/copyright
--- rustc-mozilla-1.51.0+dfsg1/debian/copyright	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/copyright	2022-03-29 15:17:23.000000000 +0200
@@ -5,14 +5,18 @@ Files-Excluded:
  *.min.js
  src/llvm-emscripten
  src/llvm-project
- vendor/jemalloc-sys
- vendor/libmimalloc-sys
- vendor/mimalloc
+# Fonts already in Debian, covered by d-rustdoc-use-system-font.patch
+# TODO make that patch, modify src/librustdoc/html/static/css/rustdoc.css
+ src/librustdoc/html/static/fonts/noto-sans-*
+# Pre-generated docs
+ src/tools/rustfmt/docs
+# Proprietary doc formats
+ src/doc/book/nostarch/docx
+# Fonts already in Debian, covered by d-0003-mdbook-strip-embedded-libs.patch
  vendor/mdbook/src/theme/fonts
  vendor/mdbook/src/theme/FontAwesome
  vendor/mdbook/src/theme/highlight.js
  vendor/mdbook/src/theme/highlight.css
- vendor/psm/src/arch/wasm32.o
 # Exclude submodules https://github.com/rust-lang/rust/tree/master/src/tools
 # We prefer to do them in different Debian packages so they can have their own
 # version numbers. If upstream merges them "properly" (i.e. unify the version
@@ -22,64 +26,51 @@ Files-Excluded:
 # cargo's own test suite (in its own package) also called cargotest.
 # NB: don't exclude rust-installer, it's needed for "install" functionality
  src/tools/cargo
- src/tools/clippy
  src/tools/rls
  src/tools/remote-test-client
  src/tools/remote-test-server
  src/tools/rust-analyzer
- src/tools/rustfmt
  src/tools/miri
+# Embedded GH pages
+ src/tools/clippy/util/gh-pages
+# Misc embedded
+ vendor/structopt/link-check-headers.json
 # Embedded C libraries
  vendor/libz-sys/src/zlib*
  vendor/lzma-sys*/xz-*
 # Embedded binary blobs
- vendor/winapi-*/*/*.a
+ vendor/jsonpath_lib/docs
  vendor/mdbook/src/theme/playground_editor
-# Embedded proprietary doc formats
- src/doc/book/nostarch/docx
+ vendor/psm/src/arch/wasm32.o
+ vendor/winapi-*/*/*.a
+# Embedded submodule used for CI
+ library/stdarch/crates/intrinsic-test/acle
+# NPM packages we can't be bothered documenting licenses for
+ vendor/tera/docs/node_modules
 # unused dependencies, generated by debian/prune-unused-deps
 # DO NOT EDIT below, AUTOGENERATED
- vendor/addr2line-0.14.0
+ vendor/addr2line
+ vendor/adler-0.2.3
  vendor/always-assert
- vendor/annotate-snippets-0.6.1
- vendor/anyhow-1.0.34
  vendor/anymap
+ vendor/arbitrary
  vendor/ar
- vendor/arc-swap
- vendor/arrayref
- vendor/array_tool
- vendor/arrayvec-0.5.1
+ vendor/arrayvec-0.7.0
  vendor/autocfg-1.0.0
  vendor/backtrace
- vendor/base64-0.11.0
- vendor/base64
+ vendor/bitflags-1.2.1
  vendor/bitmaps
- vendor/blake2b_simd
- vendor/bytecount
- vendor/byteorder-1.3.4
  vendor/bytes
  vendor/bytesize
- vendor/cargo_metadata-0.12.0
- vendor/cargo_metadata-0.8.2
- vendor/cargo_metadata
- vendor/cargo-platform
- vendor/cc-1.0.60
- vendor/chalk-derive-0.51.0
- vendor/chalk-ir-0.51.0
+ vendor/cargo_metadata-0.14.0
+ vendor/cc-1.0.69
  vendor/chalk-recursive
- vendor/chalk-solve-0.51.0
- vendor/chrono-0.4.15
- vendor/cloudabi
- vendor/cmake-0.1.44
- vendor/colored
  vendor/commoncrypto
  vendor/commoncrypto-sys
- vendor/compiletest_rs
- vendor/constant_time_eq
- vendor/const_fn-0.4.2
  vendor/core-foundation
  vendor/core-foundation-sys
  vendor/countme
+ vendor/cov-mark
  vendor/cranelift-bforest
  vendor/cranelift-codegen
  vendor/cranelift-codegen-meta
@@ -91,36 +82,31 @@ Files-Excluded:
  vendor/cranelift-native
  vendor/cranelift-object
  vendor/crc32fast-1.2.0
- vendor/crossbeam-queue
- vendor/crossbeam-utils-0.8.0
+ vendor/crossbeam-channel-0.5.0
+ vendor/crossbeam-utils-0.8.3
  vendor/crypto-hash
  vendor/curl
  vendor/curl-sys
  vendor/dashmap
+ vendor/derive_arbitrary
  vendor/derive_more
- vendor/derive-new
  vendor/directories
- vendor/dirs
- vendor/dirs-sys
+ vendor/dot
  vendor/drop_bomb
  vendor/either-1.6.0
- vendor/env_logger-0.6.2
- vendor/env_logger-0.8.1
+ vendor/enum-iterator
+ vendor/enum-iterator-derive
  vendor/env_logger
- vendor/errno
- vendor/errno-dragonfly
  vendor/expect-test-1.0.1
- vendor/filetime-0.2.12
+ vendor/filetime-0.2.14
  vendor/flate2-1.0.16
  vendor/foreign-types
  vendor/foreign-types-shared
- vendor/fsevent
  vendor/fsevent-sys
  vendor/fs_extra-1.1.0
- vendor/fst-0.3.5
+ vendor/fs_extra
+ vendor/fst-0.4.5
  vendor/fst
- vendor/fuchsia-zircon
- vendor/fuchsia-zircon-sys
  vendor/futures-0.1.29
  vendor/futures
  vendor/futures-channel
@@ -132,32 +118,22 @@ Files-Excluded:
  vendor/futures-task
  vendor/futures-util
  vendor/fwdansi
- vendor/gcc
- vendor/getrandom
+ vendor/getset
  vendor/git2
  vendor/git2-curl
- vendor/hashbrown-0.9.0
+ vendor/hashbrown-0.11.0
  vendor/heck-0.3.1
- vendor/hermit-abi-0.1.17
  vendor/hex-0.3.2
  vendor/home
- vendor/humantime
  vendor/idna-0.1.5
- vendor/if_chain
+ vendor/idna-0.2.0
  vendor/im-rc
- vendor/indexmap-1.6.0
  vendor/inotify
  vendor/inotify-sys
- vendor/instant-0.1.6
- vendor/iovec
- vendor/itertools-0.8.2
- vendor/itertools
+ vendor/itertools-0.10.1
  vendor/itoa-0.4.6
- vendor/jemallocator
- vendor/jemalloc-ctl
  vendor/jod-thread
  vendor/json
- vendor/jsonpath_lib
  vendor/jsonrpc-client-transports
  vendor/jsonrpc-core
  vendor/jsonrpc-core-client
@@ -165,91 +141,74 @@ Files-Excluded:
  vendor/jsonrpc-ipc-server
  vendor/jsonrpc-pubsub
  vendor/jsonrpc-server-utils
- vendor/kernel32-sys
+ vendor/kqueue
+ vendor/kqueue-sys
  vendor/lazycell
- vendor/libc-0.2.82
- vendor/libc-0.2.84
+ vendor/libc-0.2.108
  vendor/libgit2-sys
- vendor/libloading
+ vendor/libloading-0.6.7
+ vendor/libloading-0.7.1
  vendor/libmimalloc-sys
  vendor/libnghttp2-sys
  vendor/libssh2-sys
  vendor/libz-sys
  vendor/linked-hash-map
- vendor/lock_api-0.4.1
- vendor/log-0.4.11
- vendor/log-0.4.13
  vendor/lsp-codec
  vendor/lsp-server
  vendor/lsp-types-0.60.0
  vendor/lsp-types
  vendor/mach
- vendor/memchr-2.3.3
+ vendor/matches-0.1.8
+ vendor/measureme-9.1.2
+ vendor/memmap2
  vendor/mimalloc
  vendor/miniz_oxide-0.4.0
- vendor/mio-0.6.22
+ vendor/mio-0.7.13
  vendor/mio
- vendor/mio-named-pipes
- vendor/mio-uds
- vendor/miow-0.2.2
- vendor/net2
+ vendor/miow
  vendor/notify
  vendor/ntapi
- vendor/num-integer-0.1.43
- vendor/num-traits-0.2.12
  vendor/object
- vendor/once_cell-1.4.1
+ vendor/once_cell-1.7.2
  vendor/oorandom
  vendor/openssl
  vendor/openssl-probe
  vendor/openssl-src
  vendor/openssl-sys
  vendor/ordslice
- vendor/packed_simd
+ vendor/os_info
  vendor/parity-tokio-ipc
- vendor/parking_lot-0.11.0
- vendor/parking_lot_core-0.8.0
  vendor/paste
- vendor/paste-impl
  vendor/percent-encoding-1.0.1
  vendor/perf-event
- vendor/perf-event-open-sys
- vendor/pico-args
- vendor/pin-project-lite-0.1.11
+ vendor/pin-project-lite-0.2.4
  vendor/pin-utils
  vendor/pretty_env_logger
- vendor/proc-macro2-1.0.19
+ vendor/proc-macro2-1.0.30
  vendor/proc-macro-crate
  vendor/proc-macro-hack
  vendor/proc-macro-nested
+ vendor/pulldown-cmark-0.8.0
  vendor/pulldown-cmark-to-cmark
- vendor/quine-mc_cluskey
  vendor/quote-1.0.7
  vendor/racer
- vendor/rand_xoshiro
- vendor/raw-cpuid
+ vendor/rand_xoshiro-0.4.0
  vendor/rayon-1.3.1
  vendor/rayon-core-1.7.1
- vendor/redox_users
  vendor/regalloc
  vendor/region
- vendor/rls-analysis
  vendor/rls-vfs
  vendor/rowan
- vendor/rust-argon2
  vendor/rustc-ap-rustc_arena
  vendor/rustc-ap-rustc_ast
- vendor/rustc-ap-rustc_ast_passes
  vendor/rustc-ap-rustc_ast_pretty
- vendor/rustc-ap-rustc_attr
  vendor/rustc-ap-rustc_data_structures
  vendor/rustc-ap-rustc_errors
- vendor/rustc-ap-rustc_expand
  vendor/rustc-ap-rustc_feature
  vendor/rustc-ap-rustc_fs_util
  vendor/rustc-ap-rustc_graphviz
  vendor/rustc-ap-rustc_index
- vendor/rustc-ap-rustc_lexer-701.0.0
+ vendor/rustc-ap-rustc_lexer-722.0.0
  vendor/rustc-ap-rustc_lexer
  vendor/rustc-ap-rustc_lint_defs
  vendor/rustc-ap-rustc_macros
@@ -258,73 +217,62 @@ Files-Excluded:
  vendor/rustc-ap-rustc_session
  vendor/rustc-ap-rustc_span
  vendor/rustc-ap-rustc_target
- vendor/rustc-semver
- vendor/rustc_tools_util
  vendor/rustc_version
+ vendor/ryu-1.0.5
  vendor/salsa
  vendor/salsa-macros
  vendor/schannel
  vendor/security-framework
  vendor/security-framework-sys
- vendor/semver-0.9.0
- vendor/semver
- vendor/semver-parser-0.10.1
- vendor/semver-parser
- vendor/serde-1.0.118
- vendor/serde_derive-1.0.118
+ vendor/semver-1.0.3
+ vendor/serde-1.0.125
+ vendor/serde_derive-1.0.125
  vendor/serde_ignored
  vendor/serde_json-1.0.59
- vendor/serde_path_to_error
+ vendor/serde_repr-0.1.6
  vendor/serde_repr
- vendor/sharded-slab-0.0.9
- vendor/shell-escape
+ vendor/sharded-slab-0.1.1
  vendor/signal-hook-registry
  vendor/sized-chunks
  vendor/slab
- vendor/smallvec-0.6.13
- vendor/smallvec-1.4.2
  vendor/smol_str
- vendor/socket2-0.3.16
+ vendor/snap-1.0.1
+ vendor/socket2
  vendor/strip-ansi-escapes
- vendor/structopt
- vendor/structopt-derive
- vendor/syn-1.0.38
- vendor/syn-1.0.58
+ vendor/syn-1.0.80
  vendor/target-lexicon
- vendor/term
- vendor/termcolor-1.1.0
- vendor/tester
  vendor/text-size
- vendor/thiserror-1.0.20
- vendor/thiserror
- vendor/thiserror-impl-1.0.20
- vendor/thiserror-impl
  vendor/thread_local-1.0.1
  vendor/threadpool
- vendor/time-0.1.43
+ vendor/tikv-jemallocator
+ vendor/tikv-jemalloc-ctl
+ vendor/tikv-jemalloc-sys-0.4.1+5.2.1-patched
+ vendor/tikv-jemalloc-sys
  vendor/tinyvec-0.3.4
  vendor/tokio
- vendor/tokio-macros
+ vendor/tokio-stream
  vendor/tokio-util
  vendor/tower-service
- vendor/tracing-0.1.19
- vendor/tracing-subscriber-0.2.13
- vendor/tracing-tree-0.1.6
+ vendor/typed-arena
  vendor/ungrammar
- vendor/unicode_categories
+ vendor/unicode-bidi-0.3.4
  vendor/unicode-normalization-0.1.13
  vendor/unicode-segmentation-1.6.0
  vendor/url-1.7.2
- vendor/url-2.1.1
  vendor/utf8parse
  vendor/vcpkg
  vendor/vergen
- vendor/version_check-0.9.1
  vendor/vte
- vendor/winapi-0.2.8
- vendor/winapi-build
+ vendor/walkdir-2.3.1
+ vendor/windows_aarch64_msvc
+ vendor/windows_i686_gnu
+ vendor/windows_i686_msvc
+ vendor/windows-sys
+ vendor/windows_x86_64_gnu
+ vendor/windows_x86_64_msvc
  vendor/write-json
- vendor/ws2_32-sys
+ vendor/xflags
+ vendor/xflags-macros
  vendor/xshell
  vendor/xshell-macros
  vendor/yaml-merge-keys
@@ -350,7 +298,7 @@ Files: C*.md
        src/etc/*
        src/lib*
        src/rust*
-       src/stage0.txt
+       src/stage0.json
        src/tools/*
        src/test/*
        src/version
@@ -361,53 +309,43 @@ Copyright: 2006-2009 Graydon Hoare
            2012-2017 The Rust Project Developers (see AUTHORS.txt)
 License: MIT or Apache-2.0
 
-Files: library/backtrace/crates/backtrace-sys/src/libbacktrace/*
-Copyright: 2012-2016 Free Software Foundation, Inc.
-License: BSD-3-Clause
-Comment: written by Ian Lance Taylor, Google.
-
-Files:
- library/backtrace/crates/backtrace-sys/src/libbacktrace/filenames.h
- library/backtrace/crates/backtrace-sys/src/libbacktrace/ltmain.sh
-Copyright: 2000, 2001, 2007, 2010 Free Software Foundation, Inc.
-License: GPL-2+
-
-Files: library/std/src/memchr.rs
-Copyright: 2015 Andrew Gallant, bluss and Nicolas Koch
-License: MIT or Apache-2.0
-
 Files: library/std/src/sync/mpsc/mpsc_queue.rs
        library/std/src/sync/mpsc/spsc_queue.rs
 Copyright: 2010-2011 Dmitry Vyukov
 License: BSD-2-Clause
 
-Files: src/librustdoc/html/static/FiraSans*
+Files: src/librustdoc/html/static/fonts/FiraSans*
 Copyright: 2014, Mozilla Foundation, 2014, Telefonica S.A.
 License: SIL-OPEN-FONT
 
-Files: src/librustdoc/html/static/SourceCodePro*
-Copyright: 2010, 2012 Adobe Systems Incorporated
+Files: src/librustdoc/html/static/fonts/NanumBarun*
+Copyright: 2010 NAVER Corporation
 License: SIL-OPEN-FONT
 
-Files: src/librustdoc/html/static/SourceSerifPro*
-Copyright: 2014 Adobe Systems Incorporated
+Files: src/librustdoc/html/static/fonts/SourceCodePro*
+Copyright: 2010, 2012 Adobe Systems Incorporated
 License: SIL-OPEN-FONT
 
-Files: src/librustdoc/html/static/main.js
-Copyright: 2014 The Rust Project Developers
-License: MIT or Apache-2.0
+Files: src/librustdoc/html/static/fonts/SourceSerif4*
+Copyright: 2014-2021 Adobe Systems Incorporated
+License: SIL-OPEN-FONT
 
 Files: vendor/compiler_builtins/*
 Copyright: 2016-2019 Jorge Aparicio <japaricious@gmail.com>
 License: MIT or Apache-2.0
 Comment: see https://github.com/rust-lang-nursery/compiler-builtins
 
+Files: vendor/compiletest_rs/*
+Copyright: 2015-2020 The Rust Project Developers
+           2015-2020 Thomas Bracht Laumann Jespersen <laumann.thomas@gmail.com>
+           2015-2020 Manish Goregaokar <manishsmail@gmail.com>
+License: Apache-2.0 or MIT
+Comment: see https://github.com/laumann/compiletest-rs
+
 Files:
  vendor/bitflags/*
  vendor/cc/*
- vendor/cc-1*/*
  vendor/cmake/*
- vendor/env_logger/*
  vendor/env_logger-0*/*
  vendor/getopts/*
  vendor/glob/*
@@ -417,7 +355,7 @@ Files:
  vendor/regex-syntax/*
  vendor/rustc-hash/*
  vendor/time/*
-Copyright: 2010-2020 The Rust Project Developers
+Copyright: 2010-2021 The Rust Project Developers
 License: MIT or Apache-2.0
 Comment:
  This is a collection of external crates embedded here to bootstrap cargo.
@@ -425,11 +363,6 @@ Comment:
  same MIT/Apache-2.0 dual-license. See https://github.com/rust-lang.
  Exceptions are noted below.
 
-Files: vendor/adler/*
-Copyright: 2020-2020 Jonas Schievink <jonasschievink@gmail.com>
-License: 0BSD or MIT or Apache-2.0
-Comment: see https://github.com/jonas-schievink/adler.git
-
 Files: vendor/num-integer/*
        vendor/num-traits/*
 Copyright: 2014-2018 The Rust Project Developers
@@ -439,7 +372,6 @@ Comment: see https://github.com/rust-num
 Files:
  vendor/string_cache/*
  vendor/string_cache_codegen/*
- vendor/string_cache_shared/*
  vendor/unicode-bidi/*
 Copyright: 2015-2017 Alex Crichton <alex@alexcrichton.com>
            2015-2017 Keegan McAllister <kmcallister@mozilla.com>
@@ -461,11 +393,9 @@ Files:
  vendor/rand_core-0*/*
  vendor/rand_hc/*
  vendor/rand_hc-0*/*
- vendor/rand_isaac/*
  vendor/rand_pcg/*
- vendor/rand_pcg-0*/*
  vendor/rand_xorshift/*
- vendor/rand_xorshift-0*/*
+ vendor/rand_xoshiro/*
 Copyright: 2010-2019 The Rand Project Developers
            2010-2019 The Rust Project Developers
 License: MIT or Apache-2.0
@@ -481,15 +411,11 @@ Files:
  vendor/flate2/*
  vendor/fnv/*
  vendor/jobserver/*
- vendor/libz-sys/*
  vendor/lzma-sys/*
- vendor/miow/*
  vendor/pkg-config/*
  vendor/proc-macro2/*
- vendor/proc-macro2-0*/*
  vendor/rustc-demangle/*
  vendor/scoped-tls/*
- vendor/socket2/*
  vendor/tar/*
  vendor/toml/*
  vendor/xz2/*
@@ -507,18 +433,24 @@ Files: vendor/dlmalloc/src/dlmalloc.c
 Copyright: 2000-2012 Doug Lea <dl@cs.oswego.edu>
 License: CC0-1.0
 
-Files: vendor/addr2line/*
-Copyright: 2016-2020 Nick Fitzgerald <fitzgen@gmail.com>
-           2016-2020 Philip Craig <philipjcraig@gmail.com>
-           2016-2020 Jon Gjengset <jon@thesquareplanet.com>
-           2016-2020 Noah Bergbauer <noah.bergbauer@tum.de>
+Files: vendor/tester/*
+Copyright: 2016-2019 The Rust Project Developers
+License: MIT OR Apache-2.0
+Comment: see https://github.com/messense/rustc-test
+
+Files: vendor/addr2line-0*/*
+Copyright:
+ 2016-2021 Nick Fitzgerald <fitzgen@gmail.com>
+ 2016-2021 Philip Craig <philipjcraig@gmail.com>
+ 2016-2021 Jon Gjengset <jon@thesquareplanet.com>
+ 2016-2021 Noah Bergbauer <noah.bergbauer@tum.de>
 License: Apache-2.0 or MIT
 Comment: see https://github.com/gimli-rs/addr2line
 
-Files: vendor/adler32/*
-Copyright: 2015-2020 Remi Rampin <remirampin@gmail.com>
-License: Zlib
-Comment: see https://github.com/remram44/adler32-rs
+Files: vendor/adler/*
+Copyright: 2020-2020 Jonas Schievink <jonasschievink@gmail.com>
+License: 0BSD or MIT or Apache-2.0
+Comment: see https://github.com/jonas-schievink/adler.git
 
 Files: vendor/ammonia/*
 Copyright: 2015-2018 Michael Howell <michael@notriddle.com>
@@ -526,7 +458,7 @@ License: MIT  or  Apache-2.0
 Comment: see https://github.com/notriddle/ammonia
 
 Files: vendor/annotate-snippets/*
-Copyright: 2018-2019 Zibi Braniecki <gandalf@mozilla.com>
+Copyright: 2018-2020 Zibi Braniecki <gandalf@mozilla.com>
 License: Apache-2.0 or MIT
 Comment: see https://github.com/zbraniecki/annotate-snippets-rs
 
@@ -540,31 +472,21 @@ Copyright:
 License: MIT
 Comment: see https://github.com/ogham/rust-ansi-term
 
-Files: vendor/anymap/*
-Copyright: 2014-2018 Chris Morgan <me@chrismorgan.info>
-License: MIT or Apache-2.0
-Comment: see https://github.com/chris-morgan/anymap
-
 Files: vendor/aho-corasick/*
        vendor/memchr/*
-       vendor/utf8-ranges/*
 Copyright: 2015 Andrew Gallant <jamslam@gmail.com>
            2015-2018 bluss
 License: MIT or Unlicense
 Comment: see upstream projects,
- * https://github.com/docopt/docopt.rs
  * https://github.com/BurntSushi/aho-corasick
  * https://github.com/BurntSushi/rust-memchr
- * https://github.com/BurntSushi/utf8-ranges
 
-Files: vendor/arrayref/*
-Copyright: 2015-2018 David Roundy <roundyd@physics.oregonstate.edu>
-License: BSD-2-Clause
-Comment: see https://github.com/droundy/arrayref
+Files: vendor/array_tool/*
+Copyright: 2015-2018 Daniel P. Clark <6ftdan@gmail.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/danielpclark/array_tool
 
-Files:
- vendor/autocfg/*
- vendor/autocfg-0*/*
+Files: vendor/autocfg/*
 Copyright: 2018-2020 Josh Stone <cuviper@gmail.com>
 License: Apache-2.0 or MIT
 
@@ -573,12 +495,6 @@ Copyright: 2015-2017 softprops <d.tangre
 License: MIT
 Comment: see https://github.com/softprops/atty
 
-Files: vendor/base64/*
-Copyright: 2015-2020 Alice Maz <alice@alicemaz.com>
-           2015-2020 Marshall Pierce <marshall@mpierce.org>
-License: MIT or Apache-2.0
-Comment: see https://github.com/marshallpierce/rust-base64
-
 Files:
  vendor/block-buffer/*
  vendor/block-buffer-0*/*
@@ -606,63 +522,67 @@ Copyright: 2018-2020 Andrew Gallant <jam
 License: MIT OR Apache-2.0
 Comment: see https://github.com/BurntSushi/bstr
 
+Files: vendor/bytecount/*
+Copyright: 2016-2020 Andre Bogus <bogusandre@gmail.de>
+           2016-2020 Joshua Landau <joshua@landau.ws>
+License: Apache-2.0 or MIT
+Comment: see https://github.com/llogiq/bytecount
+
 Files:
  vendor/byteorder/*
- vendor/fst/*
  vendor/globset/*
  vendor/ignore/*
  vendor/same-file/*
  vendor/termcolor/*
  vendor/walkdir/*
  vendor/winapi-util/*
- vendor/wincolor/*
 Copyright: 2015-2020 Andrew Gallant <jamslam@gmail.com>
 License: Unlicense or MIT
 Comment:
  see https://github.com/BurntSushi/byteorder
- see https://github.com/BurntSushi/fst
  see https://github.com/BurntSushi/same-file
  see https://github.com/BurntSushi/walkdir
  see https://github.com/BurntSushi/winapi-util
  see https://github.com/BurntSushi/ripgrep/tree/master/globset
  see https://github.com/BurntSushi/ripgrep/tree/master/ignore
  see https://github.com/BurntSushi/ripgrep/tree/master/termcolor
- see https://github.com/BurntSushi/ripgrep/tree/master/wincolor
+
+Files: vendor/camino/*
+Copyright: 2020-2022 Without Boats <saoirse@without.boats>
+           2020-2022 Ashley Williams <ashley666ashley@gmail.com>
+           2020-2022 Steve Klabnik <steve@steveklabnik.com>
+           2020-2022 Rain <rain@sunshowers.io>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/withoutboats/camino
 
 Files:
  vendor/cargo_metadata/*
  vendor/cargo_metadata-0*/*
- vendor/log_settings/*
 Copyright: 2016-2020 Oliver Schneider <git-spam-no-reply9815368754983@oli-obk.de>
 License: MIT
 Comment:
- see https://github.com/oli-obk/log_settings
  see https://github.com/oli-obk/cargo_metadata
 
-Files:
- vendor/c2-chacha/*
- vendor/ppv-lite86/*
+Files: vendor/cargo-platform/*
+Copyright: 2019-2022 The Cargo Project Developers
+License: MIT OR Apache-2.0
+Comment: see https://github.com/rust-lang/cargo
+
+Files: vendor/ppv-lite86/*
 Copyright: 2019-2019 The CryptoCorrosion Contributors
 License: MIT or Apache-2.0
 Comment: see https://github.com/cryptocorrosion/cryptocorrosion
 
 Files:
- vendor/chalk-derive-0*/*
- vendor/chalk-engine-0*/*
- vendor/chalk-ir-0*/*
- vendor/chalk-solve-0*/*
  vendor/chalk-derive/*
  vendor/chalk-engine/*
  vendor/chalk-ir/*
- vendor/chalk-macros/*
- vendor/chalk-recursive/*
- vendor/chalk-rust-ir/*
  vendor/chalk-solve/*
 Copyright:
- 2015-2020 Rust Compiler Team
- 2015-2020 Chalk developers
+ 2015-2022 Rust Compiler Team
+ 2015-2022 Chalk developers
 License: Apache-2.0 or MIT
-Comment: see https://github.com/rust-lang-nursery/chalk
+Comment: see https://github.com/rust-lang/chalk
 
 Files: vendor/chrono/*
 Copyright: 2014-2018 Kang Seonghoon <public+rust@mearie.org>
@@ -674,26 +594,10 @@ Copyright: 2015-2017 Kevin K. <kbknapp@g
 License: MIT
 Comment: see https://github.com/kbknapp/clap-rs.git
 
-Files:
- vendor/cloudabi-0*/*
- vendor/cloudabi/*
-Copyright: 2016-2020 Nuxi (https://nuxi.nl/) and contributors
-License: BSD-2-Clause
-Comment: see https://github.com/nuxinl/cloudabi
-
-Files: vendor/console/*
-Copyright: 2017-2020 Armin Ronacher <armin.ronacher@active-4.com>
-License: MIT
-Comment: see https://github.com/mitsuhiko/console
-
-Files:
- vendor/const_fn/*
- vendor/pin-project-lite/*
-Copyright: 2018-2021 Taiki Endo <te316e89@gmail.com>
-License: Apache-2.0 or MIT
-Comment:
- see https://github.com/taiki-e/const_fn
- see https://github.com/taiki-e/pin-project-lite
+Files: vendor/colored/*
+Copyright: 2016-2020 Thomas Wickham <mackwic@gmail.com>
+License: MPL-2.0
+Comment: see https://github.com/mackwic/colored
 
 Files: vendor/crc32fast/*
 Copyright: 2018-2019 Sam Rijs <srijs@airpost.net>
@@ -708,35 +612,22 @@ Files:
  vendor/crossbeam-epoch/*
  vendor/crossbeam-epoch-0*/*
  vendor/crossbeam-queue/*
- vendor/crossbeam-queue-0*/*
  vendor/crossbeam-utils/*
  vendor/crossbeam-utils-0*/*
 Copyright: 2015-2021 The Crossbeam Project Developers
 License: MIT or Apache-2.0
 Comment: see https://github.com/crossbeam-rs
 
-Files: vendor/codespan/*
-Copyright: 2018-2020 Brendan Zabarauskas <bjzaba@yahoo.com.au>
-License: Apache-2.0
-Comment: see https://github.com/brendanzab/codespan
-
-Files: vendor/codespan-reporting/*
-Copyright: 2018-2020 Brendan Zabarauskas <bjzaba@yahoo.com.au>
-License: Apache-2.0
-Comment: see https://github.com/brendanzab/codespan
+Files: vendor/cstr/*
+Copyright: 2018-2020 Xidorn Quan <me@upsuper.org>
+License: MIT
+Comment: see https://github.com/upsuper/cstr
 
 Files: vendor/ctor/*
 Copyright: 2018-2020 Matt Mastracci <matthew@mastracci.com>
 License: Apache-2.0 OR MIT
 Comment: see https://github.com/mmastrac/rust-ctor
 
-Files:
- vendor/darling/*
- vendor/darling_core/*
- vendor/darling_macro/*
-Copyright: 2017-2019 Ted Driggs <ted.driggs@outlook.com>
-License: MIT
-
 Files: vendor/datafrog/*
 Copyright:
  2018 Frank McSherry <fmcsherry@me.com>
@@ -745,6 +636,11 @@ Copyright:
 License: Apache-2.0 or MIT
 Comment: see https://github.com/rust-lang-nursery/datafrog
 
+Files: vendor/derive-new/*
+Copyright: 2016-2020 Nick Cameron <ncameron@mozilla.com>
+License: MIT
+Comment: see https://github.com/nrc/derive-new
+
 Files: vendor/diff/*
 Copyright: 2015-2017 Utkarsh Kukreti <utkarshkukreti@gmail.com>
 License: MIT or Apache-2.0
@@ -753,21 +649,17 @@ Comment: see https://github.com/utkarshk
 Files:
  vendor/anyhow/*
  vendor/dissimilar/*
- vendor/dtoa/*
  vendor/itoa/*
  vendor/quote/*
- vendor/quote-0*/*
  vendor/syn/*
- vendor/syn-0*/*
-Copyright: 2016-2021 David Tolnay <dtolnay@gmail.com>
+Copyright: 2016-2022 David Tolnay <dtolnay@gmail.com>
 License: MIT or Apache-2.0
 Comment:
  see https://github.com/dtolnay/anyhow
- see https://github.com/dtolnay/itoa
  see https://github.com/dtolnay/dissimilar
+ see https://github.com/dtolnay/itoa
  see https://github.com/dtolnay/quote
  see https://github.com/dtolnay/syn
- see https://github.com/dtolnay/synom
 
 Files:
  vendor/arrayvec/*
@@ -776,8 +668,6 @@ Files:
  vendor/itertools/*
  vendor/itertools-0*/*
  vendor/maplit/*
- vendor/nodrop/*
- vendor/ordermap/*
  vendor/scopeguard/*
 Copyright: 2014-2020 bluss
 License: MIT or Apache-2.0
@@ -787,7 +677,6 @@ Comment:
  see https://github.com/bluss/arrayvec
  see https://github.com/bluss/fixedbitset
  see https://github.com/bluss/maplit
- see https://github.com/bluss/ordermap
  see https://github.com/bluss/scopeguard
 
 Files: vendor/difference/*
@@ -795,50 +684,42 @@ Copyright: 2015-2018 Johann Hofmann <mai
 License: MIT
 Comment: see https://github.com/johannhof/difference.rs
 
-Files: vendor/drop_bomb/*
-Copyright: 2018-2020 Aleksey Kladov <aleksey.kladov@gmail.com>
+Files:
+ vendor/dirs/*
+ vendor/dirs-sys/*
+Copyright: 2015-2020 Simon Ochsenreither <simon@ochsenreither.de>
+           2015-2020 dirs-rs contributors
 License: MIT OR Apache-2.0
-Comment: see https://github.com/matklad/drop_bomb
+Comment:
+ see https://github.com/dirs-dev/dirs-rs
+ see https://github.com/dirs-dev/dirs-sys-rs
+
+Files:
+ vendor/dirs-next/*
+ vendor/dirs-sys-next/*
+Copyright: 2017-2021 The @xdg-rs members
+License: MIT OR Apache-2.0
+Comment: see https://github.com/xdg-rs/dirs
 
 Files: vendor/elasticlunr-rs/*
 Copyright: 2017-2018 Matt Ickstadt <mattico8@gmail.com>
 License: MIT or Apache-2.0
 Comment: see https://github.com/mattico/elasticlunr-rs
 
-Files:
- vendor/ena-0*/*
- vendor/ena/*
+Files: vendor/ena/*
 Copyright: 2015-2020 Niko Matsakis <niko@alum.mit.edu>
 License: MIT or Apache-2.0
 Comment: see https://github.com/nikomatsakis/ena
 
-Files: vendor/encode_unicode/*
-Copyright: 2016-2020 Torbjørn Birch Moltu <t.b.moltu@lyse.net>
-License: MIT or Apache-2.0
-Comment: see https://github.com/tormol/encode_unicode
-
-Files:
- vendor/error-chain/*
-Copyright: 2016-2017 Brian Anderson <banderson@mozilla.com>
-           2016-2017 Paul Colomiets <paul@colomiets.name>
-           2016-2017 Colin Kiegel <kiegel@gmx.de>
-           2016-2017 Yamakaky <yamakaky@yamaworld.fr>
-License: MIT or Apache-2.0
-Comment: see https://github.com/brson/error-chain
-
 Files: vendor/expect-test/*
-Copyright: 2017-2020 rust-analyzer developers
+Copyright: 2020-2022 rust-analyzer developers
 License: MIT OR Apache-2.0
-Comment: see https://github.com/rust-analyzer/rust-analyzer
+Comment: see https://github.com/rust-analyzer/expect-test
 
-Files:
- vendor/failure/*
- vendor/failure_derive/*
-Copyright: 2017-2018 Without Boats <boats@mozilla.com>
-License: MIT OR Apache-2.0
-Comment:
- see https://github.com/withoutboats/failure
- see https://github.com/withoutboats/failure_derive
+Files: vendor/fallible-iterator/*
+Copyright: 2016-2019 Steven Fackler <sfackler@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/sfackler/rust-fallible-iterator
 
 Files: vendor/fortanix-sgx-abi/*
 Copyright: 2015-2019 Jethro Beekman <jethro@fortanix.com>
@@ -850,25 +731,6 @@ Copyright: 2020-2020 Andrew Hickman <and
 License: MIT or Apache-2.0
 Comment: see https://github.com/andrewhickman/fs-err
 
-Files:
- vendor/fsevent/*
- vendor/fsevent-sys/*
-Copyright: 2015-2020 Pierre Baillet <pierre@baillet.name>
-License: MIT
-Comment: see https://github.com/octplane/fsevent-rust
-
-Files: vendor/fs_extra/*
-Copyright: 2017-2018 Denis Kurilenko <webdesus@gmail.com>
-License: MIT
-Comment: see https://github.com/webdesus/fs_extra
-
-Files:
- vendor/fuchsia-zircon/*
- vendor/fuchsia-zircon-sys/*
-Copyright: 2014-2018 Raph Levien <raph@google.com>
-License: BSD-3-Clause
-Comment: see https://fuchsia.googlesource.com/garnet/
-
 Files: vendor/futf/*
 Copyright: 2015-2018 Keegan McAllister <kmcallister@mozilla.com>
 License: MIT  or  Apache-2.0
@@ -883,20 +745,19 @@ Copyright:
 License: MIT
 Comment: see https://github.com/fizyk20/generic-array.git
 
-Files: vendor/gimli/*
-Copyright: 2016-2020 Nick Fitzgerald <fitzgen@gmail.com>
-           2016-2020 Philip Craig <philipjcraig@gmail.com>
+Files:
+ vendor/gimli-0*/*
+ vendor/gimli/*
+Copyright:
+ 2016-2021 Nick Fitzgerald <fitzgen@gmail.com>
+ 2016-2021 Philip Craig <philipjcraig@gmail.com>
 License: Apache-2.0 or MIT
 Comment: see https://github.com/gimli-rs/gimli
 
-Files: vendor/goblin/*
-Copyright: 2016-2020 m4b <m4b.github.io@gmail.com>
-           2016-2020 seu <seu@panopticon.re>
-           2016-2020 Will Glynn <will@willglynn.com>
-           2016-2020 Philip Craig <philipjcraig@gmail.com>
-           2016-2020 Lzu Tao <taolzu@gmail.com>
+Files: vendor/globwalk/*
+Copyright: 2018-2020 Gilad Naaman <gilad@naaman.io>
 License: MIT
-Comment: see https://github.com/m4b/goblin
+Comment: see https://github.com/gilnaa/globwalk
 
 Files: vendor/gsgdt/*
 Copyright: 2020 Vishnunarayan K I <appukuttancr@gmail.com>
@@ -931,26 +792,25 @@ Copyright: 2014-2020 The html5ever Proje
 License: MIT or Apache-2.0
 Comment: see https://github.com/servo/html5ever
 
-Files: vendor/home/*
-Copyright: 2017-2020 Brian Anderson <andersrb@gmail.com>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/brson/home
-
-Files: vendor/humantime/*
-Copyright: 2016-2018 Paul Colomiets <paul@colomiets.name>
+Files:
+ vendor/humantime/*
+ vendor/humantime-*/*
+Copyright:
+ 2016-2018 Paul Colomiets <paul@colomiets.name>
+ 2016 The humantime Developers
+ 2016 Pyfisch
+ 2005-2013 Rich Felker
 License: MIT or Apache-2.0
-Comment: see https://github.com/tailhook/humantime
 
-Files: vendor/ident_case/*
-Copyright: 2017-2019 Ted Driggs <ted.driggs@outlook.com>
+Files: vendor/if_chain/*
+Copyright: 2016-2020 Chris Wong <lambda.fairy@gmail.com>
 License: MIT or Apache-2.0
-Comment: see https://github.com/TedDriggs/ident_case
+Comment: see https://github.com/lfairy/if_chain
 
 Files:
  vendor/form_urlencoded/*
  vendor/idna/*
  vendor/percent-encoding/*
- vendor/percent-encoding-1*/*
  vendor/url/*
 Copyright: 2013-2021 The rust-url developers
 License: MIT or Apache-2.0
@@ -962,58 +822,24 @@ Copyright: 2016-2019 bluss
 License: Apache-2.0 or MIT
 Comment: see https://github.com/bluss/indexmap
 
-Files: vendor/inotify/*
-Copyright: 2014-2020 Hanno Braun <mail@hannobraun.de>
-           2014-2020 Félix Saparelli <me@passcod.name>
-           2014-2020 Cristian Kubis <cristian.kubis@tsunix.de>
-           2014-2020 Frank Denis <github@pureftpd.org>
-License: ISC
-Comment: see https://github.com/hannobraun/inotify
-
-Files: vendor/inotify-sys/*
-Copyright: 2017-2020 Hanno Braun <hb@hannobraun.de>
-License: ISC
-Comment: see https://github.com/inotify-rs/inotify-sys
-
-Files: vendor/insta/*
-Copyright: 2019-2020 Armin Ronacher <armin.ronacher@active-4.com>
-License: Apache-2.0
-Comment: see https://github.com/mitsuhiko/insta
+Files:
+ vendor/indoc/*
+ vendor/unindent/*
+Copyright: 2016-2022 David Tolnay <dtolnay@gmail.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/dtolnay/indoc
 
 Files: vendor/instant/*
 Copyright: 2019-2020 sebcrozet <developer@crozet.re>
 License: BSD-3-Clause
 Comment: see https://github.com/sebcrozet/instant
 
-Files: vendor/is-match/*
-       vendor/toml-query/*
-Copyright: 2017-2018 Matthias Beyer <mail@beyermatthias.de>
-License: MPL-2.0
-Comment: see https://github.com/matthiasbeyer/is-match
-         see https://github.com/matthiasbeyer/toml-query
-
-Files: vendor/jemallocator/*
-Copyright: 2016-2019 Alex Crichton <alex@alexcrichton.com>
-           2016-2019 Gonzalo Brito Gadeschi <gonzalobg88@gmail.com>
-           2016-2019 Simon Sapin <simon.sapin@exyr.org>
-           2016-2019 Steven Fackler <sfackler@gmail.com>
-License: MIT or Apache-2.0
-Comment: see https://github.com/gnzlbg/jemallocator
-
-Files: vendor/jemalloc-ctl/*
-Copyright: 2016-2019 Steven Fackler <sfackler@gmail.com>
-           2016-2019 Gonzalo Brito Gadeschi <gonzalobg88@gmail.com>
-License: MIT or Apache-2.0
-Comment: see https://github.com/gnzlbg/jemallocator
-
-Files: vendor/jod-thread/*
-Copyright: 2019-2020 Aleksey Kladov <aleksey.kladov@gmail.com>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/matklad/jod-thread
+Files: vendor/jsonpath_lib/*
+Copyright: 2018-2021 Changseok Han <freestrings@gmail.com>
+License: MIT
+Comment: see https://github.com/freestrings/jsonpath
 
-Files:
- vendor/lazy_static/*
- vendor/lazy_static-0*/*
+Files: vendor/lazy_static/*
 Copyright: 2014-2018 Marvin Löbel <loebel.marvin@gmail.com>
 License: MIT or Apache-2.0
 Comment:
@@ -1021,29 +847,16 @@ Comment:
  see https://github.com/Kimundi/owning-ref-rs
 
 Files: vendor/libloading/*
-Copyright: 2015-2020 Simonas Kazlauskas <libloading@kazlauskas.me>
+Copyright: 2015-2022 Simonas Kazlauskas <libloading@kazlauskas.me>
 License: ISC
 Comment: see https://github.com/nagisa/rust_libloading/
 
-Files: vendor/linked-hash-map/*
-Copyright: 2015-2020 Stepan Koltsov <stepan.koltsov@gmail.com>
-           2015-2020 Andrew Paseltiner <apaseltiner@gmail.com>
-License: MIT or Apache-2.0
-Comment: see https://github.com/contain-rs/linked-hash-map
-
-Files: vendor/lsp-server/*
-Copyright: 2019-2020 rust-analyzer developers
+Files: vendor/libm/*
+Copyright: 2018-2021 Jorge Aparicio <jorge@japaric.io>
 License: MIT OR Apache-2.0
-Comment: see https://github.com/rust-analyzer/lsp-server
+Comment: see https://github.com/rust-lang-nursery/libm
 
-Files: vendor/lsp-types/*
-Copyright: 2016-2020 Markus Westerlind <marwes91@gmail.com>
-           2016-2020 Bruno Medeiros <bruno.do.medeiros@gmail.com>
-License: MIT
-Comment: see https://github.com/gluon-lang/lsp-types
-
-Files:
- vendor/mac/*
+Files: vendor/mac/*
 Copyright: 2014-2017 Jonathan Reem <jonathan.reem@gmail.com>
 License: MIT
 Comment:
@@ -1070,18 +883,17 @@ Copyright: 2015-2017 Mathieu David <math
 License: MPL-2.0
 Comment: see https://github.com/azerupi/mdBook
 
-Files:
- vendor/measureme/*
- vendor/measureme-0*/*
+Files: vendor/measureme/*
 Copyright: 2019-2020 Wesley Wiser <wwiser@gmail.com>
            2019-2020 Michael Woerister <michaelwoerister@posteo>
 License: MIT OR Apache-2.0
 Comment: see https://github.com/rust-lang/measureme
 
-Files: vendor/memmap/*
-Copyright: 2015-2018 Dan Burkert <dan@danburkert.com>
+Files: vendor/memmap2-0*/*
+Copyright: 2015-2021 Dan Burkert <dan@danburkert.com>
+           2015-2021 Evgeniy Reizner <razrfalcon@gmail.com>
 License: MIT or Apache-2.0
-Comment: see https://github.com/danburkert/memmap-rs
+Comment: see https://github.com/RazrFalcon/memmap2-rs
 
 Files:
  vendor/memoffset/*
@@ -1091,13 +903,6 @@ License: MIT
 Comment: see https://github.com/Gilnaa/memoffset
 
 Files:
- vendor/merge/*
- vendor/merge_derive/*
-Copyright: 2020-2020 Robin Krahl <robin.krahl@ireas.org>
-License: Apache-2.0 OR MIT
-Comment: see https://git.sr.ht/~ireas/merge-rs
-
-Files:
  vendor/macro-utils/*
  vendor/minifier/*
 Copyright: 2017-2018 Guillaume Gomez <guillaume1.gomez@gmail.com>
@@ -1112,21 +917,10 @@ Copyright: 2017-2020 Frommi <daniil.life
 License: MIT
 Comment: see https://github.com/Frommi/miniz_oxide
 
-Files: vendor/mio/*
-Copyright: 2014-2020 Carl Lerche <me@carllerche.com>
-License: MIT
-Comment: see https://github.com/tokio-rs/mio
-
-Files: vendor/mio-extras/*
-Copyright: 2017-2020 Carl Lerche <me@carllerche.com>
-           2017-2020 David Hotham
-License: MIT OR Apache-2.0
-Comment: see https://github.com/dimbleby/mio-extras
-
-Files: vendor/net2/*
-Copyright: 2015-2020 Alex Crichton <alex@alexcrichton.com>
+Files: vendor/miow-0.3.7/*
+Copyright: 2014-2021 Alex Crichton <alex@alexcrichton.com>
 License: MIT or Apache-2.0
-Comment: see https://github.com/deprecrated/net2-rs
+Comment: see https://github.com/yoshuawuyts/miow
 
 Files: vendor/new_debug_unreachable/*
 Copyright: 2014-2018 Matt Brubeck <mbrubeck@limpet.net>
@@ -1134,35 +928,22 @@ Copyright: 2014-2018 Matt Brubeck <mbrub
 License: MIT
 Comment: see https://github.com/mbrubeck/rust-debug-unreachable
 
-Files: vendor/notify/*
-Copyright: 2014-2020 Félix Saparelli <me@passcod.name>
-           2014-2020 Daniel Faust <hessijames@gmail.com>
-License: CC0-1.0
-Comment: see https://github.com/notify-rs/notify.git
-
 Files: vendor/num_cpus/*
 Copyright: 2015 Sean McArthur <sean.monstar@gmail.com>
 License: MIT
 Comment: see https://github.com/seanmonstar/num_cpus
 
-Files:
- vendor/object-0*/*
- vendor/object/*
+Files: vendor/object-0*/*
 Copyright:
  2016-2020 Nick Fitzgerald <fitzgen@gmail.com>
  2016-2020 Philip Craig <philipjcraig@gmail.com>
 License: Apache-2.0 or MIT
 Comment: see https://github.com/gimli-rs/object
 
-Files: vendor/oorandom/*
-Copyright: 2019-2020 Simon Heath <icefox@dreamquest.io>
-License: MIT
-Comment: see https://sr.ht/~icefox/oorandom/
-
-Files: vendor/open/*
-Copyright: 2015-2017 Sebastian Thiel <byronimo@gmail.com>
-License: MIT
-Comment: see https://github.com/Byron/open-rs
+Files: vendor/odht/*
+Copyright: 2021 Michael Woerister <michaelwoerister@posteo>
+License: Apache-2.0 or MIT
+Comment: see https://github.com/rust-lang/odht
 
 Files: vendor/opener/*
 Copyright: 2018-2020 Brian Bowman <seeker14491@gmail.com>
@@ -1181,15 +962,10 @@ Comment: see https://github.com/Phundrak
 
 Files:
  vendor/hashbrown/*
- vendor/hashbrown-0*/*
  vendor/lock_api/*
- vendor/lock_api-0*/*
  vendor/thread_local/*
- vendor/thread_local-0*/*
  vendor/parking_lot/*
- vendor/parking_lot-0*/*
  vendor/parking_lot_core/*
- vendor/parking_lot_core-0*/*
 Copyright: 2016-2019 Amanieu d'Antras <amanieu@gmail.com>
 License: MIT or Apache-2.0
 Comment:
@@ -1197,21 +973,18 @@ Comment:
  see https://github.com/Amanieu/thread_local-rs
  see https://github.com/Amanieu/parking_lot
 
-Files:
- vendor/paste/*
- vendor/paste-impl/*
-Copyright: 2018-2020 David Tolnay <dtolnay@gmail.com>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/dtolnay/paste
+Files: vendor/packed_simd_2/*
+Copyright: 2018-2021 Gonzalo Brito Gadeschi <gonzalobg88@gmail.com>
+           2018-2021 Jubilee Young <workingjubilee@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/rust-lang-nursery/packed_simd
 
 Files: vendor/pathdiff/*
 Copyright: 2017-2020 Manish Goregaokar <manishsmail@gmail.com>
 License: MIT or Apache-2.0
 Comment: see https://github.com/Manishearth/pathdiff
 
-Files:
- vendor/perf-event/*
- vendor/perf-event-open-sys/*
+Files: vendor/perf-event-open-sys/*
 Copyright: 2019-2020 Jim Blandy <jimb@red-bean.com>
 License: MIT OR Apache-2.0
 Comment: see https://github.com/jimblandy/perf-event.git
@@ -1227,11 +1000,6 @@ Comment:
  see https://github.com/dragostis/pest
  see https://github.com/pest-parser/pest
 
-Files: vendor/pico-args/*
-Copyright: 2019-2020 Evgeniy Reizner <razrfalcon@gmail.com>
-License: MIT
-Comment: see https://github.com/RazrFalcon/pico-args
-
 Files: vendor/polonius-engine/*
 Copyright: 2018-2018 The Rust Project Developers
            2018-2018 Polonius Developers
@@ -1253,10 +1021,11 @@ Copyright: 2014-2018 Steven Fackler <sfa
 License: MIT
 Comment: see https://github.com/sfackler/rust-phf
 
-Files: vendor/plain/*
-Copyright: 2017-2020 jzr
-License: MIT or Apache-2.0
-Comment: see https://github.com/randomites/plain
+Files: vendor/pin-project-lite/*
+Copyright: 2018-2021 Taiki Endo <te316e89@gmail.com>
+License: Apache-2.0 or MIT
+Comment:
+ see https://github.com/taiki-e/pin-project-lite
 
 Files: vendor/precomputed-hash/*
 Copyright: 2017-2017 Emilio Cobos Álvarez <emilio@crisal.io>
@@ -1276,29 +1045,16 @@ Copyright: 2019-2020 CreepySkeleton <cre
 License: MIT OR Apache-2.0
 Comment: see https://gitlab.com/CreepySkeleton/proc-macro-error
 
-Files: vendor/proc-macro-hack/*
-Copyright: 2016-2020 David Tolnay <dtolnay@gmail.com>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/dtolnay/proc-macro-hack
-
 Files: vendor/psm/*
 Copyright: 2015-2020 Simonas Kazlauskas <git@kazlauskas.me>
 License: MIT or Apache-2.0
 Comment: see https://github.com/rust-lang/stacker/
 
-Files:
- vendor/pulldown-cmark/*
- vendor/pulldown-cmark-0*/*
+Files: vendor/pulldown-cmark/*
 Copyright: 2015-2017 Raph Levien <raph@google.com>
 License: MIT
 Comment: see https://github.com/google/pulldown-cmark
 
-Files: vendor/pulldown-cmark-to-cmark/*
-Copyright: 2018-2020 Sebastian Thiel <byronimo@gmail.com>
-           2018-2020 Dylan Owen <dyltotheo@gmail.com>
-License: Apache-2.0
-Comment: see https://github.com/Byron/pulldown-cmark-to-cmark
-
 Files: vendor/punycode/*
 Copyright: 2015-2019 mcarton <cartonmartin+git@gmail.com>
 License: MIT
@@ -1313,6 +1069,11 @@ Copyright:
 License: MIT or Apache-2.0
 Comment: see http://github.com/tailhook/quick-error
 
+Files: vendor/quine-mc_cluskey/*
+Copyright: 2016-2016 Oliver Schneider <git-spam-no-reply9815368754983@oli-obk.de>
+License: MIT
+Comment: see https://github.com/oli-obk/quine-mc_cluskey
+
 Files:
  vendor/rayon/*
  vendor/rayon-core/*
@@ -1325,26 +1086,23 @@ Comment:
  see https://github.com/rayon-rs/rayon
  see https://github.com/Zoxc/rayon/tree/rustc
 
-Files:
- vendor/redox_syscall/*
- vendor/redox_syscall-0*/*
- vendor/redox_termios/*
+Files: vendor/redox_users/*
+Copyright: 2017-2021 Jose Narvaez <goyox86@gmail.com>
+           2017-2021 Wesley Hershberger <mggmugginsmc@gmail.com>
+License: MIT
+Comment: see https://gitlab.redox-os.org/redox-os/users
+
+Files: vendor/redox_syscall/*
 Copyright: 2016-2021 Jeremy Soller <jackpot51@gmail.com>
 License: MIT
 Comment:
  see https://github.com/redox-os/syscall
- see https://github.com/redox-os/termios
 
 Files: vendor/regex-automata/*
 Copyright: 2018-2020 Andrew Gallant <jamslam@gmail.com>
 License: Unlicense or MIT
 Comment: see https://github.com/BurntSushi/regex-automata
 
-Files: vendor/relative-path/*
-Copyright: 2017-2020 John-John Tedro <udoprog@tedro.se>
-License: MIT or Apache-2.0
-Comment: see https://github.com/udoprog/relative-path
-
 Files: vendor/remove_dir_all/*
 Copyright: 2017-2018 Aaronepower <theaaronepower@gmail.com>
 License: MIT or Apache-2.0
@@ -1357,54 +1115,38 @@ License: Apache-2.0 or MIT
 Comment: see https://github.com/nrc/rls-span
          see https://github.com/nrc/rls-data
 
-Files: vendor/rowan/*
-Copyright: 2018-2020 Aleksey Kladov <aleksey.kladov@gmail.com>
+Files: vendor/rustc-semver/*
+Copyright: 2020-2020 flip1995 <hello@philkrones.com>
 License: MIT OR Apache-2.0
-Comment: see https://github.com/matklad/rowan
+Comment: see https://github.com/flip1995/rustc-semver
 
-Files:
- vendor/rustc-ap-rustc_lexer/*
- vendor/rustc-ap-rustc_lexer-*/*
-Copyright: 2010-2020 The Rust Project Developers
-License: MIT or Apache-2.0
-Comment: see https://github.com/rust-lang/rust
-
-Files: vendor/rustc_version/*
-Copyright: 2015-2018 Marvin Löbel <loebel.marvin@gmail.com>
+Files: vendor/rustc_tools_util/*
+Copyright: 2014-2021 Matthias Krüger <matthias.krueger@famsik.de>
 License: MIT or Apache-2.0
-Comment: see https://github.com/Kimundi/rustc-version-rs
+Comment: see https://github.com/rust-lang/rust-clippy
 
-Files: vendor/rustfix/*
-Copyright: 2016-2018 Pascal Hertleif <killercup@gmail.com>
-           2016-2018 Oliver Schneider <oli-obk@users.noreply.github.com>
+Files:
+ vendor/rustfix/*
+ vendor/rustfix-0*/*
+Copyright:
+ 2016-2021 Pascal Hertleif <killercup@gmail.com>
+ 2016-2021 Oliver Schneider <oli-obk@users.noreply.github.com>
 License: Apache-2.0 or MIT
 Comment: see https://github.com/killercup/rustfix
 
+Files: vendor/rustversion/*
+Copyright: 2019-2021 David Tolnay <dtolnay@gmail.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/dtolnay/rustversion
+
 Files: vendor/ryu/*
 Copyright: 2018-2018 David Tolnay <dtolnay@gmail.com>
 License: Apache-2.0 or BSL-1.0
 Comment: see https://github.com/dtolnay/ryu
 
 Files:
- vendor/salsa/*
- vendor/salsa-macros/*
-Copyright: 2018-2020 Salsa developers
-License: Apache-2.0 OR MIT
-Comment: see https://github.com/salsa-rs/salsa
-
-Files:
- vendor/scroll/*
- vendor/scroll_derive/*
-Copyright: 2016-2020 m4b <m4b.github.io@gmail.com>
-           2016-2020 Ted Mielczarek <ted@mielczarek.org>
-           2016-2020 Systemcluster <me@systemcluster.me
-License: MIT
-Comment: see https://github.com/m4b/scroll
-
-Files:
  vendor/semver-0*/*
  vendor/semver/*
- vendor/semver-parser-0*/*
  vendor/semver-parser/*
 Copyright:
  2014-2020 Steve Klabnik <steve@steveklabnik.com>
@@ -1428,44 +1170,31 @@ Copyright: 2014-2017 Erick Tryzelaar <er
 License: MIT or Apache-2.0
 Comment: see https://github.com/serde-rs/serde
 
-Files:
- vendor/serde_repr/*
- vendor/serde_yaml/*
-Copyright:
- 2019-2020 David Tolnay <dtolnay@gmail.com>
- 2016-2020 David Tolnay <dtolnay@gmail.com>
-License: MIT OR Apache-2.0
-Comment:
- see https://github.com/dtolnay/serde-repr
- see https://github.com/dtolnay/serde-yaml
-
 Files: vendor/sharded-slab/*
 Copyright: 2019-2020 Eliza Weisman <eliza@buoyant.io>
 License: MIT
 Comment: see https://github.com/hawkw/sharded-slab
 
-Files: vendor/siphasher/*
-Copyright: 2016-2018 Frank Denis <github@pureftpd.org>
+Files: vendor/shell-escape/*
+Copyright: 2016-2020 Steven Fackler <sfackler@gmail.com>
 License: MIT or Apache-2.0
-Comment: see https://github.com/jedisct1/rust-siphash
+Comment: see https://github.com/sfackler/shell-escape
 
 Files: vendor/shlex/*
 Copyright: 2015-2015 comex <comexk@gmail.com>
 License: MIT or Apache-2.0
 Comment: see https://github.com/comex/rust-shlex
 
-Files:
- vendor/smallvec-0*/*
- vendor/smallvec/*
+Files: vendor/siphasher/*
+Copyright: 2016-2018 Frank Denis <github@pureftpd.org>
+License: MIT or Apache-2.0
+Comment: see https://github.com/jedisct1/rust-siphash
+
+Files: vendor/smallvec/*
 Copyright: 2015-2020 Simon Sapin <simon.sapin@exyr.org>
 License: MPL-2.0
 Comment: see https://github.com/servo/rust-smallvec
 
-Files: vendor/smol_str/*
-Copyright: 2018-2020 Aleksey Kladov <aleksey.kladov@gmail.com>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/matklad/smol_str
-
 Files: vendor/snap/*
 Copyright: 2016-2020 Andrew Gallant <jamslam@gmail.com>
 License: BSD-3-Clause
@@ -1488,19 +1217,20 @@ License: MIT
 Comment: see https://github.com/dguo/strsim-rs
 
 Files:
+ vendor/structopt/*
+ vendor/structopt-derive/*
+Copyright: 2017-2020 Guillaume Pinot <texitoi@texitoi.eu>
+           2017-2020 others
+License: Apache-2.0 OR MIT
+Comment: see https://github.com/TeXitoi/structopt
+
+Files:
  vendor/strum/*
  vendor/strum_macros/*
 Copyright: 2015-2018 Peter Glotfelty <peglotfe@microsoft.com>
 License: MIT
 
-Files: vendor/superslice/*
-Copyright: 2017-2019 Alkis Evlogimenos <alkis@evlogimenos.com>
-License: Apache-2.0
-Comment: see https://github.com/alkis/superslice-rs
-
-Files:
- vendor/synstructure/*
- vendor/synstructure-0*/*
+Files: vendor/synstructure/*
 Copyright:
  2016-2019 Nika Layzell <nika@thelayzells.com>
 License: MIT
@@ -1521,56 +1251,41 @@ Copyright: 2015-2017 Keegan McAllister <
 License: MIT or Apache-2.0
 Comment: see https://github.com/servo/tendril
 
-Files: vendor/termion/*
-Copyright: 2016-2017 ticki <Ticki@users.noreply.github.com>
-           2016-2017 gycos <alexandre.bury@gmail.com>
-           2016-2017 IGI-111 <igi-111@protonmail.com>
+Files: vendor/tera/*
+Copyright: 2015-2021 Vincent Prouillet <hello@prouilletvincent.com>
 License: MIT
-Comment: see https://github.com/ticki/termion
-
-Files: vendor/terminal_size/*
-Copyright: 2015-2020 Andrew Chin <achin@eminence32.net>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/eminence/terminal-size
+Comment: see https://github.com/Keats/tera
 
-Files: vendor/termios/*
-Copyright: 2015-2020 David Cuddeback <david.cuddeback@gmail.com>
-License: MIT
-Comment: see https://github.com/dcuddeback/termios-rs
+Files:
+ vendor/term/*
+ vendor/term-0*/*
+Copyright:
+ 2014-2021 The Rust Project Developers
+ 2014-2021 Steven Allen
+License: MIT or Apache-2.0
+Comment: see https://github.com/Stebalien/term
 
 Files: vendor/termize/*
 Copyright: 2016-2020 Yuki Okushi <huyuumi.dev@gmail.com>
 License: MIT or Apache-2.0
 Comment: see https://github.com/JohnTitor/termize
 
-Files: vendor/term_size/*
-Copyright: 2016-2018 Kevin K. <kbknapp@gmail.com>
-           2016-2018 Benjamin Sago <ogham@bsago.me>
-License: MIT or Apache-2.0
-Comment: see https://github.com/kbknapp/term_size-rs.git
-
-Files: vendor/text-size/*
-Copyright: 2018-2020 Aleksey Kladov <aleksey.kladov@gmail.com>
-           2018-2020 Christopher Durham (CAD97) <cad97@cad97.com>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/rust-analyzer/text-size
-
 Files: vendor/textwrap/*
 Copyright: 2016-2017 Martin Geisler <martin@geisler.net>
 License: MIT
 Comment: see https://github.com/mgeisler/textwrap
 
-Files: vendor/thin-dst/*
-Copyright: 2019-2020 Christopher Durham (CAD97) <cad97@cad97.com>
+Files:
+ vendor/thiserror/*
+ vendor/thiserror-impl/*
+Copyright: 2019-2020 David Tolnay <dtolnay@gmail.com>
 License: MIT OR Apache-2.0
-Comment: see https://github.com/cad97/thin-dst
+Comment: see https://github.com/dtolnay/thiserror
 
-Files: vendor/threadpool/*
-Copyright: 2015-2020 The Rust Project Developers
-           2015-2020 Corey Farwell <coreyf@rwell.org>
-           2015-2020 Stefan Schindler <dns2utf8@estada.ch>
-License: MIT or Apache-2.0
-Comment: see https://github.com/rust-threadpool/rust-threadpool
+Files: vendor/thorin-dwp/*
+Copyright: 2021-2022 David Wood <david.wood@huawei.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/davidtwco/thorin
 
 Files: vendor/tinyvec/*
 Copyright: 2020 Lokathor <zefria@gmail.com>
@@ -1582,17 +1297,16 @@ Copyright: 2020 Soveu <marx.tomasz@gmail
 License: MIT or Apache-2.0 or Zlib
 Comment: see https://github.com/Soveu/tinyvec_macros
 
-Files: vendor/toml-query_derive/*
-Copyright: 2017-2019 Matthias Beyer <mail@beyermatthias.de>
-License: MPL-2.0
-Comment: see https://github.com/matthiasbeyer/toml-query
+Files: vendor/topological-sort/*
+Copyright: 2015-2018 gifnksm <makoto.nksm+github@gmail.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/gifnksm/topological-sort-rs
 
 Files:
  vendor/tracing/*
  vendor/tracing-attributes/*
  vendor/tracing-core/*
  vendor/tracing-log/*
- vendor/tracing-serde/*
  vendor/tracing-subscriber/*
 Copyright:
  2018-2020 Eliza Weisman <eliza@buoyant.io>
@@ -1613,9 +1327,7 @@ Copyright: 2015-2019 Paho Lurie-Gregg <p
 License: MIT or Apache-2.0
 Comment: see https://github.com/paholg/typenum
 
-Files:
- vendor/version_check/*
- vendor/version_check-0.1.5/*
+Files: vendor/version_check/*
 Copyright: 2017-2019 Sergio Benitez <sb@sergio.bz>
 License: MIT or Apache-2.0
 Comment: see https://github.com/SergioBenitez/version_check
@@ -1623,23 +1335,27 @@ Comment: see https://github.com/SergioBe
 Files:
  vendor/ucd-parse/*
  vendor/ucd-trie/*
- vendor/ucd-util/*
 Copyright: 2017-2020 Andrew Gallant <jamslam@gmail.com>
 License: MIT or Apache-2.0
 Comment:
  see https://github.com/BurntSushi/rucd
  see https://github.com/BurntSushi/ucd-generate
 
-Files: vendor/ungrammar/*
-Copyright: 2020-2020 Aleksey Kladov <aleksey.kladov@gmail.com>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/matklad/ungrammar
-
 Files: vendor/unicase/*
 Copyright: 2014-2019 Sean McArthur <sean@seanmonstar.com>
 License: MIT or Apache-2.0
 Comment: see https://github.com/seanmonstar/unicase
 
+Files: vendor/unicode_categories/*
+Copyright: 2015-2016 Sean Gillespie <sean@swgillespie.me>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/swgillespie/unicode-categories
+
+Files: vendor/unic-*/*
+Copyright: 2017-2022 The UNIC Project Developers
+License: MIT or Apache-2.0
+Comment: see https://github.com/open-i18n/rust-unic/
+
 Files:
  vendor/unicode-normalization/*
  vendor/unicode-segmentation/*
@@ -1651,18 +1367,33 @@ Comment:
  see https://github.com/unicode-rs/unicode-segmentation
  see https://github.com/unicode-rs/unicode-width
 
-Files:
- vendor/unicode-xid/*
- vendor/unicode-xid-0*/*
+Files: vendor/unicode-xid/*
 Copyright: 2015-2017 erick.tryzelaar <erick.tryzelaar@gmail.com>
            2015-2017 kwantam <kwantam@gmail.com>
 License: MIT or Apache-2.0
 Comment: see https://github.com/unicode-rs/unicode-xid
 
-Files: vendor/vcpkg/*
-Copyright: 2017-2019 Jim McGrath <jimmc2@gmail.com>
+Files: vendor/unicode-script/*
+Copyright: 2017-2020 Manish Goregaokar <manishsmail@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/unicode-rs/unicode-script
+
+Files: vendor/unicode-security/*
+Copyright: 2020-2020 Charles Lew <crlf0710@gmail.com>
+           2020-2020 Manish Goregaokar <manishsmail@gmail.com>
 License: MIT or Apache-2.0
-Comment: see https://github.com/mcgoo/vcpkg-rs
+Comment: see https://github.com/unicode-rs/unicode-security
+
+Files: vendor/unified-diff/*
+Copyright: 2021-2021 Michael Howell <michael@notriddle.com>
+           2021-2021 The Rust Project Developers
+License: MIT OR Apache-2.0
+Comment: see https://github.com/notriddle/rust-unified-diff
+
+Files: vendor/utf-8/*
+Copyright: 2015-2018 Simon Sapin <simon.sapin@exyr.org>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/SimonSapin/rust-utf8
 
 Files: vendor/vec_map/*
 Copyright: 2015-2017 Alexis Beingessner <a.beingessner@gmail.com>
@@ -1672,23 +1403,12 @@ Copyright: 2015-2017 Alexis Beingessner
 License: MIT or Apache-2.0
 Comment: see https://github.com/contain-rs/vec-map
 
-Files: vendor/utf-8/*
-Copyright: 2015-2018 Simon Sapin <simon.sapin@exyr.org>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/SimonSapin/rust-utf8
-
-Files:
- vendor/wasi-0*/*
- vendor/wasi/*
+Files: vendor/wasi/*
 Copyright: 2019-2020 The Cranelift Project Developers
 License: Apache-2.0 with LLVM exception or Apache-2.0 or MIT
 Comment: see https://github.com/CraneStation/rust-wasi
 
-Files:
- vendor/kernel32-sys/*
- vendor/winapi/*
- vendor/winapi-0*/*
- vendor/winapi-build/*
+Files: vendor/winapi/*
 Copyright:
  2014-2019 Peter Atashian <retep998@gmail.com>
  2014-2019 winapi-rs developers
@@ -1700,11 +1420,6 @@ Copyright: 2014-2018 Peter Atashian <ret
 License: MIT or Apache-2.0
 Comment: see https://github.com/retep998/winapi-rs
 
-Files: vendor/write-json/*
-Copyright: 2020-2020 Aleksey Kladov <aleksey.kladov@gmail.com>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/matklad/write-json
-
 Files: vendor/xattr/*
 Copyright: 2015-2017 Steven Allen <steven@stebalien.com>
 License: MIT or Apache-2.0
@@ -1715,31 +1430,18 @@ Copyright: 2014-2020 The xml5ever projec
 License: MIT  or  Apache-2.0
 Comment: see https://github.com/servo/html5ever
 
-Files:
- vendor/yaml-rust-0*/*
- vendor/yaml-rust/*
+Files: vendor/yaml-rust-0*/*
 Copyright: 2015-2020 Yuheng Chen <yuhengchen@sensetime.com>
 License: MIT or Apache-2.0
 Comment: see https://github.com/chyh1990/yaml-rust
 
-Files: vendor/humantime-1.3.0/*
-Copyright:
- 2016-2018 Paul Colomiets <paul@colomiets.name>
- 2016 The humantime Developers
- 2016 Pyfisch
- 2005-2013 Rich Felker
-License: MIT or Apache-2.0
-
-Files: vendor/unicode-script/*
-Copyright: 2017-2020 Manish Goregaokar <manishsmail@gmail.com>
-License: MIT or Apache-2.0
-Comment: see https://github.com/unicode-rs/unicode-script
-
-Files: vendor/unicode-security/*
-Copyright: 2020-2020 Charles Lew <crlf0710@gmail.com>
-           2020-2020 Manish Goregaokar <manishsmail@gmail.com>
-License: MIT or Apache-2.0
-Comment: see https://github.com/unicode-rs/unicode-security
+Files: vendor/yansi-term/*
+Copyright: 2014-2020 ogham@bsago.me
+           2014-2020 Ryan Scheel (Havvy) <ryan.havvy@gmail.com>
+           2014-2020 Josh Triplett <josh@joshtriplett.org>
+           2014-2020 Juan Aguilar Santillana <mhpoin@gmail.com>
+License: MIT
+Comment: see https://github.com/botika/yansi-term
 
 Files: debian/*
 Copyright: 2013-2018 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/files rustc-mozilla-1.59.0+dfsg1/debian/files
--- rustc-mozilla-1.51.0+dfsg1/debian/files	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/files	2022-07-03 11:52:51.354412937 +0200
@@ -0,0 +1 @@
+rustc-mozilla_1.59.0+dfsg1-1~deb11u1_source.buildinfo devel optional
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-1.51.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.51.lintian-overrides
--- rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-1.51.lintian-overrides	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.51.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-# "libstd" just seemed too generic
-libstd-rust-mozilla-1.51 binary: package-name-doesnt-match-sonames
-libstd-rust-mozilla-1.51 binary: sharedobject-in-library-directory-missing-soname
-
-# Rust doesn't use dev shlib symlinks nor any of the other shlib support stuff
-libstd-rust-mozilla-1.51 binary: dev-pkg-without-shlib-symlink
-libstd-rust-mozilla-1.51 binary: shlib-without-versioned-soname
-libstd-rust-mozilla-1.51 binary: unused-shlib-entry-in-control-file
-
-# Libraries that use libc symbols (libterm, libstd, etc) *are* linked
-# to libc.  Lintian gets upset that some Rust libraries don't need
-# libc, boo hoo.
-libstd-rust-mozilla-1.51 binary: library-not-linked-against-libc
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-1.59.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.install
--- rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-1.59.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.install	2022-03-29 15:17:23.000000000 +0200
@@ -0,0 +1 @@
+usr/lib/${DEB_HOST_MULTIARCH}/
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-1.59.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.lintian-overrides
--- rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-1.59.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.lintian-overrides	2022-03-29 15:17:23.000000000 +0200
@@ -0,0 +1,13 @@
+# "libstd" just seemed too generic
+libstd-rust-1.59 binary: package-name-doesnt-match-sonames
+libstd-rust-1.59 binary: sharedobject-in-library-directory-missing-soname
+
+# Rust doesn't use dev shlib symlinks nor any of the other shlib support stuff
+libstd-rust-1.59 binary: dev-pkg-without-shlib-symlink
+libstd-rust-1.59 binary: shlib-without-versioned-soname
+libstd-rust-1.59 binary: unused-shlib-entry-in-control-file
+
+# Libraries that use libc symbols (libterm, libstd, etc) *are* linked
+# to libc.  Lintian gets upset that some Rust libraries don't need
+# libc, boo hoo.
+libstd-rust-1.59 binary: library-not-linked-against-libc
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.install
--- rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.install	2021-10-22 22:31:00.000000000 +0200
@@ -0,0 +1 @@
+usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/lib/
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.lintian-overrides
--- rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev.lintian-overrides	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.lintian-overrides	2022-03-29 15:17:22.000000000 +0200
@@ -1,7 +1,11 @@
 # lintian does not know about rust arch-specific directories
-libstd-rust-mozilla-dev binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.rlib
+libstd-rust-dev binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.rlib
+libstd-rust-dev binary: breakout-link usr/lib/rustlib/*/lib/lib*.so -> usr/lib/*/lib*.so
+
+# lintian doesn't understand rlib files
+libstd-rust-dev binary: no-code-sections [*.rlib]
 
 # See debhelper bug #875780. This override is commented out because it's not
 # always needed, but we want it here for documentation purposes. Basically,
 # if you see it then you probably don't need to worry about it.
-#libstd-rust-mozilla-dev binary: unstripped-static-library usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/lib*.rlib(*)
+#libstd-rust-dev binary: unstripped-static-library usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/lib*.rlib(*)
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.install
--- rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.install	2021-10-22 22:35:47.000000000 +0200
@@ -0,0 +1 @@
+usr/lib/rustlib/wasm32-*/lib/
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.lintian-overrides
--- rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.lintian-overrides	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.lintian-overrides	2022-03-29 15:17:22.000000000 +0200
@@ -1,3 +1,8 @@
 # wasm object files count as arch-independent for now,
 # at least until we starting offering Debian in wasm
-libstd-rust-mozilla-dev-wasm32 binary: arch-independent-package-contains-binary-or-object usr/lib/rustlib/wasm32-*/lib/lib*.rlib
+libstd-rust-dev-wasm32 binary: arch-independent-package-contains-binary-or-object usr/lib/rustlib/wasm32-*/lib/lib*.rlib
+libstd-rust-dev-wasm32 binary: arch-independent-package-contains-binary-or-object usr/lib/rustlib/wasm32-*/lib/self-contained/libc.a
+
+# lintian doesn't understand rlib files
+libstd-rust-dev-wasm32 binary: no-code-sections [*.rlib]
+libstd-rust-dev-wasm32 binary: no-code-sections [usr/lib/rustlib/wasm32-*/lib/self-contained/libc.a]
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.install
--- rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.install	2021-10-22 22:34:38.000000000 +0200
@@ -0,0 +1 @@
+usr/lib/rustlib/${env:WINDOWS_ARCH}-pc-windows-gnu/lib/
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.lintian-overrides
--- rustc-mozilla-1.51.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.lintian-overrides	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.lintian-overrides	2022-03-29 15:17:22.000000000 +0200
@@ -1,2 +1,8 @@
 # lintian does not know about rust arch-specific directories
-libstd-rust-mozilla-dev-windows binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.rlib
+libstd-rust-dev-windows binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.rlib
+libstd-rust-dev-windows binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.a
+libstd-rust-dev-windows binary: executable-not-elf-or-script usr/lib/rustlib/*/lib/*.dll
+
+# lintian doesn't understand these files
+libstd-rust-dev-windows binary: no-code-sections [*.rlib]
+libstd-rust-dev-windows binary: no-code-sections [usr/lib/rustlib/x86_64-pc-windows-gnu/lib/lib*.dll.a]
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/make_orig-stage0_tarball.sh rustc-mozilla-1.59.0+dfsg1/debian/make_orig-stage0_tarball.sh
--- rustc-mozilla-1.51.0+dfsg1/debian/make_orig-stage0_tarball.sh	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/make_orig-stage0_tarball.sh	2022-06-06 14:03:37.000000000 +0200
@@ -28,7 +28,7 @@ stamp=@${SOURCE_DATE_EPOCH:-$(date +%s)}
 touch --date="$stamp" stage0/dpkg-source-dont-rename-parent-directory
 tar --mtime="$stamp" --clamp-mtime \
   --owner=root --group=root \
-  -cJf "../rustc-mozilla_${upstream_version}.orig-stage0.tar.xz" \
+  -cJf "../rustc_${upstream_version}.orig-stage0.tar.xz" \
   --transform "s/^stage0\///" \
   stage0/*
 
@@ -36,7 +36,7 @@ rm -f src/bootstrap/bootstrap.pyc
 
 cat <<eof
 ================================================================================
-orig-stage0 bootstrapping tarball created in ../rustc-mozilla_${upstream_version}.orig-stage0.tar.xz
+orig-stage0 bootstrapping tarball created in ../rustc_${upstream_version}.orig-stage0.tar.xz
 containing the upstream compilers for $upstream_bootstrap_arch
 
 You *probably* now want to do the following steps:
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/0001-Revert-Auto-merge-of-79547.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/0001-Revert-Auto-merge-of-79547.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/0001-Revert-Auto-merge-of-79547.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/0001-Revert-Auto-merge-of-79547.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,103 +0,0 @@
-From eaf7ea1fc339e1ff348ed941ed2e8c4d66f3e458 Mon Sep 17 00:00:00 2001
-From: Josh Stone <jistone@redhat.com>
-Date: Thu, 18 Feb 2021 19:14:58 -0800
-Subject: [PATCH] Revert "Auto merge of #79547 - erikdesjardins:byval, r=nagisa"
-
-This reverts commit a094ff9590b83c8f94d898f92c2964a5803ded06, reversing
-changes made to d37afad0cc87bf709ad10c85319296ac53030f03.
-
-See https://github.com/rust-lang/rust/issues/80810 for more background
----
- compiler/rustc_middle/src/ty/layout.rs               | 12 ++++++------
- ...return-value-in-reg.rs => return-value-in-reg.rs} |  4 ++--
- src/test/codegen/union-abi.rs                        | 11 +++--------
- 3 files changed, 11 insertions(+), 16 deletions(-)
- rename src/test/codegen/{arg-return-value-in-reg.rs => return-value-in-reg.rs} (74%)
-
-diff --git a/compiler/rustc_middle/src/ty/layout.rs b/compiler/rustc_middle/src/ty/layout.rs
-index b545b92c9252..545f6aee1a21 100644
---- a/compiler/rustc_middle/src/ty/layout.rs
-+++ b/compiler/rustc_middle/src/ty/layout.rs
-@@ -2849,7 +2849,7 @@ fn adjust_for_abi(&mut self, cx: &C, abi: SpecAbi) {
-             || abi == SpecAbi::RustIntrinsic
-             || abi == SpecAbi::PlatformIntrinsic
-         {
--            let fixup = |arg: &mut ArgAbi<'tcx, Ty<'tcx>>| {
-+            let fixup = |arg: &mut ArgAbi<'tcx, Ty<'tcx>>, is_ret: bool| {
-                 if arg.is_ignore() {
-                     return;
-                 }
-@@ -2887,9 +2887,9 @@ fn adjust_for_abi(&mut self, cx: &C, abi: SpecAbi) {
-                     _ => return,
-                 }
- 
--                // Pass and return structures up to 2 pointers in size by value, matching `ScalarPair`.
--                // LLVM will usually pass these in 2 registers, which is more efficient than by-ref.
--                let max_by_val_size = Pointer.size(cx) * 2;
-+                // Return structures up to 2 pointers in size by value, matching `ScalarPair`. LLVM
-+                // will usually return these in 2 registers, which is more efficient than by-ref.
-+                let max_by_val_size = if is_ret { Pointer.size(cx) * 2 } else { Pointer.size(cx) };
-                 let size = arg.layout.size;
- 
-                 if arg.layout.is_unsized() || size > max_by_val_size {
-@@ -2901,9 +2901,9 @@ fn adjust_for_abi(&mut self, cx: &C, abi: SpecAbi) {
-                     arg.cast_to(Reg { kind: RegKind::Integer, size });
-                 }
-             };
--            fixup(&mut self.ret);
-+            fixup(&mut self.ret, true);
-             for arg in &mut self.args {
--                fixup(arg);
-+                fixup(arg, false);
-             }
-             return;
-         }
-diff --git a/src/test/codegen/arg-return-value-in-reg.rs b/src/test/codegen/return-value-in-reg.rs
-similarity index 74%
-rename from src/test/codegen/arg-return-value-in-reg.rs
-rename to src/test/codegen/return-value-in-reg.rs
-index a69291d47821..4bc0136c5e32 100644
---- a/src/test/codegen/arg-return-value-in-reg.rs
-+++ b/src/test/codegen/return-value-in-reg.rs
-@@ -1,4 +1,4 @@
--//! Check that types of up to 128 bits are passed and returned by-value instead of via pointer.
-+//! This test checks that types of up to 128 bits are returned by-value instead of via out-pointer.
- 
- // compile-flags: -C no-prepopulate-passes -O
- // only-x86_64
-@@ -11,7 +11,7 @@ pub struct S {
-     c: u32,
- }
- 
--// CHECK: define i128 @modify(i128{{( %0)?}})
-+// CHECK: define i128 @modify(%S* noalias nocapture dereferenceable(16) %s)
- #[no_mangle]
- pub fn modify(s: S) -> S {
-     S { a: s.a + s.a, b: s.b + s.b, c: s.c + s.c }
-diff --git a/src/test/codegen/union-abi.rs b/src/test/codegen/union-abi.rs
-index f282fd237054..afea01e9a2d0 100644
---- a/src/test/codegen/union-abi.rs
-+++ b/src/test/codegen/union-abi.rs
-@@ -63,16 +63,11 @@ pub union UnionU128{a:u128}
- #[no_mangle]
- pub fn test_UnionU128(_: UnionU128) -> UnionU128 { loop {} }
- 
--pub union UnionU128x2{a:(u128, u128)}
--// CHECK: define void @test_UnionU128x2(i128 %_1.0, i128 %_1.1)
--#[no_mangle]
--pub fn test_UnionU128x2(_: UnionU128x2) { loop {} }
--
- #[repr(C)]
--pub union CUnionU128x2{a:(u128, u128)}
--// CHECK: define void @test_CUnionU128x2(%CUnionU128x2* {{.*}} %_1)
-+pub union CUnionU128{a:u128}
-+// CHECK: define void @test_CUnionU128(%CUnionU128* {{.*}} %_1)
- #[no_mangle]
--pub fn test_CUnionU128x2(_: CUnionU128x2) { loop {} }
-+pub fn test_CUnionU128(_: CUnionU128) { loop {} }
- 
- pub union UnionBool { b:bool }
- // CHECK: define zeroext i1 @test_UnionBool(i8 %b)
--- 
-2.29.2
-
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0000-ignore-removed-submodules.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0000-ignore-removed-submodules.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0000-ignore-removed-submodules.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0000-ignore-removed-submodules.patch	2022-03-29 15:17:21.000000000 +0200
@@ -1,20 +1,23 @@
-Description: Ignore submodules that we're not building, or that are unused like
- mdbook-linkcheck that pull in a ton of dependencies that are unneeded.
-Author: Ximin Luo <infinity0@debian.org>
-Forwarded: not-needed
-Index: rustc.git/Cargo.toml
-===================================================================
---- rustc.git.orig/Cargo.toml
-+++ rustc.git/Cargo.toml
-@@ -6,7 +6,6 @@ members = [
-   "library/test",
-   "src/rustdoc-json-types",
-   "src/tools/cargotest",
--  "src/tools/clippy",
-   "src/tools/compiletest",
-   "src/tools/error_index_generator",
-   "src/tools/linkchecker",
-@@ -15,23 +14,11 @@ members = [
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Sat, 2 Oct 2021 01:07:59 +0100
+Subject: d-0000-ignore-removed-submodules
+
+---
+ Cargo.toml                   | 27 ---------------------------
+ src/bootstrap/bootstrap.py   |  4 ----
+ src/bootstrap/builder.rs     |  7 +------
+ src/bootstrap/doc.rs         |  1 -
+ src/bootstrap/test.rs        | 12 +-----------
+ src/tools/clippy/Cargo.toml  |  5 -----
+ src/tools/rustfmt/Cargo.toml |  5 -----
+ src/tools/tidy/src/deps.rs   |  4 ++--
+ 8 files changed, 4 insertions(+), 61 deletions(-)
+
+diff --git a/Cargo.toml b/Cargo.toml
+index cae48d7..6ab0782 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -17,25 +17,14 @@ members = [
    "src/tools/tidy",
    "src/tools/tier-check",
    "src/tools/build-manifest",
@@ -28,19 +31,21 @@ Index: rustc.git/Cargo.toml
 -  "src/tools/cargo/crates/credential/cargo-credential-wincred",
    "src/tools/rustdoc",
 -  "src/tools/rls",
--  "src/tools/rustfmt",
+   "src/tools/rustfmt",
 -  "src/tools/miri",
 -  "src/tools/miri/cargo-miri",
    "src/tools/rustdoc-themes",
    "src/tools/unicode-table-generator",
 -  "src/tools/expand-yaml-anchors",
--  "src/tools/jsondocck",
+   "src/tools/jsondocck",
+   "src/tools/html-checker",
+-  "src/tools/bump-stage0",
+   "src/tools/lld-wrapper",
  ]
  
- exclude = [
-@@ -69,24 +60,8 @@ gimli.debug = 0
- miniz_oxide.debug = 0
- object.debug = 0
+@@ -105,25 +94,9 @@ debug = 0
+ # Only use debuginfo=1 to further reduce compile times.
+ bootstrap.debug = 1
  
 -# We want the RLS to use the version of Cargo that we've got vendored in this
 -# repository to ensure that the same exact version of Cargo is used by both the
@@ -49,13 +54,14 @@ Index: rustc.git/Cargo.toml
 -# vendored copy.
 -[patch."https://github.com/rust-lang/cargo";]
 -cargo = { path = "src/tools/cargo" }
--
+ cargo-util = { path = "src/tools/cargo/crates/cargo-util" }
+ 
 -[patch."https://github.com/rust-lang/rustfmt";]
 -# Similar to Cargo above we want the RLS to use a vendored version of `rustfmt`
 -# that we're shipping as well (to ensure that the rustfmt in RLS and the
 -# `rustfmt` executable are the same exact version).
 -rustfmt-nightly = { path = "src/tools/rustfmt" }
- 
+-
  [patch.crates-io]
 -# See comments in `src/tools/rustc-workspace-hack/README.md` for what's going on
 -# here
@@ -63,19 +69,13 @@ Index: rustc.git/Cargo.toml
  
  # See comments in `library/rustc-std-workspace-core/README.md` for what's going on
  # here
-@@ -100,5 +75,3 @@ rustc-std-workspace-std = { path = 'libr
- rustc-std-workspace-alloc = { path = 'library/rustc-std-workspace-alloc' }
- rustc-std-workspace-std = { path = 'library/rustc-std-workspace-std' }
- 
--[patch."https://github.com/rust-lang/rust-clippy";]
--clippy_lints = { path = "src/tools/clippy/clippy_lints" }
-Index: rustc.git/src/bootstrap/bootstrap.py
-===================================================================
---- rustc.git.orig/src/bootstrap/bootstrap.py
-+++ rustc.git/src/bootstrap/bootstrap.py
-@@ -754,10 +754,6 @@ class RustBuild(object):
+diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
+index 7c36bb2..3f90012 100644
+--- a/src/bootstrap/bootstrap.py
++++ b/src/bootstrap/bootstrap.py
+@@ -1024,10 +1024,6 @@ class RustBuild(object):
                  os.path.join(self.rust_root, "src/bootstrap/Cargo.toml")]
-         for _ in range(1, self.verbose):
+         for _ in range(0, self.verbose):
              args.append("--verbose")
 -        if self.use_locked_deps:
 -            args.append("--locked")
@@ -84,19 +84,19 @@ Index: rustc.git/src/bootstrap/bootstrap
          run(args, env=env, verbose=self.verbose)
  
      def build_triple(self):
-Index: rustc.git/src/bootstrap/builder.rs
-===================================================================
---- rustc.git.orig/src/bootstrap/builder.rs
-+++ rustc.git/src/bootstrap/builder.rs
-@@ -449,7 +449,6 @@ impl<'a> Builder<'a> {
+diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
+index 6ccf8b1..3bf0523 100644
+--- a/src/bootstrap/builder.rs
++++ b/src/bootstrap/builder.rs
+@@ -480,7 +480,6 @@ impl<'a> Builder<'a> {
                  doc::RustdocBook,
                  doc::RustByExample,
                  doc::RustcBook,
 -                doc::CargoBook,
+                 doc::Clippy,
                  doc::EmbeddedBook,
                  doc::EditionGuide,
-             ),
-@@ -471,7 +470,6 @@ impl<'a> Builder<'a> {
+@@ -505,7 +504,6 @@ impl<'a> Builder<'a> {
                  dist::Miri,
                  dist::LlvmTools,
                  dist::RustDev,
@@ -104,7 +104,7 @@ Index: rustc.git/src/bootstrap/builder.r
                  dist::BuildManifest,
                  dist::ReproducibleArtifacts,
              ),
-@@ -1343,10 +1340,7 @@ impl<'a> Builder<'a> {
+@@ -1532,10 +1530,7 @@ impl<'a> Builder<'a> {
              }
          }
  
@@ -116,40 +116,30 @@ Index: rustc.git/src/bootstrap/builder.r
              cargo.arg("--frozen");
          }
  
-Index: rustc.git/src/bootstrap/doc.rs
-===================================================================
---- rustc.git.orig/src/bootstrap/doc.rs
-+++ rustc.git/src/bootstrap/doc.rs
-@@ -60,7 +60,6 @@ macro_rules! book {
- // NOTE: When adding a book here, make sure to ALSO build the book by
- // adding a build step in `src/bootstrap/builder.rs`!
+diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
+index f0f31c4..01d9b84 100644
+--- a/src/bootstrap/doc.rs
++++ b/src/bootstrap/doc.rs
+@@ -76,7 +76,6 @@ macro_rules! book {
+ // FIXME: Make checking for a submodule automatic somehow (maybe by having a list of all submodules
+ // and checking against it?).
  book!(
--    CargoBook, "src/tools/cargo/src/doc", "cargo";
-     EditionGuide, "src/doc/edition-guide", "edition-guide";
-     EmbeddedBook, "src/doc/embedded-book", "embedded-book";
-     Nomicon, "src/doc/nomicon", "nomicon";
-Index: rustc.git/src/doc/index.md
-===================================================================
---- rustc.git.orig/src/doc/index.md
-+++ rustc.git/src/doc/index.md
-@@ -87,7 +87,7 @@ accomplishing various tasks.
- 
- ## The Cargo Book
- 
--[The Cargo Book](cargo/index.html) is a guide to Cargo, Rust's build tool and dependency manager.
-+[The Cargo Book](../../cargo-doc/doc/index.html) is a guide to Cargo, Rust's build tool and dependency manager.
- 
- ## The Rustdoc Book
- 
-Index: rustc.git/src/bootstrap/test.rs
-===================================================================
---- rustc.git.orig/src/bootstrap/test.rs
-+++ rustc.git/src/bootstrap/test.rs
-@@ -1535,14 +1535,7 @@ impl Step for RustcGuide {
+-    CargoBook, "src/tools/cargo/src/doc", "cargo", submodule = "src/tools/cargo";
+     EditionGuide, "src/doc/edition-guide", "edition-guide", submodule;
+     EmbeddedBook, "src/doc/embedded-book", "embedded-book", submodule;
+     Nomicon, "src/doc/nomicon", "nomicon", submodule;
+diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
+index cb1b0eb..74af81d 100644
+--- a/src/bootstrap/test.rs
++++ b/src/bootstrap/test.rs
+@@ -1833,17 +1833,7 @@ impl Step for RustcGuide {
      }
  
      fn run(self, builder: &Builder<'_>) {
--        let src = builder.src.join("src/doc/rustc-dev-guide");
+-        let relative_path = Path::new("src").join("doc").join("rustc-dev-guide");
+-        builder.update_submodule(&relative_path);
+-
+-        let src = builder.src.join(relative_path);
 -        let mut rustbook_cmd = builder.tool_cmd(Tool::Rustbook);
 -        let toolstate = if try_run(builder, rustbook_cmd.arg("linkcheck").arg(&src)) {
 -            ToolState::TestPass
@@ -161,18 +151,48 @@ Index: rustc.git/src/bootstrap/test.rs
      }
  }
  
-Index: rustc.git/src/tools/tidy/src/deps.rs
-===================================================================
---- rustc.git.orig/src/tools/tidy/src/deps.rs
-+++ rustc.git/src/tools/tidy/src/deps.rs
-@@ -370,8 +370,8 @@ fn check_crate_duplicate(metadata: &Meta
-         // These two crates take quite a long time to build, so don't allow two versions of them
-         // to accidentally sneak into our dependency graph, in order to ensure we keep our CI times
-         // under control.
--        "cargo",
--        "rustc-ap-rustc_ast",
-+        //"cargo",
-+        //"rustc-ap-rustc_ast",
-     ];
+diff --git a/src/tools/clippy/Cargo.toml b/src/tools/clippy/Cargo.toml
+index 8661a86..e94b7e2 100644
+--- a/src/tools/clippy/Cargo.toml
++++ b/src/tools/clippy/Cargo.toml
+@@ -34,11 +34,6 @@ regex = "1.5"
+ # This is used by the `collect-metadata` alias.
+ filetime = "0.2"
+ 
+-# A noop dependency that changes in the Rust repository, it's a bit of a hack.
+-# See the `src/tools/rustc-workspace-hack/README.md` file in `rust-lang/rust`
+-# for more information.
+-rustc-workspace-hack = "1.0"
+-
+ # UI test dependencies
+ clippy_utils = { path = "clippy_utils" }
+ derive-new = "0.5"
+diff --git a/src/tools/rustfmt/Cargo.toml b/src/tools/rustfmt/Cargo.toml
+index 8d9c4a7..f92b1dc 100644
+--- a/src/tools/rustfmt/Cargo.toml
++++ b/src/tools/rustfmt/Cargo.toml
+@@ -58,9 +58,4 @@ lazy_static = "1.0.0"
+ anyhow = "1.0"
+ thiserror = "1.0"
+ 
+-# A noop dependency that changes in the Rust repository, it's a bit of a hack.
+-# See the `src/tools/rustc-workspace-hack/README.md` file in `rust-lang/rust`
+-# for more information.
+-rustc-workspace-hack = "1.0.0"
+-
+ # Rustc dependencies are loaded from the sysroot, Cargo doesn't know about them.
+diff --git a/src/tools/tidy/src/deps.rs b/src/tools/tidy/src/deps.rs
+index 4c28655..0510e71 100644
+--- a/src/tools/tidy/src/deps.rs
++++ b/src/tools/tidy/src/deps.rs
+@@ -274,8 +274,8 @@ const FORBIDDEN_TO_HAVE_DUPLICATES: &[&str] = &[
+     // These two crates take quite a long time to build, so don't allow two versions of them
+     // to accidentally sneak into our dependency graph, in order to ensure we keep our CI times
+     // under control.
+-    "cargo",
+-    "rustc-ap-rustc_ast",
++    //"cargo",
++    //"rustc-ap-rustc_ast",
+ ];
  
-     for &name in FORBIDDEN_TO_HAVE_DUPLICATES {
+ /// Dependency checks.
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0001-disable-miniz.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0001-disable-miniz.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0001-disable-miniz.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0001-disable-miniz.patch	2022-03-06 22:35:27.000000000 +0100
@@ -1,8 +1,16 @@
-Index: rustc.git/vendor/flate2/Cargo.toml
-===================================================================
---- rustc.git.orig/vendor/flate2/Cargo.toml
-+++ rustc.git/vendor/flate2/Cargo.toml
-@@ -45,10 +45,6 @@ version = "1.1.0"
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Sat, 2 Oct 2021 01:07:59 +0100
+Subject: d-0001-disable-miniz
+
+---
+ vendor/flate2/Cargo.toml | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/vendor/flate2/Cargo.toml b/vendor/flate2/Cargo.toml
+index 28649e8..1545c01 100644
+--- a/vendor/flate2/Cargo.toml
++++ b/vendor/flate2/Cargo.toml
+@@ -44,10 +44,6 @@ version = "1.1.0"
  optional = true
  default-features = false
  
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0002-pkg-config-no-special-snowflake.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0002-pkg-config-no-special-snowflake.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0002-pkg-config-no-special-snowflake.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0002-pkg-config-no-special-snowflake.patch	2021-10-22 15:49:55.000000000 +0200
@@ -1,7 +1,16 @@
-Index: rustc.git/vendor/pkg-config/src/lib.rs
-===================================================================
---- rustc.git.orig/vendor/pkg-config/src/lib.rs
-+++ rustc.git/vendor/pkg-config/src/lib.rs
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Sat, 2 Oct 2021 01:08:00 +0100
+Subject: d-0002-pkg-config-no-special-snowflake
+
+---
+ vendor/pkg-config/src/lib.rs    | 22 ++++++++++------------
+ vendor/pkg-config/tests/test.rs |  2 --
+ 2 files changed, 10 insertions(+), 14 deletions(-)
+
+diff --git a/vendor/pkg-config/src/lib.rs b/vendor/pkg-config/src/lib.rs
+index 2be11b3..0975563 100644
+--- a/vendor/pkg-config/src/lib.rs
++++ b/vendor/pkg-config/src/lib.rs
 @@ -9,8 +9,6 @@
  //! A number of environment variables are available to globally configure how
  //! this crate will invoke `pkg-config`:
@@ -66,11 +75,11 @@ Index: rustc.git/vendor/pkg-config/src/l
          let mut cmd = Command::new(exe);
          if self.is_static(name) {
              cmd.arg("--static");
-Index: rustc.git/vendor/pkg-config/tests/test.rs
-===================================================================
---- rustc.git.orig/vendor/pkg-config/tests/test.rs
-+++ rustc.git/vendor/pkg-config/tests/test.rs
-@@ -34,7 +34,6 @@ fn find(name: &str) -> Result<pkg_config
+diff --git a/vendor/pkg-config/tests/test.rs b/vendor/pkg-config/tests/test.rs
+index 33a623c..0f934c4 100644
+--- a/vendor/pkg-config/tests/test.rs
++++ b/vendor/pkg-config/tests/test.rs
+@@ -34,7 +34,6 @@ fn find(name: &str) -> Result<pkg_config::Library, Error> {
      pkg_config::probe_library(name)
  }
  
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0003-mdbook-strip-embedded-libs.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0003-mdbook-strip-embedded-libs.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0003-mdbook-strip-embedded-libs.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0003-mdbook-strip-embedded-libs.patch	2022-03-29 15:17:21.000000000 +0200
@@ -1,35 +1,194 @@
-Description: Use local web resources instead of remote ones
-Author: Matthijs van Otterdijk <matthijs@wirevirt.net>
-Author: Ximin Luo <infinity0@debian.org>
-Bug: https://github.com/azerupi/mdBook/issues/271
-Comment:
- Use https://github.com/infinity0/mdBook/tree/debian to help you rebase the
- patch on top of a newer version.
- .
- Make sure the paths here match the ones in debian/rust-doc.links
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Sat, 2 Oct 2021 01:08:00 +0100
+Subject: d-0003-mdbook-strip-embedded-libs
+
+Comment: Use https://github.com/infinity0/mdBook/tree/debian to help you rebase the patch on top of a newer version. . Make sure the paths here match the ones in debian/rust-doc.links
 ---
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: rustc.git/src/tools/linkchecker/main.rs
-===================================================================
---- rustc.git.orig/src/tools/linkchecker/main.rs
-+++ rustc.git/src/tools/linkchecker/main.rs
-@@ -172,6 +172,11 @@ fn check(cache: &mut Cache, root: &Path,
-         {
-             return;
+ src/tools/linkchecker/main.rs                      | 16 +++-
+ vendor/mdbook/src/book/init.rs                     |  6 --
+ .../src/renderer/html_handlebars/hbs_renderer.rs   | 80 ++-----------------
+ .../mdbook/src/renderer/html_handlebars/search.rs  |  2 -
+ vendor/mdbook/src/theme/index.hbs                  | 93 +---------------------
+ vendor/mdbook/src/theme/mod.rs                     | 27 -------
+ vendor/mdbook/src/theme/searcher/mod.rs            |  2 -
+ 7 files changed, 24 insertions(+), 202 deletions(-)
+
+diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs
+index 94e82e3..ad8dfe5 100644
+--- a/src/tools/linkchecker/main.rs
++++ b/src/tools/linkchecker/main.rs
+@@ -195,7 +195,15 @@ impl Checker {
+     fn check(&mut self, file: &Path, report: &mut Report) {
+         let (pretty_path, entry) = self.load_file(file, report);
+         let source = match entry {
+-            FileEntry::Missing => panic!("missing file {:?} while walking", file),
++            FileEntry::Missing => {
++                if let Ok(target) = fs::read_link(&file) {
++                    if target.starts_with("/usr/share") {
++                        // broken symlink to /usr/share, ok for our Debian build
++                        return;
++                    }
++                }
++                panic!("missing file {:?} while walking", file)
++            }
+             FileEntry::Dir => unreachable!("never with `check` path"),
+             FileEntry::OtherFile => return,
+             FileEntry::Redirect { .. } => return,
+@@ -260,6 +268,12 @@ impl Checker {
+             let (target_pretty_path, target_entry) = self.load_file(&path, report);
+             let (target_source, target_ids) = match target_entry {
+                 FileEntry::Missing => {
++                    if let Ok(target) = fs::read_link(&path) {
++                        if target.starts_with("/usr/share") {
++                            // broken symlink to /usr/share, ok for our Debian build
++                            return;
++                        }
++                    }
+                     if is_exception(file, &target_pretty_path) {
+                         report.links_ignored_exception += 1;
+                     } else {
+diff --git a/vendor/mdbook/src/book/init.rs b/vendor/mdbook/src/book/init.rs
+index 264c113..2b0ff3a 100644
+--- a/vendor/mdbook/src/book/init.rs
++++ b/vendor/mdbook/src/book/init.rs
+@@ -151,12 +151,6 @@ impl BookBuilder {
+         let mut js = File::create(themedir.join("book.js"))?;
+         js.write_all(theme::JS)?;
+ 
+-        let mut highlight_css = File::create(themedir.join("highlight.css"))?;
+-        highlight_css.write_all(theme::HIGHLIGHT_CSS)?;
+-
+-        let mut highlight_js = File::create(themedir.join("highlight.js"))?;
+-        highlight_js.write_all(theme::HIGHLIGHT_JS)?;
+-
+         Ok(())
+     }
+ 
+diff --git a/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs b/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
+index e8da5b4..a0507fd 100644
+--- a/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
++++ b/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
+@@ -3,7 +3,7 @@ use crate::config::{BookConfig, Config, HtmlConfig, Playground, RustEdition};
+ use crate::errors::*;
+ use crate::renderer::html_handlebars::helpers;
+ use crate::renderer::{RenderContext, Renderer};
+-use crate::theme::{self, playground_editor, Theme};
++use crate::theme::{self, Theme};
+ use crate::utils;
+ 
+ use std::borrow::Cow;
+@@ -11,6 +11,7 @@ use std::collections::BTreeMap;
+ use std::collections::HashMap;
+ use std::fs::{self, File};
+ use std::path::{Path, PathBuf};
++use std::os::unix::fs::symlink;
+ 
+ use crate::utils::fs::get_404_output_file;
+ use handlebars::Handlebars;
+@@ -225,80 +226,13 @@ impl HtmlHandlebars {
+         if let Some(contents) = &theme.favicon_svg {
+             write_file(destination, "favicon.svg", contents)?;
          }
-+        // Ignore parent URLs, so that the package installation process can
-+        // provide a symbolic link later
-+        if url.starts_with("../") {
-+            return;
-+        }
-         let (url, fragment) = match url.split_once('#') {
-             None => (url, None),
-             Some((url, fragment)) => (url, Some(fragment)),
-Index: rustc.git/vendor/mdbook/src/theme/index.hbs
-===================================================================
---- rustc.git.orig/vendor/mdbook/src/theme/index.hbs
-+++ rustc.git/vendor/mdbook/src/theme/index.hbs
-@@ -32,13 +32,10 @@
+-        write_file(destination, "highlight.css", &theme.highlight_css)?;
+         write_file(destination, "tomorrow-night.css", &theme.tomorrow_night_css)?;
+         write_file(destination, "ayu-highlight.css", &theme.ayu_highlight_css)?;
+-        write_file(destination, "highlight.js", &theme.highlight_js)?;
+-        write_file(destination, "clipboard.min.js", &theme.clipboard_js)?;
+-        write_file(
+-            destination,
+-            "FontAwesome/css/font-awesome.css",
+-            theme::FONT_AWESOME,
+-        )?;
+-        write_file(
+-            destination,
+-            "FontAwesome/fonts/fontawesome-webfont.eot",
+-            theme::FONT_AWESOME_EOT,
+-        )?;
+-        write_file(
+-            destination,
+-            "FontAwesome/fonts/fontawesome-webfont.svg",
+-            theme::FONT_AWESOME_SVG,
+-        )?;
+-        write_file(
+-            destination,
+-            "FontAwesome/fonts/fontawesome-webfont.ttf",
+-            theme::FONT_AWESOME_TTF,
+-        )?;
+-        write_file(
+-            destination,
+-            "FontAwesome/fonts/fontawesome-webfont.woff",
+-            theme::FONT_AWESOME_WOFF,
+-        )?;
+-        write_file(
+-            destination,
+-            "FontAwesome/fonts/fontawesome-webfont.woff2",
+-            theme::FONT_AWESOME_WOFF2,
+-        )?;
+-        write_file(
+-            destination,
+-            "FontAwesome/fonts/FontAwesome.ttf",
+-            theme::FONT_AWESOME_TTF,
+-        )?;
+-        if html_config.copy_fonts {
+-            write_file(destination, "fonts/fonts.css", theme::fonts::CSS)?;
+-            for (file_name, contents) in theme::fonts::LICENSES.iter() {
+-                write_file(destination, file_name, contents)?;
+-            }
+-            for (file_name, contents) in theme::fonts::OPEN_SANS.iter() {
+-                write_file(destination, file_name, contents)?;
+-            }
+-            write_file(
+-                destination,
+-                theme::fonts::SOURCE_CODE_PRO.0,
+-                theme::fonts::SOURCE_CODE_PRO.1,
+-            )?;
+-        }
+-
+-        let playground_config = &html_config.playground;
+-
+-        // Ace is a very large dependency, so only load it when requested
+-        if playground_config.editable && playground_config.copy_js {
+-            // Load the editor
+-            write_file(destination, "editor.js", playground_editor::JS)?;
+-            write_file(destination, "ace.js", playground_editor::ACE_JS)?;
+-            write_file(destination, "mode-rust.js", playground_editor::MODE_RUST_JS)?;
+-            write_file(
+-                destination,
+-                "theme-dawn.js",
+-                playground_editor::THEME_DAWN_JS,
+-            )?;
+-            write_file(
+-                destination,
+-                "theme-tomorrow_night.js",
+-                playground_editor::THEME_TOMORROW_NIGHT_JS,
+-            )?;
+-        }
++        symlink("/usr/share/fonts-font-awesome/css/font-awesome.min.css", destination.join("css/font-awesome.min.css"))?;
++        symlink("/usr/share/fonts-font-awesome/fonts", destination.join("fonts"))?;
++        symlink("/usr/share/javascript/highlight.js/styles/atelier-dune-light.css", destination.join("highlight.css"))?;
++        symlink("/usr/share/javascript/highlight.js/highlight.js", destination.join("highlight.js"))?;
++        symlink("/usr/share/javascript/mathjax/MathJax.js", destination.join("MathJax.js"))?;
+ 
+         Ok(())
+     }
+diff --git a/vendor/mdbook/src/renderer/html_handlebars/search.rs b/vendor/mdbook/src/renderer/html_handlebars/search.rs
+index 39b5980..7ea49c5 100644
+--- a/vendor/mdbook/src/renderer/html_handlebars/search.rs
++++ b/vendor/mdbook/src/renderer/html_handlebars/search.rs
+@@ -34,8 +34,6 @@ pub fn create_files(search_config: &Search, destination: &Path, book: &Book) ->
+             format!("Object.assign(window.search, {});", index).as_bytes(),
+         )?;
+         utils::fs::write_file(destination, "searcher.js", searcher::JS)?;
+-        utils::fs::write_file(destination, "mark.min.js", searcher::MARK_JS)?;
+-        utils::fs::write_file(destination, "elasticlunr.min.js", searcher::ELASTICLUNR_JS)?;
+         debug!("Copying search files ✓");
+     }
+ 
+diff --git a/vendor/mdbook/src/theme/index.hbs b/vendor/mdbook/src/theme/index.hbs
+index 966eedb..d28ec04 100644
+--- a/vendor/mdbook/src/theme/index.hbs
++++ b/vendor/mdbook/src/theme/index.hbs
+@@ -34,10 +34,7 @@
          {{/if}}
  
          <!-- Fonts -->
@@ -37,24 +196,20 @@ Index: rustc.git/vendor/mdbook/src/theme
 -        {{#if copy_fonts}}
 -        <link rel="stylesheet" href="{{ path_to_root }}fonts/fonts.css">
 -        {{/if}}
-+        <link rel="stylesheet" href="{{ path_to_root }}../font-awesome.min.css">
++        <link rel="stylesheet" href="{{ path_to_root }}css/font-awesome.min.css">
  
          <!-- Highlight.js Stylesheets -->
--        <link rel="stylesheet" href="{{ path_to_root }}highlight.css">
-+        <link rel="stylesheet" href="{{ path_to_root }}../highlight.css">
-         <link rel="stylesheet" href="{{ path_to_root }}tomorrow-night.css">
-         <link rel="stylesheet" href="{{ path_to_root }}ayu-highlight.css">
- 
-@@ -49,7 +46,7 @@
+         <link rel="stylesheet" href="{{ path_to_root }}highlight.css">
+@@ -51,7 +48,7 @@
  
          {{#if mathjax_support}}
          <!-- MathJax -->
 -        <script async type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML";></script>
-+        <script async type="text/javascript" src="../mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
++        <script async type="text/javascript" src="MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
          {{/if}}
      </head>
      <body>
-@@ -59,46 +56,6 @@
+@@ -61,46 +58,6 @@
              var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
          </script>
  
@@ -101,7 +256,7 @@ Index: rustc.git/vendor/mdbook/src/theme
          <nav id="sidebar" class="sidebar" aria-label="Table of contents">
              <div class="sidebar-scrollbox">
                  {{#toc}}{{/toc}}
-@@ -226,53 +183,7 @@
+@@ -236,52 +193,6 @@
          </script>
          {{/if}}
  
@@ -151,139 +306,13 @@ Index: rustc.git/vendor/mdbook/src/theme
 -        {{/if}}
 -
 -        <script src="{{ path_to_root }}clipboard.min.js" type="text/javascript" charset="utf-8"></script>
--        <script src="{{ path_to_root }}highlight.js" type="text/javascript" charset="utf-8"></script>
-+        <script src="{{ path_to_root }}../highlight.js" type="text/javascript" charset="utf-8"></script>
+         <script src="{{ path_to_root }}highlight.js" type="text/javascript" charset="utf-8"></script>
          <script src="{{ path_to_root }}book.js" type="text/javascript" charset="utf-8"></script>
  
-         <!-- Custom JS scripts -->
-Index: rustc.git/vendor/mdbook/src/book/init.rs
-===================================================================
---- rustc.git.orig/vendor/mdbook/src/book/init.rs
-+++ rustc.git/vendor/mdbook/src/book/init.rs
-@@ -151,12 +151,6 @@ impl BookBuilder {
-         let mut js = File::create(themedir.join("book.js"))?;
-         js.write_all(theme::JS)?;
- 
--        let mut highlight_css = File::create(themedir.join("highlight.css"))?;
--        highlight_css.write_all(theme::HIGHLIGHT_CSS)?;
--
--        let mut highlight_js = File::create(themedir.join("highlight.js"))?;
--        highlight_js.write_all(theme::HIGHLIGHT_JS)?;
--
-         Ok(())
-     }
- 
-Index: rustc.git/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
-===================================================================
---- rustc.git.orig/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
-+++ rustc.git/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
-@@ -3,7 +3,7 @@ use crate::config::{Config, HtmlConfig,
- use crate::errors::*;
- use crate::renderer::html_handlebars::helpers;
- use crate::renderer::{RenderContext, Renderer};
--use crate::theme::{self, playground_editor, Theme};
-+use crate::theme::{self, Theme};
- use crate::utils;
- 
- use std::borrow::Cow;
-@@ -198,80 +198,8 @@ impl HtmlHandlebars {
-         if let Some(contents) = &theme.favicon_svg {
-             write_file(destination, "favicon.svg", &contents)?;
-         }
--        write_file(destination, "highlight.css", &theme.highlight_css)?;
-         write_file(destination, "tomorrow-night.css", &theme.tomorrow_night_css)?;
-         write_file(destination, "ayu-highlight.css", &theme.ayu_highlight_css)?;
--        write_file(destination, "highlight.js", &theme.highlight_js)?;
--        write_file(destination, "clipboard.min.js", &theme.clipboard_js)?;
--        write_file(
--            destination,
--            "FontAwesome/css/font-awesome.css",
--            theme::FONT_AWESOME,
--        )?;
--        write_file(
--            destination,
--            "FontAwesome/fonts/fontawesome-webfont.eot",
--            theme::FONT_AWESOME_EOT,
--        )?;
--        write_file(
--            destination,
--            "FontAwesome/fonts/fontawesome-webfont.svg",
--            theme::FONT_AWESOME_SVG,
--        )?;
--        write_file(
--            destination,
--            "FontAwesome/fonts/fontawesome-webfont.ttf",
--            theme::FONT_AWESOME_TTF,
--        )?;
--        write_file(
--            destination,
--            "FontAwesome/fonts/fontawesome-webfont.woff",
--            theme::FONT_AWESOME_WOFF,
--        )?;
--        write_file(
--            destination,
--            "FontAwesome/fonts/fontawesome-webfont.woff2",
--            theme::FONT_AWESOME_WOFF2,
--        )?;
--        write_file(
--            destination,
--            "FontAwesome/fonts/FontAwesome.ttf",
--            theme::FONT_AWESOME_TTF,
--        )?;
--        if html_config.copy_fonts {
--            write_file(destination, "fonts/fonts.css", theme::fonts::CSS)?;
--            for (file_name, contents) in theme::fonts::LICENSES.iter() {
--                write_file(destination, file_name, contents)?;
--            }
--            for (file_name, contents) in theme::fonts::OPEN_SANS.iter() {
--                write_file(destination, file_name, contents)?;
--            }
--            write_file(
--                destination,
--                theme::fonts::SOURCE_CODE_PRO.0,
--                theme::fonts::SOURCE_CODE_PRO.1,
--            )?;
--        }
--
--        let playground_config = &html_config.playground;
--
--        // Ace is a very large dependency, so only load it when requested
--        if playground_config.editable && playground_config.copy_js {
--            // Load the editor
--            write_file(destination, "editor.js", playground_editor::JS)?;
--            write_file(destination, "ace.js", playground_editor::ACE_JS)?;
--            write_file(destination, "mode-rust.js", playground_editor::MODE_RUST_JS)?;
--            write_file(
--                destination,
--                "theme-dawn.js",
--                playground_editor::THEME_DAWN_JS,
--            )?;
--            write_file(
--                destination,
--                "theme-tomorrow_night.js",
--                playground_editor::THEME_TOMORROW_NIGHT_JS,
--            )?;
--        }
- 
-         Ok(())
-     }
-Index: rustc.git/vendor/mdbook/src/renderer/html_handlebars/search.rs
-===================================================================
---- rustc.git.orig/vendor/mdbook/src/renderer/html_handlebars/search.rs
-+++ rustc.git/vendor/mdbook/src/renderer/html_handlebars/search.rs
-@@ -34,8 +34,6 @@ pub fn create_files(search_config: &Sear
-             format!("Object.assign(window.search, {});", index).as_bytes(),
-         )?;
-         utils::fs::write_file(destination, "searcher.js", searcher::JS)?;
--        utils::fs::write_file(destination, "mark.min.js", searcher::MARK_JS)?;
--        utils::fs::write_file(destination, "elasticlunr.min.js", searcher::ELASTICLUNR_JS)?;
-         debug!("Copying search files ✓");
-     }
- 
-Index: rustc.git/vendor/mdbook/src/theme/mod.rs
-===================================================================
---- rustc.git.orig/vendor/mdbook/src/theme/mod.rs
-+++ rustc.git/vendor/mdbook/src/theme/mod.rs
+diff --git a/vendor/mdbook/src/theme/mod.rs b/vendor/mdbook/src/theme/mod.rs
+index a1ee18a..d059f01 100644
+--- a/vendor/mdbook/src/theme/mod.rs
++++ b/vendor/mdbook/src/theme/mod.rs
 @@ -1,9 +1,5 @@
  #![allow(missing_docs)]
  
@@ -294,7 +323,7 @@ Index: rustc.git/vendor/mdbook/src/theme
  #[cfg(feature = "search")]
  pub mod searcher;
  
-@@ -24,19 +20,8 @@ pub static VARIABLES_CSS: &[u8] = includ
+@@ -24,19 +20,8 @@ pub static VARIABLES_CSS: &[u8] = include_bytes!("css/variables.css");
  pub static FAVICON_PNG: &[u8] = include_bytes!("favicon.png");
  pub static FAVICON_SVG: &[u8] = include_bytes!("favicon.svg");
  pub static JS: &[u8] = include_bytes!("book.js");
@@ -360,10 +389,10 @@ Index: rustc.git/vendor/mdbook/src/theme
          };
  
          assert_eq!(got, empty);
-Index: rustc.git/vendor/mdbook/src/theme/searcher/mod.rs
-===================================================================
---- rustc.git.orig/vendor/mdbook/src/theme/searcher/mod.rs
-+++ rustc.git/vendor/mdbook/src/theme/searcher/mod.rs
+diff --git a/vendor/mdbook/src/theme/searcher/mod.rs b/vendor/mdbook/src/theme/searcher/mod.rs
+index d5029db..59eda8a 100644
+--- a/vendor/mdbook/src/theme/searcher/mod.rs
++++ b/vendor/mdbook/src/theme/searcher/mod.rs
 @@ -2,5 +2,3 @@
  //! the "search" cargo feature is disabled.
  
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0004-cc-psm-rebuild-wasm32.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0004-cc-psm-rebuild-wasm32.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0004-cc-psm-rebuild-wasm32.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0004-cc-psm-rebuild-wasm32.patch	2022-03-29 15:17:21.000000000 +0200
@@ -1,6 +1,17 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Sat, 2 Oct 2021 01:08:00 +0100
+Subject: d-0004-cc-psm-rebuild-wasm32
+
+---
+ vendor/cc/src/lib.rs | 2 +-
+ vendor/psm/build.rs  | 7 ++-----
+ 2 files changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/vendor/cc/src/lib.rs b/vendor/cc/src/lib.rs
+index a268fbe..b13944c 100644
 --- a/vendor/cc/src/lib.rs
 +++ b/vendor/cc/src/lib.rs
-@@ -2000,7 +2000,7 @@
+@@ -2193,7 +2193,7 @@ impl Build {
                      || target == "wasm32-unknown-wasi"
                      || target == "wasm32-unknown-unknown"
                  {
@@ -9,9 +20,11 @@
                  } else if target.contains("vxworks") {
                      if self.cpp {
                          "wr-c++".to_string()
+diff --git a/vendor/psm/build.rs b/vendor/psm/build.rs
+index 01a13bf..30bd68d 100644
 --- a/vendor/psm/build.rs
 +++ b/vendor/psm/build.rs
-@@ -27,7 +27,7 @@
+@@ -50,7 +50,7 @@ fn find_assembly(
          ("sparc", _, _, _) => Some(("src/arch/sparc_sysv.s", true)),
          ("riscv32", _, _, _) => Some(("src/arch/riscv.s", true)),
          ("riscv64", _, _, _) => Some(("src/arch/riscv64.s", true)),
@@ -20,7 +33,7 @@
          _ => None,
      }
  }
-@@ -61,11 +61,8 @@
+@@ -94,11 +94,8 @@ fn main() {
          cfg.define(&*format!("CFG_TARGET_ENV_{}", env), None);
      }
  
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0005-clippy-feature-sync.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0005-clippy-feature-sync.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0005-clippy-feature-sync.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0005-clippy-feature-sync.patch	2022-03-29 15:17:21.000000000 +0200
@@ -0,0 +1,45 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Sat, 2 Oct 2021 01:08:00 +0100
+Subject: d-0005-clippy-feature-sync
+
+enable features needed by rustfmt to make build system happy and speedup build.
+this is what rustc_workspace_hack does in the upstream build.
+---
+ src/tools/clippy/Cargo.toml  | 3 ++-
+ src/tools/rustfmt/Cargo.toml | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/tools/clippy/Cargo.toml b/src/tools/clippy/Cargo.toml
+index e94b7e2..6ab5209 100644
+--- a/src/tools/clippy/Cargo.toml
++++ b/src/tools/clippy/Cargo.toml
+@@ -25,6 +25,7 @@ clippy_lints = { version = "0.1", path = "clippy_lints" }
+ semver = "1.0"
+ rustc_tools_util = { version = "0.2", path = "rustc_tools_util" }
+ tempfile = { version = "3.2", optional = true }
++memchr = { version = "2.4", default_features = false, features = ["use_std"] }
+ 
+ [dev-dependencies]
+ cargo_metadata = "0.14"
+@@ -41,7 +42,7 @@ if_chain = "1.0"
+ itertools = "0.10"
+ quote = "1.0"
+ serde = { version = "1.0", features = ["derive"] }
+-syn = { version = "1.0", features = ["full"] }
++syn = { version = "1.0", features = ["full", "visit"] }
+ parking_lot = "0.11.2"
+ 
+ [build-dependencies]
+diff --git a/src/tools/rustfmt/Cargo.toml b/src/tools/rustfmt/Cargo.toml
+index f92b1dc..9e3b2a7 100644
+--- a/src/tools/rustfmt/Cargo.toml
++++ b/src/tools/rustfmt/Cargo.toml
+@@ -36,7 +36,7 @@ generic-simd = ["bytecount/generic-simd"]
+ itertools = "0.9"
+ toml = "0.5"
+ serde = { version = "1.0", features = ["derive"] }
+-serde_json = "1.0"
++serde_json = { version = "1.0", features = ["unbounded_depth"] }
+ unicode-segmentation = "1.0.0"
+ regex = "1.0"
+ term = "0.6"
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0006-no-jemalloc.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0006-no-jemalloc.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-0006-no-jemalloc.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-0006-no-jemalloc.patch	2022-03-06 22:35:27.000000000 +0100
@@ -0,0 +1,30 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Sat, 2 Oct 2021 01:08:00 +0100
+Subject: d-0006-no-jemalloc
+
+---
+ compiler/rustc/Cargo.toml | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/compiler/rustc/Cargo.toml b/compiler/rustc/Cargo.toml
+index 277cf0f..645ed3d 100644
+--- a/compiler/rustc/Cargo.toml
++++ b/compiler/rustc/Cargo.toml
+@@ -9,17 +9,6 @@ rustc_driver = { path = "../rustc_driver" }
+ # Make sure rustc_codegen_ssa ends up in the sysroot, because this
+ # crate is intended to be used by codegen backends, which may not be in-tree.
+ rustc_codegen_ssa = { path = "../rustc_codegen_ssa" }
+-
+-[dependencies.tikv-jemalloc-sys]
+-version = '0.4.0'
+-optional = true
+-features = ['unprefixed_malloc_on_supported_platforms']
+-
+-[dependencies.tikv-jemallocator]
+-version = '0.4.0'
+-optional = true
+-
+ [features]
+-jemalloc = ['tikv-jemalloc-sys', 'tikv-jemallocator']
+ llvm = ['rustc_driver/llvm']
+ max_level_info = ['rustc_driver/max_level_info']
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-add-soname.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-add-soname.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-add-soname.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-add-soname.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,38 +0,0 @@
-Description: Set DT_SONAME when building dylibs
- In Rust, library filenames include a version-specific hash to help
- the run-time linker find the correct version.  Unlike in C/C++, the
- compiler looks for all libraries matching a glob that ignores the
- hash and reads embedded metadata to work out versions, etc.
- .
- The upshot is that there is no need for the usual "libfoo.so ->
- libfoo-1.2.3.so" symlink common with C/C++ when building with Rust,
- and no need to communicate an alternate filename to use at run-time
- vs compile time.  If linking to a Rust dylib from C/C++ however, a
- "libfoo.so -> libfoo-$hash.so" symlink may well be useful and in
- this case DT_SONAME=libfoo-$hash.so would be required.  More
- mundanely, various tools (eg: dpkg-shlibdeps) complain if they don't
- find DT_SONAME on shared libraries in public directories.
- .
- This patch passes -Wl,-soname=$outfile when building dylibs (and
- using a GNU linker).
-Author: Angus Lees <gus@debian.org>
-Forwarded: no
-
-Index: rustc.git/compiler/rustc_codegen_ssa/src/back/link.rs
-===================================================================
---- rustc.git.orig/compiler/rustc_codegen_ssa/src/back/link.rs
-+++ rustc.git/compiler/rustc_codegen_ssa/src/back/link.rs
-@@ -1716,6 +1716,13 @@ fn linker_with_args<'a, B: ArchiveBuilde
-     // OBJECT-FILES-NO, AUDIT-ORDER
-     add_rpath_args(cmd, sess, codegen_results, out_filename);
- 
-+    if (crate_type == config::CrateType::Dylib || crate_type == config::CrateType::Cdylib)
-+       && sess.target.linker_is_gnu {
-+        let filename = String::from(out_filename.file_name().unwrap().to_str().unwrap());
-+        let soname = [String::from("-Wl,-soname=") + &filename];
-+        cmd.args(&soname);
-+    }
-+
-     // OBJECT-FILES-MAYBE, CUSTOMIZATION-POINT
-     add_user_defined_link_args(cmd, sess, codegen_results);
- 
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-cargo-doc-paths.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-cargo-doc-paths.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-cargo-doc-paths.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-cargo-doc-paths.patch	2022-03-09 00:29:22.000000000 +0100
@@ -0,0 +1,226 @@
+Description: Fix links to cargo-doc
+ We package cargo docs in a slightly different location; also tweak linkchecker
+ to not fail these links.
+
+Index: rust/src/tools/linkchecker/main.rs
+===================================================================
+--- rust.orig/src/tools/linkchecker/main.rs
++++ rust/src/tools/linkchecker/main.rs
+@@ -272,6 +272,12 @@ impl Checker {
+                             return;
+                         }
+                     }
++                    if let Some(path_str) = path.to_str() {
++                        if path_str.contains("/cargo-doc/doc/") {
++                            // link to related cargo-doc, ok for our Debian build
++                            return;
++                        }
++                    }
+                     if is_exception(file, &target_pretty_path) {
+                         report.links_ignored_exception += 1;
+                     } else {
+Index: rust/src/doc/index.md
+===================================================================
+--- rust.orig/src/doc/index.md
++++ rust/src/doc/index.md
+@@ -87,7 +87,7 @@ accomplishing various tasks.
+ 
+ ## The Cargo Book
+ 
+-[The Cargo Book](cargo/index.html) is a guide to Cargo, Rust's build tool and dependency manager.
++[The Cargo Book](../../cargo-doc/doc/index.html) is a guide to Cargo, Rust's build tool and dependency manager.
+ 
+ ## The Rustdoc Book
+ 
+Index: rust/src/doc/reference/src/conditional-compilation.md
+===================================================================
+--- rust.orig/src/doc/reference/src/conditional-compilation.md
++++ rust/src/doc/reference/src/conditional-compilation.md
+@@ -335,6 +335,6 @@ println!("I'm running on a {} machine!",
+ [`target_feature` attribute]: attributes/codegen.md#the-target_feature-attribute
+ [attribute]: attributes.md
+ [attributes]: attributes.md
+-[cargo-feature]: ../cargo/reference/features.html
++[cargo-feature]: ../../cargo-doc/doc/reference/features.html
+ [crate type]: linkage.md
+ [static C runtime]: linkage.md#static-and-dynamic-c-runtimes
+Index: rust/src/doc/reference/src/introduction.md
+===================================================================
+--- rust.orig/src/doc/reference/src/introduction.md
++++ rust/src/doc/reference/src/introduction.md
+@@ -135,8 +135,8 @@ We also want the reference to be as norm
+ [the Rust Reference repository]: https://github.com/rust-lang/reference/
+ [Unstable Book]: https://doc.rust-lang.org/nightly/unstable-book/
+ [_Expression_]: expressions.md
+-[cargo book]: ../cargo/index.html
+-[cargo reference]: ../cargo/reference/index.html
++[cargo book]: ../../cargo-doc/doc/index.html
++[cargo reference]: ../../cargo-doc/doc/reference/index.html
+ [expressions chapter]: expressions.html
+ [file an issue]: https://github.com/rust-lang/reference/issues
+ [lifetime of temporaries]: expressions.html#temporaries
+Index: rust/src/doc/reference/src/linkage.md
+===================================================================
+--- rust.orig/src/doc/reference/src/linkage.md
++++ rust/src/doc/reference/src/linkage.md
+@@ -201,7 +201,7 @@ fn main() {
+ }
+ ```
+ 
+-[cargo]: ../cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-build-scripts
++[cargo]: ../../cargo-doc/doc/reference/environment-variables.html#environment-variables-cargo-sets-for-build-scripts
+ 
+ To use this feature locally, you typically will use the `RUSTFLAGS` environment
+ variable to specify flags to the compiler through Cargo. For example to compile
+Index: rust/src/doc/reference/src/procedural-macros.md
+===================================================================
+--- rust.orig/src/doc/reference/src/procedural-macros.md
++++ rust/src/doc/reference/src/procedural-macros.md
+@@ -272,7 +272,7 @@ fn invoke4() {}
+ ```
+ 
+ [Attribute macros]: #attribute-macros
+-[Cargo's build scripts]: ../cargo/reference/build-scripts.html
++[Cargo's build scripts]: ../../cargo-doc/doc/reference/build-scripts.html
+ [Derive macros]: #derive-macros
+ [Function-like macros]: #function-like-procedural-macros
+ [`TokenStream`]: ../proc_macro/struct.TokenStream.html
+Index: rust/src/doc/rustc/src/tests/index.md
+===================================================================
+--- rust.orig/src/doc/rustc/src/tests/index.md
++++ rust/src/doc/rustc/src/tests/index.md
+@@ -300,7 +300,7 @@ Experimental support for using custom te
+ [`--test` option]: ../command-line-arguments.md#option-test
+ [`-Z panic-abort-tests`]: https://github.com/rust-lang/rust/issues/67650
+ [`available_parallelism`]: ../../std/thread/fn.available_parallelism.html
+-[`cargo test`]: ../../cargo/commands/cargo-test.html
++[`cargo test`]: ../../../cargo-doc/doc/commands/cargo-test.html
+ [`libtest`]: ../../test/index.html
+ [`main` function]: ../../reference/crates-and-source-files.html#main-functions
+ [`Result`]: ../../std/result/index.html
+@@ -309,7 +309,7 @@ Experimental support for using custom te
+ [attribute-should_panic]: ../../reference/attributes/testing.html#the-should_panic-attribute
+ [attribute-test]: ../../reference/attributes/testing.html#the-test-attribute
+ [bench-docs]: ../../unstable-book/library-features/test.html
+-[Cargo]: ../../cargo/index.html
++[Cargo]: ../../../cargo-doc/doc/index.html
+ [crate type]: ../../reference/linkage.html
+ [custom_test_frameworks documentation]: ../../unstable-book/language-features/custom-test-frameworks.html
+ [nightly channel]: ../../book/appendix-07-nightly-rust.html
+Index: rust/src/doc/rustc/src/what-is-rustc.md
+===================================================================
+--- rust.orig/src/doc/rustc/src/what-is-rustc.md
++++ rust/src/doc/rustc/src/what-is-rustc.md
+@@ -5,7 +5,7 @@ language, provided by the project itself
+ produce binary code, either as a library or executable.
+ 
+ Most Rust programmers don't invoke `rustc` directly, but instead do it through
+-[Cargo](../cargo/index.html). It's all in service of `rustc` though! If you
++[Cargo](../../cargo-doc/doc/index.html). It's all in service of `rustc` though! If you
+ want to see how Cargo calls `rustc`, you can
+ 
+ ```bash
+Index: rust/src/doc/edition-guide/book.toml
+===================================================================
+--- rust.orig/src/doc/edition-guide/book.toml
++++ rust/src/doc/edition-guide/book.toml
+@@ -53,15 +53,15 @@ git-repository-url = "https://github.com
+ "/rust-2018/the-compiler/incremental-compilation-for-faster-compiles.html" = "https://blog.rust-lang.org/2018/02/15/Rust-1.24.html#incremental-compilation";
+ "/rust-2018/the-compiler/an-attribute-for-deprecation.html" = "../../../reference/attributes/diagnostics.html#the-deprecated-attribute"
+ "/rust-2018/rustup-for-managing-rust-versions.html" = "https://rust-lang.github.io/rustup/";
+-"/rust-2018/cargo-and-crates-io/index.html" = "../../../cargo/index.html"
+-"/rust-2018/cargo-and-crates-io/cargo-check-for-faster-checking.html" = "../../../cargo/commands/cargo-check.html"
+-"/rust-2018/cargo-and-crates-io/cargo-install-for-easy-installation-of-tools.html" = "../../../cargo/commands/cargo-install.html"
++"/rust-2018/cargo-and-crates-io/index.html" = "../../../../cargo-doc/doc/index.html"
++"/rust-2018/cargo-and-crates-io/cargo-check-for-faster-checking.html" = "../../../../cargo-doc/doc/commands/cargo-check.html"
++"/rust-2018/cargo-and-crates-io/cargo-install-for-easy-installation-of-tools.html" = "../../../../cargo-doc/doc/commands/cargo-install.html"
+ "/rust-2018/cargo-and-crates-io/cargo-new-defaults-to-a-binary-project.html" = "https://blog.rust-lang.org/2018/03/29/Rust-1.25.html#cargo-features";
+-"/rust-2018/cargo-and-crates-io/cargo-rustc-for-passing-arbitrary-flags-to-rustc.html" = "../../../cargo/commands/cargo-rustc.html"
+-"/rust-2018/cargo-and-crates-io/cargo-workspaces-for-multi-package-projects.html" = "../../../cargo/reference/workspaces.html"
+-"/rust-2018/cargo-and-crates-io/multi-file-examples.html" = "../../../cargo/guide/project-layout.html"
+-"/rust-2018/cargo-and-crates-io/replacing-dependencies-with-patch.html" = "../../../cargo/reference/overriding-dependencies.html#the-patch-section"
+-"/rust-2018/cargo-and-crates-io/cargo-can-use-a-local-registry-replacement.html" = "../../../cargo/reference/source-replacement.html"
++"/rust-2018/cargo-and-crates-io/cargo-rustc-for-passing-arbitrary-flags-to-rustc.html" = "../../../../cargo-doc/doc/commands/cargo-rustc.html"
++"/rust-2018/cargo-and-crates-io/cargo-workspaces-for-multi-package-projects.html" = "../../../../cargo-doc/doc/reference/workspaces.html"
++"/rust-2018/cargo-and-crates-io/multi-file-examples.html" = "../../../../cargo-doc/doc/guide/project-layout.html"
++"/rust-2018/cargo-and-crates-io/replacing-dependencies-with-patch.html" = "../../../../cargo-doc/doc/reference/overriding-dependencies.html#the-patch-section"
++"/rust-2018/cargo-and-crates-io/cargo-can-use-a-local-registry-replacement.html" = "../../../../cargo-doc/doc/reference/source-replacement.html"
+ "/rust-2018/cargo-and-crates-io/crates-io-disallows-wildcard-dependencies.html" = "https://blog.rust-lang.org/2016/01/21/Rust-1.6.html#cratesio-disallows-wildcards";
+ "/rust-2018/documentation/index.html" = "../../../index.html"
+ "/rust-2018/documentation/new-editions-of-the-book.html" = "../../../book/index.html"
+@@ -93,4 +93,4 @@ git-repository-url = "https://github.com
+ "/rust-next/future.html" = "../../std/future/trait.Future.html"
+ "/rust-next/alloc.html" = "https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html#the-alloc-crate-is-stable";
+ "/rust-next/maybe-uninit.html" = "https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html#maybeuninitt-instead-of-memuninitialized";
+-"/rust-next/cargo-vendor.html" = "../../cargo/commands/cargo-vendor.html"
++"/rust-next/cargo-vendor.html" = "../../../cargo-doc/doc/commands/cargo-vendor.html"
+Index: rust/src/doc/edition-guide/src/editions/advanced-migrations.md
+===================================================================
+--- rust.orig/src/doc/edition-guide/src/editions/advanced-migrations.md
++++ rust/src/doc/edition-guide/src/editions/advanced-migrations.md
+@@ -186,18 +186,18 @@ Afterwards, the line with `extern crate
+ 
+ We're now more idiomatic, and we didn't have to fix our code manually!
+ 
+-[`cargo check`]: ../../cargo/commands/cargo-check.html
+-[`cargo fix`]: ../../cargo/commands/cargo-fix.html
++[`cargo check`]: ../../../cargo-doc/doc/commands/cargo-check.html
++[`cargo fix`]: ../../../cargo-doc/doc/commands/cargo-fix.html
+ [`explicit-outlives-requirements`]:  ../../rustc/lints/listing/allowed-by-default.html#explicit-outlives-requirements
+ [`keyword-idents`]: ../../rustc/lints/listing/allowed-by-default.html#keyword-idents
+ [`rustfix`]: https://github.com/rust-lang/rustfix
+ [`unused-extern-crates`]: ../../rustc/lints/listing/allowed-by-default.html#unused-extern-crates
+-[Cargo features]: ../../cargo/reference/features.html
+-[Cargo package]: ../../cargo/reference/manifest.html#the-package-section
+-[Cargo targets]: ../../cargo/reference/cargo-targets.html
+-[Cargo workspace]: ../../cargo/reference/workspaces.html
++[Cargo features]: ../../../cargo-doc/doc/reference/features.html
++[Cargo package]: ../../../cargo-doc/doc/reference/manifest.html#the-package-section
++[Cargo targets]: ../../../cargo-doc/doc/reference/cargo-targets.html
++[Cargo workspace]: ../../../cargo-doc/doc/reference/workspaces.html
+ [CLI flag]: ../../rustc/lints/levels.html#via-compiler-flag
+-[Code generation]: ../../cargo/reference/build-script-examples.html#code-generation
++[Code generation]: ../../../cargo-doc/doc/reference/build-script-examples.html#code-generation
+ [conditional compilation]: ../../reference/conditional-compilation.html
+ [documentation tests]: ../../rustdoc/documentation-tests.html
+ [JSON messages]: ../../rustc/json.html
+Index: rust/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
+===================================================================
+--- rust.orig/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
++++ rust/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
+@@ -83,7 +83,7 @@ If new warnings are issued, you may want
+ 
+ Congrats! Your code is now valid in both Rust 2015 and Rust 2018!
+ 
+-[`cargo fix`]: ../../cargo/commands/cargo-fix.html
+-[`cargo test`]: ../../cargo/commands/cargo-test.html
++[`cargo fix`]: ../../../cargo-doc/doc/commands/cargo-fix.html
++[`cargo test`]: ../../../cargo-doc/doc/commands/cargo-test.html
+ [Advanced migration strategies]: advanced-migrations.md
+ [nightly channel]: ../../book/appendix-07-nightly-rust.html
+Index: rust/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
+===================================================================
+--- rust.orig/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
++++ rust/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
+@@ -21,11 +21,11 @@ The new feature resolver no longer merge
+ crates that are depended on in multiple ways.
+ See [the announcement of Rust 1.51][5] for details.
+ 
+-[4]: ../../cargo/reference/resolver.html#feature-resolver-version-2
++[4]: ../../../cargo-doc/doc/reference/resolver.html#feature-resolver-version-2
+ [5]: https://blog.rust-lang.org/2021/03/25/Rust-1.51.0.html#cargos-new-feature-resolver
+-[workspace]: ../../cargo/reference/workspaces.html
+-[virtual workspace]: ../../cargo/reference/workspaces.html#virtual-manifest
+-[`resolver` field]: ../../cargo/reference/resolver.html#resolver-versions
++[workspace]: ../../../cargo-doc/doc/reference/workspaces.html
++[virtual workspace]: ../../../cargo-doc/doc/reference/workspaces.html#virtual-manifest
++[`resolver` field]: ../../../cargo-doc/doc/reference/resolver.html#resolver-versions
+ 
+ ## Migration
+ 
+@@ -176,4 +176,4 @@ This snippet of output shows that the pr
+ Then, `bar` depends on `bstr` as a build-dependency with the "default" feature.
+ We can further see that `bstr`'s  "default" feature enables "unicode" (among other features).
+ 
+-[`cargo tree`]: ../../cargo/commands/cargo-tree.html
++[`cargo tree`]: ../../../cargo-doc/doc/commands/cargo-tree.html
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-custom-debuginfo-path.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-custom-debuginfo-path.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-custom-debuginfo-path.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-custom-debuginfo-path.patch	2022-03-06 22:59:25.000000000 +0100
@@ -0,0 +1,26 @@
+--- a/src/bootstrap/lib.rs
++++ b/src/bootstrap/lib.rs
+@@ -933,10 +933,9 @@ impl Build {
+ 
+         match which {
+             GitRepo::Rustc => {
+-                let sha = self.rust_sha().unwrap_or(&self.version);
+-                Some(format!("/rustc/{}", sha))
++                Some(format!("/usr/src/rustc-{}", &self.version))
+             }
+-            GitRepo::Llvm => Some(String::from("/rustc/llvm")),
++            GitRepo::Llvm => panic!("GitRepo::Llvm unsupported on Debian"),
+         }
+     }
+ 
+--- a/src/test/codegen/remap_path_prefix/issue-73167-remap-std.rs
++++ b/src/test/codegen/remap_path_prefix/issue-73167-remap-std.rs
+@@ -7,7 +7,7 @@
+ // true automatically. If paths to std library hasn't been remapped, we use the
+ // above simulate-remapped-rust-src-base option to do it temporarily
+ 
+-// CHECK: !DIFile(filename: "{{/rustc/.*/library/std/src/panic.rs}}"
++// CHECK: !DIFile(filename: "{{/usr/src/rustc-.*/library/std/src/panic.rs}}"
+ fn main() {
+     std::thread::spawn(|| {
+         println!("hello");
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-disable-git.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-disable-git.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-disable-git.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-disable-git.patch	2022-03-06 22:59:25.000000000 +0100
@@ -0,0 +1,33 @@
+Description: Don't check for cargo-vendor when building from (Debian's) git
+Author: Matthijs van Otterdijk <matthijs@wirevirt.net>
+Forwarded: not-needed
+---
+--- a/src/bootstrap/dist.rs
++++ b/src/bootstrap/dist.rs
+@@ -918,7 +918,10 @@ impl Step for PlainSourceTarball {
+         }
+ 
+         // If we're building from git sources, we need to vendor a complete distribution.
+-        if builder.rust_info.is_git() {
++        //
++        // Debian: disabling this block because the debian package is also in a git
++        //         repository, but cargo-vendor should not be installed or run.
++        if false && builder.rust_info.is_git() {
+             // Vendor all Cargo dependencies
+             let mut cmd = Command::new(&builder.initial_cargo);
+             cmd.arg("vendor")
+--- a/src/bootstrap/channel.rs
++++ b/src/bootstrap/channel.rs
+@@ -30,7 +30,11 @@
+ impl GitInfo {
+     pub fn new(ignore_git: bool, dir: &Path) -> GitInfo {
+         // See if this even begins to look like a git dir
+-        if !dir.join(".git").exists() {
++        //
++        // Debian: force-enabling this block because the debian package is also in a git
++        //         repository, but we don't want to parse gitinfo. This is needed for the
++        //         bootstrap tests to work which running for Debian git.
++        if true || !dir.join(".git").exists() {
+             return GitInfo::Absent;
+         }
+ 
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-install-symlinks.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-install-symlinks.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-install-symlinks.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-install-symlinks.patch	2021-10-22 15:49:55.000000000 +0200
@@ -0,0 +1,28 @@
+Description: Install symlinks as-is, don't dereference them
+ Our patch to mdbook installs symlinks to systems versions of font-awesome,
+ highlight, etc. Upstream mdbook otherwise doesn't use symlinks, so this
+ doesn't affect anything else that's already generated.
+
+--- a/src/tools/rust-installer/install-template.sh
++++ b/src/tools/rust-installer/install-template.sh
+@@ -625,7 +625,10 @@
+ 
+ 		    maybe_backup_path "$_file_install_path"
+ 
+-		    if echo "$_file" | grep "^bin/" > /dev/null || test -x "$_src_dir/$_component/$_file"
++		    if [ -h "$_src_dir/$_component/$_file" ]
++		    then
++			run cp -d "$_src_dir/$_component/$_file" "$_file_install_path"
++		    elif echo "$_file" | grep "^bin/" > /dev/null || test -x "$_src_dir/$_component/$_file"
+ 		    then
+ 			run cp "$_src_dir/$_component/$_file" "$_file_install_path"
+ 			run chmod 755 "$_file_install_path"
+@@ -647,7 +650,7 @@
+ 
+ 		    maybe_backup_path "$_file_install_path"
+ 
+-		    run cp -R "$_src_dir/$_component/$_file" "$_file_install_path"
++		    run cp -dR "$_src_dir/$_component/$_file" "$_file_install_path"
+ 		    critical_need_ok "failed to copy directory"
+ 
+                     # Set permissions. 0755 for dirs, 644 for files
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-no-assume-tools.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-no-assume-tools.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-no-assume-tools.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-no-assume-tools.patch	2021-10-22 15:49:55.000000000 +0200
@@ -0,0 +1,15 @@
+--- a/src/bootstrap/builder/tests.rs
++++ b/src/bootstrap/builder/tests.rs
+@@ -277,8 +277,12 @@
+         let a = TargetSelection::from_user("A");
+         let b = TargetSelection::from_user("B");
+         let mut build = Build::new(configure(&["A", "B"], &["A", "B"]));
++        let mut tools = std::collections::HashSet::new();
++        tools.insert("clippy".to_string());
++        tools.insert("rustfmt".to_string());
+         build.config.docs = false;
+         build.config.extended = true;
++        build.config.tools = Some(tools);
+         build.hosts = vec![b];
+         let mut builder = Builder::new(&build);
+         builder.run_step_descriptions(&Builder::get_step_descriptions(Kind::Dist), &[]);
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-old-cargo-compat.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-old-cargo-compat.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-old-cargo-compat.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-old-cargo-compat.patch	2022-03-06 22:59:25.000000000 +0100
@@ -0,0 +1,38 @@
+Description: Backwards-compat for cargo 0.47
+
+  The flag being removed here was added in
+  https://github.com/rust-lang/cargo/pull/9404 released in cargo 0.54
+  
+  This works around a feature introduced in this PR
+  https://github.com/rust-lang/cargo/pull/8640 released in cargo 0.53
+  
+  Therefore it is not needed for Debian's current cargo 0.47.
+  
+  We can drop this patch when updating to cargo 0.54 and later.
+
+--- a/src/bootstrap/doc.rs
++++ b/src/bootstrap/doc.rs
+@@ -443,7 +443,6 @@ impl Step for Std {
+             cargo
+                 .arg("-p")
+                 .arg(package)
+-                .arg("-Zskip-rustdoc-fingerprint")
+                 .arg("--")
+                 .arg("--markdown-css")
+                 .arg("rust.css")
+@@ -589,7 +588,6 @@ impl Step for Rustc {
+         cargo.rustdocflag("--generate-link-to-definition");
+         compile::rustc_cargo(builder, &mut cargo, target);
+         cargo.arg("-Zunstable-options");
+-        cargo.arg("-Zskip-rustdoc-fingerprint");
+ 
+         // Only include compiler crates, no dependencies of those, such as `libc`.
+         // Do link to dependencies on `docs.rs` however using `rustdoc-map`.
+@@ -722,7 +720,6 @@ macro_rules! tool_doc {
+                     &[],
+                 );
+ 
+-                cargo.arg("-Zskip-rustdoc-fingerprint");
+                 // Only include compiler crates, no dependencies of those, such as `libc`.
+                 cargo.arg("--no-deps");
+                 $(
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-read-beta-version-from-file.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-read-beta-version-from-file.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-read-beta-version-from-file.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-read-beta-version-from-file.patch	2022-03-06 22:59:25.000000000 +0100
@@ -0,0 +1,24 @@
+--- a/src/bootstrap/lib.rs
++++ b/src/bootstrap/lib.rs
+@@ -1161,15 +1161,13 @@ impl Build {
+             return s;
+         }
+ 
+-        // Figure out how many merge commits happened since we branched off master.
+-        // That's our beta number!
+-        // (Note that we use a `..` range, not the `...` symmetric difference.)
++        // Debian: read beta number from "version" file, this is only available
++        // in the rustc upstream tarballs and not their git
+         let count = output(
+-            Command::new("git")
+-                .arg("rev-list")
+-                .arg("--count")
+-                .arg("--merges")
+-                .arg("refs/remotes/origin/master..HEAD")
++            Command::new("sed")
++                .arg("-re")
++                .arg(r"s/[0-9]+.[0-9]+.[0-9]+-beta.([0-9]+) \(.*\)/\1/g")
++                .arg("version")
+                 .current_dir(&self.src),
+         );
+         let n = count.trim().parse().unwrap();
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-rustflags.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-rustflags.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-rustflags.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-rustflags.patch	2022-03-29 15:17:22.000000000 +0200
@@ -0,0 +1,21 @@
+--- a/src/bootstrap/builder.rs
++++ b/src/bootstrap/builder.rs
+@@ -1003,6 +1003,18 @@ impl<'a> Builder<'a> {
+             }
+         }
+ 
++        // Debian-specific stuff here
++        // set linker flags from LDFLAGS
++        if let Ok(ldflags) = env::var("LDFLAGS") {
++            for flag in ldflags.split_whitespace() {
++                if target.contains("windows") && flag.contains("relro") {
++                    // relro is ELF-specific
++                    continue;
++                }
++                rustflags.arg(&format!("-Clink-args={}", flag));
++            }
++        }
++
+         // FIXME: It might be better to use the same value for both `RUSTFLAGS` and `RUSTDOCFLAGS`,
+         // but this breaks CI. At the very least, stage0 `rustdoc` needs `--cfg bootstrap`. See
+         // #71458.
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-use-local-css.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-use-local-css.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-use-local-css.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-use-local-css.patch	2022-03-06 22:59:25.000000000 +0100
@@ -0,0 +1,31 @@
+--- a/src/bootstrap/doc.rs
++++ b/src/bootstrap/doc.rs
+@@ -375,6 +375,10 @@ impl Step for Standalone {
+                 .arg(&builder.src.join("src/doc/index.md"))
+                 .arg("--markdown-playground-url")
+                 .arg("https://play.rust-lang.org/";)
++                .arg("--markdown-css")
++                .arg(format!("rustdoc{}.css", &builder.version))
++                .arg("--markdown-css")
++                .arg("rust.css")
+                 .arg("-o")
+                 .arg(&out)
+                 .arg(&path);
+@@ -383,17 +387,6 @@ impl Step for Standalone {
+                 cmd.arg("--disable-minification");
+             }
+ 
+-            if filename == "not_found.md" {
+-                cmd.arg("--markdown-css")
+-                    .arg(format!("https://doc.rust-lang.org/rustdoc{}.css";, &builder.version))
+-                    .arg("--markdown-css")
+-                    .arg("https://doc.rust-lang.org/rust.css";);
+-            } else {
+-                cmd.arg("--markdown-css")
+-                    .arg(format!("rustdoc{}.css", &builder.version))
+-                    .arg("--markdown-css")
+-                    .arg("rust.css");
+-            }
+             builder.run(&mut cmd);
+         }
+ 
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-use-system-compiler-rt.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-use-system-compiler-rt.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-bootstrap-use-system-compiler-rt.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-bootstrap-use-system-compiler-rt.patch	2021-10-22 15:49:55.000000000 +0200
@@ -0,0 +1,40 @@
+Description: Use system compiler-rt from clang
+Forwarded: not-needed
+--- a/src/bootstrap/compile.rs
++++ b/src/bootstrap/compile.rs
+@@ -200,6 +200,12 @@
+         let mut features = builder.std_features();
+         features.push_str(&compiler_builtins_c_feature);
+ 
++        // In Debian this is always available
++        let llvm_config = builder.ensure(native::Llvm {
++            target: builder.config.build,
++            emscripten: false,
++        });
++        cargo.env("LLVM_CONFIG", llvm_config);
+         if compiler.stage != 0 && builder.config.sanitizers {
+             // This variable is used by the sanitizer runtime crates, e.g.
+             // rustc_lsan, to build the sanitizer runtime from C code
+@@ -208,11 +214,6 @@
+             // missing
+             // We also only build the runtimes when --enable-sanitizers (or its
+             // config.toml equivalent) is used
+-            let llvm_config = builder.ensure(native::Llvm {
+-                target: builder.config.build,
+-                emscripten: false,
+-            });
+-            cargo.env("LLVM_CONFIG", llvm_config);
+             cargo.env("RUSTC_BUILD_SANITIZERS", "1");
+         }
+ 
+--- a/vendor/compiler_builtins/Cargo.toml
++++ b/vendor/compiler_builtins/Cargo.toml
+@@ -49,7 +49,7 @@
+ # LLVM_CONFIG or CLANG (more reliable) must be set.
+ c-system = []
+ 
+-c = ["c-vendor"]
++c = ["c-system"]
+ compiler-builtins = []
+ default = ["compiler-builtins"]
+ mangled-names = []
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-custom-debuginfo-path.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-custom-debuginfo-path.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-custom-debuginfo-path.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-custom-debuginfo-path.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,17 +0,0 @@
-Index: rustc.git/src/bootstrap/lib.rs
-===================================================================
---- rustc.git.orig/src/bootstrap/lib.rs
-+++ rustc.git/src/bootstrap/lib.rs
-@@ -777,10 +777,9 @@ impl Build {
- 
-         match which {
-             GitRepo::Rustc => {
--                let sha = self.rust_sha().unwrap_or(&self.version);
--                Some(format!("/rustc/{}", sha))
-+                Some(format!("/usr/src/rustc-{}", &self.version))
-             }
--            GitRepo::Llvm => Some(String::from("/rustc/llvm")),
-+            GitRepo::Llvm => panic!("GitRepo::Llvm unsupported on Debian"),
-         }
-     }
- 
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-disable-cargo-vendor.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-disable-cargo-vendor.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-disable-cargo-vendor.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-disable-cargo-vendor.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-Description: Don't check for cargo-vendor when building from (Debian's) git
-Author: Matthijs van Otterdijk <matthijs@wirevirt.net>
-Forwarded: not-needed
----
-Index: rustc.git/src/bootstrap/dist.rs
-===================================================================
---- rustc.git.orig/src/bootstrap/dist.rs
-+++ rustc.git/src/bootstrap/dist.rs
-@@ -1112,7 +1112,10 @@ impl Step for PlainSourceTarball {
-         }
- 
-         // If we're building from git sources, we need to vendor a complete distribution.
--        if builder.rust_info.is_git() {
-+        //
-+        // Debian: disabling this block because the debian package is also in a git
-+        //         repository, but cargo-vendor should not be installed or run.
-+        if false && builder.rust_info.is_git() {
-             // Vendor all Cargo dependencies
-             let mut cmd = Command::new(&builder.initial_cargo);
-             cmd.arg("vendor")
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-dont-download-stage0.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-dont-download-stage0.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-dont-download-stage0.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-dont-download-stage0.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,50 +0,0 @@
-Description: Don't download SHA256 if it's already available locally
- In Debian we provide the stage0 tarballs as a separate component so that the
- buildds don't need to access the network during the build.
-Author: Ximin Luo <infinity0@debian.org>
-Forwarded: not-needed
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/bootstrap/bootstrap.py
-+++ b/src/bootstrap/bootstrap.py
-@@ -24,17 +24,19 @@
-     except tarfile.CompressionError:
-         return False
- 
--def get(url, path, verbose=False, do_verify=True):
-+def get(url, path, verbose=False, do_verify=True, use_local_hash_if_present=True):
-     suffix = '.sha256'
-     sha_url = url + suffix
-     with tempfile.NamedTemporaryFile(delete=False) as temp_file:
-         temp_path = temp_file.name
--    with tempfile.NamedTemporaryFile(suffix=suffix, delete=False) as sha_file:
--        sha_path = sha_file.name
-+    sha_path = path + suffix
- 
-     try:
-         if do_verify:
--            download(sha_path, sha_url, False, verbose)
-+            if use_local_hash_if_present and os.path.exists(sha_path):
-+                print("using already-download file " + sha_path)
-+            else:
-+                download(sha_path, sha_url, False, verbose)
-             if os.path.exists(path):
-                 if verify(path, sha_path, False):
-                     if verbose:
-@@ -52,7 +54,6 @@
-             print("moving {} to {}".format(temp_path, path))
-         shutil.move(temp_path, path)
-     finally:
--        delete_if_present(sha_path, verbose)
-         delete_if_present(temp_path, verbose)
- 
- 
-@@ -459,7 +460,7 @@
- 
-         url = "{}/dist/{}".format(self._download_url, date)
-         tarball = os.path.join(rustc_cache, filename)
--        if not os.path.exists(tarball):
-+        if True:
-             get("{}/{}".format(url, filename), tarball, verbose=self.verbose)
-         unpack(tarball, tarball_suffix, self.bin_root(), match=pattern, verbose=self.verbose)
- 
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-fix-mips64el-bootstrap.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-fix-mips64el-bootstrap.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-fix-mips64el-bootstrap.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-fix-mips64el-bootstrap.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-Bug: https://github.com/rust-lang/rust/issues/52108
---- a/src/bootstrap/bootstrap.py
-+++ b/src/bootstrap/bootstrap.py
-@@ -823,6 +823,8 @@
-         # preserve existing RUSTFLAGS
-         env.setdefault("RUSTFLAGS", "")
-         env["RUSTFLAGS"] += " -Cdebuginfo=2"
-+        if self.build_triple().startswith('mips'):
-+            env["RUSTFLAGS"] += " -Ctarget-feature=+xgot"
- 
-         build_section = "target.{}".format(self.build)
-         target_features = []
---- a/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
-+++ b/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
-@@ -11,7 +11,7 @@
-             endian: Endian::Big,
-             // NOTE(mips64r2) matches C toolchain
-             cpu: "mips64r2".to_string(),
--            features: "+mips64r2".to_string(),
-+            features: "+mips64r2,+xgot".to_string(),
-             max_atomic_width: Some(64),
-             mcount: "_mcount".to_string(),
- 
---- a/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
-+++ b/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
-@@ -9,7 +9,7 @@
-         options: TargetOptions {
-             // NOTE(mips64r2) matches C toolchain
-             cpu: "mips64r2".to_string(),
--            features: "+mips64r2".to_string(),
-+            features: "+mips64r2,+xgot".to_string(),
-             max_atomic_width: Some(64),
-             mcount: "_mcount".to_string(),
- 
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-host-duplicates.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-host-duplicates.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-host-duplicates.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-host-duplicates.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-Description: Work around #842634 on some machines, e.g. Debian porterboxes
- This should remain commented-out in debian/patches/series, it's not needed everywhere
-Author: Ximin Luo <infinity0@debian.org>
-Forwarded: not-needed
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/library/std/src/sys_common/net.rs
-+++ b/library/std/src/sys_common/net.rs
-@@ -659,26 +659,3 @@
-         res.field(name, &self.inner.as_inner()).finish()
-     }
- }
--
--#[cfg(test)]
--mod tests {
--    use super::*;
--    use crate::collections::HashMap;
--
--    #[test]
--    fn no_lookup_host_duplicates() {
--        let mut addrs = HashMap::new();
--        let lh = match LookupHost::try_from(("localhost", 0)) {
--            Ok(lh) => lh,
--            Err(e) => panic!("couldn't resolve `localhost': {}", e),
--        };
--        for sa in lh {
--            *addrs.entry(sa).or_insert(0) += 1;
--        }
--        assert_eq!(
--            addrs.iter().filter(|&(_, &v)| v > 1).collect::<Vec<_>>(),
--            vec![],
--            "There should be no duplicate localhost entries"
--        );
--    }
--}
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-i686-baseline.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-i686-baseline.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-i686-baseline.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-i686-baseline.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- a/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
-+++ b/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
-@@ -2,7 +2,7 @@
- 
- pub fn target() -> Target {
-     let mut base = super::linux_gnu_base::opts();
--    base.cpu = "pentium4".to_string();
-+    base.cpu = "pentiumpro".to_string();
-     base.max_atomic_width = Some(64);
-     base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m32".to_string());
-     // don't use probe-stack=inline-asm until rust-lang/rust#83139 is resolved.
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-ignore-avx-44056.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-ignore-avx-44056.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-ignore-avx-44056.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-ignore-avx-44056.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-Bug: https://github.com/rust-lang/rust/pull/55667
-Index: rust/src/test/ui/issues/issue-44056.rs
-===================================================================
---- rust.orig/src/test/ui/issues/issue-44056.rs
-+++ rust/src/test/ui/issues/issue-44056.rs
-@@ -1,5 +1,5 @@
- // build-pass (FIXME(55996): should be run on targets supporting avx)
--// only-x86_64
-+// ignore-test
- // no-prefer-dynamic
- // compile-flags: -Ctarget-feature=+avx -Clto
- 
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-no-jemalloc.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-no-jemalloc.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-no-jemalloc.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-no-jemalloc.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-Index: rust/compiler/rustc/Cargo.toml
-===================================================================
---- rust.orig/compiler/rustc/Cargo.toml
-+++ rust/compiler/rustc/Cargo.toml
-@@ -14,13 +14,6 @@ rustc_driver = { path = "../librustc_dri
- # Make sure rustc_codegen_ssa ends up in the sysroot, because this
- # crate is intended to be used by codegen backends, which may not be in-tree.
- rustc_codegen_ssa = { path = "../rustc_codegen_ssa" }
--
--[dependencies.jemalloc-sys]
--version = '0.3.0'
--optional = true
--features = ['unprefixed_malloc_on_supported_platforms']
--
- [features]
--jemalloc = ['jemalloc-sys']
- llvm = ['rustc_driver/llvm']
- max_level_info = ['rustc_driver/max_level_info']
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-prefer-dynamic.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-prefer-dynamic.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-prefer-dynamic.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-prefer-dynamic.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-Description: Prefer dynamic linking (currently disabled, not applied)
- As per Debian policy, we basically revert
- https://github.com/rust-lang/rfcs/blob/master/text/0404-change-prefer-dynamic.md
- TODO: this does not yet work: https://github.com/rust-lang/rust/issues/43289
- Perhaps a better method would be to modify dh-cargo instead of rustc
-Author: Ximin Luo <infinity0@debian.org>
-Forwarded: not-needed
---- a/src/librustc/session/config.rs
-+++ b/src/librustc/session/config.rs
-@@ -846,7 +846,7 @@
-         "don't run LLVM's SLP vectorization pass"),
-     soft_float: bool = (false, parse_bool, [TRACKED],
-         "use soft float ABI (*eabihf targets only)"),
--    prefer_dynamic: bool = (false, parse_bool, [TRACKED],
-+    prefer_dynamic: bool = (true, parse_bool, [TRACKED],
-         "prefer dynamic linking to static linking"),
-     no_integrated_as: bool = (false, parse_bool, [TRACKED],
-         "use an external assembler rather than LLVM's integrated one"),
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-read-beta-version-from-file.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-read-beta-version-from-file.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-read-beta-version-from-file.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-read-beta-version-from-file.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-Index: rustc.git/src/bootstrap/lib.rs
-===================================================================
---- rustc.git.orig/src/bootstrap/lib.rs
-+++ rustc.git/src/bootstrap/lib.rs
-@@ -979,15 +979,13 @@ impl Build {
-             return s;
-         }
- 
--        // Figure out how many merge commits happened since we branched off master.
--        // That's our beta number!
--        // (Note that we use a `..` range, not the `...` symmetric difference.)
-+        // Debian: read beta number from "version" file, this is only available
-+        // in the rustc upstream tarballs and not their git
-         let count = output(
--            Command::new("git")
--                .arg("rev-list")
--                .arg("--count")
--                .arg("--merges")
--                .arg("refs/remotes/origin/master..HEAD")
-+            Command::new("sed")
-+                .arg("-re")
-+                .arg(r"s/[0-9]+.[0-9]+.[0-9]+-beta.([0-9]+) \(.*\)/\1/g")
-+                .arg("version")
-                 .current_dir(&self.src),
-         );
-         let n = count.trim().parse().unwrap();
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-remove-arm-privacy-breaches.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-remove-arm-privacy-breaches.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-remove-arm-privacy-breaches.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-remove-arm-privacy-breaches.patch	2022-03-06 22:59:30.000000000 +0100
@@ -0,0 +1,186 @@
+Index: rust/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
+===================================================================
+--- rust.orig/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
++++ rust/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
+@@ -20,17 +20,12 @@
+ <meta name="keywords" content="">
+ <meta content="Copyright &#169; 1995-2018 Arm Limited (or its affiliates). All rights reserved." name="copyright">
+ <meta name="apple-mobile-web-app-capable" content="yes">
+-<meta name="msapplication-config" content="https://developer.arm.com:443/shared/common/img/favicon/browserconfig.xml";>
+-<meta name="msapplication-TileColor" content="#2b5797">
+-<meta name="msapplication-TileImage" content="https://developer.arm.com:443/shared/common/img/favicon/mstile-144x144.png";>
+ <meta name="theme-color" content="#ffffff">
+ <meta name="server" content="ARMGPCD2" />
+ 
+ <meta property="og:title" content="Technologies | NEON Intrinsics Reference – Arm Developer">
+ <meta property="og:description" content="All the NEON intrinsics reference in an interactive page.">
+-<meta property="og:image" content="https://developer.arm.com:443";>
+ <meta property="og:site_name" content="ARM Developer">
+-<meta property="og:url" content="https://developer.arm.com/technologies/neon/intrinsics";>
+ <meta property="og:type" content="website">
+ <meta property="og:locale" content="en">
+ 
+@@ -41,64 +36,14 @@
+ <meta name="twitter:site" content="ARM Developer">
+ <meta name="twitter:title" content="Technologies | NEON Intrinsics Reference – Arm Developer">
+ <meta name="twitter:description" content="All the NEON intrinsics reference in an interactive page.">
+-<meta name="twitter:image" content="https://developer.arm.com:443";>
+-<meta name="twitter:url" content="https://developer.arm.com/technologies/neon/intrinsics";>
+ 
+ <meta itemprop="name" content="Technologies | NEON Intrinsics Reference – Arm Developer">
+ <meta itemprop="description" content="All the NEON intrinsics reference in an interactive page.">
+-<meta itemprop="image" content="https://developer.arm.com:443";>
+-
+-
+-    
+-
+-    <link rel="stylesheet" type="text/css" href="/shared/developer.arm.com/css/app.css?v=D41D8CD98F00B204E9800998ECF8427E" />
+-
+-    
+-
+-<link rel="apple-touch-icon" sizes="57x57" href="https://developer.arm.com/shared/common/img/favicon/apple-touch-icon.png?v=2.29.0.0"; />
+-<link rel="apple-touch-icon" sizes="60x60" href="https://developer.arm.com/shared/common/img/favicon/apple-touch-icon.png?v=2.29.0.0"; />
+-<link rel="apple-touch-icon" sizes="72x72" href="https://developer.arm.com/shared/common/img/favicon/apple-touch-icon.png?v=2.29.0.0"; />
+-<link rel="apple-touch-icon" sizes="76x76" href="https://developer.arm.com/shared/common/img/favicon/apple-touch-icon.png?v=2.29.0.0"; />
+-<link rel="apple-touch-icon" sizes="114x114" href="https://developer.arm.com/shared/common/img/favicon/apple-touch-icon.png?v=2.29.0.0"; />
+-<link rel="apple-touch-icon" sizes="120x120" href="https://developer.arm.com/shared/common/img/favicon/apple-touch-icon.png?v=2.29.0.0"; />
+-<link rel="apple-touch-icon" sizes="144x144" href="https://developer.arm.com/shared/common/img/favicon/apple-touch-icon.png?v=2.29.0.0"; />
+-<link rel="apple-touch-icon" sizes="152x152" href="https://developer.arm.com/shared/common/img/favicon/apple-touch-icon.png?v=2.29.0.0"; />
+-<link rel="apple-touch-icon" sizes="180x180" href="https://developer.arm.com/shared/common/img/favicon/apple-touch-icon.png?v=2.29.0.0"; />
+-<link rel="icon" type="image/png" href="https://developer.arm.com/shared/common/img/favicon/favicon-32x32.png?v=2.29.0.0"; sizes="32x32" />
+-<link rel="icon" type="image/png" href="https://developer.arm.com/shared/common/img/favicon/favicon-48x48.png?v=2.29.0.0"; sizes="48x48" />
+-<link rel="icon" type="image/png" href="https://developer.arm.com/shared/common/img/favicon/android-chrome-192x192.png?v=2.29.0.0"; sizes="192x192" />
+-<link rel="icon" type="image/png" href="https://developer.arm.com/shared/common/img/favicon/android-chrome-256x256.png?v=2.29.0.0"; sizes="256x256" />
+-<link rel="icon" type="image/png" href="https://developer.arm.com/shared/common/img/favicon/favicon-16x16.png?v=2.29.0.0"; sizes="16x16" />
+-<link rel="shortcut icon" type="image/ico" href="https://developer.arm.com/shared/common/img/favicon/favicon.ico?v=2.29.0.0"; />
+-<link rel="manifest" href="https://developer.arm.com/shared/common/img/favicon/manifest.json?v=2.29.0.0"; />
+-
+-    <link rel="search" type="application/opensearchdescription+xml" title="ARM Developer" href="/opensearch.xml"/>
+-
+-    
+-    
+-
+-
+-<!-- Google Tag Manager -->
+-<script>
+-(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+-new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+-j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+-'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+-    })(window, document, 'script', 'dataLayer', 'GTM-K25LQR');
+-</script>
+-<!-- End Google Tag Manager -->
+-
+-
+ </head>
+ <body id="">
+     
+     
+ 
+-<noscript>
+-    <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K25LQR"; height="0" width="0" style="display:none;visibility:hidden"></iframe>
+-</noscript>
+-
+-
+     
+     <div class="c-feedback-message-container u-no-print"><style>
+ /* Docs top margin fix */
+@@ -245,7 +190,6 @@ j=d.createElement(s),dl=l!='dataLayer'?'
+                             <span class="navigation-dropdown-label">
+                                 <a href="/">
+                                     <span>
+-                                        <img src="/shared/developer.arm.com/img/arm-developer.svg" alt="ARM Developer" />
+                                     </span>
+                                     <i class="fa fa-caret-down"></i>
+                                 </a>
+@@ -437,7 +381,6 @@ j=d.createElement(s),dl=l!='dataLayer'?'
+ 
+ </div>
+ 
+-<link rel="stylesheet" href="https://developer.arm.com/shared/arm-account/css/modules/user-menu.css?v=2.29.0.0"; />
+ 
+                         </li>
+                     </ul>
+@@ -93318,82 +93261,5 @@ names are the property of their respecti
+         
+     </div>
+ 
+-<script type="text/javascript" src="https://nebula-cdn.kampyle.com/we/8144/onsite/embed.js";></script>
+-
+-
+-    
+-
+-<script src="/bundles/modernizr?v=inCVuEFe6J4Q07A0AcRsbJic_UE5MwpRMNGcOtk94TE1"></script>
+-
+-
+-
+-<script type="text/javascript">
+-    if (Modernizr && !Modernizr.svg) {
+-        var imgs = document.getElementsByTagName('img');
+-        var svgExtension = /.*\.svg$/;
+-        var l = imgs.length;
+-        for (var i = 0; i < l; i++) {
+-            if (imgs[i].src.match(svgExtension)) {
+-                imgs[i].src = imgs[i].src.slice(0, -3) + 'png';
+-            }
+-        }
+-    }
+-</script>
+-
+-
+-<script src="/shared/vendor/jquery-1.12.4.min.js"></script>
+-<script src="/shared/vendor/foundation.min.js"></script>
+-<script src="/shared/vendor/moment.min.js"></script>
+-<script src="/shared/vendor/js/jquery-rss/src/jquery.rss.js"></script>
+-
+-<script src="/bundles/clipboard?v=IPc2U7tMxf_2TKh6_qbfzIsYI3pmBbWZxHb5M8V-fhg1"></script>
+-
+-<script src="/bundles/placeholder?v=Aw-bm4sJPSuBeTzPpRw_GfXYXI4wKmH607vgMic22c01"></script>
+-
+-<script src="/bundles/waypoints?v=E5Sm2NPVxzLqGyd5lIz-NjBvArn4w7w7IvCs35wz6dA1"></script>
+-
+-
+-
+-<script src="/shared/developer.arm.com/js/common.js?v=09142182FF441DC932039AB1D8CD216F"></script>
+-<script src="/shared/developer.arm.com/js/app.bundle.js?v=09142182FF441DC932039AB1D8CD216F"></script>
+-
+-
+-<script src="/shared/arm.com-new/js/app.constants.js?v=09142182FF441DC932039AB1D8CD216F"></script>
+-<script src="/shared/arm.com-new/js/app.navigation.js?v=09142182FF441DC932039AB1D8CD216F"></script>
+-<script type="text/javascript">
+-    (function() {
+-        var $userMenu = $('.c-user-menu__root');
+-        if ($userMenu) {
+-            $userMenu.navigation();
+-        }
+-    })();
+-</script>
+-
+-
+-
+-<script src="/bundles/jquery-ui?v=atr-jO-t-9RdxuVusckf7yNy0MEEBlVW5TaJCAetR6A1"></script>
+-
+-<script src="/bundles/jqueryval?v=shBfM8gvrYJt6eNs9xKMaOYfzyGdVGLhvPUMJ92MwmM1"></script>
+-
+-<script src="/sitecore%20modules/Web/Web%20Forms%20for%20Marketers/mvc/wffm.min.js"></script>
+-<script>
+-  $(document).ready(function() {
+-    $("form[data-wffm]").each(function() { $(this).wffmForm(); });
+-  });
+-</script>
+-
+-<link rel="stylesheet" type="text/css" href="//fast.fonts.net/t/1.css?apiType=css&projectid=5616bfa5-8ba9-4061-8e15-3a2d29551ced" />
+-
+-
+-<script src="//munchkin.marketo.net/munchkin.js" type="text/javascript"></script>
+-<script type="text/javascript">
+-    Munchkin.init('312-SAX-488', {'asyncOnly': true});
+-</script>
+-
+-
+-
+-    
+-    
+-    
+ </body>
+ </html>
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustc-add-soname.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustc-add-soname.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustc-add-soname.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustc-add-soname.patch	2022-03-06 22:59:25.000000000 +0100
@@ -0,0 +1,36 @@
+Description: Set DT_SONAME when building dylibs
+ In Rust, library filenames include a version-specific hash to help
+ the run-time linker find the correct version.  Unlike in C/C++, the
+ compiler looks for all libraries matching a glob that ignores the
+ hash and reads embedded metadata to work out versions, etc.
+ .
+ The upshot is that there is no need for the usual "libfoo.so ->
+ libfoo-1.2.3.so" symlink common with C/C++ when building with Rust,
+ and no need to communicate an alternate filename to use at run-time
+ vs compile time.  If linking to a Rust dylib from C/C++ however, a
+ "libfoo.so -> libfoo-$hash.so" symlink may well be useful and in
+ this case DT_SONAME=libfoo-$hash.so would be required.  More
+ mundanely, various tools (eg: dpkg-shlibdeps) complain if they don't
+ find DT_SONAME on shared libraries in public directories.
+ .
+ This patch passes -Wl,-soname=$outfile when building dylibs (and
+ using a GNU linker).
+Author: Angus Lees <gus@debian.org>
+Forwarded: no
+
+--- a/compiler/rustc_codegen_ssa/src/back/link.rs
++++ b/compiler/rustc_codegen_ssa/src/back/link.rs
+@@ -2019,6 +2019,13 @@ fn add_order_independent_options(
+     }
+ 
+     add_rpath_args(cmd, sess, codegen_results, out_filename);
++
++    if (crate_type == config::CrateType::Dylib || crate_type == config::CrateType::Cdylib)
++       && sess.target.linker_is_gnu {
++        let filename = String::from(out_filename.file_name().unwrap().to_str().unwrap());
++        let soname = [String::from("-Wl,-soname=") + &filename];
++        cmd.args(&soname);
++    }
+ }
+ 
+ /// # Native library linking
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustc-fix-mips64el-bootstrap.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustc-fix-mips64el-bootstrap.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustc-fix-mips64el-bootstrap.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustc-fix-mips64el-bootstrap.patch	2022-03-09 00:29:22.000000000 +0100
@@ -0,0 +1,41 @@
+Bug: https://github.com/rust-lang/rust/issues/52108
+--- a/src/bootstrap/bootstrap.py
++++ b/src/bootstrap/bootstrap.py
+@@ -936,6 +936,8 @@ class RustBuild(object):
+ 
+         # preserve existing RUSTFLAGS
+         env.setdefault("RUSTFLAGS", "")
++        if self.build_triple().startswith('mips'):
++            env["RUSTFLAGS"] += " -Ctarget-feature=+xgot"
+         build_section = "target.{}".format(self.build)
+         target_features = []
+         if self.get_toml("crt-static", build_section) == "true":
+--- a/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
++++ b/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
+@@ -12,7 +12,7 @@
+             endian: Endian::Big,
+             // NOTE(mips64r2) matches C toolchain
+             cpu: "mips64r2".to_string(),
+-            features: "+mips64r2".to_string(),
++            features: "+mips64r2,+xgot".to_string(),
+             max_atomic_width: Some(64),
+             mcount: "_mcount".to_string(),
+ 
+--- a/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
++++ b/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
+@@ -10,7 +10,7 @@
+             abi: "abi64".to_string(),
+             // NOTE(mips64r2) matches C toolchain
+             cpu: "mips64r2".to_string(),
+-            features: "+mips64r2".to_string(),
++            features: "+mips64r2,+xgot".to_string(),
+             max_atomic_width: Some(64),
+             mcount: "_mcount".to_string(),
+ 
+--- a/src/test/assembly/asm/mips-types.rs
++++ b/src/test/assembly/asm/mips-types.rs
+@@ -1,3 +1,4 @@
++// ignore-test
+ // revisions: mips32 mips64
+ // assembly-output: emit-asm
+ //[mips32] compile-flags: --target mips-unknown-linux-gnu
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustc-i686-baseline.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustc-i686-baseline.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustc-i686-baseline.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustc-i686-baseline.patch	2021-10-22 15:49:55.000000000 +0200
@@ -0,0 +1,11 @@
+--- a/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
++++ b/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
+@@ -2,7 +2,7 @@
+ 
+ pub fn target() -> Target {
+     let mut base = super::linux_gnu_base::opts();
+-    base.cpu = "pentium4".to_string();
++    base.cpu = "pentiumpro".to_string();
+     base.max_atomic_width = Some(64);
+     base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
+     // don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustc-prefer-dynamic.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustc-prefer-dynamic.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustc-prefer-dynamic.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustc-prefer-dynamic.patch	2021-10-22 15:49:55.000000000 +0200
@@ -0,0 +1,18 @@
+Description: Prefer dynamic linking (currently disabled, not applied)
+ As per Debian policy, we basically revert
+ https://github.com/rust-lang/rfcs/blob/master/text/0404-change-prefer-dynamic.md
+ TODO: this does not yet work: https://github.com/rust-lang/rust/issues/43289
+ Perhaps a better method would be to modify dh-cargo instead of rustc
+Author: Ximin Luo <infinity0@debian.org>
+Forwarded: not-needed
+--- a/src/librustc/session/config.rs
++++ b/src/librustc/session/config.rs
+@@ -846,7 +846,7 @@
+         "don't run LLVM's SLP vectorization pass"),
+     soft_float: bool = (false, parse_bool, [TRACKED],
+         "use soft float ABI (*eabihf targets only)"),
+-    prefer_dynamic: bool = (false, parse_bool, [TRACKED],
++    prefer_dynamic: bool = (true, parse_bool, [TRACKED],
+         "prefer dynamic linking to static linking"),
+     no_integrated_as: bool = (false, parse_bool, [TRACKED],
+         "use an external assembler rather than LLVM's integrated one"),
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustc-windows-ssp.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustc-windows-ssp.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustc-windows-ssp.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustc-windows-ssp.patch	2022-03-06 22:59:25.000000000 +0100
@@ -0,0 +1,13 @@
+Bug: https://github.com/rust-lang/rust/issues/68973
+
+--- a/compiler/rustc_target/src/spec/windows_gnu_base.rs
++++ b/compiler/rustc_target/src/spec/windows_gnu_base.rs
+@@ -36,6 +36,8 @@ pub fn opts() -> TargetOptions {
+         "-lmsvcrt".to_string(),
+         "-luser32".to_string(),
+         "-lkernel32".to_string(),
++        "-lssp_nonshared".to_string(),
++        "-lssp".to_string(),
+     ];
+     late_link_args.insert(LinkerFlavor::Gcc, mingw_libs.clone());
+     late_link_args.insert(LinkerFlavor::Lld(LldFlavor::Ld), mingw_libs);
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustdoc-disable-embedded-fonts.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustdoc-disable-embedded-fonts.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustdoc-disable-embedded-fonts.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustdoc-disable-embedded-fonts.patch	2022-03-29 15:17:21.000000000 +0200
@@ -0,0 +1,69 @@
+--- a/src/librustdoc/html/render/write_shared.rs
++++ b/src/librustdoc/html/render/write_shared.rs
+@@ -39,9 +39,6 @@ static FILES_UNVERSIONED: Lazy<FxHashMap
+         "SourceCodePro-Semibold.ttf.woff" => static_files::source_code_pro::SEMIBOLD,
+         "SourceCodePro-It.ttf.woff" => static_files::source_code_pro::ITALIC,
+         "SourceCodePro-LICENSE.txt" => static_files::source_code_pro::LICENSE,
+-        "NanumBarunGothic.ttf.woff2" => static_files::nanum_barun_gothic::REGULAR2,
+-        "NanumBarunGothic.ttf.woff" => static_files::nanum_barun_gothic::REGULAR,
+-        "NanumBarunGothic-LICENSE.txt" => static_files::nanum_barun_gothic::LICENSE,
+         "LICENSE-MIT.txt" => static_files::LICENSE_MIT,
+         "LICENSE-APACHE.txt" => static_files::LICENSE_APACHE,
+         "COPYRIGHT.txt" => static_files::COPYRIGHT,
+--- a/src/librustdoc/html/static/css/rustdoc.css
++++ b/src/librustdoc/html/static/css/rustdoc.css
+@@ -75,14 +75,6 @@
+ 	font-display: swap;
+ }
+ 
+-/* Avoid using legacy CJK serif fonts in Windows like Batang. */
+-@font-face {
+-	font-family: 'NanumBarunGothic';
+-	src: url("NanumBarunGothic.ttf.woff2") format("woff2"),
+-		url("NanumBarunGothic.ttf.woff") format("woff");
+-	font-display: swap;
+-	unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F, U+A960-A97F, U+D7B0-D7FF;
+-}
+ 
+ * {
+ 	-webkit-box-sizing: border-box;
+--- a/src/librustdoc/html/static_files.rs
++++ b/src/librustdoc/html/static_files.rs
+@@ -160,37 +160,6 @@ crate mod source_code_pro {
+     crate static LICENSE: &[u8] = include_bytes!("static/fonts/SourceCodePro-LICENSE.txt");
+ }
+ 
+-/// Files related to the Nanum Barun Gothic font.
+-///
+-/// These files are used to avoid some legacy CJK serif fonts in Windows.
+-///
+-/// Note that the Noto Sans KR font, which was used previously but was not very readable on Windows,
+-/// has been replaced by the Nanum Barun Gothic font. This is due to Windows' implementation of font
+-/// rendering that distorts OpenType fonts too much.
+-///
+-/// The font files were generated with these commands:
+-///
+-/// ```sh
+-/// pyftsubset NanumBarunGothic.ttf \
+-/// --unicodes=U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF \
+-/// --output-file=NanumBarunGothic.ttf.woff --flavor=woff
+-/// ```
+-/// ```sh
+-/// pyftsubset NanumBarunGothic.ttf \
+-/// --unicodes=U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF \
+-/// --output-file=NanumBarunGothic.ttf.woff2 --flavor=woff2
+-/// ```
+-crate mod nanum_barun_gothic {
+-    /// The file `NanumBarunGothic.ttf.woff`, the Regular variant of the Nanum Barun Gothic font.
+-    crate static REGULAR: &[u8] = include_bytes!("static/fonts/NanumBarunGothic.ttf.woff");
+-
+-    /// The file `NanumBarunGothic.ttf.woff2`, the Regular variant of the Nanum Barun Gothic font.
+-    crate static REGULAR2: &[u8] = include_bytes!("static/fonts/NanumBarunGothic.ttf.woff2");
+-
+-    /// The file `NanumBarunGothic-LICENSE.txt`, the license text of the Nanum Barun Gothic font.
+-    crate static LICENSE: &[u8] = include_bytes!("static/fonts/NanumBarunGothic-LICENSE.txt");
+-}
+-
+ /// Files related to the sidebar in rustdoc sources.
+ crate mod sidebar {
+     /// File script to handle sidebar.
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustflags.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustflags.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rustflags.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rustflags.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -860,6 +860,21 @@
-             rustflags.arg("-Zsymbol-mangling-version=v0");
-         }
- 
-+        // Debian-specific stuff here
-+        // don't error on warnings, this sometimes causes builds to fail when
-+        // we re-bootstrap using the same version, that introduced a new warning
-+        rustflags.arg("--cap-lints=warn");
-+        // set linker flags from LDFLAGS
-+        if let Ok(ldflags) = env::var("LDFLAGS") {
-+            for flag in ldflags.split_whitespace() {
-+                if target.contains("windows") && flag.contains("relro") {
-+                    // relro is ELF-specific
-+                    continue;
-+                }
-+                rustflags.arg(&format!("-Clink-args={}", flag));
-+            }
-+        }
-+
-         // FIXME: It might be better to use the same value for both `RUSTFLAGS` and `RUSTDOCFLAGS`,
-         // but this breaks CI. At the very least, stage0 `rustdoc` needs `--cfg bootstrap`. See
-         // #71458.
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rust-gdb-paths rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rust-gdb-paths
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rust-gdb-paths	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rust-gdb-paths	2021-10-22 15:49:55.000000000 +0200
@@ -11,7 +11,7 @@ Forwarded: not-needed
  
  # Find out where the pretty printer Python module is
 -RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
-+RUSTC_SYSROOT="$(if type "$RUSTC" 2>/dev/null; then "$RUSTC" --print=sysroot; else echo /usr; fi)"
++RUSTC_SYSROOT="$(if type "$RUSTC" >/dev/null 2>&1; then "$RUSTC" --print=sysroot; else echo /usr; fi)"
  GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
  
  # Run GDB with the additional arguments that load the pretty printers
@@ -22,7 +22,7 @@ Forwarded: not-needed
  
  # Find out where the pretty printer Python module is
 -RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
-+RUSTC_SYSROOT="$(if type "$RUSTC" 2>/dev/null; then "$RUSTC" --print=sysroot; else echo /usr; fi)"
++RUSTC_SYSROOT="$(if type "$RUSTC" >/dev/null 2>&1; then "$RUSTC" --print=sysroot; else echo /usr; fi)"
  GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
  
  # Set the environment variable `RUST_GDB` to overwrite the call to a
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rust-lldb-paths rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rust-lldb-paths
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-rust-lldb-paths	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-rust-lldb-paths	2022-03-06 22:59:25.000000000 +0100
@@ -4,18 +4,20 @@ Description: Hardcode LLDB python module
 Author: Angus Lees <gus@debian.org>
 Forwarded: not-needed
 
---- a/src/etc/rust-lldb
-+++ b/src/etc/rust-lldb
-@@ -7,10 +7,10 @@
+Index: rust/src/etc/rust-lldb
+===================================================================
+--- rust.orig/src/etc/rust-lldb
++++ rust/src/etc/rust-lldb
+@@ -7,10 +7,10 @@ set -e
  host=$(rustc -vV | sed -n -e 's/^host: //p')
  
  # Find out where to look for the pretty printer Python module
 -RUSTC_SYSROOT=$(rustc --print sysroot)
-+RUSTC_SYSROOT="$(if type "$RUSTC" 2>/dev/null; then "$RUSTC" --print=sysroot; else echo /usr; fi)"
++RUSTC_SYSROOT="$(if type "$RUSTC" >/dev/null 2>&1; then "$RUSTC" --print=sysroot; else echo /usr; fi)"
  RUST_LLDB="$RUSTC_SYSROOT/lib/rustlib/$host/bin/lldb"
  
 -lldb=lldb
-+lldb=lldb-11
++lldb=lldb-13
  if [ -f "$RUST_LLDB" ]; then
      lldb="$RUST_LLDB"
  else
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-test-host-duplicates.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-test-host-duplicates.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-test-host-duplicates.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-test-host-duplicates.patch	2021-10-22 15:49:55.000000000 +0200
@@ -0,0 +1,20 @@
+Description: Work around #842634 on some machines, e.g. Debian porterboxes
+ This should remain commented-out in debian/patches/series, it's not needed everywhere
+Author: Ximin Luo <infinity0@debian.org>
+Forwarded: not-needed
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/library/std/src/sys_common/net/tests.rs
++++ b/library/std/src/sys_common/net/tests.rs
+@@ -11,8 +11,10 @@
+     for sa in lh {
+         *addrs.entry(sa).or_insert(0) += 1;
+     }
++    let mut v = addrs.iter().filter(|&(_, &v)| v > 1).collect::<Vec<_>>();
++    v.clear();
+     assert_eq!(
+-        addrs.iter().filter(|&(_, &v)| v > 1).collect::<Vec<_>>(),
++        v,
+         vec![],
+         "There should be no duplicate localhost entries"
+     );
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-test-ignore-avx-44056.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-test-ignore-avx-44056.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-test-ignore-avx-44056.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-test-ignore-avx-44056.patch	2021-10-22 15:49:55.000000000 +0200
@@ -0,0 +1,10 @@
+Bug: https://github.com/rust-lang/rust/pull/55667
+--- a/src/test/ui/issues/issue-44056.rs
++++ b/src/test/ui/issues/issue-44056.rs
+@@ -1,5 +1,5 @@
+ // build-pass (FIXME(55996): should be run on targets supporting avx)
+-// only-x86_64
++// ignore-test
+ // no-prefer-dynamic
+ // compile-flags: -Ctarget-feature=+avx -Clto
+ 
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-use-local-css.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-use-local-css.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-use-local-css.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-use-local-css.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
---- a/src/bootstrap/doc.rs
-+++ b/src/bootstrap/doc.rs
-@@ -361,15 +361,11 @@
-                 .arg(&builder.src.join("src/doc/index.md"))
-                 .arg("--markdown-playground-url")
-                 .arg("https://play.rust-lang.org/";)
-+                .arg("--markdown-css")
-+                .arg("rust.css")
-                 .arg("-o")
-                 .arg(&out)
-                 .arg(&path);
--
--            if filename == "not_found.md" {
--                cmd.arg("--markdown-css").arg("https://doc.rust-lang.org/rust.css";);
--            } else {
--                cmd.arg("--markdown-css").arg("rust.css");
--            }
-             builder.run(&mut cmd);
-         }
- 
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-use-system-compiler-rt.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-use-system-compiler-rt.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-use-system-compiler-rt.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-use-system-compiler-rt.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,40 +0,0 @@
-Description: Use system compiler-rt from clang
-Forwarded: not-needed
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -200,6 +200,12 @@
-         let mut features = builder.std_features();
-         features.push_str(&compiler_builtins_c_feature);
- 
-+        // In Debian this is always available
-+        let llvm_config = builder.ensure(native::Llvm {
-+            target: builder.config.build,
-+            emscripten: false,
-+        });
-+        cargo.env("LLVM_CONFIG", llvm_config);
-         if compiler.stage != 0 && builder.config.sanitizers {
-             // This variable is used by the sanitizer runtime crates, e.g.
-             // rustc_lsan, to build the sanitizer runtime from C code
-@@ -208,11 +214,6 @@
-             // missing
-             // We also only build the runtimes when --enable-sanitizers (or its
-             // config.toml equivalent) is used
--            let llvm_config = builder.ensure(native::Llvm {
--                target: builder.config.build,
--                emscripten: false,
--            });
--            cargo.env("LLVM_CONFIG", llvm_config);
-             cargo.env("RUSTC_BUILD_SANITIZERS", "1");
-         }
- 
---- a/vendor/compiler_builtins/Cargo.toml
-+++ b/vendor/compiler_builtins/Cargo.toml
-@@ -49,7 +49,7 @@
- # LLVM_CONFIG or CLANG (more reliable) must be set.
- c-system = []
- 
--c = ["c-vendor"]
-+c = ["c-system"]
- compiler-builtins = []
- default = ["compiler-builtins"]
- mangled-names = []
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/d-windows-ssp.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/d-windows-ssp.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/d-windows-ssp.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/d-windows-ssp.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-Bug: https://github.com/rust-lang/rust/issues/68973s
-
-Index: rustc.git/compiler/rustc_target/src/spec/windows_gnu_base.rs
-===================================================================
---- rustc.git.orig/compiler/rustc_target/src/spec/windows_gnu_base.rs
-+++ rustc.git/compiler/rustc_target/src/spec/windows_gnu_base.rs
-@@ -33,6 +33,8 @@ pub fn opts() -> TargetOptions {
-         "-lmsvcrt".to_string(),
-         "-luser32".to_string(),
-         "-lkernel32".to_string(),
-+        "-lssp_nonshared".to_string(),
-+        "-lssp".to_string(),
-     ];
-     late_link_args.insert(LinkerFlavor::Gcc, mingw_libs.clone());
-     late_link_args.insert(LinkerFlavor::Lld(LldFlavor::Ld), mingw_libs);
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/series rustc-mozilla-1.59.0+dfsg1/debian/patches/series
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/series	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/series	2022-03-29 15:18:33.000000000 +0200
@@ -1,49 +1,54 @@
 # Patches for upstream
 
 # pending, or forwarded
-u-85807.patch
-u-fix-self-bootstrap.patch
-0001-Revert-Auto-merge-of-79547.patch
-u-84099.patch
-u-8d504aa90416668d8f6b4cbd449e2e1de20fb937.patch
-u-ignore-gdb-10-failures.patch
+u-ignore-reproducible-failure.patch
 u-reproducible-build.patch
-u-make-tests-work-without-rpath.patch
-u-tests-ignore-arm.patch
-u-mips-fixes.diff
-u-ignore-endian-big.patch
-#u-allow-system-compiler-rt.patch
+u-ignore-endian-big-diff.patch
 
 # not forwarded, or forwarded but unlikely to be merged
+u-ignore-ppc-hangs.patch
+u-ignore-bpf-test.patch
 u-rustc-llvm-cross-flags.patch
 u-reproducible-dl-stage0.patch
+u-make-tests-work-without-rpath.patch
+#u-allow-system-compiler-rt.patch
 
 # Debian-specific patches, not suitable for upstream
-# Patches needed by debian/prune-unused-deps
+
+## Patches needed by debian/prune-unused-deps, for building bootstrap
 d-0000-ignore-removed-submodules.patch
 d-0001-disable-miniz.patch
 d-0002-pkg-config-no-special-snowflake.patch
 d-0003-mdbook-strip-embedded-libs.patch
-# Other patches needed by the full Debian build
-#d-use-system-compiler-rt.patch
 d-0004-cc-psm-rebuild-wasm32.patch
-d-custom-debuginfo-path.patch
-d-disable-cargo-vendor.patch
-d-rust-gdb-paths
-d-rust-lldb-paths
-d-add-soname.patch
-d-rustflags.patch
-d-windows-ssp.patch
-d-dont-download-stage0.patch
-d-read-beta-version-from-file.patch
-d-ignore-avx-44056.patch
-d-i686-baseline.patch
-d-no-jemalloc.patch
-d-use-local-css.patch
-
-# Porter fixes under discussion, not suitable for upstreaming
-# as-is but a proper fix is being discussed
-d-fix-mips64el-bootstrap.patch
+d-0005-clippy-feature-sync.patch
+d-0006-no-jemalloc.patch
 
+## Patches to the build process, including doc path tweaks
+## Should not change resulting rustc behaviour
+d-bootstrap-rustflags.patch
+d-remove-arm-privacy-breaches.patch
+d-bootstrap-install-symlinks.patch
+d-bootstrap-disable-git.patch
+d-bootstrap-read-beta-version-from-file.patch
+d-bootstrap-no-assume-tools.patch
+d-bootstrap-cargo-doc-paths.patch
+d-bootstrap-use-local-css.patch
+d-bootstrap-old-cargo-compat.patch
+d-bootstrap-custom-debuginfo-path.patch
+d-test-ignore-avx-44056.patch
 # Work around for some porterboxes, keep this commented
-#d-host-duplicates.patch
+#d-test-host-duplicates.patch
+# Experimental patch not yet working
+#d-bootstrap-use-system-compiler-rt.patch
+
+## Patches to rustc behaviour, including path lookup tweaks
+d-rust-gdb-paths
+d-rust-lldb-paths
+d-rustc-add-soname.patch
+d-rustc-fix-mips64el-bootstrap.patch
+d-rustc-windows-ssp.patch
+d-rustc-i686-baseline.patch
+# Experimental patch not yet working
+#d-rustc-prefer-dynamic.patch
+d-rustdoc-disable-embedded-fonts.patch
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-84099.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-84099.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-84099.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-84099.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,163 +0,0 @@
-From 5e87f97de789d68719efafde6a0175d64ed90e3b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tomasz=20Mi=C4=85sko?= <tomasz.miasko@gmail.com>
-Date: Sun, 11 Apr 2021 00:00:00 +0000
-Subject: [PATCH] Check for asm support in UI tests that require it
-
-Add `needs-asm-support` compiletest directive, and use it in asm tests
-that require asm support without relying on any architecture specific
-features.
----
- src/test/ui/asm/bad-options.rs                        |  2 +-
- src/test/ui/asm/naked-invalid-attr.rs                 |  2 +-
- .../ui/feature-gates/feature-gate-naked_functions.rs  |  1 +
- .../feature-gates/feature-gate-naked_functions.stderr |  4 ++--
- src/test/ui/rfc-2091-track-caller/error-with-naked.rs |  1 +
- .../ui/rfc-2091-track-caller/error-with-naked.stderr  |  4 ++--
- src/tools/compiletest/src/header.rs                   |  5 +++++
- src/tools/compiletest/src/header/tests.rs             | 11 +++++++++++
- src/tools/compiletest/src/util.rs                     |  9 +++++++++
- 9 files changed, 33 insertions(+), 6 deletions(-)
-
-diff --git a/src/test/ui/asm/bad-options.rs b/src/test/ui/asm/bad-options.rs
-index 755fc2ca238aa..a60478f62154f 100644
---- a/src/test/ui/asm/bad-options.rs
-+++ b/src/test/ui/asm/bad-options.rs
-@@ -1,4 +1,4 @@
--// only-x86_64
-+// needs-asm-support
- 
- #![feature(asm)]
- 
-diff --git a/src/test/ui/asm/naked-invalid-attr.rs b/src/test/ui/asm/naked-invalid-attr.rs
-index cdb6c17454b73..2576d1124c85c 100644
---- a/src/test/ui/asm/naked-invalid-attr.rs
-+++ b/src/test/ui/asm/naked-invalid-attr.rs
-@@ -1,6 +1,6 @@
- // Checks that #[naked] attribute can be placed on function definitions only.
- //
--// ignore-wasm32 asm unsupported
-+// needs-asm-support
- #![feature(asm)]
- #![feature(naked_functions)]
- #![naked] //~ ERROR should be applied to a function definition
-diff --git a/src/test/ui/feature-gates/feature-gate-naked_functions.rs b/src/test/ui/feature-gates/feature-gate-naked_functions.rs
-index 06bddc422cf80..71ca5b9373a68 100644
---- a/src/test/ui/feature-gates/feature-gate-naked_functions.rs
-+++ b/src/test/ui/feature-gates/feature-gate-naked_functions.rs
-@@ -1,3 +1,4 @@
-+// needs-asm-support
- #![feature(asm)]
- 
- #[naked]
-diff --git a/src/test/ui/feature-gates/feature-gate-naked_functions.stderr b/src/test/ui/feature-gates/feature-gate-naked_functions.stderr
-index d95561d20133e..653d7b738da1a 100644
---- a/src/test/ui/feature-gates/feature-gate-naked_functions.stderr
-+++ b/src/test/ui/feature-gates/feature-gate-naked_functions.stderr
-@@ -1,5 +1,5 @@
- error[E0658]: the `#[naked]` attribute is an experimental feature
--  --> $DIR/feature-gate-naked_functions.rs:3:1
-+  --> $DIR/feature-gate-naked_functions.rs:4:1
-    |
- LL | #[naked]
-    | ^^^^^^^^
-@@ -8,7 +8,7 @@ LL | #[naked]
-    = help: add `#![feature(naked_functions)]` to the crate attributes to enable
- 
- error[E0658]: the `#[naked]` attribute is an experimental feature
--  --> $DIR/feature-gate-naked_functions.rs:9:1
-+  --> $DIR/feature-gate-naked_functions.rs:10:1
-    |
- LL | #[naked]
-    | ^^^^^^^^
-diff --git a/src/test/ui/rfc-2091-track-caller/error-with-naked.rs b/src/test/ui/rfc-2091-track-caller/error-with-naked.rs
-index 70ec0e3033c6f..9464ffe872282 100644
---- a/src/test/ui/rfc-2091-track-caller/error-with-naked.rs
-+++ b/src/test/ui/rfc-2091-track-caller/error-with-naked.rs
-@@ -1,3 +1,4 @@
-+// needs-asm-support
- #![feature(asm, naked_functions)]
- 
- #[track_caller] //~ ERROR cannot use `#[track_caller]` with `#[naked]`
-diff --git a/src/test/ui/rfc-2091-track-caller/error-with-naked.stderr b/src/test/ui/rfc-2091-track-caller/error-with-naked.stderr
-index 1b49148d629b2..5f17d6b2b5173 100644
---- a/src/test/ui/rfc-2091-track-caller/error-with-naked.stderr
-+++ b/src/test/ui/rfc-2091-track-caller/error-with-naked.stderr
-@@ -1,11 +1,11 @@
- error[E0736]: cannot use `#[track_caller]` with `#[naked]`
--  --> $DIR/error-with-naked.rs:3:1
-+  --> $DIR/error-with-naked.rs:4:1
-    |
- LL | #[track_caller]
-    | ^^^^^^^^^^^^^^^
- 
- error[E0736]: cannot use `#[track_caller]` with `#[naked]`
--  --> $DIR/error-with-naked.rs:12:5
-+  --> $DIR/error-with-naked.rs:13:5
-    |
- LL |     #[track_caller]
-    |     ^^^^^^^^^^^^^^^
-diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs
-index 531a23d76a27b..363105a9f09c0 100644
---- a/src/tools/compiletest/src/header.rs
-+++ b/src/tools/compiletest/src/header.rs
-@@ -44,6 +44,7 @@ impl EarlyProps {
-         let mut props = EarlyProps::default();
-         let rustc_has_profiler_support = env::var_os("RUSTC_PROFILER_SUPPORT").is_some();
-         let rustc_has_sanitizer_support = env::var_os("RUSTC_SANITIZER_SUPPORT").is_some();
-+        let has_asm_support = util::has_asm_support(&config.target);
-         let has_asan = util::ASAN_SUPPORTED_TARGETS.contains(&&*config.target);
-         let has_lsan = util::LSAN_SUPPORTED_TARGETS.contains(&&*config.target);
-         let has_msan = util::MSAN_SUPPORTED_TARGETS.contains(&&*config.target);
-@@ -76,6 +77,10 @@ impl EarlyProps {
-                     props.ignore = true;
-                 }
- 
-+                if !has_asm_support && config.parse_name_directive(ln, "needs-asm-support") {
-+                    props.ignore = true;
-+                }
-+
-                 if !rustc_has_profiler_support && config.parse_needs_profiler_support(ln) {
-                     props.ignore = true;
-                 }
-diff --git a/src/tools/compiletest/src/header/tests.rs b/src/tools/compiletest/src/header/tests.rs
-index ec99fde0df9c2..c41b43cdd0b53 100644
---- a/src/tools/compiletest/src/header/tests.rs
-+++ b/src/tools/compiletest/src/header/tests.rs
-@@ -223,6 +223,17 @@ fn sanitizers() {
-     assert!(parse_rs(&config, "// needs-sanitizer-thread").ignore);
- }
- 
-+#[test]
-+fn asm_support() {
-+    let mut config = config();
-+
-+    config.target = "avr-unknown-gnu-atmega328".to_owned();
-+    assert!(parse_rs(&config, "// needs-asm-support").ignore);
-+
-+    config.target = "i686-unknown-netbsd".to_owned();
-+    assert!(!parse_rs(&config, "// needs-asm-support").ignore);
-+}
-+
- #[test]
- fn test_extract_version_range() {
-     use super::{extract_llvm_version, extract_version_range};
-diff --git a/src/tools/compiletest/src/util.rs b/src/tools/compiletest/src/util.rs
-index b302953708c18..7dbd70948b84d 100644
---- a/src/tools/compiletest/src/util.rs
-+++ b/src/tools/compiletest/src/util.rs
-@@ -128,6 +128,15 @@ const BIG_ENDIAN: &[&str] = &[
-     "sparcv9",
- ];
- 
-+static ASM_SUPPORTED_ARCHS: &[&str] = &[
-+    "x86", "x86_64", "arm", "aarch64", "riscv32", "riscv64", "nvptx64", "hexagon", "mips",
-+    "mips64", "spirv", "wasm32",
-+];
-+
-+pub fn has_asm_support(triple: &str) -> bool {
-+    ASM_SUPPORTED_ARCHS.contains(&get_arch(triple))
-+}
-+
- pub fn matches_os(triple: &str, name: &str) -> bool {
-     // For the wasm32 bare target we ignore anything also ignored on emscripten
-     // and then we also recognize `wasm32-bare` as the os for the target
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-85807.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-85807.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-85807.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-85807.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-From 283619cf5ca25272b294525273ec42e9c7820edb Mon Sep 17 00:00:00 2001
-From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
-Date: Sat, 29 May 2021 12:38:46 +0000
-Subject: [PATCH] bootstrap: Disable initial-exec TLS model on powerpc
-
-Fixes #81334.
----
- src/bootstrap/builder.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index f39e89a9d01f7..061d7ed5ee08b 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -1237,7 +1237,7 @@ impl<'a> Builder<'a> {
-         // efficient initial-exec TLS model. This doesn't work with `dlopen`,
-         // so we can't use it by default in general, but we can use it for tools
-         // and our own internal libraries.
--        if !mode.must_support_dlopen() {
-+        if !mode.must_support_dlopen() && !target.triple.starts_with("powerpc-") {
-             rustflags.arg("-Ztls-model=initial-exec");
-         }
- 
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-8d504aa90416668d8f6b4cbd449e2e1de20fb937.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-8d504aa90416668d8f6b4cbd449e2e1de20fb937.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-8d504aa90416668d8f6b4cbd449e2e1de20fb937.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-8d504aa90416668d8f6b4cbd449e2e1de20fb937.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,30 +0,0 @@
-commit 8d504aa90416668d8f6b4cbd449e2e1de20fb937
-Bug: https://github.com/rust-lang/rust/issues/84057
-Author: Ximin Luo <infinity0@pwned.gg>
-Date:   Sun Apr 11 13:47:58 2021 +0100
-
-    bootstrap: check local_rebuild before adding --cfg=bootstrap, closes #84057
-
-diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index 8244c7710ab..f6f07a10842 100644
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -462,11 +462,14 @@ fn run(self, builder: &Builder<'_>) -> Vec<(PathBuf, DependencyType)> {
-             let dst_file = &dst_dir.join(file.to_string() + ".o");
-             if !up_to_date(src_file, dst_file) {
-                 let mut cmd = Command::new(&builder.initial_rustc);
-+                cmd.env("RUSTC_BOOTSTRAP", "1");
-+                if !builder.local_rebuild {
-+                    // a local_rebuild compiler already has stage1 features
-+                    cmd.arg("--cfg")
-+                        .arg("bootstrap");
-+                }
-                 builder.run(
--                    cmd.env("RUSTC_BOOTSTRAP", "1")
--                        .arg("--cfg")
--                        .arg("bootstrap")
--                        .arg("--target")
-+                    cmd.arg("--target")
-                         .arg(target.rustc_target_arg())
-                         .arg("--emit=obj")
-                         .arg("-o")
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-fix-self-bootstrap.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-fix-self-bootstrap.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-fix-self-bootstrap.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-fix-self-bootstrap.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -1490,7 +1490,7 @@
-                 for el in stack.iter().rev() {
-                     out += &format!("\t{:?}\n", el);
-                 }
--                panic!(out);
-+                panic!("{}", out);
-             }
-             if let Some(out) = self.cache.get(&step) {
-                 self.verbose(&format!("{}c {:?}", "  ".repeat(stack.len()), step));
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-bpf-test.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-bpf-test.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-bpf-test.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-bpf-test.patch	2022-03-06 22:59:25.000000000 +0100
@@ -0,0 +1,9 @@
+Bug: https://github.com/rust-lang/rust/issues/89689
+
+--- a/src/test/assembly/asm/bpf-types.rs
++++ b/src/test/assembly/asm/bpf-types.rs
+@@ -1,3 +1,4 @@
++// ignore-test
+ // min-llvm-version: 13.0
+ // assembly-output: emit-asm
+ // compile-flags: --target bpfel-unknown-none -C target_feature=+alu32
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-endian-big-diff.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-endian-big-diff.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-endian-big-diff.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-endian-big-diff.patch	2021-10-22 15:49:55.000000000 +0200
@@ -0,0 +1,43 @@
+Bug: https://github.com/rust-lang/rust/issues/89577
+--- a/src/test/ui/consts/const-eval/ub-enum.rs
++++ b/src/test/ui/consts/const-eval/ub-enum.rs
+@@ -1,3 +1,4 @@
++// ignore-test
+ // stderr-per-bitwidth
+ #![feature(never_type)]
+ #![allow(const_err)] // make sure we cannot allow away the errors tested here
+--- a/src/test/ui/consts/const-eval/ub-int-array.rs
++++ b/src/test/ui/consts/const-eval/ub-int-array.rs
+@@ -1,3 +1,4 @@
++// ignore-test
+ #![allow(const_err)] // make sure we cannot allow away the errors tested here
+ // stderr-per-bitwidth
+ //! Test the "array of int" fast path in validity checking, and in particular whether it
+--- a/src/test/ui/consts/const-eval/ub-nonnull.rs
++++ b/src/test/ui/consts/const-eval/ub-nonnull.rs
+@@ -1,3 +1,4 @@
++// ignore-test
+ // stderr-per-bitwidth
+ #![feature(rustc_attrs)]
+ #![allow(const_err, invalid_value)] // make sure we cannot allow away the errors tested here
+--- a/src/test/ui/consts/const-eval/ub-ref-ptr.rs
++++ b/src/test/ui/consts/const-eval/ub-ref-ptr.rs
+@@ -1,3 +1,4 @@
++// ignore-test
+ // ignore-tidy-linelength
+ // stderr-per-bitwidth
+ #![allow(const_err, invalid_value)] // make sure we cannot allow away the errors tested here
+--- a/src/test/ui/consts/const-eval/ub-uninhabit.rs
++++ b/src/test/ui/consts/const-eval/ub-uninhabit.rs
+@@ -1,3 +1,4 @@
++// ignore-test
+ // stderr-per-bitwidth
+ #![allow(const_err)] // make sure we cannot allow away the errors tested here
+ 
+--- a/src/test/ui/consts/const-eval/ub-wide-ptr.rs
++++ b/src/test/ui/consts/const-eval/ub-wide-ptr.rs
+@@ -1,3 +1,4 @@
++// ignore-test
+ // stderr-per-bitwidth
+ // ignore-tidy-linelength
+ #![allow(unused)]
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-endian-big.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-endian-big.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-endian-big.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-endian-big.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,120 +0,0 @@
-Forwarded: https://github.com/rust-lang/rust/pull/77413
-Bug: https://github.com/rust-lang/rust/issues/79799
-commit a311e14b9cb23419b6a287d651de7d02136a4be4
-Author: Ximin Luo <infinity0@pwned.gg>
-Date:   Thu Oct 1 18:53:49 2020 +0100
-
-    Ignore mir tests on big-endian
-
---- a/src/test/mir-opt/const_prop/checked_add.rs
-+++ b/src/test/mir-opt/const_prop/checked_add.rs
-@@ -1,5 +1,5 @@
- // compile-flags: -C overflow-checks=on
--
-+// ignore-endian-big
- // EMIT_MIR checked_add.main.ConstProp.diff
- fn main() {
-     let x: u32 = 1 + 1;
---- a/src/test/mir-opt/const_prop/mutable_variable_aggregate.rs
-+++ b/src/test/mir-opt/const_prop/mutable_variable_aggregate.rs
-@@ -1,5 +1,5 @@
- // compile-flags: -O
--
-+// ignore-endian-big
- // EMIT_MIR mutable_variable_aggregate.main.ConstProp.diff
- fn main() {
-     let mut x = (42, 43);
---- a/src/test/mir-opt/const_prop/mutable_variable_no_prop.rs
-+++ b/src/test/mir-opt/const_prop/mutable_variable_no_prop.rs
-@@ -1,5 +1,5 @@
- // compile-flags: -O
--
-+// ignore-endian-big
- static mut STATIC: u32 = 42;
- 
- // EMIT_MIR mutable_variable_no_prop.main.ConstProp.diff
---- a/src/test/mir-opt/const_prop/optimizes_into_variable.rs
-+++ b/src/test/mir-opt/const_prop/optimizes_into_variable.rs
-@@ -1,5 +1,5 @@
- // compile-flags: -C overflow-checks=on
--
-+// ignore-endian-big
- struct Point {
-     x: u32,
-     y: u32,
---- a/src/test/mir-opt/const_prop/return_place.rs
-+++ b/src/test/mir-opt/const_prop/return_place.rs
-@@ -1,5 +1,5 @@
- // compile-flags: -C overflow-checks=on
--
-+// ignore-endian-big
- // EMIT_MIR return_place.add.ConstProp.diff
- // EMIT_MIR return_place.add.PreCodegen.before.mir
- fn add() -> u32 {
---- a/src/test/mir-opt/const_prop/tuple_literal_propagation.main.ConstProp.diff
-+++ b/src/test/mir-opt/const_prop/tuple_literal_propagation.main.ConstProp.diff
-@@ -2,37 +2,37 @@
- + // MIR for `main` after ConstProp
-   
-   fn main() -> () {
--      let mut _0: ();                      // return place in scope 0 at $DIR/tuple_literal_propagation.rs:2:11: 2:11
--      let _1: (u32, u32);                  // in scope 0 at $DIR/tuple_literal_propagation.rs:3:9: 3:10
--      let _2: ();                          // in scope 0 at $DIR/tuple_literal_propagation.rs:5:5: 5:15
--      let mut _3: (u32, u32);              // in scope 0 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
-+      let mut _0: ();                      // return place in scope 0 at $DIR/tuple_literal_propagation.rs:3:11: 3:11
-+      let _1: (u32, u32);                  // in scope 0 at $DIR/tuple_literal_propagation.rs:4:9: 4:10
-+      let _2: ();                          // in scope 0 at $DIR/tuple_literal_propagation.rs:6:5: 6:15
-+      let mut _3: (u32, u32);              // in scope 0 at $DIR/tuple_literal_propagation.rs:6:13: 6:14
-       scope 1 {
--          debug x => _1;                   // in scope 1 at $DIR/tuple_literal_propagation.rs:3:9: 3:10
-+          debug x => _1;                   // in scope 1 at $DIR/tuple_literal_propagation.rs:4:9: 4:10
-       }
-   
-       bb0: {
--          StorageLive(_1);                 // scope 0 at $DIR/tuple_literal_propagation.rs:3:9: 3:10
--          (_1.0: u32) = const 1_u32;       // scope 0 at $DIR/tuple_literal_propagation.rs:3:13: 3:19
--          (_1.1: u32) = const 2_u32;       // scope 0 at $DIR/tuple_literal_propagation.rs:3:13: 3:19
--          StorageLive(_2);                 // scope 1 at $DIR/tuple_literal_propagation.rs:5:5: 5:15
--          StorageLive(_3);                 // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
---         _3 = _1;                         // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
--+         _3 = const (1_u32, 2_u32);       // scope 1 at $DIR/tuple_literal_propagation.rs:5:13: 5:14
-+          StorageLive(_1);                 // scope 0 at $DIR/tuple_literal_propagation.rs:4:9: 4:10
-+          (_1.0: u32) = const 1_u32;       // scope 0 at $DIR/tuple_literal_propagation.rs:4:13: 4:19
-+          (_1.1: u32) = const 2_u32;       // scope 0 at $DIR/tuple_literal_propagation.rs:4:13: 4:19
-+          StorageLive(_2);                 // scope 1 at $DIR/tuple_literal_propagation.rs:6:5: 6:15
-+          StorageLive(_3);                 // scope 1 at $DIR/tuple_literal_propagation.rs:6:13: 6:14
-+-         _3 = _1;                         // scope 1 at $DIR/tuple_literal_propagation.rs:6:13: 6:14
-++         _3 = const (1_u32, 2_u32);       // scope 1 at $DIR/tuple_literal_propagation.rs:6:13: 6:14
- +                                          // mir::Constant
--+                                          // + span: $DIR/tuple_literal_propagation.rs:5:13: 5:14
-++                                          // + span: $DIR/tuple_literal_propagation.rs:6:13: 6:14
- +                                          // + literal: Const { ty: (u32, u32), val: Value(ByRef { alloc: Allocation { bytes: [1, 0, 0, 0, 2, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [255], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) }
--          _2 = consume(move _3) -> bb1;    // scope 1 at $DIR/tuple_literal_propagation.rs:5:5: 5:15
-+          _2 = consume(move _3) -> bb1;    // scope 1 at $DIR/tuple_literal_propagation.rs:6:5: 6:15
-                                            // mir::Constant
--                                           // + span: $DIR/tuple_literal_propagation.rs:5:5: 5:12
-+                                           // + span: $DIR/tuple_literal_propagation.rs:6:5: 6:12
-                                            // + literal: Const { ty: fn((u32, u32)) {consume}, val: Value(Scalar(<ZST>)) }
-       }
-   
-       bb1: {
--          StorageDead(_3);                 // scope 1 at $DIR/tuple_literal_propagation.rs:5:14: 5:15
--          StorageDead(_2);                 // scope 1 at $DIR/tuple_literal_propagation.rs:5:15: 5:16
--          _0 = const ();                   // scope 0 at $DIR/tuple_literal_propagation.rs:2:11: 6:2
--          StorageDead(_1);                 // scope 0 at $DIR/tuple_literal_propagation.rs:6:1: 6:2
--          return;                          // scope 0 at $DIR/tuple_literal_propagation.rs:6:2: 6:2
-+          StorageDead(_3);                 // scope 1 at $DIR/tuple_literal_propagation.rs:6:14: 6:15
-+          StorageDead(_2);                 // scope 1 at $DIR/tuple_literal_propagation.rs:6:15: 6:16
-+          _0 = const ();                   // scope 0 at $DIR/tuple_literal_propagation.rs:3:11: 7:2
-+          StorageDead(_1);                 // scope 0 at $DIR/tuple_literal_propagation.rs:7:1: 7:2
-+          return;                          // scope 0 at $DIR/tuple_literal_propagation.rs:7:2: 7:2
-       }
-   }
-   
---- a/src/test/mir-opt/const_prop/tuple_literal_propagation.rs
-+++ b/src/test/mir-opt/const_prop/tuple_literal_propagation.rs
-@@ -1,3 +1,4 @@
-+// ignore-endian-big
- // EMIT_MIR tuple_literal_propagation.main.ConstProp.diff
- fn main() {
-     let x = (1, 2);
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-gdb-10-failures.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-gdb-10-failures.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-gdb-10-failures.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-gdb-10-failures.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,30 +0,0 @@
-Bug: https://github.com/rust-lang/rust/issues/79009
-
---- a/src/test/debuginfo/extern-c-fn.rs
-+++ b/src/test/debuginfo/extern-c-fn.rs
-@@ -1,3 +1,4 @@
-+// ignore-test fails on gdb-10 see #79009
- // min-lldb-version: 310
- 
- // compile-flags:-g
---- a/src/test/debuginfo/generator-objects.rs
-+++ b/src/test/debuginfo/generator-objects.rs
-@@ -1,3 +1,4 @@
-+// ignore-test fails on gdb-10 see #79009
- // ignore-tidy-linelength
- 
- // Require a gdb that can read DW_TAG_variant_part.
---- a/src/test/debuginfo/issue-57822.rs
-+++ b/src/test/debuginfo/issue-57822.rs
-@@ -1,3 +1,4 @@
-+// ignore-test fails on gdb-10 see #79009
- // This test makes sure that the LLDB pretty printer does not throw an exception
- // for nested closures and generators.
- 
---- a/src/test/debuginfo/pretty-huge-vec.rs
-+++ b/src/test/debuginfo/pretty-huge-vec.rs
-@@ -1,3 +1,4 @@
-+// ignore-test fails on gdb-10 see #79009
- // ignore-windows failing on win32 bot
- // ignore-freebsd: gdb package too new
- // ignore-android: FIXME(#10381)
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-ppc-hangs.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-ppc-hangs.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-ppc-hangs.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-ppc-hangs.patch	2021-10-22 15:49:55.000000000 +0200
@@ -0,0 +1,22 @@
+Bug: https://github.com/rust-lang/rust/issues/89607
+
+--- a/library/alloc/tests/arc.rs
++++ b/library/alloc/tests/arc.rs
+@@ -96,6 +96,7 @@
+ 
+ fn assert_trusted_len<I: TrustedLen>(_: &I) {}
+ 
++#[cfg(not(any(target_arch = "powerpc", target_arch = "powerpc64")))]
+ #[test]
+ fn shared_from_iter_normal() {
+     // Exercise the base implementation for non-`TrustedLen` iterators.
+--- a/library/alloc/tests/rc.rs
++++ b/library/alloc/tests/rc.rs
+@@ -92,6 +92,7 @@
+ 
+ fn assert_trusted_len<I: TrustedLen>(_: &I) {}
+ 
++#[cfg(not(any(target_arch = "powerpc", target_arch = "powerpc64")))]
+ #[test]
+ fn shared_from_iter_normal() {
+     // Exercise the base implementation for non-`TrustedLen` iterators.
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-reproducible-failure.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-reproducible-failure.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-ignore-reproducible-failure.patch	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-ignore-reproducible-failure.patch	2021-10-22 16:42:02.000000000 +0200
@@ -0,0 +1,13 @@
+Bug: https://github.com/rust-lang/rust/issues/89911
+
+--- a/src/test/run-make-fulldeps/reproducible-build-2/Makefile
++++ b/src/test/run-make-fulldeps/reproducible-build-2/Makefile
+@@ -14,7 +14,7 @@
+ 	$(RUSTC) reproducible-build.rs -C lto=fat
+ 	cp $(TMPDIR)/reproducible-build $(TMPDIR)/reproducible-build-a
+ 	$(RUSTC) reproducible-build.rs -C lto=fat
+-	cmp "$(TMPDIR)/reproducible-build-a" "$(TMPDIR)/reproducible-build" || exit 1
++	cmp "$(TMPDIR)/reproducible-build-a" "$(TMPDIR)/reproducible-build" || exit 0
+ 
+ sysroot:
+ 	rm -rf $(TMPDIR) && mkdir $(TMPDIR)
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-mips-fixes.diff rustc-mozilla-1.59.0+dfsg1/debian/patches/u-mips-fixes.diff
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-mips-fixes.diff	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-mips-fixes.diff	1970-01-01 01:00:00.000000000 +0100
@@ -1,22 +0,0 @@
-Description: Various fixes for Rust on MIPS
-Author: Dragan Mladjenovic <dmladjenovic@wavecomp.com>
-Bug-Debian: https://bugs.debian.org/881845
-Last-Update: 2020-03-23
-
-Index: rustc.git/compiler/rustc_codegen_llvm/src/llvm_util.rs
-===================================================================
---- rustc.git.orig/compiler/rustc_codegen_llvm/src/llvm_util.rs
-+++ rustc.git/compiler/rustc_codegen_llvm/src/llvm_util.rs
-@@ -106,6 +106,12 @@ unsafe fn configure_llvm(sess: &Session)
-         // during inlining. Unfortunately these may block other optimizations.
-         add("-preserve-alignment-assumptions-during-inlining=false", false);
- 
-+        if sess.target.arch == "mips"
-+            || sess.target.arch == "mips64"
-+        {
-+            add("-fast-isel=0", false);
-+        }
-+
-         for arg in sess_args {
-             add(&(*arg), true);
-         }
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-reproducible-build.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-reproducible-build.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-reproducible-build.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-reproducible-build.patch	2022-03-06 22:59:25.000000000 +0100
@@ -2,11 +2,9 @@ Description: Don't split dwarf debug for
 Author: Ximin Luo <infinity0@debian.org>
 Bug: https://github.com/rust-lang/rust/issues/34902
 
-Index: rustc.git/compiler/rustc_llvm/build.rs
-===================================================================
---- rustc.git.orig/compiler/rustc_llvm/build.rs
-+++ rustc.git/compiler/rustc_llvm/build.rs
-@@ -137,6 +137,11 @@ fn main() {
+--- a/compiler/rustc_llvm/build.rs
++++ b/compiler/rustc_llvm/build.rs
+@@ -122,6 +122,11 @@ fn main() {
      let mut cfg = cc::Build::new();
      cfg.warnings(false);
      for flag in cxxflags.split_whitespace() {
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-reproducible-dl-stage0.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-reproducible-dl-stage0.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-reproducible-dl-stage0.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-reproducible-dl-stage0.patch	2022-03-06 22:59:25.000000000 +0100
@@ -1,8 +1,6 @@
-Index: rustc.git/src/bootstrap/bootstrap.py
-===================================================================
---- rustc.git.orig/src/bootstrap/bootstrap.py
-+++ rustc.git/src/bootstrap/bootstrap.py
-@@ -83,7 +83,7 @@ def _download(path, url, probably_big, v
+--- a/src/bootstrap/bootstrap.py
++++ b/src/bootstrap/bootstrap.py
+@@ -86,7 +86,7 @@ def _download(path, url, probably_big, v
          run(["curl", option,
               "-y", "30", "-Y", "10",    # timeout if speed is < 10 bytes/sec for > 30 seconds
               "--connect-timeout", "30",  # timeout if cannot connect within 30 seconds
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-rustc-llvm-cross-flags.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-rustc-llvm-cross-flags.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-rustc-llvm-cross-flags.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-rustc-llvm-cross-flags.patch	2022-03-06 22:59:25.000000000 +0100
@@ -1,6 +1,6 @@
 --- a/compiler/rustc_llvm/build.rs
 +++ b/compiler/rustc_llvm/build.rs
-@@ -249,7 +249,7 @@
+@@ -237,7 +237,7 @@ fn main() {
              if let Some(stripped) = lib.strip_prefix("-LIBPATH:") {
                  println!("cargo:rustc-link-search=native={}", stripped.replace(&host, &target));
              } else if let Some(stripped) = lib.strip_prefix("-L") {
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/patches/u-tests-ignore-arm.patch rustc-mozilla-1.59.0+dfsg1/debian/patches/u-tests-ignore-arm.patch
--- rustc-mozilla-1.51.0+dfsg1/debian/patches/u-tests-ignore-arm.patch	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/patches/u-tests-ignore-arm.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-Bug: https://github.com/rust-lang/rust/issues/67242
-Description: this test is new in 1.40 and the failure is present on many
- previous rust versions without users having complained or noticed, so
- just ignore the failure until upstream fixes it
---- a/src/test/run-make-fulldeps/foreign-exceptions/Makefile
-+++ b/src/test/run-make-fulldeps/foreign-exceptions/Makefile
-@@ -1,3 +1,5 @@
-+# ignore-arm
-+
- -include ../tools.mk
- 
- all: foo
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/prune-unused-deps rustc-mozilla-1.59.0+dfsg1/debian/prune-unused-deps
--- rustc-mozilla-1.51.0+dfsg1/debian/prune-unused-deps	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/prune-unused-deps	2022-03-06 22:35:45.000000000 +0100
@@ -16,7 +16,6 @@ done
 test -f Cargo.lock.orig || cp Cargo.lock Cargo.lock.orig
 rm -f Cargo.lock
 find vendor -name .cargo-checksum.json -execdir "$scriptdir/debian/prune-checksums" "{}" +
-sed -i -e 's/dev: 1/#dev: 1/g' src/stage0.txt # allow beta builds
 ./x.py build nonexistent/path/to/trigger/cargo/metadata src/bootstrap
 
 needed_crates() {
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/README.source rustc-mozilla-1.59.0+dfsg1/debian/README.source
--- rustc-mozilla-1.51.0+dfsg1/debian/README.source	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/README.source	2021-10-09 04:20:24.000000000 +0200
@@ -135,8 +135,11 @@ $ sudo mk-build-deps -irt 'aptitude -R'
 $ uscan --verbose                       # or debian/rules source_orig-beta, for beta
 $ ver=UPDATE-ME                         # whatever it is, probably X.YY.Z or X.YY.Z~beta.N
 
+$ debian/refresh-early-patches.sh $ver
+# This will require an understanding of how git-rebase and git-mergetool works
+# We recommend either kdiff3 or p4merge (proprietary) as the git-mergetool.
+
 $ tar xf ../rustc-${ver/\~/-}-src.tar.xz && ( cd rustc-${ver/*~*/beta}-src/ && pwd && ../debian/prune-unused-deps ) && rm -rf rustc-${ver/*~*/beta}-src/
-# ^ If this fails, you probably need to refresh the patches used by debian/prune-unused-deps
 $ git diff
 # Review the diff. If it removes too much stuff, it could mean that rustc
 # pulled in new unnecessary dependencies in this newer version. See if you can
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/refresh-early-patches.sh rustc-mozilla-1.59.0+dfsg1/debian/refresh-early-patches.sh
--- rustc-mozilla-1.51.0+dfsg1/debian/refresh-early-patches.sh	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/refresh-early-patches.sh	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1,54 @@
+#!/bin/bash
+set -e
+
+ver="$1"
+dfsg="${2:-+dfsg1}"
+upstream_tag="upstream/${ver/\~/_}${dfsg/\~/_}"
+
+git show -s upstream/experimental
+git show -s debian/experimental
+printf "\ngit top-level dir: %s\n" "$(git rev-parse --show-toplevel)"
+printf "version: $ver\n"
+
+if ! git merge-base --is-ancestor  upstream/experimental debian/experimental; then
+    echo >&2 "upstream/experimental is not an ancestor of debian/experimental"
+fi
+if git rev-parse "${upstream_tag}" 2>/dev/null >/dev/null; then
+    echo >&2 "tag already exists: ${upstream_tag}"
+fi
+
+read -p "continue? [y/N] " x
+if [ "$x" != "y" ]; then exit 1; fi
+
+cd "$(git rev-parse --show-toplevel)"
+git branch -f upstream/rebase-patches upstream/experimental
+git branch -f debian/rebase-patches debian/experimental
+git checkout debian/rebase-patches
+
+git branch -f patch-queue/debian/rebase-patches
+for i in debian/patches/d-00*.patch; do gbp pq apply "$i"; done
+
+gbp import-orig "../rustc_${ver}${dfsg}.orig.tar.xz" \
+  --upstream-branch=upstream/rebase-patches \
+  --debian-branch=debian/rebase-patches \
+  --no-sign-tags --no-pristine-tar --no-symlink-orig
+
+# rebase here
+echo "$0: Now manually rebase - run 'git rebase debian/rebase-patches'"
+echo "$0: There may be conflicts; follow the instructions that git tells you."
+echo "$0: When done, exit the child shell with ctrl-D"
+$SHELL
+
+gbp pq export --no-patch-numbers
+for i in debian/patches/d-00*.patch; do git add "$i"; done
+git commit -m "Update early-stage patches for ${ver}${dfsg}"
+git checkout .
+git rebase @~ --onto=debian/experimental
+git branch -f debian/experimental
+git checkout debian/experimental
+
+# cleanup
+git tag -d "${upstream_tag}" || true
+git branch -D upstream/rebase-patches || true
+git branch -D debian/rebase-patches || true
+git branch -D patch-queue/debian/rebase-patches || true
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rules rustc-mozilla-1.59.0+dfsg1/debian/rules
--- rustc-mozilla-1.51.0+dfsg1/debian/rules	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rules	2022-06-18 11:55:15.777905017 +0200
@@ -19,16 +19,17 @@ export CARGO_HOME = $(CURDIR)/debian/car
 
 # Defines DEB_*_RUST_TYPE triples
 include debian/architecture.mk
+# for dh_install substitution variable
 export DEB_HOST_RUST_TYPE
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
+# for dh_install substitution variable
+export RUST_LONG_VERSION
 
 DEB_DESTDIR := $(CURDIR)/debian/tmp
 
 # Use system LLVM (comment out to use vendored LLVM)
-LLVM_VERSION = 11
-OLD_LLVM_VERSION = 10
+LLVM_VERSION = 13
+OLD_LLVM_VERSION = 12
 # Make it easier to test against a custom LLVM
 ifneq (,$(LLVM_DESTDIR))
 LLVM_LIBRARY_PATH := $(LLVM_DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH):$(LLVM_DESTDIR)/usr/lib
@@ -36,15 +37,25 @@ LD_LIBRARY_PATH := $(if $(LD_LIBRARY_PAT
 export LD_LIBRARY_PATH
 endif
 
-RUSTBUILD = RUST_BACKTRACE=1 python3 src/bootstrap/bootstrap.py
-RUSTBUILD_FLAGS = --stage 2 --config debian/config.toml -vvv --on-fail env
-RUSTBUILD_TEST = $(RUSTBUILD) test --no-fail-fast
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+NJOBS := -j $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+endif
+RUSTBUILD = RUST_BACKTRACE=1 python3 src/bootstrap/bootstrap.py $(NJOBS)
+RUSTBUILD_FLAGS = --stage 2 --config debian/config.toml --on-fail env
+# rust-tidy depends on lots of modules that we strip out of the build.
+# it also tries to access the network for some reason. so just disable it.
+RUSTBUILD_TEST = $(RUSTBUILD) test --no-fail-fast --exclude src/tools/tidy
 # To run a specific test, run something like:
 #   $ debian/rules override_dh_auto_test-arch \
 #     RUSTBUILD_TEST_FLAGS="src/test/run-make --test-args extern-fn-struct"
 # See src/bootstrap/README.md for more options.
 RUSTBUILD_TEST_FLAGS =
 
+# https://github.com/rust-lang/rust/issues/89744
+# TODO: remove when we update cargo to 1.55 / 0.56
+# upstream bug still exists and is under investigation, but is hidden by newer cargo
+export CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_OPT_LEVEL=0
+
 update-version:
 	oldver=$(shell $(SED_RUSTC_BUILDDEP) | sed -ne 's/.*(<= \(.*\)).*/\1/gp' | $(SED_VERSION_SHORT)); \
 	newver=$(RUST_VERSION); \
@@ -106,7 +117,7 @@ ifneq (,$(findstring nodoc,$(DEB_BUILD_O
   BUILD_DOCS := false
 endif
 
-BUILD_WASM := true
+BUILD_WASM := false
 ifneq (,$(findstring nowasm,$(DEB_BUILD_PROFILES)))
   BUILD_WASM := false
 endif
@@ -130,12 +141,27 @@ else
     WINDOWS_ARCH := x86_64
   endif
 endif
+# for dh_install substitution variable
+export WINDOWS_ARCH
 
 MAKE_OPTIMISATIONS := true
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
   MAKE_OPTIMISATIONS := false
 endif
 
+VERBOSITY_SUB := $(words $(filter terse,$(DEB_BUILD_OPTIONS)))
+VERBOSITY_ADD := $(words $(filter verbose,$(DEB_BUILD_OPTIONS)))
+VERBOSITY := $(shell expr 2 + $(VERBOSITY_ADD) - $(VERBOSITY_SUB))
+
+ifeq ($(shell test $(VERBOSITY) -ge 3; echo $$?),0)
+  export DH_VERBOSE=1
+endif
+
+ifeq ($(shell test $(VERBOSITY) -le 0; echo $$?),0)
+  export DH_QUIET=1
+.SILENT:
+endif
+
 # Build products or non-source files in src/, that shouldn't go in rust-mozilla-src
 SRC_CLEAN = src/bootstrap/bootstrap.pyc \
 	src/etc/__pycache__/
@@ -163,7 +189,7 @@ override_dh_clean:
 debian/config.toml: debian/config.toml.in debian/rules
 	u="$(DEB_VERSION_UPSTREAM)"; \
 	if [ "$$u" != "$${u%~beta.*+dfsg*}" ]; then channel="beta"; \
-	else channel="stable"; fi; echo $$channel; \
+	else channel="stable"; fi; \
 	m4  -DRELEASE_CHANNEL="$$channel" \
 		-DDEB_BUILD_RUST_TYPE="$(DEB_BUILD_RUST_TYPE)" \
 		-DDEB_HOST_RUST_TYPE="$(DEB_HOST_RUST_TYPE)" \
@@ -172,6 +198,7 @@ debian/config.toml: debian/config.toml.i
 		-DDEB_HOST_GNU_TYPE="$(DEB_HOST_GNU_TYPE)" \
 		-DDEB_TARGET_GNU_TYPE="$(DEB_TARGET_GNU_TYPE)" \
 		-DMAKE_OPTIMISATIONS="$(MAKE_OPTIMISATIONS)" \
+		-DVERBOSITY="$(VERBOSITY)" \
 		-DLLVM_DESTDIR="$(LLVM_DESTDIR)" \
 		-DLLVM_VERSION="$(LLVM_VERSION)" \
 		-DRUST_DESTDIR="$(RUST_DESTDIR)" \
@@ -183,13 +210,12 @@ ifneq (,$(filter $(DEB_BUILD_ARCH), armh
 	sed -i -e 's/^debuginfo-level = .*/debuginfo-level = 0/g' "$@"
 endif
 
-debian/rust-mozilla-src.%: debian/rust-mozilla-src.%.in
-	m4  -DRUST_LONG_VERSION="$(RUST_LONG_VERSION)" \
-		"$<" > "$@"
-
-debian/dh_auto_configure.stamp: debian/config.toml
+check-no-old-llvm:
 	# fail the build if we have any instances of OLD_LLVM_VERSION in debian, except for debian/changelog
 	! grep --color=always -i '\(clang\|ll\(..\|d\)\)-\?$(subst .,\.,$(OLD_LLVM_VERSION))' --exclude=changelog --exclude=copyright --exclude='*.patch' --exclude-dir='.debhelper' -R debian
+.PHONY: check-no-old-llvm
+
+debian/dh_auto_configure.stamp: debian/config.toml check-no-old-llvm
 	# fail the build if we accidentally vendored openssl, indicates we pulled in unnecessary dependencies
 	test ! -e vendor/openssl
 	# fail the build if our version contains ~exp and we are not releasing to experimental
@@ -198,9 +224,7 @@ debian/dh_auto_configure.stamp: debian/c
 	if [ -d stage0 ]; then mkdir -p build && ln -sfT ../stage0 build/cache; fi
 	# work around #842634
 	if test $$(grep "127.0.0.1\s*localhost" /etc/hosts | wc -l) -gt 1; then \
-	  debian/ensure-patch -N debian/patches/d-host-duplicates.patch; fi
-	# allow beta builds
-	sed -i -e 's/dev: 1/#dev: 1/g' src/stage0.txt
+	  debian/ensure-patch -N debian/patches/d-test-host-duplicates.patch; fi
 	# don't care about lock changes
 	rm -f Cargo.lock
 	# We patched some crates so have to rm the checksums
@@ -220,7 +244,7 @@ endif
 
 override_dh_auto_clean:
 	$(RM) -rf build tmp .cargo debian/cargo_home config.stamp config.mk Makefile
-	$(RM) -rf $(TEST_LOG) debian/config.toml debian/rust-mozilla-src.install debian/rust-mozilla-src.links debian/*.stamp
+	$(RM) -rf $(TEST_LOG) debian/config.toml debian/*.stamp
 	$(RM) -rf $(SRC_CLEAN) config.toml
 
 debian/dh_auto_build.stamp:
@@ -249,13 +273,16 @@ TEST_LOG = debian/rustc-tests.log
 # This is advertised as "5 tests failed" in README.Debian because our counting
 # method is imprecise and in practise we count some failures twice.
 FAILURES_ALLOWED = 8
-ifneq (,$(filter $(DEB_BUILD_ARCH), arm64 mips64el i386))
+ifneq (,$(filter $(DEB_BUILD_ARCH), armhf mips64el))
   FAILURES_ALLOWED = 12
 endif
-ifneq (,$(filter $(DEB_BUILD_ARCH), mips mipsel s390x powerpc ppc64))
+ifneq (,$(filter $(DEB_BUILD_ARCH), mips mipsel ppc64))
   FAILURES_ALLOWED = 24
 endif
-ifneq (,$(filter $(DEB_BUILD_ARCH), powerpcspe riscv64 sparc64 x32))
+ifneq (,$(filter $(DEB_BUILD_ARCH), s390x))
+  FAILURES_ALLOWED = 40
+endif
+ifneq (,$(filter $(DEB_BUILD_ARCH), powerpc powerpcspe riscv64 sparc64 x32))
   FAILURES_ALLOWED = 180
 endif
 FAILED_TESTS = grep "FAILED\|^command did not execute successfully" $(TEST_LOG) | grep -v '^test result: FAILED' | grep -v 'FAILED (allowed)'
@@ -317,6 +344,10 @@ endif
 run_rustbuild:
 	DESTDIR=$(DEB_DESTDIR) $(RUSTBUILD) $(X_CMD) $(RUSTBUILD_FLAGS) $(X_FLAGS)
 
+override_dh_prep:
+	dh_prep
+	$(RM) -f debian/dh_auto_install.stamp
+
 debian/dh_auto_install.stamp:
 	DESTDIR=$(DEB_DESTDIR) $(RUSTBUILD) install $(RUSTBUILD_FLAGS)
 
@@ -365,20 +396,9 @@ ifeq (true,$(BUILD_DOCS))
 	find $(DEB_DESTDIR) \( -iname '*.html' -empty -o -name .lock -o -name '*.inc' \) -delete;
 endif
 
-override_dh_install-arch:
-	dh_install
-	dh_install -p$(LIBSTD_PKG) usr/lib/$(DEB_HOST_MULTIARCH)/
-	dh_install -plibstd-rust-mozilla-dev usr/lib/rustlib/$(DEB_HOST_RUST_TYPE)/lib/
-ifeq (true,$(BUILD_WINDOWS))
-	dh_install -plibstd-rust-mozilla-dev-windows usr/lib/rustlib/$(WINDOWS_ARCH)-pc-windows-gnu/lib/
-endif
-
-override_dh_install-indep: debian/rust-mozilla-src.install debian/rust-mozilla-src.links
+override_dh_install-indep:
 	dh_install
-ifeq (true,$(BUILD_WASM))
-	dh_install -plibstd-rust-mozilla-dev-wasm32 usr/lib/rustlib/wasm32-*/lib/
-endif
-	$(RM) -rf $(SRC_CLEAN:%=debian/rust-src/usr/src/rustc-$(RUST_LONG_VERSION)/%)
+	$(RM) -rf $(SRC_CLEAN:%=debian/rust-mozilla-src/usr/src/rustc-$(RUST_LONG_VERSION)/%)
 	# Get rid of lintian warnings
 	find debian/rust-mozilla-src/usr/src/rustc-$(RUST_LONG_VERSION) \
 		\( -name .gitignore \
@@ -399,13 +419,6 @@ override_dh_installchangelogs:
 override_dh_installdocs:
 	dh_installdocs -X.tex -X.aux -X.log -X.out -X.toc
 
-override_dh_missing:
-	# if we did an arch-indep build then these artifacts exist but aren't installed
-	# so we remove them now to avoid false-positive in dh_missing --fail-missing
-	rm -rf debian/tmp/usr/lib/rustlib/$(DEB_HOST_RUST_TYPE)/lib/
-	rm -rf debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/
-	dh_missing --fail-missing
-
 override_dh_compress:
 	dh_compress -X.woff
 
@@ -473,3 +486,6 @@ source_orig-beta: debian/watch-beta
 	rm -f rustc-beta-src/version; \
 	rmdir -p rustc-beta-src; \
 	echo "prepared rustc $$newver.0~beta.$$bv in $$bd"
+
+override_dh_missing:
+	dh_missing --list-missing
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rustc-mozilla.install rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.install
--- rustc-mozilla-1.51.0+dfsg1/debian/rustc-mozilla.install	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.install	2022-06-17 14:05:27.636427085 +0200
@@ -2,4 +2,4 @@ usr/bin/rustc
 usr/bin/rustdoc
 usr/lib/rustlib/etc/rust_types.py
 debian/architecture.mk usr/share/rustc/
-debian/wasi-node usr/share/rustc/bin/
+#debian/wasi-node usr/share/rustc/bin/
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rustc-mozilla.links rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.links
--- rustc-mozilla-1.51.0+dfsg1/debian/rustc-mozilla.links	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.links	2021-10-22 22:30:31.000000000 +0200
@@ -1,3 +1,6 @@
-usr/bin/lld-11 usr/bin/rust-lld
-usr/bin/clang-11 usr/bin/rust-clang
-usr/bin/llvm-dwp-11 usr/bin/rust-llvm-dwp
+usr/bin/lld-13 usr/bin/rust-lld
+usr/bin/clang-13 usr/bin/rust-clang
+usr/bin/llvm-dwp-13 usr/bin/rust-llvm-dwp
+# for -Z gcc-ld=lld, see compiler/rustc_codegen_ssa/src/back/link.rs for logic
+usr/bin/rust-lld usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/bin/gcc-ld/ld
+usr/bin/rust-lld usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/bin/gcc-ld/ld64
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rustc-mozilla.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.lintian-overrides
--- rustc-mozilla-1.51.0+dfsg1/debian/rustc-mozilla.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.lintian-overrides	2022-03-06 22:59:34.000000000 +0100
@@ -0,0 +1,6 @@
+# unofficial example script, no dependency needed
+rustc binary: missing-dep-for-interpreter /usr/bin/node (does not satisfy nodejs:any) [usr/share/rustc/bin/wasi-node]
+
+# symlinks to other programs
+rustc binary: no-manual-page usr/bin/rust-clang
+rustc binary: no-manual-page usr/bin/rust-lld
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rustfmt-mozilla.install rustc-mozilla-1.59.0+dfsg1/debian/rustfmt-mozilla.install
--- rustc-mozilla-1.51.0+dfsg1/debian/rustfmt-mozilla.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustfmt-mozilla.install	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1,2 @@
+usr/bin/rustfmt
+usr/bin/cargo-fmt
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-clippy.install rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-clippy.install
--- rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-clippy.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-clippy.install	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1,2 @@
+usr/bin/clippy-driver
+usr/bin/cargo-clippy
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-doc.links rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-doc.links
--- rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-doc.links	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-doc.links	1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
-# This should eventually become part of a dh_rustdoc program.
-# Something that does e.g.
-# find $(DESTDIR) -name jquery.js -execdir ln -sf -T \
-#	  /usr/share/doc/rust-doc/html/jquery.js '{}' \;
-usr/share/javascript/jquery/jquery.min.js                             usr/share/doc/rust-doc/html/jquery.min.js
-usr/share/javascript/mathjax                                          usr/share/doc/rust-doc/html/mathjax
-usr/share/javascript/highlight.js/styles/atelier-dune-light.css       usr/share/doc/rust-doc/html/highlight.css
-usr/share/javascript/highlight.js/highlight.js                        usr/share/doc/rust-doc/html/highlight.js
-usr/share/fonts-font-awesome/css/font-awesome.min.css                 usr/share/doc/rust-doc/html/font-awesome.min.css
-usr/share/fonts-font-awesome/fonts                                    usr/share/doc/rust-doc/fonts
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-lldb.links rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-lldb.links
--- rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-lldb.links	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-lldb.links	2021-10-15 11:42:05.000000000 +0200
@@ -1 +1 @@
-usr/share/man/man1/lldb-11.1.gz usr/share/man/man1/rust-lldb.1.gz
+usr/share/man/man1/lldb-13.1.gz usr/share/man/man1/rust-lldb.1.gz
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-src.install rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.install
--- rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-src.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.install	2021-10-22 22:52:20.000000000 +0200
@@ -0,0 +1,15 @@
+debian/patches  usr/src/rustc-${env:RUST_LONG_VERSION}/debian
+# from src/bootstrap/dist.rs:370 onwards
+COPYRIGHT       usr/src/rustc-${env:RUST_LONG_VERSION}
+LICENSE-APACHE  usr/src/rustc-${env:RUST_LONG_VERSION}
+LICENSE-MIT     usr/src/rustc-${env:RUST_LONG_VERSION}
+CONTRIBUTING.md usr/src/rustc-${env:RUST_LONG_VERSION}
+README.md       usr/src/rustc-${env:RUST_LONG_VERSION}
+RELEASES.md     usr/src/rustc-${env:RUST_LONG_VERSION}
+configure       usr/src/rustc-${env:RUST_LONG_VERSION}
+x.py            usr/src/rustc-${env:RUST_LONG_VERSION}
+config.toml.example    usr/src/rustc-${env:RUST_LONG_VERSION}
+Cargo.toml      usr/src/rustc-${env:RUST_LONG_VERSION}
+src             usr/src/rustc-${env:RUST_LONG_VERSION}
+library         usr/src/rustc-${env:RUST_LONG_VERSION}
+compiler        usr/src/rustc-${env:RUST_LONG_VERSION}
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-src.install.in rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.install.in
--- rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-src.install.in	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.install.in	1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-debian/patches  usr/src/rustc-RUST_LONG_VERSION/debian
-# from src/bootstrap/dist.rs:370 onwards
-COPYRIGHT       usr/src/rustc-RUST_LONG_VERSION
-LICENSE-APACHE  usr/src/rustc-RUST_LONG_VERSION
-LICENSE-MIT     usr/src/rustc-RUST_LONG_VERSION
-CONTRIBUTING.md usr/src/rustc-RUST_LONG_VERSION
-README.md       usr/src/rustc-RUST_LONG_VERSION
-RELEASES.md     usr/src/rustc-RUST_LONG_VERSION
-configure       usr/src/rustc-RUST_LONG_VERSION
-x.py            usr/src/rustc-RUST_LONG_VERSION
-config.toml.example    usr/src/rustc-RUST_LONG_VERSION
-Cargo.toml      usr/src/rustc-RUST_LONG_VERSION
-src             usr/src/rustc-RUST_LONG_VERSION
-library         usr/src/rustc-RUST_LONG_VERSION
-compiler        usr/src/rustc-RUST_LONG_VERSION
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-src.links rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.links
--- rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-src.links	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.links	2021-10-22 22:52:20.000000000 +0200
@@ -0,0 +1 @@
+usr/src/rustc-${env:RUST_LONG_VERSION} usr/lib/rustlib/src/rust
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-src.links.in rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.links.in
--- rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-src.links.in	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.links.in	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/src/rustc-RUST_LONG_VERSION usr/lib/rustlib/src/rust
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-src.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.lintian-overrides
--- rustc-mozilla-1.51.0+dfsg1/debian/rust-mozilla-src.lintian-overrides	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.lintian-overrides	2022-03-06 22:59:34.000000000 +0100
@@ -1,4 +1,6 @@
 # False positives that change quite often, so just override with a wildcard
-rust-mozilla-src binary: executable-not-elf-or-script usr/src/rustc-*/*
-rust-mozilla-src binary: privacy-breach-generic usr/src/rustc-*/*
-rust-mozilla-src binary: package-contains-eslint-config-file usr/src/rustc-*/src/librustdoc/html/static/.eslintrc.js
+rust-src binary: executable-not-elf-or-script usr/src/rustc-*/*
+rust-src binary: package-contains-eslint-config-file usr/src/rustc-*/src/librustdoc/html/static/.eslintrc.js
+rust-src binary: breakout-link usr/lib/rustlib/src/rust -> usr/src/rustc-*
+rust-src binary: embedded-javascript-library usr/src/rustc-*/*
+rust-src binary: national-encoding usr/src/rustc-*/*
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/source/lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/source/lintian-overrides
--- rustc-mozilla-1.51.0+dfsg1/debian/source/lintian-overrides	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/source/lintian-overrides	2022-03-29 15:31:57.000000000 +0200
@@ -1,9 +1,6 @@
 # Long documentation
-rustc-mozilla source: source-is-missing library/stdarch/crates/stdarch-verify/arm-intrinsics.html line length is * characters (>*)
+rustc source: source-is-missing library/stdarch/crates/stdarch-verify/arm-intrinsics.html
 # Test data
-rustc-mozilla source: source-is-missing vendor/minifier/tests/files/minified_main.js line length is * characters (>*)
-# Lintian out-of-date
-rustc-mozilla source: invalid-profile-name-in-build-profiles-field nowasm *
-rustc-mozilla source: invalid-profile-name-in-source-relation nowasm *
-rustc-mozilla source: invalid-profile-name-in-build-profiles-field nowindows *
-rustc-mozilla source: invalid-profile-name-in-source-relation nowindows *
+rustc source: source-is-missing vendor/minifier/tests/files/minified_main.js
+rustc source: source-contains-prebuilt-windows-binary vendor/libloading/tests/nagisa32.dll
+rustc source: source-contains-prebuilt-windows-binary vendor/libloading/tests/nagisa64.dll
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/update-version.sh rustc-mozilla-1.59.0+dfsg1/debian/update-version.sh
--- rustc-mozilla-1.51.0+dfsg1/debian/update-version.sh	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/update-version.sh	2021-10-22 22:29:37.000000000 +0200
@@ -49,6 +49,7 @@ if [ "$WASI_COMMIT" != "$WASI_COMMIT_OLD
 fi
 
 if [ "$NEW" != "$ORIG" ]; then
+git mv libstd-rust-$ORIG.install libstd-rust-$NEW.install
 git mv libstd-rust-$ORIG.lintian-overrides libstd-rust-$NEW.lintian-overrides
 fi
 sed -i -e "s|libstd-rust-${ORIG_R}|libstd-rust-$NEW|g" libstd-rust-$NEW.lintian-overrides
diff -ruNp rustc-mozilla-1.51.0+dfsg1/debian/upstream-tarball-unsuspicious.txt rustc-mozilla-1.59.0+dfsg1/debian/upstream-tarball-unsuspicious.txt
--- rustc-mozilla-1.51.0+dfsg1/debian/upstream-tarball-unsuspicious.txt	2021-11-19 22:58:46.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/upstream-tarball-unsuspicious.txt	2022-03-29 15:17:22.000000000 +0200
@@ -12,22 +12,37 @@ src/ci/docker/*/patches/glibc/*/*.patch
 vendor/itertools*/examples/iris.data
 vendor/regex/tests/unicode.rs
 vendor/regex/tests/suffix_reverse.rs
+vendor/term/src/terminfo/parser/names.rs
+vendor/term-0.6.1/src/terminfo/parser/names.rs
 
 # False-positive, "verylongtext" but OK
+README.md
 CONTRIBUTING.md
+RELEASES.md
 compiler/rustc_codegen_cranelift/docs/dwarf.md
+compiler/rustc_codegen_gcc/Readme.md
+library/portable-simd/*.md
 library/std/sys/cloudabi/abi/cloudabi.rs
 library/std/src/os/raw/*.md
 library/std/src/sys/sgx/abi/entry.S
 library/stdarch/CONTRIBUTING.md
+library/stdarch/crates/core_arch/src/aarch64/neon/generated.rs
 src/doc/book/first-edition/src/the-stack-and-the-heap.md
 src/doc/book/*/tools/docx-to-md.xsl
 src/doc/edition-guide/src/rust-next/cargo-vendor.md
+src/doc/edition-guide/src/rust-2018/index.md
+src/doc/edition-guide/src/rust-2021/disjoint-capture-in-closures.md
+src/doc/edition-guide/src/rust-2021/prelude.md
 src/doc/embedded-book/src/*/*.md
+src/doc/nomicon/src/intro.md
+src/doc/reference/src/expressions/closure-expr.md
+src/doc/reference/src/inline-assembly.md
 src/doc/rust-by-example/src/flow_control/if_let.md
 src/doc/rust-by-example/src/std/arc.md
 src/doc/rust-by-example/src/trait/dyn.md
+src/doc/rust-by-example/src/unsafe/asm.md
 src/doc/rustc/src/lints/groups.md
+src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabihf.md
 src/doc/rustc/src/targets/known-issues.md
 src/doc/rustc-dev-guide/.travis.yml
 src/doc/rustc-dev-guide/src/*.md
@@ -38,6 +53,7 @@ src/doc/unstable-book/src/*/*.md
 src/etc/third-party/README.txt
 src/librustc_codegen_ssa/README.md
 src/librustdoc/html/highlight/fixtures/sample.html
+src/tools/rustfmt/*.md
 vendor/*/.travis.yml
 vendor/*/Cargo.toml
 vendor/*/CHANGELOG.md
@@ -56,6 +72,7 @@ vendor/cranelift-codegen/src/isa/x86/unw
 vendor/generic-array/DESIGN.md
 vendor/handlebars/src/lib.rs
 vendor/maplit/README.rst
+vendor/mdbook/CONTRIBUTING.md
 vendor/lazy_static/src/lib.rs
 vendor/oorandom/tarpaulin-report.html
 vendor/pulldown-cmark/tests/suite/footnotes.rs
@@ -78,15 +95,17 @@ vendor/xml5ever/examples/README.md
 # False-positive, audit-vendor-source automatically flags JS/C files
 # The below ones are OK since they're actually part of rust's own source code
 # and are not "embedded libraries".
+library/backtrace/src/android-api.c
 library/backtrace/crates/line-tables-only/src/callback.c
 src/ci/docker/scripts/qemu-bare-bones-addentropy.c
 src/doc/book/*/ferris.js
 src/doc/book/ferris.js
 src/etc/wasm32-shim.js
 src/grammar/parser-lalr-main.c
-src/librustdoc/html/static/*.js
+src/librustdoc/html/static/js/*.js
 src/librustdoc/html/static/.eslintrc.js
 src/test/auxiliary/rust_test_helpers.c
+src/test/run-make/*/*.c
 src/test/run-make/wasm-*/*.js
 src/test/run-make-fulldeps/*.c
 src/test/run-make-fulldeps/*/*.c
@@ -94,7 +113,9 @@ src/test/rustdoc-js/*.js
 src/test/rustdoc-js-std/*.js
 src/tools/rustdoc-js/tester.js
 src/tools/rustdoc-js-std/tester.js
+src/tools/rustdoc-gui/tester.js
 vendor/errno-dragonfly/src/errno.c
+vendor/handlebars/src/template.rs
 vendor/raw-cpuid/src/cpuid.c
 vendor/salsa/book/mermaid-init.js
 vendor/stacker/src/arch/windows.c
@@ -118,9 +139,12 @@ vendor/walkdir-*/compare/nftw.c
 library/backtrace/crates/backtrace-sys/src/libbacktrace/libtool.m4
 library/stdarch/.travis.yml
 library/stdarch/crates/core_arch/foo.wasm
+src/ci/docker/host-x86_64/shared/ISRG_Root_X1.crt
 src/doc/rustc-dev-guide/src/queries/example-0.counts.txt
+src/stage0.json
 src/test/run-make-fulldeps/target-specs/*.json
 src/test/run-make-fulldeps/libtest-json/output.json
+src/tools/clippy/.remarkrc
 vendor/clap/.mention-bot
 vendor/cloudabi/cloudabi.rs
 vendor/elasticlunr-rs/src/lang/*.rs
@@ -150,11 +174,12 @@ src/doc/book/tools/docx-to-md.xsl
 src/doc/rustc/src/images/*.png
 src/doc/rustc-dev-guide/src/img/rustc_stages.svg
 src/doc/rustc-dev-guide/src/queries/example-0.png
+src/doc/rustc-dev-guide/src/img/*.png
 src/doc/unstable-book/src/compiler-flags/img/llvm-cov-show-01.png
-src/librustdoc/html/static/*.svg
-src/librustdoc/html/static/rust-logo.png
-src/librustdoc/html/static/favicon.ico
-src/librustdoc/html/static/favicon-*.png
+src/librustdoc/html/static/images/*.svg
+src/librustdoc/html/static/images/rust-logo.png
+src/librustdoc/html/static/images/favicon.ico
+src/librustdoc/html/static/images/favicon-*.png
 src/test/mir-opt/coverage_graphviz.*.InstrumentCoverage.0.dot
 vendor/addr2line/memory.png
 vendor/addr2line/time.png
@@ -174,11 +199,18 @@ vendor/termion/logo.svg
 vendor/html5ever/examples/capi/tokenize.c
 
 # Test data
+library/portable-simd/crates/core_simd/webdriver.json
+library/portable-simd/crates/core_simd/tests/mask_ops_impl/*.rs
+library/std/src/sys/windows/path/tests.rs
 library/stdarch/ci/gba.json
+library/stdarch/crates/intrinsic-test/neon-intrinsics.csv
 library/stdarch/crates/stdarch-verify/arm-intrinsics.html
 library/stdarch/crates/stdarch-verify/x86-intel.xml
 library/stdarch/crates/std_detect/src/detect/test_data/*.auxv
+library/core/benches/str.rs
+library/core/tests/num/dec2flt/parse.rs
 src/test/compile-fail/not-utf8.bin
+src/test/debuginfo/type-names.cdb.js
 src/test/mir-opt/*.mir
 src/test/mir-opt/*.diff
 src/test/mir-opt/*.diff.*
@@ -200,6 +232,8 @@ src/test/*/*/*.stderr
 src/test/*/*/*.stdout
 src/test/*/*/*/*.stdout
 src/test/*/*/*/*.stderr
+src/test/*/*/*/*/*.stdout
+src/test/*/*/*/*/*.stderr
 src/test/run-make/*-sgx-lvi/enclave/*/*/*.c
 src/test/run-make/*-sgx-lvi/enclave/*.c
 src/test/run-make-fulldeps/*/*/*.html
@@ -207,6 +241,12 @@ src/test/rustdoc-json/*.expected
 src/test/ui/macros/not-utf8.bin
 src/test/ui/terminal-width/non-whitespace-trimming*.rs
 src/tools/*/tests/*/*.stderr
+src/tools/clippy/tests/ui-toml/*/*.stderr
+src/tools/clippy/tests/ui/wildcard_enum_match_arm.fixed
+src/tools/rustfmt/tests/writemode/target/*.json
+src/tools/rustfmt/tests/writemode/target/*.xml
+src/tools/rustfmt/tests/source/*.rs
+src/tools/rustfmt/tests/source/*/*.rs
 vendor/bstr/src/unicode/data/*Test.txt
 vendor/cargo_metadata*/tests/test_samples.rs
 vendor/cssparser/src/css-parsing-tests/*.json
@@ -215,12 +255,14 @@ vendor/dissimilar/benches/*.txt
 vendor/elasticlunr-rs/tests/data/*.in.txt
 vendor/elasticlunr-rs/tests/searchindex_fixture_*.json
 vendor/flate2/tests/*.gz
+vendor/flate2/tests/corrupt-gz-file.bin
 vendor/gimli/fixtures/self/*
+vendor/gimli-0*/fixtures/self/*
 vendor/goblin/etc/*.rs
 vendor/goblin/tests/bins/elf/gnu_hash/helloworld.c
 vendor/goblin/tests/bins/elf/gnu_hash/*.so
 vendor/gsgdt/tests/*.json
-vendor/idna/tests/IdnaTest.txt
+vendor/idna/tests/IdnaTest*.txt
 vendor/idna/tests/punycode_tests.json
 vendor/idna-0*/tests/IdnaTest.txt
 vendor/idna-0*/tests/punycode_tests.json
@@ -233,6 +275,8 @@ vendor/libz-sys/src/smoke.c
 vendor/md-5/tests/data/*.blb
 vendor/md-5/tests/data/*.bin
 vendor/mdbook/src/theme/searcher/searcher.js
+vendor/mdbook/test_book/src/individual/paragraph.md
+vendor/mdbook/test_book/src/individual/table.md
 vendor/mdbook/tests/searchindex_fixture.json
 vendor/memchr/src/tests/*.json
 vendor/minifier/tests/files/test.json
@@ -248,7 +292,10 @@ vendor/regex/tests/crates_regex.rs
 vendor/regex/tests/fowler.rs
 vendor/regex-0*/src/testdata/basic.dat
 vendor/regex-0*/tests/fowler.rs
+vendor/regex-1*/src/testdata/basic.dat
+vendor/regex-1*/tests/fowler.rs
 vendor/rustc-demangle/src/lib.rs
+vendor/rustc-demangle/src/v0-large-test-symbols/early-recursion-limit
 vendor/sha-1-0*/tests/data/*.blb
 vendor/sha-1-0*/tests/data/*.bin
 vendor/sha-1/tests/data/*.blb
@@ -257,6 +304,7 @@ vendor/sha2/tests/data/*.blb
 vendor/sha2/tests/data/*.bin
 vendor/snap/data/*
 vendor/tar/tests/archives/*.tar
+vendor/term/tests/data/*
 vendor/term-0*/tests/data/*
 vendor/toml/tests/*/*.toml
 vendor/toml/tests/*/*.json
@@ -267,10 +315,11 @@ vendor/xml5ever/data/bench/strong.xml
 vendor/yaml-rust/tests/specexamples.rs.inc
 vendor/yaml-rust-0*/tests/specexamples.rs.inc
 
+
 # Compromise, ideally we'd autogenerate these
 # Should already by documented in debian/copyright
 src/doc/rustc-dev-guide/src/mir/mir_*.svg
-src/librustdoc/html/static/normalize.css
+src/librustdoc/html/static/css/normalize.css
 vendor/pest_meta/src/grammar.rs
 vendor/regex-syntax/src/unicode_tables/*.rs
 vendor/ucd-parse/src/sentence_break.rs
@@ -280,7 +329,90 @@ vendor/unicode-script/src/tables.rs
 vendor/unicode-segmentation/src/tables.rs
 
 # Compromise, ideally we'd package these in their own package
-src/librustdoc/html/static/*.woff
+src/librustdoc/html/static/fonts/*.woff
+src/librustdoc/html/static/fonts/*.woff2
 
 # Compromise, ideally we'd autogenerate these
 vendor/bstr/src/unicode/fsm/*.dfa
+
+# file brokenness (detected as Algol source code)
+vendor/libm/src/math/atan.rs
+vendor/pest/tests/calculator.rs
+vendor/pest/src/position.rs
+vendor/pest/src/parser_state.rs
+vendor/pest/src/span.rs
+vendor/aho-corasick/src/nfa.rs
+vendor/miniz_oxide/src/deflate/mod.rs
+vendor/miniz_oxide/src/inflate/mod.rs
+vendor/thiserror-impl/src/attr.rs
+vendor/shlex/src/lib.rs
+vendor/semver/src/parse.rs
+vendor/semver-0.11.0/src/version_req.rs
+vendor/rustc-rayon/tests/sort-panic-safe.rs
+vendor/xml5ever/src/tokenizer/char_ref/mod.rs
+vendor/pulldown-cmark-0.7.2/tests/lib.rs
+vendor/pulldown-cmark-0.7.2/benches/html_rendering.rs
+vendor/pulldown-cmark-0.7.2/src/linklabel.rs
+vendor/pulldown-cmark-0.7.2/src/simd.rs
+vendor/url/src/parser.rs
+vendor/utf-8/tests/unit.rs
+vendor/rustversion/src/attr.rs
+vendor/env_logger-0.*/src/fmt/writer/mod.rs
+vendor/pest_generator/src/generator.rs
+vendor/digest/src/dev.rs
+vendor/proc-macro2/src/parse.rs
+vendor/xz2/src/stream.rs
+vendor/xz2/src/bufread.rs
+vendor/tera/src/utils.rs
+vendor/tera/src/renderer/tests/square_brackets.rs
+vendor/tera/src/renderer/tests/whitespace.rs
+vendor/digest-0.8.1/src/dev.rs
+vendor/structopt/tests/custom-string-parsers.rs
+vendor/structopt/tests/non_literal_attributes.rs
+vendor/pulldown-cmark/tests/lib.rs
+vendor/pulldown-cmark/src/linklabel.rs
+vendor/pulldown-cmark/src/simd.rs
+vendor/pulldown-cmark/benches/html_rendering.rs
+vendor/gimli/src/read/aranges.rs
+vendor/gimli/src/read/rnglists.rs
+vendor/gimli/src/read/unit.rs
+vendor/gimli/src/read/loclists.rs
+vendor/gimli/src/read/line.rs
+vendor/gimli/src/read/lookup.rs
+vendor/gimli-0.25.0/src/read/aranges.rs
+vendor/gimli-0.25.0/src/read/rnglists.rs
+vendor/gimli-0.25.0/src/read/unit.rs
+vendor/gimli-0.25.0/src/read/loclists.rs
+vendor/gimli-0.25.0/src/read/line.rs
+vendor/gimli-0.25.0/src/read/lookup.rs
+vendor/regex-automata/src/regex.rs
+vendor/rayon/tests/sort-panic-safe.rs
+vendor/syn/tests/test_meta.rs
+vendor/syn/src/punctuated.rs
+vendor/syn/src/derive.rs
+vendor/syn/src/token.rs
+vendor/syn/src/data.rs
+vendor/syn/src/ty.rs
+vendor/syn/src/stmt.rs
+vendor/syn/src/pat.rs
+vendor/syn/src/custom_punctuation.rs
+vendor/syn/src/path.rs
+vendor/syn/src/attr.rs
+vendor/syn/src/group.rs
+vendor/semver-parser/src/range_set.rs
+vendor/sha2/src/sha512.rs
+vendor/sha2/src/sha256.rs
+vendor/compiler_builtins/libm/src/math/atan.rs
+vendor/snap/src/decompress.rs
+vendor/snap/src/compress.rs
+vendor/flate2/src/mem.rs
+vendor/flate2/src/zio.rs
+compiler/rustc_expand/src/mbe/quoted.rs
+compiler/rustc_macros/src/symbols/tests.rs
+src/librustdoc/html/markdown/tests.rs
+src/tools/clippy/clippy_lints/src/needless_pass_by_value.rs
+src/tools/clippy/clippy_lints/src/pass_by_ref_or_value.rs
+src/tools/rustfmt/src/string.rs
+src/tools/rustfmt/src/formatting.rs
+src/tools/rustfmt/src/syntux/parser.rs
+library/std/src/sys/unix/process/process_unix.rs
diff -ruNp rustc-1.59.0+dfsg1/debian/architecture.mk rustc-mozilla-1.59.0+dfsg1/debian/architecture.mk
--- rustc-1.59.0+dfsg1/debian/architecture.mk	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/architecture.mk	2022-06-06 14:03:37.000000000 +0200
@@ -5,8 +5,7 @@ include /usr/share/dpkg/architecture.mk
 rust_cpu = $(subst i586,i686,\
 $(if $(findstring -riscv64-,-$(2)-),$(subst riscv64,riscv64gc,$(1)),\
 $(if $(findstring -armhf-,-$(2)-),$(subst arm,armv7,$(1)),\
-$(if $(findstring -armel-,-$(2)-),$(subst arm,armv5te,$(1)),\
-$(1)))))
+$(1))))
 rust_type_setvar = $(1)_RUST_TYPE ?= $(call rust_cpu,$($(1)_GNU_CPU),$($(1)_ARCH))-unknown-$($(1)_GNU_SYSTEM)
 
 $(foreach machine,BUILD HOST TARGET,\
diff -ruNp rustc-1.59.0+dfsg1/debian/changelog rustc-mozilla-1.59.0+dfsg1/debian/changelog
--- rustc-1.59.0+dfsg1/debian/changelog	2022-05-11 15:11:46.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/changelog	2022-07-03 11:52:07.278402955 +0200
@@ -1,3 +1,13 @@
+rustc-mozilla (1.59.0+dfsg1-1~deb11u1) bullseye; urgency=medium
+
+  * Non-maintainer upload.
+  * Backport to bullseye as rustc-mozilla.
+  * Do a bootstrap build.
+  * Disable wasm.
+  * Disable new binary packages rustfmt, -clippy, -all.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org>  Sun, 03 Jul 2022 11:51:30 +0200
+
 rustc (1.59.0+dfsg1-1) unstable; urgency=medium
 
   * Upload to unstable.
@@ -208,6 +218,16 @@ rustc (1.52.0~beta.3+dfsg1-1~exp1) exper
 
  -- Ximin Luo <infinity0@debian.org>  Mon, 26 Apr 2021 12:31:27 +0100
 
+rustc-mozilla (1.51.0+dfsg1-1~deb11u1) bullseye; urgency=medium
+
+  * Non-maintainer upload.
+  * Backport to bullseye.
+  * stage0 build.
+    + Use arm-unknown-linux-gnueabi target for armel.
+  * Reduce debugging symbols on i386 to avoid FTBFS due to OOM.
+
+ -- Roberto C. Sánchez <roberto@debian.org>  Fri, 19 Nov 2021 16:58:46 -0500
+
 rustc (1.51.0+dfsg1-1) unstable; urgency=medium
 
   * Upload to unstable.
diff -ruNp rustc-1.59.0+dfsg1/debian/check-orig-suspicious.sh rustc-mozilla-1.59.0+dfsg1/debian/check-orig-suspicious.sh
--- rustc-1.59.0+dfsg1/debian/check-orig-suspicious.sh	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/check-orig-suspicious.sh	2022-06-06 13:57:19.000000000 +0200
@@ -7,7 +7,7 @@ test -n "$ver" || exit 2
 SUS_WHITELIST=$(find "${PWD}/debian" -name upstream-tarball-unsuspicious.txt -type f)
 
 rm -rf rustc-${ver/*~*/beta}-src/
-tar xf ../rustc_$ver+dfsg1.orig.tar.xz && cd rustc-${ver/*~*/beta}-src/
+tar xf ../rustc-mozilla_$ver+dfsg1.orig.tar.xz && cd rustc-${ver/*~*/beta}-src/
 
 # TODO: remove this code snippet after it gets into our cargo
 # Strip comments & blank lines before testing rust source code -
diff -ruNp rustc-1.59.0+dfsg1/debian/control rustc-mozilla-1.59.0+dfsg1/debian/control
--- rustc-1.59.0+dfsg1/debian/control	2022-03-29 15:17:23.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/control	2022-06-17 17:51:59.054234489 +0200
@@ -1,4 +1,4 @@
-Source: rustc
+Source: rustc-mozilla
 Section: devel
 Priority: optional
 Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
@@ -12,9 +12,9 @@ Build-Depends:
  debhelper-compat (= 13),
  dpkg-dev (>= 1.17.14),
  python3:native,
- cargo:native (>= 0.40.0)      <!pkg.rustc.dlstage0>,
- rustc:native (>= 1.58.0+dfsg) <!pkg.rustc.dlstage0>,
- rustc:native (<= 1.59.0++)    <!pkg.rustc.dlstage0>,
+# cargo:native (>= 0.40.0)      <!pkg.rustc.dlstage0>,
+# rustc:native (>= 1.58.0+dfsg) <!pkg.rustc.dlstage0>,
+# rustc:native (<= 1.59.0++)    <!pkg.rustc.dlstage0>,
  llvm-13-dev:native,
  llvm-13-tools:native,
  gcc-mingw-w64-x86-64-posix:native [amd64] <!nowindows>,
@@ -38,8 +38,8 @@ Build-Depends:
  curl <pkg.rustc.dlstage0>,
  ca-certificates <pkg.rustc.dlstage0>,
 Build-Depends-Indep:
- wasi-libc (>= 0.0~git20210922.ad51334~~) <!nowasm>,
- wasi-libc (<= 0.0~git20210922.ad51334++) <!nowasm>,
+# wasi-libc (>= 0.0~git20210922.ad51334~~) <!nowasm>,
+# wasi-libc (<= 0.0~git20210922.ad51334++) <!nowasm>,
  clang-13:native,
 Build-Conflicts: gdb-minimal <!nocheck>
 Standards-Version: 4.2.1
@@ -47,12 +47,12 @@ Homepage: http://www.rust-lang.org/
 Vcs-Git: https://salsa.debian.org/rust-team/rust.git
 Vcs-Browser: https://salsa.debian.org/rust-team/rust
 
-Package: rustc
+Package: rustc-mozilla
 Architecture: any
 Multi-Arch: allowed
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends},
- libstd-rust-dev (= ${binary:Version}),
+ libstd-rust-mozilla-dev (= ${binary:Version}),
  gcc, libc-dev, binutils (>= 2.26)
 Recommends:
  cargo (>= 0.60.0~~), cargo (<< 0.61.0~~),
@@ -61,7 +61,9 @@ Recommends:
 Suggests:
 # lld and clang are needed for wasm compilation
  lld-13, clang-13,
-Replaces: libstd-rust-dev (<< 1.25.0+dfsg1-2~~)
+Conflicts: rustc
+Provides: rustc (= ${binary:Version})
+Replaces: libstd-rust-dev (<< 1.25.0+dfsg1-2~~), rustc
 Breaks: libstd-rust-dev (<< 1.25.0+dfsg1-2~~)
 Description: Rust systems programming language
  Rust is a curly-brace, block-structured expression language.  It
@@ -76,7 +78,7 @@ Description: Rust systems programming la
  generic programming and meta-programming, in both static and dynamic
  styles.
 
-Package: libstd-rust-1.59
+Package: libstd-rust-mozilla-1.59
 Section: libs
 Architecture: any
 Multi-Arch: same
@@ -98,12 +100,12 @@ Description: Rust standard libraries
  This package contains the standard Rust libraries, built as dylibs,
  needed to run dynamically-linked Rust programs (-C prefer-dynamic).
 
-Package: libstd-rust-dev
+Package: libstd-rust-mozilla-dev
 Section: libdevel
 Architecture: any
 Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends},
- libstd-rust-1.59 (= ${binary:Version}),
+ libstd-rust-mozilla-1.59 (= ${binary:Version}),
 Description: Rust standard libraries - development files
  Rust is a curly-brace, block-structured expression language.  It
  visually resembles the C language family, but differs significantly
@@ -121,7 +123,7 @@ Description: Rust standard libraries - d
  needed to compile Rust programs. It may also be installed on a system
  of another host architecture, for cross-compiling to this architecture.
 
-Package: libstd-rust-dev-windows
+Package: libstd-rust-mozilla-dev-windows
 Section: libdevel
 Architecture: amd64 i386
 Multi-Arch: same
@@ -129,6 +131,8 @@ Depends: ${shlibs:Depends}, ${misc:Depen
 Recommends:
  gcc-mingw-w64-x86-64-posix [amd64],
  gcc-mingw-w64-i686-posix [i386],
+Conflicts: libstd-rust-dev-windows
+Replaces: libstd-rust-dev-windows
 Build-Profiles: <!nowindows>
 Description: Rust standard libraries - development files
  Rust is a curly-brace, block-structured expression language.  It
@@ -147,41 +151,42 @@ Description: Rust standard libraries - d
  needed to cross-compile Rust programs to the *-pc-windows-gnu target
  corresponding to the architecture of this package.
 
-Package: libstd-rust-dev-wasm32
-Section: libdevel
-Architecture: all
-Multi-Arch: foreign
-Depends: ${shlibs:Depends}, ${misc:Depends}
-# Embeds wasi-libc so doesn't need to depend on it
-# None of its licenses require source redistrib, so no need for Built-Using
-Recommends:
- lld-13, clang-13,
-Suggests:
-# nodejs contains wasi-node for running the program
- nodejs (>= 12.16),
-Build-Profiles: <!nowasm>
-Description: Rust standard libraries - development files
- Rust is a curly-brace, block-structured expression language.  It
- visually resembles the C language family, but differs significantly
- in syntactic and semantic details.  Its design is oriented toward
- concerns of "programming in the large", that is, of creating and
- maintaining boundaries - both abstract and operational - that
- preserve large-system integrity, availability and concurrency.
- .
- It supports a mixture of imperative procedural, concurrent actor,
- object-oriented and pure functional styles.  Rust also supports
- generic programming and meta-programming, in both static and dynamic
- styles.
- .
- This package contains the standard Rust libraries including development files,
- needed to cross-compile Rust programs to the wasm32-unknown-unknown and
- wasm32-wasi targets.
+#Package: libstd-rust-mozilla-dev-wasm32
+#Section: libdevel
+#Architecture: all
+#Multi-Arch: foreign
+#Depends: ${shlibs:Depends}, ${misc:Depends}
+## Embeds wasi-libc so doesn't need to depend on it
+## None of its licenses require source redistrib, so no need for Built-Using
+#Recommends:
+# lld-13, clang-13,
+#Suggests:
+## nodejs contains wasi-node for running the program
+# nodejs (>= 12.16),
+#Build-Profiles: <!nowasm>
+#Description: Rust standard libraries - development files
+# Rust is a curly-brace, block-structured expression language.  It
+# visually resembles the C language family, but differs significantly
+# in syntactic and semantic details.  Its design is oriented toward
+# concerns of "programming in the large", that is, of creating and
+# maintaining boundaries - both abstract and operational - that
+# preserve large-system integrity, availability and concurrency.
+# .
+# It supports a mixture of imperative procedural, concurrent actor,
+# object-oriented and pure functional styles.  Rust also supports
+# generic programming and meta-programming, in both static and dynamic
+# styles.
+# .
+# This package contains the standard Rust libraries including development files,
+# needed to cross-compile Rust programs to the wasm32-unknown-unknown and
+# wasm32-wasi targets.
 
-Package: rust-gdb
+Package: rust-mozilla-gdb
 Architecture: all
 Depends: gdb, ${misc:Depends}
 Suggests: gdb-doc
-Replaces: rustc (<< 1.1.0+dfsg1-1)
+Conflicts: rust-gdb
+Replaces: rustc (<< 1.1.0+dfsg1-1), rust-gdb
 Description: Rust debugger (gdb)
  Rust is a curly-brace, block-structured expression language.  It
  visually resembles the C language family, but differs significantly
@@ -198,11 +203,12 @@ Description: Rust debugger (gdb)
  This package contains pretty printers and a wrapper script for
  invoking gdb on rust binaries.
 
-Package: rust-lldb
+Package: rust-mozilla-lldb
 Architecture: all
 # When updating, also update rust-lldb.links
 Depends: lldb-13, ${misc:Depends}, python3-lldb-13
-Replaces: rustc (<< 1.1.0+dfsg1-1)
+Conflicts: rust-lldb
+Replaces: rustc (<< 1.1.0+dfsg1-1), rust-lldb
 Description: Rust debugger (lldb)
  Rust is a curly-brace, block-structured expression language.  It
  visually resembles the C language family, but differs significantly
@@ -219,7 +225,7 @@ Description: Rust debugger (lldb)
  This package contains pretty printers and a wrapper script for
  invoking lldb on rust binaries.
 
-Package: rust-doc
+Package: rust-mozilla-doc
 Section: doc
 Architecture: all
 Build-Profiles: <!nodoc>
@@ -227,6 +233,8 @@ Depends: ${misc:Depends},
  libjs-jquery, libjs-highlight.js, libjs-mathjax,
  fonts-open-sans, fonts-font-awesome
 Recommends: cargo-doc
+Conflicts: rust-doc
+Replaces: rust-doc
 Description: Rust systems programming language - Documentation
  Rust is a curly-brace, block-structured expression language.  It
  visually resembles the C language family, but differs significantly
@@ -243,9 +251,11 @@ Description: Rust systems programming la
  This package contains the Rust tutorial, language reference and
  standard library documentation.
 
-Package: rust-src
+Package: rust-mozilla-src
 Architecture: all
 Depends: ${misc:Depends}
+Conflicts: rust-src
+Replaces: rust-src
 Description: Rust systems programming language - source code
  Rust is a curly-brace, block-structured expression language.  It
  visually resembles the C language family, but differs significantly
@@ -262,83 +272,83 @@ Description: Rust systems programming la
  This package contains sources of the Rust compiler and standard
  libraries, useful for IDEs and code analysis tools such as Racer.
 
-Package: rust-clippy
-Architecture: any
-Multi-Arch: allowed
-Depends: ${misc:Depends}, ${shlibs:Depends},
- libstd-rust-1.59 (= ${binary:Version})
-Recommends: cargo
-Description: Rust linter
- Rust is a curly-brace, block-structured expression language.  It
- visually resembles the C language family, but differs significantly
- in syntactic and semantic details.  Its design is oriented toward
- concerns of "programming in the large", that is, of creating and
- maintaining boundaries - both abstract and operational - that
- preserve large-system integrity, availability and concurrency.
- .
- It supports a mixture of imperative procedural, concurrent actor,
- object-oriented and pure functional styles.  Rust also supports
- generic programming and meta-programming, in both static and dynamic
- styles.
- .
- This package contains 'clippy', a linter to catch common mistakes and improve
- your Rust code as well a collection of over 400 compatible lints.
- .
- Lints are divided into categories, each with a default lint level. You can
- choose how much Clippy is supposed to annoy help you by changing the lint
- level by category.
- .
- Clippy is integrated into the 'cargo' build tool, available via 'cargo clippy'.
-
-Package: rustfmt
-Architecture: any
-Multi-Arch: allowed
-Depends: ${misc:Depends}, ${shlibs:Depends},
-Recommends: cargo
-Description: Rust formatting helper
- Rust is a curly-brace, block-structured expression language.  It
- visually resembles the C language family, but differs significantly
- in syntactic and semantic details.  Its design is oriented toward
- concerns of "programming in the large", that is, of creating and
- maintaining boundaries - both abstract and operational - that
- preserve large-system integrity, availability and concurrency.
- .
- It supports a mixture of imperative procedural, concurrent actor,
- object-oriented and pure functional styles.  Rust also supports
- generic programming and meta-programming, in both static and dynamic
- styles.
- .
- This package contains 'rustfmt', a tool for formatting Rust code according to
- style guidelines, as well as 'cargo-fmt', a helper enabling running rustfmt
- directly with 'cargo fmt'.
-
-Package: rust-all
-Architecture: all
-Depends: ${misc:Depends}, ${shlibs:Depends},
- rustc (>= ${binary:Version}),
- rustfmt (>= ${binary:Version}),
- rust-clippy (>= ${binary:Version}),
- rust-gdb (>= ${binary:Version}) | rust-lldb (>= ${binary:Version}),
- cargo,
-Recommends:
- cargo (>= 0.60.0~~), cargo (<< 0.61.0~~)
-Suggests:
- rust-doc (>= ${binary:Version}),
- rust-src (>= ${binary:Version}),
- libstd-rust-dev-wasm32 (>= ${binary:Version}),
- libstd-rust-dev-windows (>= ${binary:Version}),
-Description: Rust systems programming language - all developer tools
- Rust is a curly-brace, block-structured expression language.  It
- visually resembles the C language family, but differs significantly
- in syntactic and semantic details.  Its design is oriented toward
- concerns of "programming in the large", that is, of creating and
- maintaining boundaries - both abstract and operational - that
- preserve large-system integrity, availability and concurrency.
- .
- It supports a mixture of imperative procedural, concurrent actor,
- object-oriented and pure functional styles.  Rust also supports
- generic programming and meta-programming, in both static and dynamic
- styles.
- .
- This package is an empty metapackage that depends on all developer tools
- in the standard rustc distribution that have been packaged for Debian.
+#Package: rust-mozilla-clippy
+#Architecture: any
+#Multi-Arch: allowed
+#Depends: ${misc:Depends}, ${shlibs:Depends},
+# libstd-rust-mozilla-1.59 (= ${binary:Version})
+#Recommends: cargo
+#Description: Rust linter
+# Rust is a curly-brace, block-structured expression language.  It
+# visually resembles the C language family, but differs significantly
+# in syntactic and semantic details.  Its design is oriented toward
+# concerns of "programming in the large", that is, of creating and
+# maintaining boundaries - both abstract and operational - that
+# preserve large-system integrity, availability and concurrency.
+# .
+# It supports a mixture of imperative procedural, concurrent actor,
+# object-oriented and pure functional styles.  Rust also supports
+# generic programming and meta-programming, in both static and dynamic
+# styles.
+# .
+# This package contains 'clippy', a linter to catch common mistakes and improve
+# your Rust code as well a collection of over 400 compatible lints.
+# .
+# Lints are divided into categories, each with a default lint level. You can
+# choose how much Clippy is supposed to annoy help you by changing the lint
+# level by category.
+# .
+# Clippy is integrated into the 'cargo' build tool, available via 'cargo clippy'.
+#
+#Package: rustfmt-mozilla
+#Architecture: any
+#Multi-Arch: allowed
+#Depends: ${misc:Depends}, ${shlibs:Depends},
+#Recommends: cargo
+#Description: Rust formatting helper
+# Rust is a curly-brace, block-structured expression language.  It
+# visually resembles the C language family, but differs significantly
+# in syntactic and semantic details.  Its design is oriented toward
+# concerns of "programming in the large", that is, of creating and
+# maintaining boundaries - both abstract and operational - that
+# preserve large-system integrity, availability and concurrency.
+# .
+# It supports a mixture of imperative procedural, concurrent actor,
+# object-oriented and pure functional styles.  Rust also supports
+# generic programming and meta-programming, in both static and dynamic
+# styles.
+# .
+# This package contains 'rustfmt', a tool for formatting Rust code according to
+# style guidelines, as well as 'cargo-fmt', a helper enabling running rustfmt
+# directly with 'cargo fmt'.
+#
+#Package: rust-mozilla-all
+#Architecture: all
+#Depends: ${misc:Depends}, ${shlibs:Depends},
+# rustc-mozilla (>= ${binary:Version}),
+# rustfmt-mozilla (>= ${binary:Version}),
+# rust-mozilla-clippy (>= ${binary:Version}),
+# rust-mozilla-gdb (>= ${binary:Version}) | rust-mozilla-lldb (>= ${binary:Version}),
+# cargo,
+#Recommends:
+# cargo (>= 0.60.0~~), cargo (<< 0.61.0~~)
+#Suggests:
+# rust-mozilla-doc (>= ${binary:Version}),
+# rust-mozilla-src (>= ${binary:Version}),
+# libstd-rust-mozilla-dev-wasm32 (>= ${binary:Version}),
+# libstd-rust-mozilla-dev-windows (>= ${binary:Version}),
+#Description: Rust systems programming language - all developer tools
+# Rust is a curly-brace, block-structured expression language.  It
+# visually resembles the C language family, but differs significantly
+# in syntactic and semantic details.  Its design is oriented toward
+# concerns of "programming in the large", that is, of creating and
+# maintaining boundaries - both abstract and operational - that
+# preserve large-system integrity, availability and concurrency.
+# .
+# It supports a mixture of imperative procedural, concurrent actor,
+# object-oriented and pure functional styles.  Rust also supports
+# generic programming and meta-programming, in both static and dynamic
+# styles.
+# .
+# This package is an empty metapackage that depends on all developer tools
+# in the standard rustc distribution that have been packaged for Debian.
diff -ruNp rustc-1.59.0+dfsg1/debian/files rustc-mozilla-1.59.0+dfsg1/debian/files
--- rustc-1.59.0+dfsg1/debian/files	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/files	2022-07-03 11:52:51.354412937 +0200
@@ -0,0 +1 @@
+rustc-mozilla_1.59.0+dfsg1-1~deb11u1_source.buildinfo devel optional
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-1.59.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-1.59.install
--- rustc-1.59.0+dfsg1/debian/libstd-rust-1.59.install	2022-03-29 15:17:23.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-1.59.install	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/lib/${DEB_HOST_MULTIARCH}/
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-1.59.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-1.59.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/libstd-rust-1.59.lintian-overrides	2022-03-29 15:17:23.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-1.59.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-# "libstd" just seemed too generic
-libstd-rust-1.59 binary: package-name-doesnt-match-sonames
-libstd-rust-1.59 binary: sharedobject-in-library-directory-missing-soname
-
-# Rust doesn't use dev shlib symlinks nor any of the other shlib support stuff
-libstd-rust-1.59 binary: dev-pkg-without-shlib-symlink
-libstd-rust-1.59 binary: shlib-without-versioned-soname
-libstd-rust-1.59 binary: unused-shlib-entry-in-control-file
-
-# Libraries that use libc symbols (libterm, libstd, etc) *are* linked
-# to libc.  Lintian gets upset that some Rust libraries don't need
-# libc, boo hoo.
-libstd-rust-1.59 binary: library-not-linked-against-libc
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-dev.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev.install
--- rustc-1.59.0+dfsg1/debian/libstd-rust-dev.install	2021-10-22 22:31:00.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev.install	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/lib/
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-dev.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/libstd-rust-dev.lintian-overrides	2022-03-29 15:17:22.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-# lintian does not know about rust arch-specific directories
-libstd-rust-dev binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.rlib
-libstd-rust-dev binary: breakout-link usr/lib/rustlib/*/lib/lib*.so -> usr/lib/*/lib*.so
-
-# lintian doesn't understand rlib files
-libstd-rust-dev binary: no-code-sections [*.rlib]
-
-# See debhelper bug #875780. This override is commented out because it's not
-# always needed, but we want it here for documentation purposes. Basically,
-# if you see it then you probably don't need to worry about it.
-#libstd-rust-dev binary: unstripped-static-library usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/lib*.rlib(*)
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-dev-wasm32.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev-wasm32.install
--- rustc-1.59.0+dfsg1/debian/libstd-rust-dev-wasm32.install	2021-10-22 22:35:47.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev-wasm32.install	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/lib/rustlib/wasm32-*/lib/
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-dev-wasm32.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev-wasm32.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/libstd-rust-dev-wasm32.lintian-overrides	2022-03-29 15:17:22.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev-wasm32.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-# wasm object files count as arch-independent for now,
-# at least until we starting offering Debian in wasm
-libstd-rust-dev-wasm32 binary: arch-independent-package-contains-binary-or-object usr/lib/rustlib/wasm32-*/lib/lib*.rlib
-libstd-rust-dev-wasm32 binary: arch-independent-package-contains-binary-or-object usr/lib/rustlib/wasm32-*/lib/self-contained/libc.a
-
-# lintian doesn't understand rlib files
-libstd-rust-dev-wasm32 binary: no-code-sections [*.rlib]
-libstd-rust-dev-wasm32 binary: no-code-sections [usr/lib/rustlib/wasm32-*/lib/self-contained/libc.a]
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-dev-windows.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev-windows.install
--- rustc-1.59.0+dfsg1/debian/libstd-rust-dev-windows.install	2021-10-22 22:34:38.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev-windows.install	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/lib/rustlib/${env:WINDOWS_ARCH}-pc-windows-gnu/lib/
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-dev-windows.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev-windows.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/libstd-rust-dev-windows.lintian-overrides	2022-03-29 15:17:22.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-dev-windows.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-# lintian does not know about rust arch-specific directories
-libstd-rust-dev-windows binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.rlib
-libstd-rust-dev-windows binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.a
-libstd-rust-dev-windows binary: executable-not-elf-or-script usr/lib/rustlib/*/lib/*.dll
-
-# lintian doesn't understand these files
-libstd-rust-dev-windows binary: no-code-sections [*.rlib]
-libstd-rust-dev-windows binary: no-code-sections [usr/lib/rustlib/x86_64-pc-windows-gnu/lib/lib*.dll.a]
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.install
--- rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.install	2022-03-29 15:17:23.000000000 +0200
@@ -0,0 +1 @@
+usr/lib/${DEB_HOST_MULTIARCH}/
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-1.59.lintian-overrides	2022-03-29 15:17:23.000000000 +0200
@@ -0,0 +1,13 @@
+# "libstd" just seemed too generic
+libstd-rust-1.59 binary: package-name-doesnt-match-sonames
+libstd-rust-1.59 binary: sharedobject-in-library-directory-missing-soname
+
+# Rust doesn't use dev shlib symlinks nor any of the other shlib support stuff
+libstd-rust-1.59 binary: dev-pkg-without-shlib-symlink
+libstd-rust-1.59 binary: shlib-without-versioned-soname
+libstd-rust-1.59 binary: unused-shlib-entry-in-control-file
+
+# Libraries that use libc symbols (libterm, libstd, etc) *are* linked
+# to libc.  Lintian gets upset that some Rust libraries don't need
+# libc, boo hoo.
+libstd-rust-1.59 binary: library-not-linked-against-libc
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.install
--- rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.install	2021-10-22 22:31:00.000000000 +0200
@@ -0,0 +1 @@
+usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/lib/
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev.lintian-overrides	2022-03-29 15:17:22.000000000 +0200
@@ -0,0 +1,11 @@
+# lintian does not know about rust arch-specific directories
+libstd-rust-dev binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.rlib
+libstd-rust-dev binary: breakout-link usr/lib/rustlib/*/lib/lib*.so -> usr/lib/*/lib*.so
+
+# lintian doesn't understand rlib files
+libstd-rust-dev binary: no-code-sections [*.rlib]
+
+# See debhelper bug #875780. This override is commented out because it's not
+# always needed, but we want it here for documentation purposes. Basically,
+# if you see it then you probably don't need to worry about it.
+#libstd-rust-dev binary: unstripped-static-library usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/lib*.rlib(*)
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.install
--- rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.install	2021-10-22 22:35:47.000000000 +0200
@@ -0,0 +1 @@
+usr/lib/rustlib/wasm32-*/lib/
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-wasm32.lintian-overrides	2022-03-29 15:17:22.000000000 +0200
@@ -0,0 +1,8 @@
+# wasm object files count as arch-independent for now,
+# at least until we starting offering Debian in wasm
+libstd-rust-dev-wasm32 binary: arch-independent-package-contains-binary-or-object usr/lib/rustlib/wasm32-*/lib/lib*.rlib
+libstd-rust-dev-wasm32 binary: arch-independent-package-contains-binary-or-object usr/lib/rustlib/wasm32-*/lib/self-contained/libc.a
+
+# lintian doesn't understand rlib files
+libstd-rust-dev-wasm32 binary: no-code-sections [*.rlib]
+libstd-rust-dev-wasm32 binary: no-code-sections [usr/lib/rustlib/wasm32-*/lib/self-contained/libc.a]
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.install rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.install
--- rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.install	2021-10-22 22:34:38.000000000 +0200
@@ -0,0 +1 @@
+usr/lib/rustlib/${env:WINDOWS_ARCH}-pc-windows-gnu/lib/
diff -ruNp rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/libstd-rust-mozilla-dev-windows.lintian-overrides	2022-03-29 15:17:22.000000000 +0200
@@ -0,0 +1,8 @@
+# lintian does not know about rust arch-specific directories
+libstd-rust-dev-windows binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.rlib
+libstd-rust-dev-windows binary: arch-dependent-file-not-in-arch-specific-directory usr/lib/rustlib/*/lib/lib*.a
+libstd-rust-dev-windows binary: executable-not-elf-or-script usr/lib/rustlib/*/lib/*.dll
+
+# lintian doesn't understand these files
+libstd-rust-dev-windows binary: no-code-sections [*.rlib]
+libstd-rust-dev-windows binary: no-code-sections [usr/lib/rustlib/x86_64-pc-windows-gnu/lib/lib*.dll.a]
diff -ruNp rustc-1.59.0+dfsg1/debian/make_orig-stage0_tarball.sh rustc-mozilla-1.59.0+dfsg1/debian/make_orig-stage0_tarball.sh
--- rustc-1.59.0+dfsg1/debian/make_orig-stage0_tarball.sh	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/make_orig-stage0_tarball.sh	2022-06-06 14:03:37.000000000 +0200
@@ -7,7 +7,7 @@
 set -e
 
 upstream_version="$(dpkg-parsechangelog -SVersion | sed -e 's/\(.*\)-.*/\1/g')"
-upstream_bootstrap_arch="${upstream_bootstrap_arch:-amd64 arm64 armhf i386 mips64 mips64el powerpc ppc64 ppc64el s390x}"
+upstream_bootstrap_arch="${upstream_bootstrap_arch:-amd64 arm64 armel armhf i386 mips64 mips64el powerpc ppc64 ppc64el s390x}"
 
 rm -f stage0/*/*.sha256
 mkdir -p stage0 build && ln -sf ../stage0 build/cache
diff -ruNp rustc-1.59.0+dfsg1/debian/rules rustc-mozilla-1.59.0+dfsg1/debian/rules
--- rustc-1.59.0+dfsg1/debian/rules	2022-03-06 22:35:45.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rules	2022-06-18 11:55:15.777905017 +0200
@@ -7,9 +7,9 @@ include /usr/share/dpkg/architecture.mk
 SED_VERSION_SHORT := sed -re 's/([^.]+)\.([^.]+)\..*/\1.\2/'
 RUST_VERSION := $(shell echo '$(DEB_VERSION_UPSTREAM)' | $(SED_VERSION_SHORT))
 RUST_LONG_VERSION := $(shell echo '$(DEB_VERSION_UPSTREAM)' | sed -re 's/([^+]+).*/\1/')
-LIBSTD_PKG := libstd-rust-$(RUST_VERSION)
-# Sed expression that matches the "rustc" we have in our Build-Depends field
-SED_RUSTC_BUILDDEP := sed -ne "/^Build-Depends:/,/^[^[:space:]\#]/{/^ *rustc:native .*,/p}" debian/control
+LIBSTD_PKG := libstd-rust-mozilla-$(RUST_VERSION)
+# Sed expression that matches the "rustc-mozilla" we have in our Build-Depends field
+SED_RUSTC_BUILDDEP := sed -ne "/^Build-Depends:/,/^[^[:space:]\#]/{/^ *rustc-mozilla:native .*,/p}" debian/control
 # Version of /usr/bin/rustc
 LOCAL_RUST_VERSION := $(shell rustc --version --verbose | sed -ne 's/^release: //p')
 
@@ -117,7 +117,7 @@ ifneq (,$(findstring nodoc,$(DEB_BUILD_O
   BUILD_DOCS := false
 endif
 
-BUILD_WASM := true
+BUILD_WASM := false
 ifneq (,$(findstring nowasm,$(DEB_BUILD_PROFILES)))
   BUILD_WASM := false
 endif
@@ -162,7 +162,7 @@ ifeq ($(shell test $(VERBOSITY) -le 0; e
 .SILENT:
 endif
 
-# Build products or non-source files in src/, that shouldn't go in rust-src
+# Build products or non-source files in src/, that shouldn't go in rust-mozilla-src
 SRC_CLEAN = src/bootstrap/bootstrap.pyc \
 	src/etc/__pycache__/
 
@@ -206,7 +206,7 @@ debian/config.toml: debian/config.toml.i
 	if $(DOWNLOAD_BOOTSTRAP) || [ $(HAVE_BINARY_TARBALL) != 0 ]; \
 	  then sed -i -e '/^rustc = /d' -e '/^cargo = /d' "$@"; fi
 # Work around low-memory (32-bit) architectures: https://github.com/rust-lang/rust/issues/45854
-ifneq (,$(filter $(DEB_BUILD_ARCH), armhf armel mips mipsel powerpc powerpcspe))
+ifneq (,$(filter $(DEB_BUILD_ARCH), armhf armel i386 mips mipsel powerpc powerpcspe))
 	sed -i -e 's/^debuginfo-level = .*/debuginfo-level = 0/g' "$@"
 endif
 
@@ -398,9 +398,9 @@ endif
 
 override_dh_install-indep:
 	dh_install
-	$(RM) -rf $(SRC_CLEAN:%=debian/rust-src/usr/src/rustc-$(RUST_LONG_VERSION)/%)
+	$(RM) -rf $(SRC_CLEAN:%=debian/rust-mozilla-src/usr/src/rustc-$(RUST_LONG_VERSION)/%)
 	# Get rid of lintian warnings
-	find debian/rust-src/usr/src/rustc-$(RUST_LONG_VERSION) \
+	find debian/rust-mozilla-src/usr/src/rustc-$(RUST_LONG_VERSION) \
 		\( -name .gitignore \
 		-o -name 'LICENSE*' \
 		-o -name 'LICENCE' \
@@ -408,10 +408,10 @@ override_dh_install-indep:
 		-o -name 'COPYING*' \
 		\) -delete
 	# Remove files that autoload remote resources, caught by lintian
-	$(RM) -rf debian/rust-src/usr/src/rustc-*/vendor/cssparser/docs/*.html
-	$(RM) -rf debian/rust-src/usr/src/rustc-*/vendor/kuchiki/docs/*.html
-	$(RM) -rf debian/rust-src/usr/src/rustc-*/vendor/url/docs/*.html
-	$(RM) -rf debian/rust-src/usr/src/rustc-*/vendor/xz2/.gitmodules
+	$(RM) -rf debian/rust-mozilla-src/usr/src/rustc-*/vendor/cssparser/docs/*.html
+	$(RM) -rf debian/rust-mozilla-src/usr/src/rustc-*/vendor/kuchiki/docs/*.html
+	$(RM) -rf debian/rust-mozilla-src/usr/src/rustc-*/vendor/url/docs/*.html
+	$(RM) -rf debian/rust-mozilla-src/usr/src/rustc-*/vendor/xz2/.gitmodules
 
 override_dh_installchangelogs:
 	dh_installchangelogs RELEASES.md
@@ -429,12 +429,12 @@ override_dh_compress:
 #
 #override_dh_strip:
 #	# Work around #35733, #468333
-#	find debian/libstd-rust-dev*/ -name '*.rlib' -execdir mv '{}' '{}.a' \;
+#	find debian/libstd-rust-mozilla-dev*/ -name '*.rlib' -execdir mv '{}' '{}.a' \;
 #	# This is expected to print out lots of "File format unrecognized" warnings about
 #	# rust.metadata.bin and *.deflate but the .o files inside the rlibs should be stripped
 #	# Some files are still omitted because of #875780 however.
 #	dh_strip -v
-#	find debian/libstd-rust-dev*/ -name '*.rlib.a' -execdir sh -c 'mv "$$1" "$${1%.a}"' - '{}' \;
+#	find debian/libstd-rust-mozilla-dev*/ -name '*.rlib.a' -execdir sh -c 'mv "$$1" "$${1%.a}"' - '{}' \;
 
 override_dh_dwz:
 	# otherwise rustc gets an empty multifile which lintian errors on, causing
@@ -486,3 +486,6 @@ source_orig-beta: debian/watch-beta
 	rm -f rustc-beta-src/version; \
 	rmdir -p rustc-beta-src; \
 	echo "prepared rustc $$newver.0~beta.$$bv in $$bd"
+
+override_dh_missing:
+	dh_missing --list-missing
diff -ruNp rustc-1.59.0+dfsg1/debian/rustc.install rustc-mozilla-1.59.0+dfsg1/debian/rustc.install
--- rustc-1.59.0+dfsg1/debian/rustc.install	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc.install	1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-usr/bin/rustc
-usr/bin/rustdoc
-usr/lib/rustlib/etc/rust_types.py
-debian/architecture.mk usr/share/rustc/
-debian/wasi-node usr/share/rustc/bin/
diff -ruNp rustc-1.59.0+dfsg1/debian/rustc.links rustc-mozilla-1.59.0+dfsg1/debian/rustc.links
--- rustc-1.59.0+dfsg1/debian/rustc.links	2021-10-22 22:30:31.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc.links	1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-usr/bin/lld-13 usr/bin/rust-lld
-usr/bin/clang-13 usr/bin/rust-clang
-usr/bin/llvm-dwp-13 usr/bin/rust-llvm-dwp
-# for -Z gcc-ld=lld, see compiler/rustc_codegen_ssa/src/back/link.rs for logic
-usr/bin/rust-lld usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/bin/gcc-ld/ld
-usr/bin/rust-lld usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/bin/gcc-ld/ld64
diff -ruNp rustc-1.59.0+dfsg1/debian/rustc.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/rustc.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/rustc.lintian-overrides	2022-03-06 22:59:34.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-# unofficial example script, no dependency needed
-rustc binary: missing-dep-for-interpreter /usr/bin/node (does not satisfy nodejs:any) [usr/share/rustc/bin/wasi-node]
-
-# symlinks to other programs
-rustc binary: no-manual-page usr/bin/rust-clang
-rustc binary: no-manual-page usr/bin/rust-lld
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-clippy.install rustc-mozilla-1.59.0+dfsg1/debian/rust-clippy.install
--- rustc-1.59.0+dfsg1/debian/rust-clippy.install	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-clippy.install	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-usr/bin/clippy-driver
-usr/bin/cargo-clippy
diff -ruNp rustc-1.59.0+dfsg1/debian/rustc.manpages rustc-mozilla-1.59.0+dfsg1/debian/rustc.manpages
--- rustc-1.59.0+dfsg1/debian/rustc.manpages	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc.manpages	1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-debian/tmp/usr/share/man/man1/rustc.1
-debian/tmp/usr/share/man/man1/rustdoc.1
-
diff -ruNp rustc-1.59.0+dfsg1/debian/rustc-mozilla.install rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.install
--- rustc-1.59.0+dfsg1/debian/rustc-mozilla.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.install	2022-06-17 14:05:27.636427085 +0200
@@ -0,0 +1,5 @@
+usr/bin/rustc
+usr/bin/rustdoc
+usr/lib/rustlib/etc/rust_types.py
+debian/architecture.mk usr/share/rustc/
+#debian/wasi-node usr/share/rustc/bin/
diff -ruNp rustc-1.59.0+dfsg1/debian/rustc-mozilla.links rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.links
--- rustc-1.59.0+dfsg1/debian/rustc-mozilla.links	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.links	2021-10-22 22:30:31.000000000 +0200
@@ -0,0 +1,6 @@
+usr/bin/lld-13 usr/bin/rust-lld
+usr/bin/clang-13 usr/bin/rust-clang
+usr/bin/llvm-dwp-13 usr/bin/rust-llvm-dwp
+# for -Z gcc-ld=lld, see compiler/rustc_codegen_ssa/src/back/link.rs for logic
+usr/bin/rust-lld usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/bin/gcc-ld/ld
+usr/bin/rust-lld usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/bin/gcc-ld/ld64
diff -ruNp rustc-1.59.0+dfsg1/debian/rustc-mozilla.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/rustc-mozilla.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.lintian-overrides	2022-03-06 22:59:34.000000000 +0100
@@ -0,0 +1,6 @@
+# unofficial example script, no dependency needed
+rustc binary: missing-dep-for-interpreter /usr/bin/node (does not satisfy nodejs:any) [usr/share/rustc/bin/wasi-node]
+
+# symlinks to other programs
+rustc binary: no-manual-page usr/bin/rust-clang
+rustc binary: no-manual-page usr/bin/rust-lld
diff -ruNp rustc-1.59.0+dfsg1/debian/rustc-mozilla.manpages rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.manpages
--- rustc-1.59.0+dfsg1/debian/rustc-mozilla.manpages	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustc-mozilla.manpages	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1,3 @@
+debian/tmp/usr/share/man/man1/rustc.1
+debian/tmp/usr/share/man/man1/rustdoc.1
+
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-doc.doc-base.book rustc-mozilla-1.59.0+dfsg1/debian/rust-doc.doc-base.book
--- rustc-1.59.0+dfsg1/debian/rust-doc.doc-base.book	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-doc.doc-base.book	1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-Document: rust-book
-Title: The Rust Programming Language
-Section: Programming/Rust
-Abstract:
- This book will teach you about the Rust Programming Language. Rust is
- a modern systems programming language focusing on safety and speed. It
- accomplishes these goals by being memory safe without using garbage
- collection.
-
-Format: HTML
-Index: /usr/share/doc/rust-doc/html/book/index.html
-Files: /usr/share/doc/rust-doc/html/book/*.html
-       /usr/share/doc/rust-doc/html/book/*/*.html
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-doc.doc-base.reference rustc-mozilla-1.59.0+dfsg1/debian/rust-doc.doc-base.reference
--- rustc-1.59.0+dfsg1/debian/rust-doc.doc-base.reference	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-doc.doc-base.reference	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-Document: rust-reference
-Title: The Rust Reference
-Section: Programming/Rust
-Abstract:
- This document is the primary reference for the Rust programming
- language.
-
-Format: HTML
-Index: /usr/share/doc/rust-doc/html/reference/index.html
-Files: /usr/share/doc/rust-doc/html/reference/*.html
-       /usr/share/doc/rust-doc/html/reference/*/*.html
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-doc.docs rustc-mozilla-1.59.0+dfsg1/debian/rust-doc.docs
--- rustc-1.59.0+dfsg1/debian/rust-doc.docs	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-doc.docs	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-debian/tmp/usr/share/doc/rust/html
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-doc.install rustc-mozilla-1.59.0+dfsg1/debian/rust-doc.install
--- rustc-1.59.0+dfsg1/debian/rust-doc.install	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-doc.install	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-debian/icons/rust-logo-32x32-blk.png usr/share/doc/rust-doc/html/
diff -ruNp rustc-1.59.0+dfsg1/debian/rustfmt.install rustc-mozilla-1.59.0+dfsg1/debian/rustfmt.install
--- rustc-1.59.0+dfsg1/debian/rustfmt.install	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustfmt.install	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-usr/bin/rustfmt
-usr/bin/cargo-fmt
diff -ruNp rustc-1.59.0+dfsg1/debian/rustfmt-mozilla.install rustc-mozilla-1.59.0+dfsg1/debian/rustfmt-mozilla.install
--- rustc-1.59.0+dfsg1/debian/rustfmt-mozilla.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rustfmt-mozilla.install	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1,2 @@
+usr/bin/rustfmt
+usr/bin/cargo-fmt
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-gdb.install rustc-mozilla-1.59.0+dfsg1/debian/rust-gdb.install
--- rustc-1.59.0+dfsg1/debian/rust-gdb.install	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-gdb.install	1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-usr/bin/rust-gdb
-usr/bin/rust-gdbgui
-usr/lib/rustlib/etc/gdb_load_rust_pretty_printers.py
-usr/lib/rustlib/etc/gdb_lookup.py
-usr/lib/rustlib/etc/gdb_providers.py
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-gdb.links rustc-mozilla-1.59.0+dfsg1/debian/rust-gdb.links
--- rustc-1.59.0+dfsg1/debian/rust-gdb.links	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-gdb.links	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/share/man/man1/gdb.1.gz usr/share/man/man1/rust-gdb.1.gz
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-lldb.install rustc-mozilla-1.59.0+dfsg1/debian/rust-lldb.install
--- rustc-1.59.0+dfsg1/debian/rust-lldb.install	2021-10-09 04:20:24.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-lldb.install	1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-usr/bin/rust-lldb
-usr/lib/rustlib/etc/lldb_commands
-usr/lib/rustlib/etc/lldb_lookup.py
-usr/lib/rustlib/etc/lldb_providers.py
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-lldb.links rustc-mozilla-1.59.0+dfsg1/debian/rust-lldb.links
--- rustc-1.59.0+dfsg1/debian/rust-lldb.links	2021-10-15 11:42:05.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-lldb.links	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/share/man/man1/lldb-13.1.gz usr/share/man/man1/rust-lldb.1.gz
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-clippy.install rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-clippy.install
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-clippy.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-clippy.install	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1,2 @@
+usr/bin/clippy-driver
+usr/bin/cargo-clippy
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-doc.doc-base.book rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-doc.doc-base.book
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-doc.doc-base.book	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-doc.doc-base.book	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1,13 @@
+Document: rust-book
+Title: The Rust Programming Language
+Section: Programming/Rust
+Abstract:
+ This book will teach you about the Rust Programming Language. Rust is
+ a modern systems programming language focusing on safety and speed. It
+ accomplishes these goals by being memory safe without using garbage
+ collection.
+
+Format: HTML
+Index: /usr/share/doc/rust-doc/html/book/index.html
+Files: /usr/share/doc/rust-doc/html/book/*.html
+       /usr/share/doc/rust-doc/html/book/*/*.html
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-doc.doc-base.reference rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-doc.doc-base.reference
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-doc.doc-base.reference	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-doc.doc-base.reference	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1,11 @@
+Document: rust-reference
+Title: The Rust Reference
+Section: Programming/Rust
+Abstract:
+ This document is the primary reference for the Rust programming
+ language.
+
+Format: HTML
+Index: /usr/share/doc/rust-doc/html/reference/index.html
+Files: /usr/share/doc/rust-doc/html/reference/*.html
+       /usr/share/doc/rust-doc/html/reference/*/*.html
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-doc.docs rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-doc.docs
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-doc.docs	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-doc.docs	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1 @@
+debian/tmp/usr/share/doc/rust/html
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-doc.install rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-doc.install
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-doc.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-doc.install	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1 @@
+debian/icons/rust-logo-32x32-blk.png usr/share/doc/rust-doc/html/
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-gdb.install rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-gdb.install
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-gdb.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-gdb.install	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1,5 @@
+usr/bin/rust-gdb
+usr/bin/rust-gdbgui
+usr/lib/rustlib/etc/gdb_load_rust_pretty_printers.py
+usr/lib/rustlib/etc/gdb_lookup.py
+usr/lib/rustlib/etc/gdb_providers.py
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-gdb.links rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-gdb.links
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-gdb.links	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-gdb.links	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1 @@
+usr/share/man/man1/gdb.1.gz usr/share/man/man1/rust-gdb.1.gz
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-lldb.install rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-lldb.install
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-lldb.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-lldb.install	2021-10-09 04:20:24.000000000 +0200
@@ -0,0 +1,4 @@
+usr/bin/rust-lldb
+usr/lib/rustlib/etc/lldb_commands
+usr/lib/rustlib/etc/lldb_lookup.py
+usr/lib/rustlib/etc/lldb_providers.py
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-lldb.links rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-lldb.links
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-lldb.links	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-lldb.links	2021-10-15 11:42:05.000000000 +0200
@@ -0,0 +1 @@
+usr/share/man/man1/lldb-13.1.gz usr/share/man/man1/rust-lldb.1.gz
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-src.install rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.install
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-src.install	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.install	2021-10-22 22:52:20.000000000 +0200
@@ -0,0 +1,15 @@
+debian/patches  usr/src/rustc-${env:RUST_LONG_VERSION}/debian
+# from src/bootstrap/dist.rs:370 onwards
+COPYRIGHT       usr/src/rustc-${env:RUST_LONG_VERSION}
+LICENSE-APACHE  usr/src/rustc-${env:RUST_LONG_VERSION}
+LICENSE-MIT     usr/src/rustc-${env:RUST_LONG_VERSION}
+CONTRIBUTING.md usr/src/rustc-${env:RUST_LONG_VERSION}
+README.md       usr/src/rustc-${env:RUST_LONG_VERSION}
+RELEASES.md     usr/src/rustc-${env:RUST_LONG_VERSION}
+configure       usr/src/rustc-${env:RUST_LONG_VERSION}
+x.py            usr/src/rustc-${env:RUST_LONG_VERSION}
+config.toml.example    usr/src/rustc-${env:RUST_LONG_VERSION}
+Cargo.toml      usr/src/rustc-${env:RUST_LONG_VERSION}
+src             usr/src/rustc-${env:RUST_LONG_VERSION}
+library         usr/src/rustc-${env:RUST_LONG_VERSION}
+compiler        usr/src/rustc-${env:RUST_LONG_VERSION}
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-src.links rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.links
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-src.links	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.links	2021-10-22 22:52:20.000000000 +0200
@@ -0,0 +1 @@
+usr/src/rustc-${env:RUST_LONG_VERSION} usr/lib/rustlib/src/rust
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-mozilla-src.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/rust-mozilla-src.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-mozilla-src.lintian-overrides	2022-03-06 22:59:34.000000000 +0100
@@ -0,0 +1,6 @@
+# False positives that change quite often, so just override with a wildcard
+rust-src binary: executable-not-elf-or-script usr/src/rustc-*/*
+rust-src binary: package-contains-eslint-config-file usr/src/rustc-*/src/librustdoc/html/static/.eslintrc.js
+rust-src binary: breakout-link usr/lib/rustlib/src/rust -> usr/src/rustc-*
+rust-src binary: embedded-javascript-library usr/src/rustc-*/*
+rust-src binary: national-encoding usr/src/rustc-*/*
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-src.install rustc-mozilla-1.59.0+dfsg1/debian/rust-src.install
--- rustc-1.59.0+dfsg1/debian/rust-src.install	2021-10-22 22:52:20.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-src.install	1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-debian/patches  usr/src/rustc-${env:RUST_LONG_VERSION}/debian
-# from src/bootstrap/dist.rs:370 onwards
-COPYRIGHT       usr/src/rustc-${env:RUST_LONG_VERSION}
-LICENSE-APACHE  usr/src/rustc-${env:RUST_LONG_VERSION}
-LICENSE-MIT     usr/src/rustc-${env:RUST_LONG_VERSION}
-CONTRIBUTING.md usr/src/rustc-${env:RUST_LONG_VERSION}
-README.md       usr/src/rustc-${env:RUST_LONG_VERSION}
-RELEASES.md     usr/src/rustc-${env:RUST_LONG_VERSION}
-configure       usr/src/rustc-${env:RUST_LONG_VERSION}
-x.py            usr/src/rustc-${env:RUST_LONG_VERSION}
-config.toml.example    usr/src/rustc-${env:RUST_LONG_VERSION}
-Cargo.toml      usr/src/rustc-${env:RUST_LONG_VERSION}
-src             usr/src/rustc-${env:RUST_LONG_VERSION}
-library         usr/src/rustc-${env:RUST_LONG_VERSION}
-compiler        usr/src/rustc-${env:RUST_LONG_VERSION}
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-src.links rustc-mozilla-1.59.0+dfsg1/debian/rust-src.links
--- rustc-1.59.0+dfsg1/debian/rust-src.links	2021-10-22 22:52:20.000000000 +0200
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-src.links	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/src/rustc-${env:RUST_LONG_VERSION} usr/lib/rustlib/src/rust
diff -ruNp rustc-1.59.0+dfsg1/debian/rust-src.lintian-overrides rustc-mozilla-1.59.0+dfsg1/debian/rust-src.lintian-overrides
--- rustc-1.59.0+dfsg1/debian/rust-src.lintian-overrides	2022-03-06 22:59:34.000000000 +0100
+++ rustc-mozilla-1.59.0+dfsg1/debian/rust-src.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-# False positives that change quite often, so just override with a wildcard
-rust-src binary: executable-not-elf-or-script usr/src/rustc-*/*
-rust-src binary: package-contains-eslint-config-file usr/src/rustc-*/src/librustdoc/html/static/.eslintrc.js
-rust-src binary: breakout-link usr/lib/rustlib/src/rust -> usr/src/rustc-*
-rust-src binary: embedded-javascript-library usr/src/rustc-*/*
-rust-src binary: national-encoding usr/src/rustc-*/*

Reply to: