Part of #1611.
Motivation
The direct motivation of this change is to simplify Rustup's building process in order to make Rustup more cross-build friendly and prevent surprise stable-only CI build errors like the ones we've encountered while bumping OpenSSL to v3, i.e. #3478, #3668, #4707, etc.
Status quo
- The default currently is to use reqwest with native-tls (OpenSSL on Linux, native stacks on macOS and Windows)
- If
RUSTUP_USE_CURL is set, we use the curl backend, which defaults to openssl
- If
RUSTUP_USE_RUSTLS is set, we use reqwest with rustls
#3788 (comment)
Goal
The eventual goal would be removing RUSTUP_USE_CURL and/or RUSTUP_USE_RUSTLS, leaving a single stack "in favor of maximally-Rust solutions", while "making sure we minimize the risk of getting users stuck".
To minimize frictions during this change, some necessary refactoring patches will be developed in the meantime, with a primary focus on improving Rustup's observability by interfacing with the tracing ecosystem.
#3788 (comment)
Tasks
Part of #1611.
Motivation
The direct motivation of this change is to simplify Rustup's building process in order to make Rustup more cross-build friendly and prevent surprise
stable-only CI build errors like the ones we've encountered while bumping OpenSSL to v3, i.e. #3478, #3668, #4707, etc.Status quo
#3788 (comment)
Goal
The eventual goal would be removing
RUSTUP_USE_CURLand/orRUSTUP_USE_RUSTLS, leaving a single stack "in favor of maximally-Rust solutions", while "making sure we minimize the risk of getting users stuck".To minimize frictions during this change, some necessary refactoring patches will be developed in the meantime, with a primary focus on improving Rustup's observability by interfacing with the
tracingecosystem.#3788 (comment)
Tasks
opensslversion #3793#[rustup_macros::unit_test]s within atokiocontext #3868tracingand friends by default #3803RUSTUP_LOGand console-based tracing #3879tracing::instrumentfrom behindfeature = "otel"#3873run_inprocess()#3891reqwest/rustlsthe new default #3798rustls-platform-verifier#3903