On 2017-12-19, Neal Gompa <ngompa13@gmail.com> wrote:
* The current vendoring of rust crates is temporary. We're waiting on RPM 4.14[1] and the new product builder to come online (DimStar already slapped me once for breaking Tumbleweed with rich deps before...). I'm working on making rust2rpm make openSUSE-friendly spec files (mainly add the boilerplate header, skip conversion of SPDX to Fedora license tags, generate changes file) so that crates can be easily packaged and shipped in the distribution. Right now, Fedora has well over 230 Rust crates packaged[2], and the packaging for them is pretty trivial[3]. We've also got a good handle on cargo integration, so crates function as if they're in a local cargo registry for things to depend on.
Is there a document somewhere that explains how it works? I read through the Fedora wiki page on Rust packaging[1] last time the RPM feature was mentioned on this list, but it doesn't explain anything about the current status (unless "rust2rpm" is the current status?).
* I'm not sure why openSUSE hasn't adopted the bundled() Provides thing across the board anyway. There are plenty of packages that ship vendored trees/libraries and no one knows what they are. In general, it's really not a bad idea to do that. In my opinion, it's irresponsible to not require what you bundle to be defined.
Generally speaking, I think this is a solid idea, but I solidly do not believe we will be continuing the vendored crates practice for much longer in Rust.
Okay. I just want to make sure that we don't run into the same maintainence problem we already have with Ruby packages (which will end up being worse due to the multi-versioning support in Rust, as well as the existence of far more micro-packages than in the Ruby universe). Does the current plan for Rust packaging account for that? [1]: https://fedoraproject.org/wiki/SIGs/Rust -- Aleksa Sarai Senior Software Engineer (Containers) SUSE Linux GmbH <https://www.cyphar.com/>