https://bugzilla.redhat.com/show_bug.cgi?id=1766157
Jeff Moyer <jmoyer(a)redhat.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Flags|needinfo?(stefanha(a)redhat.c |
|om) |
--- Comment #4 from Jeff Moyer <jmoyer(a)redhat.com> ---
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}-%{ve...
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