[prev in list] [next in list] [prev in thread] [next in thread] 

List:       opensuse-packaging
Subject:    [opensuse-packaging] Re: [opensuse-factory] RFC Generic Packaging for Languages that have vendor/ Tr
From:       Neal Gompa <ngompa13 () gmail ! com>
Date:       2017-12-20 14:10:22
Message-ID: CAEg-Je-THbstUzSFLc5MwbDwph1U-JQh-3oEWrjUn0zzhPD0Og () mail ! gmail ! com
[Download RAW message or body]

On Tue, Dec 19, 2017 at 11:54 PM, Aleksa Sarai <asarai@suse.de> wrote:
> 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?).
>

Well, if you want to do it by hand, we do document how you're supposed
to do it: https://fedoraproject.org/wiki/Packaging:Rust

Unlike Go, which is mostly B.S. on packaging, we have been taking a
careful approach to ensure we're on a solid path for Rust.

>> * 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
>

Our design of Rust packaging is deliberately because of needing to
package multiple versions of things. Though it is encouraged that when
we encounter such situations, to try to upgrade to latest crate
versions and submit patches upstream. Igor Gnatenko has been like a
machine and doing just that across most of Fedora's crates.

But yes, we handle multiple versions of crates within a dep tree
perfectly fine. :)

> --
> Aleksa Sarai
> Senior Software Engineer (Containers)
> SUSE Linux GmbH
> <https://www.cyphar.com/>



-- 
真実はいつも一つ!/ Always, there's only one truth!
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org
To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic