diff options
authorJeff Moyer <>2019-11-05 08:39:17 +0100
committerJens Axboe <>2019-11-05 08:13:41 -0700
commit0781f2af2c4837ca01d97329bf9ce718ff202e00 (patch)
parent9f4714c22c63a967ada9b998b433b5fcb718743f (diff)
spec: Fedora RPM cleanups
Cole Robinson and Fabio Valenti made a number of suggestions for the .spec file: * 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 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: * 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: * 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: 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. Acked-by: Jeff Moyer <> Tested-by: Stefan Hajnoczi <> Signed-off-by: Stefan Hajnoczi <> Signed-off-by: Jeff Moyer <> Signed-off-by: Jens Axboe <>
1 files 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
+BuildRequires: gcc
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
+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.
-./configure --prefix=/usr --libdir=/%{_libdir} --mandir=/usr/share/man
+./configure --prefix=%{_prefix} --libdir=/%{_libdir} --mandir=%{_mandir} --includedir=%{_includedir}
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
%attr(0755,root,root) %{_libdir}/*
%files devel
-%attr(-,root,root) %{_includedir}/liburing/
-%attr(0644,root,root) %{_includedir}/liburing.h
-%attr(0755,root,root) %{_libdir}/
-%attr(0644,root,root) %{_libdir}/liburing.a
-%attr(0644,root,root) %{_libdir}/pkgconfig/*
-%attr(0644,root,root) %{_mandir}/man2/*
+* Thu Oct 31 2019 Jeff Moyer <> - 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 <> - 0.1
- Initial version