On 11/20/19 6:35 PM, Dany Marcoux wrote:
On 19-11-20 00 h 55, William Brown wrote:
On 20 Nov 2019, at 03:04, Dany Marcoux <dmarcoux@suse.de> wrote:
On 19-11-19 16 h 44, Ludwig Nussel wrote:
William Brown schrieb:
[...] Due to the fast release cycle, developers aggressively using new features, and the npm style micro dependency system we have a recipe for problems - if you are not using the latest stable compiler, it's extremely likely that your libraries, or their dependents may not build on your project. Which is exactly the issue I have run into where rust on fedora 30 and opensuse leap 15.1 are simply too old to support the features that have been used in the last 6 months by library developers. From what I can tell Rust has two use cases in the stable distros. The first one is that it's needed by other system components. Regularly updated, more or less leaf packages Firefox as but unfortunately also as low as librsvg. For packages like the latter we most likely do not want Rust to change very six weeks, especially when that kind of use case spreads. So for that it would be better to upgrade the system Rust only for service packs ie once per year.
The other use case is developers that want the latest and greatest for their own purposes. For that it should be possible to create a parallel installable Rust package and regularly provide newer versions for it. That works for Leap via regular maintenance updates as well as SLE via Package Hub. I've been told that Rust is meant to be pretty good at backwards compatibility so it's probably sufficient to provide one additional Rust package that follows upstream releases, instead of a new one for all kinds of versions like eg Go does.
cu Ludwig
rustup[0] is what developers should use when developing in Rust. It's the
official Rust toolchain installer. I packaged it in my home[1] and submitted
a request[2] in hopes that it would get into Factory, but in the end, I didn't
get much feedback beside from Neal Gompa. I decided to revoke the request. As
you can see in the request, I talked about rust and rustup coexisting, but this
would need a bit more work. I didn't look into this, but I'm willing to do it.
It definitely seems to be possible as documented[3] upstream. This does not address the issue - how do we get from development to a system-buildable and shippable project. This is key here, we need to think about that full experience from development to deployment - not just development.
Right now, we have nothing for the development part, unless we want to stick to
whatever rust version openSUSE provides (which is a bad developer experience).
This is what my proposal would address.
To a large extent if you can get the developer experience right and constantly enough updating in tumbleweed it can then be provided in places like SLE via packagehub without a huge amount of extra effort. -- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B