Mailinglist Archive: opensuse-factory (454 mails)

< Previous Next >
Re: [opensuse-factory] RFC Generic Packaging for Languages that have vendor/ Trees
  • From: Aleksa Sarai <asarai@xxxxxxx>
  • Date: Wed, 20 Dec 2017 16:54:16 +1100
  • Message-id: <20171220055415.atdonq2xsodxmboh@gordon>
On 2017-12-19, Neal Gompa <ngompa13@xxxxxxxxx> 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/>
< Previous Next >
Follow Ups