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 62aa83f..704b674 100644 --- a/libnbd.spec +++ b/libnbd.spec @@ -1,14 +1,26 @@ +# 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.18-stable +%global source_directory 1.24-stable Name: libnbd -Version: 1.18.0 +Version: 1.24.0 Release: 1%{?dist} Summary: NBD client library in userspace @@ -25,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 @@ -43,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 @@ -52,7 +63,7 @@ BuildRequires: ubdsrv-devel >= 1.0-3.rc6 # For the Python 3 bindings. BuildRequires: python3-devel -%ifnarch %{ix86} +%if 0%{?have_ocaml} # For the OCaml bindings. BuildRequires: ocaml BuildRequires: ocaml-findlib-devel @@ -64,14 +75,18 @@ 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 @@ -92,11 +107,6 @@ BuildRequires: nbdkit-sh-plugin BuildRequires: nbdkit-sparse-random-plugin %endif -%ifnarch %{ix86} -# The OCaml runtime system does not provide this symbol -%global __ocaml_requires_opts -x Stdlib__Callback -%endif - %description NBD — Network Block Device — is a protocol for accessing Block Devices @@ -128,7 +138,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} This package contains development headers for %{name}. -%ifnarch %{ix86} +%if 0%{?have_ocaml} %package -n ocaml-%{name} Summary: OCaml language bindings for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} @@ -174,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} @@ -207,25 +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 \ -%ifnarch %{ix86} +%if 0%{?have_ocaml} --enable-ocaml \ %else --disable-ocaml \ %endif --enable-fuse \ --disable-golang \ - --disable-rust + --disable-rust \ +%if 0%{?have_ublk} + --enable-ublk \ +%else + --disable-ublk \ +%endif + %{nil} make %{?_smp_mflags} @@ -239,16 +255,11 @@ 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* -%ifarch %{ix86} +%if !0%{?have_ocaml} # Delete the OCaml man page on i686. rm $RPM_BUILD_ROOT%{_mandir}/man3/libnbd-ocaml.3* %endif -%if 0%{?rhel} -# Delete nbdublk on RHEL. -rm $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/nbdublk -%endif - %check function skip_test () @@ -260,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 @@ -316,7 +321,7 @@ make %{?_smp_mflags} check || { %{_mandir}/man3/nbd_*.3* -%ifnarch %{ix86} +%if 0%{?have_ocaml} %files -n ocaml-%{name} %dir %{_libdir}/ocaml/nbd %{_libdir}/ocaml/nbd/META @@ -346,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 @@ -355,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* @@ -363,20 +373,214 @@ 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 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 development version 1.18.0 +- 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 diff --git a/sources b/sources index 342dd92..386e80d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (libnbd-1.18.0.tar.gz) = e0dc41ce8cae8d6c8efd55ad560b847dd829ad355cd67e4f682ac2ad145f3ced8ea42650ce1b2cd562a1f6f8cf05680ff2e1a5bdf5b4e5f8237b1fb8ec132a3a -SHA512 (libnbd-1.18.0.tar.gz.sig) = a506add984fddb12bb073947cf5ef6f798c6db6aae521aced778b03d7feb0227a4cf5bc346d68ada3e3da47b533cdcfd9c4470fddf61bfa82ed148d862b5ec82 +SHA512 (libnbd-1.24.0.tar.gz) = db05b606a19b3efb6a53c05b5b7ea96571892b7540fff1f4df0c53d0f82e3817f724fd0aa665597b58a4613545b03d7df6e1ac8f3fa64c7f85e824ca2221f3ae +SHA512 (libnbd-1.24.0.tar.gz.sig) = 718b0ebeb3f3fa487682ef93184fc1851f44d3e74695b61e64f32d5de508833dba885aaea9366a29293ad60badce3cfafb8881b61a103559185517a2202fae27