Mailinglist Archive: opensuse-buildservice (48 mails)

< Previous Next >
Re: [opensuse-buildservice] Re: Build dependency rust cargo packages
  • From: Neal Gompa <ngompa13@xxxxxxxxx>
  • Date: Sun, 14 Oct 2018 14:31:48 -0400
  • Message-id: <CAEg-Je_ktH-nWrv6=Cm_kxgYMV_zptQJW=6BHrUTmWnL1zACkA@mail.gmail.com>
On Sun, Oct 14, 2018 at 1:43 PM Markus Kolb
<suse+ml-opensuse-buildservice@xxxxxxxxxxxx> wrote:

Am 14.10.2018 18:01, schrieb Andreas Schwab:
On Okt 14 2018, Markus Kolb
<suse+ml-opensuse-buildservice@xxxxxxxxxxxx> wrote:

is it possible to build binaries on OBS which depend on packages
installed
by rust cargo?
cargo wants to download from github.com with curl library.

Build workers have no network connectivity at all. You need to make
sure all build dependencies are present in the build root.

Andreas.

Yes. That is the cause of the error.
The question is what is the official way to build these rpms?

I'm using now the cargo-vendor package.
I've downloaded the cargo-package-source, called cargo-vendor over it,
tar(ed) the package-source with vendor directory and use this as a
spec-source.
Modify ~/.cargo/config in the build worker chroot with the prep-step in
spec-file for using the vendor directory.

But I've thought of a build service which would handle this?!

Another way would be to use rust2rpm command, I guess.
But I've no idea how to find the 1st crate, which has no build
dependency on another crate.

And I think, that the versioned dependencies of cargo packages might be
a problem for rpm.
cargo packages can/must be installed in different versions next to each
other.
rust2rpm makes the cargo package version to rpm package version. So a
newer one will replace/update other versions.
This breaks the dependency tree of cargo packages.

The preferred way is to package the crates independently and use them
as dependencies. It's possible to support multiple versions in the
dependency tree (this is already done in Fedora). However, the initial
work of unbundling the crates has not been done yet for openSUSE Rust
software, so devel:languages:rust:crates[1] is quite empty compared to
the collection of crates Fedora has packaged[2].

That said, this is the wrong mailing list for this. For openSUSE, the
opensuse-packaging mailing list is the correct place for these
questions.

[1]: https://build.opensuse.org/project/show/devel:languages:rust:crates
[2]:
https://koji.fedoraproject.org/koji/search?match=glob&type=package&terms=rust-*

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

< Previous Next >
Follow Ups