diff --git a/gating.yaml b/gating.yaml index 2c7ed80..648918d 100755 --- a/gating.yaml +++ b/gating.yaml @@ -1,6 +1,6 @@ --- !Policy product_versions: - - rhel-* + - rhel-9 decision_context: osci_compose_gate rules: - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/libnbd.spec b/libnbd.spec index 704b674..cb5ce3b 100644 --- a/libnbd.spec +++ b/libnbd.spec @@ -1,30 +1,21 @@ -# i686 no longer has any kind of OCaml compiler, not even ocamlc. -%ifnarch %{ix86} -%global have_ocaml 1 -%endif - -# No ublk in RHEL 9. -%if !0%{?rhel} -%global have_ublk 1 -%endif - -# No nbd.ko in RHEL 9. -%if !0%{?rhel} -%global have_nbd_ko 1 -%endif +# Do this until the feature is fixed in Fedora. +%undefine _package_note_flags # If we should verify tarball signature with GPGv2. %global verify_tarball_signature 1 +# If there are patches which touch autotools files, set this to 1. +%global patches_touch_autotools %{nil} + # The source directory. -%global source_directory 1.24-stable +%global source_directory 1.14-stable Name: libnbd -Version: 1.24.0 +Version: 1.14.2 Release: 1%{?dist} Summary: NBD client library in userspace -License: LGPL-2.0-or-later AND BSD-3-Clause +License: LGPLv2+ URL: https://gitlab.com/nbdkit/libnbd Source0: http://libguestfs.org/download/libnbd/%{source_directory}/%{name}-%{version}.tar.gz @@ -37,13 +28,14 @@ Source2: libguestfs.keyring # Maintainer script which helps with handling patches. Source3: copy-patches.sh +%if 0%{patches_touch_autotools} +BuildRequires: autoconf, automake, libtool +%endif + %if 0%{verify_tarball_signature} BuildRequires: gnupg2 %endif -# For rebuilding autoconf cruft. -BuildRequires: autoconf, automake, libtool - # For the core library. BuildRequires: gcc BuildRequires: make @@ -54,39 +46,27 @@ BuildRequires: libxml2-devel # For nbdfuse. BuildRequires: fuse3, fuse3-devel -%if 0%{?have_ublk} -# For nbdublk -BuildRequires: liburing-devel >= 2.2 -BuildRequires: ubdsrv-devel >= 1.0-3.rc6 -%endif - # For the Python 3 bindings. BuildRequires: python3-devel -%if 0%{?have_ocaml} # For the OCaml bindings. BuildRequires: ocaml BuildRequires: ocaml-findlib-devel BuildRequires: ocaml-ocamldoc -%endif # Only for building the examples. BuildRequires: glib2-devel # For bash-completion. BuildRequires: bash-completion -%if 0%{?fedora} || 0%{?rhel} >= 11 -BuildRequires: bash-completion-devel -%endif # Only for running the test suite. BuildRequires: coreutils BuildRequires: gcc-c++ -BuildRequires: glibc-utils BuildRequires: gnutls-utils BuildRequires: iproute BuildRequires: jq -%if 0%{?have_nbd_ko} +%if !0%{?rhel} BuildRequires: nbd %endif BuildRequires: util-linux @@ -131,6 +111,7 @@ The key features are: %package devel Summary: Development headers for %{name} +License: LGPLv2+ and BSD Requires: %{name}%{?_isa} = %{version}-%{release} @@ -138,7 +119,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release} This package contains development headers for %{name}. -%if 0%{?have_ocaml} %package -n ocaml-%{name} Summary: OCaml language bindings for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} @@ -157,7 +137,6 @@ Requires: ocaml-%{name}%{?_isa} = %{version}-%{release} This package contains OCaml language development package for %{name}. Install this if you want to compile OCaml software which uses %{name}. -%endif %package -n python3-%{name} @@ -176,6 +155,7 @@ python3-%{name} contains Python 3 bindings for %{name}. %package -n nbdfuse Summary: FUSE support for %{name} +License: LGPLv2+ and BSD Requires: %{name}%{?_isa} = %{version}-%{release} Recommends: fuse3 @@ -184,20 +164,6 @@ Recommends: fuse3 This package contains FUSE support for %{name}. -%if 0%{?have_ublk} -%package -n nbdublk -Summary: Userspace NBD block device -Requires: %{name}%{?_isa} = %{version}-%{release} -Recommends: kernel >= 6.0.0 -Recommends: %{_sbindir}/ublk - - -%description -n nbdublk -This package contains a userspace NBD block device -based on %{name}. -%endif - - %package bash-completion Summary: Bash tab-completion for %{name} BuildArch: noarch @@ -217,31 +183,20 @@ for %{name}. %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %endif %autosetup -p1 +%if 0%{patches_touch_autotools} autoreconf -i +%endif %build %configure \ --disable-static \ - --with-extra='%{name}-%{version}-%{release}' \ --with-tls-priority=@LIBNBD,SYSTEM \ - --with-bash-completions \ PYTHON=%{__python3} \ --enable-python \ -%if 0%{?have_ocaml} --enable-ocaml \ -%else - --disable-ocaml \ -%endif --enable-fuse \ - --disable-golang \ - --disable-rust \ -%if 0%{?have_ublk} - --enable-ublk \ -%else - --disable-ublk \ -%endif - %{nil} + --disable-golang make %{?_smp_mflags} @@ -255,11 +210,6 @@ find $RPM_BUILD_ROOT -name '*.la' -delete # Delete the golang man page since we're not distributing the bindings. rm $RPM_BUILD_ROOT%{_mandir}/man3/libnbd-golang.3* -%if !0%{?have_ocaml} -# Delete the OCaml man page on i686. -rm $RPM_BUILD_ROOT%{_mandir}/man3/libnbd-ocaml.3* -%endif - %check function skip_test () @@ -271,6 +221,12 @@ function skip_test () done } +# interop/structured-read.sh fails with the old qemu-nbd in Fedora 29, +# so disable it there. +%if 0%{?fedora} <= 29 +skip_test interop/structured-read.sh +%endif + # interop/interop-qemu-storage-daemon.sh fails in RHEL 9 because of # this bug in qemu: # https://lists.nongnu.org/archive/html/qemu-devel/2021-03/threads.html#03544 @@ -321,12 +277,12 @@ make %{?_smp_mflags} check || { %{_mandir}/man3/nbd_*.3* -%if 0%{?have_ocaml} %files -n ocaml-%{name} -%dir %{_libdir}/ocaml/nbd -%{_libdir}/ocaml/nbd/META -%{_libdir}/ocaml/nbd/*.cma -%{_libdir}/ocaml/nbd/*.cmi +%{_libdir}/ocaml/nbd +%exclude %{_libdir}/ocaml/nbd/*.a +%exclude %{_libdir}/ocaml/nbd/*.cmxa +%exclude %{_libdir}/ocaml/nbd/*.cmx +%exclude %{_libdir}/ocaml/nbd/*.mli %{_libdir}/ocaml/stublibs/dllmlnbd.so %{_libdir}/ocaml/stublibs/dllmlnbd.so.owner @@ -334,16 +290,13 @@ make %{?_smp_mflags} check || { %files -n ocaml-%{name}-devel %doc ocaml/examples/*.ml %license ocaml/examples/LICENSE-FOR-EXAMPLES -%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/nbd/*.a %{_libdir}/ocaml/nbd/*.cmxa %{_libdir}/ocaml/nbd/*.cmx -%endif -%{_libdir}/ocaml/nbd/*.a %{_libdir}/ocaml/nbd/*.mli %{_mandir}/man3/libnbd-ocaml.3* %{_mandir}/man3/NBD.3* %{_mandir}/man3/NBD.*.3* -%endif %files -n python3-%{name} @@ -351,13 +304,8 @@ make %{?_smp_mflags} check || { %{python3_sitearch}/nbd.py %{python3_sitearch}/nbdsh.py %{python3_sitearch}/__pycache__/nbd*.py* -%{_bindir}/nbddiscard %{_bindir}/nbdsh -%{_bindir}/nbdzero -%{_mandir}/man1/nbddiscard.1* %{_mandir}/man1/nbdsh.1* -%{_mandir}/man1/nbdzero.1* -%{_mandir}/man3/libnbd-python.3* %files -n nbdfuse @@ -365,317 +313,18 @@ make %{?_smp_mflags} check || { %{_mandir}/man1/nbdfuse.1* -%if 0%{?have_ublk} -%files -n nbdublk -%{_bindir}/nbdublk -%{_mandir}/man1/nbdublk.1* -%endif - - %files bash-completion -%if 0%{?fedora} || 0%{?rhel} >= 11 -%dir %{bash_completions_dir} -%{bash_completions_dir}/nbdcopy -%{bash_completions_dir}/nbddiscard -%{bash_completions_dir}/nbddump -%{bash_completions_dir}/nbdfuse -%{bash_completions_dir}/nbdinfo -%{bash_completions_dir}/nbdsh -%if 0%{?have_ublk} -%{bash_completions_dir}/nbdublk -%endif -%{bash_completions_dir}/nbdzero -%else %dir %{_datadir}/bash-completion/completions %{_datadir}/bash-completion/completions/nbdcopy -%{_datadir}/bash-completion/completions/nbddiscard %{_datadir}/bash-completion/completions/nbddump %{_datadir}/bash-completion/completions/nbdfuse %{_datadir}/bash-completion/completions/nbdinfo %{_datadir}/bash-completion/completions/nbdsh -%if 0%{?have_ublk} -%{_datadir}/bash-completion/completions/nbdublk -%endif -%{_datadir}/bash-completion/completions/nbdzero -%endif %changelog -* Tue Dec 16 2025 Richard W.M. Jones - 1.24.0-1 -- New upstream stable version 1.24.0 - -* Tue Dec 02 2025 Richard W.M. Jones - 1.23.13-1 -- New upstream development version 1.23.13 - -* Tue Nov 18 2025 Richard W.M. Jones - 1.23.12-1 -- New upstream development version 1.23.12 - -* Fri Nov 14 2025 Richard W.M. Jones - 1.23.11-1 -- New upstream development version 1.23.11 - -* Tue Nov 4 2025 Tom Callaway - 1.23.10-2 -- rebuild for new fuse3 - -* Sun Nov 2 2025 Richard W.M. Jones - 1.23.10-1 -- New upstream development version 1.23.10 -- New tools nbddiscard and nbdzero. - -* Thu Oct 23 2025 Richard W.M. Jones - 1.23.9-1 -- New upstream development version 1.23.9 -- Fixes security issue with nbd+ssh URIs - https://lists.libguestfs.org/archives/list/guestfs@lists.libguestfs.org/thread/YZMBF3SJRWTRVT5L3KWSNHITFTRMQNTT/ - -* Mon Oct 13 2025 Richard W.M. Jones - 1.23.8-3 -- OCaml 5.4.0 rebuild - -* Fri Sep 19 2025 Python Maint - 1.23.8-2 -- Rebuilt for Python 3.14.0rc3 bytecode - -* Sat Sep 13 2025 Richard W.M. Jones - 1.23.8-1 -- New upstream development version 1.23.8 - -* Sat Aug 23 2025 Richard W.M. Jones - 1.23.7-1 -- New upstream development version 1.23.7 - -* Sat Aug 16 2025 Richard W.M. Jones - 1.23.6-1 -- New upstream development version 1.23.6 - -* Fri Aug 15 2025 Python Maint - 1.23.5-3 -- Rebuilt for Python 3.14.0rc2 bytecode - -* Thu Jul 24 2025 Fedora Release Engineering - 1.23.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jul 16 2025 Richard W.M. Jones - 1.23.5-1 -- New upstream development version 1.23.5 -- Add './configure --with-extra' containing downstream package information. - -* Fri Jul 11 2025 Jerry James - 1.23.4-3 -- Rebuild to fix OCaml dependencies - -* Fri Jun 06 2025 Python Maint - 1.23.4-2 -- Rebuilt for Python 3.14 - -* Thu Jun 05 2025 Richard W.M. Jones - 1.23.4-1 -- New upstream development version 1.23.4 - -* Mon Jun 02 2025 Python Maint - 1.23.3-2 -- Rebuilt for Python 3.14 - -* Tue Apr 22 2025 Richard W.M. Jones - 1.23.3-1 -- New upstream development version 1.23.3 - -* Thu Apr 03 2025 Richard W.M. Jones - 1.23.2-1 -- New upstream development version 1.23.2 - -* Mon Mar 31 2025 Richard W.M. Jones - 1.23.1-1 -- New upstream development version 1.23.1 - -* Mon Mar 03 2025 Richard W.M. Jones - 1.22.1-1 -- New upstream stable version 1.22.1 - -* Tue Feb 11 2025 Richard W.M. Jones - 1.22.0-1 -- New upstream stable version 1.22.0 - -* Mon Jan 20 2025 Fedora Release Engineering - 1.21.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jan 9 2025 Jerry James - 1.21.6-2 -- OCaml 5.3.0 rebuild for Fedora 42 - -* Mon Oct 14 2024 Richard W.M. Jones - 1.21.6-1 -- New upstream development version 1.21.6 - -* Fri Sep 27 2024 Richard W.M. Jones - 1.21.5-1 -- New upstream development version 1.21.5 - -* Thu Sep 12 2024 Richard W.M. Jones - 1.21.4-1 -- New upstream development version 1.21.4 - -* Sun Jul 28 2024 Richard W.M. Jones - 1.21.3-1 -- New upstream development version 1.21.3 - -* Thu Jul 18 2024 Fedora Release Engineering - 1.21.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jun 25 2024 Richard W.M. Jones - 1.21.1-1 -- New upstream development version 1.21.1 -- Fix: multiple flaws in TLS server certificate checking - -* Wed Jun 19 2024 Richard W.M. Jones - 1.20.1-4 -- OCaml 5.2.0 ppc64le fix - -* Fri Jun 07 2024 Python Maint - 1.20.1-3 -- Rebuilt for Python 3.13 - -* Wed May 29 2024 Richard W.M. Jones - 1.20.1-2 -- OCaml 5.2.0 for Fedora 41 - -* Thu May 23 2024 Jerry James - 1.20.1-1 -- Remove unneeded Stdlib__Callback workaround - -* Tue May 7 2024 Richard W.M. Jones - 1.20.1-1 -- New stable branch version 1.20.1 - -* Thu Apr 4 2024 Richard W.M. Jones - 1.20.0-1 -- New stable branch version 1.20.0 -- Rebuild autoconf cruft unconditionally. - -* Mon Mar 25 2024 Richard W.M. Jones - 1.19.11-1 -- New upstream development version 1.19.11 -- Use %%{bash_completions_dir} macro - -* Fri Mar 15 2024 Richard W.M. Jones - 1.19.10-1 -- New upstream development version 1.19.10 - -* Mon Mar 11 2024 Richard W.M. Jones - 1.19.9-1 -- New upstream development version 1.19.9 - -* Mon Mar 04 2024 Richard W.M. Jones - 1.19.8-1 -- New upstream development version 1.19.8 - -* Sat Feb 17 2024 Richard W.M. Jones - 1.19.7-1 -- New upstream development version 1.19.7 - -* Mon Feb 05 2024 Richard W.M. Jones - 1.19.6-1 -- New upstream development version 1.19.6 - -* Thu Jan 25 2024 Richard W.M. Jones - 1.19.5-3 -- Bump and rebuild for ELN - -* Thu Jan 25 2024 Fedora Release Engineering - 1.19.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Richard W.M. Jones - 1.19.5-1 -- New upstream development version 1.19.5 - -* Sun Jan 21 2024 Fedora Release Engineering - 1.19.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Tue Jan 16 2024 Richard W.M. Jones - 1.19.4-1 -- New upstream development version 1.19.4 - -* Tue Dec 19 2023 Richard W.M. Jones - 1.19.3-2 -- New upstream development version 1.19.3 - -* Mon Dec 18 2023 Richard W.M. Jones - 1.19.2-4 -- OCaml 5.1.1 + s390x code gen fix for Fedora 40 - -* Thu Dec 14 2023 Richard W.M. Jones - 1.19.2-3 -- Fixes for https://github.com/ocaml/ocaml/issues/12820 - -* Tue Dec 12 2023 Richard W.M. Jones - 1.19.2-2 -- OCaml 5.1.1 rebuild for Fedora 40 - -* Wed Nov 22 2023 Richard W.M. Jones - 1.19.2-1 -- New upstream development version 1.19.2 - -* Tue Oct 31 2023 Richard W.M. Jones - 1.19.1-2 -- Fix assertion in ext-mode BLOCK_STATUS (CVE-2023-5871) - -* Mon Oct 23 2023 Richard W.M. Jones - 1.19.1-1 -- New upstream development version 1.19.1 - -* Thu Oct 05 2023 Richard W.M. Jones - 1.18.0-2 -- OCaml 5.1 rebuild for Fedora 40 - -* Wed Sep 27 2023 Richard W.M. Jones - 1.18.0-1 -- New upstream stable version 1.18.0 - -* Fri Sep 08 2023 Richard W.M. Jones - 1.17.5-1 -- New upstream development version 1.17.5 - -* Wed Aug 30 2023 Richard W.M. Jones - 1.17.4-1 -- New upstream development version 1.17.4 - -* Fri Aug 04 2023 Richard W.M. Jones - 1.17.3-1 -- New upstream development version 1.17.3 -- Disable Rust bindings. - -* Thu Jul 20 2023 Fedora Release Engineering - 1.17.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jul 14 2023 Richard W.M. Jones - 1.17.2-1 -- New upstream development version 1.17.2 - -* Thu Jul 13 2023 Richard W.M. Jones - 1.17.1-6 -- Bump and rebuild for updated python3 and perl - -* Tue Jul 11 2023 Richard W.M. Jones - 1.17.1-5 -- OCaml 5.0 rebuild for Fedora 39 - -* Mon Jul 10 2023 Jerry James - 1.17.1-4 -- OCaml 5.0.0 rebuild - -* Mon Jun 26 2023 Python Maint - 1.17.1-3 -- Rebuilt for Python 3.12 - -* Thu Jun 22 2023 Richard W.M. Jones - 1.17.1-2 -- Add OCaml 5 support - -* Mon Jun 19 2023 Richard W.M. Jones - 1.17.1-1 -- New upstream development version 1.17.1 - -* Tue Jun 13 2023 Python Maint - 1.16.1-3 -- Rebuilt for Python 3.12 - -* Mon Jun 05 2023 Richard W.M. Jones - 1.16.1-2 -- Migrated to SPDX license - -* Wed May 10 2023 Richard W.M. Jones - 1.16.1-1 -- New upstream stable version 1.16.1 - -* Tue Apr 18 2023 Richard W.M. Jones - 1.16.0-1 -- New upstream stable version 1.16.0 - -* Thu Apr 13 2023 Richard W.M. Jones - 1.15.13-1 -- New upstream development version 1.15.13 - -* Thu Mar 09 2023 Richard W.M. Jones - 1.15.12-1 -- New upstream development version 1.15.12 - -* Tue Feb 28 2023 Richard W.M. Jones - 1.15.11-1 -- New upstream development version 1.15.11 - -* Sat Feb 25 2023 Richard W.M. Jones - 1.15.10-1 -- New upstream development version 1.15.10 - -* Tue Jan 24 2023 Richard W.M. Jones - 1.15.9-2 -- Rebuild OCaml packages for F38 - -* Sat Jan 21 2023 Richard W.M. Jones - 1.15.9-1 -- New upstream development version 1.15.9 - -* Thu Jan 19 2023 Fedora Release Engineering - 1.15.8-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Jan 03 2023 Richard W.M. Jones - 1.15.8-3 -- Fix for Python 3.12 distutils change (RHBZ#2152674). - -* Fri Dec 09 2022 Richard W.M. Jones - 1.15.8-2 -- Rebuild against new ubdsrv API - -* Fri Nov 25 2022 Richard W.M. Jones - 1.15.8-1 -- New upstream development version 1.15.8 - -* Thu Nov 03 2022 Richard W.M. Jones - 1.15.7-1 -- New upstream development version 1.15.7 - -* Thu Oct 13 2022 Richard W.M. Jones - 1.15.6-1 -- New upstream development version 1.15.6 - -* Tue Oct 11 2022 Richard W.M. Jones - 1.15.5-1 -- New upstream development version 1.15.5 - -* Tue Sep 27 2022 Richard W.M. Jones - 1.15.4-1 -- New upstream development version 1.15.4 - -* Fri Sep 02 2022 Richard W.M. Jones - 1.15.3-1 -- New upstream development version 1.15.3 -- New tool: nbdublk - -* Thu Aug 18 2022 Richard W.M. Jones - 1.15.1-1 -- New upstream development version 1.15.1 +* Tue Jan 03 2023 Richard W.M. Jones - 1.14.2-1 +- New upstream stable version 1.14.2 * Thu Aug 11 2022 Richard W.M. Jones - 1.14.1-1 - New upstream stable version 1.14.1 diff --git a/sources b/sources index 386e80d..b9be4f3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (libnbd-1.24.0.tar.gz) = db05b606a19b3efb6a53c05b5b7ea96571892b7540fff1f4df0c53d0f82e3817f724fd0aa665597b58a4613545b03d7df6e1ac8f3fa64c7f85e824ca2221f3ae -SHA512 (libnbd-1.24.0.tar.gz.sig) = 718b0ebeb3f3fa487682ef93184fc1851f44d3e74695b61e64f32d5de508833dba885aaea9366a29293ad60badce3cfafb8881b61a103559185517a2202fae27 +SHA512 (libnbd-1.14.2.tar.gz) = ce1aef449a2589734c750ca73d9dc79bf645d08bf7425205f45647b6ec717972568500e50e9546a09bb96a278df77a2752a0a6f50c87237ed3f665dec175ad63 +SHA512 (libnbd-1.14.2.tar.gz.sig) = 264ce543b200728ed17bc5b9b4b99f95aab13c078e01bbe53395dc3e77cfe06f367ec62bf4669824a5ccf573654d9090cc7c649beb95d1e6e3e669e1d2d13732