Add liburing, libbpf, libslirp, usbredir, libnfs, fuse3 specs (#1456)

This commit is contained in:
Thomas Crain 2021-09-28 14:07:20 -07:00 коммит произвёл GitHub
Родитель f40ccb952e
Коммит 3695e6578b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
21 изменённых файлов: 1625 добавлений и 1 удалений

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -49,6 +49,7 @@
"firewalld",
"fmt",
"fribidi",
"fuse3",
"fuse-zip",
"gcovr",
"glusterfs",
@ -77,6 +78,7 @@
"kyua",
"leveldb",
"libatasmart",
"libbpf",
"libburn",
"libcgroup",
"libcomps",
@ -92,12 +94,15 @@
"libisofs",
"libkcapi",
"liblognorm",
"libnfs",
"libpciaccess",
"libpwquality",
"libsemanage",
"libslirp",
"libSM",
"libsndfile",
"libstoragemgmt",
"liburing",
"libvirt",
"libwacom",
"libX11",
@ -205,6 +210,7 @@
"sscg",
"uclibc-ng",
"UI-cairo",
"usbredir",
"uuid",
"vitess",
"vulkan-headers",

2
SPECS/fuse3/fuse.conf Normal file
Просмотреть файл

@ -0,0 +1,2 @@
# mount_max = 1000
# user_allow_other

Просмотреть файл

@ -0,0 +1,12 @@
diff --git a/example/cxxopts.hpp b/example/cxxopts.hpp
index 6fd170d..6906e3b 100644
--- a/example/cxxopts.hpp
+++ b/example/cxxopts.hpp
@@ -37,6 +37,7 @@ THE SOFTWARE.
#include <unordered_map>
#include <unordered_set>
#include <vector>
+#include <limits>
#ifdef __cpp_lib_optional
#include <optional>

Просмотреть файл

@ -0,0 +1,6 @@
{
"Signatures": {
"fuse-3.10.5.tar.gz": "e73f75e58da59a0e333d337c105093c496c0fd7356ef3a5a540f560697c9c4e6",
"fuse.conf": "e9a67590220197d8c8a29dfeae51cfa37172fdda0a347e13c3f41571a69a4318"
}
}

206
SPECS/fuse3/fuse3.spec Normal file
Просмотреть файл

@ -0,0 +1,206 @@
Summary: File System in Userspace (FUSE) v3 utilities
Name: fuse3
Version: 3.10.5
Release: 2%{?dist}
License: GPL+
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://github.com/libfuse/libfuse
Source0: https://github.com/libfuse/libfuse/archive/fuse-%{version}.tar.gz
Source1: fuse.conf
Patch0: fuse3-gcc11.patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: libselinux-devel
BuildRequires: meson
BuildRequires: ninja-build
BuildRequires: libudev-devel
BuildRequires: which
Requires: %{_sysconfdir}/fuse.conf
%description
With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the FUSE v3 userspace tools to
mount a FUSE filesystem.
%package libs
Summary: File System in Userspace (FUSE) v3 libraries
License: LGPLv2+
%description libs
Devel With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the FUSE v3 libraries.
%package devel
Summary: File System in Userspace (FUSE) v3 devel files
License: LGPLv2+
Requires: %{name}-libs = %{version}-%{release}
Requires: pkg-config
%description devel
With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains development files (headers,
pgk-config) to develop FUSE v3 based applications/filesystems.
%package -n fuse-common
Summary: Common files for File System in Userspace (FUSE) v2 and v3
License: GPL+
%description -n fuse-common
Common files for FUSE v2 and FUSE v3.
%prep
%setup -q -n libfuse-fuse-%{version}
%patch0 -p1
%build
export LC_ALL=en_US.UTF-8
%if ! 0%{?_vpath_srcdir:1}
%global _vpath_srcdir .
%endif
%if ! 0%{?_vpath_builddir:1}
%global _vpath_builddir build
%endif
%meson
(cd %{_vpath_builddir}
# don't have root for installation
meson configure -D useroot=false
ninja-build reconfigure
)
%meson_build
%install
export MESON_INSTALL_DESTDIR_PREFIX=%{buildroot}%{_prefix} %meson_install
find %{buildroot} -type f -name "*.la" -delete -print
find %{buildroot} -type f -name "*.a" -delete -print
# change from 4755 to 0755 to allow stripping -- fixed later in files
chmod 0755 %{buildroot}/%{_bindir}/fusermount3
# No need to create init-script
rm -f %{buildroot}%{_sysconfdir}/init.d/fuse3
# Install config-file
install -p -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}
# Delete pointless udev rules, which do not belong in /usr/lib (brc#748204)
rm -f %{buildroot}%{_libdir}/udev/rules.d/99-fuse3.rules
%ldconfig_scriptlets libs
%files
%license LICENSE GPL2.txt
%doc AUTHORS ChangeLog.rst README.md
%{_sbindir}/mount.fuse3
%attr(4755,root,root) %{_bindir}/fusermount3
%{_mandir}/man1/*
%{_mandir}/man8/*
%files libs
%license LGPL2.txt
%{_libdir}/libfuse3.so.*
%files devel
%{_libdir}/libfuse3.so
%{_libdir}/pkgconfig/fuse3.pc
%{_includedir}/fuse3/
%files -n fuse-common
%config(noreplace) %{_sysconfdir}/fuse.conf
%changelog
* Wed Sep 22 2021 Thomas Crain <thcrain@microsoft.com> - 3.10.5-2
- Initial CBL-Mariner import from Fedora 35 (license: MIT)
- Spec linted
- License verified
* Thu Sep 16 2021 Tom Callaway <spot@fedoraproject.org> - 3.10.5-1
- update to 3.10.5
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 15 2021 Tom Callaway <spot@fedoraproject.org> - 3.10.4-1
- update to 3.10.4
* Thu May 6 2021 Tom Callaway <spot@fedoraproject.org> - 3.10.3-1
- update to 3.10.3
* Fri Feb 5 2021 Tom Callaway <spot@fedoraproject.org> - 3.10.2-1
- update to 3.10.2
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 7 2020 Tom Callaway <spot@fedoraproject.org> - 3.10.1-1
- update to 3.10.1
* Wed Oct 14 2020 Jeff Law <law@redhat.com> - 3.10.0-2
- Add missing #include for gcc-11
* Mon Oct 12 2020 Tom Callaway <spot@fedoraproject.org> - 3.10.0-1
- update to 3.10.0
- enable lto
* Mon Aug 10 2020 Tom Callaway <spot@fedoraproject.org> - 3.9.4-1
- update to 3.9.4
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 1 2020 Jeff Law <law@redhat.com> - 3.9.2-2
- Disable LTO
* Thu Jun 18 2020 Tom Callaway <spot@fedoraproject.org> - 3.9.2-1
- update to 3.9.2
* Thu Mar 19 2020 Tom Callaway <spot@fedoraproject.org> - 3.9.1-1
- update to 3.9.1
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Dec 16 2019 Tom Callaway <spot@fedoraproject.org> - 3.9.0-1
- update to 3.9.0
* Mon Nov 4 2019 Tom Callaway <spot@fedoraproject.org> - 3.8.0-1
- update to 3.8.0
* Fri Sep 27 2019 Tom Callaway <spot@fedoraproject.org> - 3.7.0-1
- update to 3.7.0
* Sun Sep 1 2019 Peter Lemenkov <lemenkov@gmail.com> - 3.6.2-1
- Update to 3.6.2
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jul 03 2019 Dave Dykstra <dwd@fedoraproject.org> - 3.6.1-3
- Update to the final version of pr #421
* Wed Jul 03 2019 Dave Dykstra <dwd@fedoraproject.org> - 3.6.1-2
- Update to newer version of pr #421
- Disable building examples on el7
* Thu Jun 13 2019 Tom Callaway <spot@fedoraproject.org> - 3.6.1-1
- Update to 3.6.1
* Fri May 24 2019 Dave Dykstra <dwd@fedoraproject.org> - 3.5.0-1
- Upgrade to upstream 3.5.0
* Sat May 04 2019 Dave Dykstra <dwd@fedoraproject.org> - 3.4.2-7
- Fix building on el6
* Wed May 01 2019 Dave Dykstra <dwd@fedoraproject.org> - 3.4.2-6
- Need Conflicts: fuse-common < 3.4.2-4, because <= 3.4.2-3 isn't quite
enough.
* Wed May 01 2019 Dave Dykstra <dwd@fedoraproject.org> - 3.4.2-5
- Update the Conflicts: fuse-common <= version to 3.4.2-3
* Wed May 01 2019 Dave Dykstra <dwd@fedoraproject.org> - 3.4.2-4
- Bump release number in order to larger than a rebuild of fuse package
done before separation pull request was merged.
* Mon Apr 08 2019 Dave Dykstra <dwd@fedoraproject.org> - 3.4.2-3
- Separate out from fuse package

Просмотреть файл

@ -0,0 +1,5 @@
{
"Signatures": {
"libbpf-0.4.0.tar.gz": "21cbee4df093e7fd29e76ed429650d3f3abe3a893f35e346ab9bc3484f6e68c0"
}
}

115
SPECS/libbpf/libbpf.spec Normal file
Просмотреть файл

@ -0,0 +1,115 @@
Summary: Libbpf library
Name: libbpf
Version: 0.4.0
Release: 3%{?dist}
License: LGPLv2 OR BSD
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://github.com/%{name}/%{name}
#Source0: https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz
Source0: %{name}-%{version}.tar.gz
BuildRequires: elfutils-devel
BuildRequires: elfutils-libelf-devel
BuildRequires: gcc
BuildRequires: make
%description
A mirror of bpf-next linux tree bpf-next/tools/lib/bpf directory plus its
supporting header files. The version of the package reflects the version of
ABI.
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
Requires: kernel-headers >= 5.9.0
Requires: zlib
%description devel
The %{name}-devel package contains libraries header files for
developing applications that use %{name}
%define _lto_cflags %{nil}
%global make_flags DESTDIR=%{buildroot} OBJDIR=%{_builddir} CFLAGS="%{build_cflags} -fPIC" LDFLAGS="%{build_ldflags} -Wl,--no-as-needed" LIBDIR=/%{_libdir} NO_PKG_CONFIG=1
%prep
%autosetup
%build
%make_build -C ./src %{make_flags}
%install
%make_install -C ./src %{make_flags}
find %{buildroot} -type f -name "*.a" -delete -print
%files
%{_libdir}/libbpf.so.0*
%files devel
%{_libdir}/libbpf.so
%{_includedir}/bpf/
%{_libdir}/pkgconfig/libbpf.pc
%changelog
* Wed Sep 22 2021 Thomas Crain <thcrain@microsoft.com> - 0.4.0-3
- Initial CBL-Mariner import from Fedora 35 (license: MIT)
- Lint spec and remove epoch
- Remove static subpackage
- License verified
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed May 26 2021 Jiri Olsa <jolsa@redhat.com> - 2:0.4.0-1
- release 0.4.0-1
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 22 2021 Jiri Olsa <jolsa@redhat.com> - 2:0.3.0-1
- release 0.3.0-1
* Thu Oct 01 2020 Jiri Olsa <jolsa@redhat.com> - 2:0.1.0-1
- release 0.1.0
* Sun Aug 02 2020 Jiri Olsa <jolsa@redhat.com> - 2:0.0.9-1
- release 0.0.9
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.0.8-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.0.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun May 10 2020 Jiri Olsa <jolsa@redhat.com> - 2:0.0.8-1
- release 0.0.8
* Wed Mar 03 2020 Jiri Olsa <jolsa@redhat.com> - 2:0.0.7-1
- release 0.0.7
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2:0.0.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Jan 2 2020 Jiri Olsa <jolsa@redhat.com> - 0.0.6-2
- release 0.0.6-2, build server issues
* Mon Dec 30 2019 Jiri Olsa <jolsa@redhat.com> - 0.0.6-1
- release 0.0.6
* Thu Nov 28 2019 Jiri Olsa <jolsa@redhat.com> - 0.0.5-3
- release 0.0.5
* Fri Nov 22 2019 Jiri Olsa <jolsa@redhat.com> - 0.0.3-3
- Revert to 0.0.3 version and adjust kernel-headers dependency (BZ#1755317)
* Tue Nov 12 2019 Jiri Olsa <jolsa@redhat.com> - 0.0.5-2
- Add kernel-headers dependency
* Thu Oct 03 2019 Jiri Olsa <jolsa@redhat.com> - 0.0.5-1
- release 0.0.5
* Wed Sep 25 2019 Jiri Olsa <jolsa@redhat.com> - 0.0.3-2
- Fix libelf linking (BZ#1755317)
* Fri Sep 13 2019 Jiri Olsa <jolsa@redhat.com> - 0.0.3-1
- Initial release

Просмотреть файл

@ -0,0 +1,5 @@
{
"Signatures": {
"libnfs-4.0.0.tar.gz": "6ee77e9fe220e2d3e3b1f53cfea04fb319828cc7dbb97dd9df09e46e901d797d"
}
}

133
SPECS/libnfs/libnfs.spec Normal file
Просмотреть файл

@ -0,0 +1,133 @@
Summary: Client library for accessing NFS shares over a network
Name: libnfs
Version: 4.0.0
Release: 6%{?dist}
# The library is licensed as LGPLv2+, the protocol definition is BSD
License: LGPLv2+ AND BSD
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://github.com/sahlberg/libnfs
Source0: %{url}/archive/%{name}-%{version}/%{name}-%{version}.tar.gz
BuildRequires: automake
BuildRequires: gcc
BuildRequires: libtool
BuildRequires: make
%description
The libnfs package contains a library of functions for accessing NFSv2
and NFSv3 servers from user space. It provides a low-level, asynchronous
RPC library for accessing NFS protocols, an asynchronous library with
POSIX-like VFS functions, and a synchronous library with POSIX-like VFS
functions.
%package devel
Summary: Development files for libnfs
# The library is licensed as LGPLv2+, the protocol definition is BSD
# and the example source code is GPLv3+.
License: LGPLv2+ AND BSD AND GPLv3+
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The libnfs-devel package contains libraries and header files for
developing applications that use libnfs.
%package utils
Summary: Utilities for accessing NFS servers
License: GPLv3+
Requires: %{name}%{?_isa} = %{version}-%{release}
%description utils
The libnfs-utils package contains simple client programs for accessing
NFS servers using libnfs.
%prep
%setup -q -n %{name}-%{name}-%{version}
autoreconf -vif
%build
%configure --disable-static --disable-examples --disable-werror
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%make_build V=1
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%ldconfig_scriptlets
%files
%{_libdir}/libnfs.so.13*
%doc README
%license COPYING
%license LICENCE-*.txt
%files devel
%{_libdir}/libnfs.so
%{_includedir}/nfsc/
%{_libdir}/pkgconfig/libnfs.pc
%doc examples/*.c
%files utils
%{_bindir}/nfs-*
%{_mandir}/man1/nfs-*.1*
%changelog
* Wed Sep 22 2021 Thomas Crain <thcrain@microsoft.com> - 4.0.0-6
- Initial CBL-Mariner import from Fedora 35 (license: MIT)
- License verified
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Sep 11 2019 Leigh Scott <leigh123linux@googlemail.com> - 4.0.0-1
- Update to 4.0.0
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat Mar 17 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.11.0-1
- Update to 1.11.0 (version 2.0.0 is also available)
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.8-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.8-6
- Switch to %%ldconfig_scriptlets
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.8-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Aug 06 2015 Ross Lagerwall <rosslagerwall@gmail.com> 1.9.8-1
- Bump to 1.9.8.
- Include examples and licence terms.
* Sun Mar 29 2015 Ross Lagerwall <rosslagerwall@gmail.com> 1.9.7-2
- Update packaging after review.
* Sun Mar 01 2015 Ross Lagerwall <rosslagerwall@gmail.com> 1.9.7-1
- Initial packaging

Просмотреть файл

@ -0,0 +1,5 @@
{
"Signatures": {
"libslirp-4.6.1.tar.xz": "b8a22ac4d601ba16122a67827c0f4361785d4d283f21ff8ed48d4aa1e7693477"
}
}

Просмотреть файл

@ -0,0 +1,106 @@
Summary: A general purpose TCP-IP emulator
Name: libslirp
Version: 4.6.1
Release: 3%{?dist}
License: BSD AND MIT
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://gitlab.freedesktop.org/slirp/libslirp
Source0: %{url}/uploads/83b199ea6fcdfc0c243dfde8546ee4c9/%{name}-%{version}.tar.xz
BuildRequires: gcc
BuildRequires: glib-devel
BuildRequires: meson
%description
A general purpose TCP-IP emulator used by virtual machine hypervisors
to provide virtual networking services.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%prep
%autosetup
%build
%meson
%meson_build
%install
%meson_install
# %%check
# There is no test suite available for libslirp as of 4.6.1
%files
%license COPYRIGHT
%doc README.md CHANGELOG.md
%{_libdir}/%{name}.so.0*
%files devel
%dir %{_includedir}/slirp/
%{_includedir}/slirp/*
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/slirp.pc
%changelog
* Wed Sep 22 2021 Thomas Crain <thcrain@microsoft.com> - 4.6.1-3
- Initial CBL-Mariner import from Fedora 35 (license: MIT)
- Lint spec
- License verified
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 18 2021 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.6.1-1
- new version
* Mon Jun 14 2021 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.6.0-1
- new version
* Wed May 19 2021 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.5.0-1
- new version
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Dec 2 18:19:30 +04 2020 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.4.0-1
- new version
* Fri Nov 27 20:10:28 +04 2020 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.3.1-3
- Fix CVE-2020-29129 CVE-2020-29130 out-of-bounds access while processing ARP/NCSI packets
rhbz#1902232
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 08 2020 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.3.1-1
- New v4.3.1 release
* Thu Apr 23 2020 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.3.0-1
- New v4.3.0 release
* Mon Apr 20 2020 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.2.0-2
- CVE-2020-1983 fix
* Tue Mar 17 2020 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.2.0-1
- New v4.2.0 release
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Dec 03 2019 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.1.0-1
- New v4.1.0 release
* Fri Aug 2 2019 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.0.0-3
- Fix CVE-2019-14378, rhbz#1735654
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed May 22 2019 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.0.0-1
- Initial package, rhbz#1712980

Просмотреть файл

@ -0,0 +1,32 @@
From 1815337f7dbb530ae3e3bc1175d8da214cf76eb5 Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Tue, 9 Mar 2021 14:19:12 +0000
Subject: [PATCH 1/2] spec: bump version to 2.0
The shared library is now liburing.so.2 but the pkgconfig and rpm files
still say 0.7. Existing binaries link against liburing.so.1 and will not
automatically pick up the new liburing.so.2 shared library.
Update the version number in liburing.spec so
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Link: https://lore.kernel.org/r/20210309141913.262131-2-stefanha@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
liburing.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/liburing.spec b/liburing.spec
index fa4d970..8607074 100644
--- a/liburing.spec
+++ b/liburing.spec
@@ -1,5 +1,5 @@
Name: liburing
-Version: 0.7
+Version: 2.0
Release: 1%{?dist}
Summary: Linux-native io_uring I/O access library
License: (GPLv2 with exceptions and LGPLv2+) or MIT
--
2.30.2

Просмотреть файл

@ -0,0 +1,35 @@
From a9f23f088794c9b92c1471fc86c2b3c39ab475fd Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Tue, 9 Mar 2021 14:19:13 +0000
Subject: [PATCH 2/2] spec: add explicit build dependency on make
Fedora 34 is removing make from the buildroot. An explicit dependency is
now required:
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
Adding an explicit build dependency on make seems reasonable across all
rpm-based distros. It won't hurt on distros where make is always
available in the buildroot.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Link: https://lore.kernel.org/r/20210309141913.262131-3-stefanha@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
liburing.spec | 1 +
1 file changed, 1 insertion(+)
diff --git a/liburing.spec b/liburing.spec
index 8607074..0268d23 100644
--- a/liburing.spec
+++ b/liburing.spec
@@ -7,6 +7,7 @@ Source0: https://brick.kernel.dk/snaps/%{name}-%{version}.tar.gz
Source1: https://brick.kernel.dk/snaps/%{name}-%{version}.tar.gz.asc
URL: https://git.kernel.dk/cgit/liburing/
BuildRequires: gcc
+BuildRequires: make
%description
Provides native async IO for the Linux kernel, in a fast and efficient
--
2.30.2

Просмотреть файл

@ -0,0 +1,473 @@
From 808b6c72ab753bda0c300b5683cfd31750d1d49b Mon Sep 17 00:00:00 2001
From: Jens Axboe <axboe@kernel.dk>
Date: Wed, 31 Mar 2021 13:23:56 -0600
Subject: [PATCH] test: get rid of x86_64'isms in the test code
Most/all of these are from syzbot. Turn them into regular system calls,
and just let liburing sort out the non-x86 ones.
Fixes: https://github.com/axboe/liburing/issues/322
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
test/35fa71a030ca-test.c | 16 +++++------
test/917257daa0fe-test.c | 8 +++---
test/a0908ae19763-test.c | 13 +++------
test/a4c0b3decb33-test.c | 10 +++----
test/accept-reuse.c | 1 -
test/b19062a56726-test.c | 8 +++---
test/double-poll-crash.c | 55 +++++++-------------------------------
test/fc2a85cb02ef-test.c | 10 ++++---
test/sendmsg_fs_cve.c | 1 -
test/sqpoll-disable-exit.c | 50 +++++-----------------------------
test/teardowns.c | 1 -
11 files changed, 43 insertions(+), 130 deletions(-)
diff --git a/test/35fa71a030ca-test.c b/test/35fa71a030ca-test.c
index 7f2124b..f5fcc4d 100644
--- a/test/35fa71a030ca-test.c
+++ b/test/35fa71a030ca-test.c
@@ -24,6 +24,9 @@
#include <linux/futex.h>
+#include "liburing.h"
+#include "../src/syscall.h"
+
#if !defined(SYS_futex) && defined(SYS_futex_time64)
# define SYS_futex SYS_futex_time64
#endif
@@ -259,13 +262,6 @@ static void loop(void)
}
}
-#ifndef __NR_io_uring_register
-#define __NR_io_uring_register 427
-#endif
-#ifndef __NR_io_uring_setup
-#define __NR_io_uring_setup 425
-#endif
-
uint64_t r[1] = {0xffffffffffffffff};
void execute_call(int call)
@@ -301,15 +297,15 @@ void execute_call(int call)
*(uint32_t*)0x200000a8 = 0;
*(uint32_t*)0x200000ac = 0;
*(uint64_t*)0x200000b0 = 0;
- res = syscall(__NR_io_uring_setup, 0x64, 0x20000040);
+ res = __sys_io_uring_setup(0x64, (struct io_uring_params *) 0x20000040UL);
if (res != -1)
r[0] = res;
break;
case 1:
- syscall(__NR_io_uring_register, (long)r[0], 0, 0, 0);
+ __sys_io_uring_register((long)r[0], 0, 0, 0);
break;
case 2:
- syscall(__NR_io_uring_register, (long)r[0], 0, 0, 0);
+ __sys_io_uring_register((long)r[0], 0, 0, 0);
break;
}
}
diff --git a/test/917257daa0fe-test.c b/test/917257daa0fe-test.c
index 2a3cb93..1d00ef1 100644
--- a/test/917257daa0fe-test.c
+++ b/test/917257daa0fe-test.c
@@ -6,14 +6,12 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <unistd.h>
-#ifndef __NR_io_uring_setup
-#define __NR_io_uring_setup 425
-#endif
+#include "liburing.h"
+#include "../src/syscall.h"
int main(int argc, char *argv[])
{
@@ -50,6 +48,6 @@ int main(int argc, char *argv[])
*(uint32_t*)0x20000068 = 0;
*(uint32_t*)0x2000006c = 0;
*(uint64_t*)0x20000070 = 0;
- syscall(__NR_io_uring_setup, 0x7a6, 0x20000000);
+ __sys_io_uring_setup(0x7a6, (struct io_uring_params *) 0x20000000UL);
return 0;
}
diff --git a/test/a0908ae19763-test.c b/test/a0908ae19763-test.c
index 1d5741d..00cb559 100644
--- a/test/a0908ae19763-test.c
+++ b/test/a0908ae19763-test.c
@@ -6,17 +6,12 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <unistd.h>
-#ifndef __NR_io_uring_register
-#define __NR_io_uring_register 427
-#endif
-#ifndef __NR_io_uring_setup
-#define __NR_io_uring_setup 425
-#endif
+#include "liburing.h"
+#include "../src/syscall.h"
uint64_t r[1] = {0xffffffffffffffff};
@@ -54,10 +49,10 @@ int main(int argc, char *argv[])
*(uint32_t*)0x200000e8 = 0;
*(uint32_t*)0x200000ec = 0;
*(uint64_t*)0x200000f0 = 0;
- res = syscall(__NR_io_uring_setup, 0xa4, 0x20000080);
+ res = __sys_io_uring_setup(0xa4, (struct io_uring_params *) 0x20000080);
if (res != -1)
r[0] = res;
*(uint32_t*)0x20000280 = -1;
- syscall(__NR_io_uring_register, r[0], 2, 0x20000280, 1);
+ __sys_io_uring_register(r[0], 2, (const void *) 0x20000280, 1);
return 0;
}
diff --git a/test/a4c0b3decb33-test.c b/test/a4c0b3decb33-test.c
index 23c20f6..34b0af2 100644
--- a/test/a4c0b3decb33-test.c
+++ b/test/a4c0b3decb33-test.c
@@ -14,13 +14,15 @@
#include <string.h>
#include <sys/prctl.h>
#include <sys/stat.h>
-#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/mman.h>
#include <time.h>
#include <unistd.h>
+#include "liburing.h"
+#include "../src/syscall.h"
+
static void sleep_ms(uint64_t ms)
{
usleep(ms * 1000);
@@ -129,10 +131,6 @@ static void loop(void)
}
}
-#ifndef __NR_io_uring_setup
-#define __NR_io_uring_setup 425
-#endif
-
void execute_one(void)
{
*(uint32_t*)0x20000080 = 0;
@@ -163,7 +161,7 @@ void execute_one(void)
*(uint32_t*)0x200000e8 = 0;
*(uint32_t*)0x200000ec = 0;
*(uint64_t*)0x200000f0 = 0;
- syscall(__NR_io_uring_setup, 0x983, 0x20000080);
+ __sys_io_uring_setup(0x983, (struct io_uring_params *) 0x20000080);
}
static void sig_int(int sig)
diff --git a/test/accept-reuse.c b/test/accept-reuse.c
index 0062729..c95ac70 100644
--- a/test/accept-reuse.c
+++ b/test/accept-reuse.c
@@ -4,7 +4,6 @@
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
-#include <syscall.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
diff --git a/test/b19062a56726-test.c b/test/b19062a56726-test.c
index 697a416..6a0f686 100644
--- a/test/b19062a56726-test.c
+++ b/test/b19062a56726-test.c
@@ -6,14 +6,12 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <unistd.h>
-#ifndef __NR_io_uring_setup
-#define __NR_io_uring_setup 425
-#endif
+#include "liburing.h"
+#include "../src/syscall.h"
int main(int argc, char *argv[])
{
@@ -50,6 +48,6 @@ int main(int argc, char *argv[])
*(uint32_t*)0x20000268 = 0;
*(uint32_t*)0x2000026c = 0;
*(uint64_t*)0x20000270 = 0;
- syscall(__NR_io_uring_setup, 0xc9f, 0x20000200);
+ __sys_io_uring_setup(0xc9f, (struct io_uring_params *) 0x20000200);
return 0;
}
diff --git a/test/double-poll-crash.c b/test/double-poll-crash.c
index 1a219c7..2a012e5 100644
--- a/test/double-poll-crash.c
+++ b/test/double-poll-crash.c
@@ -9,10 +9,13 @@
#include <string.h>
#include <sys/mman.h>
#include <sys/stat.h>
-#include <sys/syscall.h>
#include <sys/types.h>
+#include <sys/ioctl.h>
#include <unistd.h>
+#include "liburing.h"
+#include "../src/syscall.h"
+
#define SIZEOF_IO_URING_SQE 64
#define SIZEOF_IO_URING_CQE 16
#define SQ_HEAD_OFFSET 0
@@ -29,44 +32,6 @@
#define CQ_FLAGS_OFFSET 280
#define CQ_CQES_OFFSET 320
-struct io_sqring_offsets {
- uint32_t head;
- uint32_t tail;
- uint32_t ring_mask;
- uint32_t ring_entries;
- uint32_t flags;
- uint32_t dropped;
- uint32_t array;
- uint32_t resv1;
- uint64_t resv2;
-};
-
-struct io_cqring_offsets {
- uint32_t head;
- uint32_t tail;
- uint32_t ring_mask;
- uint32_t ring_entries;
- uint32_t overflow;
- uint32_t cqes;
- uint64_t resv[2];
-};
-
-struct io_uring_params {
- uint32_t sq_entries;
- uint32_t cq_entries;
- uint32_t flags;
- uint32_t sq_thread_cpu;
- uint32_t sq_thread_idle;
- uint32_t features;
- uint32_t resv[4];
- struct io_sqring_offsets sq_off;
- struct io_cqring_offsets cq_off;
-};
-
-#define IORING_OFF_SQ_RING 0
-#define IORING_OFF_SQES 0x10000000ULL
-
-#define __NR_io_uring_setup 425
static long syz_io_uring_setup(volatile long a0, volatile long a1,
volatile long a2, volatile long a3,
volatile long a4, volatile long a5)
@@ -77,7 +42,7 @@ static long syz_io_uring_setup(volatile long a0, volatile long a1,
void* vma2 = (void*)a3;
void** ring_ptr_out = (void**)a4;
void** sqes_ptr_out = (void**)a5;
- uint32_t fd_io_uring = syscall(__NR_io_uring_setup, entries, setup_params);
+ uint32_t fd_io_uring = __sys_io_uring_setup(entries, setup_params);
uint32_t sq_ring_sz =
setup_params->sq_off.array + setup_params->sq_entries * sizeof(uint32_t);
uint32_t cq_ring_sz = setup_params->cq_off.cqes +
@@ -150,9 +115,9 @@ int main(int argc, char *argv[])
if (argc > 1)
return 0;
- syscall(__NR_mmap, 0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
- syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
- syscall(__NR_mmap, 0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
+ mmap((void *)0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
+ mmap((void *)0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
+ mmap((void *)0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
intptr_t res = 0;
*(uint32_t*)0x20000484 = 0;
*(uint32_t*)0x20000488 = 0;
@@ -207,7 +172,7 @@ int main(int argc, char *argv[])
*(uint8_t*)0x2000003e = 0;
*(uint8_t*)0x2000003f = 0;
syz_io_uring_submit(r[1], r[2], 0x20000000, 0);
- syscall(__NR_io_uring_enter, r[0], 0x20450c, 0, 0ul, 0ul, 0ul);
+ __sys_io_uring_enter(r[0], 0x20450c, 0, 0ul, 0ul);
*(uint32_t*)0x20000080 = 0x7ff;
*(uint32_t*)0x20000084 = 0x8b7;
*(uint32_t*)0x20000088 = 3;
@@ -216,6 +181,6 @@ int main(int argc, char *argv[])
memcpy((void*)0x20000091, "\xaf\x09\x01\xbc\xf9\xc6\xe4\x92\x86\x51\x7d\x7f"
"\xbd\x43\x7d\x16\x69\x3e\x05",
19);
- syscall(__NR_ioctl, r[3], 0x5404, 0x20000080ul);
+ ioctl(r[3], 0x5404, 0x20000080ul);
return 0;
}
diff --git a/test/fc2a85cb02ef-test.c b/test/fc2a85cb02ef-test.c
index e922d17..35addf5 100644
--- a/test/fc2a85cb02ef-test.c
+++ b/test/fc2a85cb02ef-test.c
@@ -11,11 +11,13 @@
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
-#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <unistd.h>
+#include "liburing.h"
+#include "../src/syscall.h"
+
static bool write_file(const char* file, const char* what, ...)
{
char buf[1024];
@@ -123,14 +125,14 @@ int main(int argc, char *argv[])
*(uint32_t*)0x20000068 = 0;
*(uint32_t*)0x2000006c = 0;
*(uint64_t*)0x20000070 = 0;
- res = syscall(__NR_io_uring_setup, 0x6a6, 0x20000000ul);
+ res = __sys_io_uring_setup(0x6a6, (struct io_uring_params *) 0x20000000ul);
if (res != -1)
r[0] = res;
- res = syscall(__NR_socket, 0x11ul, 2ul, 0x300ul);
+ res = socket(0x11ul, 2ul, 0x300ul);
if (res != -1)
r[1] = res;
*(uint32_t*)0x20000080 = r[1];
inject_fault(1);
- syscall(__NR_io_uring_register, r[0], 2ul, 0x20000080ul, 1ul);
+ __sys_io_uring_register(r[0], 2ul, (const void *) 0x20000080ul, 1ul);
return 0;
}
diff --git a/test/sendmsg_fs_cve.c b/test/sendmsg_fs_cve.c
index 85f271b..8de220a 100644
--- a/test/sendmsg_fs_cve.c
+++ b/test/sendmsg_fs_cve.c
@@ -19,7 +19,6 @@
*/
#include <unistd.h>
-#include <syscall.h>
#include <stdio.h>
#include <sys/mman.h>
#include <sys/socket.h>
diff --git a/test/sqpoll-disable-exit.c b/test/sqpoll-disable-exit.c
index d4e17f8..93bcf42 100644
--- a/test/sqpoll-disable-exit.c
+++ b/test/sqpoll-disable-exit.c
@@ -15,12 +15,14 @@
#include <sys/mman.h>
#include <sys/prctl.h>
#include <sys/stat.h>
-#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>
+#include "liburing.h"
+#include "../src/syscall.h"
+
static void sleep_ms(uint64_t ms)
{
usleep(ms * 1000);
@@ -72,44 +74,6 @@ static bool write_file(const char* file, const char* what, ...)
#define CQ_FLAGS_OFFSET 280
#define CQ_CQES_OFFSET 320
-struct io_sqring_offsets {
- uint32_t head;
- uint32_t tail;
- uint32_t ring_mask;
- uint32_t ring_entries;
- uint32_t flags;
- uint32_t dropped;
- uint32_t array;
- uint32_t resv1;
- uint64_t resv2;
-};
-
-struct io_cqring_offsets {
- uint32_t head;
- uint32_t tail;
- uint32_t ring_mask;
- uint32_t ring_entries;
- uint32_t overflow;
- uint32_t cqes;
- uint64_t resv[2];
-};
-
-struct io_uring_params {
- uint32_t sq_entries;
- uint32_t cq_entries;
- uint32_t flags;
- uint32_t sq_thread_cpu;
- uint32_t sq_thread_idle;
- uint32_t features;
- uint32_t resv[4];
- struct io_sqring_offsets sq_off;
- struct io_cqring_offsets cq_off;
-};
-
-#define IORING_OFF_SQ_RING 0
-#define IORING_OFF_SQES 0x10000000ULL
-
-#define sys_io_uring_setup 425
static long syz_io_uring_setup(volatile long a0, volatile long a1,
volatile long a2, volatile long a3,
volatile long a4, volatile long a5)
@@ -120,7 +84,7 @@ static long syz_io_uring_setup(volatile long a0, volatile long a1,
void* vma2 = (void*)a3;
void** ring_ptr_out = (void**)a4;
void** sqes_ptr_out = (void**)a5;
- uint32_t fd_io_uring = syscall(sys_io_uring_setup, entries, setup_params);
+ uint32_t fd_io_uring = __sys_io_uring_setup(entries, setup_params);
uint32_t sq_ring_sz =
setup_params->sq_off.array + setup_params->sq_entries * sizeof(uint32_t);
uint32_t cq_ring_sz = setup_params->cq_off.cqes +
@@ -223,9 +187,9 @@ void execute_one(void)
}
int main(void)
{
- syscall(__NR_mmap, 0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
- syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
- syscall(__NR_mmap, 0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
+ mmap((void *)0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
+ mmap((void *)0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
+ mmap((void *)0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
loop();
return 0;
}
diff --git a/test/teardowns.c b/test/teardowns.c
index f78fe22..8bd3022 100644
--- a/test/teardowns.c
+++ b/test/teardowns.c
@@ -3,7 +3,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
--
2.30.2

Просмотреть файл

@ -0,0 +1,82 @@
From 595b858eb0576d70884337a61ace3d98a411b949 Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Tue, 13 Apr 2021 15:45:52 +0100
Subject: [PATCH] examples/ucontext-cp.c: cope with variable SIGSTKSZ
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The size of C arrays at file scope must be constant. The following
compiler error occurs with recent upstream glibc (2.33.9000):
CC ucontext-cp
ucontext-cp.c:31:23: error: variably modified stack_buf at file scope
31 | unsigned char stack_buf[SIGSTKSZ];
| ^~~~~~~~~
make[1]: *** [Makefile:26: ucontext-cp] Error 1
The following glibc commit changed SIGSTKSZ from a constant value to a
variable:
commit 6c57d320484988e87e446e2e60ce42816bf51d53
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Feb 1 11:00:38 2021 -0800
sysconf: Add _SC_MINSIGSTKSZ/_SC_SIGSTKSZ [BZ #20305]
...
+# define SIGSTKSZ sysconf (_SC_SIGSTKSZ)
Allocate the stack buffer explicitly to avoid declaring an array at file
scope.
Cc: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
Perhaps the glibc change needs to be revised before releasing glibc 2.34
since it might break applications. That's up to the glibc folks. It
doesn't hurt for liburing to take a safer approach that copes with the
SIGSTKSZ change in any case.
---
examples/ucontext-cp.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/examples/ucontext-cp.c b/examples/ucontext-cp.c
index 0b2a6b5..ea0c934 100644
--- a/examples/ucontext-cp.c
+++ b/examples/ucontext-cp.c
@@ -28,7 +28,7 @@
typedef struct {
struct io_uring *ring;
- unsigned char stack_buf[SIGSTKSZ];
+ unsigned char *stack_buf;
ucontext_t ctx_main, ctx_fnew;
} async_context;
@@ -115,8 +115,13 @@ static int setup_context(async_context *pctx, struct io_uring *ring)
perror("getcontext");
return -1;
}
- pctx->ctx_fnew.uc_stack.ss_sp = &pctx->stack_buf;
- pctx->ctx_fnew.uc_stack.ss_size = sizeof(pctx->stack_buf);
+ pctx->stack_buf = malloc(SIGSTKSZ);
+ if (!pctx->stack_buf) {
+ perror("malloc");
+ return -1;
+ }
+ pctx->ctx_fnew.uc_stack.ss_sp = pctx->stack_buf;
+ pctx->ctx_fnew.uc_stack.ss_size = SIGSTKSZ;
pctx->ctx_fnew.uc_link = &pctx->ctx_main;
return 0;
@@ -174,6 +179,7 @@ static void copy_file_wrapper(arguments_bundle *pbundle)
free(iov.iov_base);
close(pbundle->infd);
close(pbundle->outfd);
+ free(pbundle->pctx->stack_buf);
free(pbundle->pctx);
free(pbundle);
--
2.30.2

Просмотреть файл

@ -0,0 +1,5 @@
{
"Signatures": {
"liburing-2.0.tar.gz": "5227ded84e9cc1b00798fd1a2f654b597de4177decf5d94fabebe7b83dcf4188"
}
}

Просмотреть файл

@ -0,0 +1,127 @@
Summary: Linux-native io_uring I/O access library
Name: liburing
Version: 2.0
Release: 3%{?dist}
License: (GPLv2 WITH exceptions AND LGPLv2+) OR MIT
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://git.kernel.dk/cgit/liburing/
Source0: https://brick.kernel.dk/snaps/%{name}-%{version}.tar.gz
Patch1: 0001-spec-bump-version-to-2.0.patch
Patch2: 0002-spec-add-explicit-build-dependency-on-make.patch
Patch3: 0003-test-get-rid-of-x86_64-isms-in-the-test-code.patch
Patch4: 0004-examples-ucontext-cp.c-cope-with-variable-SIGSTKSZ.patch
BuildRequires: gcc
BuildRequires: make
%description
Provides native async IO for the Linux kernel, in a fast and efficient
manner, for both buffered and O_DIRECT.
%package devel
Summary: Development files for Linux-native io_uring I/O access library
Requires: %{name}%{_isa} = %{version}-%{release}
Requires: pkg-config
%description devel
This package provides header files to include and libraries to link with
for the Linux-native io_uring.
%prep
%autosetup -p1
%build
%{set_build_flags}
./configure --prefix=%{_prefix} --libdir=/%{_libdir} --libdevdir=/%{_libdir} --mandir=%{_mandir} --includedir=%{_includedir}
%make_build
%install
%make_install
%files
%license COPYING
%attr(0755,root,root) %{_libdir}/liburing.so.*
%files devel
%{_includedir}/liburing/
%{_includedir}/liburing.h
%{_libdir}/liburing.so
%exclude %{_libdir}/liburing.a
%{_libdir}/pkgconfig/*
%{_mandir}/man2/*
%{_mandir}/man3/*
%{_mandir}/man7/*
%changelog
* Wed Sep 22 2021 Thomas Crain <thcrain@microsoft.com> - 2.0-3
- Initial CBL-Mariner import from Fedora 35 (license: MIT)
- Lint spec
- License verified
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Apr 13 2021 Stefan Hajnoczi <stefanha@redhat.com> - 2.0-1
- Update to liburing 2.0. This release is source-compatible with 0.7 but
applications must be recompiled since <liburing.h> struct sizes have changed.
- Add man3 and man7 documentation
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Oct 19 2020 Davide Cavalca <dcavalca@fb.com> - 0.7-3
- Drop exclude for armv7hl as it's no longer necessary
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 21 2020 Stefan Hajnoczi <stefanha@redhat.com> - 0.7-1
- Add io_uring_cq_eventfd_toggle() helper for new IORING_CQ_EVENTFD_DISABLED flag
- Add IORING_OP_TEE
- Documentation fixes and improvements
* Thu May 7 2020 Stefan Hajnoczi <stefanha@redhat.com> - 0.6-1
- add io_uring_prep_splice()
- add io_uring_prep_provide_buffers()
- add io_uring_prep_remove_buffers()
- add io_uring_register_eventfd_async()
- reinstate io_uring_unregister_eventfd() (it was accidentally removed in 0.4)
* Thu Mar 19 2020 Stefan Hajnoczi <stefanha@redhat.com> - 0.5-1
- Update license to GPL-2.0 OR MIT
- Add io_uring_prep_epoll_ctl()
- Add io_uring_get_probe(), io_uring_get_probe_ring()
- Add io_uring_register_probe()
- Add io_uring_{register,unregister}_personality()
- Add io_uring_prep_{recv,send}()
- Add io_uring_prep_openat2()
- Add io_uring_ring_dontfork()
- Add io_uring_prep_read() and io_uring_prep_write()
- Documentation fixes and improvements
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 7 2020 Stefan Hajnoczi <stefanha@redhat.com> - 0.3-1
- Add IORING_OP_STATX
- Add IORING_OP_OPENAT/IORING_OP_CLOSE helpers
- Add prep helpers for IORING_OP_FILES_UPDATE and IORING_OP_FALLOCATE
- Add io_uring_prep_connect() helper
- Add io_uring_wait_cqe_nr()
- Add IORING_OP_ASYNC_CANCEL and prep helper
* 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

Просмотреть файл

@ -0,0 +1,5 @@
{
"Signatures": {
"usbredir-0.10.0.tar.xz": "76de718db370d824a833075599a8a035ab284c4a1bf279cca26bb538484d8061"
}
}

Просмотреть файл

@ -0,0 +1,204 @@
Summary: USB network redirection protocol libraries
Name: usbredir
Version: 0.10.0
Release: 3%{?dist}
License: LGPLv2+
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://www.spice-space.org/usbredir.html
Source0: https://spice-space.org/download/%{name}/%{name}-%{version}.tar.xz
BuildRequires: g++
BuildRequires: gcc
BuildRequires: glib2-devel
BuildRequires: libusb1-devel >= 1.0.9
BuildRequires: meson
%description
The usbredir libraries allow USB devices to be used on remote and/or virtual
hosts over TCP. The following libraries are provided:
usbredirparser:
A library containing the parser for the usbredir protocol
usbredirhost:
A library implementing the USB host side of a usbredir connection.
All that an application wishing to implement a USB host needs to do is:
* Provide a libusb device handle for the device
* Provide write and read callbacks for the actual transport of usbredir data
* Monitor for usbredir and libusb read/write events and call their handlers
%package devel
Summary: Development files for %{name}
License: LGPLv2+
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package server
Summary: Simple USB host TCP server
License: GPLv2+
Requires: %{name}%{?_isa} = %{version}-%{release}
%description server
A simple USB host TCP server, using libusbredirhost.
%prep
%autosetup
%build
%meson \
-Dgit_werror=disabled \
-Dtools=enabled \
-Dfuzzing=disabled
%meson_build
%install
%meson_install
%ldconfig_scriptlets
%files
%license COPYING.LIB
%{_libdir}/libusbredir*.so.*
%files devel
%doc docs/usb-redirection-protocol.md docs/multi-thread.md ChangeLog.md TODO
%{_includedir}/usbredir*.h
%{_libdir}/libusbredir*.so
%{_libdir}/pkgconfig/libusbredir*.pc
%files server
%license COPYING
%{_bindir}/usbredirect
%{_sbindir}/usbredirserver
%{_mandir}/man1/usbredirect.1*
%{_mandir}/man1/usbredirserver.1*
%changelog
* Wed Sep 22 2021 Thomas Crain <thcrain@microsoft.com> - 0.10.0-3
- Initial CBL-Mariner import from Fedora 35 (license: MIT)
- Lint spec
- License verified
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu May 27 2021 Victor Toso <victortoso@redhat.com> - 0.10.0-1
- Update to 0.10.0
- Now uses meson to build
* Fri Apr 02 2021 Victor Toso <victortoso@redhat.com> - 0.9.0-1
- Update to 0.9.0
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Aug 07 2018 Victor Toso <victortoso@redhat.com> - 0.8.0-1
- Update to 0.8.0
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Feb 05 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.7.1-6
- Switch to %%ldconfig_scriptlets
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Nov 02 2015 Fabiano Fidêncio <fidencio@redhat.com> 0.7.1-1
- Update to upstream 0.7.1 release
* Tue Jun 16 2015 Peter Robinson <pbrobinson@fedoraproject.org> 0.7-4
- Use %%license
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 21 2014 Hans de Goede <hdegoede@redhat.com> - 0.7-1
- Update to upstream 0.7 release
* Tue Sep 10 2013 Hans de Goede <hdegoede@redhat.com> - 0.6-5
- Use the new libusb autodetach kernel driver functionality
- Fix a usbredirparser bug which causes tcp/ip redir to not work (rhbz#1005015)
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon May 13 2013 Hans de Goede <hdegoede@redhat.com> - 0.6-3
- Fix usbredirserver not listening for ipv6 connections (rhbz#957470)
- Fix a few (harmless) coverity warnings
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Dec 13 2012 Hans de Goede <hdegoede@redhat.com> - 0.6-1
- Update to upstream 0.6 release
* Tue Sep 25 2012 Hans de Goede <hdegoede@redhat.com> - 0.5.2-1
- Update to upstream 0.5.2 release
* Wed Sep 19 2012 Hans de Goede <hdegoede@redhat.com> - 0.5.1-1
- Update to upstream 0.5.1 release
* Fri Sep 7 2012 Hans de Goede <hdegoede@redhat.com> - 0.5-1
- Update to upstream 0.5 release
* Mon Jul 30 2012 Hans de Goede <hdegoede@redhat.com> - 0.4.3-3
- Add 2 fixes from upstream fixing issues with some bulk devices (rhbz#842358)
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Apr 2 2012 Hans de Goede <hdegoede@redhat.com> - 0.4.3-1
- Update to upstream 0.4.3 release
* Tue Mar 6 2012 Hans de Goede <hdegoede@redhat.com> - 0.4.2-1
- Update to upstream 0.4.2 release
* Sat Feb 25 2012 Hans de Goede <hdegoede@redhat.com> - 0.4.1-1
- Update to upstream 0.4.1 release
* Thu Feb 23 2012 Hans de Goede <hdegoede@redhat.com> - 0.4-1
- Update to upstream 0.4 release
* Thu Jan 12 2012 Hans de Goede <hdegoede@redhat.com> - 0.3.3-1
- Update to upstream 0.3.3 release
* Tue Jan 3 2012 Hans de Goede <hdegoede@redhat.com> 0.3.2-1
- Update to upstream 0.3.2 release
* Wed Aug 24 2011 Hans de Goede <hdegoede@redhat.com> 0.3.1-1
- Update to upstream 0.3.1 release
* Thu Jul 14 2011 Hans de Goede <hdegoede@redhat.com> 0.3-1
- Initial Fedora package

Просмотреть файл

@ -1784,6 +1784,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "fuse3",
"version": "3.10.5",
"downloadUrl": "https://github.com/libfuse/libfuse/archive/fuse-3.10.5.tar.gz"
}
}
},
{
"component": {
"type": "other",
@ -2924,6 +2934,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "libbpf",
"version": "0.4.0",
"downloadUrl": "https://github.com/libbpf/libbpf/archive/v0.4.0.tar.gz"
}
}
},
{
"component": {
"type": "other",
@ -3444,6 +3464,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "libnfs",
"version": "4.0.0",
"downloadUrl": "https://github.com/sahlberg/libnfs/archive/libnfs-4.0.0/libnfs-4.0.0.tar.gz"
}
}
},
{
"component": {
"type": "other",
@ -3654,6 +3684,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "libslirp",
"version": "4.6.1",
"downloadUrl": "https://gitlab.freedesktop.org/slirp/libslirp/uploads/83b199ea6fcdfc0c243dfde8546ee4c9/libslirp-4.6.1.tar.xz"
}
}
},
{
"component": {
"type": "other",
@ -3794,6 +3834,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "liburing",
"version": "2.0",
"downloadUrl": "https://brick.kernel.dk/snaps/liburing-2.0.tar.gz"
}
}
},
{
"component": {
"type": "other",
@ -8958,6 +9008,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "usbredir",
"version": "0.10.0",
"downloadUrl": "https://spice-space.org/download/usbredir/usbredir-0.10.0.tar.xz"
}
}
},
{
"component": {
"type": "other",