diff --git a/gating.yaml b/gating.yaml index 648918d..2c7ed80 100755 --- a/gating.yaml +++ b/gating.yaml @@ -1,6 +1,6 @@ --- !Policy product_versions: - - rhel-9 + - rhel-* decision_context: osci_compose_gate rules: - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/libnbd.spec b/libnbd.spec index 44d567b..704b674 100644 --- a/libnbd.spec +++ b/libnbd.spec @@ -1,17 +1,26 @@ -# Do this until the feature is fixed in Fedora. -%undefine _package_note_flags +# 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 # 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.16-stable +%global source_directory 1.24-stable Name: libnbd -Version: 1.16.5 +Version: 1.24.0 Release: 1%{?dist} Summary: NBD client library in userspace @@ -28,14 +37,13 @@ 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 @@ -46,7 +54,7 @@ BuildRequires: libxml2-devel # For nbdfuse. BuildRequires: fuse3, fuse3-devel -%if !0%{?rhel} +%if 0%{?have_ublk} # For nbdublk BuildRequires: liburing-devel >= 2.2 BuildRequires: ubdsrv-devel >= 1.0-3.rc6 @@ -55,24 +63,30 @@ BuildRequires: ubdsrv-devel >= 1.0-3.rc6 # 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%{?rhel} +%if 0%{?have_nbd_ko} BuildRequires: nbd %endif BuildRequires: util-linux @@ -124,6 +138,7 @@ 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} @@ -142,6 +157,7 @@ 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} @@ -168,7 +184,7 @@ Recommends: fuse3 This package contains FUSE support for %{name}. -%if !0%{?rhel} +%if 0%{?have_ublk} %package -n nbdublk Summary: Userspace NBD block device Requires: %{name}%{?_isa} = %{version}-%{release} @@ -201,20 +217,31 @@ 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-golang \ + --disable-rust \ +%if 0%{?have_ublk} + --enable-ublk \ +%else + --disable-ublk \ +%endif + %{nil} make %{?_smp_mflags} @@ -228,9 +255,9 @@ 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%{?rhel} -# Delete nbdublk on RHEL. -rm $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/nbdublk +%if !0%{?have_ocaml} +# Delete the OCaml man page on i686. +rm $RPM_BUILD_ROOT%{_mandir}/man3/libnbd-ocaml.3* %endif @@ -244,12 +271,6 @@ 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 @@ -300,12 +321,12 @@ make %{?_smp_mflags} check || { %{_mandir}/man3/nbd_*.3* +%if 0%{?have_ocaml} %files -n ocaml-%{name} -%{_libdir}/ocaml/nbd -%exclude %{_libdir}/ocaml/nbd/*.a -%exclude %{_libdir}/ocaml/nbd/*.cmxa -%exclude %{_libdir}/ocaml/nbd/*.cmx -%exclude %{_libdir}/ocaml/nbd/*.mli +%dir %{_libdir}/ocaml/nbd +%{_libdir}/ocaml/nbd/META +%{_libdir}/ocaml/nbd/*.cma +%{_libdir}/ocaml/nbd/*.cmi %{_libdir}/ocaml/stublibs/dllmlnbd.so %{_libdir}/ocaml/stublibs/dllmlnbd.so.owner @@ -313,13 +334,16 @@ make %{?_smp_mflags} check || { %files -n ocaml-%{name}-devel %doc ocaml/examples/*.ml %license ocaml/examples/LICENSE-FOR-EXAMPLES -%{_libdir}/ocaml/nbd/*.a +%ifarch %{ocaml_native_compiler} %{_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} @@ -327,8 +351,13 @@ 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 @@ -336,7 +365,7 @@ make %{?_smp_mflags} check || { %{_mandir}/man1/nbdfuse.1* -%if !0%{?rhel} +%if 0%{?have_ublk} %files -n nbdublk %{_bindir}/nbdublk %{_mandir}/man1/nbdublk.1* @@ -344,29 +373,253 @@ make %{?_smp_mflags} check || { %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%{?rhel} +%if 0%{?have_ublk} %{_datadir}/bash-completion/completions/nbdublk %endif +%{_datadir}/bash-completion/completions/nbdzero +%endif %changelog -* Tue Sep 26 2023 Richard W.M. Jones - 1.16.5-1 -- New upstream stable version 1.16.5 +* Tue Dec 16 2025 Richard W.M. Jones - 1.24.0-1 +- New upstream stable version 1.24.0 -* Fri Sep 08 2023 Richard W.M. Jones - 1.16.4-1 -- New upstream stable version 1.16.4 +* Tue Dec 02 2025 Richard W.M. Jones - 1.23.13-1 +- New upstream development version 1.23.13 -* Tue Jul 18 2023 Richard W.M. Jones - 1.16.3-1 -- New upstream stable version 1.16.3 +* Tue Nov 18 2025 Richard W.M. Jones - 1.23.12-1 +- New upstream development version 1.23.12 -* Mon Jun 19 2023 Richard W.M. Jones - 1.16.2-1 -- New upstream stable version 1.16.2 +* 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 diff --git a/sources b/sources index 3446610..386e80d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (libnbd-1.16.5.tar.gz) = 78eab91bef17fb96fd0838f9dd51b5f7662d08a70ab072f6bf635cff9e6f4c608f484e0d7e9663a8ba6b39a299651a222dc6103a1971bf2029df94682daaaef9 -SHA512 (libnbd-1.16.5.tar.gz.sig) = 59b348a1e9bee74ccaecbb334154d825f041eb02017b30c1f825fea5df137cc18afd8f24a3e6c6f61b6d3eeaf1aaccd0ae9e5c3f23e04a95befd9b58ecef19c2 +SHA512 (libnbd-1.24.0.tar.gz) = db05b606a19b3efb6a53c05b5b7ea96571892b7540fff1f4df0c53d0f82e3817f724fd0aa665597b58a4613545b03d7df6e1ac8f3fa64c7f85e824ca2221f3ae +SHA512 (libnbd-1.24.0.tar.gz.sig) = 718b0ebeb3f3fa487682ef93184fc1851f44d3e74695b61e64f32d5de508833dba885aaea9366a29293ad60badce3cfafb8881b61a103559185517a2202fae27