[Bug 2106611] Review Request: passt - User-mode networking daemons for virtual machines and namespaces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=2106611



--- Comment #8 from Stefano Brivio <sbrivio@xxxxxxxxxx> ---
Thanks for all the reviews! I made a number of changes, and I finally have an
updated spec files hopefully addressing all the pending comments.

Spec URL:
https://download.copr.fedorainfracloud.org/results/sbrivio/passt/fedora-rawhide-x86_64/04752883-passt/passt.spec
SRPM URL:
https://download.copr.fedorainfracloud.org/results/sbrivio/passt/fedora-rawhide-x86_64/04752883-passt/passt-0.git.2022_08_21.7b71094-1.fc38.src.rpm

Benson,

(In reply to Benson Muite from comment #4)
>
> [...]
> 
> Comments:
> a) Consider packaging demo.sh with the documentation as it is a useful
> getting started example

The existing demo.sh was largely outdated as I pretty much forgot about it. I
rewrote it, and it's included in the package now:

  %doc %{_docdir}/passt/demo.sh

...I had a look around, it seems that /usr/share/doc/ is the most common place
for this kind of stuff.

> b) Can any of the tests run without direct network access? If so they should
> be used.

Unfortunately, not yet. I looked into it, it's definitely doable, but it
involves a significant amount of changes which would take even longer. I'll
keep this in mind, though, and try to get there in a near future.

> c) {{{ git_dir_changelog }}} does not appear in
> https://download.copr.fedorainfracloud.org/results/sbrivio/passt/fedora-
> rawhide-x86_64/04600401-passt/passt.spec

Fixed.

> d) The README.md file has many scripts that would not work in the terminal.
> Maybe these should be removed?  Generating an HTML file for use on a webpage
> from a markdown file would improve maintainability.

The package now includes a "plain" Markdown version, that's automatically
sourced from the web-oriented README.md.

That should be clean enough, even though it's not an ideal solution in the long
term. I think it would be better to build the web-oriented README.md from a
plain version (that is, the other way around). However, the project homepage is
based on cgit, and cgit needs the file to be in the tree as it is. I still need
to look into a solution for this.

> e) Packaging specific commits is reasonable, though specifying releases or
> tagging some commits as releases would also help with maintainability and
> knowing when to update, especially if updates will also be done by people
> who are not upstream developers

I started tagging specific commits on push, before I trigger Copr builds. The
format of the tag is DATE.SHORT_SHA, with date being the ISO 8601
representation of the commit date of HEAD, and SHORT_SHA its 7-digit commit
SHA. The rpkg macros can then operate on those tags.

> f) The files
> passt-HEAD/contrib/kata-containers/0001-virtcontainers-agent-Add-passt-
> networking-model-and-.patch
> passt-HEAD/contrib/podman/0001-libpod-Add-pasta-networking-mode.patch
> contain Apache 2.0 licenses. Is it worth packaging these?

I don't think so. I licensed both as Apache 2.0 to avoid licensing
compatibility issues with the projects at hand (both Kata Containers and Podman
use Apache 2.0 licenses). However, my plan is to submit the Podman integration
directly to the Podman maintainers once packages are widely available.

As to Kata Containers, that patch is outdated now and I doubt it would actually
benefit users like that.

> g) Should header files be in a devel package?

I guess not, passt doesn't export any API and can't be used as a library.

> h) It may be helpful to explain the mixed licensing policy

Actually, there's no mixed licensing -- the project license is AGPL 3.0.

I originally took one function (in checksum.c) from the BESS ("Berkeley
Extensible Software Switch") project, distributed under the terms of the
3-Clause BSD license, which is compatible with the AGPL 3.0
(https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses).

My understanding is that the "License:" tag of the spec file needs to include
all the licenses of files that are used for the binary build
(https://docs.fedoraproject.org/en-US/legal/license-field/#_conjunctive_and_licensing).

Does that look correct to you?

--

Ralf,

(In reply to Ralf Corsepius from comment #5)
> Just a remark: This source-URL:
> Source: https://passt.top/passt/snapshot/passt-HEAD.tar.xz
> is non-deterministic and therefore not acceptable in Fedora.

Thanks for pointing this out. I fixed that, the current Source: tag points to:

 
https://passt.top/passt/snapshot/passt-7b710946b152fabab0f3c838e5518576beb9020c.tar.xz

--

Artur,

(In reply to Artur Frenszek-Iwicki from comment #7)
> > Spec URL: https://passt.top/passt/tree/contrib/fedora/passt.spec
> 1. The links you post as part of a Review Request should point to
> "plain"/"raw" files, not HTML renditions.

I totally forgot, I now posted links to plain files.

> 2. The spec file should match the one used to build the linked SRPM, i.e. it
> cannot be a template that needs filling out.

Right, I posted a link to the actual spec file.

> > Release:	0%{?dist}
> This must start at 1, not 0.
> https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/
> #_simple_versioning

Fixed.

> > Group:		System Environment/Daemons
> > VCS:		git://passt.top/passt
> Not used in Fedora.
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections

Dropped.

> > Source:		https://passt.top/passt/snapshot/passt-HEAD.tar.xz
> This link points to the latest version of passt, hence the file will change
> over time.
> You need to use a "static" link referring to a specific commit or git tag.

Fixed, right now it points to:

 
https://passt.top/passt/snapshot/passt-7b710946b152fabab0f3c838e5518576beb9020c.tar.xz

> > %package    selinux
> This should probably be marked as "BuildArch: noarch", otherwise you end up
> with a separate passt-selinux package for each architecture.

Changed.

> > %build
> > export CFLAGS="%{optflags}"
> This is not needed. Starting with Fedora 36, this is done automatically at
> start of %build and %check.
> If you insist on doing this, the proper way is to use the "%set_build_flags"
> macro,
> which will set up not only CFLAGS, but also LDFLAGS.

Thanks for the pointer, I switched it to %set_build_flags, as the same spec
file is currently used for other RPM-based distributions as well.

> > %{_mandir}/man1/passt.1.*
> > %{_mandir}/man1/pasta.1.*
> > %{_mandir}/man1/qrap.1.*
> This wildcard can match any compression method, but will fail if the man
> pages are *not compressed*.
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages

Fixed.


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2106611
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux