summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xdebian/bin/cargo257
-rw-r--r--debian/cargo-doc.docs2
-rw-r--r--debian/cargo.bash-completion1
-rw-r--r--debian/cargo.install5
-rw-r--r--debian/cargo.manpages2
-rw-r--r--debian/cargo/.package-cache0
-rw-r--r--debian/changelog39
-rwxr-xr-xdebian/check-orig-suspicious.sh20
-rw-r--r--debian/config.toml.in2
-rw-r--r--debian/control58
-rw-r--r--debian/copyright680
-rw-r--r--debian/gbp.conf1
-rwxr-xr-xdebian/lintian-to-copyright.sh2
-rw-r--r--debian/missing-sources/prism.js599
-rw-r--r--debian/not-installed6
-rw-r--r--debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch46
-rw-r--r--debian/patches/c-2002_disable-net-tests.patch615
-rw-r--r--debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch19
-rw-r--r--debian/patches/c-2200-workaround-x32-test.patch15
-rw-r--r--debian/patches/c-disable-fs-specific-test.patch13
-rw-r--r--debian/patches/c-update-libgit2.patch37
-rw-r--r--debian/patches/d-0000-ignore-removed-submodules.patch130
-rw-r--r--debian/patches/d-0001-pkg-config-no-special-snowflake.patch18
-rw-r--r--debian/patches/d-0002-mdbook-strip-embedded-libs.patch88
-rw-r--r--debian/patches/d-0003-cc-psm-rebuild-wasm32.patch16
-rw-r--r--debian/patches/d-0004-clippy-feature-sync.patch42
-rw-r--r--debian/patches/d-0005-no-jemalloc.patch20
-rw-r--r--debian/patches/d-0010-cargo-remove-vendored-c-crates.patch18
-rw-r--r--debian/patches/d-0011-cargo-remove-nghttp2.patch19
-rw-r--r--debian/patches/d-0012-cargo-always-return-dev-channel.patch23
-rw-r--r--debian/patches/d-0020-remove-windows-dependencies.patch213
-rw-r--r--debian/patches/d-0021-vendor-remove-windows-dependencies.patch844
-rw-r--r--debian/patches/d-armel-fix-lldb.patch10
-rw-r--r--debian/patches/d-bootstrap-cargo-check-cfg.patch10
-rw-r--r--debian/patches/d-bootstrap-cargo-doc-paths.patch130
-rw-r--r--debian/patches/d-bootstrap-custom-debuginfo-path.patch16
-rw-r--r--debian/patches/d-bootstrap-disable-git.patch16
-rw-r--r--debian/patches/d-bootstrap-install-symlinks.patch12
-rw-r--r--debian/patches/d-bootstrap-no-assume-tools.patch8
-rw-r--r--debian/patches/d-bootstrap-old-cargo-compat.patch12
-rw-r--r--debian/patches/d-bootstrap-permit-symlink-in-docs.patch8
-rw-r--r--debian/patches/d-bootstrap-read-beta-version-from-file.patch8
-rw-r--r--debian/patches/d-bootstrap-rustflags.patch8
-rw-r--r--debian/patches/d-bootstrap-use-local-css.patch10
-rw-r--r--debian/patches/d-fix-rustix-outline.patch87
-rw-r--r--debian/patches/d-remove-arm-privacy-breaches.patch14
-rw-r--r--debian/patches/d-rust-gdb-paths8
-rw-r--r--debian/patches/d-rust-lldb-paths8
-rw-r--r--debian/patches/d-rustc-add-soname.patch8
-rw-r--r--debian/patches/d-rustc-fix-mips64el-bootstrap.patch30
-rw-r--r--debian/patches/d-rustc-windows-ssp.patch8
-rw-r--r--debian/patches/d-rustdoc-disable-embedded-fonts.patch16
-rw-r--r--debian/patches/d-test-ignore-avx-44056.patch8
-rw-r--r--debian/patches/series17
-rw-r--r--debian/patches/u-disable-fp-precision-test-on-i386.patch10
-rw-r--r--debian/patches/u-fix-get-toml-when-test.patch10
-rw-r--r--debian/patches/u-ignore-endian-big-diff.patch36
-rw-r--r--debian/patches/u-ignore-ppc-hangs.patch16
-rw-r--r--debian/patches/u-reproducible-build.patch10
-rw-r--r--debian/patches/u-reproducible-dl-stage0.patch10
-rw-r--r--debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch56
-rw-r--r--debian/patches/u-rustc-llvm-cross-flags.patch8
-rw-r--r--debian/patches/ubuntu-disable-ppc64el-asm-tests.patch16
-rw-r--r--debian/patches/ubuntu-ignore-arm-doctest.patch18
-rwxr-xr-xdebian/prune-unused-deps2
-rwxr-xr-xdebian/rules42
-rwxr-xr-xdebian/scripts/audit-vendor-source40
-rwxr-xr-xdebian/scripts/debian-cargo-vendor165
-rwxr-xr-xdebian/scripts/guess-crate-copyright45
-rwxr-xr-xdebian/scripts/prune-checksums47
-rw-r--r--debian/source/lintian-overrides9
-rw-r--r--debian/tests/control7
-rwxr-xr-xdebian/tests/create-and-build-crate39
-rw-r--r--debian/upstream-tarball-unsuspicious.txt215
74 files changed, 4305 insertions, 798 deletions
diff --git a/debian/bin/cargo b/debian/bin/cargo
new file mode 100755
index 000000000..50772347d
--- /dev/null
+++ b/debian/bin/cargo
@@ -0,0 +1,257 @@
+#!/usr/bin/python3
+"""
+Wrapper around cargo to have it build using Debian settings.
+
+Usage:
+ export PATH=/path/to/dir/of/this/script:$PATH
+ export CARGO_HOME=debian/cargo_home
+ cargo prepare-debian /path/to/local/registry [--link-from-system]
+ cargo build
+ cargo test
+ cargo install
+ cargo clean
+ [rm -rf /path/to/local/registry]
+
+The "prepare-debian" subcommand writes a config file to $CARGO_HOME that makes
+the subsequent invocations use our Debian flags. The "--link-from-system" flag
+is optional; if you use it we will create /path/to/local/registry and symlink
+the contents of /usr/share/cargo/registry into it. You are then responsible for
+cleaning it up afterwards (a simple `rm -rf` should do).
+
+See cargo:d/rules and dh-cargo:cargo.pm for more examples.
+
+Make sure you add "Build-Depends: python3:native" if you use this directly.
+If using this only indirectly via dh-cargo, then you only need "Build-Depends:
+dh-cargo"; this is a general principle when declaring dependencies.
+
+If CARGO_HOME doesn't end with debian/cargo_home, then this script does nothing
+and passes through directly to cargo.
+
+Otherwise, you *must* set the following environment variables:
+
+- DEB_CARGO_CRATE
+ ${crate}_${version} of whatever you're building.
+
+- CFLAGS CXXFLAGS CPPFLAGS LDFLAGS [*]
+- DEB_HOST_GNU_TYPE DEB_HOST_RUST_TYPE [*]
+
+- (required only for `cargo install`) DESTDIR
+ DESTDIR to install build artifacts under. If running via dh-cargo, this will
+ be set automatically by debhelper, see `dh_auto_install` for details.
+
+- (optional) DEB_BUILD_OPTIONS DEB_BUILD_PROFILES
+
+- (optional) DEB_CARGO_INSTALL_PREFIX
+ Prefix to install build artifacts under. Default: /usr. Sometimes you might
+ want to change this to /usr/lib/cargo if the binary clashes with something
+ else, and then symlink it into /usr/bin under an alternative name.
+
+- (optional) DEB_CARGO_CRATE_IN_REGISTRY
+ Whether the crate is in the local-registry (1) or cwd (0, empty, default).
+
+For the envvars marked [*], it is easiest to set these in your d/rules via:
+
+ include /usr/share/dpkg/architecture.mk
+ include /usr/share/dpkg/buildflags.mk
+ include /usr/share/rustc/architecture.mk
+ export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
+ export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE
+"""
+
+import os
+import os.path
+import shutil
+import subprocess
+import sys
+
+FLAGS = "CFLAGS CXXFLAGS CPPFLAGS LDFLAGS"
+ARCHES = "DEB_HOST_GNU_TYPE DEB_HOST_RUST_TYPE"
+SYSTEM_REGISTRY = "/usr/share/cargo/registry"
+
+def log(*args):
+ print("debian cargo wrapper:", *args, file=sys.stderr, flush=True)
+
+def logrun(*args, **kwargs):
+ log("running subprocess", args, kwargs)
+ return subprocess.run(*args, **kwargs)
+
+def sourcepath(p=None):
+ return os.path.join(os.getcwd(), p) if p else os.getcwd()
+
+def prepare_debian(cargo_home, registry, cratespec, host_gnu_type, ldflags, link_from_system, extra_rustflags):
+ registry_path = sourcepath(registry)
+ if link_from_system:
+ log("linking %s/* into %s/" % (SYSTEM_REGISTRY, registry_path))
+ os.makedirs(registry_path, exist_ok=True)
+ crates = os.listdir(SYSTEM_REGISTRY) if os.path.isdir(SYSTEM_REGISTRY) else []
+ for c in crates:
+ target = os.path.join(registry_path, c)
+ if not os.path.islink(target):
+ os.symlink(os.path.join(SYSTEM_REGISTRY, c), target)
+ elif not os.path.exists(registry_path):
+ raise ValueError("non-existent registry: %s" % registry)
+
+ rustflags = "-C debuginfo=2 --cap-lints warn".split()
+ rustflags.extend(["-C", "linker=%s-gcc" % host_gnu_type])
+ for f in ldflags:
+ rustflags.extend(["-C", "link-arg=%s" % f])
+ if link_from_system:
+ rustflags.extend([
+ # Note that this order is important! Rust evaluates these options in
+ # priority of reverse order, so if the second option were in front,
+ # it would never be used, because any paths in registry_path are
+ # also in sourcepath().
+ "--remap-path-prefix", "%s=%s/%s" %
+ (sourcepath(), SYSTEM_REGISTRY, cratespec.replace("_", "-")),
+ "--remap-path-prefix", "%s=%s" % (registry_path, SYSTEM_REGISTRY),
+ ])
+ rustflags.extend(extra_rustflags.split())
+
+ # TODO: we cannot enable this until dh_shlibdeps works correctly; atm we get:
+ # dpkg-shlibdeps: warning: can't extract name and version from library name 'libstd-XXXXXXXX.so'
+ # and the resulting cargo.deb does not depend on the correct version of libstd-rust-1.XX
+ # We probably need to add override_dh_makeshlibs to d/rules of rustc
+ #rustflags.extend(["-C", "prefer-dynamic"])
+
+ os.makedirs(cargo_home, exist_ok=True)
+ with open("%s/config" % cargo_home, "w") as fp:
+ fp.write("""[source.crates-io]
+replace-with = "dh-cargo-registry"
+
+[source.dh-cargo-registry]
+directory = "{0}"
+
+[build]
+rustflags = {1}
+""".format(registry_path, repr(rustflags)))
+
+ return 0
+
+def install(destdir, cratespec, host_rust_type, crate_in_registry, install_prefix, *args):
+ crate, version = cratespec.rsplit("_", 1)
+ log("installing into destdir '%s' prefix '%s'" % (destdir, install_prefix))
+ install_target = destdir + install_prefix
+ logrun(["env", "RUST_BACKTRACE=1",
+ # set CARGO_TARGET_DIR so build products are saved in target/
+ # normally `cargo install` deletes them when it exits
+ "CARGO_TARGET_DIR=" + sourcepath("target"),
+ "/usr/bin/cargo"] + list(args) +
+ ([crate, "--vers", version] if crate_in_registry else ["--path", sourcepath()]) +
+ ["--root", install_target], check=True)
+ logrun(["rm", "-f", "%s/.crates.toml" % install_target])
+ logrun(["rm", "-f", "%s/.crates2.json" % install_target])
+
+ # if there was a custom build output, symlink it to debian/cargo_out_dir
+ # hopefully cargo will provide a better solution in future https://github.com/rust-lang/cargo/issues/5457
+ r = logrun('''ls -td "target/%s/release/build/%s"-*/out 2>/dev/null | head -n1'''
+ % (host_rust_type, crate), shell=True, stdout=subprocess.PIPE).stdout
+ r = r.decode("utf-8").rstrip()
+ if r:
+ logrun(["ln", "-sfT", "../%s" % r, "debian/cargo_out_dir"], check=True)
+ return 0
+
+def main(*args):
+ cargo_home = os.getenv("CARGO_HOME", "")
+ if not cargo_home.endswith("/debian/cargo_home"):
+ os.execv("/usr/bin/cargo", ["cargo"] + list(args))
+
+ if any(f not in os.environ for f in FLAGS.split()):
+ raise ValueError("not all of %s set; did you call dpkg-buildflags?" % FLAGS)
+
+ if any(f not in os.environ for f in ARCHES.split()):
+ raise ValueError("not all of %s set; did you include architecture.mk?" % ARCHES)
+
+ build_options = os.getenv("DEB_BUILD_OPTIONS", "").split()
+ build_profiles = os.getenv("DEB_BUILD_PROFILES", "").split()
+
+ parallel = []
+ lto = 0
+ for o in build_options:
+ if o.startswith("parallel="):
+ parallel = ["-j" + o[9:]]
+ elif o.startswith("optimize="):
+ opt_arg = o[9:]
+ for arg in opt_arg.split(","):
+ if opt_arg == "-lto":
+ lto = -1
+ elif opt_arg == "+lto":
+ lto = 1
+ else:
+ log(f"WARNING: unhandled optimization flag: {opt_arg}")
+
+ nodoc = "nodoc" in build_options or "nodoc" in build_profiles
+ nocheck = "nocheck" in build_options or "nocheck" in build_profiles
+
+ # note this is actually the "build target" type, see rustc's README.Debian
+ # for full details of the messed-up terminology here
+ host_rust_type = os.getenv("DEB_HOST_RUST_TYPE", "")
+ host_gnu_type = os.getenv("DEB_HOST_GNU_TYPE", "")
+
+ log("options, profiles, parallel, lto:", build_options, build_profiles, parallel, lto)
+ log("rust_type, gnu_type:", ", ".join([host_rust_type, host_gnu_type]))
+
+ if "RUSTFLAGS" in os.environ:
+ # see https://github.com/rust-lang/cargo/issues/6338 for explanation on why we must do this
+ log("unsetting RUSTFLAGS and assuming it will be (or already was) added to $CARGO_HOME/config")
+ extra_rustflags = os.environ["RUSTFLAGS"]
+ del os.environ["RUSTFLAGS"]
+ else:
+ extra_rustflags = ""
+
+ if args[0] == "prepare-debian":
+ registry = args[1]
+ link_from_system = False
+ if len(args) > 2 and args[2] == "--link-from-system":
+ link_from_system = True
+ return prepare_debian(cargo_home, registry,
+ os.environ["DEB_CARGO_CRATE"], host_gnu_type,
+ os.getenv("LDFLAGS", "").split(), link_from_system, extra_rustflags)
+
+ newargs = []
+ subcmd = None
+ for a in args:
+ if (subcmd is None) and (a in ("build", "rustc", "doc", "test", "bench", "install")):
+ subcmd = a
+ newargs.extend(["-Zavoid-dev-deps", a, "--verbose", "--verbose"] +
+ parallel + ["--target", host_rust_type])
+ elif (subcmd is None) and (a == "clean"):
+ subcmd = a
+ newargs.extend([a, "--verbose", "--verbose"])
+ else:
+ newargs.append(a)
+
+ if subcmd is not None and "--verbose" in newargs and "--quiet" in newargs:
+ newargs.remove("--quiet")
+
+ if nodoc and subcmd == "doc":
+ return 0
+ if nocheck and subcmd in ("test", "bench"):
+ return 0
+
+ if lto == 1:
+ newargs.append("--config profile.release.lto = \"thin\"")
+ elif lto == -1:
+ newargs.append("--config profile.release.lto = false")
+
+ if subcmd == "clean":
+ logrun(["env", "RUST_BACKTRACE=1", "/usr/bin/cargo"] + list(newargs), check=True)
+ if os.path.exists(cargo_home):
+ shutil.rmtree(cargo_home)
+ return 0
+
+ cargo_config = "%s/config" % cargo_home
+ if not os.path.exists(cargo_config):
+ raise ValueError("does not exist: %s, did you run `cargo prepare-debian <registry>`?" % cargo_config)
+
+ if subcmd == "install":
+ return install(os.getenv("DESTDIR", ""),
+ os.environ["DEB_CARGO_CRATE"],
+ host_rust_type,
+ os.getenv("DEB_CARGO_CRATE_IN_REGISTRY", "") == "1",
+ os.getenv("DEB_CARGO_INSTALL_PREFIX", "/usr"),
+ *newargs)
+ else:
+ return logrun(["env", "RUST_BACKTRACE=1", "/usr/bin/cargo"] + list(newargs)).returncode
+
+if __name__ == "__main__":
+ sys.exit(main(*sys.argv[1:]))
diff --git a/debian/cargo-doc.docs b/debian/cargo-doc.docs
new file mode 100644
index 000000000..1d0004d69
--- /dev/null
+++ b/debian/cargo-doc.docs
@@ -0,0 +1,2 @@
+usr/share/doc/cargo/reference
+usr/share/doc/cargo/book
diff --git a/debian/cargo.bash-completion b/debian/cargo.bash-completion
new file mode 100644
index 000000000..e3d4b2857
--- /dev/null
+++ b/debian/cargo.bash-completion
@@ -0,0 +1 @@
+etc/bash_completion.d/cargo cargo
diff --git a/debian/cargo.install b/debian/cargo.install
new file mode 100644
index 000000000..ba8bde3f5
--- /dev/null
+++ b/debian/cargo.install
@@ -0,0 +1,5 @@
+usr/bin/cargo
+usr/libexec/cargo-credential-1password usr/libexec
+debian/scripts/* usr/share/cargo/scripts
+debian/bin/cargo usr/share/cargo/bin
+usr/share/zsh/site-functions/_cargo usr/share/zsh/vendor-completions
diff --git a/debian/cargo.manpages b/debian/cargo.manpages
new file mode 100644
index 000000000..585a8af0f
--- /dev/null
+++ b/debian/cargo.manpages
@@ -0,0 +1,2 @@
+usr/share/man/man1/cargo-*.1
+usr/share/man/man1/cargo.1
diff --git a/debian/cargo/.package-cache b/debian/cargo/.package-cache
deleted file mode 100644
index e69de29bb..000000000
--- a/debian/cargo/.package-cache
+++ /dev/null
diff --git a/debian/changelog b/debian/changelog
index 64c7159b1..341a21a78 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,42 @@
+rustc (1.70.0+dfsg2-1) unstable; urgency=medium
+
+ * upload to unstable
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Sat, 04 May 2024 13:38:10 +0200
+
+rustc (1.70.0+dfsg2-1~exp3) experimental; urgency=medium
+
+ * d/rules: fix last package cache removal
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Fri, 03 May 2024 17:02:14 +0200
+
+rustc (1.70.0+dfsg2-1~exp2) experimental; urgency=medium
+
+ * d/rules: allow removal of package cache to fail
+ * autopkgtest: disable full build test
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Fri, 03 May 2024 15:10:49 +0200
+
+rustc (1.70.0+dfsg2-1~exp1) experimental; urgency=medium
+
+ [ liushuyu ]
+ * d/*: initial merge of cargo into rustc source package (Closes: #1054658)
+
+ [ Fabian Grünbichler ]
+ * update libgit2
+ * cargo: sync test disabling changes
+ * adapt to current rustc/cargo version
+ * cargo: actually install, not just build
+ * add extra component tarball
+ * scripts/guess-crate-copyright: switch to python3-toml
+ * d/check-orig-suspicious.sh: remove duplicate comment stripping
+ * d/check-orig-suspicious.sh: support extra tar ball
+ * fix autopkgtest control file
+ * update d/copyright
+ * extend lintian overrides
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Fri, 03 May 2024 09:27:25 +0200
+
rustc (1.70.0+dfsg1-9) unstable; urgency=medium
* temporarily skip git(-cli) tests
diff --git a/debian/check-orig-suspicious.sh b/debian/check-orig-suspicious.sh
index b27dbf767..a168b7866 100755
--- a/debian/check-orig-suspicious.sh
+++ b/debian/check-orig-suspicious.sh
@@ -3,18 +3,20 @@ set -e
ver="$1"
test -n "$ver" || exit 2
+dfsg="$2"
+if test -z "$dfsg"; then
+ dfsg=1
+fi
-SUS_WHITELIST=$(find "${PWD}/debian" -name upstream-tarball-unsuspicious.txt -type f)
+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/
+rm -rf "rustc-${ver/*~*/beta}-src/"
+tar xf "../rustc_$ver+dfsg$dfsg.orig.tar.xz" && cd "rustc-${ver/*~*/beta}-src/"
+if test -f "../../rustc_$ver+dfsg$dfsg.orig-extra.tar.xz" ; then
+ tar xf "../../rustc_$ver+dfsg$dfsg.orig-extra.tar.xz"
+fi
-# TODO: remove this code snippet after it gets into our cargo
-# Strip comments & blank lines before testing rust source code -
-# some authors like to write really long comments
-find . -name '*.rs' -execdir sed -i -e '\,^\s*//,d' -e '/^\s*$/d' '{}' \;
-
-/usr/share/cargo/scripts/audit-vendor-source \
+../debian/scripts/audit-vendor-source \
"$SUS_WHITELIST" \
"Files-Excluded: in debian/copyright and run a repack." \
-m text/x-script.python \
diff --git a/debian/config.toml.in b/debian/config.toml.in
index c61d582c1..b4e7c8d7d 100644
--- a/debian/config.toml.in
+++ b/debian/config.toml.in
@@ -23,7 +23,7 @@ target = ["DEB_TARGET_RUST_TYPE"]
docs = false
extended = true
-tools = ["clippy", "rustfmt", "rustdoc", "rust-analyzer-proc-macro-srv"]
+tools = ["cargo", "clippy", "rustfmt", "rustdoc", "rust-analyzer-proc-macro-srv"]
[install]
prefix = "/usr"
diff --git a/debian/control b/debian/control
index ef0204529..a655ffdd2 100644
--- a/debian/control
+++ b/debian/control
@@ -13,7 +13,7 @@ Build-Depends:
debhelper-compat (= 13),
dpkg-dev (>= 1.17.14),
python3:native,
- cargo:native (>= 0.60.0) <!pkg.rustc.dlstage0>,
+ cargo:native (>= 0.69.0+dfsg) <!pkg.rustc.dlstage0>,
rustc:native (>= 1.69.0+dfsg) <!pkg.rustc.dlstage0>,
rustc:native (<= 1.70.0++) <!pkg.rustc.dlstage0>,
llvm-16-dev:native,
@@ -30,6 +30,13 @@ Build-Depends:
zlib1g-dev,
# used by rust-installer
liblzma-dev:native,
+# used by cargo
+ bash-completion,
+ libcurl4-gnutls-dev | libcurl4-openssl-dev,
+ libssh2-1-dev,
+ libgit2-dev (>= 1.7.1),
+ libgit2-dev (<< 1.8~~),
+ libhttp-parser-dev,
# test dependencies:
binutils (>= 2.26) <!nocheck> | binutils-2.26 <!nocheck>,
# temporarily disabled cause of #1066794 / t64 transition
@@ -324,7 +331,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends},
rust-gdb (>= ${binary:Version}) | rust-lldb (>= ${binary:Version}),
cargo,
Recommends:
- cargo (>= 0.71.0~~), cargo (<< 0.72.0~~)
+ cargo (= ${binary:Version})
Suggests:
rust-doc (>= ${binary:Version}),
rust-src (>= ${binary:Version}),
@@ -345,3 +352,50 @@ Description: Rust systems programming language - all developer tools
.
This package is an empty metapackage that depends on all developer tools
in the standard rustc distribution that have been packaged for Debian.
+
+# Cargo binaries
+Package: cargo
+Architecture: any
+Multi-Arch: allowed
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ rustc (= ${binary:Version}),
+ binutils,
+ gcc | clang | c-compiler
+Suggests: cargo-doc, python3
+Description: Rust package manager
+ Cargo is a tool that allows Rust projects to declare their various
+ dependencies, and ensure that you'll always get a repeatable build.
+ .
+ To accomplish this goal, Cargo does four things:
+ * Introduces two metadata files with various bits of project information.
+ * Fetches and builds your project's dependencies.
+ * Invokes rustc or another build tool with the correct parameters to build
+ your project.
+ * Introduces conventions, making working with Rust projects easier.
+ .
+ Cargo downloads your Rust project’s dependencies and compiles your
+ project.
+
+Package: cargo-doc
+Section: doc
+Architecture: all
+Build-Profiles: <!nodoc>
+Recommends: rust-doc
+Depends: ${misc:Depends}
+Description: Rust package manager, documentation
+ Cargo is a tool that allows Rust projects to declare their various
+ dependencies, and ensure that you'll always get a repeatable build.
+ .
+ To accomplish this goal, Cargo does four things:
+ * Introduces two metadata files with various bits of project information.
+ * Fetches and builds your project's dependencies.
+ * Invokes rustc or another build tool with the correct parameters to build
+ your project.
+ * Introduces conventions, making working with Rust projects easier.
+ .
+ Cargo downloads your Rust project’s dependencies and compiles your
+ project.
+ .
+ This package contains the documentation.
+
+# TODO: add a cargo-src package
diff --git a/debian/copyright b/debian/copyright
index edf1cc050..bb2fd504c 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -21,8 +21,7 @@ Files-Excluded:
# check that certain popular crates continue to compile. It is not the same as
# cargo's own test suite (in its own package) also called cargotest.
# NB: don't exclude rust-installer, it's needed for "install" functionality
- .gitmodules
- src/tools/cargo
+#src/tools/cargo
src/tools/rls
src/tools/remote-test-client
src/tools/remote-test-server
@@ -34,35 +33,36 @@ Files-Excluded:
src/tools/clippy/util/gh-pages
# Embedded C libraries
vendor/lzma-sys*/xz-*
+ vendor/libgit2-sys/libgit2
+ vendor/libssh2-sys/libssh2
+ vendor/curl-sys/curl
+ vendor/libz-sys/src/zlib*
# Embedded binary blobs
vendor/jsonpath_lib/docs
vendor/mdbook/src/theme/playground_editor
vendor/psm/src/arch/wasm32.o
vendor/rustix/src/backend/linux_raw/arch/outline/*/*.a
- vendor/rustix-0.*/src/backend/linux_raw/arch/outline/*/*.a
+ vendor/rustix-0.36.5/src/backend/linux_raw/arch/outline/*/*.a
vendor/winapi-*/*/*.a
# Embedded submodule used for CI
library/stdarch/crates/intrinsic-test/acle
+# Misc
+ vendor/*/icon_CLion.svg
+ vendor/wasm-bindgen/guide
+ vendor/nix/test/test_kmod/hello_mod/hello.c
+ vendor/wasm-bindgen/examples/import_js/index.js
+ vendor/wasm-bindgen/examples/import_js/webpack.config.js
# unused dependencies, generated by debian/prune-unused-deps
# DO NOT EDIT below, AUTOGENERATED
vendor/ahash-0.7.4
vendor/ansi_term
+ vendor/anstyle-wincon
vendor/anyhow-1.0.65
vendor/anyhow-1.0.66
vendor/anymap
vendor/arbitrary
- vendor/arc-swap
- vendor/arrayvec-0.5.2
vendor/arrayvec-0.7.0
vendor/backtrace-0.3.66
- vendor/base16ct
- vendor/base64
- vendor/base64ct
- vendor/bitmaps
- vendor/bstr
- vendor/btoi
- vendor/bumpalo
- vendor/bytesize
vendor/camino-1.0.9
vendor/cargo_metadata-0.15.2
vendor/cc-1.0.73
@@ -71,15 +71,9 @@ Files-Excluded:
vendor/chalk-ir
vendor/chalk-recursive
vendor/chalk-solve
- vendor/clru
vendor/color-eyre
vendor/color-spantrace
vendor/command-group
- vendor/concolor
- vendor/concolor-query-0.1.0
- vendor/const-oid
- vendor/content_inspector
- vendor/core-foundation
vendor/core-foundation-sys-0.8.0
vendor/cranelift-bforest
vendor/cranelift-codegen
@@ -92,34 +86,21 @@ Files-Excluded:
vendor/cranelift-module
vendor/cranelift-native
vendor/cranelift-object
- vendor/crypto-bigint
vendor/crypto-common-0.1.3
- vendor/ct-codecs
vendor/ctor-0.1.22
- vendor/curl
- vendor/curl-sys
- vendor/der
+ vendor/ctor
vendor/derive_arbitrary
vendor/diff-0.1.12
vendor/digest-0.10.3
vendor/directories
vendor/dissimilar-1.0.4
vendor/dot
- vendor/dunce
- vendor/ecdsa
- vendor/ed25519-compact
vendor/either-1.6.0
vendor/either-1.6.1
- vendor/elliptic-curve
vendor/ena-0.14.0
vendor/eyre
- vendor/ff
- vendor/fiat-crypto
vendor/filetime-0.2.16
vendor/filetime-0.2.19
- vendor/flate2-1.0.23
- vendor/foreign-types
- vendor/foreign-types-shared
vendor/form_urlencoded-1.0.1
vendor/fsevent-sys
vendor/fs_extra
@@ -127,131 +108,66 @@ Files-Excluded:
vendor/fwdansi
vendor/fxhash
vendor/generic-array-0.14.4
- vendor/git2
- vendor/git2-curl
- vendor/gix-actor
- vendor/gix-attributes
- vendor/gix-bitmap
- vendor/gix
- vendor/gix-chunk
- vendor/gix-command
- vendor/gix-config
- vendor/gix-config-value
- vendor/gix-credentials
- vendor/gix-date
- vendor/gix-diff
- vendor/gix-discover
- vendor/gix-features
- vendor/gix-glob
- vendor/gix-hash
- vendor/gix-hashtable
- vendor/gix-index
- vendor/gix-lock
- vendor/gix-mailmap
- vendor/gix-object
- vendor/gix-odb
- vendor/gix-pack
- vendor/gix-packetline
- vendor/gix-path
- vendor/gix-prompt
- vendor/gix-protocol
- vendor/gix-quote
- vendor/gix-ref
- vendor/gix-refspec
- vendor/gix-revision
- vendor/gix-sec
- vendor/gix-tempfile
- vendor/gix-transport
- vendor/gix-traverse
- vendor/gix-url
- vendor/gix-validate
- vendor/gix-worktree
vendor/globset-0.4.8
- vendor/group
- vendor/handlebars-3.5.5
vendor/heck-0.3.3
vendor/hermit-abi-0.3.0
vendor/hex-0.4.2
vendor/hkalbasi-rustc-ap-rustc_abi
vendor/hkalbasi-rustc-ap-rustc_index
- vendor/hkdf
- vendor/hmac
vendor/home-0.5.3
- vendor/http-auth
vendor/idna-0.2.0
- vendor/imara-diff
- vendor/im-rc
vendor/indenter
vendor/indexmap-1.9.2
vendor/inotify
vendor/inotify-sys
- vendor/io-close
vendor/io-lifetimes-1.0.3
vendor/is-terminal-0.4.4
vendor/itoa-1.0.2
vendor/itoa-1.0.5
vendor/jemalloc-sys
vendor/jod-thread
- vendor/js-sys
+ vendor/junction
vendor/kqueue
vendor/kqueue-sys
vendor/libc-0.2.138
vendor/libc-0.2.139
vendor/libffi
vendor/libffi-sys
- vendor/libgit2-sys
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.7
vendor/log-0.4.14
vendor/lzma-sys-0.1.16
vendor/mach
vendor/matches
- vendor/maybe-async
vendor/memmap2-0.5.8
vendor/mimalloc
vendor/mio
- vendor/nix
- vendor/nom8
- vendor/normalize-line-endings
+ vendor/miow-0.3.7
+ vendor/miow
vendor/notify
+ vendor/ntapi
vendor/num_cpus-1.13.1
- vendor/num_threads
vendor/object-0.30.1
vendor/once_cell-1.12.0
vendor/once_cell-1.16.0
vendor/once_cell-1.17.0
vendor/oorandom
- vendor/openssl
- vendor/openssl-macros
- vendor/openssl-probe
vendor/openssl-src
- vendor/openssl-sys
- vendor/ordered-float
- vendor/orion
- vendor/os_info
+ vendor/output_vt100
vendor/owo-colors
- vendor/p384
vendor/parking_lot_core-0.8.5
vendor/parking_lot_core-0.9.4
- vendor/pasetors
vendor/paste
- vendor/pem-rfc7468
vendor/percent-encoding-2.1.0
vendor/pin-project-lite-0.2.8
- vendor/pkcs8
- vendor/pretty_env_logger
vendor/proc-macro2-1.0.46
vendor/proc-macro2-1.0.50
- vendor/prodash
vendor/protobuf
vendor/protobuf-support
vendor/pulldown-cmark-to-cmark
- vendor/quick-error
vendor/quote-1.0.18
vendor/quote-1.0.23
vendor/rayon-1.5.3
@@ -263,7 +179,6 @@ Files-Excluded:
vendor/regex-1.5.6
vendor/regex-syntax-0.6.26
vendor/region
- vendor/rfc6979
vendor/rustc-build-sysroot
vendor/ryu-1.0.10
vendor/ryu-1.0.5
@@ -272,7 +187,6 @@ Files-Excluded:
vendor/schannel
vendor/scip
vendor/scoped-tls-1.0.0
- vendor/sec1
vendor/security-framework
vendor/security-framework-sys
vendor/semver-1.0.12
@@ -280,37 +194,18 @@ Files-Excluded:
vendor/serde-1.0.152
vendor/serde_derive-1.0.137
vendor/serde_derive-1.0.152
- vendor/serde_ignored
vendor/serde_json-1.0.81
vendor/serde_json-1.0.85
- vendor/serde_spanned
- vendor/serde-value
- vendor/sha1_smol
vendor/sha2-0.10.2
vendor/sharded-slab-0.1.1
- vendor/signal-hook
- vendor/signal-hook-registry
- vendor/signature
- vendor/similar
- vendor/sized-chunks
vendor/slice-group-by
- vendor/snapbox
- vendor/snapbox-macros
- vendor/socket2
- vendor/spki
- vendor/strip-ansi-escapes
- vendor/subtle
vendor/syn-1.0.102
vendor/target-lexicon
vendor/termcolor-1.1.3
vendor/tikv-jemallocator
vendor/tikv-jemalloc-ctl
vendor/tikv-jemalloc-sys
- vendor/time-macros
vendor/toml-0.5.7
- vendor/toml
- vendor/toml_datetime
- vendor/toml_edit
vendor/tracing-0.1.35
vendor/tracing-attributes-0.1.22
vendor/tracing-core-0.1.28
@@ -322,39 +217,41 @@ Files-Excluded:
vendor/typenum-1.15.0
vendor/ui_test
vendor/unicode-bidi-0.3.4
- vendor/unicode-bom
vendor/unicode-ident-1.0.0
vendor/unicode-ident-1.0.5
vendor/unicode-width-0.1.9
vendor/url-2.2.2
- vendor/vcpkg
- vendor/vte
- vendor/vte_generate_state_changes
- vendor/wasm-bindgen-backend
- vendor/wasm-bindgen
- vendor/wasm-bindgen-macro
- vendor/wasm-bindgen-macro-support
- vendor/wasm-bindgen-shared
vendor/wasmtime-jit-icache-coherence
+ vendor/winapi-util
vendor/windows-0.43.0
vendor/windows_aarch64_gnullvm-0.42.0
vendor/windows_aarch64_gnullvm-0.42.1
+ vendor/windows_aarch64_gnullvm
vendor/windows_aarch64_msvc-0.42.0
vendor/windows_aarch64_msvc-0.42.1
+ vendor/windows_aarch64_msvc
+ vendor/windows
vendor/windows_i686_gnu-0.42.0
vendor/windows_i686_gnu-0.42.1
+ vendor/windows_i686_gnu
vendor/windows_i686_msvc-0.42.0
vendor/windows_i686_msvc-0.42.1
+ vendor/windows_i686_msvc
+ vendor/windows-sys-0.42.0
+ vendor/windows-sys
+ vendor/windows-targets
vendor/windows_x86_64_gnu-0.42.0
vendor/windows_x86_64_gnu-0.42.1
+ vendor/windows_x86_64_gnu
vendor/windows_x86_64_gnullvm-0.42.0
vendor/windows_x86_64_gnullvm-0.42.1
+ vendor/windows_x86_64_gnullvm
vendor/windows_x86_64_msvc-0.42.0
vendor/windows_x86_64_msvc-0.42.1
+ vendor/windows_x86_64_msvc
vendor/xattr-0.2.2
vendor/yaml-merge-keys
vendor/yaml-rust
- vendor/zeroize
# DO NOT EDIT above, AUTOGENERATED
Files: C*.md
@@ -383,6 +280,7 @@ Files: C*.md
version
x.py
.cargo/config.toml
+ .gitmodules
Copyright: 2006-2009 Graydon Hoare
2009-2012 Mozilla Foundation
2012-2017 The Rust Project Developers (see AUTHORS.txt)
@@ -427,7 +325,6 @@ Files:
vendor/anstream/*
vendor/anstyle/*
vendor/anstyle-parse/*
- vendor/anstyle-wincon/*
Copyright: 2023 Ed Page <eopage@gmail.com>
License: MIT or Apache-2.0
@@ -444,6 +341,8 @@ License: MIT OR Apache-2.0
Comment: see https://github.com/djc/askama
Files:
+ extra/bitflags/*
+ extra/bitflags-1.3.*/*
vendor/bitflags/*
vendor/cc/*
vendor/cmake/*
@@ -473,8 +372,10 @@ Copyright: 2019-2023 Jacob Pratt <open-source@jhpratt.dev>
License: MIT OR Apache-2.0
Comment: see https://github.com/time-rs/time
-Files: vendor/core-foundation-sys/*
-Copyright: 2012-2022 The Servo Project Developers
+Files:
+ vendor/core-foundation/*
+ vendor/core-foundation-sys/*
+Copyright: 2012-2024 The Servo Project Developers
License: MIT or Apache-2.0
Comment: see https://github.com/servo/core-foundation-rs
@@ -516,6 +417,7 @@ Files:
vendor/cfg-if/*
vendor/filetime/*
vendor/flate2/*
+ vendor/flate2-1.0.*/*
vendor/fnv/*
vendor/jobserver/*
vendor/lzma-sys/*
@@ -587,6 +489,11 @@ Comment: see upstream projects,
* https://github.com/BurntSushi/aho-corasick
* https://github.com/BurntSushi/rust-memchr
+Files: vendor/arc-swap/*
+Copyright: 2018-2024 Michal 'vorner' Vaner <vorner@vorner.cz>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/vorner/arc-swap
+
Files: vendor/array_tool/*
Copyright: 2015-2018 Daniel P. Clark <6ftdan@gmail.com>
License: MIT OR Apache-2.0
@@ -606,30 +513,77 @@ Copyright: 2015-2022 The Rust Project Developers
License: MIT or Apache-2.0
Comment: see https://github.com/rust-lang/backtrace-rs
+Files: vendor/base64/*
+Copyright: 2015-2024 Alice Maz <alice@alicemaz.com>
+ 2015-2024 Marshall Pierce <marshall@mpierce.org>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/marshallpierce/rust-base64
+
Files: vendor/basic-toml/*
Copyright: 2014-2023 Alex Crichton <alex@alexcrichton.com>
2014-2023 David Tolnay <dtolnay@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/dtolnay/basic-toml
+Files: vendor/bitmaps/*
+Copyright: 2019-2024 Bodil Stokke <bodil@bodil.org>
+License: MPL-2.0+
+Comment: see https://github.com/bodil/bitmaps
+
Files:
+ vendor/base16ct/*
+ vendor/base64ct/*
vendor/block-buffer/*
+ vendor/const-oid/*
+ vendor/cpufeatures/*
+ vendor/crypto-bigint/*
+ vendor/crypto-common/*
+ vendor/der/*
vendor/digest/*
+ vendor/ecdsa/*
+ vendor/elliptic-curve/*
+ vendor/hkdf/*
+ vendor/hmac/*
vendor/md-5/*
+ vendor/p384/*
+ vendor/pem-rfc7468/*
+ vendor/pkcs8/*
+ vendor/rfc6979/*
+ vendor/sec1/*
vendor/sha1/*
vendor/sha2/*
-Copyright: 2016-2020 RustCrypto Developers
+ vendor/signature/*
+ vendor/spki/*
+ vendor/zeroize/*
+Copyright: 2015-2024 RustCrypto Developers
License: MIT or Apache-2.0
Comment:
+ see https://github.com/RustCrypto/elliptic-curves
+ see https://github.com/RustCrypto/formats
see https://github.com/RustCrypto/hashes
+ see https://github.com/RustCrypto/signatures
see https://github.com/RustCrypto/traits
see https://github.com/RustCrypto/utils
+ see https://github.com/RustCrypto/KDFs
+ see https://github.com/RustCrypto/MACs
-Files: vendor/bstr-0.*/*
-Copyright: 2018-2020 Andrew Gallant <jamslam@gmail.com>
+Files:
+ vendor/bstr/*
+ vendor/bstr-0.*/*
+Copyright: 2018-2024 Andrew Gallant <jamslam@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/BurntSushi/bstr
+Files: vendor/btoi/*
+Copyright: 2017-2023 Niklas Fiekas <niklas.fiekas@backscattering.de>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/niklasf/rust-btoi
+
+Files: vendor/bumpalo/*
+Copyright: 2018-2024 Nick Fitzgerald <fitzgen@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/fitzgen/bumpalo
+
Files: vendor/bytecount/*
Copyright: 2016-2020 Andre Bogus <bogusandre@gmail.de>
2016-2020 Joshua Landau <joshua@landau.ws>
@@ -641,13 +595,17 @@ Copyright: 2015-2023 Andrew Gallant <jamslam@gmail.com>
License: Unlicense OR MIT
Comment: see https://github.com/BurntSushi/byteorder
+Files: vendor/bytesize/*
+Copyright: 2015-2023 Hyunsik Choi <hyunsik.choi@gmail.com>
+License: Apache-2.0
+Comment: see https://github.com/hyunsik/bytesize/
+
Files:
vendor/globset/*
vendor/ignore/*
vendor/same-file/*
vendor/termcolor/*
vendor/walkdir/*
- vendor/winapi-util/*
Copyright: 2015-2020 Andrew Gallant <jamslam@gmail.com>
License: Unlicense or MIT
Comment:
@@ -713,6 +671,11 @@ Copyright: 2015-2022 Kevin K. <kbknapp@gmail.com>
License: MIT
Comment: see https://github.com/clap-rs/clap
+Files: vendor/clru/*
+Copyright: 2020-2023 marmeladema <xademax@gmail.com>
+License: MIT
+Comment: see https://github.com/marmeladema/clru-rs
+
Files: vendor/colored/*
Copyright: 2016-2020 Thomas Wickham <mackwic@gmail.com>
License: MPL-2.0
@@ -721,10 +684,17 @@ Comment: see https://github.com/mackwic/colored
Files:
vendor/concolor-override/*
vendor/concolor-query/*
-Copyright: 2021-2022 Ed Page <eopage@gmail.com>
+ vendor/concolor-query-0.1.*/*
+ vendor/concolor/*
+Copyright: 2021-2023 Ed Page <eopage@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/rust-cli/concolor
+Files: vendor/content_inspector/*
+Copyright: 2018-2018 David Peter <mail@david-peter.de>
+License: MIT or Apache-2.0
+Comment: see https://github.com/sharkdp/content_inspector
+
Files: vendor/convert_case/*
Copyright: 2020-2022 David Purdum <purdum41@gmail.com>
License: MIT
@@ -761,10 +731,17 @@ 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/ct-codecs/*
+Copyright: 2020-2022 Frank Denis <github@pureftpd.org>
+License: MIT
+Comment: see https://github.com/jedisct1/rust-ct-codecs
+
+Files:
+ vendor/curl/*
+ vendor/curl-sys/*
+Copyright: 2014-2024 Alex Crichton <alex@alexcrichton.com>
+License: MIT
+Comment: see https://github.com/alexcrichton/curl-rust
Files: vendor/dashmap/*
Copyright: 2019-2022 Acrimon <joel.wejdenstal@gmail.com>
@@ -814,6 +791,7 @@ Comment:
Files:
vendor/arrayvec/*
+ vendor/arrayvec-0.5.*/*
vendor/either/*
vendor/fixedbitset/*
vendor/itertools/*
@@ -856,6 +834,16 @@ Copyright: 2018-2020 Aleksey Kladov <aleksey.kladov@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/matklad/drop_bomb
+Files: vendor/dunce/*
+Copyright: 2017-2023 Kornel <kornel@geekhood.net>
+License: CC0-1.0
+Comment: see https://gitlab.com/kornelski/dunce
+
+Files: vendor/ed25519-compact/*
+Copyright: 2020-2024 Frank Denis <github@pureftpd.org>
+License: MIT
+Comment: see https://github.com/jedisct1/rust-ed25519-compact
+
Files: vendor/elasticlunr-rs/*
Copyright: 2017-2018 Matt Ickstadt <mattico8@gmail.com>
License: MIT or Apache-2.0
@@ -903,6 +891,17 @@ Copyright: 2019-2022 Yoshua Wuyts <yoshuawuyts@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/yoshuawuyts/fd-lock
+Files: vendor/ff/*
+Copyright: 2017-2023 Sean Bowe <ewillbefull@gmail.com>
+ 2017-2023 Jack Grigg <thestr4d@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/zkcrypto/ff
+
+Files: vendor/fiat-crypto/*
+Copyright: 2015-2024 Fiat Crypto library authors <jgross@mit.edu>
+License: MIT OR Apache-2.0 OR BSD-1-Clause-fiat-crypto
+Comment: see https://github.com/mit-plv/fiat-crypto
+
Files:
vendor/fluent-bundle/*
vendor/fluent-syntax/*
@@ -918,6 +917,13 @@ Copyright: 2017-2021 Zibi Braniecki <gandalf@mozilla.com>
License: Apache-2.0
Comment: see https://github.com/projectfluent/fluent-langneg-rs
+Files:
+ vendor/foreign-types/*
+ vendor/foreign-types-shared/*
+Copyright: 2017-2023 Steven Fackler <sfackler@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/sfackler/foreign-types
+
Files: vendor/fortanix-sgx-abi/*
Copyright: 2015-2019 Jethro Beekman <jethro@fortanix.com>
License: MPL-2.0
@@ -950,12 +956,75 @@ Copyright:
License: Apache-2.0 or MIT
Comment: see https://github.com/gimli-rs/gimli
+
+Files:
+ extra/git2/*
+ extra/git2-curl/*
+ extra/libgit2-sys/*
+ vendor/git2/*
+ vendor/git2-curl/*
+ vendor/libgit2-sys/*
+Copyright: 2014-2024 Josh Triplett <josh@joshtriplett.org>
+ 2014-2024 Alex Crichton <alex@alexcrichton.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/rust-lang/git2-rs
+
+Files:
+ vendor/gix/*
+ vendor/gix-actor/*
+ vendor/gix-attributes/*
+ vendor/gix-bitmap/*
+ vendor/gix-chunk/*
+ vendor/gix-command/*
+ vendor/gix-config/*
+ vendor/gix-config-value/*
+ vendor/gix-credentials/*
+ vendor/gix-date/*
+ vendor/gix-diff/*
+ vendor/gix-discover/*
+ vendor/gix-features/*
+ vendor/gix-glob/*
+ vendor/gix-hash/*
+ vendor/gix-hashtable/*
+ vendor/gix-index/*
+ vendor/gix-lock/*
+ vendor/gix-mailmap/*
+ vendor/gix-object/*
+ vendor/gix-odb/*
+ vendor/gix-pack/*
+ vendor/gix-packetline/*
+ vendor/gix-path/*
+ vendor/gix-prompt/*
+ vendor/gix-protocol/*
+ vendor/gix-quote/*
+ vendor/gix-ref/*
+ vendor/gix-refspec/*
+ vendor/gix-revision/*
+ vendor/gix-sec/*
+ vendor/gix-tempfile/*
+ vendor/gix-transport/*
+ vendor/gix-traverse/*
+ vendor/gix-url/*
+ vendor/gix-validate/*
+ vendor/gix-worktree/*
+Copyright: 2018-2024 Sebastian Thiel <sebastian.thiel@icloud.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/Byron/gitoxide
+
+Files: vendor/group/*
+Copyright: 2018-2023 Sean Bowe <ewillbefull@gmail.com>
+ 2018-2023 Jack Grigg <jack@z.cash>
+License: MIT or Apache-2.0
+Comment: see https://github.com/zkcrypto/group
+
Files: vendor/gsgdt/*
Copyright: 2020 Vishnunarayan K I <appukuttancr@gmail.com>
License: MIT or Apache-2.0
Comment: see https://github.com/vn-ki/gsgdt-rs
-Files: vendor/handlebars/*
+Files:
+ vendor/handlebars/*
+ vendor/handlebars-3.5.*/*
Copyright: 2014-2017 Ning Sun <sunng@about.me>
License: MIT
Comment: see https://github.com/sunng87/handlebars-rust
@@ -989,6 +1058,11 @@ Copyright: 2014-2020 The html5ever Project Developers
License: MIT or Apache-2.0
Comment: see https://github.com/servo/html5ever
+Files: vendor/http-auth/*
+Copyright: 2021-2023 Scott Lamp <slamb@slamb.org>
+License: MIT or Apache-2.0
+Comment: see https://github.com/scottlamb/http-auth
+
Files:
vendor/humantime/*
vendor/humantime-*/*
@@ -1013,6 +1087,16 @@ Copyright: 2013-2021 The rust-url developers
License: MIT or Apache-2.0
Comment: see https://github.com/servo/rust-url/
+Files: vendor/imara-diff/*
+Copyright: 2022-2023 pascalkuthe <pascalkuthe@semimod.de>
+License: Apache-2.0
+Comment: see https://github.com/pascalkuthe/imara-diff
+
+Files: vendor/im-rc/*
+Copyright: 2017-2022 Bodil Stokke <bodil@bodil.org>
+License: MPL-2.0+
+Comment: see https://github.com/bodil/im-rs
+
Files: vendor/indexmap/*
Copyright: 2016-2019 bluss
2016-2019 Josh Stone <cuviper@gmail.com>
@@ -1036,6 +1120,11 @@ Copyright: 2018-2021 Kekoa Riggin <kekoariggin@gmail.com>
License: Apache-2.0 or MIT
Comment: see https://github.com/zbraniecki/pluralrules
+Files: vendor/io-close/*
+Copyright: 2020-2021 wufz
+License: MIT OR Apache-2.0
+Comment: see https://gitlab.com/wufz/io-close
+
Files: vendor/io-lifetimes/*
Copyright: 2021-2022 Dan Gohman <dev@sunfishcode.online>
License: Apache-2.0 with LLVM exception OR Apache-2.0 OR MIT
@@ -1047,16 +1136,25 @@ Copyright: 2022-2023 softprops <d.tangren@gmail.com>
License: MIT
Comment: see https://github.com/sunfishcode/is-terminal
+Files:
+ vendor/js-sys/*
+ vendor/wasm-bindgen/*
+ vendor/wasm-bindgen-backend/*
+ vendor/wasm-bindgen-macro-support/*
+ vendor/wasm-bindgen-macro/*
+ vendor/wasm-bindgen-shared/*
+Copyright:
+ 2018-2023 The wasm-bindgen Developers
+ 2014-2023 Alex Crichton
+License: MIT or Apache-2.0
+Comment:
+ see https://github.com/rustwasm/wasm-bindgen/tee/master/crates/js-sys
+
Files: vendor/jsonpath_lib/*
Copyright: 2018-2021 Changseok Han <freestrings@gmail.com>
License: MIT
Comment: see https://github.com/freestrings/jsonpath
-Files: vendor/junction/*
-Copyright: 2019-2023 Lzu Tao <taolzu@gmail.com>
-License: MIT
-Comment: see https://github.com/lzutao/junction
-
Files: vendor/lazycell/*
Copyright: 2016-2020 Alex Crichton <alex@alexcrichton.com>
2016-2020 Nikita Pekin <contact@nikitapek.in>
@@ -1080,6 +1178,19 @@ Copyright: 2018-2021 Jorge Aparicio <jorge@japaric.io>
License: MIT OR Apache-2.0
Comment: see https://github.com/rust-lang-nursery/libm
+Files: vendor/libssh2-sys/*
+Copyright: 2014-2024 Alex Crichton <alex@alexcrichton.com>
+ 2014-2024 Wez Furlong <wez@wezfurlong.org>
+ 2014-2024 Matteo Bigoi <bigo@crisidev.org>
+License: MIT or Apache-2.0
+Comment: see https://github.com/alexcrichton/ssh2-rs
+
+Files: vendor/libz-sys/*
+Copyright: 2014-2024 Alex Crichton <alex@alexcrichton.com>
+ 2014-2024 Josh Triplett <josh@joshtriplett.org>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/rust-lang/libz-sys
+
Files:
vendor/linux-raw-sys/*
vendor/linux-raw-sys-0.*/*
@@ -1104,6 +1215,11 @@ Copyright: 2019-2019 Eliza Weisman <eliza@buoyant.io>
License: MIT
Comment: see https://github.com/hawkw/matchers
+Files: vendor/maybe-async/*
+Copyright: 2020-2024 Guoli Lyu <guoli-lv@hotmail.com>
+License: MIT
+Comment: see https://github.com/fMeow/maybe-async-rs
+
Files: vendor/mdbook/*
Copyright: 2015-2017 Mathieu David <mathieudavid@mathieudavid.org>
License: MPL-2.0
@@ -1153,23 +1269,31 @@ Copyright: 2017-2020 Frommi <daniil.liferenko@gmail.com>
License: MIT
Comment: see https://github.com/Frommi/miniz_oxide
-Files:
- vendor/miow/*
- vendor/miow-0.3.7/*
-Copyright: 2014-2021 Alex Crichton <alex@alexcrichton.com>
-License: MIT or Apache-2.0
-Comment: see https://github.com/yoshuawuyts/miow
-
Files: vendor/new_debug_unreachable/*
Copyright: 2014-2018 Matt Brubeck <mbrubeck@limpet.net>
2014-2018 Jonathan Reem <jonathan.reem@gmail.com>
License: MIT
Comment: see https://github.com/mbrubeck/rust-debug-unreachable
-Files: vendor/ntapi/*
-Copyright: 2018-2022 MSxDOS <melcodos@gmail.com>
-License: Apache-2.0 OR MIT
-Comment: see https://github.com/MSxDOS/ntapi
+Files: vendor/nix/*
+Copyright: 2014-2024 The nix-rust Project Developers
+License: MIT
+Comment: see https://github.com/nix-rust/nix
+
+Files: vendor/nom8/*
+Copyright: 2014-2024 UNKNOWN AUTHORS
+License: MIT
+Comment: see https://github.com/epage/nom-experimental
+
+Files: vendor/normalize-line-endings/*
+Copyright: 2016-2018 Richard Dodd <richdodj@gmail.com>
+License: Apache-2.0
+Comment: see https://github.com/derekdreery/normalize-line-endings
+
+Files: vendor/num_threads/*
+Copyright: 2021-2024 Jacob Pratt <open-source@jhpratt.dev>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/jhpratt/num_threads
Files: vendor/nu-ansi-term/*
Copyright: 2014-2023 ogham@bsago.me
@@ -1198,26 +1322,59 @@ Copyright: 2021 Michael Woerister <michaelwoerister@posteo>
License: Apache-2.0 or MIT
Comment: see https://github.com/rust-lang/odht
+Files: vendor/once_cell/*
+Copyright: 2018-2019 Aleksey Kladov <aleksey.kladov@gmail.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/matklad/once_cell
+
Files: vendor/opener/*
Copyright: 2018-2020 Brian Bowman <seeker14491@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/Seeker14491/opener
-Files: vendor/once_cell/*
-Copyright: 2018-2019 Aleksey Kladov <aleksey.kladov@gmail.com>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/matklad/once_cell
+Files: vendor/openssl/*
+Copyright: 2011-2024 Steven Fackler <sfackler@gmail.com>
+License: Apache-2.0
+Comment: see https://github.com/sfackler/rust-openssl
+
+Files: vendor/openssl-macros/*
+Copyright: 2022-2024 Steven Fackler <sfackler@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/sfackler/rust-openssl
+
+Files: vendor/openssl-probe/*
+Copyright: 2016-2022 Alex Crichton <alex@alexcrichton.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/sfackler/rust-openssl
+
+Files: vendor/openssl-sys/*
+Copyright: 2011-2024 Alex Crichton <alex@alexcrichton.com>
+ 2011-2024 Steven Fackler <sfackler@gmail.com>
+License: MIT
+Comment: see https://github.com/sfackler/rust-openssl
+
+Files: vendor/ordered-float/*
+Copyright: 2014-2024 Jonathan Reem <jonathan.reem@gmail.com>
+ 2014-2024 Matt Brubeck <mbrubeck@limpet.net>
+License: MIT
+Comment: see https://github.com/reem/rust-ordered-float
+
+Files: vendor/orion/*
+Copyright: 2018-2024 brycx <brycx@protonmail.com>
+License: MIT
+Comment: see https://github.com/orion-rs/orion
+
+Files: vendor/os_info/*
+Copyright: 2015-2024 Jan Schulte <hello@unexpected-co.de>
+ 2015-2024 Stanislav Tkach <stanislav.tkach@gmail.com>
+License: MIT
+Comment: see https://github.com/stanislav-tkach/os_info
Files: vendor/os_str_bytes/*
Copyright: 2019-2022 dylni
License: MIT OR Apache-2.0
Comment: see https://github.com/dylni/os_str_bytes
-Files: vendor/output_vt100/*
-Copyright: 2019-2019 Phuntsok Drak-pa <phundrak@phundrak.fr>
-License: MIT
-Comment: see https://github.com/Phundrak/output-vt100-rs
-
Files: vendor/overload/*
Copyright: 2019-2022 Daniel Salvadori <danaugrs@gmail.com>
License: MIT
@@ -1245,6 +1402,11 @@ Copyright: 2018-2021 Gonzalo Brito Gadeschi <gonzalobg88@gmail.com>
License: MIT or Apache-2.0
Comment: see https://github.com/rust-lang-nursery/packed_simd
+Files: vendor/pasetors/*
+Copyright: 2020-2024 brycx <brycx@protonmail.com>
+License: MIT
+Comment: see https://github.com/brycx/pasetors
+
Files: vendor/pathdiff/*
Copyright: 2017-2020 Manish Goregaokar <manishsmail@gmail.com>
License: MIT or Apache-2.0
@@ -1307,6 +1469,11 @@ Copyright: 2017-2022 Colin Kiegel <kiegel@gmx.de>
License: MIT or Apache-2.0
Comment: see https://github.com/colin-kiegel/rust-pretty-assertions
+Files: vendor/pretty_env_logger/*
+Copyright: 2016-2023 Sean McArthur <sean@seanmonstar>
+License: MIT or Apache-2.0
+Comment: see https://github.com/seanmonstar/pretty-env-logger
+
Files:
vendor/proc-macro-error/*
vendor/proc-macro-error-attr/*
@@ -1319,6 +1486,11 @@ Copyright: 2016-2022 David Tolnay <dtolnay@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/dtolnay/proc-macro-hack
+Files: vendor/prodash/*
+Copyright: 2020-2023 Sebastian Thiel <sebastian.thiel@icloud.com>
+License: MIT
+Comment: see https://github.com/Byron/prodash
+
Files: vendor/psm/*
Copyright: 2015-2020 Simonas Kazlauskas <git@kazlauskas.me>
License: MIT or Apache-2.0
@@ -1336,9 +1508,10 @@ Comment: see https://github.com/mcarton/rust-punycode.git
Files:
vendor/quick-error-1.*/*
+ vendor/quick-error/*
Copyright:
- 2015-2020 Paul Colomiets <paul@colomiets.name>
- 2015-2020 Colin Kiegel <kiegel@gmx.de>
+ 2015-2023 Paul Colomiets <paul@colomiets.name>
+ 2015-2023 Colin Kiegel <kiegel@gmx.de>
License: MIT or Apache-2.0
Comment: see http://github.com/tailhook/quick-error
@@ -1462,11 +1635,33 @@ Copyright: 2014-2017 Erick Tryzelaar <erick.tryzelaar@gmail.com>
License: MIT or Apache-2.0
Comment: see https://github.com/serde-rs/serde
+Files: vendor/serde_ignored/*
+Copyright: 2017-2024 David Tolnay <dtolnay@gmail.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/dtolnay/serde-ignored
+
Files: vendor/serde_repr/*
Copyright: 2019-2022 David Tolnay <dtolnay@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/dtolnay/serde-repr
+Files: vendor/serde_spanned/*
+Copyright:
+ 2014-2023 Alex Crichton <alex@alexcrichton.com>
+ 2023 Ed Page <eopage@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/toml-rs/toml
+
+Files: vendor/serde-value/*
+Copyright: 2016-2020 arcnmx
+License: MIT
+Comment: see https://github.com/arcnmx/serde-value
+
+Files: vendor/sha1_smol/*
+Copyright: 2014-2022 Armin Ronacher <armin.ronacher@active-4.com>
+License: BSD-3-Clause
+Comment: see https://github.com/mitsuhiko/sha1-smol
+
Files: vendor/sharded-slab/*
Copyright: 2019-2020 Eliza Weisman <eliza@buoyant.io>
License: MIT
@@ -1482,11 +1677,31 @@ Copyright: 2015-2015 comex <comexk@gmail.com>
License: MIT or Apache-2.0
Comment: see https://github.com/comex/rust-shlex
+Files:
+ vendor/signal-hook/*
+ vendor/signal-hook-registry/*
+Copyright: 2018-2024 Michal 'vorner' Vaner <vorner@vorner.cz>
+ 2018-2024 Thomas Himmelstoss <thimm@posteo.de>
+License: Apache-2.0 or MIT
+Comment: see https://github.com/vorner/signal-hook
+
+Files: vendor/similar/*
+Copyright: 2021-2024 Armin Ronacher <armin.ronacher@active-4.com>
+ 2021-2024 Pierre-Étienne Meunier <pe@pijul.org>
+ 2021-2024 Brandon Williams <bwilliams.eng@gmail.com>
+License: Apache-2.0
+Comment: see https://github.com/mitsuhiko/similar
+
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/sized-chunks/*
+Copyright: 2019-2022 Bodil Stokke <bodil@bodil.org>
+License: MPL-2.0+
+Comment: see https://github.com/bodil/sized-chunks
+
Files: vendor/smallvec/*
Copyright: 2015-2020 Simon Sapin <simon.sapin@exyr.org>
License: MPL-2.0
@@ -1503,6 +1718,19 @@ License: BSD-3-Clause
Comment: see https://github.com/BurntSushi/rust-snappy
Files:
+ vendor/snapbox/*
+ vendor/snapbox-macros/*
+Copyright: Ed Page <eopage@gmail.com> 2022
+License: MIT OR Apache-2.0
+Comment: see https://github.com/assert-rs/trycmd/
+
+Files: vendor/socket2/*
+Copyright: 2017-2024 Alex Crichton <alex@alexcrichton.com>
+ 2017-2024 Thomas de Zeeuw <thomasdezeeuw@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/rust-lang/socket2
+
+Files:
vendor/spdx-expression/*
vendor/spdx-rs/*
Copyright: 2021-2022 Mikko Murto <mikko.murto@hhpartners.fi>
@@ -1527,6 +1755,11 @@ Copyright: 2017-2020 Nikolai Vazquez
License: MIT OR Apache-2.0
Comment: see https://github.com/nvzqz/static-assertions-rs
+Files: vendor/strip-ansi-escapes/*
+Copyright: 2017-2023 Ted Mielczarek <ted@mielczarek.org>
+License: Apache-2.0 or MIT
+Comment: see https://github.com/luser/strip-ansi-escapes
+
Files: vendor/strsim/*
Copyright: 2015-2021 Danny Guo <dannyguo91@gmail.com>
License: MIT
@@ -1539,6 +1772,12 @@ Copyright: 2017-2023 Peter Glotfelty <peter.glotfelty@microsoft.com>
License: MIT
Comment: see https://github.com/Peternator7/strum
+Files: vendor/subtle/*
+Copyright: 2017-2023 Isis Lovecruft <isis@patternsinthevoid.net>
+ 2017-2023 Henry de Valence <hdevalence@hdevalence.ca>
+License: BSD-3-Clause
+Comment: see https://github.com/dalek-cryptography/subtle
+
Files:
vendor/synstructure/*
vendor/synstructure-0.*/*
@@ -1625,6 +1864,12 @@ Copyright: 2019-2022 Raph Levien <raph.levien@gmail.com>
License: Apache-2.0 or MIT
Comment: see https://github.com/zbraniecki/tinystr
+Files: vendor/time-macros/*
+Copyright: 2019-2024 Jacob Pratt <open-source@jhpratt.dev>
+ 2019-2024 Time contributors
+License: MIT OR Apache-2.0
+Comment: see https://github.com/time-rs/time
+
Files: vendor/tinyvec/*
Copyright: 2020 Lokathor <zefria@gmail.com>
License: Zlib
@@ -1640,6 +1885,22 @@ 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/toml/*
+Copyright: 2014-2024 Alex Crichton <alex@alexcrichton.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/toml-rs/toml
+
+Files: vendor/toml_datetime/*
+Copyright: 2014-2024 Alex Crichton <alex@alexcrichton.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/toml-rs/toml
+
+Files: vendor/toml_edit/*
+Copyright: 2014-2024 Andronik Ordian <write@reusable.software>
+ 2014-2024 Ed Page <eopage@gmail.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/ordian/toml_edit
+
Files:
vendor/tracing/*
vendor/tracing-attributes/*
@@ -1675,11 +1936,32 @@ Copyright: 2015-2019 Paho Lurie-Gregg <paho@paholg.com>
License: MIT or Apache-2.0
Comment: see https://github.com/paholg/typenum
+Files: vendor/unicode-bom/*
+Copyright: 2018-2023 Phil Booth <pmbooth@gmail.com>
+License: Apache-2.0
+Comment: see https://gitlab.com/philbooth/unicode-bom
+
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
+Files: vendor/vcpkg/*
+Copyright: 2017-2024 Jim McGrath <jimmc2@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/mcgoo/vcpkg-rs
+
+Files: vendor/vte/*
+Copyright: 2016-2024 Joe Wilm <joe@jwilm.com>
+ 2016-2024 Christian Duerr <contact@christianduerr.com>
+License: Apache-2.0 OR MIT
+Comment: see https://github.com/alacritty/vte
+
+Files: vendor/vte_generate_state_changes/*
+Copyright: 2016-2024 Christian Duerr <contact@christianduerr.com>
+License: Apache-2.0 OR MIT
+Comment: see https://github.com/jwilm/vte
+
Files:
vendor/ucd-parse/*
vendor/ucd-trie/*
@@ -1803,16 +2085,6 @@ Copyright: 2015-2022 Carl Lerche <me@carllerche.com>
License: MIT
Comment: see https://github.com/tokio-rs/bytes
-Files: vendor/cpufeatures/*
-Copyright: 2016-2022 RustCrypto Developers
-License: MIT OR Apache-2.0
-Comment: see https://github.com/RustCrypto/utils
-
-Files: vendor/crypto-common/*
-Copyright: 2017-2022 RustCrypto Developers
-License: MIT OR Apache-2.0
-Comment: see https://github.com/RustCrypto/traits
-
Files:
vendor/futures/*
vendor/futures-channel/*
@@ -1863,22 +2135,6 @@ Copyright:
License: MIT
Comment: see https://github.com/tokio-rs/valuable
-Files:
- vendor/windows/*
- vendor/windows-sys/*
- vendor/windows-sys-0.*/*
- vendor/windows-targets/*
- vendor/windows_aarch64_gnullvm/*
- vendor/windows_aarch64_msvc/*
- vendor/windows_i686_gnu/*
- vendor/windows_i686_msvc/*
- vendor/windows_x86_64_gnu/*
- vendor/windows_x86_64_gnullvm/*
- vendor/windows_x86_64_msvc/*
-Copyright: 2019-2023 Microsoft Corporation
-License: MIT OR Apache-2.0
-Comment: see https://github.com/microsoft/windows-rs
-
Files: vendor/write-json/*
Copyright: 2020-2020 Aleksey Kladov <aleksey.kladov@gmail.com>
License: MIT OR Apache-2.0
@@ -2687,3 +2943,27 @@ License: Unicode-Data-Files-and-Software-License
shall not be used in advertising or otherwise to promote the sale,
use or other dealings in these Data Files or Software without prior
written authorization of the copyright holder.
+
+License: BSD-1-Clause-fiat-crypto
+ Copyright (c) 2015-2020 the fiat-crypto authors (see the AUTHORS file)
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ .
+ THIS SOFTWARE IS PROVIDED BY the fiat-crypto authors "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Berkeley Software Design,
+ Inc. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
diff --git a/debian/gbp.conf b/debian/gbp.conf
index d568e69c4..a1da765a3 100644
--- a/debian/gbp.conf
+++ b/debian/gbp.conf
@@ -1,6 +1,7 @@
[DEFAULT]
pristine-tar = True
ignore-branch = True
+component = extra
[import-orig]
upstream-branch = upstream/experimental
diff --git a/debian/lintian-to-copyright.sh b/debian/lintian-to-copyright.sh
index 9a766da35..866e31bcd 100755
--- a/debian/lintian-to-copyright.sh
+++ b/debian/lintian-to-copyright.sh
@@ -1,5 +1,5 @@
#!/bin/sh
# Pipe the output of lintian into this.
sed -ne 's/.* file-without-copyright-information //p' | cut -d/ -f1-2 | sort -u | while read x; do
- /usr/share/cargo/scripts/guess-crate-copyright "$x"
+ debian/scripts/guess-crate-copyright "$x"
done
diff --git a/debian/missing-sources/prism.js b/debian/missing-sources/prism.js
new file mode 100644
index 000000000..b3ff71fcc
--- /dev/null
+++ b/debian/missing-sources/prism.js
@@ -0,0 +1,599 @@
+/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript */
+var _self = (typeof window !== 'undefined')
+ ? window // if in browser
+ : (
+ (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)
+ ? self // if in worker
+ : {} // if in node js
+ );
+
+/**
+ * Prism: Lightweight, robust, elegant syntax highlighting
+ * MIT license http://www.opensource.org/licenses/mit-license.php/
+ * @author Lea Verou http://lea.verou.me
+ */
+
+var Prism = (function(){
+
+// Private helper vars
+var lang = /\blang(?:uage)?-(?!\*)(\w+)\b/i;
+
+var _ = _self.Prism = {
+ util: {
+ encode: function (tokens) {
+ if (tokens instanceof Token) {
+ return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);
+ } else if (_.util.type(tokens) === 'Array') {
+ return tokens.map(_.util.encode);
+ } else {
+ return tokens.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/\u00a0/g, ' ');
+ }
+ },
+
+ type: function (o) {
+ return Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
+ },
+
+ // Deep clone a language definition (e.g. to extend it)
+ clone: function (o) {
+ var type = _.util.type(o);
+
+ switch (type) {
+ case 'Object':
+ var clone = {};
+
+ for (var key in o) {
+ if (o.hasOwnProperty(key)) {
+ clone[key] = _.util.clone(o[key]);
+ }
+ }
+
+ return clone;
+
+ case 'Array':
+ // Check for existence for IE8
+ return o.map && o.map(function(v) { return _.util.clone(v); });
+ }
+
+ return o;
+ }
+ },
+
+ languages: {
+ extend: function (id, redef) {
+ var lang = _.util.clone(_.languages[id]);
+
+ for (var key in redef) {
+ lang[key] = redef[key];
+ }
+
+ return lang;
+ },
+
+ /**
+ * Insert a token before another token in a language literal
+ * As this needs to recreate the object (we cannot actually insert before keys in object literals),
+ * we cannot just provide an object, we need anobject and a key.
+ * @param inside The key (or language id) of the parent
+ * @param before The key to insert before. If not provided, the function appends instead.
+ * @param insert Object with the key/value pairs to insert
+ * @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted.
+ */
+ insertBefore: function (inside, before, insert, root) {
+ root = root || _.languages;
+ var grammar = root[inside];
+
+ if (arguments.length == 2) {
+ insert = arguments[1];
+
+ for (var newToken in insert) {
+ if (insert.hasOwnProperty(newToken)) {
+ grammar[newToken] = insert[newToken];
+ }
+ }
+
+ return grammar;
+ }
+
+ var ret = {};
+
+ for (var token in grammar) {
+
+ if (grammar.hasOwnProperty(token)) {
+
+ if (token == before) {
+
+ for (var newToken in insert) {
+
+ if (insert.hasOwnProperty(newToken)) {
+ ret[newToken] = insert[newToken];
+ }
+ }
+ }
+
+ ret[token] = grammar[token];
+ }
+ }
+
+ // Update references in other language definitions
+ _.languages.DFS(_.languages, function(key, value) {
+ if (value === root[inside] && key != inside) {
+ this[key] = ret;
+ }
+ });
+
+ return root[inside] = ret;
+ },
+
+ // Traverse a language definition with Depth First Search
+ DFS: function(o, callback, type) {
+ for (var i in o) {
+ if (o.hasOwnProperty(i)) {
+ callback.call(o, i, o[i], type || i);
+
+ if (_.util.type(o[i]) === 'Object') {
+ _.languages.DFS(o[i], callback);
+ }
+ else if (_.util.type(o[i]) === 'Array') {
+ _.languages.DFS(o[i], callback, i);
+ }
+ }
+ }
+ }
+ },
+
+ highlightAll: function(async, callback) {
+ var elements = document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');
+
+ for (var i=0, element; element = elements[i++];) {
+ _.highlightElement(element, async === true, callback);
+ }
+ },
+
+ highlightElement: function(element, async, callback) {
+ // Find language
+ var language, grammar, parent = element;
+
+ while (parent && !lang.test(parent.className)) {
+ parent = parent.parentNode;
+ }
+
+ if (parent) {
+ language = (parent.className.match(lang) || [,''])[1];
+ grammar = _.languages[language];
+ }
+
+ // Set language on the element, if not present
+ element.className = element.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language;
+
+ // Set language on the parent, for styling
+ parent = element.parentNode;
+
+ if (/pre/i.test(parent.nodeName)) {
+ parent.className = parent.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language;
+ }
+
+ if (!grammar) {
+ return;
+ }
+
+ var code = element.textContent;
+
+ if(!code) {
+ return;
+ }
+
+ code = code.replace(/^(?:\r?\n|\r)/,'');
+
+ var env = {
+ element: element,
+ language: language,
+ grammar: grammar,
+ code: code
+ };
+
+ _.hooks.run('before-highlight', env);
+
+ if (async && _self.Worker) {
+ var worker = new Worker(_.filename);
+
+ worker.onmessage = function(evt) {
+ env.highlightedCode = Token.stringify(JSON.parse(evt.data), language);
+
+ _.hooks.run('before-insert', env);
+
+ env.element.innerHTML = env.highlightedCode;
+
+ callback && callback.call(env.element);
+ _.hooks.run('after-highlight', env);
+ };
+
+ worker.postMessage(JSON.stringify({
+ language: env.language,
+ code: env.code
+ }));
+ }
+ else {
+ env.highlightedCode = _.highlight(env.code, env.grammar, env.language);
+
+ _.hooks.run('before-insert', env);
+
+ env.element.innerHTML = env.highlightedCode;
+
+ callback && callback.call(element);
+
+ _.hooks.run('after-highlight', env);
+ }
+ },
+
+ highlight: function (text, grammar, language) {
+ var tokens = _.tokenize(text, grammar);
+ return Token.stringify(_.util.encode(tokens), language);
+ },
+
+ tokenize: function(text, grammar, language) {
+ var Token = _.Token;
+
+ var strarr = [text];
+
+ var rest = grammar.rest;
+
+ if (rest) {
+ for (var token in rest) {
+ grammar[token] = rest[token];
+ }
+
+ delete grammar.rest;
+ }
+
+ tokenloop: for (var token in grammar) {
+ if(!grammar.hasOwnProperty(token) || !grammar[token]) {
+ continue;
+ }
+
+ var patterns = grammar[token];
+ patterns = (_.util.type(patterns) === "Array") ? patterns : [patterns];
+
+ for (var j = 0; j < patterns.length; ++j) {
+ var pattern = patterns[j],
+ inside = pattern.inside,
+ lookbehind = !!pattern.lookbehind,
+ lookbehindLength = 0,
+ alias = pattern.alias;
+
+ pattern = pattern.pattern || pattern;
+
+ for (var i=0; i<strarr.length; i++) { // Don’t cache length as it changes during the loop
+
+ var str = strarr[i];
+
+ if (strarr.length > text.length) {
+ // Something went terribly wrong, ABORT, ABORT!
+ break tokenloop;
+ }
+
+ if (str instanceof Token) {
+ continue;
+ }
+
+ pattern.lastIndex = 0;
+
+ var match = pattern.exec(str);
+
+ if (match) {
+ if(lookbehind) {
+ lookbehindLength = match[1].length;
+ }
+
+ var from = match.index - 1 + lookbehindLength,
+ match = match[0].slice(lookbehindLength),
+ len = match.length,
+ to = from + len,
+ before = str.slice(0, from + 1),
+ after = str.slice(to + 1);
+
+ var args = [i, 1];
+
+ if (before) {
+ args.push(before);
+ }
+
+ var wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias);
+
+ args.push(wrapped);
+
+ if (after) {
+ args.push(after);
+ }
+
+ Array.prototype.splice.apply(strarr, args);
+ }
+ }
+ }
+ }
+
+ return strarr;
+ },
+
+ hooks: {
+ all: {},
+
+ add: function (name, callback) {
+ var hooks = _.hooks.all;
+
+ hooks[name] = hooks[name] || [];
+
+ hooks[name].push(callback);
+ },
+
+ run: function (name, env) {
+ var callbacks = _.hooks.all[name];
+
+ if (!callbacks || !callbacks.length) {
+ return;
+ }
+
+ for (var i=0, callback; callback = callbacks[i++];) {
+ callback(env);
+ }
+ }
+ }
+};
+
+var Token = _.Token = function(type, content, alias) {
+ this.type = type;
+ this.content = content;
+ this.alias = alias;
+};
+
+Token.stringify = function(o, language, parent) {
+ if (typeof o == 'string') {
+ return o;
+ }
+
+ if (_.util.type(o) === 'Array') {
+ return o.map(function(element) {
+ return Token.stringify(element, language, o);
+ }).join('');
+ }
+
+ var env = {
+ type: o.type,
+ content: Token.stringify(o.content, language, parent),
+ tag: 'span',
+ classes: ['token', o.type],
+ attributes: {},
+ language: language,
+ parent: parent
+ };
+
+ if (env.type == 'comment') {
+ env.attributes['spellcheck'] = 'true';
+ }
+
+ if (o.alias) {
+ var aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias];
+ Array.prototype.push.apply(env.classes, aliases);
+ }
+
+ _.hooks.run('wrap', env);
+
+ var attributes = '';
+
+ for (var name in env.attributes) {
+ attributes += name + '="' + (env.attributes[name] || '') + '"';
+ }
+
+ return '<' + env.tag + ' class="' + env.classes.join(' ') + '" ' + attributes + '>' + env.content + '</' + env.tag + '>';
+
+};
+
+if (!_self.document) {
+ if (!_self.addEventListener) {
+ // in Node.js
+ return _self.Prism;
+ }
+ // In worker
+ _self.addEventListener('message', function(evt) {
+ var message = JSON.parse(evt.data),
+ lang = message.language,
+ code = message.code;
+
+ _self.postMessage(JSON.stringify(_.util.encode(_.tokenize(code, _.languages[lang]))));
+ _self.close();
+ }, false);
+
+ return _self.Prism;
+}
+
+// Get current script and highlight
+var script = document.getElementsByTagName('script');
+
+script = script[script.length - 1];
+
+if (script) {
+ _.filename = script.src;
+
+ if (document.addEventListener && !script.hasAttribute('data-manual')) {
+ document.addEventListener('DOMContentLoaded', _.highlightAll);
+ }
+}
+
+return _self.Prism;
+
+})();
+
+if (typeof module !== 'undefined' && module.exports) {
+ module.exports = Prism;
+}
+;
+Prism.languages.markup = {
+ 'comment': /<!--[\w\W]*?-->/,
+ 'prolog': /<\?[\w\W]+?\?>/,
+ 'doctype': /<!DOCTYPE[\w\W]+?>/,
+ 'cdata': /<!\[CDATA\[[\w\W]*?]]>/i,
+ 'tag': {
+ pattern: /<\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,
+ inside: {
+ 'tag': {
+ pattern: /^<\/?[^\s>\/]+/i,
+ inside: {
+ 'punctuation': /^<\/?/,
+ 'namespace': /^[^\s>\/:]+:/
+ }
+ },
+ 'attr-value': {
+ pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,
+ inside: {
+ 'punctuation': /[=>"']/
+ }
+ },
+ 'punctuation': /\/?>/,
+ 'attr-name': {
+ pattern: /[^\s>\/]+/,
+ inside: {
+ 'namespace': /^[^\s>\/:]+:/
+ }
+ }
+
+ }
+ },
+ 'entity': /&#?[\da-z]{1,8};/i
+};
+
+// Plugin to make entity title show the real entity, idea by Roman Komarov
+Prism.hooks.add('wrap', function(env) {
+
+ if (env.type === 'entity') {
+ env.attributes['title'] = env.content.replace(/&amp;/, '&');
+ }
+});
+;
+Prism.languages.css = {
+ 'comment': /\/\*[\w\W]*?\*\//,
+ 'atrule': {
+ pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
+ inside: {
+ 'rule': /@[\w-]+/
+ // See rest below
+ }
+ },
+ 'url': /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
+ 'selector': /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
+ 'string': /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,
+ 'property': /(\b|\B)[\w-]+(?=\s*:)/i,
+ 'important': /\B!important\b/i,
+ 'function': /[-a-z0-9]+(?=\()/i,
+ 'punctuation': /[(){};:]/
+};
+
+Prism.languages.css['atrule'].inside.rest = Prism.util.clone(Prism.languages.css);
+
+if (Prism.languages.markup) {
+ Prism.languages.insertBefore('markup', 'tag', {
+ 'style': {
+ pattern: /<style[\w\W]*?>[\w\W]*?<\/style>/i,
+ inside: {
+ 'tag': {
+ pattern: /<style[\w\W]*?>|<\/style>/i,
+ inside: Prism.languages.markup.tag.inside
+ },
+ rest: Prism.languages.css
+ },
+ alias: 'language-css'
+ }
+ });
+
+ Prism.languages.insertBefore('inside', 'attr-value', {
+ 'style-attr': {
+ pattern: /\s*style=("|').*?\1/i,
+ inside: {
+ 'attr-name': {
+ pattern: /^\s*style/i,
+ inside: Prism.languages.markup.tag.inside
+ },
+ 'punctuation': /^\s*=\s*['"]|['"]\s*$/,
+ 'attr-value': {
+ pattern: /.+/i,
+ inside: Prism.languages.css
+ }
+ },
+ alias: 'language-css'
+ }
+ }, Prism.languages.markup.tag);
+};
+Prism.languages.clike = {
+ 'comment': [
+ {
+ pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
+ lookbehind: true
+ },
+ {
+ pattern: /(^|[^\\:])\/\/.*/,
+ lookbehind: true
+ }
+ ],
+ 'string': /("|')(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
+ 'class-name': {
+ pattern: /((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
+ lookbehind: true,
+ inside: {
+ punctuation: /(\.|\\)/
+ }
+ },
+ 'keyword': /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
+ 'boolean': /\b(true|false)\b/,
+ 'function': /[a-z0-9_]+(?=\()/i,
+ 'number': /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/,
+ 'operator': /[-+]{1,2}|!|<=?|>=?|={1,3}|&{1,2}|\|?\||\?|\*|\/|~|\^|%/,
+ 'punctuation': /[{}[\];(),.:]/
+};
+;
+Prism.languages.javascript = Prism.languages.extend('clike', {
+ 'keyword': /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,
+ 'number': /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
+ 'function': /(?!\d)[a-z0-9_$]+(?=\()/i
+});
+
+Prism.languages.insertBefore('javascript', 'keyword', {
+ 'regex': {
+ pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
+ lookbehind: true
+ }
+});
+
+Prism.languages.insertBefore('javascript', 'class-name', {
+ 'template-string': {
+ pattern: /`(?:\\`|\\?[^`])*`/,
+ inside: {
+ 'interpolation': {
+ pattern: /\$\{[^}]+\}/,
+ inside: {
+ 'interpolation-punctuation': {
+ pattern: /^\$\{|\}$/,
+ alias: 'punctuation'
+ },
+ rest: Prism.languages.javascript
+ }
+ },
+ 'string': /[\s\S]+/
+ }
+ }
+});
+
+if (Prism.languages.markup) {
+ Prism.languages.insertBefore('markup', 'tag', {
+ 'script': {
+ pattern: /<script[\w\W]*?>[\w\W]*?<\/script>/i,
+ inside: {
+ 'tag': {
+ pattern: /<script[\w\W]*?>|<\/script>/i,
+ inside: Prism.languages.markup.tag.inside
+ },
+ rest: Prism.languages.javascript
+ },
+ alias: 'language-javascript'
+ }
+ });
+}
+;
diff --git a/debian/not-installed b/debian/not-installed
index d36e13ed0..67d85a2dc 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -10,3 +10,9 @@ usr/lib/rustlib/*/bin/rust-llvm-dwp
# docs, we already install into /usr/share/doc/rustc
usr/share/doc/rust/*
+
+# should be claimed by dh_bash-completion
+etc/bash_completion.d/cargo
+
+# backup files from the previous stages
+usr/bin/*.old
diff --git a/debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch b/debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch
new file mode 100644
index 000000000..e3a6397d5
--- /dev/null
+++ b/debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch
@@ -0,0 +1,46 @@
+From 981279ccd8f7855faaed010bff0891afff588210 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?=
+ <debian@fabian.gruenbichler.email>
+Date: Sat, 19 Nov 2022 10:24:08 +0100
+Subject: [PATCH] tests: add missing cross disabled checks
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+cross_conmpile::alternate states it should only be used in test cases
+after checking cross_compile::disabled(), which is missing here. these
+tests fail despite setting CFG_DISABLE_CROSS_TESTS on i386, since both
+the host and the alternate cross target would be i686 in that case.
+
+Signed-off-by: Fabian Grünbichler <debian@fabian.gruenbichler.email>
+---
+ tests/testsuite/build_script.rs | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/tests/testsuite/build_script.rs b/tests/testsuite/build_script.rs
+index 902364dff..e458b3262 100644
+--- a/src/tools/cargo/tests/testsuite/build_script.rs
++++ b/src/tools/cargo/tests/testsuite/build_script.rs
+@@ -697,6 +697,9 @@ fn custom_build_linker_bad_host_with_arc
+ #[cargo_test]
+ fn custom_build_env_var_rustc_linker_cross_arch_host() {
+ let target = rustc_host();
++ if cross_compile::disabled() {
++ return;
++ }
+ let cross_target = cross_compile::alternate();
+ let p = project()
+ .file(
+@@ -735,6 +738,9 @@ fn custom_build_env_var_rustc_linker_cro
+ #[cargo_test]
+ fn custom_build_linker_bad_cross_arch_host() {
+ let target = rustc_host();
++ if cross_compile::disabled() {
++ return;
++ }
+ let cross_target = cross_compile::alternate();
+ let p = project()
+ .file(
+--
+2.38.1
+
diff --git a/debian/patches/c-2002_disable-net-tests.patch b/debian/patches/c-2002_disable-net-tests.patch
new file mode 100644
index 000000000..2e99a9e9a
--- /dev/null
+++ b/debian/patches/c-2002_disable-net-tests.patch
@@ -0,0 +1,615 @@
+Description: Disable network tests
+Author: Ximin Luo <infinity0@debian.org>
+Forwarded: TODO
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: rust/src/tools/cargo/tests/testsuite/git_auth.rs
+===================================================================
+--- rust.orig/src/tools/cargo/tests/testsuite/git_auth.rs
++++ rust/src/tools/cargo/tests/testsuite/git_auth.rs
+@@ -103,7 +103,7 @@ fn setup_failed_auth_test() -> (SocketAd
+ }
+
+ // Tests that HTTP auth is offered from `credential.helper`.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn http_auth_offered() {
+ // TODO(Seb): remove this once possible.
+ if cargo_uses_gitoxide() {
+@@ -172,7 +172,7 @@ Caused by:
+ }
+
+ // Boy, sure would be nice to have a TLS implementation in rust!
+-#[cargo_test]
++#[allow(dead_code)]
+ fn https_something_happens() {
+ let server = TcpListener::bind("127.0.0.1:0").unwrap();
+ let addr = server.local_addr().unwrap();
+Index: rust/src/tools/cargo/tests/testsuite/net_config.rs
+===================================================================
+--- rust.orig/src/tools/cargo/tests/testsuite/net_config.rs
++++ rust/src/tools/cargo/tests/testsuite/net_config.rs
+@@ -2,7 +2,7 @@
+
+ use cargo_test_support::project;
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn net_retry_loads_from_config() {
+ let p = project()
+ .file(
+@@ -38,7 +38,7 @@ fn net_retry_loads_from_config() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn net_retry_git_outputs_warning() {
+ let p = project()
+ .file(
+Index: rust/src/tools/cargo/tests/testsuite/publish.rs
+===================================================================
+--- rust.orig/src/tools/cargo/tests/testsuite/publish.rs
++++ rust/src/tools/cargo/tests/testsuite/publish.rs
+@@ -85,7 +85,7 @@ fn validate_upload_li() {
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn simple() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+
+@@ -127,7 +127,7 @@ You may press ctrl-c to skip waiting; th
+
+ // Check that the `token` key works at the root instead of under a
+ // `[registry]` table.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn simple_publish_with_http() {
+ let _reg = registry::RegistryBuilder::new()
+ .http_api()
+@@ -167,7 +167,7 @@ You may press ctrl-c to skip waiting; th
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn simple_publish_with_asymmetric() {
+ let _reg = registry::RegistryBuilder::new()
+ .http_api()
+@@ -210,7 +210,7 @@ You may press ctrl-c to skip waiting; th
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn old_token_location() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -267,7 +267,7 @@ You may press ctrl-c [..]
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn simple_with_index() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -312,7 +312,7 @@ You may press ctrl-c [..]
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn git_deps() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -350,7 +350,7 @@ the `git` specification will be removed
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn path_dependency_no_version() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -390,7 +390,7 @@ the `path` specification will be removed
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn unpublishable_crate() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -423,7 +423,7 @@ fn unpublishable_crate() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn dont_publish_dirty() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -465,7 +465,7 @@ to proceed despite this and include the
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_clean() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -513,7 +513,7 @@ You may press ctrl-c to skip waiting; th
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_in_sub_repo() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -562,7 +562,7 @@ You may press ctrl-c [..]
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_when_ignored() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -611,7 +611,7 @@ You may press ctrl-c [..]
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn ignore_when_crate_ignored() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -659,7 +659,7 @@ You may press ctrl-c [..]
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn new_crate_rejected() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -692,7 +692,7 @@ fn new_crate_rejected() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn dry_run() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -735,7 +735,7 @@ See [..]
+ assert!(!registry::api_path().join("api/v1/crates/new").exists());
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn registry_not_in_publish_list() {
+ let p = project()
+ .file(
+@@ -768,7 +768,7 @@ The registry `alternative` is not listed
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_empty_list() {
+ let p = project()
+ .file(
+@@ -797,7 +797,7 @@ fn publish_empty_list() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_allowed_registry() {
+ let _registry = RegistryBuilder::new()
+ .http_api()
+@@ -857,7 +857,7 @@ You may press ctrl-c [..]
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_implicitly_to_only_allowed_registry() {
+ let _registry = RegistryBuilder::new()
+ .http_api()
+@@ -918,7 +918,7 @@ You may press ctrl-c [..]
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_fail_with_no_registry_specified() {
+ let p = project().build();
+
+@@ -952,7 +952,7 @@ The registry `crates-io` is not listed i
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn block_publish_no_registry() {
+ let p = project()
+ .file(
+@@ -982,7 +982,7 @@ fn block_publish_no_registry() {
+ }
+
+ // Explicitly setting `crates-io` in the publish list.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_crates_io_explicit() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -1035,7 +1035,7 @@ You may press ctrl-c [..]
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_select_features() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -1086,7 +1086,7 @@ You may press ctrl-c [..]
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_all_features() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -1137,7 +1137,7 @@ You may press ctrl-c [..]
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_no_default_features() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -1173,7 +1173,7 @@ fn publish_with_no_default_features() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_patch() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+ Package::new("bar", "1.0.0").publish();
+@@ -1278,7 +1278,7 @@ You may press ctrl-c [..]
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_checks_for_token_before_verify() {
+ let registry = registry::RegistryBuilder::new()
+ .no_configure_token()
+@@ -1327,7 +1327,7 @@ fn publish_checks_for_token_before_verif
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_bad_source() {
+ let p = project()
+ .file(
+@@ -1376,7 +1376,7 @@ include `--registry crates-io` to use cr
+ }
+
+ // A dependency with both `git` and `version`.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_git_with_version() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+
+@@ -1519,7 +1519,7 @@ You may press ctrl-c [..]
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_dev_dep_no_version() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+
+@@ -1608,7 +1608,7 @@ repository = "foo"
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn credentials_ambiguous_filename() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -1664,7 +1664,7 @@ You may press ctrl-c [..]
+
+ // --index will not load registry.token to avoid possibly leaking
+ // crates.io token to another server.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn index_requires_token() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -1699,7 +1699,7 @@ fn index_requires_token() {
+ }
+
+ // publish with source replacement without --registry
+-#[cargo_test]
++#[allow(dead_code)]
+ fn cratesio_source_replacement() {
+ registry::init();
+ let p = project()
+@@ -1728,7 +1728,7 @@ include `--registry dummy-registry` or `
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_missing_readme() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -1773,7 +1773,7 @@ Caused by:
+ }
+
+ // Registry returns an API error.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn api_error_json() {
+ let _registry = registry::RegistryBuilder::new()
+ .alternative()
+@@ -1821,7 +1821,7 @@ Caused by:
+ }
+
+ // Registry returns an API error with a 200 status code.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn api_error_200() {
+ let _registry = registry::RegistryBuilder::new()
+ .alternative()
+@@ -1869,7 +1869,7 @@ Caused by:
+ }
+
+ // Registry returns an error code without a JSON message.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn api_error_code() {
+ let _registry = registry::RegistryBuilder::new()
+ .alternative()
+@@ -1923,7 +1923,7 @@ Caused by:
+ }
+
+ // Registry has a network error.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn api_curl_error() {
+ let _registry = registry::RegistryBuilder::new()
+ .alternative()
+@@ -1973,7 +1973,7 @@ Caused by:
+ }
+
+ // Registry returns an invalid response.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn api_other_error() {
+ let _registry = registry::RegistryBuilder::new()
+ .alternative()
+@@ -2023,7 +2023,7 @@ Caused by:
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_package_workspace() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+
+@@ -2074,7 +2074,7 @@ You may press ctrl-c [..]
+ validate_upload_li();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn with_duplicate_spec_in_members() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -2126,7 +2126,7 @@ fn with_duplicate_spec_in_members() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_package_workspace_with_members_with_features_old() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+
+@@ -2176,7 +2176,7 @@ You may press ctrl-c [..]
+ validate_upload_li();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_virtual_workspace() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -2212,7 +2212,7 @@ fn in_virtual_workspace() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_virtual_workspace_with_p() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -2269,7 +2269,7 @@ You may press ctrl-c [..]
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_package_workspace_not_found() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -2314,7 +2314,7 @@ error: package ID specification `li` did
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_package_workspace_found_multiple() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -2371,7 +2371,7 @@ error: the `-p` argument must be specifi
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ // https://github.com/rust-lang/cargo/issues/10536
+ fn publish_path_dependency_without_workspace() {
+ // Use local registry for faster test times since no publish will occur
+@@ -2418,7 +2418,7 @@ error: package ID specification `bar` di
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn http_api_not_noop() {
+ let registry = registry::RegistryBuilder::new().http_api().build();
+
+@@ -2479,7 +2479,7 @@ You may press ctrl-c [..]
+ p.cargo("build").run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn wait_for_first_publish() {
+ // Counter for number of tries before the package is "published"
+ let arc: Arc<Mutex<u32>> = Arc::new(Mutex::new(0));
+@@ -2561,7 +2561,7 @@ You may press ctrl-c to skip waiting; th
+ /// A separate test is needed for package names with - or _ as they hit
+ /// the responder twice per cargo invocation. If that ever gets changed
+ /// this test will need to be changed accordingly.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn wait_for_first_publish_underscore() {
+ // Counter for number of tries before the package is "published"
+ let arc: Arc<Mutex<u32>> = Arc::new(Mutex::new(0));
+@@ -2657,7 +2657,7 @@ You may press ctrl-c to skip waiting; th
+ p.cargo("build").with_status(0).run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn wait_for_subsequent_publish() {
+ // Counter for number of tries before the package is "published"
+ let arc: Arc<Mutex<u32>> = Arc::new(Mutex::new(0));
+@@ -2749,7 +2749,7 @@ You may press ctrl-c to skip waiting; th
+ p.cargo("check").with_status(0).run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn skip_wait_for_publish() {
+ // Intentionally using local registry so the crate never makes it to the index
+ let registry = registry::init();
+Index: rust/src/tools/cargo/tests/testsuite/credential_process.rs
+===================================================================
+--- rust.orig/src/tools/cargo/tests/testsuite/credential_process.rs
++++ rust/src/tools/cargo/tests/testsuite/credential_process.rs
+@@ -8,7 +8,7 @@ fn toml_bin(proj: &Project, name: &str)
+ proj.bin(name).display().to_string().replace('\\', "\\\\")
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn gated() {
+ let _alternative = registry::RegistryBuilder::new()
+ .alternative()
+@@ -65,7 +65,7 @@ or use environment variable CARGO_REGIST
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn warn_both_token_and_process() {
+ // Specifying both credential-process and a token in config should issue a warning.
+ let _server = registry::RegistryBuilder::new()
+@@ -212,7 +212,7 @@ fn get_token_test() -> (Project, TestReg
+ (p, server)
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish() {
+ // Checks that credential-process is used for `cargo publish`.
+ let (p, _t) = get_token_test();
+@@ -237,7 +237,7 @@ You may press ctrl-c [..]
+ assert_eq!(calls, 1);
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn basic_unsupported() {
+ // Non-action commands don't support login/logout.
+ let registry = registry::RegistryBuilder::new()
+@@ -280,7 +280,7 @@ the credential-process configuration val
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn login() {
+ let server = registry::RegistryBuilder::new()
+ .no_configure_token()
+@@ -337,7 +337,7 @@ fn login() {
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn logout() {
+ let server = registry::RegistryBuilder::new()
+ .no_configure_token()
+@@ -395,7 +395,7 @@ token for `crates-io` has been erased!
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn yank() {
+ let (p, _t) = get_token_test();
+
+@@ -410,7 +410,7 @@ fn yank() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn owner() {
+ let (p, _t) = get_token_test();
+
+@@ -425,7 +425,7 @@ fn owner() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn libexec_path() {
+ // cargo: prefixed names use the sysroot
+ let server = registry::RegistryBuilder::new()
+@@ -459,7 +459,7 @@ Caused by:
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn invalid_token_output() {
+ // Error when credential process does not output the expected format for a token.
+ let _server = registry::RegistryBuilder::new()
diff --git a/debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch b/debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch
new file mode 100644
index 000000000..6453c3a30
--- /dev/null
+++ b/debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch
@@ -0,0 +1,19 @@
+Index: rust/src/tools/cargo/crates/cargo-test-macro/src/lib.rs
+===================================================================
+--- rust.orig/src/tools/cargo/crates/cargo-test-macro/src/lib.rs
++++ rust/src/tools/cargo/crates/cargo-test-macro/src/lib.rs
+@@ -223,6 +223,14 @@ fn has_command(command: &str) -> bool {
+ }
+ };
+ if !output.status.success() {
++ // Debian specific patch, upstream wontfix:
++ // qemu has a faulty vfork where it fails to fail if a command is not
++ // found, with a unix_wait_status of 32512, or 0x7f00, 7f meaning
++ // exit code 127. See https://github.com/rust-lang/rust/issues/90825
++ use std::os::unix::process::ExitStatusExt;
++ if output.status.into_raw() == 0x7f00 {
++ return false;
++ }
+ panic!(
+ "expected command `{}` to be runnable, got error {}:\n\
+ stderr:{}\n\
diff --git a/debian/patches/c-2200-workaround-x32-test.patch b/debian/patches/c-2200-workaround-x32-test.patch
new file mode 100644
index 000000000..9dc42ddbc
--- /dev/null
+++ b/debian/patches/c-2200-workaround-x32-test.patch
@@ -0,0 +1,15 @@
+Bug: https://github.com/rust-lang/cargo/issues/10005
+
+Index: rust/src/tools/cargo/tests/testsuite/cfg.rs
+===================================================================
+--- rust.orig/src/tools/cargo/tests/testsuite/cfg.rs
++++ rust/src/tools/cargo/tests/testsuite/cfg.rs
+@@ -272,7 +272,7 @@ fn any_ok() {
+
+ // https://github.com/rust-lang/cargo/issues/5313
+ #[cargo_test]
+-#[cfg(all(target_arch = "x86_64", target_os = "linux", target_env = "gnu"))]
++#[cfg(all(target_arch = "x86_64", target_os = "linux", target_env = "gnu", target_pointer_width = "64"))]
+ fn cfg_looks_at_rustflags_for_target() {
+ let p = project()
+ .file(
diff --git a/debian/patches/c-disable-fs-specific-test.patch b/debian/patches/c-disable-fs-specific-test.patch
new file mode 100644
index 000000000..eda4f925b
--- /dev/null
+++ b/debian/patches/c-disable-fs-specific-test.patch
@@ -0,0 +1,13 @@
+Index: rust/src/tools/cargo/tests/testsuite/metadata.rs
+===================================================================
+--- rust.orig/src/tools/cargo/tests/testsuite/metadata.rs
++++ rust/src/tools/cargo/tests/testsuite/metadata.rs
+@@ -3935,7 +3935,7 @@ fn dep_kinds_workspace() {
+ // Creating non-utf8 path is an OS-specific pain, so let's run this only on
+ // linux, where arbitrary bytes work.
+ #[cfg(target_os = "linux")]
+-#[cargo_test]
++#[allow(dead_code)]
+ fn cargo_metadata_non_utf8() {
+ use std::ffi::OsString;
+ use std::os::unix::ffi::OsStringExt;
diff --git a/debian/patches/c-update-libgit2.patch b/debian/patches/c-update-libgit2.patch
new file mode 100644
index 000000000..b004ed095
--- /dev/null
+++ b/debian/patches/c-update-libgit2.patch
@@ -0,0 +1,37 @@
+Index: rust/src/tools/cargo/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/Cargo.toml
++++ rust/src/tools/cargo/Cargo.toml
+@@ -28,8 +28,8 @@ curl-sys = "0.4.61"
+ env_logger = "0.10.0"
+ filetime = "0.2.9"
+ flate2 = { version = "1.0.3", default-features = false, features = ["zlib"] }
+-git2 = "0.17.0"
+-git2-curl = "0.18.0"
++git2 = "0.18.0"
++git2-curl = "0.19.0"
+ gix = { version = "0.39.0", default-features = false, features = ["blocking-http-transport-curl", "progress-tree"] }
+ gix-features-for-configuration-only = { version = "0.28.0", package = "gix-features", features = [ "parallel" ] }
+ glob = "0.3.0"
+@@ -47,7 +47,7 @@ jobserver = "0.1.26"
+ lazy_static = "1.2.0"
+ lazycell = "1.2.0"
+ libc = "0.2"
+-libgit2-sys = "0.15.0"
++libgit2-sys = "0.16.1"
+ log = "0.4.6"
+ memchr = "2.1.3"
+ opener = "0.5"
+Index: rust/src/tools/cargo/crates/cargo-test-support/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/crates/cargo-test-support/Cargo.toml
++++ rust/src/tools/cargo/crates/cargo-test-support/Cargo.toml
+@@ -14,7 +14,7 @@ cargo-util = { path = "../cargo-util" }
+ crates-io = { path = "../crates-io" }
+ filetime = "0.2"
+ flate2 = { version = "1.0", default-features = false, features = ["zlib"] }
+-git2 = "0.17.0"
++git2 = "0.18.0"
+ glob = "0.3"
+ itertools = "0.10.0"
+ lazy_static = "1.0"
diff --git a/debian/patches/d-0000-ignore-removed-submodules.patch b/debian/patches/d-0000-ignore-removed-submodules.patch
index 588e53b3b..3b11a1b63 100644
--- a/debian/patches/d-0000-ignore-removed-submodules.patch
+++ b/debian/patches/d-0000-ignore-removed-submodules.patch
@@ -18,7 +18,7 @@ Index: rust/Cargo.toml
===================================================================
--- rust.orig/Cargo.toml
+++ rust/Cargo.toml
-@@ -18,28 +18,15 @@ members = [
+@@ -18,28 +18,18 @@ members = [
"src/tools/tidy",
"src/tools/tier-check",
"src/tools/build-manifest",
@@ -26,11 +26,11 @@ Index: rust/Cargo.toml
- "src/tools/remote-test-server",
"src/tools/rust-installer",
"src/tools/rust-demangler",
-- "src/tools/cargo",
-- "src/tools/cargo/crates/credential/cargo-credential-1password",
+ "src/tools/cargo",
+ "src/tools/cargo/crates/credential/cargo-credential-1password",
- "src/tools/cargo/crates/credential/cargo-credential-macos-keychain",
- "src/tools/cargo/crates/credential/cargo-credential-wincred",
-- "src/tools/cargo/crates/mdman",
+ "src/tools/cargo/crates/mdman",
- # "src/tools/cargo/crates/resolver-tests",
"src/tools/rustdoc",
- "src/tools/rls",
@@ -47,16 +47,6 @@ Index: rust/Cargo.toml
"src/tools/replace-version-placeholder",
"src/tools/lld-wrapper",
"src/tools/collect-license-metadata",
-@@ -106,9 +93,6 @@ miniz_oxide.debug = 0
- object.debug = 0
-
- [patch.crates-io]
--# See comments in `src/tools/rustc-workspace-hack/README.md` for what's going on
--# here
--rustc-workspace-hack = { path = 'src/tools/rustc-workspace-hack' }
-
- # See comments in `library/rustc-std-workspace-core/README.md` for what's going on
- # here
Index: rust/src/bootstrap/bootstrap.py
===================================================================
--- rust.orig/src/bootstrap/bootstrap.py
@@ -109,14 +99,14 @@ Index: rust/src/bootstrap/builder.rs
submodules_paths
};
-@@ -658,24 +658,13 @@ impl<'a> Builder<'a> {
+@@ -658,24 +658,14 @@ impl<'a> Builder<'a> {
tool::Linkchecker,
tool::CargoTest,
tool::Compiletest,
- tool::RemoteTestServer,
- tool::RemoteTestClient,
tool::RustInstaller,
-- tool::Cargo,
+ tool::Cargo,
- tool::Rls,
- tool::RustAnalyzer,
tool::RustAnalyzerProcMacroSrv,
@@ -134,7 +124,7 @@ Index: rust/src/bootstrap/builder.rs
),
Kind::Check | Kind::Clippy | Kind::Fix => describe!(
check::Std,
-@@ -683,11 +672,6 @@ impl<'a> Builder<'a> {
+@@ -683,11 +673,6 @@ impl<'a> Builder<'a> {
check::Rustdoc,
check::CodegenBackend,
check::Clippy,
@@ -146,16 +136,15 @@ Index: rust/src/bootstrap/builder.rs
check::Rustfmt,
check::Bootstrap
),
-@@ -717,8 +701,6 @@ impl<'a> Builder<'a> {
- test::TierCheck,
+@@ -717,7 +702,6 @@ impl<'a> Builder<'a> {
test::ReplacePlaceholderTest,
test::Cargotest,
-- test::Cargo,
+ test::Cargo,
- test::RustAnalyzer,
test::ErrorIndex,
test::Distcheck,
test::RunMakeFullDeps,
-@@ -734,7 +716,6 @@ impl<'a> Builder<'a> {
+@@ -734,7 +717,6 @@ impl<'a> Builder<'a> {
test::EmbeddedBook,
test::EditionGuide,
test::Rustfmt,
@@ -163,23 +152,18 @@ Index: rust/src/bootstrap/builder.rs
test::Clippy,
test::RustDemangler,
test::CompiletestTest,
-@@ -767,11 +748,8 @@ impl<'a> Builder<'a> {
- doc::RustdocBook,
- doc::RustByExample,
- doc::RustcBook,
-- doc::Cargo,
-- doc::CargoBook,
+@@ -771,7 +753,6 @@ impl<'a> Builder<'a> {
+ doc::CargoBook,
doc::Clippy,
doc::ClippyBook,
- doc::Miri,
doc::EmbeddedBook,
doc::EditionGuide,
doc::StyleGuide,
-@@ -787,13 +765,9 @@ impl<'a> Builder<'a> {
- dist::RustcDev,
+@@ -787,12 +768,9 @@ impl<'a> Builder<'a> {
dist::Analysis,
dist::Src,
-- dist::Cargo,
+ dist::Cargo,
- dist::Rls,
- dist::RustAnalyzer,
dist::Rustfmt,
@@ -189,11 +173,10 @@ Index: rust/src/bootstrap/builder.rs
dist::LlvmTools,
dist::RustDev,
dist::Bootstrap,
-@@ -809,12 +783,9 @@ impl<'a> Builder<'a> {
- Kind::Install => describe!(
+@@ -809,11 +786,9 @@ impl<'a> Builder<'a> {
install::Docs,
install::Std,
-- install::Cargo,
+ install::Cargo,
- install::RustAnalyzer,
install::Rustfmt,
install::RustDemangler,
@@ -202,7 +185,7 @@ Index: rust/src/bootstrap/builder.rs
install::LlvmTools,
install::Src,
install::Rustc
-@@ -824,7 +795,6 @@ impl<'a> Builder<'a> {
+@@ -824,7 +798,6 @@ impl<'a> Builder<'a> {
run::BuildManifest,
run::BumpStage0,
run::ReplaceVersionPlaceholder,
@@ -210,7 +193,7 @@ Index: rust/src/bootstrap/builder.rs
run::CollectLicenseMetadata,
run::GenerateCopyright,
),
-@@ -1949,10 +1919,7 @@ impl<'a> Builder<'a> {
+@@ -1949,10 +1922,7 @@ impl<'a> Builder<'a> {
}
}
@@ -222,18 +205,6 @@ Index: rust/src/bootstrap/builder.rs
cargo.arg("--frozen");
}
-Index: rust/src/bootstrap/doc.rs
-===================================================================
---- rust.orig/src/bootstrap/doc.rs
-+++ rust/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", submodule = "src/tools/cargo";
- ClippyBook, "src/tools/clippy/book", "clippy";
- EditionGuide, "src/doc/edition-guide", "edition-guide", submodule;
- EmbeddedBook, "src/doc/embedded-book", "embedded-book", submodule;
Index: rust/src/bootstrap/test.rs
===================================================================
--- rust.orig/src/bootstrap/test.rs
@@ -257,22 +228,6 @@ Index: rust/src/bootstrap/test.rs
}
}
-Index: rust/src/tools/clippy/Cargo.toml
-===================================================================
---- rust.orig/src/tools/clippy/Cargo.toml
-+++ rust/src/tools/clippy/Cargo.toml
-@@ -36,11 +36,6 @@ walkdir = "2.3"
- # 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
- clap = { version = "4.1.4", features = ["derive"] }
- clippy_utils = { path = "clippy_utils" }
Index: rust/src/tools/rust-analyzer/Cargo.toml
===================================================================
--- rust.orig/src/tools/rust-analyzer/Cargo.toml
@@ -293,41 +248,16 @@ Index: rust/src/tools/rust-analyzer/Cargo.toml
exclude = ["crates/proc-macro-test/imp"]
[workspace.package]
-Index: rust/src/tools/rustfmt/Cargo.toml
-===================================================================
---- rust.orig/src/tools/rustfmt/Cargo.toml
-+++ rust/src/tools/rustfmt/Cargo.toml
-@@ -59,11 +59,6 @@ unicode_categories = "0.1"
-
- rustfmt-config_proc_macro = { version = "0.3", path = "config_proc_macro" }
-
--# 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.
-
- [package.metadata.rust-analyzer]
-Index: rust/src/tools/tidy/src/deps.rs
+Index: rust/src/tools/rustc-workspace-hack/Cargo.toml
===================================================================
---- rust.orig/src/tools/tidy/src/deps.rs
-+++ rust/src/tools/tidy/src/deps.rs
-@@ -337,7 +337,7 @@ const FORBIDDEN_TO_HAVE_DUPLICATES: &[&s
- // This crate takes 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",
-+ //"cargo",
- ];
-
- /// Dependency checks.
-@@ -613,6 +613,8 @@ fn direct_deps_of<'a>(metadata: &'a Meta
- }
-
- fn check_rustfix(metadata: &Metadata, bad: &mut bool) {
-+ // Debian: we don't build cargo here, so this function doens't function.
-+ return;
- let cargo = pkg_from_name(metadata, "cargo");
- let compiletest = pkg_from_name(metadata, "compiletest");
- let cargo_deps = direct_deps_of(metadata, &cargo.id);
+--- rust.orig/src/tools/rustc-workspace-hack/Cargo.toml
++++ rust/src/tools/rustc-workspace-hack/Cargo.toml
+@@ -74,7 +74,7 @@ features = [
+ [dependencies]
+ bstr = { version = "0.2.17", features = ["default"] }
+ clap = { version = "3.1.1", features = ["derive", "clap_derive"]}
+-curl-sys = { version = "0.4.13", features = ["http2", "libnghttp2-sys"], optional = true }
++curl-sys = { version = "0.4.13", features = ["http2"], optional = true }
+ # Ensure `extra_traits` of libc, which is used transitively by Cargo.
+ libc = { version = "0.2", features = ["extra_traits"] }
+ # Ensure `js` of getrandom, which is (unfortunately) used transitively by Cargo.
diff --git a/debian/patches/d-0001-pkg-config-no-special-snowflake.patch b/debian/patches/d-0001-pkg-config-no-special-snowflake.patch
index db66e2c34..20cb4fd73 100644
--- a/debian/patches/d-0001-pkg-config-no-special-snowflake.patch
+++ b/debian/patches/d-0001-pkg-config-no-special-snowflake.patch
@@ -7,10 +7,10 @@ Subject: d-0001-pkg-config-no-special-snowflake
vendor/pkg-config/tests/test.rs | 2 --
2 files changed, 10 insertions(+), 17 deletions(-)
-diff --git a/vendor/pkg-config/src/lib.rs b/vendor/pkg-config/src/lib.rs
-index a28304e..11f9460 100644
---- a/vendor/pkg-config/src/lib.rs
-+++ b/vendor/pkg-config/src/lib.rs
+Index: rust/vendor/pkg-config/src/lib.rs
+===================================================================
+--- rust.orig/vendor/pkg-config/src/lib.rs
++++ rust/vendor/pkg-config/src/lib.rs
@@ -111,11 +111,8 @@ pub enum Error {
/// Contains the name of the responsible environment variable.
EnvNoPkgConfig(String),
@@ -71,11 +71,11 @@ index a28304e..11f9460 100644
let mut cmd = Command::new(exe);
if self.is_static(name) {
cmd.arg("--static");
-diff --git a/vendor/pkg-config/tests/test.rs b/vendor/pkg-config/tests/test.rs
-index 4e04ac0..f884e46 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> {
+Index: rust/vendor/pkg-config/tests/test.rs
+===================================================================
+--- rust.orig/vendor/pkg-config/tests/test.rs
++++ rust/vendor/pkg-config/tests/test.rs
+@@ -34,7 +34,6 @@ fn find(name: &str) -> Result<pkg_config
pkg_config::probe_library(name)
}
diff --git a/debian/patches/d-0002-mdbook-strip-embedded-libs.patch b/debian/patches/d-0002-mdbook-strip-embedded-libs.patch
index 81a0e2792..662b139ae 100644
--- a/debian/patches/d-0002-mdbook-strip-embedded-libs.patch
+++ b/debian/patches/d-0002-mdbook-strip-embedded-libs.patch
@@ -13,10 +13,10 @@ Comment: Use https://github.com/infinity0/mdBook/tree/debian to help you rebase
vendor/mdbook/src/theme/searcher/mod.rs | 2 -
7 files changed, 47 insertions(+), 240 deletions(-)
-diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs
-index 4170c32..d7dcda7 100644
---- a/src/tools/linkchecker/main.rs
-+++ b/src/tools/linkchecker/main.rs
+Index: rust/src/tools/linkchecker/main.rs
+===================================================================
+--- rust.orig/src/tools/linkchecker/main.rs
++++ rust/src/tools/linkchecker/main.rs
@@ -159,7 +159,17 @@ impl Checker {
for entry in t!(dir.read_dir()).map(|e| t!(e)) {
let path = entry.path();
@@ -66,10 +66,10 @@ index 4170c32..d7dcda7 100644
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 ebcdd93..41dab42 100644
---- a/vendor/mdbook/src/book/init.rs
-+++ b/vendor/mdbook/src/book/init.rs
+Index: rust/vendor/mdbook/src/book/init.rs
+===================================================================
+--- rust.orig/vendor/mdbook/src/book/init.rs
++++ rust/vendor/mdbook/src/book/init.rs
@@ -153,25 +153,6 @@ impl BookBuilder {
let mut js = File::create(themedir.join("book.js"))?;
js.write_all(theme::JS)?;
@@ -96,11 +96,11 @@ index ebcdd93..41dab42 100644
Ok(())
}
-diff --git a/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs b/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
-index e170e2f..caa2eff 100644
---- a/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
-+++ b/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
-@@ -3,13 +3,14 @@ use crate::config::{BookConfig, Config, HtmlConfig, Playground, RustEdition};
+Index: rust/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
+===================================================================
+--- rust.orig/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
++++ rust/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
+@@ -3,13 +3,14 @@ use crate::config::{BookConfig, Config,
use crate::errors::*;
use crate::renderer::html_handlebars::helpers;
use crate::renderer::{RenderContext, Renderer};
@@ -129,7 +129,10 @@ index e170e2f..caa2eff 100644
- destination,
- "FontAwesome/css/font-awesome.css",
- theme::FONT_AWESOME,
-- )?;
++ symlink(
++ "/usr/share/fonts-font-awesome/css/font-awesome.min.css",
++ destination.join("css/font-awesome.min.css"),
+ )?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.eot",
@@ -140,41 +143,38 @@ index e170e2f..caa2eff 100644
- "FontAwesome/fonts/fontawesome-webfont.svg",
- theme::FONT_AWESOME_SVG,
+ symlink(
-+ "/usr/share/fonts-font-awesome/css/font-awesome.min.css",
-+ destination.join("css/font-awesome.min.css"),
++ "/usr/share/fonts-font-awesome/fonts",
++ destination.join("fonts"),
)?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.ttf",
- theme::FONT_AWESOME_TTF,
+ symlink(
-+ "/usr/share/fonts-font-awesome/fonts",
-+ destination.join("fonts"),
++ "/usr/share/javascript/highlight.js/styles/atelier-dune-light.css",
++ destination.join("highlight.css"),
)?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.woff",
- theme::FONT_AWESOME_WOFF,
+ symlink(
-+ "/usr/share/javascript/highlight.js/styles/atelier-dune-light.css",
-+ destination.join("highlight.css"),
++ "/usr/share/javascript/highlight.js/highlight.js",
++ destination.join("highlight.js"),
)?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.woff2",
- theme::FONT_AWESOME_WOFF2,
+ symlink(
-+ "/usr/share/javascript/highlight.js/highlight.js",
-+ destination.join("highlight.js"),
++ "/usr/share/javascript/mathjax/MathJax.js",
++ destination.join("MathJax.js"),
)?;
- write_file(
- destination,
- "FontAwesome/fonts/FontAwesome.ttf",
- theme::FONT_AWESOME_TTF,
-+ symlink(
-+ "/usr/share/javascript/mathjax/MathJax.js",
-+ destination.join("MathJax.js"),
- )?;
+- )?;
- if html_config.copy_fonts {
- write_file(destination, "fonts/fonts.css", theme::fonts::CSS)?;
- for (file_name, contents) in theme::fonts::LICENSES.iter() {
@@ -237,11 +237,11 @@ index e170e2f..caa2eff 100644
Ok(())
}
-diff --git a/vendor/mdbook/src/renderer/html_handlebars/search.rs b/vendor/mdbook/src/renderer/html_handlebars/search.rs
-index a9e2f5c..3e3f69c 100644
---- a/vendor/mdbook/src/renderer/html_handlebars/search.rs
-+++ b/vendor/mdbook/src/renderer/html_handlebars/search.rs
-@@ -53,8 +53,6 @@ pub fn create_files(search_config: &Search, destination: &Path, book: &Book) ->
+Index: rust/vendor/mdbook/src/renderer/html_handlebars/search.rs
+===================================================================
+--- rust.orig/vendor/mdbook/src/renderer/html_handlebars/search.rs
++++ rust/vendor/mdbook/src/renderer/html_handlebars/search.rs
+@@ -53,8 +53,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)?;
@@ -250,10 +250,10 @@ index a9e2f5c..3e3f69c 100644
debug!("Copying search files ✓");
}
-diff --git a/vendor/mdbook/src/theme/index.hbs b/vendor/mdbook/src/theme/index.hbs
-index 6f3948c..7e5c54c 100644
---- a/vendor/mdbook/src/theme/index.hbs
-+++ b/vendor/mdbook/src/theme/index.hbs
+Index: rust/vendor/mdbook/src/theme/index.hbs
+===================================================================
+--- rust.orig/vendor/mdbook/src/theme/index.hbs
++++ rust/vendor/mdbook/src/theme/index.hbs
@@ -33,10 +33,7 @@
{{/if}}
@@ -381,10 +381,10 @@ index 6f3948c..7e5c54c 100644
<!-- Custom JS scripts -->
{{#each additional_js}}
-diff --git a/vendor/mdbook/src/theme/mod.rs b/vendor/mdbook/src/theme/mod.rs
-index 6e6b509..ef8886b 100644
---- a/vendor/mdbook/src/theme/mod.rs
-+++ b/vendor/mdbook/src/theme/mod.rs
+Index: rust/vendor/mdbook/src/theme/mod.rs
+===================================================================
+--- rust.orig/vendor/mdbook/src/theme/mod.rs
++++ rust/vendor/mdbook/src/theme/mod.rs
@@ -1,9 +1,5 @@
#![allow(missing_docs)]
@@ -395,7 +395,7 @@ index 6e6b509..ef8886b 100644
#[cfg(feature = "search")]
pub mod searcher;
-@@ -24,19 +20,8 @@ pub static VARIABLES_CSS: &[u8] = include_bytes!("css/variables.css");
+@@ -24,19 +20,8 @@ pub static VARIABLES_CSS: &[u8] = includ
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");
@@ -461,10 +461,10 @@ index 6e6b509..ef8886b 100644
};
assert_eq!(got, empty);
-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
+Index: rust/vendor/mdbook/src/theme/searcher/mod.rs
+===================================================================
+--- rust.orig/vendor/mdbook/src/theme/searcher/mod.rs
++++ rust/vendor/mdbook/src/theme/searcher/mod.rs
@@ -2,5 +2,3 @@
//! the "search" cargo feature is disabled.
diff --git a/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch b/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch
index 703df2a78..057b7ee8d 100644
--- a/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch
+++ b/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch
@@ -7,10 +7,10 @@ Subject: d-0003-cc-psm-rebuild-wasm32
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 1ebd2cc..0d6ebc8 100644
---- a/vendor/cc/src/lib.rs
-+++ b/vendor/cc/src/lib.rs
+Index: rust/vendor/cc/src/lib.rs
+===================================================================
+--- rust.orig/vendor/cc/src/lib.rs
++++ rust/vendor/cc/src/lib.rs
@@ -2389,7 +2389,7 @@ impl Build {
|| target == "wasm32-unknown-wasi"
|| target == "wasm32-unknown-unknown"
@@ -20,10 +20,10 @@ index 1ebd2cc..0d6ebc8 100644
} 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 9d40212..e39549d 100644
---- a/vendor/psm/build.rs
-+++ b/vendor/psm/build.rs
+Index: rust/vendor/psm/build.rs
+===================================================================
+--- rust.orig/vendor/psm/build.rs
++++ rust/vendor/psm/build.rs
@@ -50,7 +50,7 @@ fn find_assembly(
("sparc", _, _, _) => Some(("src/arch/sparc_sysv.s", true)),
("riscv32", _, _, _) => Some(("src/arch/riscv.s", true)),
diff --git a/debian/patches/d-0004-clippy-feature-sync.patch b/debian/patches/d-0004-clippy-feature-sync.patch
deleted file mode 100644
index f4a863a8e..000000000
--- a/debian/patches/d-0004-clippy-feature-sync.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
-Date: Sat, 2 Oct 2021 01:08:00 +0100
-Subject: d-0004-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 | 2 +-
- src/tools/rustfmt/Cargo.toml | 4 +++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/tools/clippy/Cargo.toml b/src/tools/clippy/Cargo.toml
-index a24d2f4..3681c85 100644
---- a/src/tools/clippy/Cargo.toml
-+++ b/src/tools/clippy/Cargo.toml
-@@ -44,7 +44,7 @@ if_chain = "1.0"
- itertools = "0.10.1"
- quote = "1.0"
- serde = { version = "1.0.125", features = ["derive"] }
--syn = { version = "1.0", features = ["full"] }
-+syn = { version = "1.0", features = ["full", "visit"] }
- futures = "0.3"
- parking_lot = "0.12"
- tokio = { version = "1", features = ["io-util"] }
-diff --git a/src/tools/rustfmt/Cargo.toml b/src/tools/rustfmt/Cargo.toml
-index 12ed654..f85b738 100644
---- a/src/tools/rustfmt/Cargo.toml
-+++ b/src/tools/rustfmt/Cargo.toml
-@@ -46,10 +46,12 @@ getopts = "0.2"
- ignore = "0.4"
- itertools = "0.10"
- lazy_static = "1.4"
-+# added for sync with clippy
-+libc = { version = "0.2", features = ["extra_traits"] }
- log = "0.4"
- regex = "1.5"
- serde = { version = "1.0", features = ["derive"] }
--serde_json = "1.0"
-+serde_json = { version = "1.0", features = ["unbounded_depth"] }
- term = "0.7"
- thiserror = "1.0"
- toml = "0.5"
diff --git a/debian/patches/d-0005-no-jemalloc.patch b/debian/patches/d-0005-no-jemalloc.patch
index 17254fb53..1223fce8b 100644
--- a/debian/patches/d-0005-no-jemalloc.patch
+++ b/debian/patches/d-0005-no-jemalloc.patch
@@ -7,11 +7,11 @@ Subject: d-0005-no-jemalloc
src/tools/rust-analyzer/crates/profile/Cargo.toml | 2 --
2 files changed, 8 deletions(-)
-diff --git a/compiler/rustc/Cargo.toml b/compiler/rustc/Cargo.toml
-index 41003ad..0578f7b 100644
---- a/compiler/rustc/Cargo.toml
-+++ b/compiler/rustc/Cargo.toml
-@@ -14,13 +14,7 @@ rustc_codegen_ssa = { path = "../rustc_codegen_ssa" }
+Index: rust/compiler/rustc/Cargo.toml
+===================================================================
+--- rust.orig/compiler/rustc/Cargo.toml
++++ rust/compiler/rustc/Cargo.toml
+@@ -14,13 +14,7 @@ rustc_codegen_ssa = { path = "../rustc_c
# crate is intended to be used by stable MIR consumers, which are not in-tree
rustc_smir = { path = "../rustc_smir" }
@@ -25,10 +25,10 @@ index 41003ad..0578f7b 100644
llvm = ['rustc_driver_impl/llvm']
max_level_info = ['rustc_driver_impl/max_level_info']
rustc_use_parallel_compiler = ['rustc_driver_impl/rustc_use_parallel_compiler']
-diff --git a/src/tools/rust-analyzer/crates/profile/Cargo.toml b/src/tools/rust-analyzer/crates/profile/Cargo.toml
-index 6273ea5..642fb05 100644
---- a/src/tools/rust-analyzer/crates/profile/Cargo.toml
-+++ b/src/tools/rust-analyzer/crates/profile/Cargo.toml
+Index: rust/src/tools/rust-analyzer/crates/profile/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/rust-analyzer/crates/profile/Cargo.toml
++++ rust/src/tools/rust-analyzer/crates/profile/Cargo.toml
@@ -17,7 +17,6 @@ cfg-if = "1.0.0"
libc = "0.2.135"
la-arena = { version = "0.3.0", path = "../../lib/la-arena" }
@@ -37,7 +37,7 @@ index 6273ea5..642fb05 100644
[target.'cfg(target_os = "linux")'.dependencies]
perf-event = "0.4.7"
-@@ -27,7 +26,6 @@ winapi = { version = "0.3.9", features = ["processthreadsapi", "psapi"] }
+@@ -27,7 +26,6 @@ winapi = { version = "0.3.9", features =
[features]
cpu_profiler = []
diff --git a/debian/patches/d-0010-cargo-remove-vendored-c-crates.patch b/debian/patches/d-0010-cargo-remove-vendored-c-crates.patch
new file mode 100644
index 000000000..b386a3a5f
--- /dev/null
+++ b/debian/patches/d-0010-cargo-remove-vendored-c-crates.patch
@@ -0,0 +1,18 @@
+Description: Remove embeded C libraries in bundled crates
+Author: Zixing Liu <zixing.liu@canonical.com>
+Forwarded: not-needed
+Last-Update: 2023-05-17
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: rust/src/tools/cargo/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/Cargo.toml
++++ rust/src/tools/cargo/Cargo.toml
+@@ -114,6 +114,5 @@ test = false
+ doc = false
+
+ [features]
+-vendored-openssl = ["openssl/vendored"]
+-vendored-libgit2 = ["libgit2-sys/vendored"]
++# Debian: removed vendoring flags
+ pretty-env-logger = ["pretty_env_logger"]
diff --git a/debian/patches/d-0011-cargo-remove-nghttp2.patch b/debian/patches/d-0011-cargo-remove-nghttp2.patch
new file mode 100644
index 000000000..b7ea72c53
--- /dev/null
+++ b/debian/patches/d-0011-cargo-remove-nghttp2.patch
@@ -0,0 +1,19 @@
+Description: Remove nghttp2 from curl-sys crate
+Author: Zixing Liu <zixing.liu@canonical.com>
+Forwarded: not-needed
+Last-Update: 2023-05-17 <YYYY-MM-DD, last update of the meta-information, optional>
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: rust/vendor/curl-sys/Cargo.toml
+===================================================================
+--- rust.orig/vendor/curl-sys/Cargo.toml
++++ rust/vendor/curl-sys/Cargo.toml
+@@ -52,7 +52,7 @@ version = "0.3.3"
+ [features]
+ default = ["ssl"]
+ force-system-lib-on-osx = []
+-http2 = ["libnghttp2-sys"]
++http2 = []
+ mesalink = []
+ ntlm = []
+ poll_7_68_0 = []
diff --git a/debian/patches/d-0012-cargo-always-return-dev-channel.patch b/debian/patches/d-0012-cargo-always-return-dev-channel.patch
new file mode 100644
index 000000000..73554bb89
--- /dev/null
+++ b/debian/patches/d-0012-cargo-always-return-dev-channel.patch
@@ -0,0 +1,23 @@
+Description: Enable nightly features for Cargo
+ Debhelper scripts use some nightly features.
+Author: Zixing Liu <zixing.liu@canonical.com>
+Forwarded: not-needed
+Last-Update: 2023-05-30
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: rust/src/tools/cargo/src/cargo/core/features.rs
+===================================================================
+--- rust.orig/src/tools/cargo/src/cargo/core/features.rs
++++ rust/src/tools/cargo/src/cargo/core/features.rs
+@@ -1182,9 +1182,8 @@ pub fn channel() -> String {
+ return "dev".to_string();
+ }
+ }
+- crate::version()
+- .release_channel
+- .unwrap_or_else(|| String::from("dev"))
++ // Debian: always return dev channel
++ String::from("dev")
+ }
+
+ /// Only for testing and developing. See ["Running with gitoxide as default git backend in tests"][1].
diff --git a/debian/patches/d-0020-remove-windows-dependencies.patch b/debian/patches/d-0020-remove-windows-dependencies.patch
new file mode 100644
index 000000000..0e5230716
--- /dev/null
+++ b/debian/patches/d-0020-remove-windows-dependencies.patch
@@ -0,0 +1,213 @@
+Index: rust/compiler/rustc_data_structures/Cargo.toml
+===================================================================
+--- rust.orig/compiler/rustc_data_structures/Cargo.toml
++++ rust/compiler/rustc_data_structures/Cargo.toml
+@@ -38,16 +38,6 @@ itertools = "0.10.1"
+ [dependencies.parking_lot]
+ version = "0.11"
+
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+- "Win32_System_IO",
+- "Win32_System_ProcessStatus",
+- "Win32_System_Threading",
+-]
+-
+ [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
+ memmap2 = "0.2.1"
+
+Index: rust/compiler/rustc_driver_impl/Cargo.toml
+===================================================================
+--- rust.orig/compiler/rustc_driver_impl/Cargo.toml
++++ rust/compiler/rustc_driver_impl/Cargo.toml
+@@ -54,12 +54,6 @@ rustc_hir_analysis = { path = "../rustc_
+ [target.'cfg(unix)'.dependencies]
+ libc = "0.2"
+
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_System_Diagnostics_Debug",
+-]
+-
+ [features]
+ llvm = ['rustc_interface/llvm']
+ max_level_info = ['rustc_log/max_level_info']
+Index: rust/compiler/rustc_errors/Cargo.toml
+===================================================================
+--- rust.orig/compiler/rustc_errors/Cargo.toml
++++ rust/compiler/rustc_errors/Cargo.toml
+@@ -25,14 +25,5 @@ termize = "0.1.1"
+ serde = { version = "1.0.125", features = [ "derive" ] }
+ serde_json = "1.0.59"
+
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Security",
+- "Win32_System_Threading",
+- "Win32_System_WindowsProgramming",
+-]
+-
+ [features]
+ rustc_use_parallel_compiler = ['rustc_error_messages/rustc_use_parallel_compiler']
+Index: rust/compiler/rustc_session/Cargo.toml
+===================================================================
+--- rust.orig/compiler/rustc_session/Cargo.toml
++++ rust/compiler/rustc_session/Cargo.toml
+@@ -23,10 +23,3 @@ termize = "0.1.1"
+
+ [target.'cfg(unix)'.dependencies]
+ libc = "0.2"
+-
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_LibraryLoader",
+-]
+Index: rust/src/bootstrap/Cargo.toml
+===================================================================
+--- rust.orig/src/bootstrap/Cargo.toml
++++ rust/src/bootstrap/Cargo.toml
+@@ -61,25 +61,6 @@ sysinfo = { version = "0.26.0", optional
+ [target.'cfg(not(target_os = "solaris"))'.dependencies]
+ fd-lock = "3.0.8"
+
+-[target.'cfg(windows)'.dependencies.junction]
+-version = "1.0.0"
+-
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Security",
+- "Win32_Storage_FileSystem",
+- "Win32_System_Diagnostics_Debug",
+- "Win32_System_IO",
+- "Win32_System_Ioctl",
+- "Win32_System_JobObjects",
+- "Win32_System_ProcessStatus",
+- "Win32_System_SystemServices",
+- "Win32_System_Threading",
+- "Win32_System_Time",
+-]
+-
+ [dev-dependencies]
+ pretty_assertions = "1.2"
+
+Index: rust/src/tools/compiletest/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/compiletest/Cargo.toml
++++ rust/src/tools/compiletest/Cargo.toml
+@@ -23,13 +23,3 @@ lazycell = "1.3.0"
+
+ [target.'cfg(unix)'.dependencies]
+ libc = "0.2"
+-
+-[target.'cfg(windows)'.dependencies]
+-miow = "0.5"
+-
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_Diagnostics_Debug",
+-]
+Index: rust/src/tools/rust-analyzer/crates/stdx/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/rust-analyzer/crates/stdx/Cargo.toml
++++ rust/src/tools/rust-analyzer/crates/stdx/Cargo.toml
+@@ -17,10 +17,6 @@ backtrace = { version = "0.3.65", option
+ always-assert = { version = "0.1.2", features = ["log"] }
+ # Think twice before adding anything here
+
+-[target.'cfg(windows)'.dependencies]
+-miow = "0.5.0"
+-winapi = { version = "0.3.9", features = ["winerror"] }
+-
+ [features]
+ # Uncomment to enable for the whole crate graph
+ # default = [ "backtrace" ]
+Index: rust/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
++++ rust/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
+@@ -67,12 +67,6 @@ tt.workspace = true
+ vfs-notify.workspace = true
+ vfs.workspace = true
+
+-[target.'cfg(windows)'.dependencies]
+-winapi = "0.3.9"
+-
+-[target.'cfg(not(target_env = "msvc"))'.dependencies]
+-jemallocator = { version = "0.5.0", package = "tikv-jemallocator", optional = true }
+-
+ [dev-dependencies]
+ expect-test = "1.4.0"
+ jod-thread = "0.1.2"
+Index: rust/src/tools/cargo/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/Cargo.toml
++++ rust/src/tools/cargo/Cargo.toml
+@@ -82,22 +82,6 @@ walkdir = "2.2"
+ # for more information.
+ rustc-workspace-hack = "1.0.0"
+
+-[target.'cfg(windows)'.dependencies]
+-fwdansi = "1.1.0"
+-
+-[target.'cfg(windows)'.dependencies.windows-sys]
+-version = "0.45"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+- "Win32_System_Console",
+- "Win32_System_IO",
+- "Win32_System_Threading",
+- "Win32_System_JobObjects",
+- "Win32_Security",
+- "Win32_System_SystemServices"
+-]
+-
+ [dev-dependencies]
+ cargo-test-macro = { path = "crates/cargo-test-macro" }
+ cargo-test-support = { path = "crates/cargo-test-support" }
+Index: rust/src/tools/cargo/crates/cargo-util/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/crates/cargo-util/Cargo.toml
++++ rust/src/tools/cargo/crates/cargo-util/Cargo.toml
+@@ -22,7 +22,3 @@ walkdir = "2.3.1"
+
+ [target.'cfg(target_os = "macos")'.dependencies]
+ core-foundation = { version = "0.9.0", features = ["mac_os_10_7_support"] }
+-
+-[target.'cfg(windows)'.dependencies]
+-miow = "0.5.0"
+-windows-sys = { version = "0.45.0", features = ["Win32_Storage_FileSystem", "Win32_Foundation", "Win32_System_Console"] }
+Index: rust/src/tools/cargo/crates/cargo-test-support/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/crates/cargo-test-support/Cargo.toml
++++ rust/src/tools/cargo/crates/cargo-test-support/Cargo.toml
+@@ -27,6 +27,3 @@ termcolor = "1.1.2"
+ time = { version = "0.3", features = ["parsing", "formatting"]}
+ toml = "0.7.0"
+ url = "2.2.2"
+-
+-[target.'cfg(windows)'.dependencies]
+-windows-sys = { version = "0.45.0", features = ["Win32_Storage_FileSystem"] }
+Index: rust/src/tools/cargo/crates/home/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/crates/home/Cargo.toml
++++ rust/src/tools/cargo/crates/home/Cargo.toml
+@@ -15,6 +15,3 @@ license = "MIT OR Apache-2.0"
+ readme = "README.md"
+ repository = "https://github.com/rust-lang/cargo"
+ description = "Shared definitions of home directories."
+-
+-[target.'cfg(windows)'.dependencies]
+-windows-sys = { version = "0.45.0", features = ["Win32_Foundation", "Win32_UI_Shell"] }
diff --git a/debian/patches/d-0021-vendor-remove-windows-dependencies.patch b/debian/patches/d-0021-vendor-remove-windows-dependencies.patch
new file mode 100644
index 000000000..9a2994a34
--- /dev/null
+++ b/debian/patches/d-0021-vendor-remove-windows-dependencies.patch
@@ -0,0 +1,844 @@
+From 1a6f5062adaad5d7f1a4f1cf792f4ee8c3c17e9f Mon Sep 17 00:00:00 2001
+From: liushuyu <zixing.liu@canonical.com>
+Date: Wed, 6 Sep 2023 13:23:24 -0600
+Subject: [PATCH] Remove Windows dependencies
+
+---
+ vendor/anstyle-wincon/Cargo.toml | 7 -------
+ vendor/compiletest_rs/Cargo.toml | 3 ---
+ vendor/concolor-query/Cargo.toml | 7 -------
+ vendor/errno/Cargo.toml | 7 -------
+ vendor/fd-lock/Cargo.toml | 8 --------
+ vendor/filetime/Cargo.toml | 7 -------
+ vendor/gix-sec/Cargo.toml | 10 ----------
+ vendor/home/Cargo.toml | 7 -------
+ vendor/io-lifetimes/Cargo.toml | 13 -------------
+ vendor/is-terminal/Cargo.toml | 8 --------
+ vendor/parking_lot_core/Cargo.toml | 9 ---------
+ vendor/rustix/Cargo.toml | 9 ---------
+ vendor/snapbox/Cargo.toml | 6 ------
+ vendor/tempfile/Cargo.toml | 7 -------
+ vendor/terminal_size/Cargo.toml | 7 -------
+ 15 files changed, 115 deletions(-)
+
+Index: rust/vendor/compiletest_rs/Cargo.toml
+===================================================================
+--- rust.orig/vendor/compiletest_rs/Cargo.toml
++++ rust/vendor/compiletest_rs/Cargo.toml
+@@ -74,10 +74,3 @@ tmp = ["tempfile"]
+
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+-
+-[target."cfg(windows)".dependencies.miow]
+-version = "0.3"
+-
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["winerror"]
+Index: rust/vendor/concolor-query/Cargo.toml
+===================================================================
+--- rust.orig/vendor/concolor-query/Cargo.toml
++++ rust/vendor/concolor-query/Cargo.toml
+@@ -33,10 +33,3 @@ keywords = [
+ categories = ["command-line-interface"]
+ license = "MIT OR Apache-2.0"
+ repository = "https://github.com/rust-cli/concolor"
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_System_Console",
+- "Win32_Foundation",
+-]
+Index: rust/vendor/errno/Cargo.toml
+===================================================================
+--- rust.orig/vendor/errno/Cargo.toml
++++ rust/vendor/errno/Cargo.toml
+@@ -40,10 +40,3 @@ version = "0.2"
+
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_Diagnostics_Debug",
+-]
+Index: rust/vendor/fd-lock/Cargo.toml
+===================================================================
+--- rust.orig/vendor/fd-lock/Cargo.toml
++++ rust/vendor/fd-lock/Cargo.toml
+@@ -43,11 +43,3 @@ version = "3.0.8"
+ [target."cfg(unix)".dependencies.rustix]
+ version = "0.37.0"
+ features = ["fs"]
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+- "Win32_System_IO",
+-]
+Index: rust/vendor/filetime/Cargo.toml
+===================================================================
+--- rust.orig/vendor/filetime/Cargo.toml
++++ rust/vendor/filetime/Cargo.toml
+@@ -38,10 +38,3 @@ version = "0.2.9"
+
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2.27"
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+-]
+Index: rust/vendor/gix-sec/Cargo.toml
+===================================================================
+--- rust.orig/vendor/gix-sec/Cargo.toml
++++ rust/vendor/gix-sec/Cargo.toml
+@@ -64,13 +64,3 @@ version = "4"
+
+ [target."cfg(windows)".dependencies.gix-path]
+ version = "^0.7.1"
+-
+-[target."cfg(windows)".dependencies.windows]
+-version = "0.43.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Security_Authorization",
+- "Win32_Storage_FileSystem",
+- "Win32_System_Memory",
+- "Win32_System_Threading",
+-]
+Index: rust/vendor/home/Cargo.toml
+===================================================================
+--- rust.orig/vendor/home/Cargo.toml
++++ rust/vendor/home/Cargo.toml
+@@ -27,10 +27,3 @@ readme = "README.md"
+ license = "MIT OR Apache-2.0"
+ repository = "https://github.com/brson/home"
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = [
+- "shlobj",
+- "std",
+- "winerror",
+-]
+Index: rust/vendor/io-lifetimes/Cargo.toml
+===================================================================
+--- rust.orig/vendor/io-lifetimes/Cargo.toml
++++ rust/vendor/io-lifetimes/Cargo.toml
+@@ -43,7 +43,6 @@ optional = true
+ close = [
+ "libc",
+ "hermit-abi",
+- "windows-sys",
+ ]
+ default = ["close"]
+
+@@ -85,15 +84,3 @@ optional = true
+ [target."cfg(target_os = \"hermit\")".dependencies.hermit-abi]
+ version = "0.3"
+ optional = true
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+- "Win32_Networking_WinSock",
+- "Win32_Security",
+- "Win32_System_IO",
+- "Win32_System_Threading",
+-]
+-optional = true
+Index: rust/vendor/is-terminal/Cargo.toml
+===================================================================
+--- rust.orig/vendor/is-terminal/Cargo.toml
++++ rust/vendor/is-terminal/Cargo.toml
+@@ -53,14 +53,3 @@ features = ["termios"]
+
+ [target."cfg(target_os = \"hermit\")".dependencies.hermit-abi]
+ version = "0.3.0"
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+- "Win32_System_Console",
+-]
+-
+-[target."cfg(windows)".dev-dependencies.tempfile]
+-version = "3"
+Index: rust/vendor/parking_lot_core/Cargo.toml
+===================================================================
+--- rust.orig/vendor/parking_lot_core/Cargo.toml
++++ rust/vendor/parking_lot_core/Cargo.toml
+@@ -58,11 +58,3 @@ version = "0.2.8"
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2.95"
+
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.42.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_LibraryLoader",
+- "Win32_System_SystemServices",
+- "Win32_System_WindowsProgramming",
+-]
+Index: rust/vendor/rustix/Cargo.toml
+===================================================================
+--- rust.orig/vendor/rustix/Cargo.toml
++++ rust/vendor/rustix/Cargo.toml
+@@ -233,14 +233,3 @@ package = "errno"
+ version = "1.5.2"
+ optional = true
+
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Networking_WinSock",
+- "Win32_NetworkManagement_IpHelper",
+- "Win32_System_Threading",
+-]
+-
+-[target."cfg(windows)".dev-dependencies.ctor]
+-version = "0.1.21"
+Index: rust/vendor/tempfile/Cargo.toml
+===================================================================
+--- rust.orig/vendor/tempfile/Cargo.toml
++++ rust/vendor/tempfile/Cargo.toml
+@@ -38,6 +38,3 @@ nightly = []
+ version = "0.2.27"
+ [target."cfg(target_os = \"redox\")".dependencies.redox_syscall]
+ version = "0.2.9"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["fileapi", "handleapi", "winbase"]
+Index: rust/vendor/terminal_size/Cargo.toml
+===================================================================
+--- rust.orig/vendor/terminal_size/Cargo.toml
++++ rust/vendor/terminal_size/Cargo.toml
+@@ -30,10 +30,3 @@ repository = "https://github.com/eminenc
+ [target."cfg(not(windows))".dependencies.rustix]
+ version = "0.36.3"
+ features = ["termios"]
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.42.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_Console",
+-]
+Index: rust/vendor/curl/Cargo.toml
+===================================================================
+--- rust.orig/vendor/curl/Cargo.toml
++++ rust/vendor/curl/Cargo.toml
+@@ -107,16 +107,6 @@ optional = true
+ version = "0.9.43"
+ optional = true
+
+-[target."cfg(target_env = \"msvc\")".dependencies.schannel]
+-version = "0.1.13"
+-
+-[target."cfg(target_env = \"msvc\")".dependencies.winapi]
+-version = "0.3"
+-features = [
+- "libloaderapi",
+- "wincrypt",
+-]
+-
+ [badges.appveyor]
+ repository = "alexcrichton/curl-rust"
+
+Index: rust/vendor/uuid/Cargo.toml
+===================================================================
+--- rust.orig/vendor/uuid/Cargo.toml
++++ rust/vendor/uuid/Cargo.toml
+@@ -64,7 +64,7 @@ version = "1.0.56"
+
+ [features]
+ default = ["std"]
+-guid = ["winapi"]
++guid = []
+ std = []
+ stdweb = ["getrandom", "getrandom/js"]
+ v1 = []
+@@ -72,9 +72,6 @@ v3 = ["md5"]
+ v4 = ["getrandom"]
+ v5 = ["sha1"]
+ wasm-bindgen = ["getrandom", "getrandom/js"]
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-optional = true
+ [badges.appveyor]
+ repository = "uuid-rs/uuid"
+
+Index: rust/vendor/anstream/Cargo.toml
+===================================================================
+--- rust.orig/vendor/anstream/Cargo.toml
++++ rust/vendor/anstream/Cargo.toml
+@@ -137,8 +137,5 @@ default = [
+ "auto",
+ "wincon",
+ ]
+-wincon = ["dep:anstyle-wincon"]
++wincon = []
+
+-[target."cfg(windows)".dependencies.anstyle-wincon]
+-version = "0.2.0"
+-optional = true
+Index: rust/vendor/atty/Cargo.toml
+===================================================================
+--- rust.orig/vendor/atty/Cargo.toml
++++ rust/vendor/atty/Cargo.toml
+@@ -27,8 +27,5 @@ version = "0.1.6"
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+ default-features = false
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["consoleapi", "processenv", "minwinbase", "minwindef", "winbase"]
+ [badges.travis-ci]
+ repository = "softprops/atty"
+Index: rust/vendor/backtrace/Cargo.toml
+===================================================================
+--- rust.orig/vendor/backtrace/Cargo.toml
++++ rust/vendor/backtrace/Cargo.toml
+@@ -127,18 +127,4 @@ serialize-serde = ["serde"]
+ std = []
+ unix-backtrace = []
+ verify-winapi = [
+- "winapi/dbghelp",
+- "winapi/handleapi",
+- "winapi/libloaderapi",
+- "winapi/memoryapi",
+- "winapi/minwindef",
+- "winapi/processthreadsapi",
+- "winapi/synchapi",
+- "winapi/tlhelp32",
+- "winapi/winbase",
+- "winapi/winnt",
+ ]
+-
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.9"
+-optional = true
+Index: rust/vendor/chrono/Cargo.toml
+===================================================================
+--- rust.orig/vendor/chrono/Cargo.toml
++++ rust/vendor/chrono/Cargo.toml
+@@ -93,7 +93,7 @@ version = "1"
+ __doctest = []
+ __internal_bench = []
+ alloc = []
+-clock = ["libc", "std", "winapi"]
++clock = ["libc", "std"]
+ default = ["clock", "std", "oldtime"]
+ oldtime = ["time"]
+ std = []
+@@ -108,10 +108,6 @@ version = "0.2"
+ optional = true
+ [target."cfg(all(target_arch = \"wasm32\", not(any(target_os = \"emscripten\", target_os = \"wasi\"))))".dev-dependencies.wasm-bindgen-test]
+ version = "0.3"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.0"
+-features = ["std", "minwinbase", "minwindef", "timezoneapi"]
+-optional = true
+ [badges.appveyor]
+ repository = "chronotope/chrono"
+
+Index: rust/vendor/colored/Cargo.toml
+===================================================================
+--- rust.orig/vendor/colored/Cargo.toml
++++ rust/vendor/colored/Cargo.toml
+@@ -33,7 +33,3 @@ version = "=1.0.0-beta.3"
+
+ [features]
+ no-color = []
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["consoleapi", "processenv", "winbase"]
+-default-features = false
+Index: rust/vendor/concolor/Cargo.toml
+===================================================================
+--- rust.orig/vendor/concolor/Cargo.toml
++++ rust/vendor/concolor/Cargo.toml
+@@ -59,7 +59,6 @@ auto = [
+ "clicolor",
+ "no_color",
+ "term",
+- "windows",
+ ]
+ clicolor = [
+ "core",
+@@ -82,7 +81,3 @@ term = [
+ "core",
+ "concolor-query",
+ ]
+-windows = [
+- "core",
+- "concolor-query/windows",
+-]
+Index: rust/vendor/curl-sys/Cargo.toml
+===================================================================
+--- rust.orig/vendor/curl-sys/Cargo.toml
++++ rust/vendor/curl-sys/Cargo.toml
+@@ -63,7 +63,6 @@ ssl = ["openssl-sys"]
+ static-curl = []
+ static-ssl = ["openssl-sys/vendored"]
+ upkeep_7_62_0 = []
+-windows-static-ssl = []
+ zlib-ng-compat = [
+ "libz-sys/zlib-ng",
+ "static-curl",
+@@ -73,16 +72,6 @@ zlib-ng-compat = [
+ version = "0.9"
+ optional = true
+
+-[target."cfg(target_env = \"msvc\")".build-dependencies.vcpkg]
+-version = "0.2"
+-
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = [
+- "winsock2",
+- "ws2def",
+-]
+-
+ [badges.appveyor]
+ repository = "alexcrichton/curl-rust"
+
+Index: rust/vendor/dirs-sys-next/Cargo.toml
+===================================================================
+--- rust.orig/vendor/dirs-sys-next/Cargo.toml
++++ rust/vendor/dirs-sys-next/Cargo.toml
+@@ -25,8 +25,5 @@ version = "0.4.0"
+ default-features = false
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["knownfolders", "objbase", "shlobj", "winbase", "winerror"]
+ [badges.maintenance]
+ status = "as-is"
+Index: rust/vendor/dirs-sys/Cargo.toml
+===================================================================
+--- rust.orig/vendor/dirs-sys/Cargo.toml
++++ rust/vendor/dirs-sys/Cargo.toml
+@@ -23,6 +23,3 @@ version = "0.4"
+ default-features = false
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["knownfolders", "objbase", "shlobj", "winbase", "winerror"]
+Index: rust/vendor/errno-0.2.8/Cargo.toml
+===================================================================
+--- rust.orig/vendor/errno-0.2.8/Cargo.toml
++++ rust/vendor/errno-0.2.8/Cargo.toml
+@@ -30,6 +30,3 @@ version = "0.2"
+ version = "0.2"
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["errhandlingapi", "minwindef", "ntdef", "winbase"]
+Index: rust/vendor/gix-discover/Cargo.toml
+===================================================================
+--- rust.orig/vendor/gix-discover/Cargo.toml
++++ rust/vendor/gix-discover/Cargo.toml
+@@ -60,6 +60,3 @@ version = "3.2.0"
+
+ [target."cfg(target_os = \"macos\")".dev-dependencies.defer]
+ version = "0.1.0"
+-
+-[target."cfg(windows)".dependencies.dunce]
+-version = "1.0.3"
+Index: rust/vendor/ignore/Cargo.toml
+===================================================================
+--- rust.orig/vendor/ignore/Cargo.toml
++++ rust/vendor/ignore/Cargo.toml
+@@ -57,5 +57,3 @@ version = "0.5.0"
+
+ [features]
+ simd-accel = ["globset/simd-accel"]
+-[target."cfg(windows)".dependencies.winapi-util]
+-version = "0.1.2"
+Index: rust/vendor/libloading/Cargo.toml
+===================================================================
+--- rust.orig/vendor/libloading/Cargo.toml
++++ rust/vendor/libloading/Cargo.toml
+@@ -43,9 +43,3 @@ version = "1.1"
+ [target."cfg(unix)".dependencies.cfg-if]
+ version = "1"
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = [
+- "errhandlingapi",
+- "libloaderapi",
+-]
+Index: rust/vendor/libssh2-sys/Cargo.toml
+===================================================================
+--- rust.orig/vendor/libssh2-sys/Cargo.toml
++++ rust/vendor/libssh2-sys/Cargo.toml
+@@ -47,9 +47,6 @@ openssl-on-win32 = ["openssl-sys"]
+ vendored-openssl = ["openssl-sys/vendored"]
+ zlib-ng-compat = ["libz-sys/zlib-ng"]
+
+-[target."cfg(target_env = \"msvc\")".build-dependencies.vcpkg]
+-version = "0.2"
+-
+ [target."cfg(unix)".dependencies.openssl-sys]
+ version = "0.9.35"
+
+Index: rust/vendor/nu-ansi-term/Cargo.toml
+===================================================================
+--- rust.orig/vendor/nu-ansi-term/Cargo.toml
++++ rust/vendor/nu-ansi-term/Cargo.toml
+@@ -45,13 +45,3 @@ version = "1.0.39"
+
+ [features]
+ derive_serde_style = ["serde"]
+-
+-[target."cfg(target_os=\"windows\")".dependencies.winapi]
+-version = "0.3.4"
+-features = [
+- "consoleapi",
+- "errhandlingapi",
+- "fileapi",
+- "handleapi",
+- "processenv",
+-]
+Index: rust/vendor/opener/Cargo.toml
+===================================================================
+--- rust.orig/vendor/opener/Cargo.toml
++++ rust/vendor/opener/Cargo.toml
+@@ -25,9 +25,6 @@ repository = "https://github.com/Seeker1
+ version = "0.9"
+ [target."cfg(target_os = \"linux\")".dependencies.bstr]
+ version = "0.2"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["shellapi"]
+ [badges.appveyor]
+ branch = "master"
+ repository = "Seeker14491/opener"
+Index: rust/vendor/os_info/Cargo.toml
+===================================================================
+--- rust.orig/vendor/os_info/Cargo.toml
++++ rust/vendor/os_info/Cargo.toml
+@@ -48,17 +48,3 @@ version = "1"
+ [features]
+ default = ["serde"]
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.8"
+-features = [
+- "minwindef",
+- "ntdef",
+- "ntstatus",
+- "sysinfoapi",
+- "winnt",
+- "winuser",
+- "libloaderapi",
+- "processthreadsapi",
+- "winerror",
+- "winreg",
+-]
+Index: rust/vendor/parking_lot_core-0.8.6/Cargo.toml
+===================================================================
+--- rust.orig/vendor/parking_lot_core-0.8.6/Cargo.toml
++++ rust/vendor/parking_lot_core-0.8.6/Cargo.toml
+@@ -60,15 +60,3 @@ version = "0.2.8"
+
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2.95"
+-
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.9"
+-features = [
+- "winnt",
+- "ntstatus",
+- "minwindef",
+- "winerror",
+- "winbase",
+- "errhandlingapi",
+- "handleapi",
+-]
+Index: rust/vendor/pretty_assertions/Cargo.toml
+===================================================================
+--- rust.orig/vendor/pretty_assertions/Cargo.toml
++++ rust/vendor/pretty_assertions/Cargo.toml
+@@ -43,8 +43,3 @@ default = ["std"]
+ std = []
+ unstable = []
+
+-[target."cfg(windows)".dependencies.ctor]
+-version = "0.1.9"
+-
+-[target."cfg(windows)".dependencies.output_vt100]
+-version = "0.1.2"
+Index: rust/vendor/remove_dir_all/Cargo.toml
+===================================================================
+--- rust.orig/vendor/remove_dir_all/Cargo.toml
++++ rust/vendor/remove_dir_all/Cargo.toml
+@@ -23,6 +23,3 @@ license = "MIT/Apache-2.0"
+ repository = "https://github.com/XAMPPRocky/remove_dir_all.git"
+ [dev-dependencies.doc-comment]
+ version = "0.3"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["std", "errhandlingapi", "winerror", "fileapi", "winbase"]
+Index: rust/vendor/rustix-0.36.5/Cargo.toml
+===================================================================
+--- rust.orig/vendor/rustix-0.36.5/Cargo.toml
++++ rust/vendor/rustix-0.36.5/Cargo.toml
+@@ -222,15 +222,3 @@ package = "errno"
+ [target."cfg(any(target_os = \"android\", target_os = \"linux\"))".dependencies.once_cell]
+ version = "1.5.2"
+ optional = true
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.42.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Networking_WinSock",
+- "Win32_NetworkManagement_IpHelper",
+- "Win32_System_Threading",
+-]
+-
+-[target."cfg(windows)".dev-dependencies.ctor]
+-version = "0.1.21"
+Index: rust/vendor/same-file/Cargo.toml
+===================================================================
+--- rust.orig/vendor/same-file/Cargo.toml
++++ rust/vendor/same-file/Cargo.toml
+@@ -25,5 +25,3 @@ license = "Unlicense/MIT"
+ repository = "https://github.com/BurntSushi/same-file"
+ [dev-dependencies.doc-comment]
+ version = "0.3"
+-[target."cfg(windows)".dependencies.winapi-util]
+-version = "0.1.1"
+Index: rust/vendor/socket2/Cargo.toml
+===================================================================
+--- rust.orig/vendor/socket2/Cargo.toml
++++ rust/vendor/socket2/Cargo.toml
+@@ -34,6 +34,3 @@ features = ["all"]
+ all = []
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2.96"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.9"
+-features = ["handleapi", "ws2ipdef", "ws2tcpip"]
+Index: rust/vendor/stacker/Cargo.toml
+===================================================================
+--- rust.orig/vendor/stacker/Cargo.toml
++++ rust/vendor/stacker/Cargo.toml
+@@ -44,12 +44,3 @@ version = "0.1.7"
+ [build-dependencies.cc]
+ version = "1.0.2"
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.6"
+-features = [
+- "memoryapi",
+- "winbase",
+- "fibersapi",
+- "processthreadsapi",
+- "minwindef",
+-]
+Index: rust/vendor/sysinfo/Cargo.toml
+===================================================================
+--- rust.orig/vendor/sysinfo/Cargo.toml
++++ rust/vendor/sysinfo/Cargo.toml
+@@ -60,41 +60,3 @@ version = "1.0"
+
+ [target."cfg(not(any(target_os = \"unknown\", target_arch = \"wasm32\")))".dependencies.libc]
+ version = "^0.2.112"
+-
+-[target."cfg(windows)".dependencies.ntapi]
+-version = "0.4"
+-
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.9"
+-features = [
+- "errhandlingapi",
+- "fileapi",
+- "handleapi",
+- "heapapi",
+- "ifdef",
+- "ioapiset",
+- "minwindef",
+- "pdh",
+- "psapi",
+- "synchapi",
+- "sysinfoapi",
+- "winbase",
+- "winerror",
+- "winioctl",
+- "winnt",
+- "oleauto",
+- "wbemcli",
+- "rpcdce",
+- "combaseapi",
+- "objidl",
+- "powerbase",
+- "netioapi",
+- "lmcons",
+- "lmaccess",
+- "lmapibuf",
+- "memoryapi",
+- "ntlsa",
+- "securitybaseapi",
+- "shellapi",
+- "std",
+-]
+Index: rust/vendor/term/Cargo.toml
+===================================================================
+--- rust.orig/vendor/term/Cargo.toml
++++ rust/vendor/term/Cargo.toml
+@@ -31,9 +31,6 @@ default = []
+ [target."cfg(windows)".dependencies.rustversion]
+ version = "1"
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["consoleapi", "wincon", "handleapi", "fileapi"]
+ [badges.appveyor]
+ repository = "Stebalien/term"
+
+Index: rust/vendor/termcolor/Cargo.toml
+===================================================================
+--- rust.orig/vendor/termcolor/Cargo.toml
++++ rust/vendor/termcolor/Cargo.toml
+@@ -36,5 +36,3 @@ bench = false
+
+ [dev-dependencies]
+
+-[target."cfg(windows)".dependencies.winapi-util]
+-version = "0.1.3"
+Index: rust/vendor/termize/Cargo.toml
+===================================================================
+--- rust.orig/vendor/termize/Cargo.toml
++++ rust/vendor/termize/Cargo.toml
+@@ -49,8 +49,5 @@ rpath = false
+ [dependencies]
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2.66"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.8"
+-features = ["handleapi", "processenv", "wincon", "winbase"]
+ [badges.cirrus-ci]
+ repository = "JohnTitor/termize"
+Index: rust/vendor/time-0.1.43/Cargo.toml
+===================================================================
+--- rust.orig/vendor/time-0.1.43/Cargo.toml
++++ rust/vendor/time-0.1.43/Cargo.toml
+@@ -29,10 +29,3 @@ version = "0.3"
+ optional = true
+ [dev-dependencies.log]
+ version = "0.4"
+-
+-[dev-dependencies.winapi]
+-version = "0.3.0"
+-features = ["std", "processthreadsapi", "winbase"]
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.0"
+-features = ["std", "minwinbase", "minwindef", "ntdef", "profileapi", "sysinfoapi", "timezoneapi"]
+Index: rust/vendor/tokio/Cargo.toml
+===================================================================
+--- rust.orig/vendor/tokio/Cargo.toml
++++ rust/vendor/tokio/Cargo.toml
+@@ -95,11 +95,11 @@ full = ["fs", "io-util", "io-std", "macr
+ io-std = []
+ io-util = ["memchr", "bytes"]
+ macros = ["tokio-macros"]
+-net = ["libc", "mio/os-poll", "mio/os-util", "mio/tcp", "mio/udp", "mio/uds", "winapi/namedpipeapi"]
+-process = ["bytes", "once_cell", "libc", "mio/os-poll", "mio/os-util", "mio/uds", "signal-hook-registry", "winapi/threadpoollegacyapiset"]
++net = ["libc", "mio/os-poll", "mio/os-util", "mio/tcp", "mio/udp", "mio/uds"]
++process = ["bytes", "once_cell", "libc", "mio/os-poll", "mio/os-util", "mio/uds", "signal-hook-registry"]
+ rt = []
+ rt-multi-thread = ["num_cpus", "rt"]
+-signal = ["once_cell", "libc", "mio/os-poll", "mio/uds", "mio/os-util", "signal-hook-registry", "winapi/consoleapi"]
++signal = ["once_cell", "libc", "mio/os-poll", "mio/uds", "mio/os-util", "signal-hook-registry"]
+ sync = []
+ test-util = []
+ time = []
+@@ -123,9 +123,3 @@ version = "0.2.42"
+
+ [target."cfg(unix)".dev-dependencies.nix]
+ version = "0.22.0"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.8"
+-optional = true
+-default-features = false
+-[target."cfg(windows)".dev-dependencies.ntapi]
+-version = "0.3.6"
+Index: rust/vendor/walkdir/Cargo.toml
+===================================================================
+--- rust.orig/vendor/walkdir/Cargo.toml
++++ rust/vendor/walkdir/Cargo.toml
+@@ -28,12 +28,7 @@ repository = "https://github.com/BurntSu
+ version = "1.0.1"
+ [dev-dependencies.doc-comment]
+ version = "0.3"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["std", "winnt"]
+
+-[target."cfg(windows)".dependencies.winapi-util]
+-version = "0.1.1"
+ [badges.appveyor]
+ repository = "BurntSushi/walkdir"
+
+Index: rust/vendor/yansi-term/Cargo.toml
+===================================================================
+--- rust.orig/vendor/yansi-term/Cargo.toml
++++ rust/vendor/yansi-term/Cargo.toml
+@@ -36,9 +36,6 @@ version = "1.0"
+
+ [features]
+ derive_serde_style = ["serde"]
+-[target."cfg(target_os=\"windows\")".dependencies.winapi]
+-version = "0.3.4"
+-features = ["consoleapi", "errhandlingapi", "fileapi", "handleapi", "processenv"]
+ [badges.maintenance]
+ status = "actively-developed"
+
+Index: rust/vendor/snapbox/Cargo.toml
+===================================================================
+--- rust.orig/vendor/snapbox/Cargo.toml
++++ rust/vendor/snapbox/Cargo.toml
+@@ -154,14 +154,6 @@ optional = true
+ version = "2.3.2"
+ optional = true
+
+-[dependencies.winapi]
+-version = "0.3.9"
+-features = [
+- "consoleapi",
+- "minwindef",
+-]
+-optional = true
+-
+ [dependencies.yansi]
+ version = "0.5.0"
+ optional = true
+@@ -171,7 +163,6 @@ cmd = [
+ "dep:os_pipe",
+ "dep:wait-timeout",
+ "dep:libc",
+- "dep:winapi",
+ ]
+ color = [
+ "dep:yansi",
diff --git a/debian/patches/d-armel-fix-lldb.patch b/debian/patches/d-armel-fix-lldb.patch
index 21072dbb1..4f7ac94b2 100644
--- a/debian/patches/d-armel-fix-lldb.patch
+++ b/debian/patches/d-armel-fix-lldb.patch
@@ -1,10 +1,10 @@
run panics if lldb is not installed and no output is produced..
-diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
-index c0fa8c9acb..2b5559efc7 100644
---- a/src/bootstrap/test.rs
-+++ b/src/bootstrap/test.rs
-@@ -1524,7 +1524,11 @@
+Index: rust/src/bootstrap/test.rs
+===================================================================
+--- rust.orig/src/bootstrap/test.rs
++++ rust/src/bootstrap/test.rs
+@@ -1619,7 +1619,11 @@ note: if you're sure you want to do this
.ok();
if let Some(ref vers) = lldb_version {
cmd.arg("--lldb-version").arg(vers);
diff --git a/debian/patches/d-bootstrap-cargo-check-cfg.patch b/debian/patches/d-bootstrap-cargo-check-cfg.patch
index cf633ae2b..65fbd07bc 100644
--- a/debian/patches/d-bootstrap-cargo-check-cfg.patch
+++ b/debian/patches/d-bootstrap-cargo-check-cfg.patch
@@ -1,11 +1,11 @@
our cargo doesn't know about the 'output' part yet, this patch can be dropped
with cargo >= 0.64
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 0ab4824ac0a..76c476f449b 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -1241,9 +1241,9 @@
+Index: rust/src/bootstrap/builder.rs
+===================================================================
+--- rust.orig/src/bootstrap/builder.rs
++++ rust/src/bootstrap/builder.rs
+@@ -1350,9 +1350,9 @@ impl<'a> Builder<'a> {
// complete list of features, so for that reason we don't enable checking of
// features for std crates.
cargo.arg(if mode != Mode::Std {
diff --git a/debian/patches/d-bootstrap-cargo-doc-paths.patch b/debian/patches/d-bootstrap-cargo-doc-paths.patch
index 8b6b5a82a..577bb704e 100644
--- a/debian/patches/d-bootstrap-cargo-doc-paths.patch
+++ b/debian/patches/d-bootstrap-cargo-doc-paths.patch
@@ -19,11 +19,11 @@ to not fail these links.
src/tools/linkchecker/main.rs | 6 ++++++
12 files changed, 38 insertions(+), 32 deletions(-)
-diff --git a/src/doc/edition-guide/src/editions/advanced-migrations.md b/src/doc/edition-guide/src/editions/advanced-migrations.md
-index b804ae6..b8136d7 100644
---- a/src/doc/edition-guide/src/editions/advanced-migrations.md
-+++ b/src/doc/edition-guide/src/editions/advanced-migrations.md
-@@ -186,18 +186,18 @@ Afterwards, the line with `extern crate rand;` in `src/lib.rs` will be removed.
+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!
@@ -49,11 +49,11 @@ index b804ae6..b8136d7 100644
[conditional compilation]: ../../reference/conditional-compilation.html
[documentation tests]: ../../rustdoc/documentation-tests.html
[JSON messages]: ../../rustc/json.html
-diff --git a/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md b/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
-index 4343529..7f7f0b6 100644
---- a/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
-+++ b/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 to consider running `cargo fix` again (
+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!
@@ -63,11 +63,11 @@ index 4343529..7f7f0b6 100644
+[`cargo test`]: ../../../cargo-doc/doc/commands/cargo-test.html
[Advanced migration strategies]: advanced-migrations.md
[nightly channel]: ../../book/appendix-07-nightly-rust.html
-diff --git a/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md b/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
-index 9abc5a6..dff04a4 100644
---- a/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
-+++ b/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
-@@ -21,11 +21,11 @@ The new feature resolver no longer merges all requested features for
+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.
@@ -83,17 +83,17 @@ index 9abc5a6..dff04a4 100644
## Migration
-@@ -176,4 +176,4 @@ This snippet of output shows that the project `foo` depends on `bar` with the "d
+@@ -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 --git a/src/doc/index.md b/src/doc/index.md
-index 2c92d5e..9be58d5 100644
---- a/src/doc/index.md
-+++ b/src/doc/index.md
-@@ -130,7 +130,7 @@
+Index: rust/src/doc/index.md
+===================================================================
+--- rust.orig/src/doc/index.md
++++ rust/src/doc/index.md
+@@ -130,7 +130,7 @@ their differences.
### The Cargo Book
@@ -102,11 +102,11 @@ index 2c92d5e..9be58d5 100644
dependency manager.
### The Rustdoc Book
-diff --git a/src/doc/reference/src/conditional-compilation.md b/src/doc/reference/src/conditional-compilation.md
-index 6966cec..0ca3589 100644
---- a/src/doc/reference/src/conditional-compilation.md
-+++ b/src/doc/reference/src/conditional-compilation.md
-@@ -370,6 +370,6 @@
+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
+@@ -370,6 +370,6 @@ println!("I'm running on a {} machine!",
[`target_feature` attribute]: attributes/codegen.md#the-target_feature-attribute
[attribute]: attributes.md
[attributes]: attributes.md
@@ -114,11 +114,11 @@ index 6966cec..0ca3589 100644
+[cargo-feature]: ../../cargo-doc/doc/reference/features.html
[crate type]: linkage.md
[static C runtime]: linkage.md#static-and-dynamic-c-runtimes
-diff --git a/src/doc/reference/src/introduction.md b/src/doc/reference/src/introduction.md
-index 9038efd..dbfbd39 100644
---- a/src/doc/reference/src/introduction.md
-+++ b/src/doc/reference/src/introduction.md
-@@ -135,8 +135,8 @@ We also want the reference to be as normative as possible, so if you see anythin
+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
@@ -129,10 +129,10 @@ index 9038efd..dbfbd39 100644
[expressions chapter]: expressions.html
[file an issue]: https://github.com/rust-lang/reference/issues
[lifetime of temporaries]: expressions.html#temporaries
-diff --git a/src/doc/reference/src/linkage.md b/src/doc/reference/src/linkage.md
-index b152005..14277bf 100644
---- a/src/doc/reference/src/linkage.md
-+++ b/src/doc/reference/src/linkage.md
+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() {
}
```
@@ -142,10 +142,10 @@ index b152005..14277bf 100644
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
-diff --git a/src/doc/reference/src/procedural-macros.md b/src/doc/reference/src/procedural-macros.md
-index d983394..6f363f6 100644
---- a/src/doc/reference/src/procedural-macros.md
-+++ b/src/doc/reference/src/procedural-macros.md
+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
@@ -331,7 +331,7 @@ Note that neither declarative nor proced
their equivalent `#[doc = r"str"]` attributes when passed to macros.
@@ -155,11 +155,11 @@ index d983394..6f363f6 100644
[Derive macros]: #derive-macros
[Function-like macros]: #function-like-procedural-macros
[`Delimiter::None`]: ../proc_macro/enum.Delimiter.html#variant.None
-diff --git a/src/doc/rustc/src/tests/index.md b/src/doc/rustc/src/tests/index.md
-index 32baed9..53c97f8 100644
---- a/src/doc/rustc/src/tests/index.md
-+++ b/src/doc/rustc/src/tests/index.md
-@@ -301,7 +301,7 @@ Experimental support for using custom test harnesses is available on the
+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
+@@ -301,7 +301,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
@@ -168,7 +168,7 @@ index 32baed9..53c97f8 100644
[`libtest`]: ../../test/index.html
[`main` function]: ../../reference/crates-and-source-files.html#main-functions
[`Result`]: ../../std/result/index.html
-@@ -311,7 +311,7 @@ Experimental support for using custom test harnesses is available on the
+@@ -311,7 +311,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
@@ -177,11 +177,11 @@ index 32baed9..53c97f8 100644
[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
-diff --git a/src/doc/rustc/src/what-is-rustc.md b/src/doc/rustc/src/what-is-rustc.md
-index 39a05cf..d106986 100644
---- a/src/doc/rustc/src/what-is-rustc.md
-+++ b/src/doc/rustc/src/what-is-rustc.md
-@@ -5,7 +5,7 @@ language, provided by the project itself. Compilers take your source code and
+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
@@ -190,11 +190,11 @@ index 39a05cf..d106986 100644
want to see how Cargo calls `rustc`, you can
```bash
-diff --git a/src/doc/edition-guide/book.toml b/src/doc/edition-guide/book.toml
-index 8d8b263..8d31dfe 100644
---- a/src/doc/edition-guide/book.toml
-+++ b/src/doc/edition-guide/book.toml
-@@ -53,15 +53,15 @@ git-repository-url = "https://github.com/rust-lang/edition-guide"
+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/"
@@ -218,17 +218,17 @@ index 8d8b263..8d31dfe 100644
"/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-lang/edition-guide"
+@@ -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"
-diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs
-index a22dc5f..c8d521a 100644
---- a/src/tools/linkchecker/main.rs
-+++ b/src/tools/linkchecker/main.rs
-@@ -262,6 +262,12 @@
+Index: rust/src/tools/linkchecker/main.rs
+===================================================================
+--- rust.orig/src/tools/linkchecker/main.rs
++++ rust/src/tools/linkchecker/main.rs
+@@ -262,6 +262,12 @@ impl Checker {
return;
}
}
@@ -304,7 +304,7 @@ Index: rust/src/doc/unstable-book/src/compiler-flags/sanitizer.md
===================================================================
--- rust.orig/src/doc/unstable-book/src/compiler-flags/sanitizer.md
+++ rust/src/doc/unstable-book/src/compiler-flags/sanitizer.md
-@@ -691,7 +691,7 @@ It is strongly recommended to combine sa
+@@ -709,7 +709,7 @@ It is strongly recommended to combine sa
instrumented standard library, for example using [cargo `-Zbuild-std`
functionality][build-std].
@@ -353,9 +353,9 @@ Index: rust/src/doc/rustc/src/linker-plugin-lto.md
environment variables:
Index: rust/src/doc/rustc/src/platform-support/fuchsia.md
===================================================================
---- a/src/doc/rustc/src/platform-support/fuchsia.md
-+++ b/src/doc/rustc/src/platform-support/fuchsia.md
-@@ -932,7 +932,7 @@
+--- rust.orig/src/doc/rustc/src/platform-support/fuchsia.md
++++ rust/src/doc/rustc/src/platform-support/fuchsia.md
+@@ -932,7 +932,7 @@ attach and load any relevant debug symbo
[Fuchsia]: https://fuchsia.dev/
[source tree]: https://fuchsia.dev/fuchsia-src/get-started/learn/build
[rustup]: https://rustup.rs/
diff --git a/debian/patches/d-bootstrap-custom-debuginfo-path.patch b/debian/patches/d-bootstrap-custom-debuginfo-path.patch
index 21aaf1f6b..156ac4e13 100644
--- a/debian/patches/d-bootstrap-custom-debuginfo-path.patch
+++ b/debian/patches/d-bootstrap-custom-debuginfo-path.patch
@@ -8,9 +8,11 @@ Subject: d-bootstrap-custom-debuginfo-path
src/test/codegen/remap_path_prefix/issue-73167-remap-std.rs | 2 +-
2 files changed, 3 insertions(+), 4 deletions(-)
---- a/src/bootstrap/lib.rs
-+++ b/src/bootstrap/lib.rs
-@@ -1053,10 +1053,9 @@
+Index: rust/src/bootstrap/lib.rs
+===================================================================
+--- rust.orig/src/bootstrap/lib.rs
++++ rust/src/bootstrap/lib.rs
+@@ -1011,10 +1011,9 @@ impl Build {
match which {
GitRepo::Rustc => {
@@ -23,10 +25,10 @@ Subject: d-bootstrap-custom-debuginfo-path
}
}
-diff --git a/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs b/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
-index b66abc6..f6efe1e 100644
---- a/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
-+++ b/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
+Index: rust/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
+===================================================================
+--- rust.orig/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
++++ rust/tests/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
diff --git a/debian/patches/d-bootstrap-disable-git.patch b/debian/patches/d-bootstrap-disable-git.patch
index 6f7f3f2e4..d7618adfe 100644
--- a/debian/patches/d-bootstrap-disable-git.patch
+++ b/debian/patches/d-bootstrap-disable-git.patch
@@ -10,9 +10,11 @@ Forwarded: not-needed
src/bootstrap/dist.rs | 5 ++++-
2 files changed, 9 insertions(+), 2 deletions(-)
---- a/src/bootstrap/channel.rs
-+++ b/src/bootstrap/channel.rs
-@@ -36,6 +36,12 @@
+Index: rust/src/bootstrap/channel.rs
+===================================================================
+--- rust.orig/src/bootstrap/channel.rs
++++ rust/src/bootstrap/channel.rs
+@@ -36,6 +36,12 @@ pub struct Info {
impl GitInfo {
pub fn new(omit_git_hash: bool, dir: &Path) -> GitInfo {
@@ -25,9 +27,11 @@ Forwarded: not-needed
// See if this even begins to look like a git dir
if !dir.join(".git").exists() {
match read_commit_info_file(dir) {
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -995,7 +995,10 @@
+Index: rust/src/bootstrap/dist.rs
+===================================================================
+--- rust.orig/src/bootstrap/dist.rs
++++ rust/src/bootstrap/dist.rs
+@@ -995,7 +995,10 @@ impl Step for PlainSourceTarball {
}
// If we're building from git sources, we need to vendor a complete distribution.
diff --git a/debian/patches/d-bootstrap-install-symlinks.patch b/debian/patches/d-bootstrap-install-symlinks.patch
index dbd902d9e..00f84e0c7 100644
--- a/debian/patches/d-bootstrap-install-symlinks.patch
+++ b/debian/patches/d-bootstrap-install-symlinks.patch
@@ -9,11 +9,11 @@ doesn't affect anything else that's already generated.
src/tools/rust-installer/install-template.sh | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
-diff --git a/src/tools/rust-installer/install-template.sh b/src/tools/rust-installer/install-template.sh
-index e68be89..a19997b 100644
---- a/src/tools/rust-installer/install-template.sh
-+++ b/src/tools/rust-installer/install-template.sh
-@@ -625,7 +625,10 @@ install_components() {
+Index: rust/src/tools/rust-installer/install-template.sh
+===================================================================
+--- rust.orig/src/tools/rust-installer/install-template.sh
++++ rust/src/tools/rust-installer/install-template.sh
+@@ -616,7 +616,10 @@ install_components() {
maybe_backup_path "$_file_install_path"
@@ -25,7 +25,7 @@ index e68be89..a19997b 100644
then
run cp "$_src_dir/$_component/$_file" "$_file_install_path"
run chmod 755 "$_file_install_path"
-@@ -647,7 +650,7 @@ install_components() {
+@@ -638,7 +641,7 @@ install_components() {
maybe_backup_path "$_file_install_path"
diff --git a/debian/patches/d-bootstrap-no-assume-tools.patch b/debian/patches/d-bootstrap-no-assume-tools.patch
index c72ec4d7f..9747f9ede 100644
--- a/debian/patches/d-bootstrap-no-assume-tools.patch
+++ b/debian/patches/d-bootstrap-no-assume-tools.patch
@@ -7,10 +7,10 @@ Subject: d-bootstrap-no-assume-tools
src/bootstrap/builder/tests.rs | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/src/bootstrap/builder/tests.rs b/src/bootstrap/builder/tests.rs
-index 4ab502e..5ce7fc8 100644
---- a/src/bootstrap/builder/tests.rs
-+++ b/src/bootstrap/builder/tests.rs
+Index: rust/src/bootstrap/builder/tests.rs
+===================================================================
+--- rust.orig/src/bootstrap/builder/tests.rs
++++ rust/src/bootstrap/builder/tests.rs
@@ -364,9 +364,13 @@ mod dist {
#[test]
fn dist_only_cross_host() {
diff --git a/debian/patches/d-bootstrap-old-cargo-compat.patch b/debian/patches/d-bootstrap-old-cargo-compat.patch
index a077e0c8f..0dacb4521 100644
--- a/debian/patches/d-bootstrap-old-cargo-compat.patch
+++ b/debian/patches/d-bootstrap-old-cargo-compat.patch
@@ -15,9 +15,11 @@ Subject: Backwards-compat for cargo 0.47
src/bootstrap/doc.rs | 3 ---
1 file changed, 3 deletions(-)
---- a/src/bootstrap/doc.rs
-+++ b/src/bootstrap/doc.rs
-@@ -612,7 +612,6 @@
+Index: rust/src/bootstrap/doc.rs
+===================================================================
+--- rust.orig/src/bootstrap/doc.rs
++++ rust/src/bootstrap/doc.rs
+@@ -613,7 +613,6 @@ fn doc_std(
.arg(&*target_dir.to_string_lossy())
.arg("-p")
.arg(package)
@@ -25,7 +27,7 @@ Subject: Backwards-compat for cargo 0.47
.arg("--")
.arg("-Z")
.arg("unstable-options")
-@@ -712,7 +711,6 @@
+@@ -713,7 +712,6 @@ impl Step for Rustc {
cargo.rustdocflag("--generate-link-to-definition");
compile::rustc_cargo(builder, &mut cargo, target, compiler.stage);
cargo.arg("-Zunstable-options");
@@ -33,7 +35,7 @@ Subject: Backwards-compat for cargo 0.47
// Only include compiler crates, no dependencies of those, such as `libc`.
// Do link to dependencies on `docs.rs` however using `rustdoc-map`.
-@@ -845,7 +843,6 @@
+@@ -846,7 +844,6 @@ macro_rules! tool_doc {
&[],
);
diff --git a/debian/patches/d-bootstrap-permit-symlink-in-docs.patch b/debian/patches/d-bootstrap-permit-symlink-in-docs.patch
index 4ccec3cd8..9f088a228 100644
--- a/debian/patches/d-bootstrap-permit-symlink-in-docs.patch
+++ b/debian/patches/d-bootstrap-permit-symlink-in-docs.patch
@@ -1,8 +1,10 @@
partial revert of b9eedea4b0368fd1f00f204db75109ff444fab5b upstream
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -77,6 +77,7 @@
+Index: rust/src/bootstrap/dist.rs
+===================================================================
+--- rust.orig/src/bootstrap/dist.rs
++++ rust/src/bootstrap/dist.rs
+@@ -81,6 +81,7 @@ impl Step for Docs {
tarball.set_product_name("Rust Documentation");
tarball.add_bulk_dir(&builder.doc_out(host), dest);
tarball.add_file(&builder.src.join("src/doc/robots.txt"), dest, 0o644);
diff --git a/debian/patches/d-bootstrap-read-beta-version-from-file.patch b/debian/patches/d-bootstrap-read-beta-version-from-file.patch
index 15ebb93c8..871110cca 100644
--- a/debian/patches/d-bootstrap-read-beta-version-from-file.patch
+++ b/debian/patches/d-bootstrap-read-beta-version-from-file.patch
@@ -7,9 +7,11 @@ Subject: d-bootstrap-read-beta-version-from-file
src/bootstrap/lib.rs | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
---- a/src/bootstrap/lib.rs
-+++ b/src/bootstrap/lib.rs
-@@ -1296,14 +1296,15 @@
+Index: rust/src/bootstrap/lib.rs
+===================================================================
+--- rust.orig/src/bootstrap/lib.rs
++++ rust/src/bootstrap/lib.rs
+@@ -1264,14 +1264,15 @@ impl Build {
return s;
}
diff --git a/debian/patches/d-bootstrap-rustflags.patch b/debian/patches/d-bootstrap-rustflags.patch
index f73c6ba2b..017325e06 100644
--- a/debian/patches/d-bootstrap-rustflags.patch
+++ b/debian/patches/d-bootstrap-rustflags.patch
@@ -7,9 +7,11 @@ Subject: d-bootstrap-rustflags
src/bootstrap/builder.rs | 12 ++++++++++++
1 file changed, 12 insertions(+)
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -1268,6 +1268,18 @@
+Index: rust/src/bootstrap/builder.rs
+===================================================================
+--- rust.orig/src/bootstrap/builder.rs
++++ rust/src/bootstrap/builder.rs
+@@ -1377,6 +1377,18 @@ impl<'a> Builder<'a> {
}
}
diff --git a/debian/patches/d-bootstrap-use-local-css.patch b/debian/patches/d-bootstrap-use-local-css.patch
index 72595d9d3..1ea9ac86a 100644
--- a/debian/patches/d-bootstrap-use-local-css.patch
+++ b/debian/patches/d-bootstrap-use-local-css.patch
@@ -7,9 +7,11 @@ Subject: d-bootstrap-use-local-css
src/bootstrap/doc.rs | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
---- a/src/bootstrap/doc.rs
-+++ b/src/bootstrap/doc.rs
-@@ -350,7 +350,27 @@
+Index: rust/src/bootstrap/doc.rs
+===================================================================
+--- rust.orig/src/bootstrap/doc.rs
++++ rust/src/bootstrap/doc.rs
+@@ -360,7 +360,27 @@ impl Step for Standalone {
.arg("--index-page")
.arg(&builder.src.join("src/doc/index.md"))
.arg("--markdown-playground-url")
@@ -38,7 +40,7 @@ Subject: d-bootstrap-use-local-css
.arg("-o")
.arg(&out)
.arg(&path);
-@@ -359,11 +379,6 @@
+@@ -369,11 +389,6 @@ impl Step for Standalone {
cmd.arg("--disable-minification");
}
diff --git a/debian/patches/d-fix-rustix-outline.patch b/debian/patches/d-fix-rustix-outline.patch
index f141bad58..52e152da1 100644
--- a/debian/patches/d-fix-rustix-outline.patch
+++ b/debian/patches/d-fix-rustix-outline.patch
@@ -3,38 +3,16 @@ Always enable cc even if the feature is not enabled.
Some Debian architectures need outline asm, and Debian does not ship pre-built
outline asm.
---- a/vendor/rustix/Cargo.toml
-+++ b/vendor/rustix/Cargo.toml
-@@ -125,9 +125,9 @@
- [dev-dependencies.tempfile]
- version = "3.4.0"
-
--[build-dependencies.cc]
-+[build-dependencies.cc_dep]
- version = "1.0.68"
--optional = true
-+package = "cc"
-
- [features]
- all-apis = [
-@@ -242,6 +242,7 @@
- "Win32_NetworkManagement_IpHelper",
- "Win32_System_Threading",
- ]
-+cc = []
-
- [target."cfg(windows)".dev-dependencies.ctor]
- version = "0.1.21"
---- a/vendor/rustix/build.rs
-+++ b/vendor/rustix/build.rs
-@@ -1,5 +1,4 @@
+Index: rust/vendor/rustix/build.rs
+===================================================================
+--- rust.orig/vendor/rustix/build.rs
++++ rust/vendor/rustix/build.rs
+@@ -1,4 +1,3 @@
-#[cfg(feature = "cc")]
--use cc::Build;
-+use cc_dep::Build;
+ use cc::Build;
use std::env::var;
use std::io::Write;
-
-@@ -158,16 +157,16 @@
+@@ -158,16 +157,16 @@ fn link_in_librustix_outline(arch: &str,
println!("cargo:rerun-if-changed={}", to);
// If "cc" is not enabled, use a pre-built library.
@@ -54,54 +32,15 @@ outline asm.
{
let out_dir = var("OUT_DIR").unwrap();
// Add `-gdwarf-3` so that we always get the same output, regardless of
---- a/vendor/rustix-0.36.5/Cargo.toml
-+++ b/vendor/rustix-0.36.5/Cargo.toml
-@@ -116,9 +116,9 @@
- [dev-dependencies.tempfile]
- version = "3.2.0"
+Index: rust/vendor/rustix/Cargo.toml
+===================================================================
+--- rust.orig/vendor/rustix/Cargo.toml
++++ rust/vendor/rustix/Cargo.toml
+@@ -127,7 +127,6 @@ version = "3.4.0"
--[build-dependencies.cc]
-+[build-dependencies.cc_dep]
+ [build-dependencies.cc]
version = "1.0.68"
-optional = true
-+package = "cc"
[features]
all-apis = [
-@@ -231,6 +231,7 @@
- "Win32_NetworkManagement_IpHelper",
- "Win32_System_Threading",
- ]
-+cc = []
-
- [target."cfg(windows)".dev-dependencies.ctor]
- version = "0.1.21"
---- a/vendor/rustix-0.36.5/build.rs
-+++ b/vendor/rustix-0.36.5/build.rs
-@@ -1,5 +1,4 @@
--#[cfg(feature = "cc")]
--use cc::Build;
-+use cc_dep::Build;
- use std::env::var;
- use std::io::Write;
-
-@@ -118,16 +117,16 @@
- println!("cargo:rerun-if-changed={}", to);
-
- // If "cc" is not enabled, use a pre-built library.
-- #[cfg(not(feature = "cc"))]
-+ /*#[cfg(not(feature = "cc"))]
- {
- let _ = asm_name;
- println!("cargo:rustc-link-search={}/{}", OUTLINE_PATH, profile);
- println!("cargo:rustc-link-lib=static={}", name);
-- }
-+ }*/
-
- // If "cc" is enabled, build the library from source, update the pre-built
- // version, and assert that the pre-built version is checked in.
-- #[cfg(feature = "cc")]
-+ //#[cfg(feature = "cc")]
- {
- let out_dir = var("OUT_DIR").unwrap();
- Build::new().file(&asm_name).compile(&name);
diff --git a/debian/patches/d-remove-arm-privacy-breaches.patch b/debian/patches/d-remove-arm-privacy-breaches.patch
index b1cf63a09..7bd488a0e 100644
--- a/debian/patches/d-remove-arm-privacy-breaches.patch
+++ b/debian/patches/d-remove-arm-privacy-breaches.patch
@@ -7,10 +7,10 @@ Subject: d-remove-arm-privacy-breaches
.../crates/stdarch-verify/arm-intrinsics.html | 134 ---------------------
1 file changed, 134 deletions(-)
-diff --git a/library/stdarch/crates/stdarch-verify/arm-intrinsics.html b/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
-index ac246c6..f945431 100644
---- a/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
-+++ b/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
+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">
@@ -94,7 +94,7 @@ index ac246c6..f945431 100644
<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'?'&l='+l:'';j.async=true;j.src=
+@@ -245,7 +190,6 @@ j=d.createElement(s),dl=l!='dataLayer'?'
<span class="navigation-dropdown-label">
<a href="/">
<span>
@@ -102,7 +102,7 @@ index ac246c6..f945431 100644
</span>
<i class="fa fa-caret-down"></i>
</a>
-@@ -437,7 +381,6 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+@@ -437,7 +381,6 @@ j=d.createElement(s),dl=l!='dataLayer'?'
</div>
@@ -110,7 +110,7 @@ index ac246c6..f945431 100644
</li>
</ul>
-@@ -93318,82 +93261,5 @@ names are the property of their respective holders. <a href="http://www.arm.com/
+@@ -93318,82 +93261,5 @@ names are the property of their respecti
</div>
diff --git a/debian/patches/d-rust-gdb-paths b/debian/patches/d-rust-gdb-paths
index 119365af3..ad02db260 100644
--- a/debian/patches/d-rust-gdb-paths
+++ b/debian/patches/d-rust-gdb-paths
@@ -11,10 +11,10 @@ just hardcode path in wrapper script.
src/etc/rust-gdbgui | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
-diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
-index b950cea..5ec8752 100755
---- a/src/etc/rust-gdbgui
-+++ b/src/etc/rust-gdbgui
+Index: rust/src/etc/rust-gdbgui
+===================================================================
+--- rust.orig/src/etc/rust-gdbgui
++++ rust/src/etc/rust-gdbgui
@@ -40,7 +40,7 @@ else
fi
diff --git a/debian/patches/d-rust-lldb-paths b/debian/patches/d-rust-lldb-paths
index 41f3b87b4..dddbec175 100644
--- a/debian/patches/d-rust-lldb-paths
+++ b/debian/patches/d-rust-lldb-paths
@@ -10,10 +10,10 @@ just hardcode path in wrapper script.
src/etc/rust-lldb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb
-index bce72f1..793f593 100755
---- a/src/etc/rust-lldb
-+++ b/src/etc/rust-lldb
+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')
diff --git a/debian/patches/d-rustc-add-soname.patch b/debian/patches/d-rustc-add-soname.patch
index cae59b5bc..1026b26b2 100644
--- a/debian/patches/d-rustc-add-soname.patch
+++ b/debian/patches/d-rustc-add-soname.patch
@@ -24,9 +24,11 @@ using a GNU linker).
compiler/rustc_codegen_ssa/src/back/link.rs | 7 +++++++
1 file changed, 7 insertions(+)
---- a/compiler/rustc_codegen_ssa/src/back/link.rs
-+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
-@@ -2241,6 +2241,13 @@
+Index: rust/compiler/rustc_codegen_ssa/src/back/link.rs
+===================================================================
+--- rust.orig/compiler/rustc_codegen_ssa/src/back/link.rs
++++ rust/compiler/rustc_codegen_ssa/src/back/link.rs
+@@ -2216,6 +2216,13 @@ fn add_order_independent_options(
}
add_rpath_args(cmd, sess, codegen_results, out_filename);
diff --git a/debian/patches/d-rustc-fix-mips64el-bootstrap.patch b/debian/patches/d-rustc-fix-mips64el-bootstrap.patch
index 8c1625e6c..3d2d8ff59 100644
--- a/debian/patches/d-rustc-fix-mips64el-bootstrap.patch
+++ b/debian/patches/d-rustc-fix-mips64el-bootstrap.patch
@@ -12,10 +12,10 @@ Bug: https://github.com/rust-lang/rust/issues/52108
src/test/assembly/asm/mips-types.rs | 1 +
4 files changed, 5 insertions(+), 2 deletions(-)
-diff --git a/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs b/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
-index fc5dbd1..b9df004 100644
---- a/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
-+++ b/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
+Index: rust/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
++++ rust/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
@@ -12,7 +12,7 @@ pub fn target() -> Target {
endian: Endian::Big,
// NOTE(mips64r2) matches C toolchain
@@ -25,10 +25,10 @@ index fc5dbd1..b9df004 100644
max_atomic_width: Some(64),
mcount: "_mcount".into(),
-diff --git a/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs b/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
-index e0d5f6f..57ad8c4 100644
---- a/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
-+++ b/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
+Index: rust/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
++++ rust/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
@@ -10,7 +10,7 @@ pub fn target() -> Target {
abi: "abi64".into(),
// NOTE(mips64r2) matches C toolchain
@@ -38,9 +38,11 @@ index e0d5f6f..57ad8c4 100644
max_atomic_width: Some(64),
mcount: "_mcount".into(),
---- a/src/bootstrap/bootstrap.py
-+++ b/src/bootstrap/bootstrap.py
-@@ -746,6 +746,8 @@
+Index: rust/src/bootstrap/bootstrap.py
+===================================================================
+--- rust.orig/src/bootstrap/bootstrap.py
++++ rust/src/bootstrap/bootstrap.py
+@@ -759,6 +759,8 @@ class RustBuild(object):
# preserve existing RUSTFLAGS
env.setdefault("RUSTFLAGS", "")
@@ -49,8 +51,10 @@ index e0d5f6f..57ad8c4 100644
target_features = []
if self.get_toml("crt-static", build_section) == "true":
target_features += ["+crt-static"]
---- a/tests/assembly/asm/mips-types.rs
-+++ b/tests/assembly/asm/mips-types.rs
+Index: rust/tests/assembly/asm/mips-types.rs
+===================================================================
+--- rust.orig/tests/assembly/asm/mips-types.rs
++++ rust/tests/assembly/asm/mips-types.rs
@@ -1,3 +1,4 @@
+// ignore-test
// revisions: mips32 mips64
diff --git a/debian/patches/d-rustc-windows-ssp.patch b/debian/patches/d-rustc-windows-ssp.patch
index 158195d05..46b20fb97 100644
--- a/debian/patches/d-rustc-windows-ssp.patch
+++ b/debian/patches/d-rustc-windows-ssp.patch
@@ -7,9 +7,11 @@ Bug: https://github.com/rust-lang/rust/issues/68973
compiler/rustc_target/src/spec/windows_gnu_base.rs | 2 ++
1 file changed, 2 insertions(+)
---- a/compiler/rustc_target/src/spec/windows_gnu_base.rs
-+++ b/compiler/rustc_target/src/spec/windows_gnu_base.rs
-@@ -41,6 +41,8 @@
+Index: rust/compiler/rustc_target/src/spec/windows_gnu_base.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/windows_gnu_base.rs
++++ rust/compiler/rustc_target/src/spec/windows_gnu_base.rs
+@@ -41,6 +41,8 @@ pub fn opts() -> TargetOptions {
"-lmsvcrt",
"-luser32",
"-lkernel32",
diff --git a/debian/patches/d-rustdoc-disable-embedded-fonts.patch b/debian/patches/d-rustdoc-disable-embedded-fonts.patch
index 3213db6a5..99fa7d251 100644
--- a/debian/patches/d-rustdoc-disable-embedded-fonts.patch
+++ b/debian/patches/d-rustdoc-disable-embedded-fonts.patch
@@ -9,9 +9,11 @@ Subject: d-rustdoc-disable-embedded-fonts
src/librustdoc/html/static_files.rs | 23 -----------------------
3 files changed, 33 deletions(-)
---- a/src/librustdoc/html/static/css/rustdoc.css
-+++ b/src/librustdoc/html/static/css/rustdoc.css
-@@ -67,14 +67,6 @@
+Index: rust/src/librustdoc/html/static/css/rustdoc.css
+===================================================================
+--- rust.orig/src/librustdoc/html/static/css/rustdoc.css
++++ rust/src/librustdoc/html/static/css/rustdoc.css
+@@ -79,14 +79,6 @@
font-display: swap;
}
@@ -26,9 +28,11 @@ Subject: d-rustdoc-disable-embedded-fonts
* {
box-sizing: border-box;
}
---- a/src/librustdoc/html/static_files.rs
-+++ b/src/librustdoc/html/static_files.rs
-@@ -126,8 +126,6 @@
+Index: rust/src/librustdoc/html/static_files.rs
+===================================================================
+--- rust.orig/src/librustdoc/html/static_files.rs
++++ rust/src/librustdoc/html/static_files.rs
+@@ -123,8 +123,6 @@ static_files! {
source_code_pro_semibold => "static/fonts/SourceCodePro-Semibold.ttf.woff2",
source_code_pro_italic => "static/fonts/SourceCodePro-It.ttf.woff2",
source_code_pro_license => "static/fonts/SourceCodePro-LICENSE.txt",
diff --git a/debian/patches/d-test-ignore-avx-44056.patch b/debian/patches/d-test-ignore-avx-44056.patch
index 5448b7ad5..5d6c971af 100644
--- a/debian/patches/d-test-ignore-avx-44056.patch
+++ b/debian/patches/d-test-ignore-avx-44056.patch
@@ -9,10 +9,10 @@ Bug: https://github.com/rust-lang/rust/pull/55667
src/test/ui/issues/issue-44056.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/tests/ui/issues/issue-44056.rs b/tests/ui/issues/issue-44056.rs
-index a4903ed..ebe8402 100644
---- a/tests/ui/issues/issue-44056.rs
-+++ b/tests/ui/issues/issue-44056.rs
+Index: rust/tests/ui/issues/issue-44056.rs
+===================================================================
+--- rust.orig/tests/ui/issues/issue-44056.rs
++++ rust/tests/ui/issues/issue-44056.rs
@@ -1,5 +1,5 @@
// build-pass (FIXME(55996): should be run on targets supporting avx)
-// only-x86_64
diff --git a/debian/patches/series b/debian/patches/series
index 855cac4b6..2f6094730 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,11 @@
+# Cargo patches
+c-2002_disable-net-tests.patch
+c-2003-workaround-qemu-vfork-command-not-found.patch
+
+c-2200-workaround-x32-test.patch
+c-disable-fs-specific-test.patch
+c-0003-tests-add-missing-cross-disabled-checks.patch
+
# Patches for upstream
# pending, or forwarded
@@ -23,8 +31,12 @@ d-0000-ignore-removed-submodules.patch
d-0001-pkg-config-no-special-snowflake.patch
d-0002-mdbook-strip-embedded-libs.patch
d-0003-cc-psm-rebuild-wasm32.patch
-d-0004-clippy-feature-sync.patch
+#d-0004-clippy-feature-sync.patch
d-0005-no-jemalloc.patch
+# cargo
+d-0010-cargo-remove-vendored-c-crates.patch
+d-0011-cargo-remove-nghttp2.patch
+d-0012-cargo-always-return-dev-channel.patch
## Patches to the build process, including doc path tweaks
## Should not change resulting rustc behaviour
@@ -62,3 +74,6 @@ d-rustdoc-disable-embedded-fonts.patch
# cherry-picked from ubuntu
ubuntu-disable-ppc64el-asm-tests.patch
ubuntu-ignore-arm-doctest.patch
+d-0020-remove-windows-dependencies.patch
+d-0021-vendor-remove-windows-dependencies.patch
+c-update-libgit2.patch
diff --git a/debian/patches/u-disable-fp-precision-test-on-i386.patch b/debian/patches/u-disable-fp-precision-test-on-i386.patch
index cb6144650..dad261349 100644
--- a/debian/patches/u-disable-fp-precision-test-on-i386.patch
+++ b/debian/patches/u-disable-fp-precision-test-on-i386.patch
@@ -11,11 +11,11 @@ Forwarded: https://github.com/rust-lang/rust/pull/114042
library/core/src/num/f32.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/library/core/src/num/f32.rs b/library/core/src/num/f32.rs
-index d050d21c8c57..f5c2d1c6bf68 100644
---- a/library/core/src/num/f32.rs
-+++ b/library/core/src/num/f32.rs
-@@ -800,7 +800,7 @@ impl f32 {
+Index: rust/library/core/src/num/f32.rs
+===================================================================
+--- rust.orig/library/core/src/num/f32.rs
++++ rust/library/core/src/num/f32.rs
+@@ -799,7 +799,7 @@ impl f32 {
/// let angle = std::f32::consts::PI;
///
/// let abs_difference = (angle.to_degrees() - 180.0).abs();
diff --git a/debian/patches/u-fix-get-toml-when-test.patch b/debian/patches/u-fix-get-toml-when-test.patch
index 2b170977c..34789ecae 100644
--- a/debian/patches/u-fix-get-toml-when-test.patch
+++ b/debian/patches/u-fix-get-toml-when-test.patch
@@ -6,9 +6,11 @@ Bug: https://github.com/rust-lang/rust/issues/105766
Last-Update: 2023-03-29
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/bootstrap/config.rs
-+++ b/src/bootstrap/config.rs
-@@ -823,9 +823,9 @@
+Index: rust/src/bootstrap/config.rs
+===================================================================
+--- rust.orig/src/bootstrap/config.rs
++++ rust/src/bootstrap/config.rs
+@@ -848,9 +848,9 @@ impl Config {
}
pub fn parse(args: &[String]) -> Config {
@@ -20,7 +22,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
let get_toml = |file: &Path| {
let contents =
t!(fs::read_to_string(file), format!("config file {} not found", file.display()));
-@@ -834,7 +834,23 @@
+@@ -859,7 +859,23 @@ impl Config {
match toml::from_str(&contents)
.and_then(|table: toml::Value| TomlConfig::deserialize(table))
{
diff --git a/debian/patches/u-ignore-endian-big-diff.patch b/debian/patches/u-ignore-endian-big-diff.patch
index 73bb776c3..faa270173 100644
--- a/debian/patches/u-ignore-endian-big-diff.patch
+++ b/debian/patches/u-ignore-endian-big-diff.patch
@@ -14,43 +14,55 @@ Bug: https://github.com/rust-lang/rust/issues/89577
src/test/ui/consts/const-eval/ub-wide-ptr.rs | 1 +
6 files changed, 6 insertions(+)
---- a/tests/ui/consts/const-eval/ub-enum.rs
-+++ b/tests/ui/consts/const-eval/ub-enum.rs
+Index: rust/tests/ui/consts/const-eval/ub-enum.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-enum.rs
++++ rust/tests/ui/consts/const-eval/ub-enum.rs
@@ -1,3 +1,4 @@
+// ignore-test
// stderr-per-bitwidth
// Strip out raw byte dumps to make comparison platform-independent:
// normalize-stderr-test "(the raw bytes of the constant) \(size: [0-9]*, align: [0-9]*\)" -> "$1 (size: $$SIZE, align: $$ALIGN)"
---- a/tests/ui/consts/const-eval/ub-int-array.rs
-+++ b/tests/ui/consts/const-eval/ub-int-array.rs
+Index: rust/tests/ui/consts/const-eval/ub-int-array.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-int-array.rs
++++ rust/tests/ui/consts/const-eval/ub-int-array.rs
@@ -1,3 +1,4 @@
+// ignore-test
// stderr-per-bitwidth
//! Test the "array of int" fast path in validity checking, and in particular whether it
//! points at the right array element.
---- a/tests/ui/consts/const-eval/ub-nonnull.rs
-+++ b/tests/ui/consts/const-eval/ub-nonnull.rs
+Index: rust/tests/ui/consts/const-eval/ub-nonnull.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-nonnull.rs
++++ rust/tests/ui/consts/const-eval/ub-nonnull.rs
@@ -1,3 +1,4 @@
+// ignore-test
// Strip out raw byte dumps to make comparison platform-independent:
// normalize-stderr-test "(the raw bytes of the constant) \(size: [0-9]*, align: [0-9]*\)" -> "$1 (size: $$SIZE, align: $$ALIGN)"
// normalize-stderr-test "([0-9a-f][0-9a-f] |╾─*a(lloc)?[0-9]+(\+[a-z0-9]+)?─*╼ )+ *│.*" -> "HEX_DUMP"
---- a/tests/ui/consts/const-eval/ub-ref-ptr.rs
-+++ b/tests/ui/consts/const-eval/ub-ref-ptr.rs
+Index: rust/tests/ui/consts/const-eval/ub-ref-ptr.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-ref-ptr.rs
++++ rust/tests/ui/consts/const-eval/ub-ref-ptr.rs
@@ -1,3 +1,4 @@
+// ignore-test
// ignore-tidy-linelength
// Strip out raw byte dumps to make comparison platform-independent:
// normalize-stderr-test "(the raw bytes of the constant) \(size: [0-9]*, align: [0-9]*\)" -> "$1 (size: $$SIZE, align: $$ALIGN)"
---- a/tests/ui/consts/const-eval/ub-uninhabit.rs
-+++ b/tests/ui/consts/const-eval/ub-uninhabit.rs
+Index: rust/tests/ui/consts/const-eval/ub-uninhabit.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-uninhabit.rs
++++ rust/tests/ui/consts/const-eval/ub-uninhabit.rs
@@ -1,3 +1,4 @@
+// ignore-test
// Strip out raw byte dumps to make comparison platform-independent:
// normalize-stderr-test "(the raw bytes of the constant) \(size: [0-9]*, align: [0-9]*\)" -> "$1 (size: $$SIZE, align: $$ALIGN)"
// normalize-stderr-test "([0-9a-f][0-9a-f] |╾─*a(lloc)?[0-9]+(\+[a-z0-9]+)?─*╼ )+ *│.*" -> "HEX_DUMP"
---- a/tests/ui/consts/const-eval/ub-wide-ptr.rs
-+++ b/tests/ui/consts/const-eval/ub-wide-ptr.rs
+Index: rust/tests/ui/consts/const-eval/ub-wide-ptr.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-wide-ptr.rs
++++ rust/tests/ui/consts/const-eval/ub-wide-ptr.rs
@@ -1,3 +1,4 @@
+// ignore-test
// ignore-tidy-linelength
diff --git a/debian/patches/u-ignore-ppc-hangs.patch b/debian/patches/u-ignore-ppc-hangs.patch
index 4e35cebb0..705476199 100644
--- a/debian/patches/u-ignore-ppc-hangs.patch
+++ b/debian/patches/u-ignore-ppc-hangs.patch
@@ -8,10 +8,10 @@ Bug: https://github.com/rust-lang/rust/issues/89607
library/alloc/tests/rc.rs | 1 +
2 files changed, 2 insertions(+)
-diff --git a/library/alloc/tests/arc.rs b/library/alloc/tests/arc.rs
-index ce40b5c..e99ebf5 100644
---- a/library/alloc/tests/arc.rs
-+++ b/library/alloc/tests/arc.rs
+Index: rust/library/alloc/tests/arc.rs
+===================================================================
+--- rust.orig/library/alloc/tests/arc.rs
++++ rust/library/alloc/tests/arc.rs
@@ -96,6 +96,7 @@ const SHARED_ITER_MAX: u16 = 100;
fn assert_trusted_len<I: TrustedLen>(_: &I) {}
@@ -20,10 +20,10 @@ index ce40b5c..e99ebf5 100644
#[test]
fn shared_from_iter_normal() {
// Exercise the base implementation for non-`TrustedLen` iterators.
-diff --git a/library/alloc/tests/rc.rs b/library/alloc/tests/rc.rs
-index efb39a6..b2f0e04 100644
---- a/library/alloc/tests/rc.rs
-+++ b/library/alloc/tests/rc.rs
+Index: rust/library/alloc/tests/rc.rs
+===================================================================
+--- rust.orig/library/alloc/tests/rc.rs
++++ rust/library/alloc/tests/rc.rs
@@ -92,6 +92,7 @@ const SHARED_ITER_MAX: u16 = 100;
fn assert_trusted_len<I: TrustedLen>(_: &I) {}
diff --git a/debian/patches/u-reproducible-build.patch b/debian/patches/u-reproducible-build.patch
index 1167d1f08..f0823703e 100644
--- a/debian/patches/u-reproducible-build.patch
+++ b/debian/patches/u-reproducible-build.patch
@@ -7,11 +7,11 @@ Bug: https://github.com/rust-lang/rust/issues/34902
compiler/rustc_llvm/build.rs | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs
-index 7729ec6..b8f67ee 100644
---- a/compiler/rustc_llvm/build.rs
-+++ b/compiler/rustc_llvm/build.rs
-@@ -179,6 +179,11 @@ fn main() {
+Index: rust/compiler/rustc_llvm/build.rs
+===================================================================
+--- rust.orig/compiler/rustc_llvm/build.rs
++++ rust/compiler/rustc_llvm/build.rs
+@@ -180,6 +180,11 @@ fn main() {
let mut cfg = cc::Build::new();
cfg.warnings(false);
for flag in cxxflags.split_whitespace() {
diff --git a/debian/patches/u-reproducible-dl-stage0.patch b/debian/patches/u-reproducible-dl-stage0.patch
index 0ac05cb8b..1d0527d2c 100644
--- a/debian/patches/u-reproducible-dl-stage0.patch
+++ b/debian/patches/u-reproducible-dl-stage0.patch
@@ -7,11 +7,11 @@ Subject: u-reproducible-dl-stage0
src/bootstrap/bootstrap.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
-index ab4338e..0227735 100644
---- a/src/bootstrap/bootstrap.py
-+++ b/src/bootstrap/bootstrap.py
-@@ -92,7 +92,7 @@
+Index: rust/src/bootstrap/bootstrap.py
+===================================================================
+--- rust.orig/src/bootstrap/bootstrap.py
++++ rust/src/bootstrap/bootstrap.py
+@@ -92,7 +92,7 @@ def _download(path, url, probably_big, v
"-L", # Follow redirect.
"-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 --git a/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch b/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch
index 429501b39..c7dd9de9d 100644
--- a/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch
+++ b/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch
@@ -3,10 +3,10 @@ Description: explicitly disable split unpacked debuginfo for now on riscv64,
https://github.com/llvm/llvm-project/issues/56642
https://github.com/rust-lang/rust/issues/110224Z
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
-index 8281bac10f..ad1fc624ad 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
@@ -1,4 +1,5 @@
-use crate::spec::{CodeModel, Target, TargetOptions};
+use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
@@ -22,10 +22,10 @@ index 8281bac10f..ad1fc624ad 100644
..super::freebsd_base::opts()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
-index 0585ed76fe..69d11081ac 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
@@ -1,4 +1,5 @@
-use crate::spec::{CodeModel, SanitizerSet, Target, TargetOptions};
+use crate::spec::{CodeModel, SanitizerSet, SplitDebuginfo, Target, TargetOptions};
@@ -41,10 +41,10 @@ index 0585ed76fe..69d11081ac 100644
..super::fuchsia_base::opts()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
-index 90dccb2806..8114e024d1 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
@@ -1,4 +1,5 @@
-use crate::spec::{CodeModel, Target, TargetOptions};
+use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
@@ -60,10 +60,10 @@ index 90dccb2806..8114e024d1 100644
..super::linux_gnu_base::opts()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
-index 1a56c78e68..67dbd2f740 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
@@ -1,4 +1,5 @@
-use crate::spec::{CodeModel, Target, TargetOptions};
+use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
@@ -79,10 +79,10 @@ index 1a56c78e68..67dbd2f740 100644
..super::linux_musl_base::opts()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
-index ab3c14e3fe..a47b63dc94 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
@@ -1,5 +1,6 @@
use crate::spec::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy};
-use crate::spec::{RelocModel, Target, TargetOptions};
@@ -99,10 +99,10 @@ index ab3c14e3fe..a47b63dc94 100644
..Default::default()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
-index ade9d77624..b04cea8850 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
@@ -1,4 +1,5 @@
-use crate::spec::{CodeModel, Target, TargetOptions};
+use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
@@ -118,10 +118,10 @@ index ade9d77624..b04cea8850 100644
..super::openbsd_base::opts()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs b/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
-index 0f1821c998..1bec356dcd 100644
---- a/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
-+++ b/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
++++ rust/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
@@ -1,5 +1,6 @@
use crate::spec::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy};
-use crate::spec::{RelocModel, SanitizerSet, Target, TargetOptions};
diff --git a/debian/patches/u-rustc-llvm-cross-flags.patch b/debian/patches/u-rustc-llvm-cross-flags.patch
index 226485b08..19b6d82c8 100644
--- a/debian/patches/u-rustc-llvm-cross-flags.patch
+++ b/debian/patches/u-rustc-llvm-cross-flags.patch
@@ -7,9 +7,11 @@ Subject: u-rustc-llvm-cross-flags
compiler/rustc_llvm/build.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---- a/compiler/rustc_llvm/build.rs
-+++ b/compiler/rustc_llvm/build.rs
-@@ -304,7 +304,7 @@
+Index: rust/compiler/rustc_llvm/build.rs
+===================================================================
+--- rust.orig/compiler/rustc_llvm/build.rs
++++ rust/compiler/rustc_llvm/build.rs
+@@ -305,7 +305,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 --git a/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch b/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch
index 7cb501e76..d947a6950 100644
--- a/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch
+++ b/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch
@@ -1,6 +1,8 @@
---- a/compiler/rustc_lint_defs/src/builtin.rs
-+++ b/compiler/rustc_lint_defs/src/builtin.rs
-@@ -2883,11 +2883,13 @@
+Index: rust/compiler/rustc_lint_defs/src/builtin.rs
+===================================================================
+--- rust.orig/compiler/rustc_lint_defs/src/builtin.rs
++++ rust/compiler/rustc_lint_defs/src/builtin.rs
+@@ -2880,11 +2880,13 @@ declare_lint! {
///
/// use std::arch::asm;
///
@@ -14,9 +16,11 @@
/// #[naked]
/// pub extern "Rust" fn rust_abi() -> u32 {
/// unsafe { asm!("", options(noreturn)); }
---- a/compiler/rustc_lint/src/builtin.rs
-+++ b/compiler/rustc_lint/src/builtin.rs
-@@ -3238,7 +3238,10 @@
+Index: rust/compiler/rustc_lint/src/builtin.rs
+===================================================================
+--- rust.orig/compiler/rustc_lint/src/builtin.rs
++++ rust/compiler/rustc_lint/src/builtin.rs
+@@ -3110,7 +3110,10 @@ declare_lint! {
/// ### Example
///
/// ```rust,compile_fail
diff --git a/debian/patches/ubuntu-ignore-arm-doctest.patch b/debian/patches/ubuntu-ignore-arm-doctest.patch
index b67b7d2ef..a70e4741f 100644
--- a/debian/patches/ubuntu-ignore-arm-doctest.patch
+++ b/debian/patches/ubuntu-ignore-arm-doctest.patch
@@ -5,9 +5,11 @@ Bug: https://github.com/rust-lang/rust/issues/83453
Last-Update: 2022-02-23
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/compiler/rustc_error_codes/src/error_codes/E0778.md
-+++ b/compiler/rustc_error_codes/src/error_codes/E0778.md
-@@ -16,7 +16,7 @@
+Index: rust/compiler/rustc_error_codes/src/error_codes/E0778.md
+===================================================================
+--- rust.orig/compiler/rustc_error_codes/src/error_codes/E0778.md
++++ rust/compiler/rustc_error_codes/src/error_codes/E0778.md
+@@ -16,7 +16,7 @@ specified:
```
#![feature(isa_attribute)]
@@ -16,7 +18,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
fn something() {}
```
-@@ -25,7 +25,7 @@
+@@ -25,7 +25,7 @@ or:
```
#![feature(isa_attribute)]
@@ -25,9 +27,11 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
fn something() {}
```
---- a/compiler/rustc_error_codes/src/error_codes/E0779.md
-+++ b/compiler/rustc_error_codes/src/error_codes/E0779.md
-@@ -21,7 +21,7 @@
+Index: rust/compiler/rustc_error_codes/src/error_codes/E0779.md
+===================================================================
+--- rust.orig/compiler/rustc_error_codes/src/error_codes/E0779.md
++++ rust/compiler/rustc_error_codes/src/error_codes/E0779.md
+@@ -21,7 +21,7 @@ error. Example:
```
#![feature(isa_attribute)]
diff --git a/debian/prune-unused-deps b/debian/prune-unused-deps
index 32063b14e..5807b4a4c 100755
--- a/debian/prune-unused-deps
+++ b/debian/prune-unused-deps
@@ -17,7 +17,7 @@ done
test -f Cargo.lock.orig || cp Cargo.lock Cargo.lock.orig
test -f src/bootstrap/Cargo.lock.orig || cp src/bootstrap/Cargo.lock src/bootstrap/Cargo.lock.orig
test -f src/tools/rust-analyzer/Cargo.lock.orig || cp src/tools/rust-analyzer/Cargo.lock src/tools/rust-analyzer/Cargo.lock.orig
-rm -f Cargo.lock src/bootstrap/Cargo.lock src/tools/rust-analyzer/Cargo.lock
+rm -f Cargo.lock src/bootstrap/Cargo.lock src/tools/rust-analyzer/Cargo.lock src/tools/cargo/Cargo.lock
find vendor -name .cargo-checksum.json -execdir "$scriptdir/debian/prune-checksums" "{}" +
diff --git a/debian/rules b/debian/rules
index b728731aa..0d8f0825b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -36,6 +36,8 @@ DEB_DESTDIR := $(CURDIR)/debian/tmp
# Use system LLVM (comment out to use vendored LLVM)
LLVM_VERSION = 16
OLD_LLVM_VERSION = 15
+# Cargo-specific flags
+export LIBSSH2_SYS_USE_PKG_CONFIG=1
# 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
@@ -198,7 +200,7 @@ ifneq (,$(filter $(DEB_BUILD_ARCH), mips mipsel))
endif
%:
- $(SYSTEM_WORKAROUNDS) dh $@ --parallel
+ $(SYSTEM_WORKAROUNDS) dh $@ --parallel --with bash-completion
.PHONY: .dbg-windows
.dbg-windows:
@@ -206,7 +208,7 @@ endif
.PHONY: build
build:
- $(SYSTEM_WORKAROUNDS) dh $@ --parallel
+ $(SYSTEM_WORKAROUNDS) dh $@ --parallel --with bash-completion
override_dh_clean:
# Upstream contains a lot of these
@@ -243,9 +245,23 @@ check-no-old-llvm:
! 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
+extra-vendor:
+ if [ -d extra ]; then \
+ cd extra; \
+ for c in *; do \
+ if [ -e ../vendor/"$$c" ]; then \
+ mv -v ../vendor/"$$c" ../vendor/"$$c".backup ; \
+ fi ; \
+ echo "adding extra vendored dependency '$$c'"; \
+ cp -r ./"$$c" ../vendor/; \
+ done; \
+ fi
+
+.PHONY: extra-vendor
+
+debian/dh_auto_configure.stamp: debian/config.toml check-no-old-llvm extra-vendor
# fail the build if we accidentally vendored openssl, indicates we pulled in unnecessary dependencies
- test ! -e vendor/openssl
+ test ! -e vendor/openssl-src
# fail the build if our version contains ~exp and we are not releasing to experimental
v="$(DEB_VERSION)"; test "$$v" = "$${v%~exp*}" -o "$(DEB_DISTRIBUTION)" = "experimental" -o "$(DEB_DISTRIBUTION)" = "UNRELEASED"
$(PRECONFIGURE_CHECK)
@@ -254,7 +270,7 @@ debian/dh_auto_configure.stamp: debian/config.toml check-no-old-llvm
if test $$(grep "127.0.0.1\s*localhost" /etc/hosts | wc -l) -gt 1; then \
debian/ensure-patch -N debian/patches/d-test-host-duplicates.patch; fi
# don't care about lock changes
- rm -f Cargo.lock src/bootstrap/Cargo.lock src/tools/rust-analyzer/Cargo.lock
+ rm -f Cargo.lock src/bootstrap/Cargo.lock src/tools/rust-analyzer/Cargo.lock src/tools/cargo/Cargo.lock
# We patched some crates so have to rm the checksums
find vendor -name .cargo-checksum.json -execdir "$(CURDIR)/debian/prune-checksums" "{}" +
# Link against system liblzma, see https://github.com/alexcrichton/xz2-rs/issues/16
@@ -295,6 +311,7 @@ ifeq (true,$(BUILD_WASM))
endif
ifeq (true,$(BUILD_DOCS))
$(RUSTBUILD) doc $(RUSTBUILD_FLAGS)
+ $(RUSTBUILD) doc $(RUSTBUILD_FLAGS) cargo # document cargo APIs
endif
TEST_LOG = debian/rustc-tests.log
@@ -402,6 +419,9 @@ debian/dh_auto_install.stamp:
fi; \
done
+ # Remove Cargo made package cache
+ rm -vf $(CURDIR)/debian/cargo/.package-cache
+
touch "$@"
override_dh_auto_install-arch: debian/dh_auto_install.stamp
@@ -411,6 +431,9 @@ ifeq (true,$(BUILD_WINDOWS))
--target $(WINDOWS_ARCH)-pc-windows-gnu \
library/std
endif
+ # Remove Cargo made package cache
+ rm -vf $(CURDIR)/debian/cargo/.package-cache
+
override_dh_auto_install-indep: debian/dh_auto_install.stamp
ifeq (true,$(BUILD_WASM))
@@ -420,6 +443,9 @@ ifeq (true,$(BUILD_WASM))
library/std
endif
ifeq (true,$(BUILD_DOCS))
+ # Install Cargo docs
+ install -d $(DEB_DESTDIR)/usr/share/doc/cargo
+ cp -r $(CURDIR)/build/$(DEB_BUILD_RUST_TYPE)/compiler-doc $(DEB_DESTDIR)/usr/share/doc/cargo/reference
# Brute force to remove privacy-breach-logo lintian warning.
# We could have updated the upstream sources but it would complexify
# the rebase
@@ -433,7 +459,13 @@ ifeq (true,$(BUILD_DOCS))
-e 's,<img src="https://img.shields.io/[^"]*" alt="\([^"]*\)" />,<span class="deb-privacy-replace--shields-io">\1</span>,g' "$$file"; \
done
find $(DEB_DESTDIR) \( -iname '*.html' -empty -o -name .lock -o -name '*.inc' \) -delete;
+
+ # mv cargo book to cargo-docs
+ mv $(DEB_DESTDIR)/usr/share/doc/rust/html/cargo $(DEB_DESTDIR)/usr/share/doc/cargo/book
endif
+ # Remove Cargo made package cache
+ rm -vf $(CURDIR)/debian/cargo/.package-cache
+
override_dh_install-indep:
dh_install
diff --git a/debian/scripts/audit-vendor-source b/debian/scripts/audit-vendor-source
new file mode 100755
index 000000000..08a46d804
--- /dev/null
+++ b/debian/scripts/audit-vendor-source
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Audit Rust crate source for suspicious files in the current directory, that
+# shouldn't or can't be part of a Debian source package.
+#
+# NOTE: this overwrites & deletes files in the current directory!!! Make a
+# backup before running this script.
+#
+# Usage: $0 <whitelist> <filter_description> [<extra args to suspicious-source>]
+
+set -e
+
+whitelist="$1"
+filter_description="$2"
+shift 2 # everything else is args to suspicious-source
+
+# Remove tiny files 4 bytes or less
+find . -size -4c -type f -delete
+# Remove non-suspicious files, warning on patterns that match nothing
+echo "Excluding (i.e. removing) whitelisted files..."
+grep -v '^#' "$whitelist" | xargs -I% sh -c 'rm -r ./% || true'
+echo "Checking for suspicious files..."
+# Remove cargo metadata files
+find . '(' -name '.cargo-checksum.json' -or -name '.cargo_vcs_info.json' ')' -delete
+# Strip comments & blank lines before testing rust source code -
+# some authors like to write really long comments
+find . -name '*.rs' -execdir sed -i -e '\,^\s*//,d' -e '/^\s*$/d' '{}' \;
+
+# TODO: merge the -m stuff into suspicious-source(1).
+suspicious-source -v "$@"
+# The following shell snippet is a bit more strict than suspicious-source(1)
+find . -type f -exec file '{}' \; | \
+ sed -e 's/\btext\b\(.*\), with very long lines/verylongtext\1/g' | \
+ grep -v '\b\(text\|empty\)\b' || true
+
+# Most C and JS code should be in their own package
+find . -name '*.c' -o -name '*.js'
+
+echo "The above files (if any) seem suspicious, please audit them."
+echo "If good, add them to $whitelist."
+echo "If bad, add them to $filter_description."
diff --git a/debian/scripts/debian-cargo-vendor b/debian/scripts/debian-cargo-vendor
new file mode 100755
index 000000000..6566b316d
--- /dev/null
+++ b/debian/scripts/debian-cargo-vendor
@@ -0,0 +1,165 @@
+#!/bin/bash
+# To run this, you need to first install cargo-lock.
+#
+# TODO: this script has a known bug in: if the Debian patches being applied,
+# changes the set of dependencies, then "cargo vendor" is not re-run in order
+# to pick up this new set of dependencies. This is manifested by an error
+# message like: "perhaps a crate was updated and forgotten to be re-vendored?"
+#
+set -e
+
+SCRIPTDIR="$(dirname "$(readlink -f "$0")")"
+
+not_needed() {
+ diff -ur packages-before packages-after | grep "^-- " | cut -d' ' -f2-3
+}
+
+ghetto_parse_cargo() {
+ cat "$1" \
+ | tr '\n' '\t' \
+ | sed -e 's/\t\[/\n[/g' \
+ | perl -ne 'print if s/^\[(?:package|project)\].*\tname\s*=\s*"(.*?)".*\tversion\s*=\s*"(.*?)".*/\1 \2/g'
+}
+
+pruned_paths() {
+ for i in vendor/*/Cargo.toml; do
+ pkgnamever=
+ pkgnamever=$(ghetto_parse_cargo "$i")
+ if [ -z "$pkgnamever" ]; then
+ echo >&2 "failed to parse: $i"
+ exit 1
+ fi
+ echo "$pkgnamever $i"
+ done | grep -F -f <(not_needed) | cut '-d ' -f3 | while read x; do
+ echo " $(dirname $x)"
+ done
+}
+
+crate_to_debcargo_conf() {
+ echo "$1" | sed -e 's/_/-/g'
+}
+
+rm -rf vendor/
+if [ -e "$CARGO_PRE_VENDOR" ]; then
+ "$CARGO_PRE_VENDOR"
+fi
+cargo vendor --verbose vendor/
+mkdir -p .cargo
+cat >.cargo/config <<eof
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "$PWD/vendor"
+eof
+cargo lock list > packages-before
+cp Cargo.lock Cargo.lock.orig
+
+if [ -d debcargo-conf ]; then ( cd debcargo-conf && git pull );
+else git clone "${DEBCARGO_CONF:-https://salsa.debian.org/rust-team/debcargo-conf}"; fi
+
+# keep applying patches, and drop to a subshell for manual fixing, until it succeeds
+while ! ( cd vendor
+x=true
+for i in *; do
+ debname=$(crate_to_debcargo_conf "$i")
+ cd $i
+ # if there is a d/rules then don't mess with it, it's too custom for this
+ # script to deal with - just use the upstream version. example: backtrace-sys
+ # TODO: deal with those better, especially backtrace-sys
+ if [ -e ../../debcargo-conf/src/$debname/debian/rules ]; then
+ echo >&2 "$0: the debcargo-conf for crate $i has a custom rules file, but applying patches anyway"
+ echo >&2 "$0: you may want to examine this situation more closely"
+ fi
+ if [ -d ../../debcargo-conf/src/$debname/debian/patches ]; then
+ echo >&2 "$0: patching $i"
+ mkdir -p debian
+ if [ ! -d debian/patches ]; then
+ cp -a -n "../../debcargo-conf/src/$debname/debian/patches" debian/
+ fi
+ # first unapply any patches applied in the previous iteration
+ QUILT_PATCHES=debian/patches quilt pop -af
+ QUILT_PATCHES=debian/patches quilt push -a
+ case $? in
+ 0|2) true;;
+ *) echo >&2 "$0: patching $i failed <<<<<<<<<<<<<<<<<<<<<<<<"
+ QUILT_PATCHES=debian/patches quilt pop -af
+ x=false;;
+ esac
+ fi
+ if [ -f ../../debcargo-conf/src/$debname/debian/build.rs ]; then
+ echo >&2 "$0: overwriting build.rs with our custom one"
+ if [ ! -f build.rs.orig ]; then
+ cp -f build.rs build.rs.orig
+ fi
+ cp -f ../../debcargo-conf/src/$i/debian/build.rs build.rs
+ fi
+ cd ..
+done; $x ); do
+ echo >&2 "================================================================================"
+ echo >&2 "$0: You are now in a sub-shell!"
+ echo >&2 "$0: Fix the failed patches in debcargo-conf/, then exit the sub-shell by pressing ctrl-D ONCE."
+ echo >&2 "$0: If you need to abort this process, press ctrl-D then quickly ctrl-C."
+ if [ -f "${SRCDIR:-$PWD}/debian/debcargo-conf.patch" ]; then
+ echo >&2 "$0: Previous patch changes exist, to apply them run:"
+ echo >&2 " $ patch -d vendor -p2 < '${SRCDIR:-$PWD}/debian/debcargo-conf.patch'"
+ fi
+ echo >&2 "================================================================================"
+ bash || true
+ echo >&2 "$0: trying patches again..."
+done
+rm -rf vendor/*/.pc
+find vendor/*/debian/patches -name '*~' -delete || true
+cargo update
+cargo lock list > packages-after
+pruned_paths | while read x; do echo >&2 "$0: removing, because debcargo-conf patches makes it obsolete: $x"; rm -rf "$x"; done
+
+# remove excluded files
+( cd vendor
+for i in *; do (
+ debname=$(crate_to_debcargo_conf "$i")
+ shopt -s globstar # needed for double-glob to work in excludes
+ cd $i
+ if [ -e ../../debcargo-conf/src/$debname/debian/rules ]; then
+ echo >&2 "$0: the debcargo-conf for crate $i has a custom rules file, but applying excludes anyway"
+ echo >&2 "$0: you may want to examine this situation more closely"
+ fi
+ if grep -q excludes ../../debcargo-conf/src/$debname/debian/debcargo.toml 2>/dev/null; then
+ sed -nre 's/.*excludes\s*=\s*(\[[^]]*\]).*/\1/p' \
+ ../../debcargo-conf/src/$i/debian/debcargo.toml \
+ | python3 -c "import ast, sys; x=ast.literal_eval(sys.stdin.read()); print('\n'.join((i[:-3] if i.endswith('/**') else i) for i in x));" \
+ | while read x; do echo >&2 "$0: removing, since it's excluded by debcargo-conf: vendor/$i/$x"; rm -rf $x; done
+ fi
+); done; )
+
+# TODO: rm special logic from debcargo and put into debcargo-conf instead
+echo >&2 "$0: removing winapi archives"
+rm -rf vendor/winapi-*-pc-windows-gnu/lib/*.a
+
+echo >&2 "$0: pruning all checksums.."
+for i in vendor/*; do ${SCRIPTDIR}/prune-checksums "$i"; done
+
+( cd vendor
+for i in *; do (
+ cd $i
+ debname=$(crate_to_debcargo_conf "$i")
+ if [ -d debian/patches ]; then
+ rm -rf "../../debcargo-conf/src/$debname/debian/patches"
+ cp -a debian/patches "../../debcargo-conf/src/$debname/debian/"
+ fi
+); done; )
+( cd debcargo-conf
+git add .
+if ! git diff --cached --quiet; then
+ git commit -m "Manual changes from debian-cargo-vendor"
+ git diff @~ > ../../debcargo-conf.patch || true
+ (cd ../.. ; echo >&2 "$0: backed up patch changes to $PWD/debcargo-conf.patch")
+ echo >&2 "$0: you should backport/merge them back into debcargo-conf.git"
+fi
+)
+
+echo >&2 "$0: cleaning up..."
+rm -rf .cargo Cargo.lock debcargo-conf packages-before packages-after
+
+echo >&2 "$0: restoring original Cargo.lock"
+mv Cargo.lock.orig Cargo.lock
diff --git a/debian/scripts/guess-crate-copyright b/debian/scripts/guess-crate-copyright
new file mode 100755
index 000000000..15f35f634
--- /dev/null
+++ b/debian/scripts/guess-crate-copyright
@@ -0,0 +1,45 @@
+#!/usr/bin/python3
+# Copyright: 2015-2017 The Debian Project
+# License: MIT or Apache-2.0
+#
+# Guess the copyright of a cargo crate by looking at its git history.
+
+import datetime
+import toml
+import os
+import subprocess
+import sys
+
+this_year = datetime.datetime.now().year
+crates = sys.argv[1:]
+get_initial_commit = len(crates) == 1
+
+for crate in crates:
+ with open(os.path.join(crate, "Cargo.toml")) as fp:
+ data = toml.load(fp)
+ repo = data["package"].get("repository", None)
+ if get_initial_commit and repo:
+ output = subprocess.check_output(
+ """git clone -q --bare "%s" tmp.crate-copyright >&2 &&
+cd tmp.crate-copyright &&
+git log --format=%%cI --reverse | head -n1 | cut -b1-4 &&
+git log --format=%%cI | head -n1 | cut -b1-4 &&
+cd .. &&
+rm -rf tmp.crate-copyright""" % repo, shell=True).decode("utf-8")
+ first_year, last_year = output.strip().split(maxsplit=2)
+ else:
+ first_year = "20XX"
+ last_year = this_year
+
+ authors = data["package"].get("authors", ["UNKNOWN AUTHORS"])
+
+ print("""Files: {0}
+Copyright: {1}
+License: {2}
+Comment: see {3}
+""".format(
+ os.path.join(crate, "*"),
+ "\n ".join("%s-%s %s" % (first_year, last_year, a.replace(" <>", "")) for a in authors),
+ data["package"].get("license", "???").replace("/", " or "),
+ repo or "???"
+ ))
diff --git a/debian/scripts/prune-checksums b/debian/scripts/prune-checksums
new file mode 100755
index 000000000..0c895cff4
--- /dev/null
+++ b/debian/scripts/prune-checksums
@@ -0,0 +1,47 @@
+#!/usr/bin/python3
+# Copyright: 2015-2017 The Debian Project
+# License: MIT or Apache-2.0
+#
+# Helper to remove removed-files from .cargo-checksum
+# TODO: rewrite to perl and add to dh-cargo, maybe?
+
+from collections import OrderedDict
+import argparse
+import json
+import os
+import sys
+
+def prune_keep(cfile):
+ with open(cfile) as fp:
+ sums = json.load(fp, object_pairs_hook=OrderedDict)
+
+ oldfiles = sums["files"]
+ newfiles = OrderedDict([entry for entry in oldfiles.items() if os.path.exists(entry[0])])
+ sums["files"] = newfiles
+
+ if len(oldfiles) == len(newfiles):
+ return
+
+ with open(cfile, "w") as fp:
+ json.dump(sums, fp, separators=(',', ':'))
+
+def prune(cfile):
+ with open(cfile, "r+") as fp:
+ sums = json.load(fp, object_pairs_hook=OrderedDict)
+ sums["files"] = {}
+ fp.seek(0)
+ json.dump(sums, fp, separators=(',', ':'))
+ fp.truncate()
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser()
+ parser.add_argument("-k", "--keep", action="store_true", help="keep "
+ "checksums of files that still exist, and assume they haven't changed.")
+ parser.add_argument('crates', nargs=argparse.REMAINDER,
+ help="crates whose checksums to prune. (default: ./)")
+ args = parser.parse_args(sys.argv[1:])
+ crates = args.crates or ["."]
+ f = prune_keep if args.keep else prune
+ for c in crates:
+ cfile = os.path.join(c, ".cargo-checksum.json") if os.path.isdir(c) else c
+ f(cfile)
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
index b2dad2655..0719f25df 100644
--- a/debian/source/lintian-overrides
+++ b/debian/source/lintian-overrides
@@ -8,3 +8,12 @@ rustc source: source-is-missing [vendor/html5ever/data/bench/*.html]
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]
+
+# debian policy bug #649530, old and new formats
+rustc source: mismatched-override missing-license-paragraph-in-dep5-copyright mpl-2.0+ (*)
+rustc source: mismatched-override missing-license-paragraph-in-dep5-copyright debian/copyright mpl-2.0+ (*) [debian/source/lintian-overrides:*]
+rustc source: missing-license-paragraph-in-dep5-copyright mpl-2.0+ [debian/copyright:*]
+rustc source: missing-license-paragraph-in-dep5-copyright debian/copyright mpl-2.0+ (*)
+
+# lintian is superfluous
+rustc source: superfluous-file-pattern debian/copyright * (*)
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 000000000..2cffafdb8
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,7 @@
+#Test-Command: ./debian/rules build
+#Depends: @builddeps@
+#Restrictions: rw-build-tree, allow-stderr
+#
+Tests: create-and-build-crate
+Restrictions: rw-build-tree, allow-stderr, needs-internet
+Depends: cargo, ca-certificates
diff --git a/debian/tests/create-and-build-crate b/debian/tests/create-and-build-crate
new file mode 100755
index 000000000..46cc2a034
--- /dev/null
+++ b/debian/tests/create-and-build-crate
@@ -0,0 +1,39 @@
+#!/bin/bash
+set -euo pipefail
+
+tmpdir=$(mktemp -d)
+cd "$tmpdir"
+
+cargo new hello
+cd hello
+
+cat <<EOF > src/main.rs
+use anyhow::Result;
+
+fn main() -> Result<()> {
+ println!("Hello, World!");
+ Ok(())
+}
+
+#[test]
+fn test() {
+ assert_eq!(1 + 1, 2);
+}
+EOF
+
+cargo add 'anyhow@^1'
+cargo vendor
+
+mkdir -p .cargo
+cat <<EOF > .cargo/config.toml
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
+EOF
+
+cargo check
+cargo build
+cargo test
+cargo run
diff --git a/debian/upstream-tarball-unsuspicious.txt b/debian/upstream-tarball-unsuspicious.txt
index 8b316de8b..59114a985 100644
--- a/debian/upstream-tarball-unsuspicious.txt
+++ b/debian/upstream-tarball-unsuspicious.txt
@@ -10,10 +10,16 @@ src/doc/reference/src/crates-and-source-files.md
src/doc/reference/src/items/extern-crates.md
src/doc/reference/src/items/modules.md
src/doc/reference/src/types-redirect.html
+src/tools/cargo/src/doc/src/reference/registries.md
src/tools/clippy/book/src/lint_configuration.md
vendor/chalk-solve-0.87.0/src/infer/test.rs
+vendor/fiat-crypto/src/p448_solinas_32.rs
vendor/itertools*/examples/iris.data
vendor/minifier/src/js/tools.rs
+vendor/pasetors/src/footer.rs
+vendor/pasetors/src/version2.rs
+vendor/pasetors/src/version3.rs
+vendor/pasetors/src/version4.rs
vendor/regex/tests/suffix_reverse.rs
vendor/regex/tests/unicode.rs
vendor/term/src/terminfo/parser/names.rs
@@ -24,17 +30,17 @@ README.md
RELEASES.md
compiler/rustc_codegen_cranelift/docs/dwarf.md
compiler/rustc_codegen_gcc/Readme.md
-compiler/rustc_codegen_ssa/locales/en-US.ftl
compiler/rustc_codegen_ssa/messages.ftl
+extra/git2/src/cred.rs
library/core/src/ffi/c_*.md
library/portable-simd/*.md
+library/std/src/sys/sgx/abi/entry.S
library/stdarch/CONTRIBUTING.md
library/stdarch/crates/core_arch/src/aarch64/neon/generated.rs
library/stdarch/crates/std_detect/README.md
-library/std/src/sys/sgx/abi/entry.S
src/bootstrap/CHANGELOG.md
-src/doc/book/first-edition/src/the-stack-and-the-heap.md
src/doc/*/CODE_OF_CONDUCT.md
+src/doc/book/first-edition/src/the-stack-and-the-heap.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
@@ -52,14 +58,17 @@ src/doc/rustc/src/instrument-coverage.md
src/doc/rustc/src/lints/groups.md
src/doc/rustc/src/platform-support/armeb-unknown-linux-gnueabi.md
src/doc/rustc/src/platform-support/armv7-sony-vita-eabihf.md
-src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabihf.md
src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabi.md
+src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabihf.md
src/doc/rustc/src/targets/known-issues.md
src/doc/rustdoc/src/*.md
src/doc/unstable-book/src/*/*.md
src/etc/third-party/README.txt
src/librustdoc/html/highlight/fixtures/sample.html
src/librustdoc/html/static/scrape-examples-help.md
+src/tools/cargo/src/cargo/sources/git/known_hosts.rs
+src/tools/cargo/src/doc/src/guide/continuous-integration.md
+src/tools/cargo/src/doc/src/reference/features.md
src/tools/rust-analyzer/crates/ide-completion/src/completions/env_vars.rs
src/tools/rust-analyzer/crates/rust-analyzer/src/diagnostics/to_proto.rs
src/tools/rust-analyzer/docs/user/manual.adoc
@@ -72,49 +81,49 @@ tests/rustdoc/notable-trait/doc-notable_trait*.html
tests/rustdoc/notable-trait/spotlight-from-dependency.odd.html
tests/ui/lint/redundant-semicolon/redundant-semi-proc-macro.stderr
tests/ui/parser/raw/too-many-hash.stderr
+vendor/*/*/*/LICENSE
+vendor/*/*/LICENSE
+vendor/*/CHANGELOG.md
+vendor/*/CODE_OF_CONDUCT.md
+vendor/*/Cargo.toml
+vendor/*/LICENSE
+vendor/*/LICENSE-MIT
+vendor/*/README.md
vendor/ahash-0.7.6/FAQ.md
vendor/ahash/FAQ.md
vendor/ammonia/src/lib.rs
vendor/anstyle-parse/src/state/table.rs
-vendor/*/Cargo.toml
-vendor/*/CHANGELOG.md
+vendor/base64ct/tests/proptests.proptest-regressions
vendor/clap-*/examples/demo.md
vendor/clap-*/examples/tutorial_*/*.md
-vendor/*/CODE_OF_CONDUCT.md
+vendor/elliptic-curve/src/hash2curve/hash2field/expand_msg/xmd.rs
+vendor/elliptic-curve/src/hash2curve/hash2field/expand_msg/xof.rs
+vendor/elliptic-curve/src/jwk.rs
vendor/generic-array/DESIGN.md
+vendor/git2/src/cred.rs
vendor/handlebars/src/lib.rs
vendor/handlebars/src/render.rs
vendor/handlebars/src/template.rs
vendor/lazy_static/src/lib.rs
-vendor/*/*/*/LICENSE
-vendor/*/*/LICENSE
-vendor/*/LICENSE
-vendor/*/LICENSE-MIT
vendor/maplit/README.rst
vendor/mdbook/CONTRIBUTING.md
vendor/miniz_oxide*/Readme.md
+vendor/pasetors/src/token.rs
vendor/pulldown-cmark/tests/suite/footnotes.rs
-vendor/*/README.md
vendor/rustc-demangle/src/legacy.rs
vendor/spdx-expression/LICENSES/MIT.txt
-vendor/spdx-rs/LICENSES/MIT.txt
vendor/spdx-rs/LICENSE.txt
+vendor/spdx-rs/LICENSES/MIT.txt
vendor/spdx-rs/src/models/file_information.rs
vendor/spdx-rs/src/models/other_licensing_information_detected.rs
vendor/spdx-rs/src/models/package_information.rs
+vendor/spki/tests/spki.rs
vendor/stable_deref_trait/src/lib.rs
vendor/tinyvec/LICENSE-*.md
vendor/tracing-subscriber/src/fmt/format/json.rs
vendor/unicase/src/lib.rs
vendor/unicode-normalization/src/stream_safe.rs
vendor/winapi/src/lib.rs
-vendor/windows*/readme.md
-vendor/windows*/src/Windows/*.rs
-vendor/windows*/src/Windows/*/*.rs
-vendor/windows*/src/Windows/*/*/*.rs
-vendor/windows*/src/Windows/*/*/*/*.rs
-vendor/windows*/src/Windows/*/*/*/*/*.rs
-vendor/windows*/src/Windows/*/*/*/*/*/*.rs
vendor/zerovec/src/map2d/map.rs
# False-positive, audit-vendor-source automatically flags JS/C files
@@ -128,19 +137,22 @@ src/doc/rustc-dev-guide/mermaid-init.js
src/etc/wasm32-shim.js
src/librustdoc/html/static/.eslintrc.js
src/librustdoc/html/static/js/*.js
+src/tools/cargo/src/cargo/core/compiler/timings.js
src/tools/error_index_generator/*.js
-src/tools/rustdoc-gui/tester.js
src/tools/rustdoc-gui/.eslintrc.js
-src/tools/rustdoc-js/tester.js
+src/tools/rustdoc-gui/tester.js
src/tools/rustdoc-js/.eslintrc.js
+src/tools/rustdoc-js/tester.js
+vendor/libz-sys/src/smoke.c
+vendor/openssl-sys/build/expando.c
+vendor/signal-hook/src/low_level/extract.c
+vendor/wasm-bindgen/_package.json
+vendor/wasm-bindgen/examples/import_js/package.json
# Embedded libraries, justified in README.source
vendor/dlmalloc/src/dlmalloc.c
vendor/mdbook/src/theme/book.js
vendor/mdbook/src/theme/searcher/searcher.js
-vendor/windows_*_gnu/lib/libwindows.a
-vendor/windows_*_gnullvm/lib/libwindows.a
-vendor/windows_*_msvc/lib/windows.lib
# Trivial glue code for C <-> Rust
library/backtrace/src/android-api.c
@@ -158,27 +170,36 @@ src/tools/clippy/.remarkrc
vendor/elasticlunr-rs/src/lang/*.rs
# False-positive, hand-editable small image
-src/doc/book/2018-edition/src/img/ferris/*.svg
src/doc/book/2018-edition/src/img/*.png
src/doc/book/2018-edition/src/img/*.svg
+src/doc/book/2018-edition/src/img/ferris/*.svg
src/doc/book/second-edition/src/img/*.png
src/doc/book/second-edition/src/img/*.svg
-src/doc/book/src/img/ferris/*.svg
src/doc/book/src/img/*.png
src/doc/book/src/img/*.svg
+src/doc/book/src/img/ferris/*.svg
src/doc/book/tools/docx-to-md.xsl
-src/doc/embedded-book/src/assets/f3.jpg
src/doc/embedded-book/src/assets/*.png
src/doc/embedded-book/src/assets/*.svg
+src/doc/embedded-book/src/assets/f3.jpg
src/doc/embedded-book/src/assets/verify.jpeg
src/doc/nomicon/src/img/safeandunsafe.svg
src/doc/rustc-dev-guide/src/img/*.png
src/doc/rustc-dev-guide/src/queries/example-0.png
src/doc/rustc/src/images/*.png
src/etc/installer/gfx/
-src/librustdoc/html/static/images/favicon-*.png
src/librustdoc/html/static/images/*.svg
+src/librustdoc/html/static/images/favicon-*.png
+src/tools/cargo/src/doc/src/images/Cargo-Logo-Small.png
+src/tools/cargo/src/doc/src/images/auth-level-acl.png
+src/tools/cargo/src/doc/src/images/build-info.png
+src/tools/cargo/src/doc/src/images/build-unit-time.png
+src/tools/cargo/src/doc/src/images/cargo-concurrency-over-time.png
+src/tools/cargo/src/doc/src/images/org-level-acl.png
+src/tools/cargo/src/doc/src/images/winapi-features.svg
+src/tools/cargo/src/doc/theme/favicon.png
src/tools/rust-analyzer/assets/logo-*.svg
+vendor/imara-diff/plots/*.svg
vendor/mdbook/src/theme/favicon.png
vendor/mdbook/src/theme/favicon.svg
vendor/overload/logo.png
@@ -193,13 +214,19 @@ library/core/benches/str.rs
library/core/tests/num/dec2flt/parse.rs
library/portable-simd/crates/core_simd/tests/mask_ops_impl/*.rs
library/portable-simd/crates/core_simd/webdriver.json
+library/std/src/sys/windows/path/tests.rs
library/stdarch/ci/gba.json
+library/stdarch/crates/std_detect/src/detect/test_data/*.auxv
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/std/src/sys/windows/path/tests.rs
-src/tools/clippy/tests/ui-toml/large_include_file/too_big.txt
+src/tools/*/tests/*/*.stderr
+src/tools/cargo/benches/workspaces/*.tgz
+src/tools/cargo/crates/mdman/tests/compare/expected/formatting.txt
+src/tools/cargo/tests/testsuite/build_script.rs
+src/tools/cargo/tests/testsuite/ssh.rs
+src/tools/clippy/tests/ui-internal/auxiliary/paths.rs
src/tools/clippy/tests/ui-toml/*/*.stderr
+src/tools/clippy/tests/ui-toml/large_include_file/too_big.txt
src/tools/clippy/tests/ui/wildcard_enum_match_arm.fixed
src/tools/rust-analyzer/bench_data/numerous_macro_rules
src/tools/rust-analyzer/crates/ide/src/syntax_highlighting/test_data/highlight_*.html
@@ -212,45 +239,53 @@ src/tools/rustfmt/tests/source/*/*.rs
src/tools/rustfmt/tests/target/issue-5088/very_long_comment_wrap_comments_false.rs
src/tools/rustfmt/tests/writemode/target/*.json
src/tools/rustfmt/tests/writemode/target/*.xml
-src/tools/*/tests/*/*.stderr
-tests/auxiliary/rust_test_helpers.c
-tests/debuginfo/type-names.cdb.js
tests/*/*.html
+tests/*/*.rs
+tests/*/*.stderr
tests/*/*/*.js
tests/*/*/*.json
-tests/*/*.rs
tests/*/*/*.rs
+tests/*/*/*.stderr
+tests/*/*/*.stdout
tests/*/*/*/*.rs
+tests/auxiliary/rust_test_helpers.c
+tests/debuginfo/type-names.cdb.js
tests/run-make/*/*.c
tests/run-make/x86_64-fortanix-unknown-sgx-lvi/enclave/foo.c
tests/run-make/x86_64-fortanix-unknown-sgx-lvi/enclave/libcmake_foo/src/foo.c
tests/rustdoc-gui/src/huge_logo/src/lib.rs
tests/rustdoc-gui/src/scrape_examples/examples/check-many-*.rs
-tests/rustdoc-js/*.js
tests/rustdoc-js-std/*.js
-tests/*/*.stderr
-tests/*/*/*.stderr
-tests/*/*/*.stdout
+tests/rustdoc-js/*.js
tests/ui/macros/not-utf8.bin
tests/ui/nll/*/*.stderr
tests/ui/parser/issues/*.stderr
tests/ui/proc-macro/debug/*.stderr
vendor/annotate-snippets/tests/fixtures/no-color/strip_line_non_ws.toml
+vendor/basic-toml/tests/invalid-encoder/array-mixed-types-ints-and-floats.json
vendor/basic-toml/tests/valid/*.json
vendor/basic-toml/tests/valid/table-whitespace.toml
-vendor/basic-toml/tests/invalid-encoder/array-mixed-types-ints-and-floats.json
vendor/bstr-0.2.17/src/unicode/fsm/*.dfa
+vendor/bstr/src/unicode/fsm/*.dfa
vendor/cargo_metadata*/tests/test_samples.rs
+vendor/content_inspector/testdata/*
+vendor/der/tests/examples/spki.der
vendor/diff/tests/data/gitignores.chars.diff
vendor/dissimilar/benches/*.txt
vendor/elasticlunr-rs/tests/data/*.in.txt
vendor/elasticlunr-rs/tests/searchindex_fixture_*.json
-vendor/flate2/tests/corrupt-gz-file.bin
+vendor/elliptic-curve/tests/examples/*.der
+vendor/elliptic-curve/tests/examples/*.pem
+vendor/flate2-1.0.23/tests/*
vendor/flate2/tests/*.gz
+vendor/flate2/tests/corrupt-gz-file.bin
vendor/fluent-syntax/benches/parser.rs
vendor/gimli*/fixtures/self/*
+vendor/gix-glob/tests/fixtures/generated-archives/make_baseline.tar.xz
vendor/gsgdt/tests/*.json
vendor/handlebars/tests/helper_with_space.rs
+vendor/hkdf/tests/data/*.blb
+vendor/hmac/tests/data/*.blb
vendor/html5ever/data/bench/*.html
vendor/icu_locid/benches/fixtures/*.json
vendor/icu_locid/tests/fixtures/*.json
@@ -258,6 +293,11 @@ vendor/icu_provider_adapters/tests/data/langtest/*/*.json
vendor/icu_provider_adapters/tests/data/langtest/*/*/*/*.json
vendor/idna/tests/IdnaTest*.txt
vendor/idna/tests/punycode_tests.json
+vendor/im-rc/proptest-regressions/*.txt
+vendor/im-rc/proptest-regressions/*/*.txt
+vendor/js-sys/tests/headless.js
+vendor/js-sys/tests/wasm/*.js
+vendor/js-sys/tests/wasm/global_fns.rs
vendor/libloading/tests/*.dll
vendor/litemap/benches/testdata/large_litemap.postcard
vendor/lsp-types/tests/tsc-unix.lsif
@@ -271,7 +311,16 @@ vendor/minifier/tests/files/minified_main.js
vendor/minifier/tests/files/test.json
vendor/minimal-lexical/tests/parse_tests.rs
vendor/minimal-lexical/tests/slow_tests.rs
+vendor/openssl/test/*
+vendor/p384/src/test_vectors/data/wycheproof.blb
+vendor/pasetors/test_vectors/*.json
+vendor/pasetors/test_vectors/*/*.json
+vendor/pem-rfc7468/tests/examples/*.der
+vendor/pem-rfc7468/tests/examples/*.pem
vendor/petgraph/tests/res/*.txt
+vendor/pkcs8/tests/examples/*.der
+vendor/pkcs8/tests/examples/*.pem
+vendor/pkcs8/tests/private_key.rs
vendor/regex-automata-0.1.10/data/fowler-tests/basic.dat
vendor/regex-automata-0.1.10/data/tests/fowler/basic.dat
vendor/regex-automata/tests/data/fowler/dat/basic.dat
@@ -280,14 +329,21 @@ vendor/regex/tests/crates_regex.rs
vendor/regex/tests/fowler.rs
vendor/rustc-demangle/src/lib.rs
vendor/rustc-demangle/src/v0-large-test-symbols/early-recursion-limit
+vendor/sec1/tests/examples/p256-priv.der
+vendor/sec1/tests/examples/p256-priv.pem
vendor/serde_json/tests/lexical/parse.rs
vendor/sha1/tests/data/sha1.blb
vendor/sha2/tests/data/*.blb
+vendor/spki/tests/examples/*.der
vendor/term/tests/data/*
+vendor/toml_edit/tests/fixtures/invalid/*/*.stderr
vendor/unicode-ident/tests/fst/*.fst
vendor/unicode-segmentation/src/testdata.rs
vendor/url/tests/*.json
+vendor/vte/tests/demo.vte
vendor/walkdir/compare/nftw.c
+vendor/wasm-bindgen/tests/headless/*
+vendor/wasm-bindgen/tests/wasm/*
vendor/zerovec/benches/testdata/*.postcard
vendor/zip/tests/data/*.zip
@@ -310,15 +366,20 @@ vendor/wasi/src/lib_generated.rs
# Compromise, ideally we'd package these in their own package
src/librustdoc/html/static/fonts/*.woff2
-# file brokenness (detected as Algol source code)
+# file brokenness
compiler/rustc_apfloat/src/lib.rs
compiler/rustc_driver/src/lib.rs
compiler/rustc_expand/src/mbe/quoted.rs
compiler/rustc_macros/src/symbols/tests.rs
+extra/bitflags/src/traits.rs
library/alloc/src/slice/tests.rs
-library/stdarch/crates/stdarch-verify/src/lib.rs
library/std/src/sys/unix/process/process_unix.rs
+library/stdarch/crates/stdarch-verify/src/lib.rs
src/librustdoc/html/markdown/tests.rs
+src/tools/cargo/crates/mdman/src/format/man.rs
+src/tools/cargo/crates/mdman/src/format/md.rs
+src/tools/cargo/crates/mdman/src/format/text.rs
+src/tools/cargo/crates/mdman/src/lib.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/rust-analyzer/crates/ide-assists/src/handlers/number_representation.rs
@@ -333,6 +394,14 @@ vendor/ahash/src/fallback_hash.rs
vendor/ahash/src/hash_quality_test.rs
vendor/ahash/src/lib.rs
vendor/aho-corasick/src/nfa.rs
+vendor/base16ct/benches/mod.rs
+vendor/base16ct/src/lower.rs
+vendor/base16ct/src/mixed.rs
+vendor/base16ct/src/upper.rs
+vendor/base64/src/decode.rs
+vendor/base64/src/encode.rs
+vendor/base64ct/src/*.rs
+vendor/base64ct/tests/*.rs
vendor/block-buffer/tests/mod.rs
vendor/clap*/src/derive.rs
vendor/clap_derive/src/derives/args.rs
@@ -346,8 +415,12 @@ vendor/digest/src/core_api/rt_variable.rs
vendor/digest/src/core_api/wrapper.rs
vendor/digest/src/dev.rs
vendor/displaydoc/src/expand.rs
+vendor/ecdsa/src/der.rs
+vendor/ed25519-compact/src/sha512.rs
vendor/env_logger-0.*/src/fmt/writer/mod.rs
vendor/env_logger/src/fmt/writer/mod.rs
+vendor/flate2-1.0.23/src/mem.rs
+vendor/flate2-1.0.23/src/zio.rs
vendor/flate2/src/mem.rs
vendor/flate2/src/zio.rs
vendor/futures-macro/src/lib.rs
@@ -358,6 +431,18 @@ vendor/gimli*/src/read/loclists.rs
vendor/gimli*/src/read/lookup.rs
vendor/gimli*/src/read/rnglists.rs
vendor/gimli*/src/read/unit.rs
+vendor/gix-config/src/file/init/mod.rs
+vendor/gix-config/src/parse/events.rs
+vendor/gix-date/src/parse.rs
+vendor/gix-features/src/parallel/mod.rs
+vendor/gix-features/src/parallel/reduce.rs
+vendor/gix-features/src/zlib/mod.rs
+vendor/gix-features/src/zlib/stream/inflate.rs
+vendor/gix-odb/src/store_impls/loose/find.rs
+vendor/gix-protocol/src/fetch/delegate.rs
+vendor/gix-ref/src/store/packed/decode.rs
+vendor/gix-ref/src/store/packed/decode/tests.rs
+vendor/gix-revision/src/spec/parse/function.rs
vendor/icu_locid/tests/langid.rs
vendor/icu_locid/tests/locale.rs
vendor/indoc/src/lib.rs
@@ -387,11 +472,39 @@ vendor/nom/tests/issues.rs
vendor/nom/tests/json.rs
vendor/nom/tests/mp4.rs
vendor/nom/tests/multiline.rs
-vendor/pest_generator/src/generator.rs
+vendor/nom8/src/bits/complete.rs
+vendor/nom8/src/bits/mod.rs
+vendor/nom8/src/bits/streaming.rs
+vendor/nom8/src/bits/tests.rs
+vendor/nom8/src/branch/mod.rs
+vendor/nom8/src/branch/tests.rs
+vendor/nom8/src/bytes/complete.rs
+vendor/nom8/src/bytes/mod.rs
+vendor/nom8/src/bytes/streaming.rs
+vendor/nom8/src/character/complete.rs
+vendor/nom8/src/character/streaming.rs
+vendor/nom8/src/combinator/mod.rs
+vendor/nom8/src/combinator/tests.rs
+vendor/nom8/src/error.rs
+vendor/nom8/src/multi/mod.rs
+vendor/nom8/src/multi/tests.rs
+vendor/nom8/src/number/complete.rs
+vendor/nom8/src/parser.rs
+vendor/nom8/src/sequence/mod.rs
+vendor/nom8/tests/css.rs
+vendor/nom8/tests/issues.rs
+vendor/nom8/tests/json.rs
+vendor/nom8/tests/mp4.rs
+vendor/nom8/tests/multiline.rs
+vendor/openssl/src/envelope.rs
+vendor/orion/src/test_framework/aead_interface.rs
+vendor/orion/src/test_framework/streamcipher_interface.rs
+vendor/os_info/src/matcher.rs
vendor/pest/src/parser_state.rs
vendor/pest/src/position.rs
vendor/pest/src/span.rs
vendor/pest/tests/calculator.rs
+vendor/pest_generator/src/generator.rs
vendor/proc-macro2/src/parse.rs
vendor/pulldown-cmark/benches/html_rendering.rs
vendor/pulldown-cmark/src/linklabel.rs
@@ -407,23 +520,29 @@ vendor/sha2/src/sha512.rs
vendor/shlex/src/lib.rs
vendor/snap/src/compress.rs
vendor/snap/src/decompress.rs
+vendor/snapbox/src/substitutions.rs
vendor/syn*/src/attr.rs
vendor/syn*/src/custom_punctuation.rs
vendor/syn*/src/data.rs
vendor/syn*/src/derive.rs
vendor/syn*/src/group.rs
vendor/syn*/src/meta.rs
-vendor/syn*/src/path.rs
vendor/syn*/src/pat.rs
+vendor/syn*/src/path.rs
vendor/syn*/src/punctuated.rs
vendor/syn*/src/stmt.rs
vendor/syn*/src/token.rs
vendor/syn*/src/ty.rs
vendor/syn*/tests/test_meta.rs
vendor/thiserror-impl/src/attr.rs
+vendor/time/src/parsing/*.rs
vendor/time/src/parsing/combinator/mod.rs
vendor/time/src/parsing/combinator/rfc/*.rs
-vendor/time/src/parsing/*.rs
+vendor/toml_edit/src/parser/key.rs
+vendor/toml_edit/src/parser/mod.rs
+vendor/toml_edit/src/parser/numbers.rs
+vendor/toml_edit/src/parser/strings.rs
+vendor/toml_edit/src/raw_string.rs
vendor/url/src/parser.rs
vendor/utf-8/benches/from_utf8_lossy.rs
vendor/utf-8/tests/unit.rs
@@ -431,7 +550,7 @@ vendor/xz2/src/bufread.rs
vendor/xz2/src/stream.rs
vendor/yansi/src/tests.rs
-# file brokenness (detected as Dyalog APL transfer)
+# file brokenness
vendor/clap/examples/demo.md
vendor/clap/examples/tutorial_builder/*.md
vendor/clap/examples/tutorial_derive/*.md