[Bug 1766157] Review Request: liburing - Linux-native io_uring I/O access library

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

 



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

Jeff Moyer <jmoyer@xxxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|needinfo?(stefanha@redhat.c |
                   |om)                         |



--- Comment #4 from Jeff Moyer <jmoyer@xxxxxxxxxx> ---
Stefan, I hope you don't mind, but I went ahead and made all of the changes
requested:

(In reply to Cole Robinson from comment #2)
> The package doesn't build in 'mock' because it's missing BuildRequires: gcc.
> Do 'mock liburing-0.2-1.src.rpm' to reproduce, there may be other missing
> build deps.
> 
> * Release should be Release: 1%{?dist}   so the .fcXX bits get appended to
> the version string
> * Source: should be a pointer to the upstream URL that hosts the release. In
> this case I think it should be
> https://github.com/axboe/liburing/archive/%{name}-%{version}.tar.gz#%{name}-
> %{name}-%{version}.tar.gz   , the ending weirdness is due to github renaming
> the archive strangely. You might need to pass '-n
> %{name}-%{name}-%{version}' to %setup/%autosetup to tell it what the
> extracted archive name is
> * The %defattr lines should be removed:
> https://pagure.io/packaging-committee/issue/77
> * The Group: lines should be removed
> * All the BuildRoot and RPM_BUILD_ROOT lines should be removed. %clean
> should be removed

All done.

> * The ./configure line should be replaced with just %configure

Unfortunately, this configure script only supports the 4 options used in the
spec file I'm linking to below, so I had to continue to call ./configure by
hand.

> * The 'make' call should be %make_build
> * The 'make install' call should be %make_install
> * The %pre and %post sections can be entirely removed, ldconfig is done
> automatically:
> https://fedoraproject.org/wiki/Changes/Removing_ldconfig_scriptlets
> * The devel package 'Requires: liburing' should instead be: Requires:
> %{name} = %{version}-%{release}
> * The devel package should also have Requires: pkgconfig
> * I think all the %attr usage can be entirely removed, unless they are doing
> something that the build system isn't doing.

I double checked, and the build system takes care of installing with the
correct permissions.

> * The Provides: liburing.so.1 shouldn't be necessary, I'm pretty sure RPM
> automatically adds annotations like this

I removed the line, and this is what I see:

$ rpm -qp --provides RPMS/x86_64/liburing-0.2-1.el8.x86_64.rpm 
liburing = 0.2-1.el8
liburing(x86-64) = 0.2-1.el8
liburing.so.1()(64bit)
liburing.so.1(LIBURING_0.1)(64bit)
liburing.so.1(LIBURING_0.2)(64bit)

so confirmed.

> * Replace %setup with %autosetup, which will automatically apply any listed
> Patch: in the spec if anything is backported in the future. It's a small
> maintenace optimization

Done.

All good feedback, thanks!

(In reply to Fabio Valentini from comment #3)

> Please don't do the HTML anchor hacks anymore, they haven't been necessary
> for years. See the SourceURL page in the packaging guidelines how to
> correctly and nicely handle GitHub tarballs:
> 
> https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/
> #_git_tags

Noted.  Here's the updated URL line, based on those guidelines:

URL:
https://github.com/axboe/liburing/archive/%{name}-%{version}/%{name}-%{version}.tar.gz

The tag is "liburing-0.2", which means that the tarball is named
"liburing-liburing-0.2.tar.gz".  That's unfortunate, but as Cole noted, we can
just pass that name to %autosetup.

You can find the resulting spec file and package here:

http://people.redhat.com/jmoyer/liburing/liburing.spec
http://people.redhat.com/jmoyer/liburing/liburing-0.2-1.el8.src.rpm

Thanks again for the feedback!

-Jeff

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




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

  Powered by Linux