Bug 2027417 - Review Request: rust-netavark - A container network stack
Summary: Review Request: rust-netavark - A container network stack
Keywords:
Status: CLOSED DUPLICATE of bug 2048794
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jindrich Novy
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: NotReady
Depends On: 2028227 2028260 2028271
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-11-29 15:27 UTC by Lokesh Mandvekar
Modified: 2022-03-23 14:15 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-03-23 14:15:35 UTC
Type: ---
Embargoed:
lsm5: fedora-review?


Attachments (Terms of Use)

Description Lokesh Mandvekar 2021-11-29 15:27:11 UTC
Spec URL: TBD
SRPM URL: TBD
Description: TBD
Fedora Account System Username: lsm5

Comment 1 Lokesh Mandvekar 2021-12-01 21:14:38 UTC
Waiting for netavark upstream to push a tag to crates.io

Comment 2 Lokesh Mandvekar 2021-12-02 15:41:17 UTC
Spec URL: https://gitlab.com/lsm5/rust-netavark/-/raw/main/rust-netavark.spec
SRPM URL: https://gitlab.com/lsm5/rust-netavark/-/raw/main/SRPMS/rust-netavark-0-0.1.fc35.src.rpm
Description: OCI network stack

rust-netavark is not yet buildable on koji/mock  but I'm still requesting approval on the following conditions, all of those will be satisfied in the next few days.
I'll be going on a long PTO soon so it would be good to have the package created and handed off to co-maintainers.

Requesting approval with following things in mind: 
1. Currently doesn't build because 3 dependencies are not available in yum repos (these packages have been approved, and scm requests have been filed, bzs are listed as blockers to this bug)
2. rust-netavark will only be an application crate and a leaf package as far as rust dependencies are concerned. So, we don't need it to be published as a crate to approve it. See: https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_package_sources
3. rpmlint is happy on the spec file
4. License is correct and valid
5. Only the application is packaged, no libraries packaged.

Comment 3 Jindrich Novy 2021-12-02 15:48:15 UTC
The mock build is a show-stopper I believe. I'd rather approve this after all functions as expected and confirmed by fedora-review tool.

Comment 4 Lokesh Mandvekar 2021-12-02 20:58:07 UTC
I think I'm just gonna go the copr route for now. This is too much of a PITA, I honestly can't say how long this will take.

Comment 5 Fabio Valentini 2021-12-02 21:11:33 UTC
Hi, I'm the main Rust package maintainer in Fedora, I'll leave some inline comments here.

>1. Currently doesn't build because 3 dependencies are not available in yum repos (these packages have been approved, and scm requests have been filed, bzs are listed as blockers to this bug)

You can use "mock --chain" to build multiple packages after one another. You only need to feed it the SRPM files of everything that's not available from repositories yet in the correct order. That way you can at least have a local mockbuild.

>2. rust-netavark will only be an application crate and a leaf package as far as rust dependencies are concerned. So, we don't need it to be published as a crate to approve it. See: https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_package_sources

Correct, application-only crates do not need to be published on crates.io to be packaged.
However, in that case, the source package also MUST NOT use the "rust-" prefix, because that namespace is reserved for crates from the crates.io.

>3. rpmlint is happy on the spec file
>4. License is correct and valid

Since this is a package that contains statically linked code with various licenses, you will need to query all dependencies for their licenses and determine the effective license of the built binary.

You can run
$ dnf repoquery --cacheonly "rust-*-devel" --installed --qf "# %{LICENSE}: %{source_name} %{version}"
in the mock chroot ($ mock shell), it will print all installed Rust dependencies and their licenses, which you can then paste into the .spec file above the "License: Foo and Bar and (Baz or Fop)" tag in the subpackage that contains the built binary.

>5. Only the application is packaged, no libraries packaged.

Comment 6 Fabio Valentini 2022-02-04 23:41:41 UTC
I believe this ticket can be closed as a duplicate of #2048794 ?

Comment 7 Lokesh Mandvekar 2022-03-23 14:15:35 UTC

*** This bug has been marked as a duplicate of bug 2048794 ***


Note You need to log in before you can comment on or make changes to this bug.