Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upTeach rustup/rustbuild about optional components #1006
Comments
This comment has been minimized.
This comment has been minimized.
|
I have a slight preference for doing the opposite (ie. flagging extensions as being "install-by-default") so that components are always required, and extensions are always optional. What do you think? |
Diggsey
added this to Components & extensions
in Issue Categorisation
May 3, 2017
This comment has been minimized.
This comment has been minimized.
|
@Diggsey per discussion we decided to go with the original design, for backwards-compatibility concerns. |
brson
added
the
help wanted
label
May 11, 2017
Diggsey
referenced this issue
May 11, 2017
Closed
Teach manifests about optional but default components #905
This comment has been minimized.
This comment has been minimized.
|
Once this feature exists, rustup-init also needs to be modified with a non-interactive commandline option to disable default components. If the interactive installer allows component selection (I don't recall) then that needs to be modified too, though it could be done as a followup. |
This comment has been minimized.
This comment has been minimized.
|
I take it, Should I change https://github.com/rust-lang/rust/blob/master/src/tools/build-manifest/src/main.rs or wait until #1112? |
This comment has been minimized.
This comment has been minimized.
|
add optional to build-manifest tool mikhail-m1/rust@35a30af. Shell I do pull request to rust-lang/rust? |
brson commentedMar 23, 2017
Today rustup knows about two types of packages: components (required), and extensions (optional, non-default). Some components though want to be installed by default, but optional (like docs).
To do this we have to change the manifest format in a backwards-compatible way. I suggest that we add a key "optional = true" to components that don't need to be installed. The build-manifest tool invoked by rustbuild needs to be modified to emit this key, and rustup needs to be taught to consume it.