Hi there.
Today, @Diggsey, @alexcrichton and I did some triage of the rustup issue tracker to try to get a handle on what needs to be done next.
rustup is a project with fairly limited scope, but there are some important features left to implement, and lots of bugs, and lots that needs polish. It could use more contributors, so @Diggsey and I will try to keep the issue tracker better triaged, and escalate tasks that are amenable to contribution.
There are only a few big features on the roadmap:
-
Update signing
- Today rustup does not validate signatures of the things it installs. We want to do this via the tuf framework, of which @heartsucker has started a rust implementation.
-
Windows GUI
- rustup on windows looks pretty bootleg still. @Boddlnagg has some work finished on this but I’ve dropped the ball on pushing it forward.
-
Component dependencies
- The rustup
rls
package requiresrust-analysis
andrust-src
, and today they must all be installed explicitly. Fixing this will require defining an extension to the rustup manifest format, then modifying rustup.
- The rustup
-
Default-optional components
- The
docs
package is always installed today, but not always desired. Again the manifest format needs to be updated.
- The
-
Overrides that can be checked into version control
- Today rustup version pinning is local, but applications stuck on nightlies (like servo) frequently want a way to express this in their VCS, ala rbenv
Volunteers are needed for these, though the windows GUI and update signing issues are large projects. The overrides feature I intend to do myself.
There’s an outstanding problem with both rustup and rustc not recognizing the 2017 build tools. @retep998 has some
code that can do the discovery, but it needs to be imported into both rustc and rustup. This is on the 1.18 milestone.
If anybody can help move that forward it would be appreciated, though otherwise I will get to it sometime this cycle.
Next, there are a number of smaller issues that look relatively important to me, and are mostly relatively easy to pick up without much context:
- Wrong exit code when rustup update fails
- Build with panic=abort
- Extract rustup manifest definition and validator share with rustbuild
target add
andcomponent add
should succeed if target/component is already installed- Please show me the version I’m downloading/updating
- “update not yet available” message should not error
- Windows confirmation prompt not disabled with -y
- rustup tries to sync channel updates for non-updatable channels
- No info printed on
rustup target remove
- Use ShellExecute to open docs on windows
- Improve error message when override doesn’t exist
- Should download and install concurrently
- Optimize disk access during install