Create and publish a snap of rustup #1144

Open
flexiondotorg opened this Issue Jun 1, 2017 · 4 comments

Comments

4 participants

flexiondotorg commented Jun 1, 2017

I work on the team developing Ubuntu and Snapcraft and recently spoke to @brson and @alexcrichton about creating and publishing a snap of rustup. They requested that we raise an issue here for creating a snap so that it can be included as a call for participation in a future This Week in Rust news letter.

For those unfamiliar with snaps and snapcraft, you can get a quick introduction from our video Snaps and snapcraft.io explained in 3 minutes.

As requested an issue to snap Rust has also been filed:

est31 commented Jun 1, 2017

cc #800

@brson brson added the help wanted label Jun 3, 2017

Contributor

brson commented Jun 3, 2017

I kinda think getting nice rustup snaps is probably even more desirable than plain rust snaps, since rustup provides the full Rust experience. I can imagine the official Rust snap actually being rustup - you go to the nice Linux app store, search for Rust in the typical way, and you get the works.

Deploying official rustup snaps is potentially easier than official Rust snaps because rustup releases are not tied to the massive Rust CI beast, where deploying snaps would require a number of integrations. It's easier to experiment outside of the rust-lang/rust tree.

Snapping rustup though is going to have significant challenges compared to snapping a single Rust toolchain:

  • rustup is installed at the user level, not at the system level. I understand snap is capable of doing this kind of thing, but it's surely going to be less straightforward than just touching /usr/local.
  • rustup has an integrated self-updater that should not be used when packaged by other systems.

Getting started here will probably just take a bunch of exploratory work to see how plausible it is to make a rustup snap work correctly with the ~/.rustup and ~/.cargo directories.

Contributor

brson commented Jun 3, 2017

I posted this to TWiR.

I actually don't like that some distros distribute Rust without rustup... It is a critical component of the Rust ecosystem and experience. To me seems more important to distribute rustup, than Rust itself.
I am not sure though how well will rustup work inside a snap, especially considering that it uses the user's home directory.

@Diggsey Diggsey added this to Features (inclination: accept) in Issue Categorisation Jun 25, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment