summaryrefslogtreecommitdiff
path: root/0002-fix-version-comparison-bug.patch
diff options
context:
space:
mode:
Diffstat (limited to '0002-fix-version-comparison-bug.patch')
-rw-r--r--0002-fix-version-comparison-bug.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/0002-fix-version-comparison-bug.patch b/0002-fix-version-comparison-bug.patch
new file mode 100644
index 0000000..824c2d5
--- /dev/null
+++ b/0002-fix-version-comparison-bug.patch
@@ -0,0 +1,32 @@
+From 31a81a08786826cc6e832bd0b49fb8b934e29648 Mon Sep 17 00:00:00 2001
+From: Ariadne Conill <ariadne@dereferenced.org>
+Date: Thu, 3 Aug 2023 15:05:40 -0700
+Subject: [PATCH] bootstrap: config: fix version comparison bug
+
+Rust requires a previous version of Rust to build, such as the current version, or the
+previous version. However, the version comparison logic did not take patch releases
+into consideration when doing the version comparison for the current branch, e.g.
+Rust 1.71.1 could not be built by Rust 1.71.0 because it is neither an exact version
+match, or the previous version.
+
+Adjust the version comparison logic to tolerate mismatches in the patch version.
+
+Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
+---
+ src/bootstrap/config.rs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
+index 45bea9608fc82..f283b2eb7e9ce 100644
+--- a/src/bootstrap/config.rs
++++ b/src/bootstrap/config.rs
+@@ -2004,7 +2004,8 @@ impl Config {
+ .unwrap();
+ if !(source_version == rustc_version
+ || (source_version.major == rustc_version.major
+- && source_version.minor == rustc_version.minor + 1))
++ && (source_version.minor == rustc_version.minor
++ || source_version.minor == rustc_version.minor + 1)))
+ {
+ let prev_version = format!("{}.{}.x", source_version.major, source_version.minor - 1);
+ eprintln!(