Hi,
today I was really annoyed, since some rust code that compiled well the last days today didn't compile anymore. Some crates had been updated and used new language features, while ubuntu still offers the 1.17 version of the compiler, which is simply outdated. The upcoming 17.10 ubuntu release will come with 1.18, which simply does not solve the problem, and reporting this as a bug to ubuntu brought the reply that I cannot expect to get up-to-date compilers under ubuntu. On the other hand, I hate tools like rustup fiddling around on my system.
I therefore just spend some hours to learn how to build ubuntu snaps. Snap is a new, simple but robust, package format invented by ubuntu, which runs on several differnet linux distributions and should easily allow to install, upgrade, and remove rust onto and from several platforms.
For the moment, there is a test version under
https://github.com/hadmut/snap-rustc
and since this is just an early test, the snap is not automatically build, you have to build it yourself for testing. Once tested and accepted, it can be registered for automated package generation. It will then monitor the git repository , and after release of a new rust version, it should be enough to just increment the version number in the config file and to commit. However, while testing the package must be homebrewn. Once automated, a simple snap install rustc should be sufficient.
If you would like to test, please see the README for instructions and shortcomings.
Since I am currently a beginner with rust and not familiar with the release processes, and I do not have the time to maintain this thing, I would like to hand this over to the release team as part of the release process, since this snap stuff is really simple.
It would, however, in my eyes make the rust users life easier, and still keep it completely independent from the release and packaging process of linux distributions such as debian an ubuntu. (After all, that's what the snap package format was made for.)
regards
Hadmut