From: Stefan Hajnoczi <stefanha@redhat.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: Julia Suvorova <jusual@redhat.com>,
Aarushi Mehta <mehta.aaru20@gmail.com>,
linux-block@vger.kernel.org, Jeff Moyer <jmoyer@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: [PATCH liburing v3 3/3] spec: Fedora RPM cleanups
Date: Tue, 5 Nov 2019 08:39:17 +0100 [thread overview]
Message-ID: <20191105073917.62557-4-stefanha@redhat.com> (raw)
In-Reply-To: <20191105073917.62557-1-stefanha@redhat.com>
From: Jeff Moyer <jmoyer@redhat.com>
Cole Robinson and Fabio Valenti made a number of suggestions for the
.spec file:
https://bugzilla.redhat.com/show_bug.cgi?id=1766157
* 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/...
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
* The ./configure line should be replaced with just %configure
* 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.
* The Provides: liburing.so.1 shouldn't be necessary, I'm pretty sure
RPM automatically adds annotations like this
* 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
These changes work on Fedora 31 and openSUSE Leap 15.1. Therefore they
are likely to work on other rpm-based distributions too.
Tested-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
liburing.spec | 57 ++++++++++++++++++++++++++-------------------------
1 file changed, 29 insertions(+), 28 deletions(-)
diff --git a/liburing.spec b/liburing.spec
index f9e9262..e542771 100644
--- a/liburing.spec
+++ b/liburing.spec
@@ -1,12 +1,11 @@
Name: liburing
Version: 0.2
-Release: 1
+Release: 1%{?dist}
Summary: Linux-native io_uring I/O access library
License: LGPLv2+
-Group: System Environment/Libraries
Source: %{name}-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-root
-URL: http://git.kernel.dk/cgit/liburing/
+URL: https://git.kernel.dk/cgit/liburing/snapshot/%{name}-%{version}.tar.gz
+BuildRequires: gcc
%description
Provides native async IO for the Linux kernel, in a fast and efficient
@@ -14,47 +13,49 @@ manner, for both buffered and O_DIRECT.
%package devel
Summary: Development files for Linux-native io_uring I/O access library
-Group: Development/System
-Requires: liburing
-Provides: liburing.so.1
+Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig
%description devel
This package provides header files to include and libraries to link with
for the Linux-native io_uring.
%prep
-%setup
+%autosetup
%build
-./configure --prefix=/usr --libdir=/%{_libdir} --mandir=/usr/share/man
-make
+./configure --prefix=%{_prefix} --libdir=/%{_libdir} --mandir=%{_mandir} --includedir=%{_includedir}
-%install
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-
-make install DESTDIR=$RPM_BUILD_ROOT
-
-%clean
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
+%make_build
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
+%install
+%make_install
%files
-%defattr(-,root,root)
%attr(0755,root,root) %{_libdir}/liburing.so.*
%doc COPYING
%files devel
-%defattr(-,root,root)
-%attr(-,root,root) %{_includedir}/liburing/
-%attr(0644,root,root) %{_includedir}/liburing.h
-%attr(0755,root,root) %{_libdir}/liburing.so
-%attr(0644,root,root) %{_libdir}/liburing.a
-%attr(0644,root,root) %{_libdir}/pkgconfig/*
-%attr(0644,root,root) %{_mandir}/man2/*
+%{_includedir}/liburing/
+%{_includedir}/liburing.h
+%{_libdir}/liburing.so
+%{_libdir}/liburing.a
+%{_libdir}/pkgconfig/*
+%{_mandir}/man2/*
%changelog
+* Thu Oct 31 2019 Jeff Moyer <jmoyer@redhat.com> - 0.2-1
+- Add io_uring_cq_ready()
+- Add io_uring_peek_batch_cqe()
+- Add io_uring_prep_accept()
+- Add io_uring_prep_{recv,send}msg()
+- Add io_uring_prep_timeout_remove()
+- Add io_uring_queue_init_params()
+- Add io_uring_register_files_update()
+- Add io_uring_sq_space_left()
+- Add io_uring_wait_cqe_timeout()
+- Add io_uring_wait_cqes()
+- Add io_uring_wait_cqes_timeout()
+
* Tue Jan 8 2019 Jens Axboe <axboe@kernel.dk> - 0.1
- Initial version
--
2.23.0
next prev parent reply other threads:[~2019-11-05 7:39 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-05 7:39 [PATCH liburing v3 0/3] Fedora 31 RPM improvements Stefan Hajnoczi
2019-11-05 7:39 ` [PATCH liburing v3 1/3] spec: update RPM version number to 0.2 Stefan Hajnoczi
2019-11-05 7:39 ` [PATCH liburing v3 2/3] Makefile: add missing .pc dependency on .spec file Stefan Hajnoczi
2019-11-05 7:39 ` Stefan Hajnoczi [this message]
2019-11-05 13:09 ` [PATCH liburing v3 0/3] Fedora 31 RPM improvements Jeff Moyer
2019-11-05 15:13 ` Jens Axboe
2019-11-05 15:22 ` Jeff Moyer
2019-11-05 15:29 ` Jens Axboe
2019-11-05 15:29 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191105073917.62557-4-stefanha@redhat.com \
--to=stefanha@redhat.com \
--cc=axboe@kernel.dk \
--cc=jmoyer@redhat.com \
--cc=jusual@redhat.com \
--cc=linux-block@vger.kernel.org \
--cc=mehta.aaru20@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).