From fc8fe6448bd379c0489bdf96c72bec11c21da658 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 18 Aug 2022 13:35:39 +0100 Subject: [PATCH 001/195] New upstream development version 1.33.1 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 4aa227e..f0747ac 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -49,10 +49,10 @@ ExclusiveArch: x86_64 %global patches_touch_autotools %{nil} # The source directory. -%global source_directory 1.32-stable +%global source_directory 1.33-development Name: nbdkit -Version: 1.32.1 +Version: 1.33.1 Release: 1%{?dist} Summary: NBD server @@ -1191,6 +1191,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Thu Aug 18 2022 Richard W.M. Jones - 1.33.1-1 +- New upstream development version 1.33.1 + * Thu Aug 11 2022 Richard W.M. Jones - 1.32.1-1 - New upstream stable version 1.32.1 diff --git a/sources b/sources index 9b62daa..e8bbfce 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.32.1.tar.gz) = 01d4d653803491efa687c148ed01347c18856a4b1914c327960901a150fe6e33966c799365722b389e0501fdcfab3f29d4d988d55261f39913ab0f394ae61fee -SHA512 (nbdkit-1.32.1.tar.gz.sig) = 9357efd34e8e39238063d4ed26a15d95388fa1e1ff781b6dc1bc863f5e4fc00319be68040f18de9aca000800ee3f14de288c1889a6aea431536837ff551d0a12 +SHA512 (nbdkit-1.33.1.tar.gz) = 9a92ebfa5afcbae392259e3e998673ca88d95e9dbed08f1ac9797d5b4e9db1c31d68f372512e7bfb4d398fb3d117b7f8a022209a4114e5aaaf7df0b78b36d6b3 +SHA512 (nbdkit-1.33.1.tar.gz.sig) = 04eddb5f9fa7ca97f72f4f75be59bb7421eb03da200867958262437027ad785038e0d9470ffacf49f381475c72782851e9fc4ed1754c08ef3a160959566015b4 From ff94e88a1fbc98b527e05b978a8ed40c7f890c26 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 18 Aug 2022 13:35:44 +0100 Subject: [PATCH 002/195] New upstream stable version 1.32.2 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 4aa227e..27b33b4 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.32-stable Name: nbdkit -Version: 1.32.1 +Version: 1.32.2 Release: 1%{?dist} Summary: NBD server @@ -1191,6 +1191,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Thu Aug 18 2022 Richard W.M. Jones - 1.32.2-1 +- New upstream stable version 1.32.2 + * Thu Aug 11 2022 Richard W.M. Jones - 1.32.1-1 - New upstream stable version 1.32.1 diff --git a/sources b/sources index 9b62daa..dee570e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.32.1.tar.gz) = 01d4d653803491efa687c148ed01347c18856a4b1914c327960901a150fe6e33966c799365722b389e0501fdcfab3f29d4d988d55261f39913ab0f394ae61fee -SHA512 (nbdkit-1.32.1.tar.gz.sig) = 9357efd34e8e39238063d4ed26a15d95388fa1e1ff781b6dc1bc863f5e4fc00319be68040f18de9aca000800ee3f14de288c1889a6aea431536837ff551d0a12 +SHA512 (nbdkit-1.32.2.tar.gz) = 6386b272c2bfd9f70801c19700f19564e9edb2f63c87142135fe71f9d12f4aa06de0618c43696bed714183ee43fd8c39b910430330740393d2096c7f19f596ba +SHA512 (nbdkit-1.32.2.tar.gz.sig) = d36481b509c55be40e4406deb7c2b1297100d90b8f17b412e0c7581c99ff56091c7f1819aa893fb25023fd39bd17acdf8cf848c1c2835b3090d7030dfbb5e17b From 3a38cf78bb213f86d072f153740e6d16bbd1175d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 11 Oct 2022 16:47:39 +0100 Subject: [PATCH 003/195] New upstream development version 1.33.2 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index f0747ac..54b2b03 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.1 +Version: 1.33.2 Release: 1%{?dist} Summary: NBD server @@ -1191,6 +1191,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Oct 11 2022 Richard W.M. Jones - 1.33.2-1 +- New upstream development version 1.33.2 + * Thu Aug 18 2022 Richard W.M. Jones - 1.33.1-1 - New upstream development version 1.33.1 diff --git a/sources b/sources index e8bbfce..12bde56 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.1.tar.gz) = 9a92ebfa5afcbae392259e3e998673ca88d95e9dbed08f1ac9797d5b4e9db1c31d68f372512e7bfb4d398fb3d117b7f8a022209a4114e5aaaf7df0b78b36d6b3 -SHA512 (nbdkit-1.33.1.tar.gz.sig) = 04eddb5f9fa7ca97f72f4f75be59bb7421eb03da200867958262437027ad785038e0d9470ffacf49f381475c72782851e9fc4ed1754c08ef3a160959566015b4 +SHA512 (nbdkit-1.33.2.tar.gz) = 9f30c9f6582a20cf54cc6116b4e69c9fefe227f0ac12260a26cb1eb9201444a4285a282b1f327b40d6f8cc458f585d13893d367a1e301adbe1176cf0eee42077 +SHA512 (nbdkit-1.33.2.tar.gz.sig) = fbd2b02408676112dad35c9125e53589508c5764e51421df7b4fb2bc04a60de22256b23db49d7214d80edff7c6bd6ee748b896225440f3f41e3989a69298346e From fec415916606425302f17da2a740a591b1387d51 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 14 Oct 2022 18:22:42 +0100 Subject: [PATCH 004/195] New upstream stable version 1.32.3 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 27b33b4..4d8a62a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.32-stable Name: nbdkit -Version: 1.32.2 +Version: 1.32.3 Release: 1%{?dist} Summary: NBD server @@ -1191,6 +1191,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Fri Oct 14 2022 Richard W.M. Jones - 1.32.3-1 +- New upstream stable version 1.32.3 + * Thu Aug 18 2022 Richard W.M. Jones - 1.32.2-1 - New upstream stable version 1.32.2 diff --git a/sources b/sources index dee570e..7c6eaed 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.32.2.tar.gz) = 6386b272c2bfd9f70801c19700f19564e9edb2f63c87142135fe71f9d12f4aa06de0618c43696bed714183ee43fd8c39b910430330740393d2096c7f19f596ba -SHA512 (nbdkit-1.32.2.tar.gz.sig) = d36481b509c55be40e4406deb7c2b1297100d90b8f17b412e0c7581c99ff56091c7f1819aa893fb25023fd39bd17acdf8cf848c1c2835b3090d7030dfbb5e17b +SHA512 (nbdkit-1.32.3.tar.gz) = 8d3b79430a5373b66a5423c70aa594d6f581164111bd9f4d2ae617717d6cce2d6810e32e9e5e646aaf118dd505b14ec8d702402af3019738e13108b4333ae4ff +SHA512 (nbdkit-1.32.3.tar.gz.sig) = 7c005df96f46a964690ef5e105cd4a40c98bf259444505af4a2adad280f23a0571fe60611f882b17a995f41dfb3c35149afba423af62c189984124d83918e670 From 28c1fbe6eac0d6a61351b2f97a37cec5aeb9b661 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 18 Nov 2022 15:14:03 +0000 Subject: [PATCH 005/195] New upstream development version 1.33.3 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 54b2b03..c57e85c 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.2 +Version: 1.33.3 Release: 1%{?dist} Summary: NBD server @@ -1191,6 +1191,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Fri Nov 18 2022 Richard W.M. Jones - 1.33.3-1 +- New upstream development version 1.33.3 + * Tue Oct 11 2022 Richard W.M. Jones - 1.33.2-1 - New upstream development version 1.33.2 diff --git a/sources b/sources index 12bde56..21d649b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.2.tar.gz) = 9f30c9f6582a20cf54cc6116b4e69c9fefe227f0ac12260a26cb1eb9201444a4285a282b1f327b40d6f8cc458f585d13893d367a1e301adbe1176cf0eee42077 -SHA512 (nbdkit-1.33.2.tar.gz.sig) = fbd2b02408676112dad35c9125e53589508c5764e51421df7b4fb2bc04a60de22256b23db49d7214d80edff7c6bd6ee748b896225440f3f41e3989a69298346e +SHA512 (nbdkit-1.33.3.tar.gz) = 6117cb9775fa2503df9701a3f70ee1ca8a5d3a6f99d0152233eb833d4d701a5962fed5bf1ba6746b190f5830ef76c8bd3117c3af67fb6e39385ee2bc213d1103 +SHA512 (nbdkit-1.33.3.tar.gz.sig) = 49d456414b58611872df22b7024cc0a8eae6dd9751fe03007306fef3786192e15b961ee17dae45bd46c6b785a61667cf8a93da0e33a6505ca0285def7b99b6bf From a636b06f39c234e4cfb8c2765e3df49c9ba522bd Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 18 Nov 2022 15:14:54 +0000 Subject: [PATCH 006/195] New upstream stable version 1.32.4 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 4d8a62a..722612d 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.32-stable Name: nbdkit -Version: 1.32.3 +Version: 1.32.4 Release: 1%{?dist} Summary: NBD server @@ -1191,6 +1191,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Fri Nov 18 2022 Richard W.M. Jones - 1.32.4-1 +- New upstream stable version 1.32.4 + * Fri Oct 14 2022 Richard W.M. Jones - 1.32.3-1 - New upstream stable version 1.32.3 diff --git a/sources b/sources index 7c6eaed..62e3552 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.32.3.tar.gz) = 8d3b79430a5373b66a5423c70aa594d6f581164111bd9f4d2ae617717d6cce2d6810e32e9e5e646aaf118dd505b14ec8d702402af3019738e13108b4333ae4ff -SHA512 (nbdkit-1.32.3.tar.gz.sig) = 7c005df96f46a964690ef5e105cd4a40c98bf259444505af4a2adad280f23a0571fe60611f882b17a995f41dfb3c35149afba423af62c189984124d83918e670 +SHA512 (nbdkit-1.32.4.tar.gz) = 0eb1f0f492ce3558fba8d472b26f7ca3db7beeba411c98e7e06b55c5456399be56f6b4cd4adb54567f744f8e07986af9f676a983da052d174ce2e3c28109dbc5 +SHA512 (nbdkit-1.32.4.tar.gz.sig) = 838c8de006287088eafd65d835b049660c7c3902ad176770118cf68e86a47ebee29730c3fcb780cbda57f9bbcd0ea62742d0ac39b8f332cd68c090506b28d644 From bd8134bd8d3c4174b28f8fdc342efe77ee836b0d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 3 Dec 2022 21:01:09 +0000 Subject: [PATCH 007/195] New upstream development version 1.33.4 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index c57e85c..e95438a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.3 +Version: 1.33.4 Release: 1%{?dist} Summary: NBD server @@ -1191,6 +1191,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Sat Dec 03 2022 Richard W.M. Jones - 1.33.4-1 +- New upstream development version 1.33.4 + * Fri Nov 18 2022 Richard W.M. Jones - 1.33.3-1 - New upstream development version 1.33.3 diff --git a/sources b/sources index 21d649b..2ea437d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.3.tar.gz) = 6117cb9775fa2503df9701a3f70ee1ca8a5d3a6f99d0152233eb833d4d701a5962fed5bf1ba6746b190f5830ef76c8bd3117c3af67fb6e39385ee2bc213d1103 -SHA512 (nbdkit-1.33.3.tar.gz.sig) = 49d456414b58611872df22b7024cc0a8eae6dd9751fe03007306fef3786192e15b961ee17dae45bd46c6b785a61667cf8a93da0e33a6505ca0285def7b99b6bf +SHA512 (nbdkit-1.33.4.tar.gz) = 7366ba0f723746eadd2b1ca9e26ed475147d1e1fe21cd16c3a5478db140785ad2397c8db369f27a4b698b5b8a487a7f931754a82cb47c333c4fe3ba8f7508241 +SHA512 (nbdkit-1.33.4.tar.gz.sig) = dc779d8edcbfe7caa91666072e557b58e5313db38f4605625ca175d4ff116d9f2eec460d785e953fbb3bd5a5d661e2a7d91bd6889a7fe4a3f86e266d32ee114f From eb4065d4eed7d799823bbf705fbae1ca45a1e2cf Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 4 Dec 2022 10:41:24 +0000 Subject: [PATCH 008/195] More thorough use of configure parameters Make sure we explicitly either --enable/--with or --disable/--without every possible feature. This ensures that plugins/features are not accidentally built or omitted. Explicitly enable or disable VDDK depending on architecture (although the configure script does this already so it's not really necessary). If we ever build VDDK for Arm then we will have to revisit this. We can now disable the torrent plugin through configure so we don't have to delete the plugin afterwards. --- nbdkit.spec | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index e95438a..f12ebe4 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -680,24 +680,52 @@ autoreconf -i # package into their vendor/ directory. export PYTHON=%{__python3} %configure \ - --with-extra='%{name}-%{version}-%{release}' \ --disable-static \ + --with-extra='%{name}-%{version}-%{release}' \ + --with-tls-priority=@NBDKIT,SYSTEM \ + --with-bash-completions \ + --with-curl \ + --with-gnutls \ + --with-liblzma \ + --with-libnbd \ + --with-manpages \ + --with-selinux \ + --with-ssh \ + --with-zlib \ + --enable-linuxdisk \ + --enable-python \ --disable-golang \ --disable-rust \ + --disable-valgrind \ %if !0%{?rhel} && 0%{?have_ocaml} --enable-ocaml \ %else --disable-ocaml \ %endif -%if 0%{?rhel} +%if !0%{?rhel} + --enable-lua \ + --enable-perl \ + --enable-ruby \ + --enable-tcl \ + --enable-torrent \ + --with-ext2 \ + --with-iso \ + --with-libvirt \ +%else --disable-lua \ --disable-perl \ --disable-ruby \ --disable-tcl \ + --disable-torrent \ --without-ext2 \ --without-iso \ --without-libvirt \ %endif +%ifarch x86_64 + --enable-vddk \ +%else + --disable-vddk \ +%endif %if !0%{?rhel} && 0%{?have_libguestfs} --with-libguestfs \ %else @@ -708,7 +736,7 @@ export PYTHON=%{__python3} %else --disable-libguestfs-tests \ %endif - --with-tls-priority=@NBDKIT,SYSTEM + %{nil} # Verify that it picked the correct version of Python # to avoid RHBZ#1404631 happening again silently. @@ -729,7 +757,7 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/man3/nbdkit-rust-plugin.3* %if 0%{?rhel} # In RHEL, remove some plugins we cannot --disable. -for f in cc cdi torrent; do +for f in cc cdi ; do rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/nbdkit-$f-plugin.so rm -f $RPM_BUILD_ROOT%{_mandir}/man?/nbdkit-$f-plugin.* done From c5fbd4d47064e75a07edc701a631f50f3bbe1379 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 4 Dec 2022 10:57:47 +0000 Subject: [PATCH 009/195] Don't enable libguestfs tests if we don't have libguestfs --- nbdkit.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index f12ebe4..227ff44 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -731,7 +731,7 @@ export PYTHON=%{__python3} %else --without-libguestfs \ %endif -%ifarch %{complete_test_arches} +%ifarch !0%{?rhel} && 0%{?have_libguestfs} && %{complete_test_arches} --enable-libguestfs-tests \ %else --disable-libguestfs-tests \ From 2dfd51a69868b49ff280610e2a5b4989f5a4e066 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 3 Jan 2023 13:32:35 +0000 Subject: [PATCH 010/195] New upstream development version 1.33.5 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 227ff44..b000412 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.4 +Version: 1.33.5 Release: 1%{?dist} Summary: NBD server @@ -1219,6 +1219,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Jan 03 2023 Richard W.M. Jones - 1.33.5-1 +- New upstream development version 1.33.5 + * Sat Dec 03 2022 Richard W.M. Jones - 1.33.4-1 - New upstream development version 1.33.4 diff --git a/sources b/sources index 2ea437d..651b89e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.4.tar.gz) = 7366ba0f723746eadd2b1ca9e26ed475147d1e1fe21cd16c3a5478db140785ad2397c8db369f27a4b698b5b8a487a7f931754a82cb47c333c4fe3ba8f7508241 -SHA512 (nbdkit-1.33.4.tar.gz.sig) = dc779d8edcbfe7caa91666072e557b58e5313db38f4605625ca175d4ff116d9f2eec460d785e953fbb3bd5a5d661e2a7d91bd6889a7fe4a3f86e266d32ee114f +SHA512 (nbdkit-1.33.5.tar.gz) = 0b2562b35b059a0c218d27160af3eb0ff9465ce07caaba099e2f1c59c2672b7821f1d3fbebafbe2a419128779a64e2205807b8dd2f78c4196df649694422bbb6 +SHA512 (nbdkit-1.33.5.tar.gz.sig) = e3fe4e8cbee9d66b291d6f6a20442ec5a050fe88bc5084c07fd513a15f38db413ec1bddaffacc9fd2d30654d3b2c1f492f9ca329c8ec9e0c5a8628c1cacc8051 From 09d8ff6b52542fcd36be6da6b30191a827616b7c Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 3 Jan 2023 14:54:37 +0000 Subject: [PATCH 011/195] New upstream stable version 1.32.5 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 722612d..5a5f881 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.32-stable Name: nbdkit -Version: 1.32.4 +Version: 1.32.5 Release: 1%{?dist} Summary: NBD server @@ -1191,6 +1191,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Jan 03 2023 Richard W.M. Jones - 1.32.5-1 +- New upstream stable version 1.32.5 + * Fri Nov 18 2022 Richard W.M. Jones - 1.32.4-1 - New upstream stable version 1.32.4 diff --git a/sources b/sources index 62e3552..a909ed5 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.32.4.tar.gz) = 0eb1f0f492ce3558fba8d472b26f7ca3db7beeba411c98e7e06b55c5456399be56f6b4cd4adb54567f744f8e07986af9f676a983da052d174ce2e3c28109dbc5 -SHA512 (nbdkit-1.32.4.tar.gz.sig) = 838c8de006287088eafd65d835b049660c7c3902ad176770118cf68e86a47ebee29730c3fcb780cbda57f9bbcd0ea62742d0ac39b8f332cd68c090506b28d644 +SHA512 (nbdkit-1.32.5.tar.gz) = 9fe9b2ca52b855f1015eec2d1482f372f4dbc366d8297deccd98be1805fc259b685aec41ca5a1323be451e1602dd9cb0262d47b54226bcebf1f98d358fb245fe +SHA512 (nbdkit-1.32.5.tar.gz.sig) = 48afa42d9d6012886e67595f07fa14e02a5d0bc33aaef11896fb76c03d90788bcf0f143bddf698a26a3f7deaa0a019efd18e0fc9541c22f96cf81a6eed536b4d From 08b6cd1411c8abc28d30a98e45335b05bb057685 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Wed, 4 Jan 2023 14:49:04 +0900 Subject: [PATCH 012/195] Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index b000412..765cb34 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -53,7 +53,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.33.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD @@ -1219,6 +1219,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Wed Jan 04 2023 Mamoru TASAKA - 1.33.5-2 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2 + * Tue Jan 03 2023 Richard W.M. Jones - 1.33.5-1 - New upstream development version 1.33.5 From 05aae2b2159bd9e14cc66d2a020ee9c7412d637e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 11 Jan 2023 13:52:36 +0000 Subject: [PATCH 013/195] New upstream development version 1.33.6 New plugin: nbdkit-blkio-plugin --- nbdkit.spec | 32 ++++++++++++++++++++++++++++++-- sources | 4 ++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 765cb34..6444ec8 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,8 +52,8 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.5 -Release: 2%{?dist} +Version: 1.33.6 +Release: 1%{?dist} Summary: NBD server License: BSD @@ -102,6 +102,7 @@ BuildRequires: e2fsprogs, e2fsprogs-devel %if !0%{?rhel} BuildRequires: xorriso BuildRequires: rb_libtorrent-devel +BuildRequires: libblkio-devel %endif BuildRequires: bash-completion BuildRequires: perl-devel @@ -260,6 +261,18 @@ This package contains example plugins for %{name}. # The plugins below have non-trivial dependencies are so are # packaged separately. +%if !0%{?rhel} +%package blkio-plugin +Summary: libblkio NVMe, vhost-user, vDPA, VFIO plugin for %{name} +License: BSD +Requires: %{name}-server%{?_isa} = %{version}-%{release} + +%description blkio-plugin +This package contains libblkio (NVMe, vhost-user, vDPA, VFIO) support +for %{name}. +%endif + + %if !0%{?rhel} %package cc-plugin Summary: Write small inline C plugins and scripts for %{name} @@ -708,6 +721,7 @@ export PYTHON=%{__python3} --enable-ruby \ --enable-tcl \ --enable-torrent \ + --with-libblkio \ --with-ext2 \ --with-iso \ --with-libvirt \ @@ -717,6 +731,7 @@ export PYTHON=%{__python3} --disable-ruby \ --disable-tcl \ --disable-torrent \ + --without-libblkio \ --without-ext2 \ --without-iso \ --without-libvirt \ @@ -894,6 +909,15 @@ export LIBGUESTFS_TRACE=1 %{_mandir}/man1/nbdkit-example*-plugin.1* +%if !0%{?rhel} +%files blkio-plugin +%doc README.md +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-blkio-plugin.so +%{_mandir}/man1/nbdkit-blkio-plugin.1* +%endif + + %if !0%{?rhel} %files cc-plugin %doc README.md @@ -1219,6 +1243,10 @@ export LIBGUESTFS_TRACE=1 %changelog +* Wed Jan 11 2023 Richard W.M. Jones - 1.33.6-1 +- New upstream development version 1.33.6 +- New plugin: nbdkit-blkio-plugin + * Wed Jan 04 2023 Mamoru TASAKA - 1.33.5-2 - Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2 diff --git a/sources b/sources index 651b89e..6b08f89 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.5.tar.gz) = 0b2562b35b059a0c218d27160af3eb0ff9465ce07caaba099e2f1c59c2672b7821f1d3fbebafbe2a419128779a64e2205807b8dd2f78c4196df649694422bbb6 -SHA512 (nbdkit-1.33.5.tar.gz.sig) = e3fe4e8cbee9d66b291d6f6a20442ec5a050fe88bc5084c07fd513a15f38db413ec1bddaffacc9fd2d30654d3b2c1f492f9ca329c8ec9e0c5a8628c1cacc8051 +SHA512 (nbdkit-1.33.6.tar.gz) = c5e8df85ba99526ece1cce73fa5eeb2f47c721c74743f38ed8c8f8b627f5590a5dc314d24a99d16347624a602902b43cda45389f9060d51c30ce46a91e3378ab +SHA512 (nbdkit-1.33.6.tar.gz.sig) = 81d00fd801374f4bc3110b6a46b65a57cfd4da6ef7c5694a3226a1aea69f27ca523cc7e38dceaf259d35c2626bfa06a362268c0d7b80b8fa62a31dd9b4597c80 From 45cd552218ae5e70c89c5122c9808487d27d968b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 14 Jan 2023 15:43:56 +0000 Subject: [PATCH 014/195] New upstream development version 1.33.7 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 6444ec8..64cfde8 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.6 +Version: 1.33.7 Release: 1%{?dist} Summary: NBD server @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Sat Jan 14 2023 Richard W.M. Jones - 1.33.7-1 +- New upstream development version 1.33.7 + * Wed Jan 11 2023 Richard W.M. Jones - 1.33.6-1 - New upstream development version 1.33.6 - New plugin: nbdkit-blkio-plugin diff --git a/sources b/sources index 6b08f89..7172cec 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.6.tar.gz) = c5e8df85ba99526ece1cce73fa5eeb2f47c721c74743f38ed8c8f8b627f5590a5dc314d24a99d16347624a602902b43cda45389f9060d51c30ce46a91e3378ab -SHA512 (nbdkit-1.33.6.tar.gz.sig) = 81d00fd801374f4bc3110b6a46b65a57cfd4da6ef7c5694a3226a1aea69f27ca523cc7e38dceaf259d35c2626bfa06a362268c0d7b80b8fa62a31dd9b4597c80 +SHA512 (nbdkit-1.33.7.tar.gz) = 60dd4ca240a7e35864bc1d0f65c48e9b82e3dd147fabd92fa95f3e3f68bb3f67074146b3cc76989c9a2a653d674dfe37b2c62346e0797ef91efb16bc15f1ee92 +SHA512 (nbdkit-1.33.7.tar.gz.sig) = ce54fba3071cb707e19d961b4cc826fc4bc3e5c26d1de5d5ce77d6dc529ba73286591fa148e85b2b0d79a3577c9ce6bdc71cb47e7f7b52226672a4bde83333a8 From 5b29d280dd0b34bed1c65e257ef3817995d1b60d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 21:17:27 +0000 Subject: [PATCH 015/195] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 64cfde8..6a20607 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -53,7 +53,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.33.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 1.33.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Jan 14 2023 Richard W.M. Jones - 1.33.7-1 - New upstream development version 1.33.7 From c98f3bea2b91daecbc5f2c3de5ae4ea6d1a679b3 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 24 Jan 2023 20:40:37 +0000 Subject: [PATCH 016/195] Rebuild OCaml packages for F38 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 6a20607..c6198e6 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -53,7 +53,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.33.7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NBD server License: BSD @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Jan 24 2023 Richard W.M. Jones - 1.33.7-3 +- Rebuild OCaml packages for F38 + * Thu Jan 19 2023 Fedora Release Engineering - 1.33.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 951b6c1030f3b04780304e47cf050320c68854fd Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 7 Feb 2023 22:07:16 +0000 Subject: [PATCH 017/195] New upstream development version 1.33.8 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index c6198e6..4afba67 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,8 +52,8 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.7 -Release: 3%{?dist} +Version: 1.33.8 +Release: 1%{?dist} Summary: NBD server License: BSD @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Feb 07 2023 Richard W.M. Jones - 1.33.8-1 +- New upstream development version 1.33.8 + * Tue Jan 24 2023 Richard W.M. Jones - 1.33.7-3 - Rebuild OCaml packages for F38 diff --git a/sources b/sources index 7172cec..7a55998 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.7.tar.gz) = 60dd4ca240a7e35864bc1d0f65c48e9b82e3dd147fabd92fa95f3e3f68bb3f67074146b3cc76989c9a2a653d674dfe37b2c62346e0797ef91efb16bc15f1ee92 -SHA512 (nbdkit-1.33.7.tar.gz.sig) = ce54fba3071cb707e19d961b4cc826fc4bc3e5c26d1de5d5ce77d6dc529ba73286591fa148e85b2b0d79a3577c9ce6bdc71cb47e7f7b52226672a4bde83333a8 +SHA512 (nbdkit-1.33.8.tar.gz) = 17e3e94e15e23e2ce8226f942acf03128dac867d3cc619d58febb1e5c9627b3b05b2d954493fd50c0233b636a4f1b057e6c8af0b0528cc9bee667b7f1de84b8a +SHA512 (nbdkit-1.33.8.tar.gz.sig) = ad2825ccf82b14680c2a1e860b675c3bf0374e8941c5608ffbcd5ab66f8ef8f160b74921ac10e691221011b155f83f80a2587f2f84cbcfc908240421524658c1 From 7f63a272d0cb887f9cd2c8024153fcc77df9b7a8 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 25 Feb 2023 14:04:24 +0000 Subject: [PATCH 018/195] New upstream development version 1.33.9 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 4afba67..af553ad 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.8 +Version: 1.33.9 Release: 1%{?dist} Summary: NBD server @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Sat Feb 25 2023 Richard W.M. Jones - 1.33.9-1 +- New upstream development version 1.33.9 + * Tue Feb 07 2023 Richard W.M. Jones - 1.33.8-1 - New upstream development version 1.33.8 diff --git a/sources b/sources index 7a55998..4f6d7af 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.8.tar.gz) = 17e3e94e15e23e2ce8226f942acf03128dac867d3cc619d58febb1e5c9627b3b05b2d954493fd50c0233b636a4f1b057e6c8af0b0528cc9bee667b7f1de84b8a -SHA512 (nbdkit-1.33.8.tar.gz.sig) = ad2825ccf82b14680c2a1e860b675c3bf0374e8941c5608ffbcd5ab66f8ef8f160b74921ac10e691221011b155f83f80a2587f2f84cbcfc908240421524658c1 +SHA512 (nbdkit-1.33.9.tar.gz) = ec36b3b502ba625df9899080cd5425b0e47a4c520042d39fceaad39ea26dad2c2f399604f51efd5b5860c26e197687006629d1778b527d49362c3ddbdb2525f1 +SHA512 (nbdkit-1.33.9.tar.gz.sig) = 3025530f2fdf2d6c117c3856c0e5abd3bdbfe725aab923f31a9602db4f8af324b8ac7443aac6035e8592a6e75bb1656053865fe336c8a93b46061b9d6cbfdbac From b919ca15cf6231a8db18ca4e99b1fe1c95012b6a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 28 Feb 2023 15:37:47 +0000 Subject: [PATCH 019/195] New upstream development version 1.33.10 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index af553ad..d2d1051 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.9 +Version: 1.33.10 Release: 1%{?dist} Summary: NBD server @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Feb 28 2023 Richard W.M. Jones - 1.33.10-1 +- New upstream development version 1.33.10 + * Sat Feb 25 2023 Richard W.M. Jones - 1.33.9-1 - New upstream development version 1.33.9 diff --git a/sources b/sources index 4f6d7af..39e15fe 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.9.tar.gz) = ec36b3b502ba625df9899080cd5425b0e47a4c520042d39fceaad39ea26dad2c2f399604f51efd5b5860c26e197687006629d1778b527d49362c3ddbdb2525f1 -SHA512 (nbdkit-1.33.9.tar.gz.sig) = 3025530f2fdf2d6c117c3856c0e5abd3bdbfe725aab923f31a9602db4f8af324b8ac7443aac6035e8592a6e75bb1656053865fe336c8a93b46061b9d6cbfdbac +SHA512 (nbdkit-1.33.10.tar.gz) = c2b28cff041f3f8739b159fa7201beb06f1c4afbb4b1a302b6bbf9dde0c3fab17b195f880f8bf5702e8ba0952fa687e91c9921625f090fb66ed85692d4f01d2d +SHA512 (nbdkit-1.33.10.tar.gz.sig) = 1b62c9e63cf9e4ff472a2802c8fb5b9c263c6aca3c7acf66bae44632a3272730dac706c8a3cd9abb2982bf0fa9dbc5cc6a135a5352232b5954d1d2d670339071 From 09307d24977de0279de0779caf6c59bbe2c75427 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 9 Mar 2023 11:18:57 +0000 Subject: [PATCH 020/195] New upstream development version 1.33.11 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index d2d1051..02d4a5d 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.10 +Version: 1.33.11 Release: 1%{?dist} Summary: NBD server @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Thu Mar 09 2023 Richard W.M. Jones - 1.33.11-1 +- New upstream development version 1.33.11 + * Tue Feb 28 2023 Richard W.M. Jones - 1.33.10-1 - New upstream development version 1.33.10 diff --git a/sources b/sources index 39e15fe..50fd7b6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.10.tar.gz) = c2b28cff041f3f8739b159fa7201beb06f1c4afbb4b1a302b6bbf9dde0c3fab17b195f880f8bf5702e8ba0952fa687e91c9921625f090fb66ed85692d4f01d2d -SHA512 (nbdkit-1.33.10.tar.gz.sig) = 1b62c9e63cf9e4ff472a2802c8fb5b9c263c6aca3c7acf66bae44632a3272730dac706c8a3cd9abb2982bf0fa9dbc5cc6a135a5352232b5954d1d2d670339071 +SHA512 (nbdkit-1.33.11.tar.gz) = 6101563f7f7e9d60658b19f07a661eec5efe4d60d5c840c651988dc15a6199e0064ffa9f679f2f59cc687a87c203ebc6b2c9fbb0f72274dfd03c5ec34005e544 +SHA512 (nbdkit-1.33.11.tar.gz.sig) = 0f947660d684b024539f8cfb8c42ea0158d005ce972eaf3dc1c94c7c4260fb353d6fbd9ecfaf64f7b2630f726f75e5632bab4c3c6bf0e8eba8059a54ee95cd13 From 604cc65d68e24683129993b3a05268770c5bae35 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 13 Apr 2023 10:20:34 +0100 Subject: [PATCH 021/195] New upstream development version 1.33.12 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 02d4a5d..40bda8f 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.33-development Name: nbdkit -Version: 1.33.11 +Version: 1.33.12 Release: 1%{?dist} Summary: NBD server @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Thu Apr 13 2023 Richard W.M. Jones - 1.33.12-1 +- New upstream development version 1.33.12 + * Thu Mar 09 2023 Richard W.M. Jones - 1.33.11-1 - New upstream development version 1.33.11 diff --git a/sources b/sources index 50fd7b6..fbaa80a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.11.tar.gz) = 6101563f7f7e9d60658b19f07a661eec5efe4d60d5c840c651988dc15a6199e0064ffa9f679f2f59cc687a87c203ebc6b2c9fbb0f72274dfd03c5ec34005e544 -SHA512 (nbdkit-1.33.11.tar.gz.sig) = 0f947660d684b024539f8cfb8c42ea0158d005ce972eaf3dc1c94c7c4260fb353d6fbd9ecfaf64f7b2630f726f75e5632bab4c3c6bf0e8eba8059a54ee95cd13 +SHA512 (nbdkit-1.33.12.tar.gz) = 8d74b2e015a1811feb07010a552034b088a2c65b4cba45822ed14e1f9c8e622ae2279e1b0ea14492a3d6782a1172df6faa077ac6e60e0b87d2158d9a250bb73f +SHA512 (nbdkit-1.33.12.tar.gz.sig) = 70b931e3d39cb87b7f7cb76a282b38377318527af812af0c5eaf5abab97da18e0fe430a335bca365328ab06bd61324f5df35e1613379a4089f64ac66e3f9eabb From 437316b6903226392bdde4f5306cb95e1dc2e6b5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 14 Apr 2023 10:50:46 +0100 Subject: [PATCH 022/195] New upstream stable version 1.34.0 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 40bda8f..7917b85 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -49,10 +49,10 @@ ExclusiveArch: x86_64 %global patches_touch_autotools %{nil} # The source directory. -%global source_directory 1.33-development +%global source_directory 1.34-stable Name: nbdkit -Version: 1.33.12 +Version: 1.34.0 Release: 1%{?dist} Summary: NBD server @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Fri Apr 14 2023 Richard W.M. Jones - 1.34.0-1 +- New upstream stable version 1.34.0 + * Thu Apr 13 2023 Richard W.M. Jones - 1.33.12-1 - New upstream development version 1.33.12 diff --git a/sources b/sources index fbaa80a..1137953 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.33.12.tar.gz) = 8d74b2e015a1811feb07010a552034b088a2c65b4cba45822ed14e1f9c8e622ae2279e1b0ea14492a3d6782a1172df6faa077ac6e60e0b87d2158d9a250bb73f -SHA512 (nbdkit-1.33.12.tar.gz.sig) = 70b931e3d39cb87b7f7cb76a282b38377318527af812af0c5eaf5abab97da18e0fe430a335bca365328ab06bd61324f5df35e1613379a4089f64ac66e3f9eabb +SHA512 (nbdkit-1.34.0.tar.gz) = 5d78708652da2ea9c9330bdbed3aabcd159a1517eb02c32adfbecf6e65ecc2769d37c8c114b32a2502552188fabedcb24ab0c7c44897482efffd9f5653af98f0 +SHA512 (nbdkit-1.34.0.tar.gz.sig) = 7fe99502d59760a6ae6dc5cdcae35b6eb14720f654d667160892eec9d746817305afd82dbf7c1ecf164acbc6f1140039af1c10885fefeb380244d6e1bf2ead7c From 7665825cab2995ecd951b6e912ac9c83faa2e816 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 18 Apr 2023 13:00:30 +0100 Subject: [PATCH 023/195] New upstream stable version 1.34.1 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 7917b85..62561a2 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.34-stable Name: nbdkit -Version: 1.34.0 +Version: 1.34.1 Release: 1%{?dist} Summary: NBD server @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Apr 18 2023 Richard W.M. Jones - 1.34.1-1 +- New upstream stable version 1.34.1 + * Fri Apr 14 2023 Richard W.M. Jones - 1.34.0-1 - New upstream stable version 1.34.0 diff --git a/sources b/sources index 1137953..fc6a099 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.34.0.tar.gz) = 5d78708652da2ea9c9330bdbed3aabcd159a1517eb02c32adfbecf6e65ecc2769d37c8c114b32a2502552188fabedcb24ab0c7c44897482efffd9f5653af98f0 -SHA512 (nbdkit-1.34.0.tar.gz.sig) = 7fe99502d59760a6ae6dc5cdcae35b6eb14720f654d667160892eec9d746817305afd82dbf7c1ecf164acbc6f1140039af1c10885fefeb380244d6e1bf2ead7c +SHA512 (nbdkit-1.34.1.tar.gz) = 23d87f72046ea2ba5a315bfa85846a94f3557970e9db500d168ba45057d9835c0c51557b9ff6cdc3135bbdc6bb6e6dfed01f0640a08b576b5620c0476578d4ce +SHA512 (nbdkit-1.34.1.tar.gz.sig) = c25077362fb6459a83e1acbf1a683017c11edffb9760c9707c929ef4ab54583bdfa5bcfd845ce1f3e98fa46add7a4fba9536a7d4fb0cc072b6a41116489a957d From d3de274d1b5d2aa8de5f5d40015087cc22dfde83 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 18 Apr 2023 13:01:44 +0100 Subject: [PATCH 024/195] New upstream stable version 1.32.6 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 5a5f881..a2a2dca 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.32-stable Name: nbdkit -Version: 1.32.5 +Version: 1.32.6 Release: 1%{?dist} Summary: NBD server @@ -1191,6 +1191,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Apr 18 2023 Richard W.M. Jones - 1.32.6-1 +- New upstream stable version 1.32.6 + * Tue Jan 03 2023 Richard W.M. Jones - 1.32.5-1 - New upstream stable version 1.32.5 diff --git a/sources b/sources index a909ed5..50cb7f0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.32.5.tar.gz) = 9fe9b2ca52b855f1015eec2d1482f372f4dbc366d8297deccd98be1805fc259b685aec41ca5a1323be451e1602dd9cb0262d47b54226bcebf1f98d358fb245fe -SHA512 (nbdkit-1.32.5.tar.gz.sig) = 48afa42d9d6012886e67595f07fa14e02a5d0bc33aaef11896fb76c03d90788bcf0f143bddf698a26a3f7deaa0a019efd18e0fc9541c22f96cf81a6eed536b4d +SHA512 (nbdkit-1.32.6.tar.gz) = 523418c144897e538b40db3c411221b8f0a139013cf732d4cef74c3ff1df7049069bc09c8b218e1d5828a7b6588c6337234bbec4515ee6543278013c44962784 +SHA512 (nbdkit-1.32.6.tar.gz.sig) = 41be9649f7a8bfbc357bff26f34dc1aa527b97d7588cfbd745ec7a22893b7d2cf643c412ce7851577cb3da187070f6c74eedf8e626fba7880d5d94753329412e From 389861ca942f057a782f9094c01b8e700f8c96aa Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 29 Apr 2023 12:45:05 +0100 Subject: [PATCH 025/195] New upstream development version 1.35.1 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 62561a2..8d11cf1 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -49,10 +49,10 @@ ExclusiveArch: x86_64 %global patches_touch_autotools %{nil} # The source directory. -%global source_directory 1.34-stable +%global source_directory 1.35-development Name: nbdkit -Version: 1.34.1 +Version: 1.35.1 Release: 1%{?dist} Summary: NBD server @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Sat Apr 29 2023 Richard W.M. Jones - 1.35.1-1 +- New upstream development version 1.35.1 + * Tue Apr 18 2023 Richard W.M. Jones - 1.34.1-1 - New upstream stable version 1.34.1 diff --git a/sources b/sources index fc6a099..18a8727 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.34.1.tar.gz) = 23d87f72046ea2ba5a315bfa85846a94f3557970e9db500d168ba45057d9835c0c51557b9ff6cdc3135bbdc6bb6e6dfed01f0640a08b576b5620c0476578d4ce -SHA512 (nbdkit-1.34.1.tar.gz.sig) = c25077362fb6459a83e1acbf1a683017c11edffb9760c9707c929ef4ab54583bdfa5bcfd845ce1f3e98fa46add7a4fba9536a7d4fb0cc072b6a41116489a957d +SHA512 (nbdkit-1.35.1.tar.gz) = e7d9dcee41858db25bdc47890196e6af7296a8052a1133cf4bf412881a3fc5a4acd751b61cf412c082567319a363b0c1a3a05f9bed6218ed25b659147db27df0 +SHA512 (nbdkit-1.35.1.tar.gz.sig) = 0f217678377a49035304ab952110a5f1d5e6c84db8bf750831aa3f2e22043bb6ee4ecf173b83f1f0e599a0a4066ab22d30acd357937c3ec76c9f6815f5aca661 From 07728d64a3344d9a35170615df0618b61a3ff89b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 10 May 2023 10:45:50 +0100 Subject: [PATCH 026/195] New upstream development version 1.35.2 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 8d11cf1..724e707 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.1 +Version: 1.35.2 Release: 1%{?dist} Summary: NBD server @@ -1243,6 +1243,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Wed May 10 2023 Richard W.M. Jones - 1.35.2-1 +- New upstream development version 1.35.2 + * Sat Apr 29 2023 Richard W.M. Jones - 1.35.1-1 - New upstream development version 1.35.1 diff --git a/sources b/sources index 18a8727..a59ff2d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.1.tar.gz) = e7d9dcee41858db25bdc47890196e6af7296a8052a1133cf4bf412881a3fc5a4acd751b61cf412c082567319a363b0c1a3a05f9bed6218ed25b659147db27df0 -SHA512 (nbdkit-1.35.1.tar.gz.sig) = 0f217678377a49035304ab952110a5f1d5e6c84db8bf750831aa3f2e22043bb6ee4ecf173b83f1f0e599a0a4066ab22d30acd357937c3ec76c9f6815f5aca661 +SHA512 (nbdkit-1.35.2.tar.gz) = 09fde258a14c1cd44440affd55623159721e84ec3fa01b13d73ea753200924650248583afb88ccd0d009533ce22554f3c3793035592f04614dabd0c56fc670ed +SHA512 (nbdkit-1.35.2.tar.gz.sig) = 47d295f8a7f003ccd23984f1a4fb462d1622c8fa2c69fcdf5e37bfb569404e5978858970213611865f70fd42c34900fec775d3c0bf9a13b2643e001b333d3fe2 From fd4ae2855524d5d54b40902024e0acbeb2c33a8b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 18 May 2023 21:26:13 +0100 Subject: [PATCH 027/195] New upstream development version 1.35.3 New plugin: ones New filter: evil --- nbdkit.spec | 15 ++++++++++++++- sources | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 724e707..4a14b67 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.2 +Version: 1.35.3 Release: 1%{?dist} Summary: NBD server @@ -230,6 +230,8 @@ nbdkit-memory-plugin A virtual memory plugin. nbdkit-ondemand-plugin Create filesystems on demand. +nbdkit-ones-plugin Fill disk with repeated 0xff or other bytes. + nbdkit-pattern-plugin Fixed test pattern. nbdkit-partitioning-plugin Create virtual disks from partitions. @@ -538,6 +540,8 @@ nbdkit-delay-filter Inject read and write delays. nbdkit-error-filter Inject errors. +nbdkit-evil-filter Add random data corruption to reads. + nbdkit-exitlast-filter Exit on last client connection. nbdkit-exitwhen-filter Exit gracefully when an event occurs. @@ -875,6 +879,7 @@ export LIBGUESTFS_TRACE=1 %{_libdir}/%{name}/plugins/nbdkit-info-plugin.so %{_libdir}/%{name}/plugins/nbdkit-memory-plugin.so %{_libdir}/%{name}/plugins/nbdkit-ondemand-plugin.so +%{_libdir}/%{name}/plugins/nbdkit-ones-plugin.so %{_libdir}/%{name}/plugins/nbdkit-partitioning-plugin.so %{_libdir}/%{name}/plugins/nbdkit-pattern-plugin.so %{_libdir}/%{name}/plugins/nbdkit-random-plugin.so @@ -890,6 +895,7 @@ export LIBGUESTFS_TRACE=1 %{_mandir}/man1/nbdkit-info-plugin.1* %{_mandir}/man1/nbdkit-memory-plugin.1* %{_mandir}/man1/nbdkit-ondemand-plugin.1* +%{_mandir}/man1/nbdkit-ones-plugin.1* %{_mandir}/man1/nbdkit-partitioning-plugin.1* %{_mandir}/man1/nbdkit-pattern-plugin.1* %{_mandir}/man1/nbdkit-random-plugin.1* @@ -1094,6 +1100,7 @@ export LIBGUESTFS_TRACE=1 %{_libdir}/%{name}/filters/nbdkit-ddrescue-filter.so %{_libdir}/%{name}/filters/nbdkit-delay-filter.so %{_libdir}/%{name}/filters/nbdkit-error-filter.so +%{_libdir}/%{name}/filters/nbdkit-evil-filter.so %{_libdir}/%{name}/filters/nbdkit-exitlast-filter.so %{_libdir}/%{name}/filters/nbdkit-exitwhen-filter.so %{_libdir}/%{name}/filters/nbdkit-exportname-filter.so @@ -1130,6 +1137,7 @@ export LIBGUESTFS_TRACE=1 %{_mandir}/man1/nbdkit-ddrescue-filter.1* %{_mandir}/man1/nbdkit-delay-filter.1* %{_mandir}/man1/nbdkit-error-filter.1* +%{_mandir}/man1/nbdkit-evil-filter.1* %{_mandir}/man1/nbdkit-exitlast-filter.1* %{_mandir}/man1/nbdkit-exitwhen-filter.1* %{_mandir}/man1/nbdkit-exportname-filter.1* @@ -1243,6 +1251,11 @@ export LIBGUESTFS_TRACE=1 %changelog +* Thu May 18 2023 Richard W.M. Jones - 1.35.3-1 +- New upstream development version 1.35.3 +- New plugin: ones +- New filter: evil + * Wed May 10 2023 Richard W.M. Jones - 1.35.2-1 - New upstream development version 1.35.2 diff --git a/sources b/sources index a59ff2d..b8c1193 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.2.tar.gz) = 09fde258a14c1cd44440affd55623159721e84ec3fa01b13d73ea753200924650248583afb88ccd0d009533ce22554f3c3793035592f04614dabd0c56fc670ed -SHA512 (nbdkit-1.35.2.tar.gz.sig) = 47d295f8a7f003ccd23984f1a4fb462d1622c8fa2c69fcdf5e37bfb569404e5978858970213611865f70fd42c34900fec775d3c0bf9a13b2643e001b333d3fe2 +SHA512 (nbdkit-1.35.3.tar.gz) = 67ef835b3f6ee0acf252b9d801ff28553f59a6bb129bb24a4f5de63f8d02d067f811fdd28fed31d8e0e9efc0f108ede9ff20be94f8b350db5f13ee620fea3aa9 +SHA512 (nbdkit-1.35.3.tar.gz.sig) = e51ecf330622da3ec7521c603a713bacb8f6ac67ace5b30d62a6fc2ed6ae0010548c989e3180ce043a4a06b034525ad241049a5d3587138841b6741121ea0559 From 08486052a03908970a6c76dcf802edb8ed4c6a98 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 28 May 2023 17:44:15 +0100 Subject: [PATCH 028/195] New upstream development version 1.35.4 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 4a14b67..90013f4 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.3 +Version: 1.35.4 Release: 1%{?dist} Summary: NBD server @@ -1251,6 +1251,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Sat May 28 2023 Richard W.M. Jones - 1.35.4-1 +- New upstream development version 1.35.4 + * Thu May 18 2023 Richard W.M. Jones - 1.35.3-1 - New upstream development version 1.35.3 - New plugin: ones diff --git a/sources b/sources index b8c1193..0dfd32d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.3.tar.gz) = 67ef835b3f6ee0acf252b9d801ff28553f59a6bb129bb24a4f5de63f8d02d067f811fdd28fed31d8e0e9efc0f108ede9ff20be94f8b350db5f13ee620fea3aa9 -SHA512 (nbdkit-1.35.3.tar.gz.sig) = e51ecf330622da3ec7521c603a713bacb8f6ac67ace5b30d62a6fc2ed6ae0010548c989e3180ce043a4a06b034525ad241049a5d3587138841b6741121ea0559 +SHA512 (nbdkit-1.35.4.tar.gz) = 0a7f60eff375c6c435ea652da087eb2dda8470ab5996756b9f7e91b455cad25ffbbd153086dc339a6ffe68fe44e617248848b73d063d3c194bfa49e67679324e +SHA512 (nbdkit-1.35.4.tar.gz.sig) = ca228696cb57acc16c404fa71004ac6de1165fc92ee3c0a8467a6317aa615586e9add3d3b356285d90851173a113e7ebe274a71f4637dad919e25baff8dedbc0 From 109833d2f3f77b737c4b3c7ba087a4bb9e259fe9 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 5 Jun 2023 15:53:11 +0100 Subject: [PATCH 029/195] Migrated to SPDX license --- nbdkit.spec | 42 ++++++------------------------------------ 1 file changed, 6 insertions(+), 36 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 90013f4..509af3b 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -53,10 +53,10 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.35.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server -License: BSD +License: BSD-3-Clause URL: https://gitlab.com/nbdkit/nbdkit %if 0%{?rhel} >= 8 @@ -194,7 +194,6 @@ reading the nbdkit(1) and nbdkit-plugin(3) manual pages. %package server Summary: The %{name} server -License: BSD %description server This package contains the %{name} server with only the null plugin @@ -205,7 +204,6 @@ the metapackage "nbdkit". %package basic-plugins Summary: Basic plugins for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} @@ -249,7 +247,6 @@ nbdkit-zero-plugin Zero-length plugin for testing. %package example-plugins Summary: Example plugins for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %if !0%{?rhel} # example4 is written in Perl. @@ -266,7 +263,6 @@ This package contains example plugins for %{name}. %if !0%{?rhel} %package blkio-plugin Summary: libblkio NVMe, vhost-user, vDPA, VFIO plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description blkio-plugin @@ -278,7 +274,6 @@ for %{name}. %if !0%{?rhel} %package cc-plugin Summary: Write small inline C plugins and scripts for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: gcc Requires: %{_bindir}/cat @@ -293,7 +288,6 @@ in C, install %{name}-devel for that. %if !0%{?rhel} %package cdi-plugin Summary: Containerized Data Import plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: jq Requires: podman @@ -305,7 +299,6 @@ This package contains Containerized Data Import support for %{name}. %package curl-plugin Summary: HTTP/FTP (cURL) plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description curl-plugin @@ -315,7 +308,6 @@ This package contains cURL (HTTP/FTP) support for %{name}. %if !0%{?rhel} && 0%{?have_libguestfs} %package guestfs-plugin Summary: libguestfs plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description guestfs-plugin @@ -326,7 +318,6 @@ This package is a libguestfs plugin for %{name}. %if !0%{?rhel} %package iso-plugin Summary: Virtual ISO 9660 plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: xorriso @@ -338,7 +329,6 @@ This package is a virtual ISO 9660 (CD-ROM) plugin for %{name}. %if !0%{?rhel} %package libvirt-plugin Summary: Libvirt plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description libvirt-plugin @@ -350,7 +340,6 @@ virDomainBlockPeek API. %package linuxdisk-plugin Summary: Virtual Linux disk plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # for mke2fs Requires: e2fsprogs @@ -362,7 +351,6 @@ This package is a virtual Linux disk plugin for %{name}. %if !0%{?rhel} %package lua-plugin Summary: Lua plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description lua-plugin @@ -372,7 +360,6 @@ This package lets you write Lua plugins for %{name}. %package nbd-plugin Summary: NBD proxy / forward plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description nbd-plugin @@ -383,7 +370,6 @@ to another NBD server. %if !0%{?rhel} && 0%{?have_ocaml} %package ocaml-plugin Summary: OCaml plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description ocaml-plugin @@ -395,7 +381,6 @@ To compile OCaml plugins you will also need to install %package ocaml-plugin-devel Summary: OCaml development environment for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: %{name}-ocaml-plugin%{?_isa} = %{version}-%{release} @@ -407,7 +392,6 @@ This package lets you write OCaml plugins for %{name}. %if !0%{?rhel} %package perl-plugin Summary: Perl plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description perl-plugin @@ -417,7 +401,6 @@ This package lets you write Perl plugins for %{name}. %package python-plugin Summary: Python 3 plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description python-plugin @@ -427,7 +410,6 @@ This package lets you write Python 3 plugins for %{name}. %if !0%{?rhel} %package ruby-plugin Summary: Ruby plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description ruby-plugin @@ -440,7 +422,6 @@ This package lets you write Ruby plugins for %{name}. # which varies across architectures, RPM does not allow this. %package S3-plugin Summary: Amazon S3 and Ceph plugin for %{name} -License: BSD Requires: %{name}-python-plugin >= 1.22 # XXX Should not need to add this. Requires: python3-boto3 @@ -453,7 +434,6 @@ or Ceph using %{name}. %package ssh-plugin Summary: SSH plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description ssh-plugin @@ -463,7 +443,6 @@ This package contains SSH support for %{name}. %if !0%{?rhel} %package tcl-plugin Summary: Tcl plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description tcl-plugin @@ -473,7 +452,6 @@ This package lets you write Tcl plugins for %{name}. %package tmpdisk-plugin Summary: Remote temporary filesystem disk plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # For mkfs and mke2fs (defaults). Requires: util-linux, e2fsprogs @@ -490,7 +468,6 @@ This package is a remote temporary filesystem disk plugin for %{name}. %if !0%{?rhel} %package torrent-plugin Summary: BitTorrent plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description torrent-plugin @@ -501,7 +478,6 @@ This package is a BitTorrent plugin for %{name}. %ifarch x86_64 %package vddk-plugin Summary: VMware VDDK plugin for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} # https://bugzilla.redhat.com/show_bug.cgi?id=1931818 Requires: libxcrypt-compat @@ -514,7 +490,6 @@ VMware VDDK for accessing VMware disks and servers. %package basic-filters Summary: Basic filters for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description basic-filters @@ -600,7 +575,6 @@ nbdkit-truncate-filter Truncate, expand, round up or round down size. %if !0%{?rhel} %package ext2-filter Summary: ext2, ext3 and ext4 filesystem support for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description ext2-filter @@ -611,7 +585,6 @@ This package contains ext2, ext3 and ext4 filesystem support for %package gzip-filter Summary: GZip filter for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description gzip-filter @@ -620,7 +593,6 @@ This package is a gzip filter for %{name}. %package stats-filter Summary: Statistics filter for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description stats-filter @@ -629,7 +601,6 @@ Display statistics about operations. %package tar-filter Summary: Tar archive filter for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: tar Obsoletes: %{name}-tar-plugin < 1.23.9-3 @@ -640,7 +611,6 @@ This package is a tar archive filter for %{name}. %package xz-filter Summary: XZ filter for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} %description xz-filter @@ -649,7 +619,6 @@ This package is the xz filter for %{name}. %package devel Summary: Development files and documentation for %{name} -License: BSD Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: pkgconfig @@ -661,7 +630,6 @@ plugins for %{name}. %package srpm-macros Summary: RPM Provides rules for %{name} plugins and filters -License: BSD BuildArch: noarch %description srpm-macros @@ -671,7 +639,6 @@ for %{name} plugins and filters found in the plugins directory. %package bash-completion Summary: Bash tab-completion for %{name} -License: BSD BuildArch: noarch Requires: bash-completion >= 2.0 Requires: %{name}-server = %{version}-%{release} @@ -1251,7 +1218,10 @@ export LIBGUESTFS_TRACE=1 %changelog -* Sat May 28 2023 Richard W.M. Jones - 1.35.4-1 +* Mon Jun 05 2023 Richard W.M. Jones - 1.35.4-2 +- Migrated to SPDX license + +* Sun May 28 2023 Richard W.M. Jones - 1.35.4-1 - New upstream development version 1.35.4 * Thu May 18 2023 Richard W.M. Jones - 1.35.3-1 From 9f6c48148951dd913b160b54bd0dc7e41636ebae Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 12 Jun 2023 12:10:26 +0100 Subject: [PATCH 030/195] New upstream development version 1.35.5 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 509af3b..9fb091a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,8 +52,8 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.4 -Release: 2%{?dist} +Version: 1.35.5 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1218,6 +1218,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Mon Jun 12 2023 Richard W.M. Jones - 1.35.5-1 +- New upstream development version 1.35.5 + * Mon Jun 05 2023 Richard W.M. Jones - 1.35.4-2 - Migrated to SPDX license diff --git a/sources b/sources index 0dfd32d..a96756c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.4.tar.gz) = 0a7f60eff375c6c435ea652da087eb2dda8470ab5996756b9f7e91b455cad25ffbbd153086dc339a6ffe68fe44e617248848b73d063d3c194bfa49e67679324e -SHA512 (nbdkit-1.35.4.tar.gz.sig) = ca228696cb57acc16c404fa71004ac6de1165fc92ee3c0a8467a6317aa615586e9add3d3b356285d90851173a113e7ebe274a71f4637dad919e25baff8dedbc0 +SHA512 (nbdkit-1.35.5.tar.gz) = aa0ddefa6073a20bda78bcc2a4295429a7f2ad98fe3bc3f0b7d6275878b3ec1ffb99e2a4cb0abc470d7c104179de627181ac1afacc991e37114f574f4da2b7d7 +SHA512 (nbdkit-1.35.5.tar.gz.sig) = 170e0d3d7d79811026ad313f1bb315685ba674319c76e42648c14bd0f300f28ec9304eae77e0e4489308229e73ac98469bfb0f2095ee091aa5b26e53f29a0ec0 From 58685c7530ced78b7aa1d9e261f6c3ae0cf9b34a Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 4 Jul 2023 11:42:56 +0200 Subject: [PATCH 031/195] Rebuilt for Python 3.12 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 9fb091a..f26926e 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -53,7 +53,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.35.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1218,6 +1218,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Jul 04 2023 Python Maint - 1.35.5-2 +- Rebuilt for Python 3.12 + * Mon Jun 12 2023 Richard W.M. Jones - 1.35.5-1 - New upstream development version 1.35.5 From b95296db1f4a073d02166e19bed606c69d38d37c Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 10 Jul 2023 16:36:47 -0600 Subject: [PATCH 032/195] OCaml 5.0.0 rebuild --- nbdkit.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index f26926e..a3454a9 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -1,4 +1,3 @@ -%undefine _package_note_flags %global _hardened_build 1 %ifarch %{kernel_arches} @@ -53,7 +52,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.35.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1218,6 +1217,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Mon Jul 10 2023 Jerry James - 1.35.5-3 +- OCaml 5.0.0 rebuild + * Tue Jul 04 2023 Python Maint - 1.35.5-2 - Rebuilt for Python 3.12 From 7d3324c5fb2ff35d7f9cddc1c3152b2675b282ad Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Tue, 11 Jul 2023 15:55:16 +0200 Subject: [PATCH 033/195] Perl 5.38 rebuild --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index a3454a9..4793d7c 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.35.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1217,6 +1217,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Jul 11 2023 Jitka Plesnikova - 1.35.5-4 +- Perl 5.38 rebuild + * Mon Jul 10 2023 Jerry James - 1.35.5-3 - OCaml 5.0.0 rebuild From 6f30fc0cb68268a9f06905df60a57b12837fbbdd Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 12 Jul 2023 15:01:29 +0100 Subject: [PATCH 034/195] OCaml 5.0 rebuild for Fedora 39 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 4793d7c..e7dcb76 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.35.5 -Release: 4%{?dist} +Release: 5%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1217,6 +1217,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Wed Jul 12 2023 Richard W.M. Jones - 1.35.5-5 +- OCaml 5.0 rebuild for Fedora 39 + * Tue Jul 11 2023 Jitka Plesnikova - 1.35.5-4 - Perl 5.38 rebuild From 3fc58c8fb651c858cfb7555ec9353dddfb670f1e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 12 Jul 2023 15:22:55 +0100 Subject: [PATCH 035/195] Add all upstream patches These are needed to get OCaml 5 to work. --- ...nfo-Remove-bogus-test-requires-of-gu.patch | 41 ++ ...-optional-tar-option-in-help-output-.patch | 43 ++ 0003-tar-Implement-tar-limit.patch | 193 ++++++++ ...sage-to-refer-to-xz-max-block-parame.patch | 40 ++ ...Recommend-using-g-with-OCAMLOPTFLAGS.patch | 27 + ..._plugin.ml-Print-a-message-when-test.patch | 32 ++ ...ml-Add-I-unix-before-using-unix.cmxa.patch | 124 +++++ ...ml_leave_blocking_section-with-caml_.patch | 468 ++++++++++++++++++ ...egister-the-global-root-and-free-the.patch | 65 +++ ...-Fix-thread-registration-for-OCaml-5.patch | 375 ++++++++++++++ ...aml.sh-Use-nbdkit-v-option-to-help-w.patch | 26 + ...s-Replace-SRCDIR-with-abs_top_srcdir.patch | 324 ++++++++++++ ...t-read-password-Remove-use-of-SRCDIR.patch | 55 ++ ...-tests-Stop-setting-SRCDIR-for-tests.patch | 28 ++ ...-add-L.-plugins-ocaml-.libs-to-find-.patch | 44 ++ nbdkit.spec | 20 +- 16 files changed, 1904 insertions(+), 1 deletion(-) create mode 100644 0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch create mode 100644 0002-tar-Document-the-optional-tar-option-in-help-output-.patch create mode 100644 0003-tar-Implement-tar-limit.patch create mode 100644 0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch create mode 100644 0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch create mode 100644 0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch create mode 100644 0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch create mode 100644 0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch create mode 100644 0009-ocaml-Always-unregister-the-global-root-and-free-the.patch create mode 100644 0010-ocaml-Fix-thread-registration-for-OCaml-5.patch create mode 100644 0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch create mode 100644 0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch create mode 100644 0013-tests-test-read-password-Remove-use-of-SRCDIR.patch create mode 100644 0014-tests-Stop-setting-SRCDIR-for-tests.patch create mode 100644 0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch diff --git a/0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch b/0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch new file mode 100644 index 0000000..3047bcf --- /dev/null +++ b/0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch @@ -0,0 +1,41 @@ +From d2e335b2d05e68c1fc7ed9b507fd5cafc172a112 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 13 Jun 2023 20:11:34 +0100 +Subject: [PATCH 01/15] tests/test-tar-info*: Remove bogus test requires of + guestfish + +These tests don't need guestfish so don't test for it. + +Fixes: commit 05b49f89dccb0ca3fd0919e9502c54dbcadf0b73 +--- + tests/test-tar-info-xz.sh | 1 - + tests/test-tar-info.sh | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/tests/test-tar-info-xz.sh b/tests/test-tar-info-xz.sh +index 1f968e9b8..abd854974 100755 +--- a/tests/test-tar-info-xz.sh ++++ b/tests/test-tar-info-xz.sh +@@ -37,7 +37,6 @@ set -e + set -x + + requires test -f disk +-requires guestfish --version + requires tar --version + requires qemu-img --version + requires qemu-img info --output=json /dev/null +diff --git a/tests/test-tar-info.sh b/tests/test-tar-info.sh +index 572768b85..5c015d88e 100755 +--- a/tests/test-tar-info.sh ++++ b/tests/test-tar-info.sh +@@ -37,7 +37,6 @@ set -e + set -x + + requires test -f disk +-requires guestfish --version + requires tar --version + requires qemu-img --version + requires qemu-img info --output=json /dev/null +-- +2.41.0 + diff --git a/0002-tar-Document-the-optional-tar-option-in-help-output-.patch b/0002-tar-Document-the-optional-tar-option-in-help-output-.patch new file mode 100644 index 0000000..84be7bc --- /dev/null +++ b/0002-tar-Document-the-optional-tar-option-in-help-output-.patch @@ -0,0 +1,43 @@ +From eb44ca26a84c369a7908f19517c0a2f8f621d57f Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 13 Jun 2023 20:25:40 +0100 +Subject: [PATCH 02/15] tar: Document the optional tar option in --help output + and synopsis + +Fixes: commit 05b49f89dccb0ca3fd0919e9502c54dbcadf0b73 +--- + filters/tar/nbdkit-tar-filter.pod | 1 + + filters/tar/tar.c | 5 +++-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/filters/tar/nbdkit-tar-filter.pod b/filters/tar/nbdkit-tar-filter.pod +index 96aba16d9..eb0cfd4ab 100644 +--- a/filters/tar/nbdkit-tar-filter.pod ++++ b/filters/tar/nbdkit-tar-filter.pod +@@ -5,6 +5,7 @@ nbdkit-tar-filter - read and write files inside tar files without unpacking + =head1 SYNOPSIS + + nbdkit file FILENAME.tar --filter=tar tar-entry=PATH_INSIDE_TAR ++ [tar=TAR_COMMAND] + + =head1 EXAMPLES + +diff --git a/filters/tar/tar.c b/filters/tar/tar.c +index c650a3499..f3adb2c46 100644 +--- a/filters/tar/tar.c ++++ b/filters/tar/tar.c +@@ -96,8 +96,9 @@ tar_config_complete (nbdkit_next_config_complete *next, + return next (nxdata); + } + +-#define tar_config_help \ +- "tar-entry= (required) The path inside the tar file to serve." ++#define tar_config_help \ ++ "tar-entry= (required) The path inside the tar file to serve.\n" \ ++ "tar= Path of the tar binary." + + static int + tar_thread_model (void) +-- +2.41.0 + diff --git a/0003-tar-Implement-tar-limit.patch b/0003-tar-Implement-tar-limit.patch new file mode 100644 index 0000000..cd54c95 --- /dev/null +++ b/0003-tar-Implement-tar-limit.patch @@ -0,0 +1,193 @@ +From ae3fb4def811f5bc42563128e8fae0a4288584d1 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 13 Jun 2023 20:01:05 +0100 +Subject: [PATCH 03/15] tar: Implement tar-limit + +This can be used to ensure that the tar filter does not read +indefinite amounts of input when opening the tar file. + +See: https://github.com/kubevirt/containerized-data-importer/pull/2748#issuecomment-1589852102 +--- + filters/tar/nbdkit-tar-filter.pod | 24 +++++++++++- + tests/Makefile.am | 2 + + filters/tar/tar.c | 10 +++++ + tests/test-tar-limit.sh | 65 +++++++++++++++++++++++++++++++ + 4 files changed, 99 insertions(+), 2 deletions(-) + create mode 100755 tests/test-tar-limit.sh + +diff --git a/filters/tar/nbdkit-tar-filter.pod b/filters/tar/nbdkit-tar-filter.pod +index eb0cfd4ab..a3c2d1328 100644 +--- a/filters/tar/nbdkit-tar-filter.pod ++++ b/filters/tar/nbdkit-tar-filter.pod +@@ -4,8 +4,9 @@ nbdkit-tar-filter - read and write files inside tar files without unpacking + + =head1 SYNOPSIS + +- nbdkit file FILENAME.tar --filter=tar tar-entry=PATH_INSIDE_TAR +- [tar=TAR_COMMAND] ++ nbdkit file FILENAME.tar ++ --filter=tar tar-entry=PATH_INSIDE_TAR ++ [tar=TAR_COMMAND] [tar-limit=SIZE] + + =head1 EXAMPLES + +@@ -83,6 +84,25 @@ The path of the file inside the tarball to serve. This parameter is + required. It must exactly match the name stored in the tarball, so + use S> + ++=item [B]SIZE ++ ++When opening the tar file we have to locate the file (C) ++inside the tarball. Because tar files do not have a central index we ++must iterate over the tar file to find the entry, and that may be ++costly (especially with untrusted tar files). In the worst case where ++C starts near the end of the file we may have to iterate ++over the whole tar file. If this is a problem you may set ++C to some smaller value, eg: ++ ++ nbdkit -r curl https://example.com/file.tar \ ++ --filter=tar tar-entry=disk.img \ ++ tar-limit=10M ++ ++which ensures no more than 10 megabytes are read before we give up and ++reject the tar file (sending an error back to the NBD client). ++ ++The default is 0 meaning no limit. ++ + =item B + + =item B/PATH/TO/GTAR +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 6694e409e..f2912aa93 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -1957,11 +1957,13 @@ TESTS += \ + test-tar.sh \ + test-tar-info.sh \ + test-tar-info-xz.sh \ ++ test-tar-limit.sh \ + $(NULL) + EXTRA_DIST += \ + test-tar.sh \ + test-tar-info.sh \ + test-tar-info-xz.sh \ ++ test-tar-limit.sh \ + $(NULL) + + # truncate filter tests. +diff --git a/filters/tar/tar.c b/filters/tar/tar.c +index f3adb2c46..efe47684d 100644 +--- a/filters/tar/tar.c ++++ b/filters/tar/tar.c +@@ -53,6 +53,7 @@ + #include "utils.h" + + static const char *entry; /* File within tar (tar-entry=...) */ ++static int64_t tar_limit = 0; + static const char *tar_program = "tar"; + + /* Offset and size within tarball. +@@ -76,6 +77,12 @@ tar_config (nbdkit_next_config *next, nbdkit_backend *nxdata, + entry = value; + return 0; + } ++ else if (strcmp (key, "tar-limit") == 0) { ++ tar_limit = nbdkit_parse_size (value); ++ if (tar_limit == -1) ++ return -1; ++ return 0; ++ } + else if (strcmp (key, "tar") == 0) { + tar_program = value; + return 0; +@@ -98,6 +105,7 @@ tar_config_complete (nbdkit_next_config_complete *next, + + #define tar_config_help \ + "tar-entry= (required) The path inside the tar file to serve.\n" \ ++ "tar-limit=SIZE Limit on reading to find entry.\n" \ + "tar= Path of the tar binary." + + static int +@@ -197,6 +205,8 @@ calculate_offset_of_entry (nbdkit_next *next) + copysize = next->get_size (next); + if (copysize == -1) + return -1; ++ if (tar_limit > 0 && copysize > tar_limit) ++ copysize = tar_limit; + + /* Run the tar command. */ + nbdkit_debug ("%s", cmd); +diff --git a/tests/test-tar-limit.sh b/tests/test-tar-limit.sh +new file mode 100755 +index 000000000..168f2c497 +--- /dev/null ++++ b/tests/test-tar-limit.sh +@@ -0,0 +1,65 @@ ++#!/usr/bin/env bash ++# nbdkit ++# Copyright Red Hat ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions are ++# met: ++# ++# * Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# ++# * Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# ++# * Neither the name of Red Hat nor the names of its contributors may be ++# used to endorse or promote products derived from this software without ++# specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ++# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR ++# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ++# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ++# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ++# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ++# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++# SUCH DAMAGE. ++ ++# Test the tar filter and tar-limit filter. ++ ++source ./functions.sh ++set -e ++set -x ++ ++requires test -f disk ++requires tar --version ++requires test -f disk ++requires_nbdinfo ++ ++tar_bad=tar-limit-bad.tar ++tar_good=tar-limit-good.tar ++tar_filler=tar-limit-filler.img ++files="$tar_bad $tar_good $tar_filler" ++rm -f $files ++cleanup_fn rm -f $files ++ ++# Create two tar files, one where the disk is located before an ++# arbitrary boundary and one after. ++truncate -s 1M $tar_filler ++tar cf $tar_good disk ++tar cf $tar_bad $tar_filler disk ++ ++# Check we can read the good disk and reject the bad disk. ++cmd="nbdkit -U - file --filter=tar tar-entry=disk tar-limit=131072" ++ ++$cmd $tar_good --run 'nbdinfo "$uri"' ++ ++if $cmd $tar_bad --run 'nbdinfo "$uri"' ; then ++ echo "ERROR: $0: expected $tar_bad to fail" ++ exit 1 ++fi +-- +2.41.0 + diff --git a/0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch b/0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch new file mode 100644 index 0000000..ed32847 --- /dev/null +++ b/0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch @@ -0,0 +1,40 @@ +From 35db543e38293808e910b291ff26b17284640ec9 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 19 Jun 2023 13:53:09 +0100 +Subject: [PATCH 04/15] xz: Fix error message to refer to xz-max-block + parameter + +In the original xz plugin the parameter was called "maxblock", but +when we converted the plugin to a filter (commit c879d31047 "Rewrite +xz plugin as a filter.") we changed the parameter name to +"xz-max-block" but retained the old name in the error message. + +Fixes: commit c879d31047ae149cedabd5abbdb0a95e610f01c5 +--- + filters/xz/xz.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/filters/xz/xz.c b/filters/xz/xz.c +index 0c92cfff4..21e8993b5 100644 +--- a/filters/xz/xz.c ++++ b/filters/xz/xz.c +@@ -143,12 +143,12 @@ xz_prepare (nbdkit_next *next, void *handle, + return -1; + + if (maxblock < xzfile_max_uncompressed_block_size (h->xz)) { +- nbdkit_error ("xz file largest block is bigger than maxblock\n" ++ nbdkit_error ("xz file largest block is bigger than xz-max-block\n" + "Either recompress the xz file with smaller blocks " + "(see nbdkit-xz-filter(1))\n" +- "or make maxblock parameter bigger.\n" +- "maxblock = %" PRIu64 " (bytes)\n" +- "largest block in xz file = %" PRIu64 " (bytes)", ++ "or make xz-max-block parameter bigger.\n" ++ "Current xz-max-block = %" PRIu64 " (bytes)\n" ++ "Largest block in xz file = %" PRIu64 " (bytes)", + maxblock, + xzfile_max_uncompressed_block_size (h->xz)); + return -1; +-- +2.41.0 + diff --git a/0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch b/0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch new file mode 100644 index 0000000..6d419b0 --- /dev/null +++ b/0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch @@ -0,0 +1,27 @@ +From 4398b1871f8832109fcdbe25c70a1dd341ed5bd4 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 21 Jun 2023 13:05:22 +0100 +Subject: [PATCH 05/15] configure: Recommend using -g with OCAMLOPTFLAGS + +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c1d83a568..39b58b44e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -935,8 +935,8 @@ AC_SUBST([PYTHON_LDFLAGS]) + + dnl For the OCaml plugin, you can set OCAMLOPTFLAGS before running + dnl ./configure to specify any extra flags you want to pass to +-dnl ocamlopt. For example to enable OCaml warnings: +-dnl OCAMLOPTFLAGS="-warn-error +A-3" ++dnl ocamlopt. For example to enable debug symbols & warnings: ++dnl OCAMLOPTFLAGS="-g -warn-error +A-3" + AC_SUBST([OCAMLOPTFLAGS]) + + dnl Check for OCaml, for embedding in the ocaml plugin. +-- +2.41.0 + diff --git a/0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch b/0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch new file mode 100644 index 0000000..25fbbdb --- /dev/null +++ b/0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch @@ -0,0 +1,32 @@ +From b53b78e542fe8e49ce5c670e8ddc9d2be66f73cc Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 21 Jun 2023 18:47:40 +0100 +Subject: [PATCH 06/15] tests/test_ocaml_plugin.ml: Print a message when test + plugin initializes + +It's useful to have a message which is printed as the top level +statements in the plugin module are being initialized, for debugging +purposes. +--- + tests/test_ocaml_plugin.ml | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/tests/test_ocaml_plugin.ml b/tests/test_ocaml_plugin.ml +index 561a8690f..f8eed4f7f 100644 +--- a/tests/test_ocaml_plugin.ml ++++ b/tests/test_ocaml_plugin.ml +@@ -30,6 +30,11 @@ + * SUCH DAMAGE. + *) + ++(* Print something during module initialization, useful for debugging ++ * obscure OCaml startup issues. ++ *) ++let () = Printf.eprintf "test_ocaml_plugin.ml: module initializing\n%!" ++ + let sector_size = 512 + let nr_sectors = 2048 + +-- +2.41.0 + diff --git a/0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch b/0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch new file mode 100644 index 0000000..cb40bc2 --- /dev/null +++ b/0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch @@ -0,0 +1,124 @@ +From b778c56443e11817d4974dcab5356e2d4065980b Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 21 Jun 2023 18:56:58 +0100 +Subject: [PATCH 07/15] ocaml: Add -I +unix before using unix.cmxa + +In OCaml 5.0 you will see this warning: + + Alert ocaml_deprecated_auto_include: + OCaml's lib directory layout changed in 5.0. The unix subdirectory has been + automatically added to the search path, but you should add -I +unix to the + command-line to silence this alert (e.g. by adding unix to the list of + libraries in your dune file, or adding use_unix to your _tags file for + ocamlbuild, or using -package unix for ocamlfind). + +Using -I +unix doesn't hurt earlier versions, as the directory is just +ignored if it doesn't exist, and anyway findlib adds the directory if +you're using that. +--- + plugins/cc/nbdkit-cc-plugin.pod | 4 ++-- + plugins/ocaml/nbdkit-ocaml-plugin.pod | 2 +- + plugins/ocaml/Makefile.am | 2 +- + tests/Makefile.am | 4 ++-- + tests/test-cc-ocaml.sh | 2 +- + tests/cc_shebang.ml | 2 +- + 6 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/plugins/cc/nbdkit-cc-plugin.pod b/plugins/cc/nbdkit-cc-plugin.pod +index 412233797..f55f74ab0 100644 +--- a/plugins/cc/nbdkit-cc-plugin.pod ++++ b/plugins/cc/nbdkit-cc-plugin.pod +@@ -89,7 +89,7 @@ C as a parameter to exec nbdkit. + =head2 Using this plugin with OCaml + + nbdkit cc CC=ocamlopt \ +- CFLAGS="-output-obj -runtime-variant _pic unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ ++ CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ + source.ml + + OCaml plugin scripts can be created using this trick: +@@ -97,7 +97,7 @@ OCaml plugin scripts can be created using this trick: + (*/.)>/dev/null 2>&1 + exec nbdkit cc "$0" \ + CC=ocamlopt \ +- CFLAGS="-output-obj -runtime-variant _pic unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ ++ CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ + "$@" + *) + (* followed by OCaml code for the plugin here *) +diff --git a/plugins/ocaml/nbdkit-ocaml-plugin.pod b/plugins/ocaml/nbdkit-ocaml-plugin.pod +index dc8260174..e4a8cf0b0 100644 +--- a/plugins/ocaml/nbdkit-ocaml-plugin.pod ++++ b/plugins/ocaml/nbdkit-ocaml-plugin.pod +@@ -53,7 +53,7 @@ using this command: + + ocamlopt.opt -output-obj -runtime-variant _pic \ + -o nbdkit-myplugin-plugin.so \ +- unix.cmxa NBDKit.cmx myplugin.ml \ ++ -I +unix unix.cmxa NBDKit.cmx myplugin.ml \ + -cclib -lnbdkitocaml + + You can then use C as an nbdkit plugin (see +diff --git a/plugins/ocaml/Makefile.am b/plugins/ocaml/Makefile.am +index da1b1ec96..e7faae506 100644 +--- a/plugins/ocaml/Makefile.am ++++ b/plugins/ocaml/Makefile.am +@@ -84,7 +84,7 @@ noinst_SCRIPTS = nbdkit-ocamlexample-plugin.so + nbdkit-ocamlexample-plugin.so: example.cmx libnbdkitocaml.la NBDKit.cmi NBDKit.cmx + $(OCAMLOPT) $(OCAMLOPTFLAGS) \ + -output-obj -runtime-variant _pic -o $@ \ +- unix.cmxa NBDKit.cmx $< \ ++ -I +unix unix.cmxa NBDKit.cmx $< \ + -cclib -L.libs -cclib -lnbdkitocaml + example.cmx: example.ml NBDKit.cmi NBDKit.cmx + $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $< -o $@ +diff --git a/tests/Makefile.am b/tests/Makefile.am +index f2912aa93..d8a640e1e 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -1185,7 +1185,7 @@ OCAML_PLUGIN_DEPS = \ + test-ocaml-plugin.so: test_ocaml_plugin.cmx $(OCAML_PLUGIN_DEPS) + $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml \ + -output-obj -runtime-variant _pic -o $@ \ +- unix.cmxa NBDKit.cmx $< \ ++ -I +unix unix.cmxa NBDKit.cmx $< \ + -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml + test_ocaml_plugin.cmx: test_ocaml_plugin.ml $(OCAML_PLUGIN_DEPS) + $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml -c $< -o $@ +@@ -1194,7 +1194,7 @@ test-ocaml-errorcodes-plugin.so: \ + test_ocaml_errorcodes_plugin.cmx $(OCAML_PLUGIN_DEPS) + $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml \ + -output-obj -runtime-variant _pic -o $@ \ +- unix.cmxa NBDKit.cmx $< \ ++ -I +unix unix.cmxa NBDKit.cmx $< \ + -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml + test_ocaml_errorcodes_plugin.cmx: \ + test_ocaml_errorcodes_plugin.ml $(OCAML_PLUGIN_DEPS) +diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh +index 659fa195e..3b4f6a553 100755 +--- a/tests/test-cc-ocaml.sh ++++ b/tests/test-cc-ocaml.sh +@@ -61,6 +61,6 @@ cleanup_fn rm -f $out + rm -f $out + + nbdkit -U - cc $script a=1 b=2 c=3 d=4 \ +- CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ ++ CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ + --run 'nbdinfo --size $uri' > $out + test "$(cat $out)" -eq $((512 * 2048)) +diff --git a/tests/cc_shebang.ml b/tests/cc_shebang.ml +index d78d76618..619b08bb5 100755 +--- a/tests/cc_shebang.ml ++++ b/tests/cc_shebang.ml +@@ -4,7 +4,7 @@ + # shell as an impossible command which is ignored. The line below is + # run by the shell and ignored by OCaml. + +-exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" "$@" ++exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" "$@" + *) + + open Printf +-- +2.41.0 + diff --git a/0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch b/0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch new file mode 100644 index 0000000..f7ba249 --- /dev/null +++ b/0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch @@ -0,0 +1,468 @@ +From f8b761c62f177176dfe154a95824576eef740827 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 21 Jun 2023 19:07:00 +0100 +Subject: [PATCH 08/15] ocaml: Replace caml_leave_blocking_section with + caml_acquire_runtime_system + +Replace: + + caml_leave_blocking_section + ... + caml_enter_blocking_section + +with the more sensibly named (and equivalent): + + caml_acquire_runtime_system + ... + caml_release_runtime_system + +In addition we must release the runtime system just after caml_startup +and only acquire it around callbacks into OCaml code. (The reason for +this is only apparent in a later commit.) + +OCaml 5 is more strict than earlier versions of OCaml and actually +implements the locks using pthread_mutex_t. So in OCaml 5 you will +see a deadlock error: + + Fatal error: Fatal error during lock: Resource deadlock avoided + +which was caused by attempting to double lock (ie. trying to acquire +the lock, when we already held it from caml_startup). + +Also because of additional strictness we must acquire the lock even +before creating the stack frame with CAMLparam* functions. +--- + plugins/ocaml/plugin.h | 16 ++++----- + plugins/ocaml/plugin.c | 75 +++++++++++++++++++++++------------------- + 2 files changed, 49 insertions(+), 42 deletions(-) + +diff --git a/plugins/ocaml/plugin.h b/plugins/ocaml/plugin.h +index 572c43c04..3d6d27db1 100644 +--- a/plugins/ocaml/plugin.h ++++ b/plugins/ocaml/plugin.h +@@ -47,18 +47,18 @@ caml_alloc_initialized_string (mlsize_t len, const char *p) + #endif + + /* For functions which call into OCaml code, call +- * caml_leave_blocking_section() to prevent other threads running, +- * then caml_enter_blocking_section() on return to C code. This macro +- * ensures that the calls are paired properly. ++ * caml_acquire_runtime_system ... caml_release_runtime_system around ++ * the code. This prevents other threads in the same domain running. ++ * The macro ensures that the calls are paired properly. + */ +-#define LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE() \ +- __attribute__ ((unused, cleanup (cleanup_enter_blocking_section))) \ ++#define ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE() \ ++ __attribute__ ((unused, cleanup (cleanup_release_runtime_system))) \ + int _unused; \ +- caml_leave_blocking_section () ++ caml_acquire_runtime_system () + static inline void +-cleanup_enter_blocking_section (int *unused) ++cleanup_release_runtime_system (int *unused) + { +- caml_enter_blocking_section (); ++ caml_release_runtime_system (); + } + + #endif /* NBDKIT_OCAML_PLUGIN_H */ +diff --git a/plugins/ocaml/plugin.c b/plugins/ocaml/plugin.c +index 722b95e49..fe781f9af 100644 +--- a/plugins/ocaml/plugin.c ++++ b/plugins/ocaml/plugin.c +@@ -64,6 +64,12 @@ constructor (void) + + /* Initialize OCaml runtime. */ + caml_startup (argv); ++ ++ /* We need to release the runtime system here so other threads may ++ * use it. Before we call any OCaml callbacks we must acquire the ++ * runtime system again. ++ */ ++ caml_release_runtime_system (); + } + + /* Instead of using the NBDKIT_REGISTER_PLUGIN macro, we construct the +@@ -113,7 +119,7 @@ plugin_init (void) + static void + load_wrapper (void) + { +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + caml_callback (load_fn, Val_unit); + } + +@@ -123,8 +129,9 @@ load_wrapper (void) + static void + unload_wrapper (void) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); ++ + if (unload_fn) { +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + caml_callback (unload_fn, Val_unit); + } + +@@ -139,9 +146,9 @@ unload_wrapper (void) + static void + dump_plugin_wrapper (void) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (dump_plugin_fn, Val_unit); + if (Is_exception_result (rv)) +@@ -152,9 +159,9 @@ dump_plugin_wrapper (void) + static int + config_wrapper (const char *key, const char *val) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal3 (keyv, valv, rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + keyv = caml_copy_string (key); + valv = caml_copy_string (val); +@@ -171,9 +178,9 @@ config_wrapper (const char *key, const char *val) + static int + config_complete_wrapper (void) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (config_complete_fn, Val_unit); + if (Is_exception_result (rv)) { +@@ -187,9 +194,9 @@ config_complete_wrapper (void) + static int + thread_model_wrapper (void) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (thread_model_fn, Val_unit); + if (Is_exception_result (rv)) { +@@ -203,9 +210,9 @@ thread_model_wrapper (void) + static int + get_ready_wrapper (void) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (get_ready_fn, Val_unit); + if (Is_exception_result (rv)) { +@@ -219,9 +226,9 @@ get_ready_wrapper (void) + static int + after_fork_wrapper (void) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (after_fork_fn, Val_unit); + if (Is_exception_result (rv)) { +@@ -235,9 +242,9 @@ after_fork_wrapper (void) + static void + cleanup_wrapper (void) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (cleanup_fn, Val_unit); + if (Is_exception_result (rv)) { +@@ -251,9 +258,9 @@ cleanup_wrapper (void) + static int + preconnect_wrapper (int readonly) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (preconnect_fn, Val_bool (readonly)); + if (Is_exception_result (rv)) { +@@ -267,9 +274,9 @@ preconnect_wrapper (int readonly) + static int + list_exports_wrapper (int readonly, int is_tls, struct nbdkit_exports *exports) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal2 (rv, v); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback2_exn (list_exports_fn, Val_bool (readonly), + Val_bool (is_tls)); +@@ -299,10 +306,10 @@ list_exports_wrapper (int readonly, int is_tls, struct nbdkit_exports *exports) + static const char * + default_export_wrapper (int readonly, int is_tls) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); + const char *name; +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback2_exn (default_export_fn, Val_bool (readonly), + Val_bool (is_tls)); +@@ -318,10 +325,10 @@ default_export_wrapper (int readonly, int is_tls) + static void * + open_wrapper (int readonly) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); + value *ret; +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (open_fn, Val_bool (readonly)); + if (Is_exception_result (rv)) { +@@ -341,9 +348,9 @@ open_wrapper (int readonly) + static void + close_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (close_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -360,10 +367,10 @@ close_wrapper (void *h) + static const char * + export_description_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); + const char *desc; +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (export_description_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -378,10 +385,10 @@ export_description_wrapper (void *h) + static int64_t + get_size_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); + int64_t r; +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (get_size_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -397,11 +404,11 @@ static int + block_size_wrapper (void *h, + uint32_t *minimum, uint32_t *preferred, uint32_t *maximum) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); + int i; + int64_t i64; +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (block_size_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -439,9 +446,9 @@ block_size_wrapper (void *h, + static int + can_write_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (can_write_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -455,9 +462,9 @@ can_write_wrapper (void *h) + static int + can_flush_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (can_flush_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -471,9 +478,9 @@ can_flush_wrapper (void *h) + static int + is_rotational_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (is_rotational_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -487,9 +494,9 @@ is_rotational_wrapper (void *h) + static int + can_trim_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (can_trim_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -503,9 +510,9 @@ can_trim_wrapper (void *h) + static int + can_zero_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (can_zero_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -519,9 +526,9 @@ can_zero_wrapper (void *h) + static int + can_fua_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (can_fua_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -535,9 +542,9 @@ can_fua_wrapper (void *h) + static int + can_fast_zero_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (can_fast_zero_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -551,9 +558,9 @@ can_fast_zero_wrapper (void *h) + static int + can_cache_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (can_cache_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -567,9 +574,9 @@ can_cache_wrapper (void *h) + static int + can_extents_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (can_extents_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -583,9 +590,9 @@ can_extents_wrapper (void *h) + static int + can_multi_conn_wrapper (void *h) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + rv = caml_callback_exn (can_multi_conn_fn, *(value *) h); + if (Is_exception_result (rv)) { +@@ -629,10 +636,10 @@ static int + pread_wrapper (void *h, void *buf, uint32_t count, uint64_t offset, + uint32_t flags) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal4 (rv, countv, offsetv, flagsv); + mlsize_t len; +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + countv = Val_int (count); + offsetv = caml_copy_int64 (offset); +@@ -659,9 +666,9 @@ static int + pwrite_wrapper (void *h, const void *buf, uint32_t count, uint64_t offset, + uint32_t flags) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal4 (rv, strv, offsetv, flagsv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + strv = caml_alloc_initialized_string (count, buf); + offsetv = caml_copy_int64 (offset); +@@ -680,9 +687,9 @@ pwrite_wrapper (void *h, const void *buf, uint32_t count, uint64_t offset, + static int + flush_wrapper (void *h, uint32_t flags) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal2 (rv, flagsv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + flagsv = Val_flags (flags); + +@@ -698,9 +705,9 @@ flush_wrapper (void *h, uint32_t flags) + static int + trim_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal4 (rv, countv, offsetv, flagsv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + countv = caml_copy_int64 (count); + offsetv = caml_copy_int64 (offset); +@@ -719,9 +726,9 @@ trim_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) + static int + zero_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal4 (rv, countv, offsetv, flagsv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + countv = caml_copy_int64 (count); + offsetv = caml_copy_int64 (offset); +@@ -741,9 +748,9 @@ static int + extents_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags, + struct nbdkit_extents *extents) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal5 (rv, countv, offsetv, flagsv, v); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + countv = caml_copy_int64 (count); + offsetv = caml_copy_int64 (offset); +@@ -781,9 +788,9 @@ extents_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags, + static int + cache_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) + { ++ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal4 (rv, countv, offsetv, flagsv); +- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); + + countv = caml_copy_int64 (count); + offsetv = caml_copy_int64 (offset); +-- +2.41.0 + diff --git a/0009-ocaml-Always-unregister-the-global-root-and-free-the.patch b/0009-ocaml-Always-unregister-the-global-root-and-free-the.patch new file mode 100644 index 0000000..2380388 --- /dev/null +++ b/0009-ocaml-Always-unregister-the-global-root-and-free-the.patch @@ -0,0 +1,65 @@ +From f4d5f179c9be6db3c39bc0752e36f262c3f87716 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 21 Jun 2023 20:15:46 +0100 +Subject: [PATCH 09/15] ocaml: Always unregister the global root and free the + handle + +If the OCaml code did not provide a close method, we would never call +close_wrapper, and then we ended up leaking the global root and handle. +--- + plugins/ocaml/plugin.c | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/plugins/ocaml/plugin.c b/plugins/ocaml/plugin.c +index fe781f9af..a4671d6ed 100644 +--- a/plugins/ocaml/plugin.c ++++ b/plugins/ocaml/plugin.c +@@ -76,6 +76,7 @@ constructor (void) + * nbdkit_plugin struct and return it from our own plugin_init + * function. + */ ++static void close_wrapper (void *h); + static void unload_wrapper (void); + static void free_strings (void); + static void remove_roots (void); +@@ -92,6 +93,10 @@ static struct nbdkit_plugin plugin = { + */ + .name = NULL, + ++ /* We always call these, even if the OCaml code does not provide a ++ * callback. ++ */ ++ .close = close_wrapper, + .unload = unload_wrapper, + }; + +@@ -345,6 +350,9 @@ open_wrapper (int readonly) + CAMLreturnT (void *, ret); + } + ++/* We always have a close function, since we need to unregister the ++ * global root and free the handle. ++ */ + static void + close_wrapper (void *h) + { +@@ -352,10 +360,12 @@ close_wrapper (void *h) + CAMLparam0 (); + CAMLlocal1 (rv); + +- rv = caml_callback_exn (close_fn, *(value *) h); +- if (Is_exception_result (rv)) { +- nbdkit_error ("%s", caml_format_exception (Extract_exception (rv))); +- /*FALLTHROUGH*/ ++ if (close_fn) { ++ rv = caml_callback_exn (close_fn, *(value *) h); ++ if (Is_exception_result (rv)) { ++ nbdkit_error ("%s", caml_format_exception (Extract_exception (rv))); ++ /*FALLTHROUGH*/ ++ } + } + + caml_remove_generational_global_root (h); +-- +2.41.0 + diff --git a/0010-ocaml-Fix-thread-registration-for-OCaml-5.patch b/0010-ocaml-Fix-thread-registration-for-OCaml-5.patch new file mode 100644 index 0000000..05982d0 --- /dev/null +++ b/0010-ocaml-Fix-thread-registration-for-OCaml-5.patch @@ -0,0 +1,375 @@ +From 9d4b87e0338d45456c0506fd2c25b80f7ef6b1e1 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 21 Jun 2023 20:18:58 +0100 +Subject: [PATCH 10/15] ocaml: Fix thread registration for OCaml 5 + +OCaml 5 is strict about registering threads before calling OCaml heap +functions, and will abort the program with this error if you don't do +this correctly: + + Fatal error: no domain lock held + +Fix this as explained in the comment. + +Note (as it's not explained well in the documentation): Threads +created from C are placed in OCaml thread domain 0. In order to add +them to this domain, the main program must not hold on to the runtime +system lock (for domain 0, because that's what caml_startup gives +you). For this to work we must only hold this lock in the main +program briefly around calls to OCaml code, which means we must +release the runtime system after calling caml_startup as we did in an +earlier commit. +--- + plugins/cc/nbdkit-cc-plugin.pod | 4 +-- + plugins/ocaml/nbdkit-ocaml-plugin.pod | 3 +- + plugins/ocaml/Makefile.am | 2 +- + tests/Makefile.am | 4 +-- + plugins/ocaml/plugin.c | 52 +++++++++++++++++++++++++-- + tests/test-cc-ocaml.sh | 2 +- + tests/cc_shebang.ml | 2 +- + 7 files changed, 59 insertions(+), 10 deletions(-) + +diff --git a/plugins/cc/nbdkit-cc-plugin.pod b/plugins/cc/nbdkit-cc-plugin.pod +index f55f74ab0..e393457c4 100644 +--- a/plugins/cc/nbdkit-cc-plugin.pod ++++ b/plugins/cc/nbdkit-cc-plugin.pod +@@ -89,7 +89,7 @@ C as a parameter to exec nbdkit. + =head2 Using this plugin with OCaml + + nbdkit cc CC=ocamlopt \ +- CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ ++ CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ + source.ml + + OCaml plugin scripts can be created using this trick: +@@ -97,7 +97,7 @@ OCaml plugin scripts can be created using this trick: + (*/.)>/dev/null 2>&1 + exec nbdkit cc "$0" \ + CC=ocamlopt \ +- CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ ++ CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ + "$@" + *) + (* followed by OCaml code for the plugin here *) +diff --git a/plugins/ocaml/nbdkit-ocaml-plugin.pod b/plugins/ocaml/nbdkit-ocaml-plugin.pod +index e4a8cf0b0..f1e06d3e2 100644 +--- a/plugins/ocaml/nbdkit-ocaml-plugin.pod ++++ b/plugins/ocaml/nbdkit-ocaml-plugin.pod +@@ -53,7 +53,8 @@ using this command: + + ocamlopt.opt -output-obj -runtime-variant _pic \ + -o nbdkit-myplugin-plugin.so \ +- -I +unix unix.cmxa NBDKit.cmx myplugin.ml \ ++ -I +unix unix.cmxa -I +threads threads.cmxa \ ++ NBDKit.cmx myplugin.ml \ + -cclib -lnbdkitocaml + + You can then use C as an nbdkit plugin (see +diff --git a/plugins/ocaml/Makefile.am b/plugins/ocaml/Makefile.am +index e7faae506..a61550cb9 100644 +--- a/plugins/ocaml/Makefile.am ++++ b/plugins/ocaml/Makefile.am +@@ -84,7 +84,7 @@ noinst_SCRIPTS = nbdkit-ocamlexample-plugin.so + nbdkit-ocamlexample-plugin.so: example.cmx libnbdkitocaml.la NBDKit.cmi NBDKit.cmx + $(OCAMLOPT) $(OCAMLOPTFLAGS) \ + -output-obj -runtime-variant _pic -o $@ \ +- -I +unix unix.cmxa NBDKit.cmx $< \ ++ -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx $< \ + -cclib -L.libs -cclib -lnbdkitocaml + example.cmx: example.ml NBDKit.cmi NBDKit.cmx + $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $< -o $@ +diff --git a/tests/Makefile.am b/tests/Makefile.am +index d8a640e1e..32ebb7002 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -1185,7 +1185,7 @@ OCAML_PLUGIN_DEPS = \ + test-ocaml-plugin.so: test_ocaml_plugin.cmx $(OCAML_PLUGIN_DEPS) + $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml \ + -output-obj -runtime-variant _pic -o $@ \ +- -I +unix unix.cmxa NBDKit.cmx $< \ ++ -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx $< \ + -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml + test_ocaml_plugin.cmx: test_ocaml_plugin.ml $(OCAML_PLUGIN_DEPS) + $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml -c $< -o $@ +@@ -1194,7 +1194,7 @@ test-ocaml-errorcodes-plugin.so: \ + test_ocaml_errorcodes_plugin.cmx $(OCAML_PLUGIN_DEPS) + $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml \ + -output-obj -runtime-variant _pic -o $@ \ +- -I +unix unix.cmxa NBDKit.cmx $< \ ++ -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx $< \ + -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml + test_ocaml_errorcodes_plugin.cmx: \ + test_ocaml_errorcodes_plugin.ml $(OCAML_PLUGIN_DEPS) +diff --git a/plugins/ocaml/plugin.c b/plugins/ocaml/plugin.c +index a4671d6ed..eaa88a925 100644 +--- a/plugins/ocaml/plugin.c ++++ b/plugins/ocaml/plugin.c +@@ -260,9 +260,31 @@ cleanup_wrapper (void) + CAMLreturn0; + } + ++/* A note about nbdkit threads and OCaml: ++ * ++ * OCaml requires that all C threads are registered and unregistered. ++ * ++ * For the main thread callbacks like load, config, get_ready [above ++ * this comment] we don't need to do anything. ++ * ++ * For the connected callbacks [below this comment] nbdkit creates its ++ * own threads but does not provide a way to intercept thread creation ++ * or destruction. However we can register the current thread in ++ * every callback, and unregister the thread only call_wrapper. ++ * ++ * This is safe and cheap: Registering a thread is basically free if ++ * the thread is already registered (the OCaml code checks a ++ * thread-local variable to see if it needs to register). nbdkit will ++ * always call the .close method, which does not necessarily indicate ++ * that the thread is being destroyed, but if the thread is reused we ++ * will register the same thread again when .open or similar is called ++ * next time. ++ */ ++ + static int + preconnect_wrapper (int readonly) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -279,6 +301,7 @@ preconnect_wrapper (int readonly) + static int + list_exports_wrapper (int readonly, int is_tls, struct nbdkit_exports *exports) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal2 (rv, v); +@@ -311,6 +334,7 @@ list_exports_wrapper (int readonly, int is_tls, struct nbdkit_exports *exports) + static const char * + default_export_wrapper (int readonly, int is_tls) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -330,6 +354,7 @@ default_export_wrapper (int readonly, int is_tls) + static void * + open_wrapper (int readonly) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -351,12 +376,13 @@ open_wrapper (int readonly) + } + + /* We always have a close function, since we need to unregister the +- * global root and free the handle. ++ * global root, free the handle and unregister the thread. + */ + static void + close_wrapper (void *h) + { +- ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); ++ caml_c_thread_register (); ++ caml_acquire_runtime_system (); + CAMLparam0 (); + CAMLlocal1 (rv); + +@@ -370,6 +396,8 @@ close_wrapper (void *h) + + caml_remove_generational_global_root (h); + free (h); ++ caml_release_runtime_system (); ++ caml_c_thread_unregister (); + + CAMLreturn0; + } +@@ -377,6 +405,7 @@ close_wrapper (void *h) + static const char * + export_description_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -395,6 +424,7 @@ export_description_wrapper (void *h) + static int64_t + get_size_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -414,6 +444,7 @@ static int + block_size_wrapper (void *h, + uint32_t *minimum, uint32_t *preferred, uint32_t *maximum) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -456,6 +487,7 @@ block_size_wrapper (void *h, + static int + can_write_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -472,6 +504,7 @@ can_write_wrapper (void *h) + static int + can_flush_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -488,6 +521,7 @@ can_flush_wrapper (void *h) + static int + is_rotational_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -504,6 +538,7 @@ is_rotational_wrapper (void *h) + static int + can_trim_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -520,6 +555,7 @@ can_trim_wrapper (void *h) + static int + can_zero_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -536,6 +572,7 @@ can_zero_wrapper (void *h) + static int + can_fua_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -552,6 +589,7 @@ can_fua_wrapper (void *h) + static int + can_fast_zero_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -568,6 +606,7 @@ can_fast_zero_wrapper (void *h) + static int + can_cache_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -584,6 +623,7 @@ can_cache_wrapper (void *h) + static int + can_extents_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -600,6 +640,7 @@ can_extents_wrapper (void *h) + static int + can_multi_conn_wrapper (void *h) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal1 (rv); +@@ -646,6 +687,7 @@ static int + pread_wrapper (void *h, void *buf, uint32_t count, uint64_t offset, + uint32_t flags) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal4 (rv, countv, offsetv, flagsv); +@@ -676,6 +718,7 @@ static int + pwrite_wrapper (void *h, const void *buf, uint32_t count, uint64_t offset, + uint32_t flags) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal4 (rv, strv, offsetv, flagsv); +@@ -697,6 +740,7 @@ pwrite_wrapper (void *h, const void *buf, uint32_t count, uint64_t offset, + static int + flush_wrapper (void *h, uint32_t flags) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal2 (rv, flagsv); +@@ -715,6 +759,7 @@ flush_wrapper (void *h, uint32_t flags) + static int + trim_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal4 (rv, countv, offsetv, flagsv); +@@ -736,6 +781,7 @@ trim_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) + static int + zero_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal4 (rv, countv, offsetv, flagsv); +@@ -758,6 +804,7 @@ static int + extents_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags, + struct nbdkit_extents *extents) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal5 (rv, countv, offsetv, flagsv, v); +@@ -798,6 +845,7 @@ extents_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags, + static int + cache_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) + { ++ caml_c_thread_register (); + ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); + CAMLparam0 (); + CAMLlocal4 (rv, countv, offsetv, flagsv); +diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh +index 3b4f6a553..9458201a4 100755 +--- a/tests/test-cc-ocaml.sh ++++ b/tests/test-cc-ocaml.sh +@@ -61,6 +61,6 @@ cleanup_fn rm -f $out + rm -f $out + + nbdkit -U - cc $script a=1 b=2 c=3 d=4 \ +- CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ ++ CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ + --run 'nbdinfo --size $uri' > $out + test "$(cat $out)" -eq $((512 * 2048)) +diff --git a/tests/cc_shebang.ml b/tests/cc_shebang.ml +index 619b08bb5..05ca77b64 100755 +--- a/tests/cc_shebang.ml ++++ b/tests/cc_shebang.ml +@@ -4,7 +4,7 @@ + # shell as an impossible command which is ignored. The line below is + # run by the shell and ignored by OCaml. + +-exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" "$@" ++exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" "$@" + *) + + open Printf +-- +2.41.0 + diff --git a/0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch b/0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch new file mode 100644 index 0000000..fc8045c --- /dev/null +++ b/0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch @@ -0,0 +1,26 @@ +From c78266258709e2cbe6f0e869c866d09ad72c072c Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 22 Jun 2023 10:33:31 +0100 +Subject: [PATCH 11/15] tests/test-cc-ocaml.sh: Use nbdkit -v option to help + with debugging + +--- + tests/test-cc-ocaml.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh +index 9458201a4..fc1335591 100755 +--- a/tests/test-cc-ocaml.sh ++++ b/tests/test-cc-ocaml.sh +@@ -60,7 +60,7 @@ out=test-cc-ocaml.out + cleanup_fn rm -f $out + rm -f $out + +-nbdkit -U - cc $script a=1 b=2 c=3 d=4 \ ++nbdkit -v -U - cc $script a=1 b=2 c=3 d=4 \ + CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ + --run 'nbdinfo --size $uri' > $out + test "$(cat $out)" -eq $((512 * 2048)) +-- +2.41.0 + diff --git a/0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch b/0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch new file mode 100644 index 0000000..991b3a7 --- /dev/null +++ b/0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch @@ -0,0 +1,324 @@ +From d968c4858847388e515bc1ef84ff4479c18a414d Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 22 Jun 2023 10:44:10 +0100 +Subject: [PATCH 12/15] tests: Replace $SRCDIR with $abs_top_srcdir + +functions.sh defines $abs_top_srcdir so there's no need to use $SRCDIR +in any test scripts. +--- + tests/test-cc-cpp.sh | 9 ++------- + tests/test-cc-ocaml.sh | 9 ++------- + tests/test-cc.sh | 9 ++------- + tests/test-python-exception.sh | 12 +++++------- + tests/test-python-export-list.sh | 8 +++----- + tests/test-python-export-name.sh | 8 +++----- + tests/test-python-thread-model.sh | 13 +++++-------- + tests/test-read-password-interactive.sh | 2 +- + tests/test-read-password.sh | 2 +- + tests/test-shebang-cc-ocaml.sh | 3 +-- + tests/test-shebang-cc.sh | 5 ++--- + tests/test-shebang-perl.sh | 4 ++-- + tests/test-shebang-python.sh | 4 ++-- + 13 files changed, 31 insertions(+), 57 deletions(-) + +diff --git a/tests/test-cc-cpp.sh b/tests/test-cc-cpp.sh +index 9a4c16242..7c7bf6353 100755 +--- a/tests/test-cc-cpp.sh ++++ b/tests/test-cc-cpp.sh +@@ -37,12 +37,7 @@ source ./functions.sh + set -e + set -x + +-if test "$SRCDIR" = ""; then +- echo "$0: \$SRCDIR is not set" +- exit 1 +-fi +- +-script=$SRCDIR/test-cc-cpp.cpp ++script=$abs_top_srcdir/tests/test-cc-cpp.cpp + if test ! -f "$script"; then + echo "$0: could not locate test-cc-cpp.cpp" + exit 1 +@@ -59,6 +54,6 @@ rm -f $out + + nbdkit -U - cc $script \ + CC="$CXX" \ +- EXTRA_CFLAGS="-I$SRCDIR/../include" \ ++ EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ + --run 'nbdinfo --size $uri' > $out + test "$(cat $out)" -eq $((100 * 1024 * 1024)) +diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh +index fc1335591..db7d252cf 100755 +--- a/tests/test-cc-ocaml.sh ++++ b/tests/test-cc-ocaml.sh +@@ -37,12 +37,7 @@ source ./functions.sh + set -e + set -x + +-if test "$SRCDIR" = ""; then +- echo "$0: \$SRCDIR is not set" +- exit 1 +-fi +- +-script=$SRCDIR/test_ocaml_plugin.ml ++script=$abs_top_srcdir/tests/test_ocaml_plugin.ml + if test ! -f "$script"; then + echo "$0: could not locate test_ocaml_plugin.ml" + exit 1 +@@ -61,6 +56,6 @@ cleanup_fn rm -f $out + rm -f $out + + nbdkit -v -U - cc $script a=1 b=2 c=3 d=4 \ +- CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ ++ CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $abs_top_srcdir/plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ + --run 'nbdinfo --size $uri' > $out + test "$(cat $out)" -eq $((512 * 2048)) +diff --git a/tests/test-cc.sh b/tests/test-cc.sh +index 2a719d314..5214327bd 100755 +--- a/tests/test-cc.sh ++++ b/tests/test-cc.sh +@@ -37,12 +37,7 @@ source ./functions.sh + set -e + set -x + +-if test "$SRCDIR" = ""; then +- echo "$0: \$SRCDIR is not set" +- exit 1 +-fi +- +-script=$SRCDIR/cc-shebang.c ++script=$abs_top_srcdir/tests/cc-shebang.c + if test ! -f "$script"; then + echo "$0: could not locate cc-shebang.c" + exit 1 +@@ -57,6 +52,6 @@ cleanup_fn rm -f $out + rm -f $out + + nbdkit -U - cc $script \ +- EXTRA_CFLAGS="-I$SRCDIR/../include" \ ++ EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ + --run 'nbdinfo --size $uri' > $out + test "$(cat $out)" -eq $((100 * 1024 * 1024)) +diff --git a/tests/test-python-exception.sh b/tests/test-python-exception.sh +index a9fb146a6..54c29e66e 100755 +--- a/tests/test-python-exception.sh ++++ b/tests/test-python-exception.sh +@@ -34,23 +34,21 @@ source ./functions.sh + set -e + set -x + +-if test ! -d "$SRCDIR"; then +- echo "$0: could not locate python-exception.py" +- exit 1 +-fi +- + skip_if_valgrind "because Python code leaks memory" + ++script=$abs_top_srcdir/tests/python-exception.py ++test -f "$script" ++ + output=test-python-exception.out + rm -f $output + cleanup_fn rm -f $output + +-nbdkit -f -v python $SRCDIR/python-exception.py test=simple > $output 2>&1 ||: ++nbdkit -f -v python $script test=simple > $output 2>&1 ||: + cat $output + + grep 'this is the test string' $output + +-nbdkit -f -v python $SRCDIR/python-exception.py test=traceback > $output 2>&1 ||: ++nbdkit -f -v python $script test=traceback > $output 2>&1 ||: + cat $output + + grep 'raise_error1' $output +diff --git a/tests/test-python-export-list.sh b/tests/test-python-export-list.sh +index 49ca62e49..08774b9f3 100755 +--- a/tests/test-python-export-list.sh ++++ b/tests/test-python-export-list.sh +@@ -34,10 +34,8 @@ source ./functions.sh + set -e + set -x + +-if test ! -d "$SRCDIR"; then +- echo "$0: could not locate python-export-list.py" +- exit 1 +-fi ++script=$abs_top_srcdir/tests/python-export-list.py ++test -f "$script" + + skip_if_valgrind "because Python code leaks memory" + requires_nbdinfo +@@ -52,7 +50,7 @@ files="$pid $sock $out" + rm -f $files + cleanup_fn rm -f $files + +-start_nbdkit -P $pid -U $sock python $SRCDIR/python-export-list.py ++start_nbdkit -P $pid -U $sock python $script + + nbdinfo --list --json nbd+unix://\?socket=$sock > $out + cat $out +diff --git a/tests/test-python-export-name.sh b/tests/test-python-export-name.sh +index 99f292d2a..7680ae1e0 100755 +--- a/tests/test-python-export-name.sh ++++ b/tests/test-python-export-name.sh +@@ -34,10 +34,8 @@ source ./functions.sh + set -e + set -x + +-if test ! -d "$SRCDIR"; then +- echo "$0: could not locate python-export-name.py" +- exit 1 +-fi ++script=$abs_top_srcdir/tests/python-export-name.py ++test -f "$script" + + skip_if_valgrind "because Python code leaks memory" + requires nbdsh --version +@@ -48,7 +46,7 @@ files="$pid $sock" + rm -f $files + cleanup_fn rm -f $files + +-start_nbdkit -P $pid -U $sock python $SRCDIR/python-export-name.py ++start_nbdkit -P $pid -U $sock python $script + + # Try to read back various export names from the plugin. + for e in "" "test" "/" "//" " " "/ " "?" "テスト" "-n" '\\' $'\n' "%%" \ +diff --git a/tests/test-python-thread-model.sh b/tests/test-python-thread-model.sh +index 69b3d5c76..a0dea2386 100755 +--- a/tests/test-python-thread-model.sh ++++ b/tests/test-python-thread-model.sh +@@ -34,22 +34,19 @@ source ./functions.sh + set -e + set -x + +-SCRIPT="$SRCDIR/python-thread-model.py" +-if ! test -d "$SRCDIR" || ! test -f "$SCRIPT"; then +- echo "$0: could not locate python-thread-model.py" +- exit 1 +-fi ++script="$abs_top_srcdir/tests/python-thread-model.py" ++test -f "$script" + + skip_if_valgrind "because Python code leaks memory" + requires nbdsh --version + + # Check the plugin is loadable. +-nbdkit python $SCRIPT --dump-plugin ++nbdkit python $script --dump-plugin + + # This test only works on modern Linux (with pipe2, accept4 etc) where + # we are able to issue parallel requests. Other platforms have more + # restrictive thread models. +-requires sh -c "nbdkit python $SCRIPT --dump-plugin | ++requires sh -c "nbdkit python $script --dump-plugin | + grep '^thread_model=parallel'" + + pid=test-python-thread-model.pid +@@ -58,7 +55,7 @@ files="$out $pid $sock" + rm -f $files + cleanup_fn rm -f $files + +-start_nbdkit -P $pid -U $sock python $SCRIPT ++start_nbdkit -P $pid -U $sock python $script + + export sock + nbdsh -c ' +diff --git a/tests/test-read-password-interactive.sh b/tests/test-read-password-interactive.sh +index 7af48492b..ee345872e 100755 +--- a/tests/test-read-password-interactive.sh ++++ b/tests/test-read-password-interactive.sh +@@ -36,7 +36,7 @@ set -x + + # This is an executable C script using nbdkit-cc-plugin. + requires_plugin cc +-plugin=$SRCDIR/test-read-password-plugin.c ++plugin=$abs_top_srcdir/tests/test-read-password-plugin.c + requires test -x $plugin + + # expect on macOS does not work for unclear reasons, skip it. +diff --git a/tests/test-read-password.sh b/tests/test-read-password.sh +index 234162bc3..d0033dceb 100755 +--- a/tests/test-read-password.sh ++++ b/tests/test-read-password.sh +@@ -36,7 +36,7 @@ set -x + + # This is an executable C script using nbdkit-cc-plugin. + requires_plugin cc +-plugin=$SRCDIR/test-read-password-plugin.c ++plugin=$abs_top_srcdir/tests/test-read-password-plugin.c + requires test -x $plugin + + # Since we are matching on error messages. +diff --git a/tests/test-shebang-cc-ocaml.sh b/tests/test-shebang-cc-ocaml.sh +index 41e2f3db5..9eebcf07c 100755 +--- a/tests/test-shebang-cc-ocaml.sh ++++ b/tests/test-shebang-cc-ocaml.sh +@@ -32,8 +32,7 @@ + + source ./functions.sh + +-script=$SRCDIR/cc_shebang.ml +- ++script=$abs_top_srcdir/tests/cc_shebang.ml + if test ! -f "$script"; then + echo "$0: could not locate cc_shebang.ml" + exit 1 +diff --git a/tests/test-shebang-cc.sh b/tests/test-shebang-cc.sh +index 6ae75abed..a5e557648 100755 +--- a/tests/test-shebang-cc.sh ++++ b/tests/test-shebang-cc.sh +@@ -35,8 +35,7 @@ + + source ./functions.sh + +-script=$SRCDIR/cc-shebang.c +- ++script=$abs_top_srcdir/tests/cc-shebang.c + if test ! -f "$script"; then + echo "$0: could not locate cc-shebang.c" + exit 1 +@@ -46,7 +45,7 @@ requires_plugin cc + requires guestfish --version + + $script -fv -U - \ +- EXTRA_CFLAGS="-I$SRCDIR/../include" \ ++ EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ + --run ' + guestfish \ + add "" protocol:nbd server:unix:$unixsocket : \ +diff --git a/tests/test-shebang-perl.sh b/tests/test-shebang-perl.sh +index 5f35d75b4..65bb7a403 100755 +--- a/tests/test-shebang-perl.sh ++++ b/tests/test-shebang-perl.sh +@@ -34,9 +34,9 @@ source ./functions.sh + + pidfile=shebang-perl.pid + sock=$(mktemp -u /tmp/nbdkit-test-sock.XXXXXX) +-script=$SRCDIR/shebang.pl ++script=$abs_top_srcdir/tests/shebang.pl + +-if test ! -d "$SRCDIR"; then ++if test ! -f "$script"; then + echo "$0: could not locate shebang.pl" + exit 1 + fi +diff --git a/tests/test-shebang-python.sh b/tests/test-shebang-python.sh +index fb851de94..8674f2fa1 100755 +--- a/tests/test-shebang-python.sh ++++ b/tests/test-shebang-python.sh +@@ -34,9 +34,9 @@ source ./functions.sh + + pidfile=shebang-python.pid + sock=$(mktemp -u /tmp/nbdkit-test-sock.XXXXXX) +-script=$SRCDIR/shebang.py ++script=$abs_top_srcdir/tests/shebang.py + +-if test ! -d "$SRCDIR"; then ++if test ! -f "$script"; then + echo "$0: could not locate shebang.py" + exit 1 + fi +-- +2.41.0 + diff --git a/0013-tests-test-read-password-Remove-use-of-SRCDIR.patch b/0013-tests-test-read-password-Remove-use-of-SRCDIR.patch new file mode 100644 index 0000000..6ef088e --- /dev/null +++ b/0013-tests-test-read-password-Remove-use-of-SRCDIR.patch @@ -0,0 +1,55 @@ +From 92ae65f93d8ebeb09500552d7ebfc1e8149ded6f Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 22 Jun 2023 10:48:51 +0100 +Subject: [PATCH 13/15] tests/test-read-password*: Remove use of $SRCDIR + +These tests required exporting $abs_top_srcdir so that the plugin +(which is a C script) can use it. +--- + tests/test-read-password-interactive.sh | 3 +++ + tests/test-read-password.sh | 3 +++ + tests/test-read-password-plugin.c | 2 +- + 3 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/tests/test-read-password-interactive.sh b/tests/test-read-password-interactive.sh +index ee345872e..2738922f4 100755 +--- a/tests/test-read-password-interactive.sh ++++ b/tests/test-read-password-interactive.sh +@@ -39,6 +39,9 @@ requires_plugin cc + plugin=$abs_top_srcdir/tests/test-read-password-plugin.c + requires test -x $plugin + ++# This variable is used by $plugin. ++export abs_top_srcdir ++ + # expect on macOS does not work for unclear reasons, skip it. + requires_not test "$(uname)" = "Darwin" + +diff --git a/tests/test-read-password.sh b/tests/test-read-password.sh +index d0033dceb..8243d5491 100755 +--- a/tests/test-read-password.sh ++++ b/tests/test-read-password.sh +@@ -39,6 +39,9 @@ requires_plugin cc + plugin=$abs_top_srcdir/tests/test-read-password-plugin.c + requires test -x $plugin + ++# This variable is used by $plugin. ++export abs_top_srcdir ++ + # Since we are matching on error messages. + export LANG=C + +diff --git a/tests/test-read-password-plugin.c b/tests/test-read-password-plugin.c +index d8faea4e3..397f69d72 100755 +--- a/tests/test-read-password-plugin.c ++++ b/tests/test-read-password-plugin.c +@@ -1,5 +1,5 @@ + #if 0 +-exec nbdkit cc "$0" "$@" EXTRA_CFLAGS="-I.. -I${SRCDIR:-.}/../include" ++exec nbdkit cc "$0" "$@" EXTRA_CFLAGS="-I.. -I$abs_top_srcdir/include" + #endif + /* nbdkit + * Copyright Red Hat +-- +2.41.0 + diff --git a/0014-tests-Stop-setting-SRCDIR-for-tests.patch b/0014-tests-Stop-setting-SRCDIR-for-tests.patch new file mode 100644 index 0000000..d61725d --- /dev/null +++ b/0014-tests-Stop-setting-SRCDIR-for-tests.patch @@ -0,0 +1,28 @@ +From 2e3dcb2a720e4258b54d04ffd081c5159783df8e Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 22 Jun 2023 10:50:17 +0100 +Subject: [PATCH 14/15] tests: Stop setting $SRCDIR for tests + +Since no tests use this variable any longer we can stop setting it. + +However note that make-psk.sh still uses the same-named (but not +connected) variable. +--- + tests/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 32ebb7002..2921076de 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -63,7 +63,6 @@ EXTRA_PROGRAMS = + # Use the 'direct' backend, and ensure maximum libguestfs debugging. + # Enable libnbd debugging. + TESTS_ENVIRONMENT = \ +- SRCDIR=$(srcdir) \ + LIBGUESTFS_ATTACH_METHOD=appliance \ + LIBGUESTFS_DEBUG=1 \ + LIBGUESTFS_TRACE=1 \ +-- +2.41.0 + diff --git a/0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch b/0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch new file mode 100644 index 0000000..ca09a13 --- /dev/null +++ b/0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch @@ -0,0 +1,44 @@ +From 3e4c1b79a72970c17cb42b21070e61ec634a38bb Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 22 Jun 2023 11:15:27 +0100 +Subject: [PATCH 15/15] tests: Explicitly add -L../plugins/ocaml/.libs to find + -lnbdkitocaml + +The actual libnbdkitocaml.so library is located in +plugins/ocaml/.libs, but we were only specifying plugins/ocaml as the +search path. How did it ever work? Turns out using LD_LIBRARY_PATH +set in wrapper.c. It seems unreliable to rely on this, so set the +path properly, as we are already doing elsewhere. +--- + tests/test-cc-ocaml.sh | 2 +- + tests/cc_shebang.ml | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh +index db7d252cf..97a1c89e3 100755 +--- a/tests/test-cc-ocaml.sh ++++ b/tests/test-cc-ocaml.sh +@@ -56,6 +56,6 @@ cleanup_fn rm -f $out + rm -f $out + + nbdkit -v -U - cc $script a=1 b=2 c=3 d=4 \ +- CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $abs_top_srcdir/plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ ++ CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $abs_top_srcdir/plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml" \ + --run 'nbdinfo --size $uri' > $out + test "$(cat $out)" -eq $((512 * 2048)) +diff --git a/tests/cc_shebang.ml b/tests/cc_shebang.ml +index 05ca77b64..57ad85791 100755 +--- a/tests/cc_shebang.ml ++++ b/tests/cc_shebang.ml +@@ -4,7 +4,7 @@ + # shell as an impossible command which is ignored. The line below is + # run by the shell and ignored by OCaml. + +-exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" "$@" ++exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml" "$@" + *) + + open Printf +-- +2.41.0 + diff --git a/nbdkit.spec b/nbdkit.spec index e7dcb76..9e6c161 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -45,7 +45,7 @@ ExclusiveArch: x86_64 %global verify_tarball_signature 1 # If there are patches which touch autotools files, set this to 1. -%global patches_touch_autotools %{nil} +%global patches_touch_autotools 1 # The source directory. %global source_directory 1.35-development @@ -78,6 +78,24 @@ Source3: copy-patches.sh Source4: nbdkit.attr Source5: nbdkit-find-provides +# All upstream patches since 1.35.5 was released. These are needed +# to fix OCaml 5 builds. +Patch: 0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch +Patch: 0002-tar-Document-the-optional-tar-option-in-help-output-.patch +Patch: 0003-tar-Implement-tar-limit.patch +Patch: 0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch +Patch: 0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch +Patch: 0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch +Patch: 0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch +Patch: 0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch +Patch: 0009-ocaml-Always-unregister-the-global-root-and-free-the.patch +Patch: 0010-ocaml-Fix-thread-registration-for-OCaml-5.patch +Patch: 0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch +Patch: 0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch +Patch: 0013-tests-test-read-password-Remove-use-of-SRCDIR.patch +Patch: 0014-tests-Stop-setting-SRCDIR-for-tests.patch +Patch: 0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch + BuildRequires: make %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool From 9c9ed7bb59a1bf72c713af872f3509d413d1ceea Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Thu, 13 Jul 2023 08:07:15 +0200 Subject: [PATCH 036/195] Perl 5.38 re-rebuild updated packages --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 9e6c161..5a11bfa 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.35.5 -Release: 5%{?dist} +Release: 6%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1235,6 +1235,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Thu Jul 13 2023 Jitka Plesnikova - 1.35.5-6 +- Perl 5.38 re-rebuild updated packages + * Wed Jul 12 2023 Richard W.M. Jones - 1.35.5-5 - OCaml 5.0 rebuild for Fedora 39 From 97ad256c11729c902048f24899352122e8cbec3e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 13 Jul 2023 12:05:26 +0100 Subject: [PATCH 037/195] Add patch to fix Perl 5.38 --- ...nfo-Remove-bogus-test-requires-of-gu.patch | 2 +- ...-optional-tar-option-in-help-output-.patch | 2 +- 0003-tar-Implement-tar-limit.patch | 2 +- ...sage-to-refer-to-xz-max-block-parame.patch | 2 +- ...Recommend-using-g-with-OCAMLOPTFLAGS.patch | 2 +- ..._plugin.ml-Print-a-message-when-test.patch | 2 +- ...ml-Add-I-unix-before-using-unix.cmxa.patch | 2 +- ...ml_leave_blocking_section-with-caml_.patch | 2 +- ...egister-the-global-root-and-free-the.patch | 2 +- ...-Fix-thread-registration-for-OCaml-5.patch | 2 +- ...aml.sh-Use-nbdkit-v-option-to-help-w.patch | 2 +- ...s-Replace-SRCDIR-with-abs_top_srcdir.patch | 2 +- ...t-read-password-Remove-use-of-SRCDIR.patch | 2 +- ...-tests-Stop-setting-SRCDIR-for-tests.patch | 2 +- ...-add-L.-plugins-ocaml-.libs-to-find-.patch | 2 +- ...l-PERL_SET_CONTEXT-from-.open-method.patch | 39 +++++++++++++++++++ nbdkit.spec | 1 + 17 files changed, 55 insertions(+), 15 deletions(-) create mode 100644 0016-perl-Call-PERL_SET_CONTEXT-from-.open-method.patch diff --git a/0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch b/0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch index 3047bcf..680bfc8 100644 --- a/0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch +++ b/0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch @@ -1,7 +1,7 @@ From d2e335b2d05e68c1fc7ed9b507fd5cafc172a112 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 13 Jun 2023 20:11:34 +0100 -Subject: [PATCH 01/15] tests/test-tar-info*: Remove bogus test requires of +Subject: [PATCH 01/16] tests/test-tar-info*: Remove bogus test requires of guestfish These tests don't need guestfish so don't test for it. diff --git a/0002-tar-Document-the-optional-tar-option-in-help-output-.patch b/0002-tar-Document-the-optional-tar-option-in-help-output-.patch index 84be7bc..f1b4059 100644 --- a/0002-tar-Document-the-optional-tar-option-in-help-output-.patch +++ b/0002-tar-Document-the-optional-tar-option-in-help-output-.patch @@ -1,7 +1,7 @@ From eb44ca26a84c369a7908f19517c0a2f8f621d57f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 13 Jun 2023 20:25:40 +0100 -Subject: [PATCH 02/15] tar: Document the optional tar option in --help output +Subject: [PATCH 02/16] tar: Document the optional tar option in --help output and synopsis Fixes: commit 05b49f89dccb0ca3fd0919e9502c54dbcadf0b73 diff --git a/0003-tar-Implement-tar-limit.patch b/0003-tar-Implement-tar-limit.patch index cd54c95..be8003c 100644 --- a/0003-tar-Implement-tar-limit.patch +++ b/0003-tar-Implement-tar-limit.patch @@ -1,7 +1,7 @@ From ae3fb4def811f5bc42563128e8fae0a4288584d1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 13 Jun 2023 20:01:05 +0100 -Subject: [PATCH 03/15] tar: Implement tar-limit +Subject: [PATCH 03/16] tar: Implement tar-limit This can be used to ensure that the tar filter does not read indefinite amounts of input when opening the tar file. diff --git a/0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch b/0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch index ed32847..cf99a97 100644 --- a/0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch +++ b/0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch @@ -1,7 +1,7 @@ From 35db543e38293808e910b291ff26b17284640ec9 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 19 Jun 2023 13:53:09 +0100 -Subject: [PATCH 04/15] xz: Fix error message to refer to xz-max-block +Subject: [PATCH 04/16] xz: Fix error message to refer to xz-max-block parameter In the original xz plugin the parameter was called "maxblock", but diff --git a/0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch b/0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch index 6d419b0..ec9999d 100644 --- a/0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch +++ b/0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch @@ -1,7 +1,7 @@ From 4398b1871f8832109fcdbe25c70a1dd341ed5bd4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 21 Jun 2023 13:05:22 +0100 -Subject: [PATCH 05/15] configure: Recommend using -g with OCAMLOPTFLAGS +Subject: [PATCH 05/16] configure: Recommend using -g with OCAMLOPTFLAGS --- configure.ac | 4 ++-- diff --git a/0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch b/0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch index 25fbbdb..5c75615 100644 --- a/0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch +++ b/0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch @@ -1,7 +1,7 @@ From b53b78e542fe8e49ce5c670e8ddc9d2be66f73cc Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 21 Jun 2023 18:47:40 +0100 -Subject: [PATCH 06/15] tests/test_ocaml_plugin.ml: Print a message when test +Subject: [PATCH 06/16] tests/test_ocaml_plugin.ml: Print a message when test plugin initializes It's useful to have a message which is printed as the top level diff --git a/0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch b/0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch index cb40bc2..049cfb4 100644 --- a/0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch +++ b/0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch @@ -1,7 +1,7 @@ From b778c56443e11817d4974dcab5356e2d4065980b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 21 Jun 2023 18:56:58 +0100 -Subject: [PATCH 07/15] ocaml: Add -I +unix before using unix.cmxa +Subject: [PATCH 07/16] ocaml: Add -I +unix before using unix.cmxa In OCaml 5.0 you will see this warning: diff --git a/0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch b/0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch index f7ba249..cb00591 100644 --- a/0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch +++ b/0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch @@ -1,7 +1,7 @@ From f8b761c62f177176dfe154a95824576eef740827 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 21 Jun 2023 19:07:00 +0100 -Subject: [PATCH 08/15] ocaml: Replace caml_leave_blocking_section with +Subject: [PATCH 08/16] ocaml: Replace caml_leave_blocking_section with caml_acquire_runtime_system Replace: diff --git a/0009-ocaml-Always-unregister-the-global-root-and-free-the.patch b/0009-ocaml-Always-unregister-the-global-root-and-free-the.patch index 2380388..acb9bc5 100644 --- a/0009-ocaml-Always-unregister-the-global-root-and-free-the.patch +++ b/0009-ocaml-Always-unregister-the-global-root-and-free-the.patch @@ -1,7 +1,7 @@ From f4d5f179c9be6db3c39bc0752e36f262c3f87716 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 21 Jun 2023 20:15:46 +0100 -Subject: [PATCH 09/15] ocaml: Always unregister the global root and free the +Subject: [PATCH 09/16] ocaml: Always unregister the global root and free the handle If the OCaml code did not provide a close method, we would never call diff --git a/0010-ocaml-Fix-thread-registration-for-OCaml-5.patch b/0010-ocaml-Fix-thread-registration-for-OCaml-5.patch index 05982d0..ebf111c 100644 --- a/0010-ocaml-Fix-thread-registration-for-OCaml-5.patch +++ b/0010-ocaml-Fix-thread-registration-for-OCaml-5.patch @@ -1,7 +1,7 @@ From 9d4b87e0338d45456c0506fd2c25b80f7ef6b1e1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 21 Jun 2023 20:18:58 +0100 -Subject: [PATCH 10/15] ocaml: Fix thread registration for OCaml 5 +Subject: [PATCH 10/16] ocaml: Fix thread registration for OCaml 5 OCaml 5 is strict about registering threads before calling OCaml heap functions, and will abort the program with this error if you don't do diff --git a/0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch b/0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch index fc8045c..47186fb 100644 --- a/0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch +++ b/0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch @@ -1,7 +1,7 @@ From c78266258709e2cbe6f0e869c866d09ad72c072c Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 22 Jun 2023 10:33:31 +0100 -Subject: [PATCH 11/15] tests/test-cc-ocaml.sh: Use nbdkit -v option to help +Subject: [PATCH 11/16] tests/test-cc-ocaml.sh: Use nbdkit -v option to help with debugging --- diff --git a/0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch b/0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch index 991b3a7..2d783f0 100644 --- a/0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch +++ b/0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch @@ -1,7 +1,7 @@ From d968c4858847388e515bc1ef84ff4479c18a414d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 22 Jun 2023 10:44:10 +0100 -Subject: [PATCH 12/15] tests: Replace $SRCDIR with $abs_top_srcdir +Subject: [PATCH 12/16] tests: Replace $SRCDIR with $abs_top_srcdir functions.sh defines $abs_top_srcdir so there's no need to use $SRCDIR in any test scripts. diff --git a/0013-tests-test-read-password-Remove-use-of-SRCDIR.patch b/0013-tests-test-read-password-Remove-use-of-SRCDIR.patch index 6ef088e..0d14568 100644 --- a/0013-tests-test-read-password-Remove-use-of-SRCDIR.patch +++ b/0013-tests-test-read-password-Remove-use-of-SRCDIR.patch @@ -1,7 +1,7 @@ From 92ae65f93d8ebeb09500552d7ebfc1e8149ded6f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 22 Jun 2023 10:48:51 +0100 -Subject: [PATCH 13/15] tests/test-read-password*: Remove use of $SRCDIR +Subject: [PATCH 13/16] tests/test-read-password*: Remove use of $SRCDIR These tests required exporting $abs_top_srcdir so that the plugin (which is a C script) can use it. diff --git a/0014-tests-Stop-setting-SRCDIR-for-tests.patch b/0014-tests-Stop-setting-SRCDIR-for-tests.patch index d61725d..2ff84a2 100644 --- a/0014-tests-Stop-setting-SRCDIR-for-tests.patch +++ b/0014-tests-Stop-setting-SRCDIR-for-tests.patch @@ -1,7 +1,7 @@ From 2e3dcb2a720e4258b54d04ffd081c5159783df8e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 22 Jun 2023 10:50:17 +0100 -Subject: [PATCH 14/15] tests: Stop setting $SRCDIR for tests +Subject: [PATCH 14/16] tests: Stop setting $SRCDIR for tests Since no tests use this variable any longer we can stop setting it. diff --git a/0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch b/0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch index ca09a13..e1b9e45 100644 --- a/0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch +++ b/0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch @@ -1,7 +1,7 @@ From 3e4c1b79a72970c17cb42b21070e61ec634a38bb Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 22 Jun 2023 11:15:27 +0100 -Subject: [PATCH 15/15] tests: Explicitly add -L../plugins/ocaml/.libs to find +Subject: [PATCH 15/16] tests: Explicitly add -L../plugins/ocaml/.libs to find -lnbdkitocaml The actual libnbdkitocaml.so library is located in diff --git a/0016-perl-Call-PERL_SET_CONTEXT-from-.open-method.patch b/0016-perl-Call-PERL_SET_CONTEXT-from-.open-method.patch new file mode 100644 index 0000000..0a12e96 --- /dev/null +++ b/0016-perl-Call-PERL_SET_CONTEXT-from-.open-method.patch @@ -0,0 +1,39 @@ +From 495708e9d1b396ff450df15d5789b4f6c51f6ebc Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 13 Jul 2023 11:50:02 +0100 +Subject: [PATCH 16/16] perl: Call PERL_SET_CONTEXT from .open method + +This appears to be necessary with Perl 5.38. +--- + plugins/perl/perl.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/plugins/perl/perl.c b/plugins/perl/perl.c +index d3b7cede2..1d8d0c2b4 100644 +--- a/plugins/perl/perl.c ++++ b/plugins/perl/perl.c +@@ -339,6 +339,21 @@ perl_open (int readonly) + SV *sv; + dSP; + ++ /* ++ * From perlembed(1): ++ * ++ * "PERL_SET_CONTEXT(interp) should also be called whenever "interp" ++ * is used by a thread that did not create it (using either ++ * perl_alloc(), or the more esoteric perl_clone())." ++ * ++ * Since we may be called here from a new thread created within ++ * nbdkit, do this. This is necessary since Perl 5.38. It didn't ++ * seem to make a difference with earlier Perl, but doesn't break ++ * them either. ++ */ ++ ++ PERL_SET_CONTEXT (my_perl); ++ + /* We check in perl_config that this callback is defined. */ + ENTER; + SAVETMPS; +-- +2.41.0 + diff --git a/nbdkit.spec b/nbdkit.spec index 5a11bfa..f916994 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -95,6 +95,7 @@ Patch: 0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch Patch: 0013-tests-test-read-password-Remove-use-of-SRCDIR.patch Patch: 0014-tests-Stop-setting-SRCDIR-for-tests.patch Patch: 0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch +Patch: 0016-perl-Call-PERL_SET_CONTEXT-from-.open-method.patch BuildRequires: make %if 0%{patches_touch_autotools} From 8e2ee88371ad6d47b570115a201d510b5d9e1ad5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 14 Jul 2023 15:12:38 +0100 Subject: [PATCH 038/195] New upstream development version 1.35.6 --- ...nfo-Remove-bogus-test-requires-of-gu.patch | 41 -- ...-optional-tar-option-in-help-output-.patch | 43 -- 0003-tar-Implement-tar-limit.patch | 193 -------- ...sage-to-refer-to-xz-max-block-parame.patch | 40 -- ...Recommend-using-g-with-OCAMLOPTFLAGS.patch | 27 - ..._plugin.ml-Print-a-message-when-test.patch | 32 -- ...ml-Add-I-unix-before-using-unix.cmxa.patch | 124 ----- ...ml_leave_blocking_section-with-caml_.patch | 468 ------------------ ...egister-the-global-root-and-free-the.patch | 65 --- ...-Fix-thread-registration-for-OCaml-5.patch | 375 -------------- ...aml.sh-Use-nbdkit-v-option-to-help-w.patch | 26 - ...s-Replace-SRCDIR-with-abs_top_srcdir.patch | 324 ------------ ...t-read-password-Remove-use-of-SRCDIR.patch | 55 -- ...-tests-Stop-setting-SRCDIR-for-tests.patch | 28 -- ...-add-L.-plugins-ocaml-.libs-to-find-.patch | 44 -- ...l-PERL_SET_CONTEXT-from-.open-method.patch | 39 -- nbdkit.spec | 28 +- sources | 4 +- 18 files changed, 8 insertions(+), 1948 deletions(-) delete mode 100644 0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch delete mode 100644 0002-tar-Document-the-optional-tar-option-in-help-output-.patch delete mode 100644 0003-tar-Implement-tar-limit.patch delete mode 100644 0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch delete mode 100644 0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch delete mode 100644 0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch delete mode 100644 0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch delete mode 100644 0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch delete mode 100644 0009-ocaml-Always-unregister-the-global-root-and-free-the.patch delete mode 100644 0010-ocaml-Fix-thread-registration-for-OCaml-5.patch delete mode 100644 0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch delete mode 100644 0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch delete mode 100644 0013-tests-test-read-password-Remove-use-of-SRCDIR.patch delete mode 100644 0014-tests-Stop-setting-SRCDIR-for-tests.patch delete mode 100644 0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch delete mode 100644 0016-perl-Call-PERL_SET_CONTEXT-from-.open-method.patch diff --git a/0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch b/0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch deleted file mode 100644 index 680bfc8..0000000 --- a/0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d2e335b2d05e68c1fc7ed9b507fd5cafc172a112 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 13 Jun 2023 20:11:34 +0100 -Subject: [PATCH 01/16] tests/test-tar-info*: Remove bogus test requires of - guestfish - -These tests don't need guestfish so don't test for it. - -Fixes: commit 05b49f89dccb0ca3fd0919e9502c54dbcadf0b73 ---- - tests/test-tar-info-xz.sh | 1 - - tests/test-tar-info.sh | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/tests/test-tar-info-xz.sh b/tests/test-tar-info-xz.sh -index 1f968e9b8..abd854974 100755 ---- a/tests/test-tar-info-xz.sh -+++ b/tests/test-tar-info-xz.sh -@@ -37,7 +37,6 @@ set -e - set -x - - requires test -f disk --requires guestfish --version - requires tar --version - requires qemu-img --version - requires qemu-img info --output=json /dev/null -diff --git a/tests/test-tar-info.sh b/tests/test-tar-info.sh -index 572768b85..5c015d88e 100755 ---- a/tests/test-tar-info.sh -+++ b/tests/test-tar-info.sh -@@ -37,7 +37,6 @@ set -e - set -x - - requires test -f disk --requires guestfish --version - requires tar --version - requires qemu-img --version - requires qemu-img info --output=json /dev/null --- -2.41.0 - diff --git a/0002-tar-Document-the-optional-tar-option-in-help-output-.patch b/0002-tar-Document-the-optional-tar-option-in-help-output-.patch deleted file mode 100644 index f1b4059..0000000 --- a/0002-tar-Document-the-optional-tar-option-in-help-output-.patch +++ /dev/null @@ -1,43 +0,0 @@ -From eb44ca26a84c369a7908f19517c0a2f8f621d57f Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 13 Jun 2023 20:25:40 +0100 -Subject: [PATCH 02/16] tar: Document the optional tar option in --help output - and synopsis - -Fixes: commit 05b49f89dccb0ca3fd0919e9502c54dbcadf0b73 ---- - filters/tar/nbdkit-tar-filter.pod | 1 + - filters/tar/tar.c | 5 +++-- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/filters/tar/nbdkit-tar-filter.pod b/filters/tar/nbdkit-tar-filter.pod -index 96aba16d9..eb0cfd4ab 100644 ---- a/filters/tar/nbdkit-tar-filter.pod -+++ b/filters/tar/nbdkit-tar-filter.pod -@@ -5,6 +5,7 @@ nbdkit-tar-filter - read and write files inside tar files without unpacking - =head1 SYNOPSIS - - nbdkit file FILENAME.tar --filter=tar tar-entry=PATH_INSIDE_TAR -+ [tar=TAR_COMMAND] - - =head1 EXAMPLES - -diff --git a/filters/tar/tar.c b/filters/tar/tar.c -index c650a3499..f3adb2c46 100644 ---- a/filters/tar/tar.c -+++ b/filters/tar/tar.c -@@ -96,8 +96,9 @@ tar_config_complete (nbdkit_next_config_complete *next, - return next (nxdata); - } - --#define tar_config_help \ -- "tar-entry= (required) The path inside the tar file to serve." -+#define tar_config_help \ -+ "tar-entry= (required) The path inside the tar file to serve.\n" \ -+ "tar= Path of the tar binary." - - static int - tar_thread_model (void) --- -2.41.0 - diff --git a/0003-tar-Implement-tar-limit.patch b/0003-tar-Implement-tar-limit.patch deleted file mode 100644 index be8003c..0000000 --- a/0003-tar-Implement-tar-limit.patch +++ /dev/null @@ -1,193 +0,0 @@ -From ae3fb4def811f5bc42563128e8fae0a4288584d1 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 13 Jun 2023 20:01:05 +0100 -Subject: [PATCH 03/16] tar: Implement tar-limit - -This can be used to ensure that the tar filter does not read -indefinite amounts of input when opening the tar file. - -See: https://github.com/kubevirt/containerized-data-importer/pull/2748#issuecomment-1589852102 ---- - filters/tar/nbdkit-tar-filter.pod | 24 +++++++++++- - tests/Makefile.am | 2 + - filters/tar/tar.c | 10 +++++ - tests/test-tar-limit.sh | 65 +++++++++++++++++++++++++++++++ - 4 files changed, 99 insertions(+), 2 deletions(-) - create mode 100755 tests/test-tar-limit.sh - -diff --git a/filters/tar/nbdkit-tar-filter.pod b/filters/tar/nbdkit-tar-filter.pod -index eb0cfd4ab..a3c2d1328 100644 ---- a/filters/tar/nbdkit-tar-filter.pod -+++ b/filters/tar/nbdkit-tar-filter.pod -@@ -4,8 +4,9 @@ nbdkit-tar-filter - read and write files inside tar files without unpacking - - =head1 SYNOPSIS - -- nbdkit file FILENAME.tar --filter=tar tar-entry=PATH_INSIDE_TAR -- [tar=TAR_COMMAND] -+ nbdkit file FILENAME.tar -+ --filter=tar tar-entry=PATH_INSIDE_TAR -+ [tar=TAR_COMMAND] [tar-limit=SIZE] - - =head1 EXAMPLES - -@@ -83,6 +84,25 @@ The path of the file inside the tarball to serve. This parameter is - required. It must exactly match the name stored in the tarball, so - use S> - -+=item [B]SIZE -+ -+When opening the tar file we have to locate the file (C) -+inside the tarball. Because tar files do not have a central index we -+must iterate over the tar file to find the entry, and that may be -+costly (especially with untrusted tar files). In the worst case where -+C starts near the end of the file we may have to iterate -+over the whole tar file. If this is a problem you may set -+C to some smaller value, eg: -+ -+ nbdkit -r curl https://example.com/file.tar \ -+ --filter=tar tar-entry=disk.img \ -+ tar-limit=10M -+ -+which ensures no more than 10 megabytes are read before we give up and -+reject the tar file (sending an error back to the NBD client). -+ -+The default is 0 meaning no limit. -+ - =item B - - =item B/PATH/TO/GTAR -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 6694e409e..f2912aa93 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -1957,11 +1957,13 @@ TESTS += \ - test-tar.sh \ - test-tar-info.sh \ - test-tar-info-xz.sh \ -+ test-tar-limit.sh \ - $(NULL) - EXTRA_DIST += \ - test-tar.sh \ - test-tar-info.sh \ - test-tar-info-xz.sh \ -+ test-tar-limit.sh \ - $(NULL) - - # truncate filter tests. -diff --git a/filters/tar/tar.c b/filters/tar/tar.c -index f3adb2c46..efe47684d 100644 ---- a/filters/tar/tar.c -+++ b/filters/tar/tar.c -@@ -53,6 +53,7 @@ - #include "utils.h" - - static const char *entry; /* File within tar (tar-entry=...) */ -+static int64_t tar_limit = 0; - static const char *tar_program = "tar"; - - /* Offset and size within tarball. -@@ -76,6 +77,12 @@ tar_config (nbdkit_next_config *next, nbdkit_backend *nxdata, - entry = value; - return 0; - } -+ else if (strcmp (key, "tar-limit") == 0) { -+ tar_limit = nbdkit_parse_size (value); -+ if (tar_limit == -1) -+ return -1; -+ return 0; -+ } - else if (strcmp (key, "tar") == 0) { - tar_program = value; - return 0; -@@ -98,6 +105,7 @@ tar_config_complete (nbdkit_next_config_complete *next, - - #define tar_config_help \ - "tar-entry= (required) The path inside the tar file to serve.\n" \ -+ "tar-limit=SIZE Limit on reading to find entry.\n" \ - "tar= Path of the tar binary." - - static int -@@ -197,6 +205,8 @@ calculate_offset_of_entry (nbdkit_next *next) - copysize = next->get_size (next); - if (copysize == -1) - return -1; -+ if (tar_limit > 0 && copysize > tar_limit) -+ copysize = tar_limit; - - /* Run the tar command. */ - nbdkit_debug ("%s", cmd); -diff --git a/tests/test-tar-limit.sh b/tests/test-tar-limit.sh -new file mode 100755 -index 000000000..168f2c497 ---- /dev/null -+++ b/tests/test-tar-limit.sh -@@ -0,0 +1,65 @@ -+#!/usr/bin/env bash -+# nbdkit -+# Copyright Red Hat -+# -+# Redistribution and use in source and binary forms, with or without -+# modification, are permitted provided that the following conditions are -+# met: -+# -+# * Redistributions of source code must retain the above copyright -+# notice, this list of conditions and the following disclaimer. -+# -+# * Redistributions in binary form must reproduce the above copyright -+# notice, this list of conditions and the following disclaimer in the -+# documentation and/or other materials provided with the distribution. -+# -+# * Neither the name of Red Hat nor the names of its contributors may be -+# used to endorse or promote products derived from this software without -+# specific prior written permission. -+# -+# THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND -+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -+# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR -+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+# SUCH DAMAGE. -+ -+# Test the tar filter and tar-limit filter. -+ -+source ./functions.sh -+set -e -+set -x -+ -+requires test -f disk -+requires tar --version -+requires test -f disk -+requires_nbdinfo -+ -+tar_bad=tar-limit-bad.tar -+tar_good=tar-limit-good.tar -+tar_filler=tar-limit-filler.img -+files="$tar_bad $tar_good $tar_filler" -+rm -f $files -+cleanup_fn rm -f $files -+ -+# Create two tar files, one where the disk is located before an -+# arbitrary boundary and one after. -+truncate -s 1M $tar_filler -+tar cf $tar_good disk -+tar cf $tar_bad $tar_filler disk -+ -+# Check we can read the good disk and reject the bad disk. -+cmd="nbdkit -U - file --filter=tar tar-entry=disk tar-limit=131072" -+ -+$cmd $tar_good --run 'nbdinfo "$uri"' -+ -+if $cmd $tar_bad --run 'nbdinfo "$uri"' ; then -+ echo "ERROR: $0: expected $tar_bad to fail" -+ exit 1 -+fi --- -2.41.0 - diff --git a/0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch b/0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch deleted file mode 100644 index cf99a97..0000000 --- a/0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 35db543e38293808e910b291ff26b17284640ec9 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Mon, 19 Jun 2023 13:53:09 +0100 -Subject: [PATCH 04/16] xz: Fix error message to refer to xz-max-block - parameter - -In the original xz plugin the parameter was called "maxblock", but -when we converted the plugin to a filter (commit c879d31047 "Rewrite -xz plugin as a filter.") we changed the parameter name to -"xz-max-block" but retained the old name in the error message. - -Fixes: commit c879d31047ae149cedabd5abbdb0a95e610f01c5 ---- - filters/xz/xz.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/filters/xz/xz.c b/filters/xz/xz.c -index 0c92cfff4..21e8993b5 100644 ---- a/filters/xz/xz.c -+++ b/filters/xz/xz.c -@@ -143,12 +143,12 @@ xz_prepare (nbdkit_next *next, void *handle, - return -1; - - if (maxblock < xzfile_max_uncompressed_block_size (h->xz)) { -- nbdkit_error ("xz file largest block is bigger than maxblock\n" -+ nbdkit_error ("xz file largest block is bigger than xz-max-block\n" - "Either recompress the xz file with smaller blocks " - "(see nbdkit-xz-filter(1))\n" -- "or make maxblock parameter bigger.\n" -- "maxblock = %" PRIu64 " (bytes)\n" -- "largest block in xz file = %" PRIu64 " (bytes)", -+ "or make xz-max-block parameter bigger.\n" -+ "Current xz-max-block = %" PRIu64 " (bytes)\n" -+ "Largest block in xz file = %" PRIu64 " (bytes)", - maxblock, - xzfile_max_uncompressed_block_size (h->xz)); - return -1; --- -2.41.0 - diff --git a/0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch b/0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch deleted file mode 100644 index ec9999d..0000000 --- a/0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4398b1871f8832109fcdbe25c70a1dd341ed5bd4 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 21 Jun 2023 13:05:22 +0100 -Subject: [PATCH 05/16] configure: Recommend using -g with OCAMLOPTFLAGS - ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index c1d83a568..39b58b44e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -935,8 +935,8 @@ AC_SUBST([PYTHON_LDFLAGS]) - - dnl For the OCaml plugin, you can set OCAMLOPTFLAGS before running - dnl ./configure to specify any extra flags you want to pass to --dnl ocamlopt. For example to enable OCaml warnings: --dnl OCAMLOPTFLAGS="-warn-error +A-3" -+dnl ocamlopt. For example to enable debug symbols & warnings: -+dnl OCAMLOPTFLAGS="-g -warn-error +A-3" - AC_SUBST([OCAMLOPTFLAGS]) - - dnl Check for OCaml, for embedding in the ocaml plugin. --- -2.41.0 - diff --git a/0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch b/0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch deleted file mode 100644 index 5c75615..0000000 --- a/0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b53b78e542fe8e49ce5c670e8ddc9d2be66f73cc Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 21 Jun 2023 18:47:40 +0100 -Subject: [PATCH 06/16] tests/test_ocaml_plugin.ml: Print a message when test - plugin initializes - -It's useful to have a message which is printed as the top level -statements in the plugin module are being initialized, for debugging -purposes. ---- - tests/test_ocaml_plugin.ml | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/tests/test_ocaml_plugin.ml b/tests/test_ocaml_plugin.ml -index 561a8690f..f8eed4f7f 100644 ---- a/tests/test_ocaml_plugin.ml -+++ b/tests/test_ocaml_plugin.ml -@@ -30,6 +30,11 @@ - * SUCH DAMAGE. - *) - -+(* Print something during module initialization, useful for debugging -+ * obscure OCaml startup issues. -+ *) -+let () = Printf.eprintf "test_ocaml_plugin.ml: module initializing\n%!" -+ - let sector_size = 512 - let nr_sectors = 2048 - --- -2.41.0 - diff --git a/0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch b/0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch deleted file mode 100644 index 049cfb4..0000000 --- a/0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch +++ /dev/null @@ -1,124 +0,0 @@ -From b778c56443e11817d4974dcab5356e2d4065980b Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 21 Jun 2023 18:56:58 +0100 -Subject: [PATCH 07/16] ocaml: Add -I +unix before using unix.cmxa - -In OCaml 5.0 you will see this warning: - - Alert ocaml_deprecated_auto_include: - OCaml's lib directory layout changed in 5.0. The unix subdirectory has been - automatically added to the search path, but you should add -I +unix to the - command-line to silence this alert (e.g. by adding unix to the list of - libraries in your dune file, or adding use_unix to your _tags file for - ocamlbuild, or using -package unix for ocamlfind). - -Using -I +unix doesn't hurt earlier versions, as the directory is just -ignored if it doesn't exist, and anyway findlib adds the directory if -you're using that. ---- - plugins/cc/nbdkit-cc-plugin.pod | 4 ++-- - plugins/ocaml/nbdkit-ocaml-plugin.pod | 2 +- - plugins/ocaml/Makefile.am | 2 +- - tests/Makefile.am | 4 ++-- - tests/test-cc-ocaml.sh | 2 +- - tests/cc_shebang.ml | 2 +- - 6 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/plugins/cc/nbdkit-cc-plugin.pod b/plugins/cc/nbdkit-cc-plugin.pod -index 412233797..f55f74ab0 100644 ---- a/plugins/cc/nbdkit-cc-plugin.pod -+++ b/plugins/cc/nbdkit-cc-plugin.pod -@@ -89,7 +89,7 @@ C as a parameter to exec nbdkit. - =head2 Using this plugin with OCaml - - nbdkit cc CC=ocamlopt \ -- CFLAGS="-output-obj -runtime-variant _pic unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ -+ CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ - source.ml - - OCaml plugin scripts can be created using this trick: -@@ -97,7 +97,7 @@ OCaml plugin scripts can be created using this trick: - (*/.)>/dev/null 2>&1 - exec nbdkit cc "$0" \ - CC=ocamlopt \ -- CFLAGS="-output-obj -runtime-variant _pic unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ -+ CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ - "$@" - *) - (* followed by OCaml code for the plugin here *) -diff --git a/plugins/ocaml/nbdkit-ocaml-plugin.pod b/plugins/ocaml/nbdkit-ocaml-plugin.pod -index dc8260174..e4a8cf0b0 100644 ---- a/plugins/ocaml/nbdkit-ocaml-plugin.pod -+++ b/plugins/ocaml/nbdkit-ocaml-plugin.pod -@@ -53,7 +53,7 @@ using this command: - - ocamlopt.opt -output-obj -runtime-variant _pic \ - -o nbdkit-myplugin-plugin.so \ -- unix.cmxa NBDKit.cmx myplugin.ml \ -+ -I +unix unix.cmxa NBDKit.cmx myplugin.ml \ - -cclib -lnbdkitocaml - - You can then use C as an nbdkit plugin (see -diff --git a/plugins/ocaml/Makefile.am b/plugins/ocaml/Makefile.am -index da1b1ec96..e7faae506 100644 ---- a/plugins/ocaml/Makefile.am -+++ b/plugins/ocaml/Makefile.am -@@ -84,7 +84,7 @@ noinst_SCRIPTS = nbdkit-ocamlexample-plugin.so - nbdkit-ocamlexample-plugin.so: example.cmx libnbdkitocaml.la NBDKit.cmi NBDKit.cmx - $(OCAMLOPT) $(OCAMLOPTFLAGS) \ - -output-obj -runtime-variant _pic -o $@ \ -- unix.cmxa NBDKit.cmx $< \ -+ -I +unix unix.cmxa NBDKit.cmx $< \ - -cclib -L.libs -cclib -lnbdkitocaml - example.cmx: example.ml NBDKit.cmi NBDKit.cmx - $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $< -o $@ -diff --git a/tests/Makefile.am b/tests/Makefile.am -index f2912aa93..d8a640e1e 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -1185,7 +1185,7 @@ OCAML_PLUGIN_DEPS = \ - test-ocaml-plugin.so: test_ocaml_plugin.cmx $(OCAML_PLUGIN_DEPS) - $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml \ - -output-obj -runtime-variant _pic -o $@ \ -- unix.cmxa NBDKit.cmx $< \ -+ -I +unix unix.cmxa NBDKit.cmx $< \ - -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml - test_ocaml_plugin.cmx: test_ocaml_plugin.ml $(OCAML_PLUGIN_DEPS) - $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml -c $< -o $@ -@@ -1194,7 +1194,7 @@ test-ocaml-errorcodes-plugin.so: \ - test_ocaml_errorcodes_plugin.cmx $(OCAML_PLUGIN_DEPS) - $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml \ - -output-obj -runtime-variant _pic -o $@ \ -- unix.cmxa NBDKit.cmx $< \ -+ -I +unix unix.cmxa NBDKit.cmx $< \ - -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml - test_ocaml_errorcodes_plugin.cmx: \ - test_ocaml_errorcodes_plugin.ml $(OCAML_PLUGIN_DEPS) -diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh -index 659fa195e..3b4f6a553 100755 ---- a/tests/test-cc-ocaml.sh -+++ b/tests/test-cc-ocaml.sh -@@ -61,6 +61,6 @@ cleanup_fn rm -f $out - rm -f $out - - nbdkit -U - cc $script a=1 b=2 c=3 d=4 \ -- CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ -+ CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ - --run 'nbdinfo --size $uri' > $out - test "$(cat $out)" -eq $((512 * 2048)) -diff --git a/tests/cc_shebang.ml b/tests/cc_shebang.ml -index d78d76618..619b08bb5 100755 ---- a/tests/cc_shebang.ml -+++ b/tests/cc_shebang.ml -@@ -4,7 +4,7 @@ - # shell as an impossible command which is ignored. The line below is - # run by the shell and ignored by OCaml. - --exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" "$@" -+exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" "$@" - *) - - open Printf --- -2.41.0 - diff --git a/0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch b/0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch deleted file mode 100644 index cb00591..0000000 --- a/0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch +++ /dev/null @@ -1,468 +0,0 @@ -From f8b761c62f177176dfe154a95824576eef740827 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 21 Jun 2023 19:07:00 +0100 -Subject: [PATCH 08/16] ocaml: Replace caml_leave_blocking_section with - caml_acquire_runtime_system - -Replace: - - caml_leave_blocking_section - ... - caml_enter_blocking_section - -with the more sensibly named (and equivalent): - - caml_acquire_runtime_system - ... - caml_release_runtime_system - -In addition we must release the runtime system just after caml_startup -and only acquire it around callbacks into OCaml code. (The reason for -this is only apparent in a later commit.) - -OCaml 5 is more strict than earlier versions of OCaml and actually -implements the locks using pthread_mutex_t. So in OCaml 5 you will -see a deadlock error: - - Fatal error: Fatal error during lock: Resource deadlock avoided - -which was caused by attempting to double lock (ie. trying to acquire -the lock, when we already held it from caml_startup). - -Also because of additional strictness we must acquire the lock even -before creating the stack frame with CAMLparam* functions. ---- - plugins/ocaml/plugin.h | 16 ++++----- - plugins/ocaml/plugin.c | 75 +++++++++++++++++++++++------------------- - 2 files changed, 49 insertions(+), 42 deletions(-) - -diff --git a/plugins/ocaml/plugin.h b/plugins/ocaml/plugin.h -index 572c43c04..3d6d27db1 100644 ---- a/plugins/ocaml/plugin.h -+++ b/plugins/ocaml/plugin.h -@@ -47,18 +47,18 @@ caml_alloc_initialized_string (mlsize_t len, const char *p) - #endif - - /* For functions which call into OCaml code, call -- * caml_leave_blocking_section() to prevent other threads running, -- * then caml_enter_blocking_section() on return to C code. This macro -- * ensures that the calls are paired properly. -+ * caml_acquire_runtime_system ... caml_release_runtime_system around -+ * the code. This prevents other threads in the same domain running. -+ * The macro ensures that the calls are paired properly. - */ --#define LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE() \ -- __attribute__ ((unused, cleanup (cleanup_enter_blocking_section))) \ -+#define ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE() \ -+ __attribute__ ((unused, cleanup (cleanup_release_runtime_system))) \ - int _unused; \ -- caml_leave_blocking_section () -+ caml_acquire_runtime_system () - static inline void --cleanup_enter_blocking_section (int *unused) -+cleanup_release_runtime_system (int *unused) - { -- caml_enter_blocking_section (); -+ caml_release_runtime_system (); - } - - #endif /* NBDKIT_OCAML_PLUGIN_H */ -diff --git a/plugins/ocaml/plugin.c b/plugins/ocaml/plugin.c -index 722b95e49..fe781f9af 100644 ---- a/plugins/ocaml/plugin.c -+++ b/plugins/ocaml/plugin.c -@@ -64,6 +64,12 @@ constructor (void) - - /* Initialize OCaml runtime. */ - caml_startup (argv); -+ -+ /* We need to release the runtime system here so other threads may -+ * use it. Before we call any OCaml callbacks we must acquire the -+ * runtime system again. -+ */ -+ caml_release_runtime_system (); - } - - /* Instead of using the NBDKIT_REGISTER_PLUGIN macro, we construct the -@@ -113,7 +119,7 @@ plugin_init (void) - static void - load_wrapper (void) - { -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - caml_callback (load_fn, Val_unit); - } - -@@ -123,8 +129,9 @@ load_wrapper (void) - static void - unload_wrapper (void) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); -+ - if (unload_fn) { -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - caml_callback (unload_fn, Val_unit); - } - -@@ -139,9 +146,9 @@ unload_wrapper (void) - static void - dump_plugin_wrapper (void) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (dump_plugin_fn, Val_unit); - if (Is_exception_result (rv)) -@@ -152,9 +159,9 @@ dump_plugin_wrapper (void) - static int - config_wrapper (const char *key, const char *val) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal3 (keyv, valv, rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - keyv = caml_copy_string (key); - valv = caml_copy_string (val); -@@ -171,9 +178,9 @@ config_wrapper (const char *key, const char *val) - static int - config_complete_wrapper (void) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (config_complete_fn, Val_unit); - if (Is_exception_result (rv)) { -@@ -187,9 +194,9 @@ config_complete_wrapper (void) - static int - thread_model_wrapper (void) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (thread_model_fn, Val_unit); - if (Is_exception_result (rv)) { -@@ -203,9 +210,9 @@ thread_model_wrapper (void) - static int - get_ready_wrapper (void) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (get_ready_fn, Val_unit); - if (Is_exception_result (rv)) { -@@ -219,9 +226,9 @@ get_ready_wrapper (void) - static int - after_fork_wrapper (void) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (after_fork_fn, Val_unit); - if (Is_exception_result (rv)) { -@@ -235,9 +242,9 @@ after_fork_wrapper (void) - static void - cleanup_wrapper (void) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (cleanup_fn, Val_unit); - if (Is_exception_result (rv)) { -@@ -251,9 +258,9 @@ cleanup_wrapper (void) - static int - preconnect_wrapper (int readonly) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (preconnect_fn, Val_bool (readonly)); - if (Is_exception_result (rv)) { -@@ -267,9 +274,9 @@ preconnect_wrapper (int readonly) - static int - list_exports_wrapper (int readonly, int is_tls, struct nbdkit_exports *exports) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal2 (rv, v); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback2_exn (list_exports_fn, Val_bool (readonly), - Val_bool (is_tls)); -@@ -299,10 +306,10 @@ list_exports_wrapper (int readonly, int is_tls, struct nbdkit_exports *exports) - static const char * - default_export_wrapper (int readonly, int is_tls) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); - const char *name; -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback2_exn (default_export_fn, Val_bool (readonly), - Val_bool (is_tls)); -@@ -318,10 +325,10 @@ default_export_wrapper (int readonly, int is_tls) - static void * - open_wrapper (int readonly) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); - value *ret; -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (open_fn, Val_bool (readonly)); - if (Is_exception_result (rv)) { -@@ -341,9 +348,9 @@ open_wrapper (int readonly) - static void - close_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (close_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -360,10 +367,10 @@ close_wrapper (void *h) - static const char * - export_description_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); - const char *desc; -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (export_description_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -378,10 +385,10 @@ export_description_wrapper (void *h) - static int64_t - get_size_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); - int64_t r; -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (get_size_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -397,11 +404,11 @@ static int - block_size_wrapper (void *h, - uint32_t *minimum, uint32_t *preferred, uint32_t *maximum) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); - int i; - int64_t i64; -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (block_size_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -439,9 +446,9 @@ block_size_wrapper (void *h, - static int - can_write_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (can_write_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -455,9 +462,9 @@ can_write_wrapper (void *h) - static int - can_flush_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (can_flush_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -471,9 +478,9 @@ can_flush_wrapper (void *h) - static int - is_rotational_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (is_rotational_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -487,9 +494,9 @@ is_rotational_wrapper (void *h) - static int - can_trim_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (can_trim_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -503,9 +510,9 @@ can_trim_wrapper (void *h) - static int - can_zero_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (can_zero_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -519,9 +526,9 @@ can_zero_wrapper (void *h) - static int - can_fua_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (can_fua_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -535,9 +542,9 @@ can_fua_wrapper (void *h) - static int - can_fast_zero_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (can_fast_zero_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -551,9 +558,9 @@ can_fast_zero_wrapper (void *h) - static int - can_cache_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (can_cache_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -567,9 +574,9 @@ can_cache_wrapper (void *h) - static int - can_extents_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (can_extents_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -583,9 +590,9 @@ can_extents_wrapper (void *h) - static int - can_multi_conn_wrapper (void *h) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - rv = caml_callback_exn (can_multi_conn_fn, *(value *) h); - if (Is_exception_result (rv)) { -@@ -629,10 +636,10 @@ static int - pread_wrapper (void *h, void *buf, uint32_t count, uint64_t offset, - uint32_t flags) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal4 (rv, countv, offsetv, flagsv); - mlsize_t len; -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - countv = Val_int (count); - offsetv = caml_copy_int64 (offset); -@@ -659,9 +666,9 @@ static int - pwrite_wrapper (void *h, const void *buf, uint32_t count, uint64_t offset, - uint32_t flags) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal4 (rv, strv, offsetv, flagsv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - strv = caml_alloc_initialized_string (count, buf); - offsetv = caml_copy_int64 (offset); -@@ -680,9 +687,9 @@ pwrite_wrapper (void *h, const void *buf, uint32_t count, uint64_t offset, - static int - flush_wrapper (void *h, uint32_t flags) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal2 (rv, flagsv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - flagsv = Val_flags (flags); - -@@ -698,9 +705,9 @@ flush_wrapper (void *h, uint32_t flags) - static int - trim_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal4 (rv, countv, offsetv, flagsv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - countv = caml_copy_int64 (count); - offsetv = caml_copy_int64 (offset); -@@ -719,9 +726,9 @@ trim_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) - static int - zero_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal4 (rv, countv, offsetv, flagsv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - countv = caml_copy_int64 (count); - offsetv = caml_copy_int64 (offset); -@@ -741,9 +748,9 @@ static int - extents_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags, - struct nbdkit_extents *extents) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal5 (rv, countv, offsetv, flagsv, v); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - countv = caml_copy_int64 (count); - offsetv = caml_copy_int64 (offset); -@@ -781,9 +788,9 @@ extents_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags, - static int - cache_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) - { -+ ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal4 (rv, countv, offsetv, flagsv); -- LEAVE_BLOCKING_SECTION_FOR_CURRENT_SCOPE (); - - countv = caml_copy_int64 (count); - offsetv = caml_copy_int64 (offset); --- -2.41.0 - diff --git a/0009-ocaml-Always-unregister-the-global-root-and-free-the.patch b/0009-ocaml-Always-unregister-the-global-root-and-free-the.patch deleted file mode 100644 index acb9bc5..0000000 --- a/0009-ocaml-Always-unregister-the-global-root-and-free-the.patch +++ /dev/null @@ -1,65 +0,0 @@ -From f4d5f179c9be6db3c39bc0752e36f262c3f87716 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 21 Jun 2023 20:15:46 +0100 -Subject: [PATCH 09/16] ocaml: Always unregister the global root and free the - handle - -If the OCaml code did not provide a close method, we would never call -close_wrapper, and then we ended up leaking the global root and handle. ---- - plugins/ocaml/plugin.c | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -diff --git a/plugins/ocaml/plugin.c b/plugins/ocaml/plugin.c -index fe781f9af..a4671d6ed 100644 ---- a/plugins/ocaml/plugin.c -+++ b/plugins/ocaml/plugin.c -@@ -76,6 +76,7 @@ constructor (void) - * nbdkit_plugin struct and return it from our own plugin_init - * function. - */ -+static void close_wrapper (void *h); - static void unload_wrapper (void); - static void free_strings (void); - static void remove_roots (void); -@@ -92,6 +93,10 @@ static struct nbdkit_plugin plugin = { - */ - .name = NULL, - -+ /* We always call these, even if the OCaml code does not provide a -+ * callback. -+ */ -+ .close = close_wrapper, - .unload = unload_wrapper, - }; - -@@ -345,6 +350,9 @@ open_wrapper (int readonly) - CAMLreturnT (void *, ret); - } - -+/* We always have a close function, since we need to unregister the -+ * global root and free the handle. -+ */ - static void - close_wrapper (void *h) - { -@@ -352,10 +360,12 @@ close_wrapper (void *h) - CAMLparam0 (); - CAMLlocal1 (rv); - -- rv = caml_callback_exn (close_fn, *(value *) h); -- if (Is_exception_result (rv)) { -- nbdkit_error ("%s", caml_format_exception (Extract_exception (rv))); -- /*FALLTHROUGH*/ -+ if (close_fn) { -+ rv = caml_callback_exn (close_fn, *(value *) h); -+ if (Is_exception_result (rv)) { -+ nbdkit_error ("%s", caml_format_exception (Extract_exception (rv))); -+ /*FALLTHROUGH*/ -+ } - } - - caml_remove_generational_global_root (h); --- -2.41.0 - diff --git a/0010-ocaml-Fix-thread-registration-for-OCaml-5.patch b/0010-ocaml-Fix-thread-registration-for-OCaml-5.patch deleted file mode 100644 index ebf111c..0000000 --- a/0010-ocaml-Fix-thread-registration-for-OCaml-5.patch +++ /dev/null @@ -1,375 +0,0 @@ -From 9d4b87e0338d45456c0506fd2c25b80f7ef6b1e1 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 21 Jun 2023 20:18:58 +0100 -Subject: [PATCH 10/16] ocaml: Fix thread registration for OCaml 5 - -OCaml 5 is strict about registering threads before calling OCaml heap -functions, and will abort the program with this error if you don't do -this correctly: - - Fatal error: no domain lock held - -Fix this as explained in the comment. - -Note (as it's not explained well in the documentation): Threads -created from C are placed in OCaml thread domain 0. In order to add -them to this domain, the main program must not hold on to the runtime -system lock (for domain 0, because that's what caml_startup gives -you). For this to work we must only hold this lock in the main -program briefly around calls to OCaml code, which means we must -release the runtime system after calling caml_startup as we did in an -earlier commit. ---- - plugins/cc/nbdkit-cc-plugin.pod | 4 +-- - plugins/ocaml/nbdkit-ocaml-plugin.pod | 3 +- - plugins/ocaml/Makefile.am | 2 +- - tests/Makefile.am | 4 +-- - plugins/ocaml/plugin.c | 52 +++++++++++++++++++++++++-- - tests/test-cc-ocaml.sh | 2 +- - tests/cc_shebang.ml | 2 +- - 7 files changed, 59 insertions(+), 10 deletions(-) - -diff --git a/plugins/cc/nbdkit-cc-plugin.pod b/plugins/cc/nbdkit-cc-plugin.pod -index f55f74ab0..e393457c4 100644 ---- a/plugins/cc/nbdkit-cc-plugin.pod -+++ b/plugins/cc/nbdkit-cc-plugin.pod -@@ -89,7 +89,7 @@ C as a parameter to exec nbdkit. - =head2 Using this plugin with OCaml - - nbdkit cc CC=ocamlopt \ -- CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ -+ CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ - source.ml - - OCaml plugin scripts can be created using this trick: -@@ -97,7 +97,7 @@ OCaml plugin scripts can be created using this trick: - (*/.)>/dev/null 2>&1 - exec nbdkit cc "$0" \ - CC=ocamlopt \ -- CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ -+ CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ - "$@" - *) - (* followed by OCaml code for the plugin here *) -diff --git a/plugins/ocaml/nbdkit-ocaml-plugin.pod b/plugins/ocaml/nbdkit-ocaml-plugin.pod -index e4a8cf0b0..f1e06d3e2 100644 ---- a/plugins/ocaml/nbdkit-ocaml-plugin.pod -+++ b/plugins/ocaml/nbdkit-ocaml-plugin.pod -@@ -53,7 +53,8 @@ using this command: - - ocamlopt.opt -output-obj -runtime-variant _pic \ - -o nbdkit-myplugin-plugin.so \ -- -I +unix unix.cmxa NBDKit.cmx myplugin.ml \ -+ -I +unix unix.cmxa -I +threads threads.cmxa \ -+ NBDKit.cmx myplugin.ml \ - -cclib -lnbdkitocaml - - You can then use C as an nbdkit plugin (see -diff --git a/plugins/ocaml/Makefile.am b/plugins/ocaml/Makefile.am -index e7faae506..a61550cb9 100644 ---- a/plugins/ocaml/Makefile.am -+++ b/plugins/ocaml/Makefile.am -@@ -84,7 +84,7 @@ noinst_SCRIPTS = nbdkit-ocamlexample-plugin.so - nbdkit-ocamlexample-plugin.so: example.cmx libnbdkitocaml.la NBDKit.cmi NBDKit.cmx - $(OCAMLOPT) $(OCAMLOPTFLAGS) \ - -output-obj -runtime-variant _pic -o $@ \ -- -I +unix unix.cmxa NBDKit.cmx $< \ -+ -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx $< \ - -cclib -L.libs -cclib -lnbdkitocaml - example.cmx: example.ml NBDKit.cmi NBDKit.cmx - $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $< -o $@ -diff --git a/tests/Makefile.am b/tests/Makefile.am -index d8a640e1e..32ebb7002 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -1185,7 +1185,7 @@ OCAML_PLUGIN_DEPS = \ - test-ocaml-plugin.so: test_ocaml_plugin.cmx $(OCAML_PLUGIN_DEPS) - $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml \ - -output-obj -runtime-variant _pic -o $@ \ -- -I +unix unix.cmxa NBDKit.cmx $< \ -+ -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx $< \ - -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml - test_ocaml_plugin.cmx: test_ocaml_plugin.ml $(OCAML_PLUGIN_DEPS) - $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml -c $< -o $@ -@@ -1194,7 +1194,7 @@ test-ocaml-errorcodes-plugin.so: \ - test_ocaml_errorcodes_plugin.cmx $(OCAML_PLUGIN_DEPS) - $(OCAMLOPT) $(OCAMLOPTFLAGS) -I ../plugins/ocaml \ - -output-obj -runtime-variant _pic -o $@ \ -- -I +unix unix.cmxa NBDKit.cmx $< \ -+ -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx $< \ - -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml - test_ocaml_errorcodes_plugin.cmx: \ - test_ocaml_errorcodes_plugin.ml $(OCAML_PLUGIN_DEPS) -diff --git a/plugins/ocaml/plugin.c b/plugins/ocaml/plugin.c -index a4671d6ed..eaa88a925 100644 ---- a/plugins/ocaml/plugin.c -+++ b/plugins/ocaml/plugin.c -@@ -260,9 +260,31 @@ cleanup_wrapper (void) - CAMLreturn0; - } - -+/* A note about nbdkit threads and OCaml: -+ * -+ * OCaml requires that all C threads are registered and unregistered. -+ * -+ * For the main thread callbacks like load, config, get_ready [above -+ * this comment] we don't need to do anything. -+ * -+ * For the connected callbacks [below this comment] nbdkit creates its -+ * own threads but does not provide a way to intercept thread creation -+ * or destruction. However we can register the current thread in -+ * every callback, and unregister the thread only call_wrapper. -+ * -+ * This is safe and cheap: Registering a thread is basically free if -+ * the thread is already registered (the OCaml code checks a -+ * thread-local variable to see if it needs to register). nbdkit will -+ * always call the .close method, which does not necessarily indicate -+ * that the thread is being destroyed, but if the thread is reused we -+ * will register the same thread again when .open or similar is called -+ * next time. -+ */ -+ - static int - preconnect_wrapper (int readonly) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -279,6 +301,7 @@ preconnect_wrapper (int readonly) - static int - list_exports_wrapper (int readonly, int is_tls, struct nbdkit_exports *exports) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal2 (rv, v); -@@ -311,6 +334,7 @@ list_exports_wrapper (int readonly, int is_tls, struct nbdkit_exports *exports) - static const char * - default_export_wrapper (int readonly, int is_tls) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -330,6 +354,7 @@ default_export_wrapper (int readonly, int is_tls) - static void * - open_wrapper (int readonly) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -351,12 +376,13 @@ open_wrapper (int readonly) - } - - /* We always have a close function, since we need to unregister the -- * global root and free the handle. -+ * global root, free the handle and unregister the thread. - */ - static void - close_wrapper (void *h) - { -- ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); -+ caml_c_thread_register (); -+ caml_acquire_runtime_system (); - CAMLparam0 (); - CAMLlocal1 (rv); - -@@ -370,6 +396,8 @@ close_wrapper (void *h) - - caml_remove_generational_global_root (h); - free (h); -+ caml_release_runtime_system (); -+ caml_c_thread_unregister (); - - CAMLreturn0; - } -@@ -377,6 +405,7 @@ close_wrapper (void *h) - static const char * - export_description_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -395,6 +424,7 @@ export_description_wrapper (void *h) - static int64_t - get_size_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -414,6 +444,7 @@ static int - block_size_wrapper (void *h, - uint32_t *minimum, uint32_t *preferred, uint32_t *maximum) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -456,6 +487,7 @@ block_size_wrapper (void *h, - static int - can_write_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -472,6 +504,7 @@ can_write_wrapper (void *h) - static int - can_flush_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -488,6 +521,7 @@ can_flush_wrapper (void *h) - static int - is_rotational_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -504,6 +538,7 @@ is_rotational_wrapper (void *h) - static int - can_trim_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -520,6 +555,7 @@ can_trim_wrapper (void *h) - static int - can_zero_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -536,6 +572,7 @@ can_zero_wrapper (void *h) - static int - can_fua_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -552,6 +589,7 @@ can_fua_wrapper (void *h) - static int - can_fast_zero_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -568,6 +606,7 @@ can_fast_zero_wrapper (void *h) - static int - can_cache_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -584,6 +623,7 @@ can_cache_wrapper (void *h) - static int - can_extents_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -600,6 +640,7 @@ can_extents_wrapper (void *h) - static int - can_multi_conn_wrapper (void *h) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal1 (rv); -@@ -646,6 +687,7 @@ static int - pread_wrapper (void *h, void *buf, uint32_t count, uint64_t offset, - uint32_t flags) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal4 (rv, countv, offsetv, flagsv); -@@ -676,6 +718,7 @@ static int - pwrite_wrapper (void *h, const void *buf, uint32_t count, uint64_t offset, - uint32_t flags) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal4 (rv, strv, offsetv, flagsv); -@@ -697,6 +740,7 @@ pwrite_wrapper (void *h, const void *buf, uint32_t count, uint64_t offset, - static int - flush_wrapper (void *h, uint32_t flags) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal2 (rv, flagsv); -@@ -715,6 +759,7 @@ flush_wrapper (void *h, uint32_t flags) - static int - trim_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal4 (rv, countv, offsetv, flagsv); -@@ -736,6 +781,7 @@ trim_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) - static int - zero_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal4 (rv, countv, offsetv, flagsv); -@@ -758,6 +804,7 @@ static int - extents_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags, - struct nbdkit_extents *extents) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal5 (rv, countv, offsetv, flagsv, v); -@@ -798,6 +845,7 @@ extents_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags, - static int - cache_wrapper (void *h, uint32_t count, uint64_t offset, uint32_t flags) - { -+ caml_c_thread_register (); - ACQUIRE_RUNTIME_FOR_CURRENT_SCOPE (); - CAMLparam0 (); - CAMLlocal4 (rv, countv, offsetv, flagsv); -diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh -index 3b4f6a553..9458201a4 100755 ---- a/tests/test-cc-ocaml.sh -+++ b/tests/test-cc-ocaml.sh -@@ -61,6 +61,6 @@ cleanup_fn rm -f $out - rm -f $out - - nbdkit -U - cc $script a=1 b=2 c=3 d=4 \ -- CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ -+ CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ - --run 'nbdinfo --size $uri' > $out - test "$(cat $out)" -eq $((512 * 2048)) -diff --git a/tests/cc_shebang.ml b/tests/cc_shebang.ml -index 619b08bb5..05ca77b64 100755 ---- a/tests/cc_shebang.ml -+++ b/tests/cc_shebang.ml -@@ -4,7 +4,7 @@ - # shell as an impossible command which is ignored. The line below is - # run by the shell and ignored by OCaml. - --exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa NBDKit.cmx -cclib -lnbdkitocaml" "$@" -+exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" "$@" - *) - - open Printf --- -2.41.0 - diff --git a/0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch b/0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch deleted file mode 100644 index 47186fb..0000000 --- a/0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c78266258709e2cbe6f0e869c866d09ad72c072c Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 22 Jun 2023 10:33:31 +0100 -Subject: [PATCH 11/16] tests/test-cc-ocaml.sh: Use nbdkit -v option to help - with debugging - ---- - tests/test-cc-ocaml.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh -index 9458201a4..fc1335591 100755 ---- a/tests/test-cc-ocaml.sh -+++ b/tests/test-cc-ocaml.sh -@@ -60,7 +60,7 @@ out=test-cc-ocaml.out - cleanup_fn rm -f $out - rm -f $out - --nbdkit -U - cc $script a=1 b=2 c=3 d=4 \ -+nbdkit -v -U - cc $script a=1 b=2 c=3 d=4 \ - CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ - --run 'nbdinfo --size $uri' > $out - test "$(cat $out)" -eq $((512 * 2048)) --- -2.41.0 - diff --git a/0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch b/0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch deleted file mode 100644 index 2d783f0..0000000 --- a/0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch +++ /dev/null @@ -1,324 +0,0 @@ -From d968c4858847388e515bc1ef84ff4479c18a414d Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 22 Jun 2023 10:44:10 +0100 -Subject: [PATCH 12/16] tests: Replace $SRCDIR with $abs_top_srcdir - -functions.sh defines $abs_top_srcdir so there's no need to use $SRCDIR -in any test scripts. ---- - tests/test-cc-cpp.sh | 9 ++------- - tests/test-cc-ocaml.sh | 9 ++------- - tests/test-cc.sh | 9 ++------- - tests/test-python-exception.sh | 12 +++++------- - tests/test-python-export-list.sh | 8 +++----- - tests/test-python-export-name.sh | 8 +++----- - tests/test-python-thread-model.sh | 13 +++++-------- - tests/test-read-password-interactive.sh | 2 +- - tests/test-read-password.sh | 2 +- - tests/test-shebang-cc-ocaml.sh | 3 +-- - tests/test-shebang-cc.sh | 5 ++--- - tests/test-shebang-perl.sh | 4 ++-- - tests/test-shebang-python.sh | 4 ++-- - 13 files changed, 31 insertions(+), 57 deletions(-) - -diff --git a/tests/test-cc-cpp.sh b/tests/test-cc-cpp.sh -index 9a4c16242..7c7bf6353 100755 ---- a/tests/test-cc-cpp.sh -+++ b/tests/test-cc-cpp.sh -@@ -37,12 +37,7 @@ source ./functions.sh - set -e - set -x - --if test "$SRCDIR" = ""; then -- echo "$0: \$SRCDIR is not set" -- exit 1 --fi -- --script=$SRCDIR/test-cc-cpp.cpp -+script=$abs_top_srcdir/tests/test-cc-cpp.cpp - if test ! -f "$script"; then - echo "$0: could not locate test-cc-cpp.cpp" - exit 1 -@@ -59,6 +54,6 @@ rm -f $out - - nbdkit -U - cc $script \ - CC="$CXX" \ -- EXTRA_CFLAGS="-I$SRCDIR/../include" \ -+ EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ - --run 'nbdinfo --size $uri' > $out - test "$(cat $out)" -eq $((100 * 1024 * 1024)) -diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh -index fc1335591..db7d252cf 100755 ---- a/tests/test-cc-ocaml.sh -+++ b/tests/test-cc-ocaml.sh -@@ -37,12 +37,7 @@ source ./functions.sh - set -e - set -x - --if test "$SRCDIR" = ""; then -- echo "$0: \$SRCDIR is not set" -- exit 1 --fi -- --script=$SRCDIR/test_ocaml_plugin.ml -+script=$abs_top_srcdir/tests/test_ocaml_plugin.ml - if test ! -f "$script"; then - echo "$0: could not locate test_ocaml_plugin.ml" - exit 1 -@@ -61,6 +56,6 @@ cleanup_fn rm -f $out - rm -f $out - - nbdkit -v -U - cc $script a=1 b=2 c=3 d=4 \ -- CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $SRCDIR/../plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ -+ CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $abs_top_srcdir/plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ - --run 'nbdinfo --size $uri' > $out - test "$(cat $out)" -eq $((512 * 2048)) -diff --git a/tests/test-cc.sh b/tests/test-cc.sh -index 2a719d314..5214327bd 100755 ---- a/tests/test-cc.sh -+++ b/tests/test-cc.sh -@@ -37,12 +37,7 @@ source ./functions.sh - set -e - set -x - --if test "$SRCDIR" = ""; then -- echo "$0: \$SRCDIR is not set" -- exit 1 --fi -- --script=$SRCDIR/cc-shebang.c -+script=$abs_top_srcdir/tests/cc-shebang.c - if test ! -f "$script"; then - echo "$0: could not locate cc-shebang.c" - exit 1 -@@ -57,6 +52,6 @@ cleanup_fn rm -f $out - rm -f $out - - nbdkit -U - cc $script \ -- EXTRA_CFLAGS="-I$SRCDIR/../include" \ -+ EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ - --run 'nbdinfo --size $uri' > $out - test "$(cat $out)" -eq $((100 * 1024 * 1024)) -diff --git a/tests/test-python-exception.sh b/tests/test-python-exception.sh -index a9fb146a6..54c29e66e 100755 ---- a/tests/test-python-exception.sh -+++ b/tests/test-python-exception.sh -@@ -34,23 +34,21 @@ source ./functions.sh - set -e - set -x - --if test ! -d "$SRCDIR"; then -- echo "$0: could not locate python-exception.py" -- exit 1 --fi -- - skip_if_valgrind "because Python code leaks memory" - -+script=$abs_top_srcdir/tests/python-exception.py -+test -f "$script" -+ - output=test-python-exception.out - rm -f $output - cleanup_fn rm -f $output - --nbdkit -f -v python $SRCDIR/python-exception.py test=simple > $output 2>&1 ||: -+nbdkit -f -v python $script test=simple > $output 2>&1 ||: - cat $output - - grep 'this is the test string' $output - --nbdkit -f -v python $SRCDIR/python-exception.py test=traceback > $output 2>&1 ||: -+nbdkit -f -v python $script test=traceback > $output 2>&1 ||: - cat $output - - grep 'raise_error1' $output -diff --git a/tests/test-python-export-list.sh b/tests/test-python-export-list.sh -index 49ca62e49..08774b9f3 100755 ---- a/tests/test-python-export-list.sh -+++ b/tests/test-python-export-list.sh -@@ -34,10 +34,8 @@ source ./functions.sh - set -e - set -x - --if test ! -d "$SRCDIR"; then -- echo "$0: could not locate python-export-list.py" -- exit 1 --fi -+script=$abs_top_srcdir/tests/python-export-list.py -+test -f "$script" - - skip_if_valgrind "because Python code leaks memory" - requires_nbdinfo -@@ -52,7 +50,7 @@ files="$pid $sock $out" - rm -f $files - cleanup_fn rm -f $files - --start_nbdkit -P $pid -U $sock python $SRCDIR/python-export-list.py -+start_nbdkit -P $pid -U $sock python $script - - nbdinfo --list --json nbd+unix://\?socket=$sock > $out - cat $out -diff --git a/tests/test-python-export-name.sh b/tests/test-python-export-name.sh -index 99f292d2a..7680ae1e0 100755 ---- a/tests/test-python-export-name.sh -+++ b/tests/test-python-export-name.sh -@@ -34,10 +34,8 @@ source ./functions.sh - set -e - set -x - --if test ! -d "$SRCDIR"; then -- echo "$0: could not locate python-export-name.py" -- exit 1 --fi -+script=$abs_top_srcdir/tests/python-export-name.py -+test -f "$script" - - skip_if_valgrind "because Python code leaks memory" - requires nbdsh --version -@@ -48,7 +46,7 @@ files="$pid $sock" - rm -f $files - cleanup_fn rm -f $files - --start_nbdkit -P $pid -U $sock python $SRCDIR/python-export-name.py -+start_nbdkit -P $pid -U $sock python $script - - # Try to read back various export names from the plugin. - for e in "" "test" "/" "//" " " "/ " "?" "テスト" "-n" '\\' $'\n' "%%" \ -diff --git a/tests/test-python-thread-model.sh b/tests/test-python-thread-model.sh -index 69b3d5c76..a0dea2386 100755 ---- a/tests/test-python-thread-model.sh -+++ b/tests/test-python-thread-model.sh -@@ -34,22 +34,19 @@ source ./functions.sh - set -e - set -x - --SCRIPT="$SRCDIR/python-thread-model.py" --if ! test -d "$SRCDIR" || ! test -f "$SCRIPT"; then -- echo "$0: could not locate python-thread-model.py" -- exit 1 --fi -+script="$abs_top_srcdir/tests/python-thread-model.py" -+test -f "$script" - - skip_if_valgrind "because Python code leaks memory" - requires nbdsh --version - - # Check the plugin is loadable. --nbdkit python $SCRIPT --dump-plugin -+nbdkit python $script --dump-plugin - - # This test only works on modern Linux (with pipe2, accept4 etc) where - # we are able to issue parallel requests. Other platforms have more - # restrictive thread models. --requires sh -c "nbdkit python $SCRIPT --dump-plugin | -+requires sh -c "nbdkit python $script --dump-plugin | - grep '^thread_model=parallel'" - - pid=test-python-thread-model.pid -@@ -58,7 +55,7 @@ files="$out $pid $sock" - rm -f $files - cleanup_fn rm -f $files - --start_nbdkit -P $pid -U $sock python $SCRIPT -+start_nbdkit -P $pid -U $sock python $script - - export sock - nbdsh -c ' -diff --git a/tests/test-read-password-interactive.sh b/tests/test-read-password-interactive.sh -index 7af48492b..ee345872e 100755 ---- a/tests/test-read-password-interactive.sh -+++ b/tests/test-read-password-interactive.sh -@@ -36,7 +36,7 @@ set -x - - # This is an executable C script using nbdkit-cc-plugin. - requires_plugin cc --plugin=$SRCDIR/test-read-password-plugin.c -+plugin=$abs_top_srcdir/tests/test-read-password-plugin.c - requires test -x $plugin - - # expect on macOS does not work for unclear reasons, skip it. -diff --git a/tests/test-read-password.sh b/tests/test-read-password.sh -index 234162bc3..d0033dceb 100755 ---- a/tests/test-read-password.sh -+++ b/tests/test-read-password.sh -@@ -36,7 +36,7 @@ set -x - - # This is an executable C script using nbdkit-cc-plugin. - requires_plugin cc --plugin=$SRCDIR/test-read-password-plugin.c -+plugin=$abs_top_srcdir/tests/test-read-password-plugin.c - requires test -x $plugin - - # Since we are matching on error messages. -diff --git a/tests/test-shebang-cc-ocaml.sh b/tests/test-shebang-cc-ocaml.sh -index 41e2f3db5..9eebcf07c 100755 ---- a/tests/test-shebang-cc-ocaml.sh -+++ b/tests/test-shebang-cc-ocaml.sh -@@ -32,8 +32,7 @@ - - source ./functions.sh - --script=$SRCDIR/cc_shebang.ml -- -+script=$abs_top_srcdir/tests/cc_shebang.ml - if test ! -f "$script"; then - echo "$0: could not locate cc_shebang.ml" - exit 1 -diff --git a/tests/test-shebang-cc.sh b/tests/test-shebang-cc.sh -index 6ae75abed..a5e557648 100755 ---- a/tests/test-shebang-cc.sh -+++ b/tests/test-shebang-cc.sh -@@ -35,8 +35,7 @@ - - source ./functions.sh - --script=$SRCDIR/cc-shebang.c -- -+script=$abs_top_srcdir/tests/cc-shebang.c - if test ! -f "$script"; then - echo "$0: could not locate cc-shebang.c" - exit 1 -@@ -46,7 +45,7 @@ requires_plugin cc - requires guestfish --version - - $script -fv -U - \ -- EXTRA_CFLAGS="-I$SRCDIR/../include" \ -+ EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ - --run ' - guestfish \ - add "" protocol:nbd server:unix:$unixsocket : \ -diff --git a/tests/test-shebang-perl.sh b/tests/test-shebang-perl.sh -index 5f35d75b4..65bb7a403 100755 ---- a/tests/test-shebang-perl.sh -+++ b/tests/test-shebang-perl.sh -@@ -34,9 +34,9 @@ source ./functions.sh - - pidfile=shebang-perl.pid - sock=$(mktemp -u /tmp/nbdkit-test-sock.XXXXXX) --script=$SRCDIR/shebang.pl -+script=$abs_top_srcdir/tests/shebang.pl - --if test ! -d "$SRCDIR"; then -+if test ! -f "$script"; then - echo "$0: could not locate shebang.pl" - exit 1 - fi -diff --git a/tests/test-shebang-python.sh b/tests/test-shebang-python.sh -index fb851de94..8674f2fa1 100755 ---- a/tests/test-shebang-python.sh -+++ b/tests/test-shebang-python.sh -@@ -34,9 +34,9 @@ source ./functions.sh - - pidfile=shebang-python.pid - sock=$(mktemp -u /tmp/nbdkit-test-sock.XXXXXX) --script=$SRCDIR/shebang.py -+script=$abs_top_srcdir/tests/shebang.py - --if test ! -d "$SRCDIR"; then -+if test ! -f "$script"; then - echo "$0: could not locate shebang.py" - exit 1 - fi --- -2.41.0 - diff --git a/0013-tests-test-read-password-Remove-use-of-SRCDIR.patch b/0013-tests-test-read-password-Remove-use-of-SRCDIR.patch deleted file mode 100644 index 0d14568..0000000 --- a/0013-tests-test-read-password-Remove-use-of-SRCDIR.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 92ae65f93d8ebeb09500552d7ebfc1e8149ded6f Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 22 Jun 2023 10:48:51 +0100 -Subject: [PATCH 13/16] tests/test-read-password*: Remove use of $SRCDIR - -These tests required exporting $abs_top_srcdir so that the plugin -(which is a C script) can use it. ---- - tests/test-read-password-interactive.sh | 3 +++ - tests/test-read-password.sh | 3 +++ - tests/test-read-password-plugin.c | 2 +- - 3 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/tests/test-read-password-interactive.sh b/tests/test-read-password-interactive.sh -index ee345872e..2738922f4 100755 ---- a/tests/test-read-password-interactive.sh -+++ b/tests/test-read-password-interactive.sh -@@ -39,6 +39,9 @@ requires_plugin cc - plugin=$abs_top_srcdir/tests/test-read-password-plugin.c - requires test -x $plugin - -+# This variable is used by $plugin. -+export abs_top_srcdir -+ - # expect on macOS does not work for unclear reasons, skip it. - requires_not test "$(uname)" = "Darwin" - -diff --git a/tests/test-read-password.sh b/tests/test-read-password.sh -index d0033dceb..8243d5491 100755 ---- a/tests/test-read-password.sh -+++ b/tests/test-read-password.sh -@@ -39,6 +39,9 @@ requires_plugin cc - plugin=$abs_top_srcdir/tests/test-read-password-plugin.c - requires test -x $plugin - -+# This variable is used by $plugin. -+export abs_top_srcdir -+ - # Since we are matching on error messages. - export LANG=C - -diff --git a/tests/test-read-password-plugin.c b/tests/test-read-password-plugin.c -index d8faea4e3..397f69d72 100755 ---- a/tests/test-read-password-plugin.c -+++ b/tests/test-read-password-plugin.c -@@ -1,5 +1,5 @@ - #if 0 --exec nbdkit cc "$0" "$@" EXTRA_CFLAGS="-I.. -I${SRCDIR:-.}/../include" -+exec nbdkit cc "$0" "$@" EXTRA_CFLAGS="-I.. -I$abs_top_srcdir/include" - #endif - /* nbdkit - * Copyright Red Hat --- -2.41.0 - diff --git a/0014-tests-Stop-setting-SRCDIR-for-tests.patch b/0014-tests-Stop-setting-SRCDIR-for-tests.patch deleted file mode 100644 index 2ff84a2..0000000 --- a/0014-tests-Stop-setting-SRCDIR-for-tests.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 2e3dcb2a720e4258b54d04ffd081c5159783df8e Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 22 Jun 2023 10:50:17 +0100 -Subject: [PATCH 14/16] tests: Stop setting $SRCDIR for tests - -Since no tests use this variable any longer we can stop setting it. - -However note that make-psk.sh still uses the same-named (but not -connected) variable. ---- - tests/Makefile.am | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 32ebb7002..2921076de 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -63,7 +63,6 @@ EXTRA_PROGRAMS = - # Use the 'direct' backend, and ensure maximum libguestfs debugging. - # Enable libnbd debugging. - TESTS_ENVIRONMENT = \ -- SRCDIR=$(srcdir) \ - LIBGUESTFS_ATTACH_METHOD=appliance \ - LIBGUESTFS_DEBUG=1 \ - LIBGUESTFS_TRACE=1 \ --- -2.41.0 - diff --git a/0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch b/0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch deleted file mode 100644 index e1b9e45..0000000 --- a/0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 3e4c1b79a72970c17cb42b21070e61ec634a38bb Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 22 Jun 2023 11:15:27 +0100 -Subject: [PATCH 15/16] tests: Explicitly add -L../plugins/ocaml/.libs to find - -lnbdkitocaml - -The actual libnbdkitocaml.so library is located in -plugins/ocaml/.libs, but we were only specifying plugins/ocaml as the -search path. How did it ever work? Turns out using LD_LIBRARY_PATH -set in wrapper.c. It seems unreliable to rely on this, so set the -path properly, as we are already doing elsewhere. ---- - tests/test-cc-ocaml.sh | 2 +- - tests/cc_shebang.ml | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh -index db7d252cf..97a1c89e3 100755 ---- a/tests/test-cc-ocaml.sh -+++ b/tests/test-cc-ocaml.sh -@@ -56,6 +56,6 @@ cleanup_fn rm -f $out - rm -f $out - - nbdkit -v -U - cc $script a=1 b=2 c=3 d=4 \ -- CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $abs_top_srcdir/plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" \ -+ CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $abs_top_srcdir/plugins/ocaml -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml" \ - --run 'nbdinfo --size $uri' > $out - test "$(cat $out)" -eq $((512 * 2048)) -diff --git a/tests/cc_shebang.ml b/tests/cc_shebang.ml -index 05ca77b64..57ad85791 100755 ---- a/tests/cc_shebang.ml -+++ b/tests/cc_shebang.ml -@@ -4,7 +4,7 @@ - # shell as an impossible command which is ignored. The line below is - # run by the shell and ignored by OCaml. - --exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -lnbdkitocaml" "$@" -+exec nbdkit cc "$0" CC=ocamlopt CFLAGS="-output-obj -runtime-variant _pic -I +unix unix.cmxa -I +threads threads.cmxa NBDKit.cmx -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml" "$@" - *) - - open Printf --- -2.41.0 - diff --git a/0016-perl-Call-PERL_SET_CONTEXT-from-.open-method.patch b/0016-perl-Call-PERL_SET_CONTEXT-from-.open-method.patch deleted file mode 100644 index 0a12e96..0000000 --- a/0016-perl-Call-PERL_SET_CONTEXT-from-.open-method.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 495708e9d1b396ff450df15d5789b4f6c51f6ebc Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 13 Jul 2023 11:50:02 +0100 -Subject: [PATCH 16/16] perl: Call PERL_SET_CONTEXT from .open method - -This appears to be necessary with Perl 5.38. ---- - plugins/perl/perl.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/plugins/perl/perl.c b/plugins/perl/perl.c -index d3b7cede2..1d8d0c2b4 100644 ---- a/plugins/perl/perl.c -+++ b/plugins/perl/perl.c -@@ -339,6 +339,21 @@ perl_open (int readonly) - SV *sv; - dSP; - -+ /* -+ * From perlembed(1): -+ * -+ * "PERL_SET_CONTEXT(interp) should also be called whenever "interp" -+ * is used by a thread that did not create it (using either -+ * perl_alloc(), or the more esoteric perl_clone())." -+ * -+ * Since we may be called here from a new thread created within -+ * nbdkit, do this. This is necessary since Perl 5.38. It didn't -+ * seem to make a difference with earlier Perl, but doesn't break -+ * them either. -+ */ -+ -+ PERL_SET_CONTEXT (my_perl); -+ - /* We check in perl_config that this callback is defined. */ - ENTER; - SAVETMPS; --- -2.41.0 - diff --git a/nbdkit.spec b/nbdkit.spec index f916994..d47cae7 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -45,14 +45,14 @@ ExclusiveArch: x86_64 %global verify_tarball_signature 1 # If there are patches which touch autotools files, set this to 1. -%global patches_touch_autotools 1 +%global patches_touch_autotools %{nil} # The source directory. %global source_directory 1.35-development Name: nbdkit -Version: 1.35.5 -Release: 6%{?dist} +Version: 1.35.6 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -78,25 +78,6 @@ Source3: copy-patches.sh Source4: nbdkit.attr Source5: nbdkit-find-provides -# All upstream patches since 1.35.5 was released. These are needed -# to fix OCaml 5 builds. -Patch: 0001-tests-test-tar-info-Remove-bogus-test-requires-of-gu.patch -Patch: 0002-tar-Document-the-optional-tar-option-in-help-output-.patch -Patch: 0003-tar-Implement-tar-limit.patch -Patch: 0004-xz-Fix-error-message-to-refer-to-xz-max-block-parame.patch -Patch: 0005-configure-Recommend-using-g-with-OCAMLOPTFLAGS.patch -Patch: 0006-tests-test_ocaml_plugin.ml-Print-a-message-when-test.patch -Patch: 0007-ocaml-Add-I-unix-before-using-unix.cmxa.patch -Patch: 0008-ocaml-Replace-caml_leave_blocking_section-with-caml_.patch -Patch: 0009-ocaml-Always-unregister-the-global-root-and-free-the.patch -Patch: 0010-ocaml-Fix-thread-registration-for-OCaml-5.patch -Patch: 0011-tests-test-cc-ocaml.sh-Use-nbdkit-v-option-to-help-w.patch -Patch: 0012-tests-Replace-SRCDIR-with-abs_top_srcdir.patch -Patch: 0013-tests-test-read-password-Remove-use-of-SRCDIR.patch -Patch: 0014-tests-Stop-setting-SRCDIR-for-tests.patch -Patch: 0015-tests-Explicitly-add-L.-plugins-ocaml-.libs-to-find-.patch -Patch: 0016-perl-Call-PERL_SET_CONTEXT-from-.open-method.patch - BuildRequires: make %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool @@ -1236,6 +1217,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Fri Jul 14 2023 Richard W.M. Jones - 1.35.6-1 +- New upstream development version 1.35.6 + * Thu Jul 13 2023 Jitka Plesnikova - 1.35.5-6 - Perl 5.38 re-rebuild updated packages diff --git a/sources b/sources index a96756c..c6f5d88 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.5.tar.gz) = aa0ddefa6073a20bda78bcc2a4295429a7f2ad98fe3bc3f0b7d6275878b3ec1ffb99e2a4cb0abc470d7c104179de627181ac1afacc991e37114f574f4da2b7d7 -SHA512 (nbdkit-1.35.5.tar.gz.sig) = 170e0d3d7d79811026ad313f1bb315685ba674319c76e42648c14bd0f300f28ec9304eae77e0e4489308229e73ac98469bfb0f2095ee091aa5b26e53f29a0ec0 +SHA512 (nbdkit-1.35.6.tar.gz) = f174429708bf5db232cdb60c6e2f0ec95274af8d28c0db9593c1ff56aa9c56f7fe11ecc298049b6a61b7e49dc2daa1287b5facd2fe364471c8f01640f07251e9 +SHA512 (nbdkit-1.35.6.tar.gz.sig) = baf455715cd446793fb385cc950632e7e33a3d1af6e0cfeb5a23050f2d99b93e2c97a8ad116186ff763c73ac236c10ebcd5befb731bde9c78e3915138cf34a47 From 862741709130efe88f549440ba00b037f507eb48 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 16:21:30 +0000 Subject: [PATCH 039/195] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index d47cae7..b9fbaad 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.35.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1217,6 +1217,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Thu Jul 20 2023 Fedora Release Engineering - 1.35.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Fri Jul 14 2023 Richard W.M. Jones - 1.35.6-1 - New upstream development version 1.35.6 From 1d8d0cb3a29b647dee2bc95998baecaee6297da4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 23 Jul 2023 12:47:39 +0100 Subject: [PATCH 040/195] New upstream development version 1.35.7 New nbdkit-qcow2dec-filter. --- nbdkit.spec | 22 +++++++++++++++++++--- sources | 4 ++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index b9fbaad..9bf0272 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,8 +51,8 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.6 -Release: 2%{?dist} +Version: 1.35.7 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -554,6 +554,10 @@ nbdkit-pause-filter Pause NBD requests. nbdkit-protect-filter Write-protect parts of a plugin. +%if !0%{?rhel} +nbdkit-qcow2dec-filter Decode qcow2 files. + +%endif nbdkit-rate-filter Limit bandwidth by connection or server. nbdkit-readahead-filter Prefetch data when reading sequentially. @@ -741,13 +745,15 @@ find $RPM_BUILD_ROOT -name '*.la' -delete rm -f $RPM_BUILD_ROOT%{_mandir}/man3/nbdkit-rust-plugin.3* %if 0%{?rhel} -# In RHEL, remove some plugins we cannot --disable. +# In RHEL, remove some plugins and filters we cannot --disable. for f in cc cdi ; do rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/nbdkit-$f-plugin.so rm -f $RPM_BUILD_ROOT%{_mandir}/man?/nbdkit-$f-plugin.* done rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/nbdkit-S3-plugin rm -f $RPM_BUILD_ROOT%{_mandir}/man1/nbdkit-S3-plugin.1* +rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/filters/nbdkit-qcow2dec-filter.so +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/nbdkit-qcow2dec-filter.so %endif # Install RPM dependency generator. @@ -1086,6 +1092,9 @@ export LIBGUESTFS_TRACE=1 %{_libdir}/%{name}/filters/nbdkit-partition-filter.so %{_libdir}/%{name}/filters/nbdkit-pause-filter.so %{_libdir}/%{name}/filters/nbdkit-protect-filter.so +%if !0%{?rhel} +%{_libdir}/%{name}/filters/nbdkit-qcow2dec-filter.so +%endif %{_libdir}/%{name}/filters/nbdkit-rate-filter.so %{_libdir}/%{name}/filters/nbdkit-readahead-filter.so %{_libdir}/%{name}/filters/nbdkit-retry-filter.so @@ -1123,6 +1132,9 @@ export LIBGUESTFS_TRACE=1 %{_mandir}/man1/nbdkit-partition-filter.1* %{_mandir}/man1/nbdkit-pause-filter.1* %{_mandir}/man1/nbdkit-protect-filter.1* +%if !0%{?rhel} +%{_mandir}/man1/nbdkit-qcow2dec-filter.1* +%endif %{_mandir}/man1/nbdkit-rate-filter.1* %{_mandir}/man1/nbdkit-readahead-filter.1* %{_mandir}/man1/nbdkit-retry-filter.1* @@ -1217,6 +1229,10 @@ export LIBGUESTFS_TRACE=1 %changelog +* Sun Jul 23 2023 Richard W.M. Jones - 1.35.7-1 +- New upstream development version 1.35.7 +- New nbdkit-qcow2dec-filter. + * Thu Jul 20 2023 Fedora Release Engineering - 1.35.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index c6f5d88..14fab60 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.6.tar.gz) = f174429708bf5db232cdb60c6e2f0ec95274af8d28c0db9593c1ff56aa9c56f7fe11ecc298049b6a61b7e49dc2daa1287b5facd2fe364471c8f01640f07251e9 -SHA512 (nbdkit-1.35.6.tar.gz.sig) = baf455715cd446793fb385cc950632e7e33a3d1af6e0cfeb5a23050f2d99b93e2c97a8ad116186ff763c73ac236c10ebcd5befb731bde9c78e3915138cf34a47 +SHA512 (nbdkit-1.35.7.tar.gz) = cea70ac04b0a2af051c23b48e04c4790d61b73546a006556e82cae72789d044fe4f40874fd0dc37fc693e3c42c57f13a184e2edb359cd3793547a90486017ed7 +SHA512 (nbdkit-1.35.7.tar.gz.sig) = c05ca3ed253f42d8c046cd21eab905a8ab86d070fd0a97eedf21dd05be72caeb7934df23a04e6084980917b7246a06f50550bcf1a9ed7f5049fa8e01f7056f0f From 6152bf0661eceab18092d1d5d1e323e316dba9c9 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 23 Jul 2023 14:48:11 +0100 Subject: [PATCH 041/195] Remove correct file for ELN builds --- nbdkit.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 9bf0272..08b5728 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -52,7 +52,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.35.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -753,7 +753,7 @@ done rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/nbdkit-S3-plugin rm -f $RPM_BUILD_ROOT%{_mandir}/man1/nbdkit-S3-plugin.1* rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/filters/nbdkit-qcow2dec-filter.so -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/nbdkit-qcow2dec-filter.so +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/nbdkit-qcow2dec-filter.1* %endif # Install RPM dependency generator. @@ -1229,7 +1229,7 @@ export LIBGUESTFS_TRACE=1 %changelog -* Sun Jul 23 2023 Richard W.M. Jones - 1.35.7-1 +* Sun Jul 23 2023 Richard W.M. Jones - 1.35.7-2 - New upstream development version 1.35.7 - New nbdkit-qcow2dec-filter. From d284db54e9190d3444335d62d9ca404d7b75ff2d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 1 Aug 2023 11:18:13 +0100 Subject: [PATCH 042/195] New upstream development version 1.35.8 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 08b5728..0a8a1d8 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,8 +51,8 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.7 -Release: 2%{?dist} +Version: 1.35.8 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1229,6 +1229,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Tue Aug 01 2023 Richard W.M. Jones - 1.35.8-1 +- New upstream development version 1.35.8 + * Sun Jul 23 2023 Richard W.M. Jones - 1.35.7-2 - New upstream development version 1.35.7 - New nbdkit-qcow2dec-filter. diff --git a/sources b/sources index 14fab60..e2799bc 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.7.tar.gz) = cea70ac04b0a2af051c23b48e04c4790d61b73546a006556e82cae72789d044fe4f40874fd0dc37fc693e3c42c57f13a184e2edb359cd3793547a90486017ed7 -SHA512 (nbdkit-1.35.7.tar.gz.sig) = c05ca3ed253f42d8c046cd21eab905a8ab86d070fd0a97eedf21dd05be72caeb7934df23a04e6084980917b7246a06f50550bcf1a9ed7f5049fa8e01f7056f0f +SHA512 (nbdkit-1.35.8.tar.gz) = 94963547f7ea421cf909ff758deae3a3fb45652ed7e5d7b3d7b85cbcfe4831b5d8552b780d4390690cff364d3459e0d350a33274332f08ba2a242a7a4c2efcc9 +SHA512 (nbdkit-1.35.8.tar.gz.sig) = ac387049563347a7d4af80a22dbc46ea6fa48114006c110dd2eab84e5bca4c3c8198e1fd6b16f0c0edc80d3d3b5d69f5204c35bc081c271738f2302ca18094e6 From 192bd7dee05a4b497469a4c7f266681b83bf88d1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 5 Aug 2023 11:24:09 +0100 Subject: [PATCH 043/195] New upstream development version 1.35.9 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 0a8a1d8..549bb1e 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,7 +51,7 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.8 +Version: 1.35.9 Release: 1%{?dist} Summary: NBD server @@ -1229,6 +1229,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Sat Aug 05 2023 Richard W.M. Jones - 1.35.9-1 +- New upstream development version 1.35.9 + * Tue Aug 01 2023 Richard W.M. Jones - 1.35.8-1 - New upstream development version 1.35.8 diff --git a/sources b/sources index e2799bc..f73fee0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.8.tar.gz) = 94963547f7ea421cf909ff758deae3a3fb45652ed7e5d7b3d7b85cbcfe4831b5d8552b780d4390690cff364d3459e0d350a33274332f08ba2a242a7a4c2efcc9 -SHA512 (nbdkit-1.35.8.tar.gz.sig) = ac387049563347a7d4af80a22dbc46ea6fa48114006c110dd2eab84e5bca4c3c8198e1fd6b16f0c0edc80d3d3b5d69f5204c35bc081c271738f2302ca18094e6 +SHA512 (nbdkit-1.35.9.tar.gz) = ba9ad07eed2b0e9fe61c31885cb7e282f943f0c6d661c9125cfb264a910aca9a4f0bf865bb17103187666c909f8bab682aeb1f7188760e63ccafacc40c4612b1 +SHA512 (nbdkit-1.35.9.tar.gz.sig) = c18ffdbe1f9a879fc3bc16bf4912d345b1ef3301b9a286b9da771809bc6c51d57407753ffd5935e8201100c6ec3be3de6bd013a4086a7f86164d1e8831f1d613 From cba3facac0ceda17003e9d28de080337d10ae95a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 5 Aug 2023 12:25:38 +0100 Subject: [PATCH 044/195] Disable libblkio on i686 (RHBZ#2229372) --- nbdkit.spec | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 549bb1e..eafe14b 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -21,6 +21,14 @@ %global have_ocaml 1 %endif +# We don't yet have libblkio on RHEL. +# libblkio is broken on i686: https://bugzilla.redhat.com/2229372 +%if !0%{?rhel} +%ifnarch %{ix86} +%global have_blkio 1 +%endif +%endif + # Architectures where we run the complete test suite including # the libguestfs tests. # @@ -101,6 +109,8 @@ BuildRequires: e2fsprogs, e2fsprogs-devel %if !0%{?rhel} BuildRequires: xorriso BuildRequires: rb_libtorrent-devel +%endif +%if 0%{?have_blkio} BuildRequires: libblkio-devel %endif BuildRequires: bash-completion @@ -259,7 +269,7 @@ This package contains example plugins for %{name}. # The plugins below have non-trivial dependencies are so are # packaged separately. -%if !0%{?rhel} +%if 0%{?have_blkio} %package blkio-plugin Summary: libblkio NVMe, vhost-user, vDPA, VFIO plugin for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} @@ -695,7 +705,6 @@ export PYTHON=%{__python3} --enable-ruby \ --enable-tcl \ --enable-torrent \ - --with-libblkio \ --with-ext2 \ --with-iso \ --with-libvirt \ @@ -705,11 +714,15 @@ export PYTHON=%{__python3} --disable-ruby \ --disable-tcl \ --disable-torrent \ - --without-libblkio \ --without-ext2 \ --without-iso \ --without-libvirt \ %endif +%if 0%{?have_blkio} + --with-libblkio \ +%else + --without-libblkio \ +%endif %ifarch x86_64 --enable-vddk \ %else @@ -887,7 +900,7 @@ export LIBGUESTFS_TRACE=1 %{_mandir}/man1/nbdkit-example*-plugin.1* -%if !0%{?rhel} +%if 0%{?have_blkio} %files blkio-plugin %doc README.md %license LICENSE @@ -1231,6 +1244,7 @@ export LIBGUESTFS_TRACE=1 %changelog * Sat Aug 05 2023 Richard W.M. Jones - 1.35.9-1 - New upstream development version 1.35.9 +- Disable libblkio on i686 (RHBZ#2229372) * Tue Aug 01 2023 Richard W.M. Jones - 1.35.8-1 - New upstream development version 1.35.8 From 6bc107126658f95ac78c6fcf9b48be63dbb8594c Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 12 Aug 2023 12:16:58 +0100 Subject: [PATCH 045/195] New upstream development version 1.35.10 Use zlib-ng on Fedora but not RHEL. --- nbdkit.spec | 14 +++++++++++++- sources | 4 ++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index eafe14b..13ea127 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -59,7 +59,7 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.9 +Version: 1.35.10 Release: 1%{?dist} Summary: NBD server @@ -101,6 +101,9 @@ BuildRequires: libguestfs-devel BuildRequires: libvirt-devel BuildRequires: xz-devel BuildRequires: zlib-devel +%if !0%{?rhel} +BuildRequires: zlib-ng-devel +%endif BuildRequires: libzstd-devel BuildRequires: libcurl-devel BuildRequires: libnbd-devel >= 1.3.11 @@ -689,6 +692,11 @@ export PYTHON=%{__python3} --with-selinux \ --with-ssh \ --with-zlib \ +%if !0%{?rhel} + --with-zlib-ng \ +%else + --without-zlib-ng \ +%endif --enable-linuxdisk \ --enable-python \ --disable-golang \ @@ -1242,6 +1250,10 @@ export LIBGUESTFS_TRACE=1 %changelog +* Sat Aug 12 2023 Richard W.M. Jones - 1.35.10-1 +- New upstream development version 1.35.10 +- Use zlib-ng on Fedora but not RHEL. + * Sat Aug 05 2023 Richard W.M. Jones - 1.35.9-1 - New upstream development version 1.35.9 - Disable libblkio on i686 (RHBZ#2229372) diff --git a/sources b/sources index f73fee0..8f81ae0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.9.tar.gz) = ba9ad07eed2b0e9fe61c31885cb7e282f943f0c6d661c9125cfb264a910aca9a4f0bf865bb17103187666c909f8bab682aeb1f7188760e63ccafacc40c4612b1 -SHA512 (nbdkit-1.35.9.tar.gz.sig) = c18ffdbe1f9a879fc3bc16bf4912d345b1ef3301b9a286b9da771809bc6c51d57407753ffd5935e8201100c6ec3be3de6bd013a4086a7f86164d1e8831f1d613 +SHA512 (nbdkit-1.35.10.tar.gz) = da70b970518efe27b06fe1da3b695fadac47d15113b5be944a8c795f8b2fd6e2f7f2d3df1634939fd7756fb3f082c963e341b1e3f764a67a5c15eb529436aa92 +SHA512 (nbdkit-1.35.10.tar.gz.sig) = 215f8bedd0de30db410e4f5254b9c82982050469e1211b659dab9a81f490218e0dd1cf7ebf05046b08286a51ce3121c8529c4f4a890d02a9297777f73c73439c From f72cb5c449d9cbe61f08a6e32c14e12ee6752c15 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 30 Aug 2023 15:03:57 +0100 Subject: [PATCH 046/195] New upstream development version 1.35.11 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 13ea127..dae9619 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -59,7 +59,7 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.10 +Version: 1.35.11 Release: 1%{?dist} Summary: NBD server @@ -1250,6 +1250,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Wed Aug 30 2023 Richard W.M. Jones - 1.35.11-1 +- New upstream development version 1.35.11 + * Sat Aug 12 2023 Richard W.M. Jones - 1.35.10-1 - New upstream development version 1.35.10 - Use zlib-ng on Fedora but not RHEL. diff --git a/sources b/sources index 8f81ae0..99604f0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.10.tar.gz) = da70b970518efe27b06fe1da3b695fadac47d15113b5be944a8c795f8b2fd6e2f7f2d3df1634939fd7756fb3f082c963e341b1e3f764a67a5c15eb529436aa92 -SHA512 (nbdkit-1.35.10.tar.gz.sig) = 215f8bedd0de30db410e4f5254b9c82982050469e1211b659dab9a81f490218e0dd1cf7ebf05046b08286a51ce3121c8529c4f4a890d02a9297777f73c73439c +SHA512 (nbdkit-1.35.11.tar.gz) = ab1db494592aa62fe3f9362e3fcfde74a246aa4e120bbebefb9ade6a5d81ae31080d8e3db09971b06f2a34400f1419f42750d5beddbba3b1802f124ab9a083da +SHA512 (nbdkit-1.35.11.tar.gz.sig) = 7e6af76a90faa59e11101b4f567c2f943bf7c9e6241d29023142846fe65b76eb5ef555907bab591816bceaea0c0798c8d570b26b953f728c38f3eca7682a339e From bbec0865fbe61982aac1a8e93fd0be2810f2396a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 30 Aug 2023 16:59:00 +0100 Subject: [PATCH 047/195] Add upstream patch to fix partition filter on s390x --- ...e-swap-partition_entries_lba-in-test.patch | 37 +++++++++++++++++++ nbdkit.spec | 7 +++- 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 0001-partition-Byte-swap-partition_entries_lba-in-test.patch diff --git a/0001-partition-Byte-swap-partition_entries_lba-in-test.patch b/0001-partition-Byte-swap-partition_entries_lba-in-test.patch new file mode 100644 index 0000000..e26718e --- /dev/null +++ b/0001-partition-Byte-swap-partition_entries_lba-in-test.patch @@ -0,0 +1,37 @@ +From 47aebc247e6553ffb593512b65296b4e2a8eac0a Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 30 Aug 2023 15:53:16 +0000 +Subject: [PATCH] partition: Byte-swap partition_entries_lba in test + +Fixes: commit 7b9301a4c569456a4f96784229a2cd48e8957662 +Fixes: https://gitlab.com/nbdkit/nbdkit/-/merge_requests/38#note_1535695896 +--- + filters/partition/partition-gpt.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/filters/partition/partition-gpt.c b/filters/partition/partition-gpt.c +index ea02e504c..80acddb44 100644 +--- a/filters/partition/partition-gpt.c ++++ b/filters/partition/partition-gpt.c +@@ -59,12 +59,12 @@ get_gpt_header (uint8_t *sector, + * the header, rather than looking in the header to see what LBA + * they actually start at. Let's at least check for that now. + */ +- if (header->partition_entries_lba != 2) { +- nbdkit_error ("non-standard GPT layout: " +- "partition entries are not adjacent to header"); +- return -1; +- } +- return 0; ++ if (le64toh (header->partition_entries_lba) != 2) { ++ nbdkit_error ("non-standard GPT layout: " ++ "partition entries are not adjacent to header"); ++ return -1; ++ } ++ return 0; + } + + static void +-- +2.41.0 + diff --git a/nbdkit.spec b/nbdkit.spec index dae9619..d3efc68 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -60,7 +60,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.35.11 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -86,6 +86,9 @@ Source3: copy-patches.sh Source4: nbdkit.attr Source5: nbdkit-find-provides +# Upstream patch to fix partition filter on s390x +Patch1: 0001-partition-Byte-swap-partition_entries_lba-in-test.patch + BuildRequires: make %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool @@ -1250,7 +1253,7 @@ export LIBGUESTFS_TRACE=1 %changelog -* Wed Aug 30 2023 Richard W.M. Jones - 1.35.11-1 +* Wed Aug 30 2023 Richard W.M. Jones - 1.35.11-2 - New upstream development version 1.35.11 * Sat Aug 12 2023 Richard W.M. Jones - 1.35.10-1 From 57aa128eb060215f5de2e31060f75c10737aceec Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 8 Sep 2023 11:09:19 +0100 Subject: [PATCH 048/195] New upstream development version 1.35.12 --- ...e-swap-partition_entries_lba-in-test.patch | 37 ------------------- nbdkit.spec | 10 ++--- sources | 4 +- 3 files changed, 7 insertions(+), 44 deletions(-) delete mode 100644 0001-partition-Byte-swap-partition_entries_lba-in-test.patch diff --git a/0001-partition-Byte-swap-partition_entries_lba-in-test.patch b/0001-partition-Byte-swap-partition_entries_lba-in-test.patch deleted file mode 100644 index e26718e..0000000 --- a/0001-partition-Byte-swap-partition_entries_lba-in-test.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 47aebc247e6553ffb593512b65296b4e2a8eac0a Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 30 Aug 2023 15:53:16 +0000 -Subject: [PATCH] partition: Byte-swap partition_entries_lba in test - -Fixes: commit 7b9301a4c569456a4f96784229a2cd48e8957662 -Fixes: https://gitlab.com/nbdkit/nbdkit/-/merge_requests/38#note_1535695896 ---- - filters/partition/partition-gpt.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/filters/partition/partition-gpt.c b/filters/partition/partition-gpt.c -index ea02e504c..80acddb44 100644 ---- a/filters/partition/partition-gpt.c -+++ b/filters/partition/partition-gpt.c -@@ -59,12 +59,12 @@ get_gpt_header (uint8_t *sector, - * the header, rather than looking in the header to see what LBA - * they actually start at. Let's at least check for that now. - */ -- if (header->partition_entries_lba != 2) { -- nbdkit_error ("non-standard GPT layout: " -- "partition entries are not adjacent to header"); -- return -1; -- } -- return 0; -+ if (le64toh (header->partition_entries_lba) != 2) { -+ nbdkit_error ("non-standard GPT layout: " -+ "partition entries are not adjacent to header"); -+ return -1; -+ } -+ return 0; - } - - static void --- -2.41.0 - diff --git a/nbdkit.spec b/nbdkit.spec index d3efc68..bfe33c8 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -59,8 +59,8 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.11 -Release: 2%{?dist} +Version: 1.35.12 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -86,9 +86,6 @@ Source3: copy-patches.sh Source4: nbdkit.attr Source5: nbdkit-find-provides -# Upstream patch to fix partition filter on s390x -Patch1: 0001-partition-Byte-swap-partition_entries_lba-in-test.patch - BuildRequires: make %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool @@ -1253,6 +1250,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Fri Sep 08 2023 Richard W.M. Jones - 1.35.12-1 +- New upstream development version 1.35.12 + * Wed Aug 30 2023 Richard W.M. Jones - 1.35.11-2 - New upstream development version 1.35.11 diff --git a/sources b/sources index 99604f0..07bfabb 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.11.tar.gz) = ab1db494592aa62fe3f9362e3fcfde74a246aa4e120bbebefb9ade6a5d81ae31080d8e3db09971b06f2a34400f1419f42750d5beddbba3b1802f124ab9a083da -SHA512 (nbdkit-1.35.11.tar.gz.sig) = 7e6af76a90faa59e11101b4f567c2f943bf7c9e6241d29023142846fe65b76eb5ef555907bab591816bceaea0c0798c8d570b26b953f728c38f3eca7682a339e +SHA512 (nbdkit-1.35.12.tar.gz) = 2c0beb53952d1c569c48be6fdb8457410821498fdf9fc33038b6b3ce90fd81015d7b1639bcc474aadaaec7520099dd2812b03f152112a3fd57ac77bf212311bf +SHA512 (nbdkit-1.35.12.tar.gz.sig) = 2aa61b49200ecbb531d2004574378bb4bd663ac002c166750d554d7c3ac0c3fea29b657e78470cd6be34e07470168a369c199d701be7ab64fbb3c23be3088f17 From e7d01e8072b2e892eaaf93bbb49661eb159bf7e3 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 11 Sep 2023 17:53:16 +0100 Subject: [PATCH 049/195] New upstream development version 1.35.13 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index bfe33c8..123e965 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -59,7 +59,7 @@ ExclusiveArch: x86_64 %global source_directory 1.35-development Name: nbdkit -Version: 1.35.12 +Version: 1.35.13 Release: 1%{?dist} Summary: NBD server @@ -1250,6 +1250,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Mon Sep 11 2023 Richard W.M. Jones - 1.35.13-1 +- New upstream development version 1.35.13 + * Fri Sep 08 2023 Richard W.M. Jones - 1.35.12-1 - New upstream development version 1.35.12 diff --git a/sources b/sources index 07bfabb..b954442 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.12.tar.gz) = 2c0beb53952d1c569c48be6fdb8457410821498fdf9fc33038b6b3ce90fd81015d7b1639bcc474aadaaec7520099dd2812b03f152112a3fd57ac77bf212311bf -SHA512 (nbdkit-1.35.12.tar.gz.sig) = 2aa61b49200ecbb531d2004574378bb4bd663ac002c166750d554d7c3ac0c3fea29b657e78470cd6be34e07470168a369c199d701be7ab64fbb3c23be3088f17 +SHA512 (nbdkit-1.35.13.tar.gz) = 36706c37f857f9ec2caaa102023b152a683f60f7dff958a6d3f617f1299834db7a4176075b3159d1ba5ec853c1e9c8a5b2e47c87838ea80fa37d45bfe2530ba1 +SHA512 (nbdkit-1.35.13.tar.gz.sig) = 612b92af3134cbc4539bef5c80f3e43879148d43dba7af2f9e0eb62bc7f5c241a62ae59f6c9b3914838f79424b11b4d7322294a9a190e21338c6ca615ab0c8ce From 28d997d6453ab7fb7a230eb74b328219b31d93da Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 27 Sep 2023 11:50:20 +0100 Subject: [PATCH 050/195] New upstream development version 1.36.0 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 123e965..2e4f8a6 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -56,10 +56,10 @@ ExclusiveArch: x86_64 %global patches_touch_autotools %{nil} # The source directory. -%global source_directory 1.35-development +%global source_directory 1.36-stable Name: nbdkit -Version: 1.35.13 +Version: 1.36.0 Release: 1%{?dist} Summary: NBD server @@ -1250,6 +1250,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Wed Sep 27 2023 Richard W.M. Jones - 1.36.0-1 +- New upstream development version 1.36.0 + * Mon Sep 11 2023 Richard W.M. Jones - 1.35.13-1 - New upstream development version 1.35.13 diff --git a/sources b/sources index b954442..38585e9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.35.13.tar.gz) = 36706c37f857f9ec2caaa102023b152a683f60f7dff958a6d3f617f1299834db7a4176075b3159d1ba5ec853c1e9c8a5b2e47c87838ea80fa37d45bfe2530ba1 -SHA512 (nbdkit-1.35.13.tar.gz.sig) = 612b92af3134cbc4539bef5c80f3e43879148d43dba7af2f9e0eb62bc7f5c241a62ae59f6c9b3914838f79424b11b4d7322294a9a190e21338c6ca615ab0c8ce +SHA512 (nbdkit-1.36.0.tar.gz) = 4c753e09853c1fa41311f3f7c86e4b9af9be69a984854142612a0bc9ad915e2811d4be4e29f263a6887277ece4204dd931807fe65e4fda8b4b9eab6dc3645c7b +SHA512 (nbdkit-1.36.0.tar.gz.sig) = 0c1f2f7799e83c23ee2a52d362e5ae02cfb3ce5bd0cc0eacd06324990d9a4a95d14b8b4d182821b3e0185bd3464ff88684894bc79472b349404b54d901446088 From 288a60632345c645e984aada35dbcf4c0108ee55 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 27 Sep 2023 15:45:24 +0100 Subject: [PATCH 051/195] Enable blkio support again on Fedora i686. --- nbdkit.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 2e4f8a6..582a25a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -22,12 +22,11 @@ %endif # We don't yet have libblkio on RHEL. -# libblkio is broken on i686: https://bugzilla.redhat.com/2229372 +# libblkio was broken on i686: https://bugzilla.redhat.com/2229372 +# but somehow "fixed itself", keep an eye on it. %if !0%{?rhel} -%ifnarch %{ix86} %global have_blkio 1 %endif -%endif # Architectures where we run the complete test suite including # the libguestfs tests. @@ -60,7 +59,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.36.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1250,8 +1249,9 @@ export LIBGUESTFS_TRACE=1 %changelog -* Wed Sep 27 2023 Richard W.M. Jones - 1.36.0-1 +* Wed Sep 27 2023 Richard W.M. Jones - 1.36.0-2 - New upstream development version 1.36.0 +- Enable blkio support again on Fedora i686. * Mon Sep 11 2023 Richard W.M. Jones - 1.35.13-1 - New upstream development version 1.35.13 From c97cf0c593b3755b29d7770b67a85aa3a2d0a2c4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 6 Oct 2023 08:46:03 +0100 Subject: [PATCH 052/195] OCaml 5.1 rebuild for Fedora 40 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 582a25a..aa8eac0 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -59,7 +59,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.36.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1249,6 +1249,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Fri Oct 06 2023 Richard W.M. Jones - 1.36.0-3 +- OCaml 5.1 rebuild for Fedora 40 + * Wed Sep 27 2023 Richard W.M. Jones - 1.36.0-2 - New upstream development version 1.36.0 - Enable blkio support again on Fedora i686. From 3b31d6392a36a81f00438f2c06877efeaf7c6972 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 23 Oct 2023 16:49:43 +0100 Subject: [PATCH 053/195] New upstream development version 1.37.1 --- nbdkit.spec | 11 +++++++---- sources | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index aa8eac0..3205782 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,11 +55,11 @@ ExclusiveArch: x86_64 %global patches_touch_autotools %{nil} # The source directory. -%global source_directory 1.36-stable +%global source_directory 1.37-development Name: nbdkit -Version: 1.36.0 -Release: 3%{?dist} +Version: 1.37.1 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1249,11 +1249,14 @@ export LIBGUESTFS_TRACE=1 %changelog +* Mon Oct 23 2023 Richard W.M. Jones - 1.37.1-1 +- New upstream development version 1.37.1 + * Fri Oct 06 2023 Richard W.M. Jones - 1.36.0-3 - OCaml 5.1 rebuild for Fedora 40 * Wed Sep 27 2023 Richard W.M. Jones - 1.36.0-2 -- New upstream development version 1.36.0 +- New upstream stable version 1.36.0 - Enable blkio support again on Fedora i686. * Mon Sep 11 2023 Richard W.M. Jones - 1.35.13-1 diff --git a/sources b/sources index 38585e9..ebf9e10 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.36.0.tar.gz) = 4c753e09853c1fa41311f3f7c86e4b9af9be69a984854142612a0bc9ad915e2811d4be4e29f263a6887277ece4204dd931807fe65e4fda8b4b9eab6dc3645c7b -SHA512 (nbdkit-1.36.0.tar.gz.sig) = 0c1f2f7799e83c23ee2a52d362e5ae02cfb3ce5bd0cc0eacd06324990d9a4a95d14b8b4d182821b3e0185bd3464ff88684894bc79472b349404b54d901446088 +SHA512 (nbdkit-1.37.1.tar.gz) = be5272a75014fbdfea5959d28f85ae9c769f1621678a194e8f53b2014cbac57228a77cf070b03ea0b14db29c19e279c62097c61173caee58ea80eec1db978007 +SHA512 (nbdkit-1.37.1.tar.gz.sig) = d8e39ca5879a3908f51a9868e4753368cc8e528307b0a28eddc7637be7a34fa6a52988a2036ba61e56a7db1ca91fcd156f260c0ab6b78ae10dfa4da4a550e2aa From 63aafd271314d63d5b8ba18ff4286441c5c959d9 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 31 Oct 2023 09:13:46 +0000 Subject: [PATCH 054/195] We are going to try to enable libblkio support everywhere --- nbdkit.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 3205782..1d74532 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -21,12 +21,9 @@ %global have_ocaml 1 %endif -# We don't yet have libblkio on RHEL. # libblkio was broken on i686: https://bugzilla.redhat.com/2229372 # but somehow "fixed itself", keep an eye on it. -%if !0%{?rhel} %global have_blkio 1 -%endif # Architectures where we run the complete test suite including # the libguestfs tests. From 0b975b05a5c0a69464222547e7a7377a98e1e0cf Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 1 Nov 2023 10:14:04 +0000 Subject: [PATCH 055/195] Add experimental SELinux support (RHEL-5174) --- nbdkit.fc | 3 + nbdkit.if | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++++ nbdkit.spec | 81 +++++++++++++++++++- nbdkit.te | 100 +++++++++++++++++++++++++ 4 files changed, 390 insertions(+), 1 deletion(-) create mode 100644 nbdkit.fc create mode 100644 nbdkit.if create mode 100644 nbdkit.te diff --git a/nbdkit.fc b/nbdkit.fc new file mode 100644 index 0000000..4877736 --- /dev/null +++ b/nbdkit.fc @@ -0,0 +1,3 @@ +/usr/sbin/nbdkit -- gen_context(system_u:object_r:nbdkit_exec_t,s0) + +/usr/lib/systemd/system/nbdkit.* gen_context(system_u:object_r:nbdkit_unit_file_t,s0) diff --git a/nbdkit.if b/nbdkit.if new file mode 100644 index 0000000..315fead --- /dev/null +++ b/nbdkit.if @@ -0,0 +1,207 @@ +## policy for nbdkit + +######################################## +## +## Execute nbdkit_exec_t in the nbdkit domain. +## +## +## +## Domain allowed to transition. +## +## +# +interface(`nbdkit_domtrans',` + gen_require(` + type nbdkit_t, nbdkit_exec_t; + ') + + corecmd_search_bin($1) + domtrans_pattern($1, nbdkit_exec_t, nbdkit_t) +') + +###################################### +## +## Execute nbdkit in the caller domain. +## +## +## +## Domain allowed access. +## +## +# +interface(`nbdkit_exec',` + gen_require(` + type nbdkit_exec_t; + ') + + corecmd_search_bin($1) + can_exec($1, nbdkit_exec_t) +') + +######################################## +## +## Execute nbdkit in the nbdkit domain, and +## allow the specified role the nbdkit domain. +## +## +## +## Domain allowed to transition +## +## +## +## +## The role to be allowed the nbdkit domain. +## +## +# +interface(`nbdkit_run',` + gen_require(` + type nbdkit_t; + attribute_role nbdkit_roles; + ') + + nbdkit_domtrans($1) + roleattribute $2 nbdkit_roles; +') + +######################################## +## +## Role access for nbdkit +## +## +## +## Role allowed access +## +## +## +## +## User domain for the role +## +## +# +interface(`nbdkit_role',` + gen_require(` + type nbdkit_t; + attribute_role nbdkit_roles; + ') + + roleattribute $1 nbdkit_roles; + + nbdkit_domtrans($2) + + ps_process_pattern($2, nbdkit_t) + allow $2 nbdkit_t:process { signull signal sigkill }; +') + +######################################## +## +## Allow attempts to connect to nbdkit +## with a unix stream socket. +## +## +## +## Domain to not audit. +## +## +# +interface(`nbdkit_stream_connect',` + gen_require(` + type nbdkit_t; + ') + + allow $1 nbdkit_t:unix_stream_socket connectto; +') + +######################################## +## +## Allow nbdkit_exec_t to be an entrypoint +## of the specified domain +## +## +## +## Domain allowed access. +## +## +## +# +interface(`nbdkit_entrypoint',` + gen_require(` + type nbdkit_exec_t; + ') + allow $1 nbdkit_exec_t:file entrypoint; +') + +# ---------------------------------------------------------------------- +# RWMJ: See: +# https://issues.redhat.com/browse/RHEL-5174?focusedId=23387259&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-23387259 +# Remove this when virt.if gets updated. + +######################################## +# +# Interface compatibility blocks +# +# The following definitions ensure compatibility with distribution policy +# versions that do not contain given interfaces (epel, or older Fedora +# releases). +# Each block tests for existence of given interface and defines it if needed. +# + +######################################## +## +## Read and write to svirt_image dirs. +## +## +## +## Domain allowed access. +## +## +# +ifndef(`virt_rw_svirt_image_dirs',` + interface(`virt_rw_svirt_image_dirs',` + gen_require(` + type svirt_image_t; + ') + + allow $1 svirt_image_t:dir rw_dir_perms; + ') +') + +######################################## +## +## Create svirt_image sock_files. +## +## +## +## Domain allowed access. +## +## +# +ifndef(`virt_create_svirt_image_sock_files',` + interface(`virt_create_svirt_image_sock_files',` + gen_require(` + type svirt_image_t; + ') + + allow $1 svirt_image_t:sock_file create_sock_file_perms; + ') +') + +######################################## +## +## Read and write virtlogd pipes. +## +## +## +## Domain allowed access. +## +## +# +ifndef(`virtlogd_rw_pipes',` + interface(`virtlogd_rw_pipes',` + gen_require(` + type virtlogd_t; + ') + + allow $1 virtlogd_t:fifo_file rw_fifo_file_perms; + ') +') diff --git a/nbdkit.spec b/nbdkit.spec index 1d74532..2b6e004 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -25,6 +25,11 @@ # but somehow "fixed itself", keep an eye on it. %global have_blkio 1 +# Enable nbdkit-selinux package. +%global with_selinux 1 +%global modulename nbdkit +%global selinuxtype targeted + # Architectures where we run the complete test suite including # the libguestfs tests. # @@ -56,7 +61,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.37.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -82,6 +87,11 @@ Source3: copy-patches.sh Source4: nbdkit.attr Source5: nbdkit-find-provides +# For nbdkit-selinux package: +Source6: %{modulename}.te +Source7: %{modulename}.if +Source8: %{modulename}.fc + BuildRequires: make %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool @@ -168,6 +178,13 @@ Requires: nbdkit-server%{?_isa} = %{version}-%{release} Requires: nbdkit-basic-plugins%{?_isa} = %{version}-%{release} Requires: nbdkit-basic-filters%{?_isa} = %{version}-%{release} +%if 0%{?with_selinux} +# This ensures that the nbdkit-selinux package and all its +# dependencies are not pulled into containers and other systems that +# do not use SELinux. +Requires: (%{name}-selinux if selinux-policy-%{selinuxtype}) +%endif + %description NBD is a protocol for accessing block devices (hard disks and @@ -660,6 +677,20 @@ Install this package if you want intelligent bash tab-completion for %{name}. +%if 0%{?with_selinux} +%package selinux +Summary: %{name} SELinux policy +BuildArch: noarch +Requires: selinux-policy-%{selinuxtype} +Requires(post):selinux-policy-%{selinuxtype} +BuildRequires: selinux-policy-devel +%{?selinux_requires} + +%description selinux +%{nbdkit} SELinux policy module. +%endif + + %prep %if 0%{verify_tarball_signature} %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' @@ -750,6 +781,18 @@ grep '^PYTHON_VERSION = 3' Makefile %make_build +%if 0%{?with_selinux} +# SELinux policy (originally from selinux-policy-contrib) +# this policy module will override the production module +mkdir selinux +cp -p %{SOURCE6} selinux/ +cp -p %{SOURCE7} selinux/ +cp -p %{SOURCE8} selinux/ + +make -f %{_datadir}/selinux/devel/Makefile %{modulename}.pp +bzip2 -9 %{modulename}.pp +%endif + %install %make_install @@ -778,6 +821,11 @@ mkdir -p $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/ install -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/ install -m 0755 %{SOURCE5} $RPM_BUILD_ROOT%{_rpmconfigdir}/ +%if 0%{?with_selinux} +install -D -m 0644 %{modulename}.pp.bz2 $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2 +install -D -p -m 0644 selinux/%{modulename}.if $RPM_BUILD_ROOT%{_datadir}/selinux/devel/include/distributed/%{modulename}.if +%endif + %check %ifnarch %{broken_test_arches} @@ -833,6 +881,26 @@ export LIBGUESTFS_TRACE=1 %endif +%if 0%{?with_selinux} +# SELinux contexts are saved so that only affected files can be +# relabeled after the policy module installation +%pre selinux +%selinux_relabel_pre -s %{selinuxtype} + +%post selinux +%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2 + +%postun selinux +if [ $1 -eq 0 ]; then + %selinux_modules_uninstall -s %{selinuxtype} %{modulename} +fi + +%posttrans selinux +%selinux_relabel_post -s %{selinuxtype} +# if with_selinux +%endif + + %files # metapackage so empty @@ -1245,7 +1313,18 @@ export LIBGUESTFS_TRACE=1 %{_datadir}/bash-completion/completions/nbdkit +%if 0%{?with_selinux} +%files selinux +%{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.* +%{_datadir}/selinux/devel/include/distributed/%{modulename}.if +%ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{modulename} +%endif + + %changelog +* Wed Nov 01 2023 Richard W.M. Jones - 1.37.1-2 +- Add experimental SELinux support (RHEL-5174) + * Mon Oct 23 2023 Richard W.M. Jones - 1.37.1-1 - New upstream development version 1.37.1 diff --git a/nbdkit.te b/nbdkit.te new file mode 100644 index 0000000..dbc518e --- /dev/null +++ b/nbdkit.te @@ -0,0 +1,100 @@ +policy_module(nbdkit, 1.0.0) + +######################################## +# +# Declarations +# + +gen_require(` + type unconfined_t; +') + +type nbdkit_t; +type nbdkit_exec_t; +application_domain(nbdkit_t, nbdkit_exec_t) +mcs_constrained(nbdkit_t) +role system_r types nbdkit_t; + +type nbdkit_home_t; +userdom_user_home_content(nbdkit_home_t) + +type nbdkit_tmp_t; +files_tmp_file(nbdkit_tmp_t) + +type nbdkit_unit_file_t; +systemd_unit_file(nbdkit_unit_file_t) + +permissive nbdkit_t; + +######################################## +# +# nbdkit local policy +# +allow nbdkit_t self:capability { setgid setuid }; +allow nbdkit_t self:fifo_file rw_fifo_file_perms; +allow nbdkit_t self:netlink_route_socket rw_netlink_socket_perms; +allow nbdkit_t self:process { fork setsockcreate signal_perms }; +allow nbdkit_t self:tcp_socket create_stream_socket_perms; +allow nbdkit_t self:udp_socket create_socket_perms; + +manage_dirs_pattern(nbdkit_t, nbdkit_tmp_t, nbdkit_tmp_t) +manage_files_pattern(nbdkit_t, nbdkit_tmp_t, nbdkit_tmp_t) +userdom_user_tmp_filetrans(nbdkit_t, nbdkit_tmp_t, { dir file }) + +manage_dirs_pattern(nbdkit_t, nbdkit_home_t, nbdkit_home_t) +manage_files_pattern(nbdkit_t, nbdkit_home_t, nbdkit_home_t) +userdom_user_home_dir_filetrans(nbdkit_t, nbdkit_home_t, { dir file }) + +corenet_tcp_connect_http_port(nbdkit_t) +corenet_tcp_connect_ssh_port(nbdkit_t) +corenet_tcp_connect_tftp_port(nbdkit_t) +corenet_tcp_bind_generic_port(nbdkit_t) +corenet_tcp_bind_generic_node(nbdkit_t) + +domain_use_interactive_fds(nbdkit_t) + +files_read_etc_files(nbdkit_t) + +init_abstract_socket_activation(nbdkit_t) +init_ioctl_stream_sockets(nbdkit_t) +init_rw_stream_sockets(nbdkit_t) + +optional_policy(` + auth_use_nsswitch(nbdkit_t) +') + +optional_policy(` + logging_send_syslog_msg(nbdkit_t) +') + +optional_policy(` + miscfiles_read_localization(nbdkit_t) + miscfiles_read_generic_certs(nbdkit_t) +') + +optional_policy(` + sysnet_dns_name_resolve(nbdkit_t) + sysnet_read_config(nbdkit_t) +') + +optional_policy(` + userdom_read_user_home_content_files(nbdkit_t) + userdom_use_inherited_user_ptys(nbdkit_t) +') + +optional_policy(` + virt_create_svirt_image_sock_files(nbdkit_t) + virt_read_qemu_pid_files(nbdkit_t) + virtlogd_rw_pipes(nbdkit_t) + virt_rw_svirt_image(nbdkit_t) + virt_rw_svirt_image_dirs(nbdkit_t) + virt_search_lib(nbdkit_t) + virt_stream_connect_svirt(nbdkit_t) +') + + +# FIXME: It would be nice to allow libvirt to transition nbdkit_exec_t to +# nbdkit_t when libvirtd was started manually from the commandline (i.e. in +# unconfined_t), but we don't want this transition to happen automatically +# when starting directly from the shell. I'm not sure how to achieve this... +#nbdkit_domtrans(unconfined_t, nbdkit_exec_t, nbdkit_t) From 153951488400f89c71595a936f9985a7eb274277 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 7 Nov 2023 19:41:30 +0000 Subject: [PATCH 056/195] New upstream development version 1.37.2 New nbdkit-readonly-filter. --- nbdkit.spec | 12 ++++++++++-- sources | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 2b6e004..b916608 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -60,8 +60,8 @@ ExclusiveArch: x86_64 %global source_directory 1.37-development Name: nbdkit -Version: 1.37.1 -Release: 2%{?dist} +Version: 1.37.2 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -588,6 +588,8 @@ nbdkit-rate-filter Limit bandwidth by connection or server. nbdkit-readahead-filter Prefetch data when reading sequentially. +nbdkit-readonly-filter Switch a plugin between read-only and writable. + nbdkit-retry-filter Reopen connection on error. nbdkit-retry-request-filter Retry single requests on error. @@ -1182,6 +1184,7 @@ fi %endif %{_libdir}/%{name}/filters/nbdkit-rate-filter.so %{_libdir}/%{name}/filters/nbdkit-readahead-filter.so +%{_libdir}/%{name}/filters/nbdkit-readonly-filter.so %{_libdir}/%{name}/filters/nbdkit-retry-filter.so %{_libdir}/%{name}/filters/nbdkit-retry-request-filter.so %{_libdir}/%{name}/filters/nbdkit-scan-filter.so @@ -1222,6 +1225,7 @@ fi %endif %{_mandir}/man1/nbdkit-rate-filter.1* %{_mandir}/man1/nbdkit-readahead-filter.1* +%{_mandir}/man1/nbdkit-readonly-filter.1* %{_mandir}/man1/nbdkit-retry-filter.1* %{_mandir}/man1/nbdkit-retry-request-filter.1* %{_mandir}/man1/nbdkit-scan-filter.1* @@ -1322,6 +1326,10 @@ fi %changelog +* Tue Nov 07 2023 Richard W.M. Jones - 1.37.2-1 +- New upstream development version 1.37.2 +- New nbdkit-readonly-filter. + * Wed Nov 01 2023 Richard W.M. Jones - 1.37.1-2 - Add experimental SELinux support (RHEL-5174) diff --git a/sources b/sources index ebf9e10..d242fcf 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.1.tar.gz) = be5272a75014fbdfea5959d28f85ae9c769f1621678a194e8f53b2014cbac57228a77cf070b03ea0b14db29c19e279c62097c61173caee58ea80eec1db978007 -SHA512 (nbdkit-1.37.1.tar.gz.sig) = d8e39ca5879a3908f51a9868e4753368cc8e528307b0a28eddc7637be7a34fa6a52988a2036ba61e56a7db1ca91fcd156f260c0ab6b78ae10dfa4da4a550e2aa +SHA512 (nbdkit-1.37.2.tar.gz) = 2e410ed7be75ddbca111be3a54a8f7246042233c8ac922634b5a2fdbe8781ba89c93cf4655bb0737e175fbb6a1846e3faad3523adb49925a886cca914a0a5f67 +SHA512 (nbdkit-1.37.2.tar.gz.sig) = 9eb2f18e7a2234090394ec7ab17cbe413b633c5eadd182a70a88f430b4948d4b02b7468f95b6347de961a99117c169930bb25f95a9e1735aa7627cc72e3298f6 From b9a4b125ca125df1ee41cf43478fb3f0b48f4285 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 26 Nov 2023 10:34:57 +0000 Subject: [PATCH 057/195] New upstream development version 1.37.3 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index b916608..feb6fec 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -60,7 +60,7 @@ ExclusiveArch: x86_64 %global source_directory 1.37-development Name: nbdkit -Version: 1.37.2 +Version: 1.37.3 Release: 1%{?dist} Summary: NBD server @@ -1326,6 +1326,9 @@ fi %changelog +* Sun Nov 26 2023 Richard W.M. Jones - 1.37.3-1 +- New upstream development version 1.37.3 + * Tue Nov 07 2023 Richard W.M. Jones - 1.37.2-1 - New upstream development version 1.37.2 - New nbdkit-readonly-filter. diff --git a/sources b/sources index d242fcf..50adcc8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.2.tar.gz) = 2e410ed7be75ddbca111be3a54a8f7246042233c8ac922634b5a2fdbe8781ba89c93cf4655bb0737e175fbb6a1846e3faad3523adb49925a886cca914a0a5f67 -SHA512 (nbdkit-1.37.2.tar.gz.sig) = 9eb2f18e7a2234090394ec7ab17cbe413b633c5eadd182a70a88f430b4948d4b02b7468f95b6347de961a99117c169930bb25f95a9e1735aa7627cc72e3298f6 +SHA512 (nbdkit-1.36.2.tar.gz) = a776808c6e7ab488b109e993fed5a6174e6fc35f894dace74b18cef9f8e0f640fb90bd4fd74183fc025da1f607c8907ee438369146bfbb2a48f6753748b9cf04 +SHA512 (nbdkit-1.36.2.tar.gz.sig) = 04ef71b3fae7bf126333a8f02f6498db0b615057c942071502606b45ae5da1eafb15378a444a5388e3a3da67768687d4c151c259f9bd23ba583554cd54c054db From 01508263882941a0eed9fe24d451b6ea7279bf53 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 26 Nov 2023 12:16:33 +0000 Subject: [PATCH 058/195] Use the correct sources for this branch --- sources | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 50adcc8..8e6df75 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.36.2.tar.gz) = a776808c6e7ab488b109e993fed5a6174e6fc35f894dace74b18cef9f8e0f640fb90bd4fd74183fc025da1f607c8907ee438369146bfbb2a48f6753748b9cf04 -SHA512 (nbdkit-1.36.2.tar.gz.sig) = 04ef71b3fae7bf126333a8f02f6498db0b615057c942071502606b45ae5da1eafb15378a444a5388e3a3da67768687d4c151c259f9bd23ba583554cd54c054db +SHA512 (nbdkit-1.37.3.tar.gz) = 6f3a78e24a93776623a3209cf4c2e4824c8ab78c761186d13964be7af06ffaab34a550d89be5ea297b1d25c81b3646e8ff2d42389d1b1a0281577fa5bf319445 +SHA512 (nbdkit-1.37.3.tar.gz.sig) = b1c833b46c0eb488dfc831f1b554c094dd63f1f8aad97eaa054c61579ed5262a674370e46ca21b4d3843d8f24c6d713c956842d7217bb7949097f58168a205c2 From 6debad82d3b543e9b44d2d06fd84f98687faa521 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 4 Dec 2023 13:29:52 +0000 Subject: [PATCH 059/195] Add upstream fix for GCC 14 --- ...itialization-from-incompatible-point.patch | 43 +++++++++++++++++++ nbdkit.spec | 10 ++++- 2 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 0001-configure-Fix-initialization-from-incompatible-point.patch diff --git a/0001-configure-Fix-initialization-from-incompatible-point.patch b/0001-configure-Fix-initialization-from-incompatible-point.patch new file mode 100644 index 0000000..bc4aa1e --- /dev/null +++ b/0001-configure-Fix-initialization-from-incompatible-point.patch @@ -0,0 +1,43 @@ +From 32a9ee6650654469cd591a3ae26842c54f898392 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 4 Dec 2023 10:23:29 +0000 +Subject: [PATCH] configure: Fix initialization from incompatible pointer type + +With GCC 14: + + configure:20816: checking if environ is declared in header files + configure:20833: gcc -c -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grec +ord-gcc-switches -pipe -Wall -Werror=format-security +-Werror=implicit-function-declaration -Werror=implicit-int +-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS +-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong +-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic +-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection +-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer conftest.c >&5 + conftest.c: In function 'test': + conftest.c:62:22: error: initialization of 'const char **' from incompatible p +ointer type 'char **' + 62 | const char **env = environ; + | ^~~~~~~ + +Thanks: Florian Weimer +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 602cdc5cb..e7d58dcc8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -336,7 +336,7 @@ AC_LANG_SOURCE([[ + static int + test (void) + { +- const char **env = environ; ++ char **env = environ; + return env ? 1 : 0; // this just forces env to be used + } + ]]) +-- +2.43.0 + diff --git a/nbdkit.spec b/nbdkit.spec index feb6fec..4ffb66a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,14 +54,14 @@ ExclusiveArch: x86_64 %global verify_tarball_signature 1 # If there are patches which touch autotools files, set this to 1. -%global patches_touch_autotools %{nil} +%global patches_touch_autotools 1 # The source directory. %global source_directory 1.37-development Name: nbdkit Version: 1.37.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -92,6 +92,9 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc +# Upstream fix for GCC 14 +Patch: 0001-configure-Fix-initialization-from-incompatible-point.patch + BuildRequires: make %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool @@ -1326,6 +1329,9 @@ fi %changelog +* Mon Dec 04 2023 Richard W.M. Jones - 1.37.3-2 +- Add upstream fix for GCC 14 + * Sun Nov 26 2023 Richard W.M. Jones - 1.37.3-1 - New upstream development version 1.37.3 From 95f0a9b7ba6cfc5a424ce5100560361f851e719d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 14 Dec 2023 09:14:13 +0000 Subject: [PATCH 060/195] OCaml 5.1.1 rebuild for Fedora 40 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 4ffb66a..41445fa 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -61,7 +61,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.37.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1329,6 +1329,9 @@ fi %changelog +* Thu Dec 14 2023 Richard W.M. Jones - 1.37.3-3 +- OCaml 5.1.1 rebuild for Fedora 40 + * Mon Dec 04 2023 Richard W.M. Jones - 1.37.3-2 - Add upstream fix for GCC 14 From 4a474632286815effb8471fe0b4e30d4f514caa3 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 18 Dec 2023 16:02:50 +0000 Subject: [PATCH 061/195] OCaml 5.1.1 + s390x code gen fix for Fedora 40 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 41445fa..accd8ce 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -61,7 +61,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.37.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1329,6 +1329,9 @@ fi %changelog +* Mon Dec 18 2023 Richard W.M. Jones - 1.37.3-4 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + * Thu Dec 14 2023 Richard W.M. Jones - 1.37.3-3 - OCaml 5.1.1 rebuild for Fedora 40 From 0d1a9e2d82d6a091f74ff4da27a79b04db3b0447 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 19 Dec 2023 15:55:39 +0000 Subject: [PATCH 062/195] New upstream development version 1.37.4 --- ...itialization-from-incompatible-point.patch | 43 ------------------- nbdkit.spec | 12 +++--- sources | 4 +- 3 files changed, 8 insertions(+), 51 deletions(-) delete mode 100644 0001-configure-Fix-initialization-from-incompatible-point.patch diff --git a/0001-configure-Fix-initialization-from-incompatible-point.patch b/0001-configure-Fix-initialization-from-incompatible-point.patch deleted file mode 100644 index bc4aa1e..0000000 --- a/0001-configure-Fix-initialization-from-incompatible-point.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 32a9ee6650654469cd591a3ae26842c54f898392 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Mon, 4 Dec 2023 10:23:29 +0000 -Subject: [PATCH] configure: Fix initialization from incompatible pointer type - -With GCC 14: - - configure:20816: checking if environ is declared in header files - configure:20833: gcc -c -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grec -ord-gcc-switches -pipe -Wall -Werror=format-security --Werror=implicit-function-declaration -Werror=implicit-int --Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS --specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong --specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic --fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection --fno-omit-frame-pointer -mno-omit-leaf-frame-pointer conftest.c >&5 - conftest.c: In function 'test': - conftest.c:62:22: error: initialization of 'const char **' from incompatible p -ointer type 'char **' - 62 | const char **env = environ; - | ^~~~~~~ - -Thanks: Florian Weimer ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 602cdc5cb..e7d58dcc8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -336,7 +336,7 @@ AC_LANG_SOURCE([[ - static int - test (void) - { -- const char **env = environ; -+ char **env = environ; - return env ? 1 : 0; // this just forces env to be used - } - ]]) --- -2.43.0 - diff --git a/nbdkit.spec b/nbdkit.spec index accd8ce..af8d5cf 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,14 +54,14 @@ ExclusiveArch: x86_64 %global verify_tarball_signature 1 # If there are patches which touch autotools files, set this to 1. -%global patches_touch_autotools 1 +%global patches_touch_autotools %{nil} # The source directory. %global source_directory 1.37-development Name: nbdkit -Version: 1.37.3 -Release: 4%{?dist} +Version: 1.37.4 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -92,9 +92,6 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc -# Upstream fix for GCC 14 -Patch: 0001-configure-Fix-initialization-from-incompatible-point.patch - BuildRequires: make %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool @@ -1329,6 +1326,9 @@ fi %changelog +* Tue Dec 19 2023 Richard W.M. Jones - 1.37.4-1 +- New upstream development version 1.37.4 + * Mon Dec 18 2023 Richard W.M. Jones - 1.37.3-4 - OCaml 5.1.1 + s390x code gen fix for Fedora 40 diff --git a/sources b/sources index 8e6df75..236f94a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.3.tar.gz) = 6f3a78e24a93776623a3209cf4c2e4824c8ab78c761186d13964be7af06ffaab34a550d89be5ea297b1d25c81b3646e8ff2d42389d1b1a0281577fa5bf319445 -SHA512 (nbdkit-1.37.3.tar.gz.sig) = b1c833b46c0eb488dfc831f1b554c094dd63f1f8aad97eaa054c61579ed5262a674370e46ca21b4d3843d8f24c6d713c956842d7217bb7949097f58168a205c2 +SHA512 (nbdkit-1.37.4.tar.gz) = 6acc7afd7733744d8cfdaff6e76fc3184fc06369d70ee2aee9f4e2b8b42f01509a230ec65b7d7df5bfa31fe9008d3b879593f02a3a88bcb8d7958f0829ca1429 +SHA512 (nbdkit-1.37.4.tar.gz.sig) = 1f0a0a2d38383d33b23ed32f3dd4301bb17a659113cc31f9f86c046b6b5e2c38cb439ed0abfad61ab0f33db11e50576593fc438cc464b3abd5c3eef5a6e60a89 From de42188bf3c5e326eae0eb62291e55751643733e Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Wed, 3 Jan 2024 23:34:13 +0900 Subject: [PATCH 063/195] Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index af8d5cf..37697da 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -61,7 +61,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.37.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1326,6 +1326,9 @@ fi %changelog +* Wed Jan 03 2024 Mamoru TASAKA - 1.37.4-2 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3 + * Tue Dec 19 2023 Richard W.M. Jones - 1.37.4-1 - New upstream development version 1.37.4 From 63cf2b755e2639574a4f9a014ec0138fee60bb94 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 16 Jan 2024 12:55:14 +0000 Subject: [PATCH 064/195] New upstream development version 1.37.5 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 37697da..39110b0 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -60,8 +60,8 @@ ExclusiveArch: x86_64 %global source_directory 1.37-development Name: nbdkit -Version: 1.37.4 -Release: 2%{?dist} +Version: 1.37.5 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1326,6 +1326,9 @@ fi %changelog +* Tue Jan 16 2024 Richard W.M. Jones - 1.37.5-1 +- New upstream development version 1.37.5 + * Wed Jan 03 2024 Mamoru TASAKA - 1.37.4-2 - Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3 diff --git a/sources b/sources index 236f94a..6deff94 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.4.tar.gz) = 6acc7afd7733744d8cfdaff6e76fc3184fc06369d70ee2aee9f4e2b8b42f01509a230ec65b7d7df5bfa31fe9008d3b879593f02a3a88bcb8d7958f0829ca1429 -SHA512 (nbdkit-1.37.4.tar.gz.sig) = 1f0a0a2d38383d33b23ed32f3dd4301bb17a659113cc31f9f86c046b6b5e2c38cb439ed0abfad61ab0f33db11e50576593fc438cc464b3abd5c3eef5a6e60a89 +SHA512 (nbdkit-1.37.5.tar.gz) = 7f246fe0665a30d04641c8181d408d50859bf96c251dceb37c797057f2c32316174e7d293d2090d3b9979ff28edf337cedf4f5305e901054eebe7b97a0804e67 +SHA512 (nbdkit-1.37.5.tar.gz.sig) = 78be5c0f05ef20d4a651416799faeec180a3c48aeea547bb174bebf1b87dadac927e99faf8dcfdb27998f1747c6f7519d96e8d6f895f448ff9120b74a8a3e121 From d3338b004bc6512f32b6a942a89fcaf6981c0c71 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 09:18:09 +0000 Subject: [PATCH 065/195] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 39110b0..b79dd6d 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -61,7 +61,7 @@ ExclusiveArch: x86_64 Name: nbdkit Version: 1.37.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1326,6 +1326,9 @@ fi %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 1.37.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Tue Jan 16 2024 Richard W.M. Jones - 1.37.5-1 - New upstream development version 1.37.5 From fb41373acca2aa51cb42289a1bca4b57cba1ddd9 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 23 Jan 2024 11:00:54 +0000 Subject: [PATCH 066/195] Remove support for RHEL 7 RHEL 7 is now in EUS phase, we don't need to keep support around for it here. --- nbdkit.spec | 8 -------- 1 file changed, 8 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index b79dd6d..2bec7ab 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -42,14 +42,6 @@ # it as a bug and add it to this list. %global broken_test_arches NONE -%if 0%{?rhel} == 7 -# On RHEL 7, nothing in the virt stack is shipped on aarch64 and -# libguestfs was not shipped on POWER (fixed in 7.5). We could in -# theory make all of this work by having lots more conditionals, but -# for now limit this package to x86_64 on RHEL. -ExclusiveArch: x86_64 -%endif - # If we should verify tarball signature with GPGv2. %global verify_tarball_signature 1 From 8233ecfd32c6d215940b85100dcc8c72ee557be1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 23 Jan 2024 14:16:56 +0000 Subject: [PATCH 067/195] Build into a subdirectory rather than the package source directory This requires some upstream fixes for srcdir != builddir. --- ...tmaps-Fix-tests-when-srcdir-builddir.patch | 24 ++ ...x-tests-to-work-with-srcdir-builddir.patch | 284 ++++++++++++++++++ nbdkit.spec | 18 +- 3 files changed, 324 insertions(+), 2 deletions(-) create mode 100644 0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch create mode 100644 0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch diff --git a/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch b/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch new file mode 100644 index 0000000..0263951 --- /dev/null +++ b/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch @@ -0,0 +1,24 @@ +From 93a1538808ac7f9788336a7e35168d851e8b2c72 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 23 Jan 2024 13:24:48 +0000 +Subject: [PATCH 1/2] common/bitmaps: Fix tests when srcdir != builddir + +--- + common/bitmap/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/common/bitmap/Makefile.am b/common/bitmap/Makefile.am +index 3b7f4b44f..93ca1ee43 100644 +--- a/common/bitmap/Makefile.am ++++ b/common/bitmap/Makefile.am +@@ -52,6 +52,7 @@ check_PROGRAMS = test-bitmap + test_bitmap_SOURCES = test-bitmap.c bitmap.c bitmap.h + test_bitmap_CPPFLAGS = \ + -I$(top_srcdir)/include \ ++ -I$(top_builddir)/include \ + -I$(top_srcdir)/common/include \ + $(NULL) + test_bitmap_CFLAGS = $(WARNINGS_CFLAGS) +-- +2.43.0 + diff --git a/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch b/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch new file mode 100644 index 0000000..feb49e8 --- /dev/null +++ b/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch @@ -0,0 +1,284 @@ +From ac60163ceba1b951e1d2f0625552e6a45d85f666 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 23 Jan 2024 13:35:02 +0000 +Subject: [PATCH 2/2] tests: Fix tests to work with srcdir != builddir + +--- + tests/test-cc-cpp.sh | 2 +- + tests/test-cc-ocaml.sh | 2 +- + tests/test-cc.sh | 2 +- + tests/test-curl-header-script-fail.sh | 2 +- + tests/test-linuxdisk-copy-out.sh | 4 ++-- + tests/test-multi-conn-name.sh | 6 ++++-- + tests/test-multi-conn.sh | 20 +++++++++++--------- + tests/test-plugin-docs.sh | 2 +- + tests/test-shebang-cc.sh | 3 +++ + tests/test-tar.sh | 2 +- + tests/cc-shebang.c | 4 +++- + tests/test-read-password-plugin.c | 4 +++- + 12 files changed, 32 insertions(+), 21 deletions(-) + +diff --git a/tests/test-cc-cpp.sh b/tests/test-cc-cpp.sh +index ebbdab31d..dd9bf58d8 100755 +--- a/tests/test-cc-cpp.sh ++++ b/tests/test-cc-cpp.sh +@@ -55,6 +55,6 @@ rm -f $out + + nbdkit cc $script \ + CC="$CXX" \ +- EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ ++ EXTRA_CFLAGS="-I$abs_top_srcdir/include -I../include" \ + --run 'nbdinfo --size $uri' > $out + test "$(cat $out)" -eq $((100 * 1024 * 1024)) +diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh +index 68972fce0..79eb678df 100755 +--- a/tests/test-cc-ocaml.sh ++++ b/tests/test-cc-ocaml.sh +@@ -57,6 +57,6 @@ cleanup_fn rm -f $out + rm -f $out + + nbdkit -v cc $script a=1 b=2 c=3 d=4 \ +- CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $abs_top_srcdir/plugins/ocaml $OCAML_PLUGIN_LIBRARIES NBDKit.cmx -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml" \ ++ CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $abs_top_srcdir/plugins/ocaml -I ../plugins/ocaml $OCAML_PLUGIN_LIBRARIES NBDKit.cmx -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml" \ + --run 'nbdinfo --size $uri' > $out + test "$(cat $out)" -eq $((512 * 2048)) +diff --git a/tests/test-cc.sh b/tests/test-cc.sh +index 2646704be..5c1db8b96 100755 +--- a/tests/test-cc.sh ++++ b/tests/test-cc.sh +@@ -53,6 +53,6 @@ cleanup_fn rm -f $out + rm -f $out + + nbdkit cc $script \ +- EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ ++ EXTRA_CFLAGS="-I$abs_top_srcdir/include -I../include" \ + --run 'nbdinfo --size $uri' > $out + test "$(cat $out)" -eq $((100 * 1024 * 1024)) +diff --git a/tests/test-curl-header-script-fail.sh b/tests/test-curl-header-script-fail.sh +index cf9614f96..282e0ddf0 100755 +--- a/tests/test-curl-header-script-fail.sh ++++ b/tests/test-curl-header-script-fail.sh +@@ -50,7 +50,7 @@ cleanup_fn rm -f $errors + # This command is expected to fail. + nbdkit -rfv \ + curl file:$PWD/disk protocols=file \ +- header-script=$PWD/test-curl-header-script-fail.script \ ++ header-script=$abs_top_srcdir/tests/test-curl-header-script-fail.script \ + --run 'nbdinfo --no-content $uri' >$errors 2>&1 ||: + + cat $errors +diff --git a/tests/test-linuxdisk-copy-out.sh b/tests/test-linuxdisk-copy-out.sh +index 8c2f44bad..81b5b7439 100755 +--- a/tests/test-linuxdisk-copy-out.sh ++++ b/tests/test-linuxdisk-copy-out.sh +@@ -65,14 +65,14 @@ guestfish --ro -a linuxdisk-copy-out.img -m /dev/sda </dev/null + + # Download some files and compare to local copies. +- download /Makefile linuxdisk-copy-out.test1 ++ download /virtual-disk.c linuxdisk-copy-out.test1 + download /Makefile.am linuxdisk-copy-out.test2 + download /nbdkit-linuxdisk-plugin.pod linuxdisk-copy-out.test3 + download /filesystem.c linuxdisk-copy-out.test4 + EOF + + # Compare downloaded files to local versions. +-cmp linuxdisk-copy-out.test1 $srcdir/../plugins/linuxdisk/Makefile ++cmp linuxdisk-copy-out.test1 $srcdir/../plugins/linuxdisk/virtual-disk.c + cmp linuxdisk-copy-out.test2 $srcdir/../plugins/linuxdisk/Makefile.am + cmp linuxdisk-copy-out.test3 $srcdir/../plugins/linuxdisk/nbdkit-linuxdisk-plugin.pod + cmp linuxdisk-copy-out.test4 $srcdir/../plugins/linuxdisk/filesystem.c +diff --git a/tests/test-multi-conn-name.sh b/tests/test-multi-conn-name.sh +index 6a180db72..2d2072925 100755 +--- a/tests/test-multi-conn-name.sh ++++ b/tests/test-multi-conn-name.sh +@@ -42,6 +42,8 @@ requires_nbdsh_uri + requires nbdsh -c 'print(h.set_opt_mode)' + requires dd iflag=count_bytes test-multi-conn-name.out || fail=1 + diff -u <(cat <<\EOF + b'A' +@@ -77,7 +79,7 @@ b'B' + EOF + ) test-multi-conn-name.out || fail=1 + # But with the knob, our flush is specific to the correct export +-nbdkit -vf sh test-multi-conn-plugin.sh --filter=multi-conn \ ++nbdkit -vf sh $plugin --filter=multi-conn \ + multi-conn-exportname=true \ + --run 'export uri; nbdsh -c "$script"' > test-multi-conn-name.out || fail=1 + diff -u <(cat <<\EOF +diff --git a/tests/test-multi-conn.sh b/tests/test-multi-conn.sh +index 3383cd246..eec225c2a 100755 +--- a/tests/test-multi-conn.sh ++++ b/tests/test-multi-conn.sh +@@ -41,6 +41,8 @@ requires_plugin sh + requires_nbdsh_uri + requires dd iflag=count_bytes test-multi-conn.out || fail=1 +@@ -208,7 +210,7 @@ for level in off connection fast; do + plugin 'plugin --filter=cache'; do + echo "setup: $level $mode" >> test-multi-conn.stat + # Flush with no activity +- nbdkit -vf sh test-multi-conn-plugin.sh --filter=multi-conn \ ++ nbdkit -vf sh $plugin --filter=multi-conn \ + --filter=stats statsfile=test-multi-conn.stat statsappend=true \ + multi-conn-track-dirty=$level multi-conn-mode=$mode \ + --run 'nbdsh -c "$preamble" -c " +@@ -217,7 +219,7 @@ h[0].pread(1, 0) + h[0].flush() + "' > test-multi-conn.out || fail=1 + # Client that flushes assuming multi-conn semantics +- nbdkit -vf sh test-multi-conn-plugin.sh --filter=multi-conn \ ++ nbdkit -vf sh $plugin --filter=multi-conn \ + --filter=stats statsfile=test-multi-conn.stat statsappend=true \ + multi-conn-track-dirty=$level multi-conn-mode=$mode \ + --run 'handles=4 nbdsh -c "$preamble" -c " +@@ -230,7 +232,7 @@ h[3].flush() + h[3].flush() + "' > test-multi-conn.out || fail=1 + # Client that flushes assuming inconsistent semantics +- nbdkit -vf sh test-multi-conn-plugin.sh --filter=multi-conn \ ++ nbdkit -vf sh $plugin --filter=multi-conn \ + --filter=stats statsfile=test-multi-conn.stat statsappend=true \ + multi-conn-track-dirty=$level multi-conn-mode=$mode \ + --run 'nbdsh -c "$preamble" -c " +diff --git a/tests/test-plugin-docs.sh b/tests/test-plugin-docs.sh +index 772cfff07..e329035da 100755 +--- a/tests/test-plugin-docs.sh ++++ b/tests/test-plugin-docs.sh +@@ -59,7 +59,7 @@ run_test () + { + plugin="$1" + +- pod=../plugins/$plugin/nbdkit-$plugin-plugin.pod ++ pod=$srcdir/../plugins/$plugin/nbdkit-$plugin-plugin.pod + test -f "$pod" + + # Get the key=value lines from the help output. +diff --git a/tests/test-shebang-cc.sh b/tests/test-shebang-cc.sh +index b25b789f7..674d0fcef 100755 +--- a/tests/test-shebang-cc.sh ++++ b/tests/test-shebang-cc.sh +@@ -45,6 +45,9 @@ requires_run + requires_plugin cc + requires guestfish --version + ++# This variable is used by $script. ++export abs_top_srcdir ++ + $script -fv \ + EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ + --run ' +diff --git a/tests/test-tar.sh b/tests/test-tar.sh +index 9c9b3974f..d1a602b99 100755 +--- a/tests/test-tar.sh ++++ b/tests/test-tar.sh +@@ -45,7 +45,7 @@ cleanup_fn rm -f $files + + # Create a tar file containing the disk image plus some other random + # files that hopefully will be ignored. +-tar cf tar.tar test-tar.sh Makefile disk Makefile.am ++tar cf tar.tar Makefile disk functions.sh + tar tvvf tar.tar + + # Run nbdkit. +diff --git a/tests/cc-shebang.c b/tests/cc-shebang.c +index de2730f67..882fa2c1c 100755 +--- a/tests/cc-shebang.c ++++ b/tests/cc-shebang.c +@@ -1,5 +1,7 @@ + #if 0 +-exec nbdkit cc "$0" "$@" ++exec nbdkit cc "$0" "$@" \ ++ EXTRA_CFLAGS="-I.. -I../include \ ++ -I$abs_top_srcdir/include" + #endif + #include + #include +diff --git a/tests/test-read-password-plugin.c b/tests/test-read-password-plugin.c +index 3f0a95153..703fc724d 100755 +--- a/tests/test-read-password-plugin.c ++++ b/tests/test-read-password-plugin.c +@@ -1,5 +1,7 @@ + #if 0 +-exec nbdkit cc "$0" "$@" EXTRA_CFLAGS="-I.. -I$abs_top_srcdir/include" ++exec nbdkit cc "$0" "$@" \ ++ EXTRA_CFLAGS="-I.. -I../include \ ++ -I$abs_top_srcdir/include" + #endif + /* nbdkit + * Copyright Red Hat +-- +2.43.0 + diff --git a/nbdkit.spec b/nbdkit.spec index 2bec7ab..797ed0c 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -46,7 +46,7 @@ %global verify_tarball_signature 1 # If there are patches which touch autotools files, set this to 1. -%global patches_touch_autotools %{nil} +%global patches_touch_autotools 1 # The source directory. %global source_directory 1.37-development @@ -84,6 +84,10 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc +# Upstream patches to fix srcdir != builddir +Patch: 0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch +Patch: 0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch + BuildRequires: make %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool @@ -696,6 +700,10 @@ autoreconf -i %build +mkdir build_native +pushd build_native +%global _configure ../configure + # Golang bindings are not enabled in the build since they don't # need to be. Most people would use them by copying the upstream # package into their vendor/ directory. @@ -787,8 +795,11 @@ make -f %{_datadir}/selinux/devel/Makefile %{modulename}.pp bzip2 -9 %{modulename}.pp %endif +popd + %install +pushd build_native %make_install # Delete libtool crap. @@ -819,10 +830,12 @@ install -m 0755 %{SOURCE5} $RPM_BUILD_ROOT%{_rpmconfigdir}/ install -D -m 0644 %{modulename}.pp.bz2 $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2 install -D -p -m 0644 selinux/%{modulename}.if $RPM_BUILD_ROOT%{_datadir}/selinux/devel/include/distributed/%{modulename}.if %endif +popd %check %ifnarch %{broken_test_arches} +pushd build_native function skip_test () { for f in "$@"; do @@ -867,6 +880,7 @@ export LIBGUESTFS_TRACE=1 cat tests/test-suite.log exit 1 } +popd %endif @@ -1269,7 +1283,7 @@ fi # Include the source of the example plugins in the documentation. %doc plugins/example*/*.c %if !0%{?rhel} -%doc plugins/example4/nbdkit-example4-plugin +%doc build_native/plugins/example4/nbdkit-example4-plugin %doc plugins/lua/example.lua %endif %if !0%{?rhel} && 0%{?have_ocaml} From 348c2fe9f4e69a801aafb477d6a38760215f0d14 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 23 Jan 2024 14:17:52 +0000 Subject: [PATCH 068/195] Add mingw{32,64}-nbdkit subpackages --- nbdkit.spec | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) diff --git a/nbdkit.spec b/nbdkit.spec index 797ed0c..67ea91f 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -25,6 +25,11 @@ # but somehow "fixed itself", keep an eye on it. %global have_blkio 1 +# Enable mingw subpackage on Fedora only. +%if 0%{?fedora} +%global have_mingw 1 +%endif + # Enable nbdkit-selinux package. %global with_selinux 1 %global modulename nbdkit @@ -168,6 +173,25 @@ BuildRequires: %{_bindir}/stat # itself, but it's a simple noarch package so easy to install. BuildRequires: nbdkit-srpm-macros >= 1.30.0 +%if 0%{?have_mingw} +BuildRequires: mingw32-filesystem +BuildRequires: mingw64-filesystem +BuildRequires: mingw32-gcc +BuildRequires: mingw64-gcc +BuildRequires: mingw32-gcc-c++ +BuildRequires: mingw64-gcc-c++ +BuildRequires: mingw32-dlfcn +BuildRequires: mingw64-dlfcn +BuildRequires: mingw32-gnutls +BuildRequires: mingw64-gnutls +BuildRequires: mingw32-winpthreads +BuildRequires: mingw64-winpthreads +BuildRequires: mingw32-xz +BuildRequires: mingw64-xz +BuildRequires: mingw32-zlib +BuildRequires: mingw64-zlib +%endif + # nbdkit is a metapackage pulling the server and a useful subset # of the plugins and filters. Requires: nbdkit-server%{?_isa} = %{version}-%{release} @@ -689,6 +713,43 @@ BuildRequires: selinux-policy-devel %endif +%if 0%{?have_mingw} +%package -n mingw32-%{name} +Summary: nbdkit binary, plugins, filters, development files for Windows +BuildArch: noarch +Requires: mingw32-filesystem +Requires: pkgconfig + +%description -n mingw32-%{name} +NBD is a protocol for accessing block devices (hard disks and +disk-like things) over the network. + +nbdkit is a toolkit for creating NBD servers. + +This package contains the nbdkit binary, plugins, filters and +development kit for 32 bit versions of Windows. + + +%package -n mingw64-%{name} +Summary: nbdkit binary, plugins, filters, development files for Windows +BuildArch: noarch +Requires: mingw64-filesystem +Requires: pkgconfig + +%description -n mingw64-%{name} +NBD is a protocol for accessing block devices (hard disks and +disk-like things) over the network. + +nbdkit is a toolkit for creating NBD servers. + +This package contains the nbdkit binary, plugins, filters and +development kit for 64 bit versions of Windows. + + +%{?mingw_debug_package} +%endif + + %prep %if 0%{verify_tarball_signature} %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' @@ -797,6 +858,44 @@ bzip2 -9 %{modulename}.pp popd +%if 0%{?have_mingw} +%mingw_configure \ + --disable-static \ + --enable-shared \ + --with-extra='%{name}-%{version}-%{release}' \ + --with-tls-priority=@NBDKIT,SYSTEM \ + --disable-golang \ + --disable-libguestfs-tests \ + --disable-linuxdisk \ + --disable-lua \ + --disable-ocaml \ + --disable-perl \ + --disable-python \ + --disable-ruby \ + --disable-rust \ + --disable-tcl \ + --disable-torrent \ + --disable-valgrind \ + --disable-vddk \ + --without-bash-completions \ + --without-curl \ + --without-ext2 \ + --with-gnutls \ + --without-iso \ + --without-libblkio \ + --without-libguestfs \ + --without-libnbd \ + --without-libvirt \ + --with-liblzma \ + --without-manpages \ + --without-selinux \ + --without-ssh \ + --with-zlib \ + %{nil} + +%mingw_make %{?_smp_mflags} +%endif + %install pushd build_native @@ -832,6 +931,24 @@ install -D -p -m 0644 selinux/%{modulename}.if $RPM_BUILD_ROOT%{_datadir}/selinu %endif popd +%if 0%{?have_mingw} +%mingw_make_install + +# Remove .la files +rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/*.la +rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/*.la + +# The .def files aren't interesting for other binaries +rm -f $RPM_BUILD_ROOT%{mingw32_bindir}/*.def +rm -f $RPM_BUILD_ROOT%{mingw64_bindir}/*.def + +# Remove man pages which duplicate stuff in Fedora already. +rm -rf $RPM_BUILD_ROOT%{mingw32_mandir} +rm -rf $RPM_BUILD_ROOT%{mingw64_mandir} + +%mingw_debug_install_post +%endif + %check %ifnarch %{broken_test_arches} @@ -1331,7 +1448,30 @@ fi %endif +%if 0%{?have_mingw} +%files -n mingw32-%{name} +%license LICENSE +%{mingw32_sbindir}/nbdkit.exe +%{mingw32_libdir}/%{name}/ +%{mingw32_libdir}/libnbdkit.a +%{mingw32_libdir}/pkgconfig/%{name}.pc +%{mingw32_includedir}/*.h + + +%files -n mingw64-%{name} +%license LICENSE +%{mingw64_sbindir}/nbdkit.exe +%{mingw64_libdir}/%{name}/ +%{mingw64_libdir}/libnbdkit.a +%{mingw64_libdir}/pkgconfig/%{name}.pc +%{mingw64_includedir}/*.h +%endif + + %changelog +* Tue Jan 23 2024 Richard W.M. Jones - 1.37.5-2 +- Add mingw{32,64}-nbdkit subpackages + * Sun Jan 21 2024 Fedora Release Engineering - 1.37.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From cf7389fcdd7ecd1ae699fe29c6393b7ca6c3c7c9 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 23 Jan 2024 17:55:20 +0000 Subject: [PATCH 069/195] Bump release for rebuild --- nbdkit.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 67ea91f..72eb510 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -58,7 +58,7 @@ Name: nbdkit Version: 1.37.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1469,7 +1469,7 @@ fi %changelog -* Tue Jan 23 2024 Richard W.M. Jones - 1.37.5-2 +* Tue Jan 23 2024 Richard W.M. Jones - 1.37.5-3 - Add mingw{32,64}-nbdkit subpackages * Sun Jan 21 2024 Fedora Release Engineering - 1.37.5-2 From 2fd0615d12091053ed596b604bc93f2b649adf96 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 23 Jan 2024 18:12:47 +0000 Subject: [PATCH 070/195] Potential fix for parallel builds failure of mingw subpackage --- ...tmaps-Fix-tests-when-srcdir-builddir.patch | 2 +- ...x-tests-to-work-with-srcdir-builddir.patch | 2 +- ...nts-win32-Only-build-nbdkit-cat.mc-d.patch | 48 +++++++++++++++++++ nbdkit.spec | 1 + 4 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch diff --git a/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch b/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch index 0263951..ea7acc2 100644 --- a/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch +++ b/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch @@ -1,7 +1,7 @@ From 93a1538808ac7f9788336a7e35168d851e8b2c72 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 23 Jan 2024 13:24:48 +0000 -Subject: [PATCH 1/2] common/bitmaps: Fix tests when srcdir != builddir +Subject: [PATCH 1/3] common/bitmaps: Fix tests when srcdir != builddir --- common/bitmap/Makefile.am | 1 + diff --git a/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch b/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch index feb49e8..93d28f8 100644 --- a/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch +++ b/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch @@ -1,7 +1,7 @@ From ac60163ceba1b951e1d2f0625552e6a45d85f666 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 23 Jan 2024 13:35:02 +0000 -Subject: [PATCH 2/2] tests: Fix tests to work with srcdir != builddir +Subject: [PATCH 2/3] tests: Fix tests to work with srcdir != builddir --- tests/test-cc-cpp.sh | 2 +- diff --git a/0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch b/0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch new file mode 100644 index 0000000..b9f8ae0 --- /dev/null +++ b/0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch @@ -0,0 +1,48 @@ +From 774465bb9e3444f23709deabeb39cc91490001a5 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 23 Jan 2024 18:08:12 +0000 +Subject: [PATCH 3/3] common/replacements/win32: Only build nbdkit-cat.mc + derived files once + +Previously parallel builds caused multiple instances of windmc to run. +Use a stamp file to avoid this. +--- + common/replacements/win32/Makefile.am | 9 +++++++-- + .gitignore | 1 + + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/common/replacements/win32/Makefile.am b/common/replacements/win32/Makefile.am +index 9b5a68db0..b8c7c639e 100644 +--- a/common/replacements/win32/Makefile.am ++++ b/common/replacements/win32/Makefile.am +@@ -38,8 +38,13 @@ if IS_WINDOWS + # Build the message catalog. + noinst_DATA = MSG00001.bin nbdkit-cat.h nbdkit-cat.rc + +-$(noinst_DATA): nbdkit-cat.mc +- rm -f $@ ++CLEANFILES += stamp-data ++ ++$(noinst_DATA): stamp-data ++ ++stamp-data: nbdkit-cat.mc ++ rm -f $@ $(noinst_DATA) + $(MC) $< ++ touch $@ + + endif +diff --git a/.gitignore b/.gitignore +index 04fdcd723..14f816c93 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -55,6 +55,7 @@ plugins/*/*.3 + /common/replacements/win32/MSG00001.bin + /common/replacements/win32/nbdkit-cat.h + /common/replacements/win32/nbdkit-cat.rc ++/common/replacements/win32/stamp-data + /common/utils/test-quotes + /common/utils/test-vector + /common/utils/windows-errors.c +-- +2.43.0 + diff --git a/nbdkit.spec b/nbdkit.spec index 72eb510..019f681 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -92,6 +92,7 @@ Source8: %{modulename}.fc # Upstream patches to fix srcdir != builddir Patch: 0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch Patch: 0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch +Patch: 0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch BuildRequires: make %if 0%{patches_touch_autotools} From d89cffce88b1c4da4944fa85951166e4f5cbbbad Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 24 Jan 2024 10:58:07 +0000 Subject: [PATCH 071/195] Temporary workaround for binutils bug https://sourceware.org/bugzilla/show_bug.cgi?id=31283 Use git to apply the patches since patch 0004 contains a binary patch. --- ...tmaps-Fix-tests-when-srcdir-builddir.patch | 2 +- ...x-tests-to-work-with-srcdir-builddir.patch | 2 +- ...nts-win32-Only-build-nbdkit-cat.mc-d.patch | 2 +- ...ents-win32-Make-windmc-tool-optional.patch | 192 ++++++++++++++++++ nbdkit.spec | 12 +- 5 files changed, 205 insertions(+), 5 deletions(-) create mode 100644 0004-common-replacements-win32-Make-windmc-tool-optional.patch diff --git a/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch b/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch index ea7acc2..4f98f9b 100644 --- a/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch +++ b/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch @@ -1,7 +1,7 @@ From 93a1538808ac7f9788336a7e35168d851e8b2c72 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 23 Jan 2024 13:24:48 +0000 -Subject: [PATCH 1/3] common/bitmaps: Fix tests when srcdir != builddir +Subject: [PATCH 1/4] common/bitmaps: Fix tests when srcdir != builddir --- common/bitmap/Makefile.am | 1 + diff --git a/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch b/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch index 93d28f8..7461254 100644 --- a/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch +++ b/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch @@ -1,7 +1,7 @@ From ac60163ceba1b951e1d2f0625552e6a45d85f666 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 23 Jan 2024 13:35:02 +0000 -Subject: [PATCH 2/3] tests: Fix tests to work with srcdir != builddir +Subject: [PATCH 2/4] tests: Fix tests to work with srcdir != builddir --- tests/test-cc-cpp.sh | 2 +- diff --git a/0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch b/0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch index b9f8ae0..28c0ccb 100644 --- a/0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch +++ b/0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch @@ -1,7 +1,7 @@ From 774465bb9e3444f23709deabeb39cc91490001a5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 23 Jan 2024 18:08:12 +0000 -Subject: [PATCH 3/3] common/replacements/win32: Only build nbdkit-cat.mc +Subject: [PATCH 3/4] common/replacements/win32: Only build nbdkit-cat.mc derived files once Previously parallel builds caused multiple instances of windmc to run. diff --git a/0004-common-replacements-win32-Make-windmc-tool-optional.patch b/0004-common-replacements-win32-Make-windmc-tool-optional.patch new file mode 100644 index 0000000..de45bd0 --- /dev/null +++ b/0004-common-replacements-win32-Make-windmc-tool-optional.patch @@ -0,0 +1,192 @@ +From 617f950de1d18d5ddd146c32d700afd81470a284 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 24 Jan 2024 10:46:26 +0000 +Subject: [PATCH 4/4] common/replacements/win32: Make windmc tool optional + +Make the windmc (mc.exe) tool option even on Windows. + +Distribute the generated message catalogs, but regenerate them if +windmc is found at compile time. + +I also changed mc -> mc.exe since "mc" on Linux is a program called +Midnight Commander and mc.exe would only be the name when compiling on +Windows. (If there's any confusion here, you can always define the +right binary to use by doing: ./configure MC=/path/to/mc.exe) +--- + configure.ac | 10 ++-- + common/replacements/win32/Makefile.am | 13 +++-- + common/replacements/win32/nbdkit-cat.h | 68 ++++++++++++++++++++++++ + common/replacements/win32/MSG00001.bin | Bin 0 -> 28 bytes + common/replacements/win32/nbdkit-cat.rc | 9 ++++ + .gitignore | 3 -- + 6 files changed, 89 insertions(+), 14 deletions(-) + create mode 100644 common/replacements/win32/nbdkit-cat.h + create mode 100644 common/replacements/win32/MSG00001.bin + create mode 100644 common/replacements/win32/nbdkit-cat.rc + +diff --git a/configure.ac b/configure.ac +index 08ba6287c..03c655638 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -584,13 +584,11 @@ AC_DEFINE_UNQUOTED([DIR_SEPARATOR_STR],["$DIR_SEPARATOR_STR"], + [String that separates path elements.]) + AM_CONDITIONAL([IS_WINDOWS],[test "x$is_windows" = "xyes"]) + ++dnl Look for the mc/windmc utility (optional). ++AC_CHECK_TOOLS([MC],[windmc mc.exe],[no]) ++AM_CONDITIONAL([HAVE_MC],[test "x$MC" != "xno"]) ++ + AS_IF([test "x$is_windows" = "xyes"],[ +- dnl For Windows, look for the mc/windmc utility. +- dnl XXX Do we need to check for mc.exe as well? +- AC_CHECK_TOOLS([MC],[windmc mc],[no]) +- AS_IF([test "x$MC" = "xno"], +- [AC_MSG_ERROR([mc/windmc utility must be available when compiling for Windows])]) +- + dnl On Windows look for dlltool. + AC_CHECK_TOOLS([DLLTOOL],[dlltool],[no]) + AS_IF([test "x$DLLTOOL" = "xno"], +diff --git a/common/replacements/win32/Makefile.am b/common/replacements/win32/Makefile.am +index b8c7c639e..45dcd6ac2 100644 +--- a/common/replacements/win32/Makefile.am ++++ b/common/replacements/win32/Makefile.am +@@ -29,15 +29,18 @@ + # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + ++# The Windows message catalog. ++ + include $(top_srcdir)/common-rules.mk + +-EXTRA_DIST = nbdkit-cat.mc +- +-if IS_WINDOWS +- +-# Build the message catalog. + noinst_DATA = MSG00001.bin nbdkit-cat.h nbdkit-cat.rc + ++# We distribute the generated message catalog files to save people ++# needing to install the windmc tool, but they are regenerated (below) ++# if windmc is found at configure time. ++EXTRA_DIST = nbdkit-cat.mc $(noinst_DATA) ++ ++if HAVE_MC + CLEANFILES += stamp-data + + $(noinst_DATA): stamp-data +diff --git a/common/replacements/win32/nbdkit-cat.h b/common/replacements/win32/nbdkit-cat.h +new file mode 100644 +index 000000000..8081e453d +--- /dev/null ++++ b/common/replacements/win32/nbdkit-cat.h +@@ -0,0 +1,68 @@ ++/* Do not edit this file manually. ++ This file is autogenerated by windmc. */ ++ ++// ++// The values are 32 bit layed out as follows: ++// ++// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 ++// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 ++// +---+-+-+-----------------------+-------------------------------+ ++// |Sev|C|R| Facility | Code | ++// +---+-+-+-----------------------+-------------------------------+ ++// ++// where ++// ++// C - is the Customer code flag ++// ++// R - is a reserved bit ++// ++// Code - is the facility's status code ++// ++// Sev - is the severity code ++// ++// Success - 00 ++// Informational - 01 ++// Warning - 02 ++// Error - 03 ++// ++// Facility - is the facility code ++// ++// System - 00ff ++// Application - 0fff ++// ++ ++// nbdkit ++// Copyright Red Hat ++// ++// Redistribution and use in source and binary forms, with or without ++// modification, are permitted provided that the following conditions are ++// met: ++// ++// * Redistributions of source code must retain the above copyright ++// notice, this list of conditions and the following disclaimer. ++// ++// * Redistributions in binary form must reproduce the above copyright ++// notice, this list of conditions and the following disclaimer in the ++// documentation and/or other materials provided with the distribution. ++// ++// * Neither the name of Red Hat nor the names of its contributors may be ++// used to endorse or promote products derived from this software without ++// specific prior written permission. ++// ++// THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ++// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR ++// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ++// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ++// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ++// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ++// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++// SUCH DAMAGE. ++// ++// MessageId: NBDKIT_SYSLOG_ERROR ++// ++#define NBDKIT_SYSLOG_ERROR 0xc0000001 ++ +diff --git a/common/replacements/win32/MSG00001.bin b/common/replacements/win32/MSG00001.bin +new file mode 100644 +index 0000000000000000000000000000000000000000..f642ff3a4079b4b8b3b60b9ecefebe7c136a404b +GIT binary patch +literal 28 +dcmZQ%U|?WmU^oE60zftokf+LE$iM|;0{|fO0s#O3 + +literal 0 +HcmV?d00001 + +diff --git a/common/replacements/win32/nbdkit-cat.rc b/common/replacements/win32/nbdkit-cat.rc +new file mode 100644 +index 000000000..6f6ce3344 +--- /dev/null ++++ b/common/replacements/win32/nbdkit-cat.rc +@@ -0,0 +1,9 @@ ++/* Do not edit this file manually. ++ This file is autogenerated by windmc. */ ++ ++ ++// Country: United States ++// Language: English ++#pragma code_page(1252) ++LANGUAGE 0x9, 0x1 ++1 MESSAGETABLE "MSG00001.bin" +diff --git a/.gitignore b/.gitignore +index 14f816c93..cce2de79b 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -52,9 +52,6 @@ plugins/*/*.3 + /common/protocol/protostrings.c + /common/replacements/libcompat.a + /common/replacements/test-current-dir-name +-/common/replacements/win32/MSG00001.bin +-/common/replacements/win32/nbdkit-cat.h +-/common/replacements/win32/nbdkit-cat.rc + /common/replacements/win32/stamp-data + /common/utils/test-quotes + /common/utils/test-vector +-- +2.43.0 + diff --git a/nbdkit.spec b/nbdkit.spec index 019f681..a8d25ae 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -92,13 +92,18 @@ Source8: %{modulename}.fc # Upstream patches to fix srcdir != builddir Patch: 0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch Patch: 0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch +# Upstream patches to fix mingw builds Patch: 0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch +Patch: 0004-common-replacements-win32-Make-windmc-tool-optional.patch + +# For applying the patches: +BuildRequires: git -BuildRequires: make %if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool %endif +BuildRequires: make BuildRequires: gcc, gcc-c++ BuildRequires: %{_bindir}/pod2man BuildRequires: gnutls-devel @@ -755,7 +760,7 @@ development kit for 64 bit versions of Windows. %if 0%{verify_tarball_signature} %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %endif -%autosetup -p1 +%autosetup -p1 -S git %if 0%{patches_touch_autotools} autoreconf -i %endif @@ -860,7 +865,10 @@ bzip2 -9 %{modulename}.pp popd %if 0%{?have_mingw} +# MC=no is a temporary hack until this bug is fixed in binutils: +# https://sourceware.org/bugzilla/show_bug.cgi?id=31283 %mingw_configure \ + MC=no \ --disable-static \ --enable-shared \ --with-extra='%{name}-%{version}-%{release}' \ From 5f12965c1ff5ccbdcbeefd765e61cff3d80efb67 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 1 Feb 2024 21:50:19 +0000 Subject: [PATCH 072/195] New upstream development version 1.37.6 --- ...tmaps-Fix-tests-when-srcdir-builddir.patch | 24 -- ...x-tests-to-work-with-srcdir-builddir.patch | 284 ------------------ ...nts-win32-Only-build-nbdkit-cat.mc-d.patch | 48 --- ...ents-win32-Make-windmc-tool-optional.patch | 192 ------------ nbdkit.spec | 14 +- sources | 4 +- 6 files changed, 7 insertions(+), 559 deletions(-) delete mode 100644 0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch delete mode 100644 0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch delete mode 100644 0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch delete mode 100644 0004-common-replacements-win32-Make-windmc-tool-optional.patch diff --git a/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch b/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch deleted file mode 100644 index 4f98f9b..0000000 --- a/0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 93a1538808ac7f9788336a7e35168d851e8b2c72 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 23 Jan 2024 13:24:48 +0000 -Subject: [PATCH 1/4] common/bitmaps: Fix tests when srcdir != builddir - ---- - common/bitmap/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/common/bitmap/Makefile.am b/common/bitmap/Makefile.am -index 3b7f4b44f..93ca1ee43 100644 ---- a/common/bitmap/Makefile.am -+++ b/common/bitmap/Makefile.am -@@ -52,6 +52,7 @@ check_PROGRAMS = test-bitmap - test_bitmap_SOURCES = test-bitmap.c bitmap.c bitmap.h - test_bitmap_CPPFLAGS = \ - -I$(top_srcdir)/include \ -+ -I$(top_builddir)/include \ - -I$(top_srcdir)/common/include \ - $(NULL) - test_bitmap_CFLAGS = $(WARNINGS_CFLAGS) --- -2.43.0 - diff --git a/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch b/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch deleted file mode 100644 index 7461254..0000000 --- a/0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch +++ /dev/null @@ -1,284 +0,0 @@ -From ac60163ceba1b951e1d2f0625552e6a45d85f666 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 23 Jan 2024 13:35:02 +0000 -Subject: [PATCH 2/4] tests: Fix tests to work with srcdir != builddir - ---- - tests/test-cc-cpp.sh | 2 +- - tests/test-cc-ocaml.sh | 2 +- - tests/test-cc.sh | 2 +- - tests/test-curl-header-script-fail.sh | 2 +- - tests/test-linuxdisk-copy-out.sh | 4 ++-- - tests/test-multi-conn-name.sh | 6 ++++-- - tests/test-multi-conn.sh | 20 +++++++++++--------- - tests/test-plugin-docs.sh | 2 +- - tests/test-shebang-cc.sh | 3 +++ - tests/test-tar.sh | 2 +- - tests/cc-shebang.c | 4 +++- - tests/test-read-password-plugin.c | 4 +++- - 12 files changed, 32 insertions(+), 21 deletions(-) - -diff --git a/tests/test-cc-cpp.sh b/tests/test-cc-cpp.sh -index ebbdab31d..dd9bf58d8 100755 ---- a/tests/test-cc-cpp.sh -+++ b/tests/test-cc-cpp.sh -@@ -55,6 +55,6 @@ rm -f $out - - nbdkit cc $script \ - CC="$CXX" \ -- EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ -+ EXTRA_CFLAGS="-I$abs_top_srcdir/include -I../include" \ - --run 'nbdinfo --size $uri' > $out - test "$(cat $out)" -eq $((100 * 1024 * 1024)) -diff --git a/tests/test-cc-ocaml.sh b/tests/test-cc-ocaml.sh -index 68972fce0..79eb678df 100755 ---- a/tests/test-cc-ocaml.sh -+++ b/tests/test-cc-ocaml.sh -@@ -57,6 +57,6 @@ cleanup_fn rm -f $out - rm -f $out - - nbdkit -v cc $script a=1 b=2 c=3 d=4 \ -- CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $abs_top_srcdir/plugins/ocaml $OCAML_PLUGIN_LIBRARIES NBDKit.cmx -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml" \ -+ CC="$OCAMLOPT" CFLAGS="-output-obj -runtime-variant _pic -I $abs_top_srcdir/plugins/ocaml -I ../plugins/ocaml $OCAML_PLUGIN_LIBRARIES NBDKit.cmx -cclib -L../plugins/ocaml/.libs -cclib -lnbdkitocaml" \ - --run 'nbdinfo --size $uri' > $out - test "$(cat $out)" -eq $((512 * 2048)) -diff --git a/tests/test-cc.sh b/tests/test-cc.sh -index 2646704be..5c1db8b96 100755 ---- a/tests/test-cc.sh -+++ b/tests/test-cc.sh -@@ -53,6 +53,6 @@ cleanup_fn rm -f $out - rm -f $out - - nbdkit cc $script \ -- EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ -+ EXTRA_CFLAGS="-I$abs_top_srcdir/include -I../include" \ - --run 'nbdinfo --size $uri' > $out - test "$(cat $out)" -eq $((100 * 1024 * 1024)) -diff --git a/tests/test-curl-header-script-fail.sh b/tests/test-curl-header-script-fail.sh -index cf9614f96..282e0ddf0 100755 ---- a/tests/test-curl-header-script-fail.sh -+++ b/tests/test-curl-header-script-fail.sh -@@ -50,7 +50,7 @@ cleanup_fn rm -f $errors - # This command is expected to fail. - nbdkit -rfv \ - curl file:$PWD/disk protocols=file \ -- header-script=$PWD/test-curl-header-script-fail.script \ -+ header-script=$abs_top_srcdir/tests/test-curl-header-script-fail.script \ - --run 'nbdinfo --no-content $uri' >$errors 2>&1 ||: - - cat $errors -diff --git a/tests/test-linuxdisk-copy-out.sh b/tests/test-linuxdisk-copy-out.sh -index 8c2f44bad..81b5b7439 100755 ---- a/tests/test-linuxdisk-copy-out.sh -+++ b/tests/test-linuxdisk-copy-out.sh -@@ -65,14 +65,14 @@ guestfish --ro -a linuxdisk-copy-out.img -m /dev/sda </dev/null - - # Download some files and compare to local copies. -- download /Makefile linuxdisk-copy-out.test1 -+ download /virtual-disk.c linuxdisk-copy-out.test1 - download /Makefile.am linuxdisk-copy-out.test2 - download /nbdkit-linuxdisk-plugin.pod linuxdisk-copy-out.test3 - download /filesystem.c linuxdisk-copy-out.test4 - EOF - - # Compare downloaded files to local versions. --cmp linuxdisk-copy-out.test1 $srcdir/../plugins/linuxdisk/Makefile -+cmp linuxdisk-copy-out.test1 $srcdir/../plugins/linuxdisk/virtual-disk.c - cmp linuxdisk-copy-out.test2 $srcdir/../plugins/linuxdisk/Makefile.am - cmp linuxdisk-copy-out.test3 $srcdir/../plugins/linuxdisk/nbdkit-linuxdisk-plugin.pod - cmp linuxdisk-copy-out.test4 $srcdir/../plugins/linuxdisk/filesystem.c -diff --git a/tests/test-multi-conn-name.sh b/tests/test-multi-conn-name.sh -index 6a180db72..2d2072925 100755 ---- a/tests/test-multi-conn-name.sh -+++ b/tests/test-multi-conn-name.sh -@@ -42,6 +42,8 @@ requires_nbdsh_uri - requires nbdsh -c 'print(h.set_opt_mode)' - requires dd iflag=count_bytes test-multi-conn-name.out || fail=1 - diff -u <(cat <<\EOF - b'A' -@@ -77,7 +79,7 @@ b'B' - EOF - ) test-multi-conn-name.out || fail=1 - # But with the knob, our flush is specific to the correct export --nbdkit -vf sh test-multi-conn-plugin.sh --filter=multi-conn \ -+nbdkit -vf sh $plugin --filter=multi-conn \ - multi-conn-exportname=true \ - --run 'export uri; nbdsh -c "$script"' > test-multi-conn-name.out || fail=1 - diff -u <(cat <<\EOF -diff --git a/tests/test-multi-conn.sh b/tests/test-multi-conn.sh -index 3383cd246..eec225c2a 100755 ---- a/tests/test-multi-conn.sh -+++ b/tests/test-multi-conn.sh -@@ -41,6 +41,8 @@ requires_plugin sh - requires_nbdsh_uri - requires dd iflag=count_bytes test-multi-conn.out || fail=1 -@@ -208,7 +210,7 @@ for level in off connection fast; do - plugin 'plugin --filter=cache'; do - echo "setup: $level $mode" >> test-multi-conn.stat - # Flush with no activity -- nbdkit -vf sh test-multi-conn-plugin.sh --filter=multi-conn \ -+ nbdkit -vf sh $plugin --filter=multi-conn \ - --filter=stats statsfile=test-multi-conn.stat statsappend=true \ - multi-conn-track-dirty=$level multi-conn-mode=$mode \ - --run 'nbdsh -c "$preamble" -c " -@@ -217,7 +219,7 @@ h[0].pread(1, 0) - h[0].flush() - "' > test-multi-conn.out || fail=1 - # Client that flushes assuming multi-conn semantics -- nbdkit -vf sh test-multi-conn-plugin.sh --filter=multi-conn \ -+ nbdkit -vf sh $plugin --filter=multi-conn \ - --filter=stats statsfile=test-multi-conn.stat statsappend=true \ - multi-conn-track-dirty=$level multi-conn-mode=$mode \ - --run 'handles=4 nbdsh -c "$preamble" -c " -@@ -230,7 +232,7 @@ h[3].flush() - h[3].flush() - "' > test-multi-conn.out || fail=1 - # Client that flushes assuming inconsistent semantics -- nbdkit -vf sh test-multi-conn-plugin.sh --filter=multi-conn \ -+ nbdkit -vf sh $plugin --filter=multi-conn \ - --filter=stats statsfile=test-multi-conn.stat statsappend=true \ - multi-conn-track-dirty=$level multi-conn-mode=$mode \ - --run 'nbdsh -c "$preamble" -c " -diff --git a/tests/test-plugin-docs.sh b/tests/test-plugin-docs.sh -index 772cfff07..e329035da 100755 ---- a/tests/test-plugin-docs.sh -+++ b/tests/test-plugin-docs.sh -@@ -59,7 +59,7 @@ run_test () - { - plugin="$1" - -- pod=../plugins/$plugin/nbdkit-$plugin-plugin.pod -+ pod=$srcdir/../plugins/$plugin/nbdkit-$plugin-plugin.pod - test -f "$pod" - - # Get the key=value lines from the help output. -diff --git a/tests/test-shebang-cc.sh b/tests/test-shebang-cc.sh -index b25b789f7..674d0fcef 100755 ---- a/tests/test-shebang-cc.sh -+++ b/tests/test-shebang-cc.sh -@@ -45,6 +45,9 @@ requires_run - requires_plugin cc - requires guestfish --version - -+# This variable is used by $script. -+export abs_top_srcdir -+ - $script -fv \ - EXTRA_CFLAGS="-I$abs_top_srcdir/include" \ - --run ' -diff --git a/tests/test-tar.sh b/tests/test-tar.sh -index 9c9b3974f..d1a602b99 100755 ---- a/tests/test-tar.sh -+++ b/tests/test-tar.sh -@@ -45,7 +45,7 @@ cleanup_fn rm -f $files - - # Create a tar file containing the disk image plus some other random - # files that hopefully will be ignored. --tar cf tar.tar test-tar.sh Makefile disk Makefile.am -+tar cf tar.tar Makefile disk functions.sh - tar tvvf tar.tar - - # Run nbdkit. -diff --git a/tests/cc-shebang.c b/tests/cc-shebang.c -index de2730f67..882fa2c1c 100755 ---- a/tests/cc-shebang.c -+++ b/tests/cc-shebang.c -@@ -1,5 +1,7 @@ - #if 0 --exec nbdkit cc "$0" "$@" -+exec nbdkit cc "$0" "$@" \ -+ EXTRA_CFLAGS="-I.. -I../include \ -+ -I$abs_top_srcdir/include" - #endif - #include - #include -diff --git a/tests/test-read-password-plugin.c b/tests/test-read-password-plugin.c -index 3f0a95153..703fc724d 100755 ---- a/tests/test-read-password-plugin.c -+++ b/tests/test-read-password-plugin.c -@@ -1,5 +1,7 @@ - #if 0 --exec nbdkit cc "$0" "$@" EXTRA_CFLAGS="-I.. -I$abs_top_srcdir/include" -+exec nbdkit cc "$0" "$@" \ -+ EXTRA_CFLAGS="-I.. -I../include \ -+ -I$abs_top_srcdir/include" - #endif - /* nbdkit - * Copyright Red Hat --- -2.43.0 - diff --git a/0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch b/0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch deleted file mode 100644 index 28c0ccb..0000000 --- a/0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 774465bb9e3444f23709deabeb39cc91490001a5 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 23 Jan 2024 18:08:12 +0000 -Subject: [PATCH 3/4] common/replacements/win32: Only build nbdkit-cat.mc - derived files once - -Previously parallel builds caused multiple instances of windmc to run. -Use a stamp file to avoid this. ---- - common/replacements/win32/Makefile.am | 9 +++++++-- - .gitignore | 1 + - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/common/replacements/win32/Makefile.am b/common/replacements/win32/Makefile.am -index 9b5a68db0..b8c7c639e 100644 ---- a/common/replacements/win32/Makefile.am -+++ b/common/replacements/win32/Makefile.am -@@ -38,8 +38,13 @@ if IS_WINDOWS - # Build the message catalog. - noinst_DATA = MSG00001.bin nbdkit-cat.h nbdkit-cat.rc - --$(noinst_DATA): nbdkit-cat.mc -- rm -f $@ -+CLEANFILES += stamp-data -+ -+$(noinst_DATA): stamp-data -+ -+stamp-data: nbdkit-cat.mc -+ rm -f $@ $(noinst_DATA) - $(MC) $< -+ touch $@ - - endif -diff --git a/.gitignore b/.gitignore -index 04fdcd723..14f816c93 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -55,6 +55,7 @@ plugins/*/*.3 - /common/replacements/win32/MSG00001.bin - /common/replacements/win32/nbdkit-cat.h - /common/replacements/win32/nbdkit-cat.rc -+/common/replacements/win32/stamp-data - /common/utils/test-quotes - /common/utils/test-vector - /common/utils/windows-errors.c --- -2.43.0 - diff --git a/0004-common-replacements-win32-Make-windmc-tool-optional.patch b/0004-common-replacements-win32-Make-windmc-tool-optional.patch deleted file mode 100644 index de45bd0..0000000 --- a/0004-common-replacements-win32-Make-windmc-tool-optional.patch +++ /dev/null @@ -1,192 +0,0 @@ -From 617f950de1d18d5ddd146c32d700afd81470a284 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 24 Jan 2024 10:46:26 +0000 -Subject: [PATCH 4/4] common/replacements/win32: Make windmc tool optional - -Make the windmc (mc.exe) tool option even on Windows. - -Distribute the generated message catalogs, but regenerate them if -windmc is found at compile time. - -I also changed mc -> mc.exe since "mc" on Linux is a program called -Midnight Commander and mc.exe would only be the name when compiling on -Windows. (If there's any confusion here, you can always define the -right binary to use by doing: ./configure MC=/path/to/mc.exe) ---- - configure.ac | 10 ++-- - common/replacements/win32/Makefile.am | 13 +++-- - common/replacements/win32/nbdkit-cat.h | 68 ++++++++++++++++++++++++ - common/replacements/win32/MSG00001.bin | Bin 0 -> 28 bytes - common/replacements/win32/nbdkit-cat.rc | 9 ++++ - .gitignore | 3 -- - 6 files changed, 89 insertions(+), 14 deletions(-) - create mode 100644 common/replacements/win32/nbdkit-cat.h - create mode 100644 common/replacements/win32/MSG00001.bin - create mode 100644 common/replacements/win32/nbdkit-cat.rc - -diff --git a/configure.ac b/configure.ac -index 08ba6287c..03c655638 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -584,13 +584,11 @@ AC_DEFINE_UNQUOTED([DIR_SEPARATOR_STR],["$DIR_SEPARATOR_STR"], - [String that separates path elements.]) - AM_CONDITIONAL([IS_WINDOWS],[test "x$is_windows" = "xyes"]) - -+dnl Look for the mc/windmc utility (optional). -+AC_CHECK_TOOLS([MC],[windmc mc.exe],[no]) -+AM_CONDITIONAL([HAVE_MC],[test "x$MC" != "xno"]) -+ - AS_IF([test "x$is_windows" = "xyes"],[ -- dnl For Windows, look for the mc/windmc utility. -- dnl XXX Do we need to check for mc.exe as well? -- AC_CHECK_TOOLS([MC],[windmc mc],[no]) -- AS_IF([test "x$MC" = "xno"], -- [AC_MSG_ERROR([mc/windmc utility must be available when compiling for Windows])]) -- - dnl On Windows look for dlltool. - AC_CHECK_TOOLS([DLLTOOL],[dlltool],[no]) - AS_IF([test "x$DLLTOOL" = "xno"], -diff --git a/common/replacements/win32/Makefile.am b/common/replacements/win32/Makefile.am -index b8c7c639e..45dcd6ac2 100644 ---- a/common/replacements/win32/Makefile.am -+++ b/common/replacements/win32/Makefile.am -@@ -29,15 +29,18 @@ - # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - # SUCH DAMAGE. - -+# The Windows message catalog. -+ - include $(top_srcdir)/common-rules.mk - --EXTRA_DIST = nbdkit-cat.mc -- --if IS_WINDOWS -- --# Build the message catalog. - noinst_DATA = MSG00001.bin nbdkit-cat.h nbdkit-cat.rc - -+# We distribute the generated message catalog files to save people -+# needing to install the windmc tool, but they are regenerated (below) -+# if windmc is found at configure time. -+EXTRA_DIST = nbdkit-cat.mc $(noinst_DATA) -+ -+if HAVE_MC - CLEANFILES += stamp-data - - $(noinst_DATA): stamp-data -diff --git a/common/replacements/win32/nbdkit-cat.h b/common/replacements/win32/nbdkit-cat.h -new file mode 100644 -index 000000000..8081e453d ---- /dev/null -+++ b/common/replacements/win32/nbdkit-cat.h -@@ -0,0 +1,68 @@ -+/* Do not edit this file manually. -+ This file is autogenerated by windmc. */ -+ -+// -+// The values are 32 bit layed out as follows: -+// -+// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 -+// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 -+// +---+-+-+-----------------------+-------------------------------+ -+// |Sev|C|R| Facility | Code | -+// +---+-+-+-----------------------+-------------------------------+ -+// -+// where -+// -+// C - is the Customer code flag -+// -+// R - is a reserved bit -+// -+// Code - is the facility's status code -+// -+// Sev - is the severity code -+// -+// Success - 00 -+// Informational - 01 -+// Warning - 02 -+// Error - 03 -+// -+// Facility - is the facility code -+// -+// System - 00ff -+// Application - 0fff -+// -+ -+// nbdkit -+// Copyright Red Hat -+// -+// Redistribution and use in source and binary forms, with or without -+// modification, are permitted provided that the following conditions are -+// met: -+// -+// * Redistributions of source code must retain the above copyright -+// notice, this list of conditions and the following disclaimer. -+// -+// * Redistributions in binary form must reproduce the above copyright -+// notice, this list of conditions and the following disclaimer in the -+// documentation and/or other materials provided with the distribution. -+// -+// * Neither the name of Red Hat nor the names of its contributors may be -+// used to endorse or promote products derived from this software without -+// specific prior written permission. -+// -+// THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND -+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -+// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -+// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR -+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -+// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -+// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -+// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+// SUCH DAMAGE. -+// -+// MessageId: NBDKIT_SYSLOG_ERROR -+// -+#define NBDKIT_SYSLOG_ERROR 0xc0000001 -+ -diff --git a/common/replacements/win32/MSG00001.bin b/common/replacements/win32/MSG00001.bin -new file mode 100644 -index 0000000000000000000000000000000000000000..f642ff3a4079b4b8b3b60b9ecefebe7c136a404b -GIT binary patch -literal 28 -dcmZQ%U|?WmU^oE60zftokf+LE$iM|;0{|fO0s#O3 - -literal 0 -HcmV?d00001 - -diff --git a/common/replacements/win32/nbdkit-cat.rc b/common/replacements/win32/nbdkit-cat.rc -new file mode 100644 -index 000000000..6f6ce3344 ---- /dev/null -+++ b/common/replacements/win32/nbdkit-cat.rc -@@ -0,0 +1,9 @@ -+/* Do not edit this file manually. -+ This file is autogenerated by windmc. */ -+ -+ -+// Country: United States -+// Language: English -+#pragma code_page(1252) -+LANGUAGE 0x9, 0x1 -+1 MESSAGETABLE "MSG00001.bin" -diff --git a/.gitignore b/.gitignore -index 14f816c93..cce2de79b 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -52,9 +52,6 @@ plugins/*/*.3 - /common/protocol/protostrings.c - /common/replacements/libcompat.a - /common/replacements/test-current-dir-name --/common/replacements/win32/MSG00001.bin --/common/replacements/win32/nbdkit-cat.h --/common/replacements/win32/nbdkit-cat.rc - /common/replacements/win32/stamp-data - /common/utils/test-quotes - /common/utils/test-vector --- -2.43.0 - diff --git a/nbdkit.spec b/nbdkit.spec index a8d25ae..360a009 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -57,8 +57,8 @@ %global source_directory 1.37-development Name: nbdkit -Version: 1.37.5 -Release: 3%{?dist} +Version: 1.37.6 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -89,13 +89,6 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc -# Upstream patches to fix srcdir != builddir -Patch: 0001-common-bitmaps-Fix-tests-when-srcdir-builddir.patch -Patch: 0002-tests-Fix-tests-to-work-with-srcdir-builddir.patch -# Upstream patches to fix mingw builds -Patch: 0003-common-replacements-win32-Only-build-nbdkit-cat.mc-d.patch -Patch: 0004-common-replacements-win32-Make-windmc-tool-optional.patch - # For applying the patches: BuildRequires: git @@ -1478,6 +1471,9 @@ fi %changelog +* Thu Feb 01 2024 Richard W.M. Jones - 1.37.6-1 +- New upstream development version 1.37.6 + * Tue Jan 23 2024 Richard W.M. Jones - 1.37.5-3 - Add mingw{32,64}-nbdkit subpackages diff --git a/sources b/sources index 6deff94..a6ef3f6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.5.tar.gz) = 7f246fe0665a30d04641c8181d408d50859bf96c251dceb37c797057f2c32316174e7d293d2090d3b9979ff28edf337cedf4f5305e901054eebe7b97a0804e67 -SHA512 (nbdkit-1.37.5.tar.gz.sig) = 78be5c0f05ef20d4a651416799faeec180a3c48aeea547bb174bebf1b87dadac927e99faf8dcfdb27998f1747c6f7519d96e8d6f895f448ff9120b74a8a3e121 +SHA512 (nbdkit-1.37.6.tar.gz) = 3f16d523a76b50db0cfdd48bb07271d0588d04807600ee6d5eebe8e91a96611f12fd8ab2ffce161f0334ed26c51a33053a7c2edbaed9610194445bbdc5e27280 +SHA512 (nbdkit-1.37.6.tar.gz.sig) = 894e73e55cefb7d71337f40300230dab3b32d938ca5d9f44b50a6f15d108e07e58537776c4faeab4ce9f1b3e2722cd319bb795695f9cf92d844ccd2fd8d75873 From 4a2343b4a3754ca7e9078189ac4642f2f9acf847 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 11 Feb 2024 18:29:20 +0000 Subject: [PATCH 073/195] New upstream development version 1.37.7 New nbdkit-gcs-plugin for Google Cloud Storage --- nbdkit.spec | 36 +++++++++++++++++++++++++++++++++--- sources | 4 ++-- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 360a009..fb606dc 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -57,7 +57,7 @@ %global source_directory 1.37-development Name: nbdkit -Version: 1.37.6 +Version: 1.37.7 Release: 1%{?dist} Summary: NBD server @@ -349,6 +349,21 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} This package contains cURL (HTTP/FTP) support for %{name}. +%if !0%{?rhel} +# In theory this is noarch, but because plugins are placed in _libdir +# which varies across architectures, RPM does not allow this. +%package gcs-plugin +Summary: Gooogle Cloud Storage plugin %{name} +Requires: %{name}-python-plugin >= 1.38 +# XXX Should not need to add this. +Requires: python3-google-cloud-storage + +%description gcs-plugin +This package lets you open disk images stored in Google +Cloud Storage using %{name}. +%endif + + %if !0%{?rhel} && 0%{?have_libguestfs} %package guestfs-plugin Summary: libguestfs plugin for %{name} @@ -916,8 +931,10 @@ for f in cc cdi ; do rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/nbdkit-$f-plugin.so rm -f $RPM_BUILD_ROOT%{_mandir}/man?/nbdkit-$f-plugin.* done -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/nbdkit-S3-plugin -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/nbdkit-S3-plugin.1* +for f in gcs S3 ; do + rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/nbdkit-$f-plugin + rm -f $RPM_BUILD_ROOT%{_mandir}/man1/nbdkit-$f-plugin.1* +done rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/filters/nbdkit-qcow2dec-filter.so rm -f $RPM_BUILD_ROOT%{_mandir}/man1/nbdkit-qcow2dec-filter.1* %endif @@ -1133,6 +1150,15 @@ fi %{_mandir}/man1/nbdkit-curl-plugin.1* +%if !0%{?rhel} +%files gcs-plugin +%doc README.md +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-gcs-plugin +%{_mandir}/man1/nbdkit-gcs-plugin.1* +%endif + + %if !0%{?rhel} && 0%{?have_libguestfs} %files guestfs-plugin %doc README.md @@ -1471,6 +1497,10 @@ fi %changelog +* Sun Feb 11 2024 Richard W.M. Jones - 1.37.7-1 +- New upstream development version 1.37.7 +- New nbdkit-gcs-plugin for Google Cloud Storage + * Thu Feb 01 2024 Richard W.M. Jones - 1.37.6-1 - New upstream development version 1.37.6 diff --git a/sources b/sources index a6ef3f6..e18e411 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.6.tar.gz) = 3f16d523a76b50db0cfdd48bb07271d0588d04807600ee6d5eebe8e91a96611f12fd8ab2ffce161f0334ed26c51a33053a7c2edbaed9610194445bbdc5e27280 -SHA512 (nbdkit-1.37.6.tar.gz.sig) = 894e73e55cefb7d71337f40300230dab3b32d938ca5d9f44b50a6f15d108e07e58537776c4faeab4ce9f1b3e2722cd319bb795695f9cf92d844ccd2fd8d75873 +SHA512 (nbdkit-1.37.7.tar.gz) = b219562c00da1acaa6f9e5cd69f8e18971093d12662747551ac141459a43b4e5732e58fea1f47fd9d299968d5bc1295889339ceb3b2f595d36d57ed394c34118 +SHA512 (nbdkit-1.37.7.tar.gz.sig) = 05fdd89f2639f0c1cbd6bf134219a0158a503ef207ccd35eb87f1cf63918bec95a83e0a0a5bc8b57aafea0435c416f4d628bfa53f57fbad4cce1f155a60ae687 From 13f3d0d720a06dcde5fc76574399c127f1ce8ba1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 14 Feb 2024 21:11:06 +0000 Subject: [PATCH 074/195] Fix gcs & S3 plugin requirements Make them require the exact version of nbdkit-server and nbdkit-python-plugin. This avoids any sort of unintentional mismatch in case we add a feature to the server or python plugin and then immediately use it in the gcs / S3 plugin. Also use %{?_isa} for the python plugin since it is arch-specific. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2264258 Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2264266 --- nbdkit.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index fb606dc..0d6051f 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -58,7 +58,7 @@ Name: nbdkit Version: 1.37.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -354,7 +354,8 @@ This package contains cURL (HTTP/FTP) support for %{name}. # which varies across architectures, RPM does not allow this. %package gcs-plugin Summary: Gooogle Cloud Storage plugin %{name} -Requires: %{name}-python-plugin >= 1.38 +Requires: %{name}-python-plugin%{?_isa} = %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{version}-%{release} # XXX Should not need to add this. Requires: python3-google-cloud-storage @@ -481,7 +482,8 @@ This package lets you write Ruby plugins for %{name}. # which varies across architectures, RPM does not allow this. %package S3-plugin Summary: Amazon S3 and Ceph plugin for %{name} -Requires: %{name}-python-plugin >= 1.22 +Requires: %{name}-python-plugin%{?_isa} = %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{version}-%{release} # XXX Should not need to add this. Requires: python3-boto3 @@ -1497,6 +1499,9 @@ fi %changelog +* Wed Feb 14 2024 Richard W.M. Jones - 1.37.7-2 +- Fix gcs & S3 plugin requirements + * Sun Feb 11 2024 Richard W.M. Jones - 1.37.7-1 - New upstream development version 1.37.7 - New nbdkit-gcs-plugin for Google Cloud Storage From c2426d55fd553fbee92e689825de6d9cf50e42e2 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 17 Feb 2024 11:00:34 +0000 Subject: [PATCH 075/195] New upstream development version 1.37.8 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 0d6051f..79ae30b 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -57,8 +57,8 @@ %global source_directory 1.37-development Name: nbdkit -Version: 1.37.7 -Release: 2%{?dist} +Version: 1.37.8 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1499,6 +1499,9 @@ fi %changelog +* Sat Feb 17 2024 Richard W.M. Jones - 1.37.8-1 +- New upstream development version 1.37.8 + * Wed Feb 14 2024 Richard W.M. Jones - 1.37.7-2 - Fix gcs & S3 plugin requirements diff --git a/sources b/sources index e18e411..59b5780 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.7.tar.gz) = b219562c00da1acaa6f9e5cd69f8e18971093d12662747551ac141459a43b4e5732e58fea1f47fd9d299968d5bc1295889339ceb3b2f595d36d57ed394c34118 -SHA512 (nbdkit-1.37.7.tar.gz.sig) = 05fdd89f2639f0c1cbd6bf134219a0158a503ef207ccd35eb87f1cf63918bec95a83e0a0a5bc8b57aafea0435c416f4d628bfa53f57fbad4cce1f155a60ae687 +SHA512 (nbdkit-1.37.8.tar.gz) = c8bd2998ef99207a9d5098514774c833ad72e78b26f94319c078c5df8ce87bc694c60046c9ffef8878d65da3fb47b9714786dd0f6a9a9fe63ce87c27d17ed11b +SHA512 (nbdkit-1.37.8.tar.gz.sig) = d4a2355118f2bc332b82e7cff89c0473793f63362327fdaa10c25215ae20e068f64d0fd3531ef11d03af1f21fd63d5f2d28c27ca76a106728e928a3dc53e0296 From d38d28e5e0203df12f84736067f227373096e068 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 17 Feb 2024 11:15:02 +0000 Subject: [PATCH 076/195] +BR bash-completion-devel The bash-completion.pc file moved in Rawhide: $ rpm -qf /usr/share/pkgconfig/bash-completion.pc bash-completion-devel-2.11-15.fc41.noarch (https://src.fedoraproject.org/rpms/bash-completion/c/d1f5dc48c0440cc68efdd519b78fccca416cad94?branch=rawhide) --- nbdkit.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 79ae30b..dd97ea3 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -122,7 +122,7 @@ BuildRequires: rb_libtorrent-devel %if 0%{?have_blkio} BuildRequires: libblkio-devel %endif -BuildRequires: bash-completion +BuildRequires: bash-completion, bash-completion-devel BuildRequires: perl-devel BuildRequires: perl(ExtUtils::Embed) %if 0%{?rhel} == 8 From 1bcb9f8bdba33178b2d5326dafc5506e477d2df2 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 22 Feb 2024 10:51:25 +0000 Subject: [PATCH 077/195] New upstream development version 1.37.9 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index dd97ea3..6b11f84 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -57,7 +57,7 @@ %global source_directory 1.37-development Name: nbdkit -Version: 1.37.8 +Version: 1.37.9 Release: 1%{?dist} Summary: NBD server @@ -1499,6 +1499,9 @@ fi %changelog +* Thu Feb 22 2024 Richard W.M. Jones - 1.37.9-1 +- New upstream development version 1.37.9 + * Sat Feb 17 2024 Richard W.M. Jones - 1.37.8-1 - New upstream development version 1.37.8 diff --git a/sources b/sources index 59b5780..4f880ab 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.8.tar.gz) = c8bd2998ef99207a9d5098514774c833ad72e78b26f94319c078c5df8ce87bc694c60046c9ffef8878d65da3fb47b9714786dd0f6a9a9fe63ce87c27d17ed11b -SHA512 (nbdkit-1.37.8.tar.gz.sig) = d4a2355118f2bc332b82e7cff89c0473793f63362327fdaa10c25215ae20e068f64d0fd3531ef11d03af1f21fd63d5f2d28c27ca76a106728e928a3dc53e0296 +SHA512 (nbdkit-1.37.9.tar.gz) = f1d9f2b3ebf18a433e905e8874bc473773a04fd19f530ebcccdd0c3f842b02513979d33d22e14dd3d35a08b36381994c9b0730bb2a87b5030cf4e6f0164301a8 +SHA512 (nbdkit-1.37.9.tar.gz.sig) = 4bfee2977e3d8d2f72fb273f756c2510be33db5a58087a09edaa772f9e28bae734b33cba9dbb2a1e8bd69d470a48db62a017f470676d0c3a99a6b85dbf0c6807 From 5a952a21a25587fbaf133374238fc936f86e1af1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 4 Mar 2024 18:30:28 +0000 Subject: [PATCH 078/195] New upstream development version 1.37.10 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 6b11f84..7f183b8 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -57,7 +57,7 @@ %global source_directory 1.37-development Name: nbdkit -Version: 1.37.9 +Version: 1.37.10 Release: 1%{?dist} Summary: NBD server @@ -1499,6 +1499,9 @@ fi %changelog +* Mon Mar 04 2024 Richard W.M. Jones - 1.37.10-1 +- New upstream development version 1.37.10 + * Thu Feb 22 2024 Richard W.M. Jones - 1.37.9-1 - New upstream development version 1.37.9 diff --git a/sources b/sources index 4f880ab..caf462b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.9.tar.gz) = f1d9f2b3ebf18a433e905e8874bc473773a04fd19f530ebcccdd0c3f842b02513979d33d22e14dd3d35a08b36381994c9b0730bb2a87b5030cf4e6f0164301a8 -SHA512 (nbdkit-1.37.9.tar.gz.sig) = 4bfee2977e3d8d2f72fb273f756c2510be33db5a58087a09edaa772f9e28bae734b33cba9dbb2a1e8bd69d470a48db62a017f470676d0c3a99a6b85dbf0c6807 +SHA512 (nbdkit-1.37.10.tar.gz) = 81fd05dca2f21b1ac4d1b794f40583f097f4d0fb0d30303da7861ba76a387e6f24da3035ea5c235963f1abcfff198313293be22ee88bdab1dfffd5730ae1dd73 +SHA512 (nbdkit-1.37.10.tar.gz.sig) = 2bd17f45ed1780577f432485ef52efe44f817be4084963f7df57c9bb658d719dfe970c1d6da70a848b48b9649ea29ee0d9957c7d014c6616f814a88fe84c6887 From 24b68458fe706c5f2fb5dcb9f74c9fa4f3fcd61f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 11 Mar 2024 10:38:28 +0000 Subject: [PATCH 079/195] New upstream development version 1.37.11 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 7f183b8..7bc90b0 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -57,7 +57,7 @@ %global source_directory 1.37-development Name: nbdkit -Version: 1.37.10 +Version: 1.37.11 Release: 1%{?dist} Summary: NBD server @@ -1499,6 +1499,9 @@ fi %changelog +* Mon Mar 11 2024 Richard W.M. Jones - 1.37.11-1 +- New upstream development version 1.37.11 + * Mon Mar 04 2024 Richard W.M. Jones - 1.37.10-1 - New upstream development version 1.37.10 diff --git a/sources b/sources index caf462b..01b517b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.10.tar.gz) = 81fd05dca2f21b1ac4d1b794f40583f097f4d0fb0d30303da7861ba76a387e6f24da3035ea5c235963f1abcfff198313293be22ee88bdab1dfffd5730ae1dd73 -SHA512 (nbdkit-1.37.10.tar.gz.sig) = 2bd17f45ed1780577f432485ef52efe44f817be4084963f7df57c9bb658d719dfe970c1d6da70a848b48b9649ea29ee0d9957c7d014c6616f814a88fe84c6887 +SHA512 (nbdkit-1.37.11.tar.gz) = bbbe40ee970c994b1fbd6ca495e8f178e4c67d710081b07fb89bb9acb86d82dc0f7dbd9e4beb57c6a5d6a851f6206362d82dcda34b199852f8d5dd5e4ad34e33 +SHA512 (nbdkit-1.37.11.tar.gz.sig) = 5ab1fe3eca97b5f95812ff8b49fd55505807aedd581ccd0005f3fb31de135a1b24549fa58f5eb6e67a4cf2cae1f1c20dcfaa916096945114fb7863e3269e22f8 From c1f286012b47977c439168570cee61c397f1e674 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 15 Mar 2024 09:44:47 +0000 Subject: [PATCH 080/195] New upstream development version 1.37.12 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 7bc90b0..afa1fe6 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -57,7 +57,7 @@ %global source_directory 1.37-development Name: nbdkit -Version: 1.37.11 +Version: 1.37.12 Release: 1%{?dist} Summary: NBD server @@ -1499,6 +1499,9 @@ fi %changelog +* Fri Mar 15 2024 Richard W.M. Jones - 1.37.12-1 +- New upstream development version 1.37.12 + * Mon Mar 11 2024 Richard W.M. Jones - 1.37.11-1 - New upstream development version 1.37.11 diff --git a/sources b/sources index 01b517b..5f9b377 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.11.tar.gz) = bbbe40ee970c994b1fbd6ca495e8f178e4c67d710081b07fb89bb9acb86d82dc0f7dbd9e4beb57c6a5d6a851f6206362d82dcda34b199852f8d5dd5e4ad34e33 -SHA512 (nbdkit-1.37.11.tar.gz.sig) = 5ab1fe3eca97b5f95812ff8b49fd55505807aedd581ccd0005f3fb31de135a1b24549fa58f5eb6e67a4cf2cae1f1c20dcfaa916096945114fb7863e3269e22f8 +SHA512 (nbdkit-1.37.12.tar.gz) = 56aed08aef7af1162135b5ea51ef1e9f85a32e34488891e4895f10b0476c37e49971f66f1108d3b42f1caab1186a2c0d17fd23cc11f4813413f63a03d3dc0ab1 +SHA512 (nbdkit-1.37.12.tar.gz.sig) = 18fbd0cc4e3ec271db90cae71156088bce0f84a38899b099c3e2b716c9b350b269b6ae6433f76f1780c2acb9601b648466d2cb51d60d6fa0d2e8e638de1d8b21 From d16125b3411faee609bdc1e2e6bd26829a6e4113 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 18 Mar 2024 17:33:56 +0000 Subject: [PATCH 081/195] New upstream development version 1.37.13 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index afa1fe6..fb48b4a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -57,7 +57,7 @@ %global source_directory 1.37-development Name: nbdkit -Version: 1.37.12 +Version: 1.37.13 Release: 1%{?dist} Summary: NBD server @@ -1499,6 +1499,9 @@ fi %changelog +* Mon Mar 18 2024 Richard W.M. Jones - 1.37.13-1 +- New upstream development version 1.37.13 + * Fri Mar 15 2024 Richard W.M. Jones - 1.37.12-1 - New upstream development version 1.37.12 diff --git a/sources b/sources index 5f9b377..cf752b4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.12.tar.gz) = 56aed08aef7af1162135b5ea51ef1e9f85a32e34488891e4895f10b0476c37e49971f66f1108d3b42f1caab1186a2c0d17fd23cc11f4813413f63a03d3dc0ab1 -SHA512 (nbdkit-1.37.12.tar.gz.sig) = 18fbd0cc4e3ec271db90cae71156088bce0f84a38899b099c3e2b716c9b350b269b6ae6433f76f1780c2acb9601b648466d2cb51d60d6fa0d2e8e638de1d8b21 +SHA512 (nbdkit-1.37.13.tar.gz) = 0b0d4f1ae23f5c3531b39ec4efd8d4cd66caf90a66c1f54378bcd128545478273a363dda9db0b079c9abb0c93ef387f4025bc3ae02f0c23e166169d7d376b313 +SHA512 (nbdkit-1.37.13.tar.gz.sig) = ef76767f88075307eb5cb51cadb0c43c3772424d973a1778afbccc7dfe37d8894a58e7732755fc442bf37f068fd4de58479a02b14f0dc4ff28a5a120da0d5682 From 4591027291fadecdf9494e0787b1153185a4eeda Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 25 Mar 2024 11:22:36 +0000 Subject: [PATCH 082/195] Use %{bash_completions_dir} macro --- nbdkit.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index fb48b4a..6e3d8fa 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -58,7 +58,7 @@ Name: nbdkit Version: 1.37.13 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1466,8 +1466,8 @@ fi %files bash-completion %license LICENSE -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/nbdkit +%dir %{bash_completions_dir} +%{bash_completions_dir}/nbdkit %if 0%{?with_selinux} @@ -1499,6 +1499,9 @@ fi %changelog +* Mon Mar 25 2024 Richard W.M. Jones - 1.37.13-2 +- Use %%{bash_completions_dir} macro + * Mon Mar 18 2024 Richard W.M. Jones - 1.37.13-1 - New upstream development version 1.37.13 From 8de2617c9f8b2fad9d47840f5fc017c01a9c0666 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 4 Apr 2024 21:23:56 +0100 Subject: [PATCH 083/195] Rebuild autoconf cruft unconditionally (cherry picked from libnbd commit 11a78d929de957995cf127e70c2762326132a263) --- nbdkit.spec | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 6e3d8fa..7b4b844 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -50,9 +50,6 @@ # 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 1 - # The source directory. %global source_directory 1.37-development @@ -92,9 +89,8 @@ Source8: %{modulename}.fc # For applying the patches: BuildRequires: git -%if 0%{patches_touch_autotools} +# For rebuilding autoconf cruft: BuildRequires: autoconf, automake, libtool -%endif BuildRequires: make BuildRequires: gcc, gcc-c++ @@ -771,9 +767,7 @@ development kit for 64 bit versions of Windows. %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %endif %autosetup -p1 -S git -%if 0%{patches_touch_autotools} autoreconf -i -%endif %build From a673158b38238b86d7ab4a0f9b26e6055d0b6770 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 4 Apr 2024 21:29:09 +0100 Subject: [PATCH 084/195] New stable branch version 1.38.0 --- nbdkit.spec | 10 +++++++--- sources | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 7b4b844..c0778d4 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,11 +51,11 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.37-development +%global source_directory 1.38-stable Name: nbdkit -Version: 1.37.13 -Release: 2%{?dist} +Version: 1.38.0 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1493,6 +1493,10 @@ fi %changelog +* Thu Apr 4 2024 Richard W.M. Jones - 1.38.0-1 +- New stable branch version 1.38.0 +- Rebuild autoconf cruft unconditionally. + * Mon Mar 25 2024 Richard W.M. Jones - 1.37.13-2 - Use %%{bash_completions_dir} macro diff --git a/sources b/sources index cf752b4..3b095a3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.37.13.tar.gz) = 0b0d4f1ae23f5c3531b39ec4efd8d4cd66caf90a66c1f54378bcd128545478273a363dda9db0b079c9abb0c93ef387f4025bc3ae02f0c23e166169d7d376b313 -SHA512 (nbdkit-1.37.13.tar.gz.sig) = ef76767f88075307eb5cb51cadb0c43c3772424d973a1778afbccc7dfe37d8894a58e7732755fc442bf37f068fd4de58479a02b14f0dc4ff28a5a120da0d5682 +SHA512 (nbdkit-1.38.0.tar.gz) = 7817ab29f2c4821237ac9114e820186b6fcbe5658fb702ecd41941fc70ffd060294c3d71fbcb37176f4609d3e25996ea71e20ea58d0aee2c8bf6b4b30254d074 +SHA512 (nbdkit-1.38.0.tar.gz.sig) = e81960962737f57c586bbf4dea9b2f7f208bb7258919ddd808006d4d14582ebd8e6b7d0e9f64ed48176c74c8c6ec00f042060be6a91ac0d8db20a1d936a53b42 From ac48373716cd00ab7c65d19247e42192abb3a1c8 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 7 Apr 2024 21:25:17 +0100 Subject: [PATCH 085/195] New upstream development version 1.39.1 New filters: rotational, spinning --- nbdkit.spec | 16 ++++++++++++++-- sources | 4 ++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index c0778d4..c2d7d3b 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,10 +51,10 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.38-stable +%global source_directory 1.39-development Name: nbdkit -Version: 1.38.0 +Version: 1.39.0 Release: 1%{?dist} Summary: NBD server @@ -626,8 +626,12 @@ nbdkit-retry-filter Reopen connection on error. nbdkit-retry-request-filter Retry single requests on error. +nbdkit-rotational-filter Set if a plugin is rotational or not. + nbdkit-scan-filter Prefetch data ahead of sequential reads. +nbdkit-spinning-filter Add seek delays to simulate a spinning hard disk. + nbdkit-swab-filter Filter for swapping byte order. nbdkit-tls-fallback-filter TLS protection filter. @@ -1334,7 +1338,9 @@ fi %{_libdir}/%{name}/filters/nbdkit-readonly-filter.so %{_libdir}/%{name}/filters/nbdkit-retry-filter.so %{_libdir}/%{name}/filters/nbdkit-retry-request-filter.so +%{_libdir}/%{name}/filters/nbdkit-rotational-filter.so %{_libdir}/%{name}/filters/nbdkit-scan-filter.so +%{_libdir}/%{name}/filters/nbdkit-spinning-filter.so %{_libdir}/%{name}/filters/nbdkit-swab-filter.so %{_libdir}/%{name}/filters/nbdkit-tls-fallback-filter.so %{_libdir}/%{name}/filters/nbdkit-truncate-filter.so @@ -1375,7 +1381,9 @@ fi %{_mandir}/man1/nbdkit-readonly-filter.1* %{_mandir}/man1/nbdkit-retry-filter.1* %{_mandir}/man1/nbdkit-retry-request-filter.1* +%{_mandir}/man1/nbdkit-rotational-filter.1* %{_mandir}/man1/nbdkit-scan-filter.1* +%{_mandir}/man1/nbdkit-spinning-filter.1* %{_mandir}/man1/nbdkit-swab-filter.1* %{_mandir}/man1/nbdkit-tls-fallback-filter.1* %{_mandir}/man1/nbdkit-truncate-filter.1* @@ -1493,6 +1501,10 @@ fi %changelog +* Sun Apr 7 2024 Richard W.M. Jones - 1.39.1-1 +- New upstream development version 1.39.1 +- New filters: rotational, spinning + * Thu Apr 4 2024 Richard W.M. Jones - 1.38.0-1 - New stable branch version 1.38.0 - Rebuild autoconf cruft unconditionally. diff --git a/sources b/sources index 3b095a3..fb2f146 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.38.0.tar.gz) = 7817ab29f2c4821237ac9114e820186b6fcbe5658fb702ecd41941fc70ffd060294c3d71fbcb37176f4609d3e25996ea71e20ea58d0aee2c8bf6b4b30254d074 -SHA512 (nbdkit-1.38.0.tar.gz.sig) = e81960962737f57c586bbf4dea9b2f7f208bb7258919ddd808006d4d14582ebd8e6b7d0e9f64ed48176c74c8c6ec00f042060be6a91ac0d8db20a1d936a53b42 +SHA512 (nbdkit-1.39.1.tar.gz) = 3dbdce400d5aa88e9b35d19ed7e90d9a731a05d6fa21a90130dd86402dd2774ae5bbf7cc1267dcd55ec9e34b93f32e3743b1325de86f4290e29ce5d7711dfb06 +SHA512 (nbdkit-1.39.1.tar.gz.sig) = c63922e8955159bbba2758dbe34e149f4c4ab12213c05a447185aa8a26883f19439227e7fb1c706de33fae898fe0a70335f71df8c201d16830f998c293c93ad0 From e547291dc25ebbee6f7e12f15b48c16c9d99012b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 7 Apr 2024 21:26:10 +0100 Subject: [PATCH 086/195] Fix version (1.39.0 -> 1.39.1) --- nbdkit.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index c2d7d3b..edc8718 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.39-development Name: nbdkit -Version: 1.39.0 +Version: 1.39.1 Release: 1%{?dist} Summary: NBD server From 905a24f8a55ef9fb8ff3bac8ffc3961d63aa9753 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 9 Apr 2024 16:58:13 +0100 Subject: [PATCH 087/195] New upstream development version 1.39.2 Add new nbdkit_*.3 man pages (plugin developer documentation) --- nbdkit.spec | 7 ++++++- sources | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index edc8718..aef6d17 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.39-development Name: nbdkit -Version: 1.39.1 +Version: 1.39.2 Release: 1%{?dist} Summary: NBD server @@ -1456,6 +1456,7 @@ fi %{_includedir}/nbd-protocol.h %{_mandir}/man3/nbdkit-filter.3* %{_mandir}/man3/nbdkit-plugin.3* +%{_mandir}/man3/nbdkit_*.3* %{_mandir}/man1/nbdkit-release-notes-1.*.1* %{_libdir}/pkgconfig/nbdkit.pc @@ -1501,6 +1502,10 @@ fi %changelog +* Tue Apr 9 2024 Richard W.M. Jones - 1.39.2-1 +- New upstream development version 1.39.2 +- Add new nbdkit_*.3 man pages (plugin developer documentation) + * Sun Apr 7 2024 Richard W.M. Jones - 1.39.1-1 - New upstream development version 1.39.1 - New filters: rotational, spinning diff --git a/sources b/sources index fb2f146..a889b86 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.39.1.tar.gz) = 3dbdce400d5aa88e9b35d19ed7e90d9a731a05d6fa21a90130dd86402dd2774ae5bbf7cc1267dcd55ec9e34b93f32e3743b1325de86f4290e29ce5d7711dfb06 -SHA512 (nbdkit-1.39.1.tar.gz.sig) = c63922e8955159bbba2758dbe34e149f4c4ab12213c05a447185aa8a26883f19439227e7fb1c706de33fae898fe0a70335f71df8c201d16830f998c293c93ad0 +SHA512 (nbdkit-1.39.2.tar.gz) = 695024119518ebc686067d0ab4d35a99b728a5c4f40f1174e47078d1b230278c8ea534357341c54428e92bda2410b4ffe3a195ea488f2bf7dc71a693417d3632 +SHA512 (nbdkit-1.39.2.tar.gz.sig) = 58f092bed3e6835f5c1b26ee9747caecd7de9d084c680ebc7e1e3007a831a275ffcda22d9badda5d976cd6a55b445fe3833f9c669b2627de5baab982b0e6bcf7 From 4ae765cff3dd9dcf469064a03dd88abfeead0284 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 11 Apr 2024 09:07:43 +0100 Subject: [PATCH 088/195] New upstream development version 1.39.3 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index aef6d17..9cbc9f1 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.39-development Name: nbdkit -Version: 1.39.2 +Version: 1.39.3 Release: 1%{?dist} Summary: NBD server @@ -1502,6 +1502,9 @@ fi %changelog +* Thu Apr 11 2024 Richard W.M. Jones - 1.39.3-1 +- New upstream development version 1.39.3 + * Tue Apr 9 2024 Richard W.M. Jones - 1.39.2-1 - New upstream development version 1.39.2 - Add new nbdkit_*.3 man pages (plugin developer documentation) diff --git a/sources b/sources index a889b86..9ba7423 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.39.2.tar.gz) = 695024119518ebc686067d0ab4d35a99b728a5c4f40f1174e47078d1b230278c8ea534357341c54428e92bda2410b4ffe3a195ea488f2bf7dc71a693417d3632 -SHA512 (nbdkit-1.39.2.tar.gz.sig) = 58f092bed3e6835f5c1b26ee9747caecd7de9d084c680ebc7e1e3007a831a275ffcda22d9badda5d976cd6a55b445fe3833f9c669b2627de5baab982b0e6bcf7 +SHA512 (nbdkit-1.39.3.tar.gz) = 22083eb75bed70c47f381e8587eb059e8147acb4c8cf6e42c9ab4bff64e81fa589f6c92ef3ff2087be941c469cb141931e76cc4f815370ecda1568366c2269c3 +SHA512 (nbdkit-1.39.3.tar.gz.sig) = ed1e7932f8f87b255ff14516c56f8bce9c59f698a376af9afb9b0154d4c11db48334110c7d3514e486b0c820515f4b7751eeebbf321099e165375fabeeaf4383 From 61064b8fd1d8f3f4619188deaec01e6daafbd9cc Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 12 Apr 2024 11:27:10 +0100 Subject: [PATCH 089/195] gating: Match any version of RHEL --- gating.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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} From 86fa43d05eb96c722fa2e79ce92edf5cdf0ee997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 13 Apr 2024 13:47:02 +0200 Subject: [PATCH 090/195] Do not use macros is file path Requires This is in preparation for https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin. When the package is rebuilt with a different %_sbindir (in particular %_sbindir==%_bindir), those BuildRequires and Requires will stop working with the providers of those requires that were built with the old definition. We don't want to force a transition of all packages at the same time, so instead use a fixed path. (The providers, when they are updated to the new path, will retain a compat Provides for the old path.) The tests fail in test-tar-xz-curl, but this doesn't seem to be related to the path changes, but instead something about fs internals. --- nbdkit.spec | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 9cbc9f1..d420edf 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -143,25 +143,25 @@ BuildRequires: gnupg2 %endif # Only for running the test suite: -BuildRequires: %{_bindir}/bc -BuildRequires: %{_bindir}/certtool -BuildRequires: %{_bindir}/cut +BuildRequires: /usr/bin/bc +BuildRequires: /usr/bin/certtool +BuildRequires: /usr/bin/cut BuildRequires: expect -BuildRequires: %{_bindir}/hexdump -BuildRequires: %{_sbindir}/ip +BuildRequires: /usr/bin/hexdump +BuildRequires: /usr/sbin/ip BuildRequires: jq -BuildRequires: %{_bindir}/nbdcopy -BuildRequires: %{_bindir}/nbdinfo -BuildRequires: %{_bindir}/nbdsh -BuildRequires: %{_bindir}/qemu-img -BuildRequires: %{_bindir}/qemu-io -BuildRequires: %{_bindir}/qemu-nbd -BuildRequires: %{_sbindir}/sfdisk +BuildRequires: /usr/bin/nbdcopy +BuildRequires: /usr/bin/nbdinfo +BuildRequires: /usr/bin/nbdsh +BuildRequires: /usr/bin/qemu-img +BuildRequires: /usr/bin/qemu-io +BuildRequires: /usr/bin/qemu-nbd +BuildRequires: /usr/sbin/sfdisk %if !0%{?rhel} -BuildRequires: %{_bindir}/socat +BuildRequires: /usr/bin/socat %endif -BuildRequires: %{_sbindir}/ss -BuildRequires: %{_bindir}/stat +BuildRequires: /usr/sbin/ss +BuildRequires: /usr/bin/stat # This package has RPM rules that create the automatic Provides: for # nbdkit plugins and filters. This means nbdkit build depends on @@ -316,7 +316,7 @@ for %{name}. Summary: Write small inline C plugins and scripts for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: gcc -Requires: %{_bindir}/cat +Requires: /usr/bin/cat %description cc-plugin This package contains support for writing inline C plugins and scripts From 9e93f76eacda9b832b321a4b4ae1a13c1038ac3c Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 20 Apr 2024 14:07:29 +0100 Subject: [PATCH 091/195] New upstream development version 1.39.4 Remove the Ruby plugin. --- nbdkit.spec | 34 ++++++---------------------------- sources | 4 ++-- 2 files changed, 8 insertions(+), 30 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index d420edf..fa682f6 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.39-development Name: nbdkit -Version: 1.39.3 +Version: 1.39.4 Release: 1%{?dist} Summary: NBD server @@ -134,7 +134,6 @@ BuildRequires: python3-boto3 BuildRequires: ocaml >= 4.03 BuildRequires: ocaml-ocamldoc %endif -BuildRequires: ruby-devel BuildRequires: tcl-devel BuildRequires: lua-devel %endif @@ -463,16 +462,6 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} This package lets you write Python 3 plugins for %{name}. -%if !0%{?rhel} -%package ruby-plugin -Summary: Ruby plugin for %{name} -Requires: %{name}-server%{?_isa} = %{version}-%{release} - -%description ruby-plugin -This package lets you write Ruby plugins for %{name}. -%endif - - %if !0%{?rhel} # In theory this is noarch, but because plugins are placed in _libdir # which varies across architectures, RPM does not allow this. @@ -814,7 +803,6 @@ export PYTHON=%{__python3} %if !0%{?rhel} --enable-lua \ --enable-perl \ - --enable-ruby \ --enable-tcl \ --enable-torrent \ --with-ext2 \ @@ -823,7 +811,6 @@ export PYTHON=%{__python3} %else --disable-lua \ --disable-perl \ - --disable-ruby \ --disable-tcl \ --disable-torrent \ --without-ext2 \ @@ -888,7 +875,6 @@ popd --disable-ocaml \ --disable-perl \ --disable-python \ - --disable-ruby \ --disable-rust \ --disable-tcl \ --disable-torrent \ @@ -1239,15 +1225,6 @@ fi %{_mandir}/man3/nbdkit-python-plugin.3* -%if !0%{?rhel} -%files ruby-plugin -%doc README.md -%license LICENSE -%{_libdir}/%{name}/plugins/nbdkit-ruby-plugin.so -%{_mandir}/man3/nbdkit-ruby-plugin.3* -%endif - - %if !0%{?rhel} %files S3-plugin %doc README.md @@ -1442,10 +1419,7 @@ fi %doc plugins/perl/example.pl %endif %doc plugins/python/examples/*.py -%if !0%{?rhel} -%doc plugins/ruby/example.rb -%endif -%doc plugins/sh/example.sh +%doc plugins/sh/examples/*.sh %if !0%{?rhel} %doc plugins/tcl/example.tcl %endif @@ -1502,6 +1476,10 @@ fi %changelog +* Sat Apr 20 2024 Richard W.M. Jones - 1.39.4-1 +- New upstream development version 1.39.4 +- Remove the Ruby plugin. + * Thu Apr 11 2024 Richard W.M. Jones - 1.39.3-1 - New upstream development version 1.39.3 diff --git a/sources b/sources index 9ba7423..02d68e0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.39.3.tar.gz) = 22083eb75bed70c47f381e8587eb059e8147acb4c8cf6e42c9ab4bff64e81fa589f6c92ef3ff2087be941c469cb141931e76cc4f815370ecda1568366c2269c3 -SHA512 (nbdkit-1.39.3.tar.gz.sig) = ed1e7932f8f87b255ff14516c56f8bce9c59f698a376af9afb9b0154d4c11db48334110c7d3514e486b0c820515f4b7751eeebbf321099e165375fabeeaf4383 +SHA512 (nbdkit-1.39.4.tar.gz) = 452d04e6062bbe28ce9cdcf2392ceceeac5b3c02d25c08092994b7aa73880622aa25f53df8a346f1719397608ec818fd7a960fadbee97e71e5e9e035baffe29a +SHA512 (nbdkit-1.39.4.tar.gz.sig) = faeffa8bdc2837d4ea48ca6d61d7a467af4c32da175c830a7d50b24a386d70c0738782d4ed082a65e0cbba10b510c36401d5a397385e89f264b72b1393347847 From 1bac5f3ba9737d44686e7da7e14b95de424304cf Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 20 Apr 2024 14:50:34 +0100 Subject: [PATCH 092/195] Fix tests/test-shebang-crlf.sh --- ...ng-crlf.sh-Fix-location-of-shebang-c.patch | 36 +++++++++++++++++++ nbdkit.spec | 3 ++ 2 files changed, 39 insertions(+) create mode 100644 0001-tests-test-shebang-crlf.sh-Fix-location-of-shebang-c.patch diff --git a/0001-tests-test-shebang-crlf.sh-Fix-location-of-shebang-c.patch b/0001-tests-test-shebang-crlf.sh-Fix-location-of-shebang-c.patch new file mode 100644 index 0000000..d553c88 --- /dev/null +++ b/0001-tests-test-shebang-crlf.sh-Fix-location-of-shebang-c.patch @@ -0,0 +1,36 @@ +From aade881287fbf5c7ef3539d2f01e0d6eea94a8a9 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 20 Apr 2024 14:45:16 +0100 +Subject: [PATCH] tests/test-shebang-crlf.sh: Fix location of shebang-crlf.py + +Commit 5d01b47d7a ("tests: Add a regression test for DOS line endings +in shebang plugins") requires a test file shebang-crlf.py which is +generated in the Makefile. Generating this file was a late addition +to the commit, but this late change broke srcdir != builddir builds, +since the file is now in the builddir not the srcdir. + +The error seen was: + +../../tests/test-shebang-crlf.sh: could not locate /builddir/build/BUILD/nbdkit-1.39.4/build_native/../tests/shebang-crlf.py or not executable + +Fixes: commit 5d01b47d7a2b1fc92fa516c074bd4deadf1a1e7a +--- + tests/test-shebang-crlf.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test-shebang-crlf.sh b/tests/test-shebang-crlf.sh +index c11d5c0b89..13361eb050 100755 +--- a/tests/test-shebang-crlf.sh ++++ b/tests/test-shebang-crlf.sh +@@ -44,7 +44,7 @@ source ./functions.sh + set -e + set -x + +-script=$abs_top_srcdir/tests/shebang-crlf.py ++script=./shebang-crlf.py + if test ! -x "$script"; then + echo "$0: could not locate $script or not executable" + exit 1 +-- +2.44.0 + diff --git a/nbdkit.spec b/nbdkit.spec index fa682f6..4cc8ec1 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -86,6 +86,9 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc +# Fix tests, upstream in 1.39.5 / 1.38.2 +Patch: 0001-tests-test-shebang-crlf.sh-Fix-location-of-shebang-c.patch + # For applying the patches: BuildRequires: git From b709bbeebeb5811131500cf1067226853f41c190 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 7 May 2024 15:59:29 +0100 Subject: [PATCH 093/195] New upstream development version 1.39.5 --- ...ng-crlf.sh-Fix-location-of-shebang-c.patch | 36 ------------------- nbdkit.spec | 8 ++--- sources | 4 +-- 3 files changed, 6 insertions(+), 42 deletions(-) delete mode 100644 0001-tests-test-shebang-crlf.sh-Fix-location-of-shebang-c.patch diff --git a/0001-tests-test-shebang-crlf.sh-Fix-location-of-shebang-c.patch b/0001-tests-test-shebang-crlf.sh-Fix-location-of-shebang-c.patch deleted file mode 100644 index d553c88..0000000 --- a/0001-tests-test-shebang-crlf.sh-Fix-location-of-shebang-c.patch +++ /dev/null @@ -1,36 +0,0 @@ -From aade881287fbf5c7ef3539d2f01e0d6eea94a8a9 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Sat, 20 Apr 2024 14:45:16 +0100 -Subject: [PATCH] tests/test-shebang-crlf.sh: Fix location of shebang-crlf.py - -Commit 5d01b47d7a ("tests: Add a regression test for DOS line endings -in shebang plugins") requires a test file shebang-crlf.py which is -generated in the Makefile. Generating this file was a late addition -to the commit, but this late change broke srcdir != builddir builds, -since the file is now in the builddir not the srcdir. - -The error seen was: - -../../tests/test-shebang-crlf.sh: could not locate /builddir/build/BUILD/nbdkit-1.39.4/build_native/../tests/shebang-crlf.py or not executable - -Fixes: commit 5d01b47d7a2b1fc92fa516c074bd4deadf1a1e7a ---- - tests/test-shebang-crlf.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test-shebang-crlf.sh b/tests/test-shebang-crlf.sh -index c11d5c0b89..13361eb050 100755 ---- a/tests/test-shebang-crlf.sh -+++ b/tests/test-shebang-crlf.sh -@@ -44,7 +44,7 @@ source ./functions.sh - set -e - set -x - --script=$abs_top_srcdir/tests/shebang-crlf.py -+script=./shebang-crlf.py - if test ! -x "$script"; then - echo "$0: could not locate $script or not executable" - exit 1 --- -2.44.0 - diff --git a/nbdkit.spec b/nbdkit.spec index 4cc8ec1..7373235 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.39-development Name: nbdkit -Version: 1.39.4 +Version: 1.39.5 Release: 1%{?dist} Summary: NBD server @@ -86,9 +86,6 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc -# Fix tests, upstream in 1.39.5 / 1.38.2 -Patch: 0001-tests-test-shebang-crlf.sh-Fix-location-of-shebang-c.patch - # For applying the patches: BuildRequires: git @@ -1479,6 +1476,9 @@ fi %changelog +* Tue May 7 2024 Richard W.M. Jones - 1.39.5-1 +- New upstream development version 1.39.5 + * Sat Apr 20 2024 Richard W.M. Jones - 1.39.4-1 - New upstream development version 1.39.4 - Remove the Ruby plugin. diff --git a/sources b/sources index 02d68e0..a4bdbf4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.39.4.tar.gz) = 452d04e6062bbe28ce9cdcf2392ceceeac5b3c02d25c08092994b7aa73880622aa25f53df8a346f1719397608ec818fd7a960fadbee97e71e5e9e035baffe29a -SHA512 (nbdkit-1.39.4.tar.gz.sig) = faeffa8bdc2837d4ea48ca6d61d7a467af4c32da175c830a7d50b24a386d70c0738782d4ed082a65e0cbba10b510c36401d5a397385e89f264b72b1393347847 +SHA512 (nbdkit-1.39.5.tar.gz) = db02e375fdddef332b1c6eb5f4f90fc8905ee62adae67774853dcdb0d438a06bdddded650e979709399bee316735f730921577142b68253d59492c12607cd0c9 +SHA512 (nbdkit-1.39.5.tar.gz.sig) = d39e5bddf3a099674838af18c747f364fb1195dd4a51d42e4340bda3c848fd5f9404d1b3ecaa8b963642b6ac2e2380cb8451b0f86218df44f3f5c8740219d2a7 From 7bfa177607e7aca939c8b262bb5020035c692a7b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 16 May 2024 15:31:25 +0100 Subject: [PATCH 094/195] New upstream development version 1.39.6 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 7373235..50cb129 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.39-development Name: nbdkit -Version: 1.39.5 +Version: 1.39.6 Release: 1%{?dist} Summary: NBD server @@ -1476,6 +1476,9 @@ fi %changelog +* Thu May 16 2024 Richard W.M. Jones - 1.39.6-1 +- New upstream development version 1.39.6 + * Tue May 7 2024 Richard W.M. Jones - 1.39.5-1 - New upstream development version 1.39.5 diff --git a/sources b/sources index a4bdbf4..27a222e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.39.5.tar.gz) = db02e375fdddef332b1c6eb5f4f90fc8905ee62adae67774853dcdb0d438a06bdddded650e979709399bee316735f730921577142b68253d59492c12607cd0c9 -SHA512 (nbdkit-1.39.5.tar.gz.sig) = d39e5bddf3a099674838af18c747f364fb1195dd4a51d42e4340bda3c848fd5f9404d1b3ecaa8b963642b6ac2e2380cb8451b0f86218df44f3f5c8740219d2a7 +SHA512 (nbdkit-1.39.6.tar.gz) = ac4f8e4617c4b96162b506b8757b088eb7b4e09532fba88b94e86899b348ff818689dda2b12c8a3d41364db8edb93be5fac923b898ec6b4fb280a490b6af306a +SHA512 (nbdkit-1.39.6.tar.gz.sig) = 7f5125eb3de77ba0bf9e7a05fc20d5e44b87f07e2f719f0f972432dc448ba5f0a8ba8ff485e5def75150bc17c96ea9395337347f22a819e6e9b45a8b8a472009 From 33f8238699b6aa2525d8cc2832605ec0c28f2d3b Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Thu, 16 May 2024 23:56:15 -0700 Subject: [PATCH 095/195] Rebuild with fixed SELinux macros --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 50cb129..b91144d 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.39.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1476,6 +1476,9 @@ fi %changelog +* Fri May 17 2024 Adam Williamson - 1.39.6-2 +- Rebuild with fixed SELinux macros + * Thu May 16 2024 Richard W.M. Jones - 1.39.6-1 - New upstream development version 1.39.6 From a8d8c230c98e6f25a675a167a51730c03b2dc8c5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 28 May 2024 14:07:55 +0100 Subject: [PATCH 096/195] New upstream development version 1.39.7 Add nbdkit-bzip2-filter subpackage. --- nbdkit.spec | 23 +++++++++++++++++++++-- sources | 4 ++-- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index b91144d..d87beab 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,8 +54,8 @@ %global source_directory 1.39-development Name: nbdkit -Version: 1.39.6 -Release: 2%{?dist} +Version: 1.39.7 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -628,6 +628,14 @@ nbdkit-tls-fallback-filter TLS protection filter. nbdkit-truncate-filter Truncate, expand, round up or round down size. +%package bzip2-filter +Summary: BZip2 filter for %{name} +Requires: %{name}-server%{?_isa} = %{version}-%{release} + +%description bzip2-filter +This package is a bzip2 filter for %{name}. + + %if !0%{?rhel} %package ext2-filter Summary: ext2, ext3 and ext4 filesystem support for %{name} @@ -1366,6 +1374,13 @@ fi %{_mandir}/man1/nbdkit-truncate-filter.1* +%files bzip2-filter +%doc README.md +%license LICENSE +%{_libdir}/%{name}/filters/nbdkit-bzip2-filter.so +%{_mandir}/man1/nbdkit-bzip2-filter.1* + + %if !0%{?rhel} %files ext2-filter %doc README.md @@ -1476,6 +1491,10 @@ fi %changelog +* Tue May 28 2024 Richard W.M. Jones - 1.39.7-1 +- New upstream development version 1.39.7 +- Add nbdkit-bzip2-filter subpackage. + * Fri May 17 2024 Adam Williamson - 1.39.6-2 - Rebuild with fixed SELinux macros diff --git a/sources b/sources index 27a222e..f0d9842 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.39.6.tar.gz) = ac4f8e4617c4b96162b506b8757b088eb7b4e09532fba88b94e86899b348ff818689dda2b12c8a3d41364db8edb93be5fac923b898ec6b4fb280a490b6af306a -SHA512 (nbdkit-1.39.6.tar.gz.sig) = 7f5125eb3de77ba0bf9e7a05fc20d5e44b87f07e2f719f0f972432dc448ba5f0a8ba8ff485e5def75150bc17c96ea9395337347f22a819e6e9b45a8b8a472009 +SHA512 (nbdkit-1.39.7.tar.gz) = 4d964c5c945cecf915453071212bf17ef9b64c3cadc24076f58e636db2293d7e1a0a8499ad5420ac6242ea0f0e4ac548960c4c28ecf05c245ef9ca4096e68024 +SHA512 (nbdkit-1.39.7.tar.gz.sig) = 4a7d2b0319ad32a1f99769534eeca13cc73dd1b4e6e200fde58cfc1bcd02724ea7de8d2c66223bb0a16055e07c403f0aa38cbbedbe7c4bae09bca3d18d3eef6d From f6900c557d9b3ac7745061d798196c8936a40b45 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 28 May 2024 14:40:19 +0100 Subject: [PATCH 097/195] +BR gzip2-devel --- nbdkit.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/nbdkit.spec b/nbdkit.spec index d87beab..77c250a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -106,6 +106,7 @@ BuildRequires: zlib-devel %if !0%{?rhel} BuildRequires: zlib-ng-devel %endif +BuildRequires: bzip2-devel BuildRequires: libzstd-devel BuildRequires: libcurl-devel BuildRequires: libnbd-devel >= 1.3.11 From 0729aaf2568f8bbf7bf177b37b1187b1ed837a33 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 28 May 2024 15:23:50 +0100 Subject: [PATCH 098/195] Prefer BR pkgconfig(foo) instead of BR foo-devel. https://docs.fedoraproject.org/en-US/packaging-guidelines/PkgConfigBuildRequires/ --- nbdkit.spec | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 77c250a..c78170a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.39.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -95,29 +95,31 @@ BuildRequires: autoconf, automake, libtool BuildRequires: make BuildRequires: gcc, gcc-c++ BuildRequires: %{_bindir}/pod2man -BuildRequires: gnutls-devel -BuildRequires: libselinux-devel +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(libselinux) %if !0%{?rhel} && 0%{?have_libguestfs} -BuildRequires: libguestfs-devel +BuildRequires: pkgconfig(libguestfs) %endif -BuildRequires: libvirt-devel -BuildRequires: xz-devel -BuildRequires: zlib-devel +BuildRequires: pkgconfig(libvirt) +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(zlib) %if !0%{?rhel} -BuildRequires: zlib-ng-devel +BuildRequires: pkgconfig(zlib-ng) %endif -BuildRequires: bzip2-devel -BuildRequires: libzstd-devel -BuildRequires: libcurl-devel -BuildRequires: libnbd-devel >= 1.3.11 -BuildRequires: libssh-devel -BuildRequires: e2fsprogs, e2fsprogs-devel +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libnbd) +BuildRequires: pkgconfig(libssh) +BuildRequires: e2fsprogs +BuildRequires: pkgconfig(ext2fs) +BuildRequires: pkgconfig(com_err) %if !0%{?rhel} BuildRequires: xorriso -BuildRequires: rb_libtorrent-devel +BuildRequires: pkgconfig(libtorrent-rasterbar) %endif %if 0%{?have_blkio} -BuildRequires: libblkio-devel +BuildRequires: pkgconfig(blkio) %endif BuildRequires: bash-completion, bash-completion-devel BuildRequires: perl-devel @@ -135,8 +137,8 @@ BuildRequires: python3-boto3 BuildRequires: ocaml >= 4.03 BuildRequires: ocaml-ocamldoc %endif -BuildRequires: tcl-devel -BuildRequires: lua-devel +BuildRequires: pkgconfig(tcl) +BuildRequires: pkgconfig(lua) %endif %if 0%{verify_tarball_signature} BuildRequires: gnupg2 @@ -1492,9 +1494,10 @@ fi %changelog -* Tue May 28 2024 Richard W.M. Jones - 1.39.7-1 +* Tue May 28 2024 Richard W.M. Jones - 1.39.7-2 - New upstream development version 1.39.7 - Add nbdkit-bzip2-filter subpackage. +- Prefer BR pkgconfig(foo) instead of BR foo-devel. * Fri May 17 2024 Adam Williamson - 1.39.6-2 - Rebuild with fixed SELinux macros From 965f855452a5f598ae9da801d17de3d26c4db14a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 29 May 2024 21:31:57 +0100 Subject: [PATCH 099/195] OCaml 5.2.0 for Fedora 41 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index c78170a..8f5ef25 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.39.7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1494,6 +1494,9 @@ fi %changelog +* Wed May 29 2024 Richard W.M. Jones - 1.39.7-3 +- OCaml 5.2.0 for Fedora 41 + * Tue May 28 2024 Richard W.M. Jones - 1.39.7-2 - New upstream development version 1.39.7 - Add nbdkit-bzip2-filter subpackage. From 32fc4734fe8258d8bd197352c730ac17e1422a9c Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sat, 8 Jun 2024 22:30:25 +0200 Subject: [PATCH 100/195] Rebuilt for Python 3.13 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 8f5ef25..cdde39d 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.39.7 -Release: 3%{?dist} +Release: 4%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1494,6 +1494,9 @@ fi %changelog +* Sat Jun 08 2024 Python Maint - 1.39.7-4 +- Rebuilt for Python 3.13 + * Wed May 29 2024 Richard W.M. Jones - 1.39.7-3 - OCaml 5.2.0 for Fedora 41 From 3ecbc163b2618c4af0f88d28748ca66807797dec Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Wed, 12 Jun 2024 12:47:45 +0200 Subject: [PATCH 101/195] Perl 5.40 rebuild --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index cdde39d..78147b1 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.39.7 -Release: 4%{?dist} +Release: 5%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1494,6 +1494,9 @@ fi %changelog +* Wed Jun 12 2024 Jitka Plesnikova - 1.39.7-5 +- Perl 5.40 rebuild + * Sat Jun 08 2024 Python Maint - 1.39.7-4 - Rebuilt for Python 3.13 From 44d5aed5b985ca178abbf2cc8e3b8ada78e3a1f6 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 19 Jun 2024 12:08:33 +0100 Subject: [PATCH 102/195] Add BR glibc-utils for libc_malloc_debug.so.0 --- nbdkit.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/nbdkit.spec b/nbdkit.spec index 78147b1..3aed95a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -149,6 +149,7 @@ BuildRequires: /usr/bin/bc BuildRequires: /usr/bin/certtool BuildRequires: /usr/bin/cut BuildRequires: expect +BuildRequires: glibc-utils BuildRequires: /usr/bin/hexdump BuildRequires: /usr/sbin/ip BuildRequires: jq From 2340ca89b77d49f4d67c414e8f7b209f80042ea5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 19 Jun 2024 12:28:21 +0100 Subject: [PATCH 103/195] OCaml 5.2.0 ppc64le fix --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 3aed95a..1a81679 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.39.7 -Release: 5%{?dist} +Release: 6%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1495,6 +1495,9 @@ fi %changelog +* Wed Jun 19 2024 Richard W.M. Jones - 1.39.7-6 +- OCaml 5.2.0 ppc64le fix + * Wed Jun 12 2024 Jitka Plesnikova - 1.39.7-5 - Perl 5.40 rebuild From c41033dd8816f84cd5ba6c69c5bd48495c0a258d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 27 Jun 2024 15:28:12 +0100 Subject: [PATCH 104/195] New upstream development version 1.39.8 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 1a81679..b42d7bf 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,8 +54,8 @@ %global source_directory 1.39-development Name: nbdkit -Version: 1.39.7 -Release: 6%{?dist} +Version: 1.39.8 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1495,6 +1495,9 @@ fi %changelog +* Thu Jun 27 2024 Richard W.M. Jones - 1.39.8-1 +- New upstream development version 1.39.8 + * Wed Jun 19 2024 Richard W.M. Jones - 1.39.7-6 - OCaml 5.2.0 ppc64le fix diff --git a/sources b/sources index f0d9842..2bfc3b3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.39.7.tar.gz) = 4d964c5c945cecf915453071212bf17ef9b64c3cadc24076f58e636db2293d7e1a0a8499ad5420ac6242ea0f0e4ac548960c4c28ecf05c245ef9ca4096e68024 -SHA512 (nbdkit-1.39.7.tar.gz.sig) = 4a7d2b0319ad32a1f99769534eeca13cc73dd1b4e6e200fde58cfc1bcd02724ea7de8d2c66223bb0a16055e07c403f0aa38cbbedbe7c4bae09bca3d18d3eef6d +SHA512 (nbdkit-1.39.8.tar.gz) = 33145bf1ec95ec07f384049cb80f41d80415cbb909301e007bd94e708590c099af381c292f7322b85fa1a721241edd1c635810595e4fba704a706edb815afa6b +SHA512 (nbdkit-1.39.8.tar.gz.sig) = c6abd26a8e978f170bcafc0b5a8150e23a7e1fdabec3379361e4742d1e10251d397880c60127db0731c448ef2dd0652e5dab8ad36ee3e172ea642e28721e3785 From 02104ecdeeee3166f8a2b184a9e69879eb7f3049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 9 Jul 2024 13:38:40 +0200 Subject: [PATCH 105/195] Rebuilt for the bin-sbin merge https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index b42d7bf..640cb77 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.39.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1495,6 +1495,9 @@ fi %changelog +* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 1.39.8-2 +- Rebuilt for the bin-sbin merge + * Thu Jun 27 2024 Richard W.M. Jones - 1.39.8-1 - New upstream development version 1.39.8 From 6b18b74749efbe1f618ea4bc010b56277157b0ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 9 Jul 2024 14:35:09 +0200 Subject: [PATCH 106/195] Pull in openssl-devel-engine to fix build --- nbdkit.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nbdkit.spec b/nbdkit.spec index 640cb77..08f1280 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -140,6 +140,9 @@ BuildRequires: ocaml-ocamldoc BuildRequires: pkgconfig(tcl) BuildRequires: pkgconfig(lua) %endif +%if 0%{?fedora} >= 41 +BuildRequires: openssl-devel-engine +%endif %if 0%{verify_tarball_signature} BuildRequires: gnupg2 %endif From 9ece3dd175a962b330a9ea0e1afd0955f769bc23 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 9 Jul 2024 22:10:38 +0100 Subject: [PATCH 107/195] New upstream development version 1.39.9 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 08f1280..4644eae 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,8 +54,8 @@ %global source_directory 1.39-development Name: nbdkit -Version: 1.39.8 -Release: 2%{?dist} +Version: 1.39.9 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1498,6 +1498,9 @@ fi %changelog +* Tue Jul 09 2024 Richard W.M. Jones - 1.39.9-1 +- New upstream development version 1.39.9 + * Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 1.39.8-2 - Rebuilt for the bin-sbin merge diff --git a/sources b/sources index 2bfc3b3..94139bf 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.39.8.tar.gz) = 33145bf1ec95ec07f384049cb80f41d80415cbb909301e007bd94e708590c099af381c292f7322b85fa1a721241edd1c635810595e4fba704a706edb815afa6b -SHA512 (nbdkit-1.39.8.tar.gz.sig) = c6abd26a8e978f170bcafc0b5a8150e23a7e1fdabec3379361e4742d1e10251d397880c60127db0731c448ef2dd0652e5dab8ad36ee3e172ea642e28721e3785 +SHA512 (nbdkit-1.39.9.tar.gz) = 357844f335f629e04939404e37186ca527d29e24b1ee36472e91804da1d0244a6420569be5c926d69cee47a8120d7e1cebfa159aa3a6ca5544e842cf8aa5cb6c +SHA512 (nbdkit-1.39.9.tar.gz.sig) = 65898fbd69d5e02a7a980138cf865839a8869ab8ea07c01f3b288360767064b1f88ff3176c2f5c749f74161a563a9a2bea26c53296a47b43d6ef7f1879c5e230 From 498c258187d334cfd06fb0f81c95118a9138c883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 13 Jul 2024 09:29:08 +0200 Subject: [PATCH 108/195] Rebuilt for the bin-sbin merge (again) https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 4644eae..9037202 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.39.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1498,6 +1498,9 @@ fi %changelog +* Sat Jul 13 2024 Zbigniew Jędrzejewski-Szmek - 1.39.9-2 +- Rebuilt for the bin-sbin merge (again) + * Tue Jul 09 2024 Richard W.M. Jones - 1.39.9-1 - New upstream development version 1.39.9 From cebe2edc08886e130a60b2a31ec14a3c923b2339 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 14 Jul 2024 09:33:47 +0100 Subject: [PATCH 109/195] New upstream development version 1.39.10 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 9037202..0c1cd60 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,8 +54,8 @@ %global source_directory 1.39-development Name: nbdkit -Version: 1.39.9 -Release: 2%{?dist} +Version: 1.39.10 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1498,6 +1498,9 @@ fi %changelog +* Sun Jul 14 2024 Richard W.M. Jones - 1.39.10-1 +- New upstream development version 1.39.10 + * Sat Jul 13 2024 Zbigniew Jędrzejewski-Szmek - 1.39.9-2 - Rebuilt for the bin-sbin merge (again) diff --git a/sources b/sources index 94139bf..dd26b0e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.39.9.tar.gz) = 357844f335f629e04939404e37186ca527d29e24b1ee36472e91804da1d0244a6420569be5c926d69cee47a8120d7e1cebfa159aa3a6ca5544e842cf8aa5cb6c -SHA512 (nbdkit-1.39.9.tar.gz.sig) = 65898fbd69d5e02a7a980138cf865839a8869ab8ea07c01f3b288360767064b1f88ff3176c2f5c749f74161a563a9a2bea26c53296a47b43d6ef7f1879c5e230 +SHA512 (nbdkit-1.39.10.tar.gz) = 1f8585d8cda6b0b3ddefc8d529d9655cd8c59cb97e4b60ee1ead04d8770b8418cefca30de611cf9520931c4950d8ab9f528a19f7c03f5f1c94afec2610453c19 +SHA512 (nbdkit-1.39.10.tar.gz.sig) = 2cf74aef27dfcb9dc0b11b6cd48221fb3e0d089e598b05cf2779376dd21f216a7a31c84b4929b32b1fcef856c26f71ebaac51d203caea0efe1be89c3142fdc1e From 517fe72cff2ac52057f0de4d134ccefd93c836d0 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 15 Jul 2024 17:37:51 +0100 Subject: [PATCH 110/195] Remove old Obsoletes nbdkit-tar-plugin Originally this was added for Fedora 33+. We're now up to Fedora 41. --- nbdkit.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 0c1cd60..6eacaaa 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -674,7 +674,6 @@ Display statistics about operations. Summary: Tar archive filter for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: tar -Obsoletes: %{name}-tar-plugin < 1.23.9-3 %description tar-filter This package is a tar archive filter for %{name}. From eb759613ce0b846dad15f089c49f3a4e686b9df1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 14 Jul 2024 21:28:00 +0100 Subject: [PATCH 111/195] Combine nbdkit-gzip-filter with basic filters nbdkit-basic-filters over time has actually gained dependencies on zlib and zstd. Accepting this, don't package nbdkit-gzip-filter separately. For consistency document that nbdkit-basic-plugins also depends on zlib and zstd (which it does already). --- nbdkit.spec | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 6eacaaa..939de4f 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.39.10 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -255,8 +255,8 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} %description basic-plugins This package contains plugins for %{name} which only depend on simple -C libraries: glibc, gnutls, libzstd. Other plugins for nbdkit with -more complex dependencies are packaged separately. +C libraries: glibc, gnutls, zlib and zstd. Other plugins for nbdkit +with more complex dependencies are packaged separately. nbdkit-data-plugin Serve small amounts of data from the command line. @@ -544,11 +544,13 @@ VMware VDDK for accessing VMware disks and servers. %package basic-filters Summary: Basic filters for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} +# Remove this in Fedora 43: +Obsoletes: nbdkit-gzip-filter < %{version}-%{release} %description basic-filters This package contains filters for %{name} which only depend on simple -C libraries: glibc, gnutls. Other filters for nbdkit with more -complex dependencies are packaged separately. +C libraries: glibc, gnutls, zlib and zstd. Other filters for nbdkit +with more complex dependencies are packaged separately. nbdkit-blocksize-filter Adjust block size of requests sent to plugins. @@ -580,6 +582,8 @@ nbdkit-extentlist-filter Place extent list over a plugin. nbdkit-fua-filter Modify flush behaviour in plugins. +nbdkit-gzip-filter Decompress a .gz file + nbdkit-ip-filter Filter clients by IP address. nbdkit-limit-filter Limit nr clients that can connect concurrently. @@ -654,14 +658,6 @@ This package contains ext2, ext3 and ext4 filesystem support for %endif -%package gzip-filter -Summary: GZip filter for %{name} -Requires: %{name}-server%{?_isa} = %{version}-%{release} - -%description gzip-filter -This package is a gzip filter for %{name}. - - %package stats-filter Summary: Statistics filter for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} @@ -1307,6 +1303,7 @@ fi %{_libdir}/%{name}/filters/nbdkit-exportname-filter.so %{_libdir}/%{name}/filters/nbdkit-extentlist-filter.so %{_libdir}/%{name}/filters/nbdkit-fua-filter.so +%{_libdir}/%{name}/filters/nbdkit-gzip-filter.so %{_libdir}/%{name}/filters/nbdkit-ip-filter.so %{_libdir}/%{name}/filters/nbdkit-limit-filter.so %{_libdir}/%{name}/filters/nbdkit-log-filter.so @@ -1350,6 +1347,7 @@ fi %{_mandir}/man1/nbdkit-exportname-filter.1* %{_mandir}/man1/nbdkit-extentlist-filter.1* %{_mandir}/man1/nbdkit-fua-filter.1* +%{_mandir}/man1/nbdkit-gzip-filter.1* %{_mandir}/man1/nbdkit-ip-filter.1* %{_mandir}/man1/nbdkit-limit-filter.1* %{_mandir}/man1/nbdkit-log-filter.1* @@ -1396,13 +1394,6 @@ fi %endif -%files gzip-filter -%doc README.md -%license LICENSE -%{_libdir}/%{name}/filters/nbdkit-gzip-filter.so -%{_mandir}/man1/nbdkit-gzip-filter.1* - - %files stats-filter %doc README.md %license LICENSE @@ -1497,8 +1488,9 @@ fi %changelog -* Sun Jul 14 2024 Richard W.M. Jones - 1.39.10-1 +* Sun Jul 14 2024 Richard W.M. Jones - 1.39.10-2 - New upstream development version 1.39.10 +- Combine nbdkit-gzip-filter with basic filters * Sat Jul 13 2024 Zbigniew Jędrzejewski-Szmek - 1.39.9-2 - Rebuilt for the bin-sbin merge (again) From f072fdb87588cc33f5b99b29ecca4696d5b17f59 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 19:12:39 +0000 Subject: [PATCH 112/195] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 939de4f..a616124 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.39.10 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1488,6 +1488,9 @@ fi %changelog +* Thu Jul 18 2024 Fedora Release Engineering - 1.39.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Sun Jul 14 2024 Richard W.M. Jones - 1.39.10-2 - New upstream development version 1.39.10 - Combine nbdkit-gzip-filter with basic filters From b5d6c5a9fc47788e4d50f299f923e117c09a8334 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 19 Jul 2024 12:21:45 +0100 Subject: [PATCH 113/195] Add a comment about why openssl-devel-engine is needed It's not needed by nbdkit, but to work around a problem in boost ASIO library. Updates: commit 6b18b74749efbe1f618ea4bc010b56277157b0ac --- nbdkit.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nbdkit.spec b/nbdkit.spec index a616124..791ede5 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -140,6 +140,8 @@ BuildRequires: ocaml-ocamldoc BuildRequires: pkgconfig(tcl) BuildRequires: pkgconfig(lua) %endif +# Only needed until the following bug gets fixed in boost: +# https://bugzilla.redhat.com/show_bug.cgi?id=2297642 %if 0%{?fedora} >= 41 BuildRequires: openssl-devel-engine %endif From 3ade72b0f9314a4ffb6d7f5e40a9621a7225c6af Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 21 Jul 2024 19:40:32 +0100 Subject: [PATCH 114/195] New upstream stable branch version 1.40.0 --- nbdkit.spec | 11 ++++++++--- sources | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 791ede5..414e8b4 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,11 +51,11 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.39-development +%global source_directory 1.40-stable Name: nbdkit -Version: 1.39.10 -Release: 3%{?dist} +Version: 1.40.0 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -231,6 +231,8 @@ The key features are: * Filters can be stacked in front of plugins to transform the output. +* Server can run standalone or can be invoked from other programs. + '%{name}' is a meta-package which pulls in the core server and a useful subset of plugins and filters with minimal dependencies. @@ -1490,6 +1492,9 @@ fi %changelog +* Sun Jul 21 2024 Richard W.M. Jones - 1.40.0-1 +- New upstream stable branch version 1.40.0 + * Thu Jul 18 2024 Fedora Release Engineering - 1.39.10-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild diff --git a/sources b/sources index dd26b0e..3670565 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.39.10.tar.gz) = 1f8585d8cda6b0b3ddefc8d529d9655cd8c59cb97e4b60ee1ead04d8770b8418cefca30de611cf9520931c4950d8ab9f528a19f7c03f5f1c94afec2610453c19 -SHA512 (nbdkit-1.39.10.tar.gz.sig) = 2cf74aef27dfcb9dc0b11b6cd48221fb3e0d089e598b05cf2779376dd21f216a7a31c84b4929b32b1fcef856c26f71ebaac51d203caea0efe1be89c3142fdc1e +SHA512 (nbdkit-1.40.0.tar.gz) = 2ebf416359e61d4a7945ada095363fabfd300a3a9721a07ea39b0682c9d9e4dc0b8a9b1145e7992eca8605727d9c7a20c396295e3412e5e1bd246b903616a68d +SHA512 (nbdkit-1.40.0.tar.gz.sig) = 2ca1fe1d5eb09fdca132e9d927316687947f883596b03b07cd91f225f65db1604e13f9f3b5836e4e21124efb83cbb5b8e11c9278a11b8b3cb79e9fe3605f76b6 From ce8ba94d2cb5d931916777be6eae27d17c786871 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 21 Jul 2024 21:54:02 +0100 Subject: [PATCH 115/195] Fix tarball signature --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 3670565..623be89 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (nbdkit-1.40.0.tar.gz) = 2ebf416359e61d4a7945ada095363fabfd300a3a9721a07ea39b0682c9d9e4dc0b8a9b1145e7992eca8605727d9c7a20c396295e3412e5e1bd246b903616a68d -SHA512 (nbdkit-1.40.0.tar.gz.sig) = 2ca1fe1d5eb09fdca132e9d927316687947f883596b03b07cd91f225f65db1604e13f9f3b5836e4e21124efb83cbb5b8e11c9278a11b8b3cb79e9fe3605f76b6 +SHA512 (nbdkit-1.40.0.tar.gz.sig) = a3833dc96b241f77ea90bd2a13ec20aaa1e0d72c777fdf7d5dc73271b2df8e8649254b5cface74eddd5952feb9ef6c2191777153edb17674de68a7dabfad54eb From c25e90d6e461dd87bae916550ecb27fc54b47181 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 29 Jul 2024 13:40:37 +0100 Subject: [PATCH 116/195] New upstream stable branch version 1.40.1 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 414e8b4..feec1c7 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.40-stable Name: nbdkit -Version: 1.40.0 +Version: 1.40.1 Release: 1%{?dist} Summary: NBD server @@ -1492,6 +1492,9 @@ fi %changelog +* Mon Jul 29 2024 Richard W.M. Jones - 1.40.1-1 +- New upstream stable branch version 1.40.1 + * Sun Jul 21 2024 Richard W.M. Jones - 1.40.0-1 - New upstream stable branch version 1.40.0 diff --git a/sources b/sources index 623be89..6d8aad4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.40.0.tar.gz) = 2ebf416359e61d4a7945ada095363fabfd300a3a9721a07ea39b0682c9d9e4dc0b8a9b1145e7992eca8605727d9c7a20c396295e3412e5e1bd246b903616a68d -SHA512 (nbdkit-1.40.0.tar.gz.sig) = a3833dc96b241f77ea90bd2a13ec20aaa1e0d72c777fdf7d5dc73271b2df8e8649254b5cface74eddd5952feb9ef6c2191777153edb17674de68a7dabfad54eb +SHA512 (nbdkit-1.40.1.tar.gz) = 365dd441c22ee7d515b566bac5e9f652c4e3c11108924a100c71d8c55fcde19ee802d00ed85c0ce5b04b4b0a643b9188d831abf1cb5a35c34b86a19fa0264171 +SHA512 (nbdkit-1.40.1.tar.gz.sig) = 9407350225fe4f5fae5a4a3757328fe0c1b468e851a241b1077e5469c931afa2f8a8e6b001f405ea6be12249eab576f9786b82f14cc03f170bb9fa420aeda381 From 1099d7a2f8c53c38a639e5e60bce6754204f6a34 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 24 Aug 2024 10:56:53 +0100 Subject: [PATCH 117/195] New upstream development branch version 1.41.1 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index feec1c7..fb44fcd 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,10 +51,10 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.40-stable +%global source_directory 1.41-development Name: nbdkit -Version: 1.40.1 +Version: 1.41.1 Release: 1%{?dist} Summary: NBD server @@ -1492,6 +1492,9 @@ fi %changelog +* Sat Aug 24 2024 Richard W.M. Jones - 1.41.1-1 +- New upstream development branch version 1.41.1 + * Mon Jul 29 2024 Richard W.M. Jones - 1.40.1-1 - New upstream stable branch version 1.40.1 diff --git a/sources b/sources index 6d8aad4..0d14c86 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.40.1.tar.gz) = 365dd441c22ee7d515b566bac5e9f652c4e3c11108924a100c71d8c55fcde19ee802d00ed85c0ce5b04b4b0a643b9188d831abf1cb5a35c34b86a19fa0264171 -SHA512 (nbdkit-1.40.1.tar.gz.sig) = 9407350225fe4f5fae5a4a3757328fe0c1b468e851a241b1077e5469c931afa2f8a8e6b001f405ea6be12249eab576f9786b82f14cc03f170bb9fa420aeda381 +SHA512 (nbdkit-1.41.1.tar.gz) = 9440244cc3fe6df1dc4da2546075bd78dbc225d475449a52a13b877666fea1f808bc24f51ecad203bdc6fa0f5f046c0d33d7ccc154ac516082c29fd44a581885 +SHA512 (nbdkit-1.41.1.tar.gz.sig) = eb086ff67d6f401894f6c056b6469b65f26165a0168f239e3971331ec4ef418bcc7f7f245a6e5a23eea30dd7394693c0c1326e917114eea14c93005d019dbe02 From c480477abb7f6a123525a15cef15e005dac95b0f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 8 Sep 2024 12:43:50 +0100 Subject: [PATCH 118/195] New upstream development branch version 1.41.2 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index fb44fcd..d49e28f 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.41-development Name: nbdkit -Version: 1.41.1 +Version: 1.41.2 Release: 1%{?dist} Summary: NBD server @@ -1492,6 +1492,9 @@ fi %changelog +* Sun Sep 08 2024 Richard W.M. Jones - 1.41.2-1 +- New upstream development branch version 1.41.2 + * Sat Aug 24 2024 Richard W.M. Jones - 1.41.1-1 - New upstream development branch version 1.41.1 diff --git a/sources b/sources index 0d14c86..ddfe3f6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.41.1.tar.gz) = 9440244cc3fe6df1dc4da2546075bd78dbc225d475449a52a13b877666fea1f808bc24f51ecad203bdc6fa0f5f046c0d33d7ccc154ac516082c29fd44a581885 -SHA512 (nbdkit-1.41.1.tar.gz.sig) = eb086ff67d6f401894f6c056b6469b65f26165a0168f239e3971331ec4ef418bcc7f7f245a6e5a23eea30dd7394693c0c1326e917114eea14c93005d019dbe02 +SHA512 (nbdkit-1.41.2.tar.gz) = 5cdf55c64aab396dad25d2e60569052965ea939db3c602e7de1d5a799caa07098d03c316969365cfd3ad28fa4d7094ae9eaf7c34c91e79f5d558ec2ae11ad393 +SHA512 (nbdkit-1.41.2.tar.gz.sig) = ee63bc27f564990c4477e6ce0ea742f6b7052a9858d2b31ffd47fc06fdf8e59ad074a86bafc3e47a21a511c3fe93aa198f2dd4e377392cf2172ea5520c7dda54 From 2b29a9420fad136cdb1309ca7dcf6bef544ce99a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 12 Sep 2024 21:41:49 +0100 Subject: [PATCH 119/195] New upstream development branch version 1.41.3 New nbdkit-time-limit-filter --- nbdkit.spec | 10 +++++++++- sources | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index d49e28f..08f5bf3 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.41-development Name: nbdkit -Version: 1.41.2 +Version: 1.41.3 Release: 1%{?dist} Summary: NBD server @@ -638,6 +638,8 @@ nbdkit-spinning-filter Add seek delays to simulate a spinning hard disk. nbdkit-swab-filter Filter for swapping byte order. +nbdkit-time-limit-filter Set an overall time limit for each connection. + nbdkit-tls-fallback-filter TLS protection filter. nbdkit-truncate-filter Truncate, expand, round up or round down size. @@ -1334,6 +1336,7 @@ fi %{_libdir}/%{name}/filters/nbdkit-scan-filter.so %{_libdir}/%{name}/filters/nbdkit-spinning-filter.so %{_libdir}/%{name}/filters/nbdkit-swab-filter.so +%{_libdir}/%{name}/filters/nbdkit-time-limit-filter.so %{_libdir}/%{name}/filters/nbdkit-tls-fallback-filter.so %{_libdir}/%{name}/filters/nbdkit-truncate-filter.so %{_mandir}/man1/nbdkit-blocksize-filter.1* @@ -1378,6 +1381,7 @@ fi %{_mandir}/man1/nbdkit-scan-filter.1* %{_mandir}/man1/nbdkit-spinning-filter.1* %{_mandir}/man1/nbdkit-swab-filter.1* +%{_mandir}/man1/nbdkit-time-limit-filter.1* %{_mandir}/man1/nbdkit-tls-fallback-filter.1* %{_mandir}/man1/nbdkit-truncate-filter.1* @@ -1492,6 +1496,10 @@ fi %changelog +* Thu Sep 12 2024 Richard W.M. Jones - 1.41.3-1 +- New upstream development branch version 1.41.3 +- New nbdkit-time-limit-filter + * Sun Sep 08 2024 Richard W.M. Jones - 1.41.2-1 - New upstream development branch version 1.41.2 diff --git a/sources b/sources index ddfe3f6..4c09729 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.41.2.tar.gz) = 5cdf55c64aab396dad25d2e60569052965ea939db3c602e7de1d5a799caa07098d03c316969365cfd3ad28fa4d7094ae9eaf7c34c91e79f5d558ec2ae11ad393 -SHA512 (nbdkit-1.41.2.tar.gz.sig) = ee63bc27f564990c4477e6ce0ea742f6b7052a9858d2b31ffd47fc06fdf8e59ad074a86bafc3e47a21a511c3fe93aa198f2dd4e377392cf2172ea5520c7dda54 +SHA512 (nbdkit-1.41.3.tar.gz) = 0c86a0dea8bec4143e910a595351f8737213e075186cf96c703ff8592163b7fac7dd70e1457db8b3740252ffa8326f34150cdc630d68272039aed83387fbaffc +SHA512 (nbdkit-1.41.3.tar.gz.sig) = 1e94eff15a8d02a60bf4028b30e5c9c9913fcc9e4a29504f85d73fb3c72ee89994e3ce6b6fbcc9341ab08f2ca31bb269c28b3270971f31344d4d3f19d7efbca0 From 8bc76e0971990f8ad690e0e313b28896f506a5d5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 13 Sep 2024 15:53:52 +0100 Subject: [PATCH 120/195] New upstream development branch version 1.41.4 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 08f5bf3..7ca46dc 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.41-development Name: nbdkit -Version: 1.41.3 +Version: 1.41.4 Release: 1%{?dist} Summary: NBD server @@ -1496,6 +1496,9 @@ fi %changelog +* Fri Sep 13 2024 Richard W.M. Jones - 1.41.4-1 +- New upstream development branch version 1.41.4 + * Thu Sep 12 2024 Richard W.M. Jones - 1.41.3-1 - New upstream development branch version 1.41.3 - New nbdkit-time-limit-filter diff --git a/sources b/sources index 4c09729..44752c0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.41.3.tar.gz) = 0c86a0dea8bec4143e910a595351f8737213e075186cf96c703ff8592163b7fac7dd70e1457db8b3740252ffa8326f34150cdc630d68272039aed83387fbaffc -SHA512 (nbdkit-1.41.3.tar.gz.sig) = 1e94eff15a8d02a60bf4028b30e5c9c9913fcc9e4a29504f85d73fb3c72ee89994e3ce6b6fbcc9341ab08f2ca31bb269c28b3270971f31344d4d3f19d7efbca0 +SHA512 (nbdkit-1.41.4.tar.gz) = cecf361a3084c5d6b9f52727a681d2e28057a3ab6bf599c4b1224dc0beab79fc05e74df78b9e54e582a6628aa8d85bda7cb2a1865fadebc6e7073bc5d67b1bf0 +SHA512 (nbdkit-1.41.4.tar.gz.sig) = ef0b1158277bf44311245c6fcb463c69281fa0680fb59c391434195a493d51ea0f3c7173046b5dc757f55d8d079f9cb61071870fbe0c02c0394506ea8618dce5 From fd5bf0f0eaa4c8a2689117e3ebdcbc9247e29052 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 22 Sep 2024 20:02:23 +0100 Subject: [PATCH 121/195] New upstream development branch version 1.41.5 Add lzip filter to the existing nbdkit-xz-filter package Reenable MC in mingw build --- ...and.sh-Work-around-bug-in-qemu-9.1-e.patch | 50 +++++++++++++++++++ nbdkit.spec | 21 +++++--- sources | 4 +- 3 files changed, 67 insertions(+), 8 deletions(-) create mode 100644 0001-tests-test-ondemand.sh-Work-around-bug-in-qemu-9.1-e.patch diff --git a/0001-tests-test-ondemand.sh-Work-around-bug-in-qemu-9.1-e.patch b/0001-tests-test-ondemand.sh-Work-around-bug-in-qemu-9.1-e.patch new file mode 100644 index 0000000..10877c4 --- /dev/null +++ b/0001-tests-test-ondemand.sh-Work-around-bug-in-qemu-9.1-e.patch @@ -0,0 +1,50 @@ +From 8e5b4e181043ec3b24a5cd1b51f55d1e596bf651 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sun, 22 Sep 2024 20:58:35 +0100 +Subject: [PATCH] tests/test-ondemand.sh: Work around bug in qemu 9.1 + exportname handling + +qemu 9.1 NBD URI handling of export names is buggy: +https://gitlab.com/qemu-project/qemu/-/issues/2584 + +Work around this bug in the tests. +--- + tests/test-ondemand.sh | 19 +++++++++++++------ + 1 file changed, 13 insertions(+), 6 deletions(-) + +diff --git a/tests/test-ondemand.sh b/tests/test-ondemand.sh +index 83abd85026..1443d3e9a3 100755 +--- a/tests/test-ondemand.sh ++++ b/tests/test-ondemand.sh +@@ -68,15 +68,22 @@ test -f $dir/default + test -f $dir/test + + # These should fail because the exportname is invalid. ++errors=0 + for e in /bad .bad . .. ./etc ; do +- if nbdinfo "nbd+unix:///$e?socket=$sock" || +- qemu-img info "nbd+unix:///$e?socket=$sock" || +- qemu-img info nbd:unix:$sock:exportname=$e +- then +- echo "$0: expected failure trying to create bad exportname" +- exit 1 ++ if nbdinfo "nbd+unix:///$e?socket=$sock"; then ((errors++)) ||:; fi ++ # QEMU 9.1 fails to parse exportnames starting with "." correctly: ++ # https://gitlab.com/qemu-project/qemu/-/issues/2584 ++ if test "$e" != "." && test "$e" != ".." && test "$e" != "./etc"; then ++ if qemu-img info "nbd+unix:///$e?socket=$sock" ++ then ((errors++)) ||:; fi ++ if qemu-img info nbd:unix:$sock:exportname=$e ++ then ((errors++)) ||:; fi + fi + done ++if test "$errors" -gt 0; then ++ echo "$0: expected failure trying to create bad exportname" ++ exit 1 ++fi + + # Check the filesystem is persistent. + guestfish --format=raw -a "nbd://?socket=$sock" -m /dev/sda < - 1.41.5-1 +- New upstream development branch version 1.41.5 +- Add lzip filter to the existing nbdkit-xz-filter package +- Reenable MC in mingw build + * Fri Sep 13 2024 Richard W.M. Jones - 1.41.4-1 - New upstream development branch version 1.41.4 diff --git a/sources b/sources index 44752c0..9a79f00 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.41.4.tar.gz) = cecf361a3084c5d6b9f52727a681d2e28057a3ab6bf599c4b1224dc0beab79fc05e74df78b9e54e582a6628aa8d85bda7cb2a1865fadebc6e7073bc5d67b1bf0 -SHA512 (nbdkit-1.41.4.tar.gz.sig) = ef0b1158277bf44311245c6fcb463c69281fa0680fb59c391434195a493d51ea0f3c7173046b5dc757f55d8d079f9cb61071870fbe0c02c0394506ea8618dce5 +SHA512 (nbdkit-1.41.5.tar.gz) = ac24fd54dc6a18bca8c79d7d2c33054a8930fe47ad42663921b42a445b6d9a6573d09c73d97f1c323b302c247d2093567ff27fe3be4018e4bb0b60b53265cb96 +SHA512 (nbdkit-1.41.5.tar.gz.sig) = c1deed9e8d52b55cbc41917a66c3fd6becb2d8c2de1e81c04a6880aba9f15312cd0fab88051601a9db590d1e93e1c0f598ad6f76eab5731badeacb3b2c816e1d From 60a16732712dad815b9a34ce322be22bff62e74b Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Tue, 24 Sep 2024 19:06:26 -0400 Subject: [PATCH 122/195] Avoid lzip dependency on RHEL lzip is unwanted in RHEL, and is only used here for a test of the newly added lzip filter. --- nbdkit.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 55274d4..8871b52 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.41.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -162,7 +162,9 @@ BuildRequires: glibc-utils BuildRequires: /usr/bin/hexdump BuildRequires: /usr/sbin/ip BuildRequires: jq +%if !0%{?rhel} BuildRequires: /usr/bin/lzip +%endif BuildRequires: /usr/bin/nbdcopy BuildRequires: /usr/bin/nbdinfo BuildRequires: /usr/bin/nbdsh @@ -1500,6 +1502,9 @@ fi %changelog +* Tue Sep 24 2024 Yaakov Selkowitz - 1.41.5-2 +- Avoid lzip dependency on RHEL + * Sun Sep 22 2024 Richard W.M. Jones - 1.41.5-1 - New upstream development branch version 1.41.5 - Add lzip filter to the existing nbdkit-xz-filter package From 7b3a2eb66e8229593bc8faab96615bb184a03ead Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 25 Sep 2024 16:29:08 +0100 Subject: [PATCH 123/195] New upstream development branch version 1.41.6 --- ...and.sh-Work-around-bug-in-qemu-9.1-e.patch | 50 ------------------- nbdkit.spec | 11 ++-- sources | 4 +- 3 files changed, 7 insertions(+), 58 deletions(-) delete mode 100644 0001-tests-test-ondemand.sh-Work-around-bug-in-qemu-9.1-e.patch diff --git a/0001-tests-test-ondemand.sh-Work-around-bug-in-qemu-9.1-e.patch b/0001-tests-test-ondemand.sh-Work-around-bug-in-qemu-9.1-e.patch deleted file mode 100644 index 10877c4..0000000 --- a/0001-tests-test-ondemand.sh-Work-around-bug-in-qemu-9.1-e.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 8e5b4e181043ec3b24a5cd1b51f55d1e596bf651 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Sun, 22 Sep 2024 20:58:35 +0100 -Subject: [PATCH] tests/test-ondemand.sh: Work around bug in qemu 9.1 - exportname handling - -qemu 9.1 NBD URI handling of export names is buggy: -https://gitlab.com/qemu-project/qemu/-/issues/2584 - -Work around this bug in the tests. ---- - tests/test-ondemand.sh | 19 +++++++++++++------ - 1 file changed, 13 insertions(+), 6 deletions(-) - -diff --git a/tests/test-ondemand.sh b/tests/test-ondemand.sh -index 83abd85026..1443d3e9a3 100755 ---- a/tests/test-ondemand.sh -+++ b/tests/test-ondemand.sh -@@ -68,15 +68,22 @@ test -f $dir/default - test -f $dir/test - - # These should fail because the exportname is invalid. -+errors=0 - for e in /bad .bad . .. ./etc ; do -- if nbdinfo "nbd+unix:///$e?socket=$sock" || -- qemu-img info "nbd+unix:///$e?socket=$sock" || -- qemu-img info nbd:unix:$sock:exportname=$e -- then -- echo "$0: expected failure trying to create bad exportname" -- exit 1 -+ if nbdinfo "nbd+unix:///$e?socket=$sock"; then ((errors++)) ||:; fi -+ # QEMU 9.1 fails to parse exportnames starting with "." correctly: -+ # https://gitlab.com/qemu-project/qemu/-/issues/2584 -+ if test "$e" != "." && test "$e" != ".." && test "$e" != "./etc"; then -+ if qemu-img info "nbd+unix:///$e?socket=$sock" -+ then ((errors++)) ||:; fi -+ if qemu-img info nbd:unix:$sock:exportname=$e -+ then ((errors++)) ||:; fi - fi - done -+if test "$errors" -gt 0; then -+ echo "$0: expected failure trying to create bad exportname" -+ exit 1 -+fi - - # Check the filesystem is persistent. - guestfish --format=raw -a "nbd://?socket=$sock" -m /dev/sda < - 1.41.6-1 +- New upstream development branch version 1.41.6 + * Tue Sep 24 2024 Yaakov Selkowitz - 1.41.5-2 - Avoid lzip dependency on RHEL diff --git a/sources b/sources index 9a79f00..3c8fbc3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.41.5.tar.gz) = ac24fd54dc6a18bca8c79d7d2c33054a8930fe47ad42663921b42a445b6d9a6573d09c73d97f1c323b302c247d2093567ff27fe3be4018e4bb0b60b53265cb96 -SHA512 (nbdkit-1.41.5.tar.gz.sig) = c1deed9e8d52b55cbc41917a66c3fd6becb2d8c2de1e81c04a6880aba9f15312cd0fab88051601a9db590d1e93e1c0f598ad6f76eab5731badeacb3b2c816e1d +SHA512 (nbdkit-1.41.6.tar.gz) = a54a48aa91ef25b8694b40b6b5599dc959a9b2efd76e3a962c60364591b770b89347a3106a7b9867f8aae0c50ff7783297dcfb52fb24a4b8fb89d280d525cac4 +SHA512 (nbdkit-1.41.6.tar.gz.sig) = d2e818175149f05b1620c9f5325a8d61ac5b64845a96764a64c73bb783cb77aa7edaa0becd32ab799fb9da50bda3f33fc0fe79ff28d7c5fa269f7ee4f82db4e7 From 6f3442584b9dfd64c2ecd3514ff7ef65c11ae38f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 4 Oct 2024 12:09:13 +0100 Subject: [PATCH 124/195] New upstream development branch version 1.41.7 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 15b7dfd..8dce351 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.41-development Name: nbdkit -Version: 1.41.6 +Version: 1.41.7 Release: 1%{?dist} Summary: NBD server @@ -1498,6 +1498,9 @@ fi %changelog +* Fri Oct 04 2024 Richard W.M. Jones - 1.41.7-1 +- New upstream development branch version 1.41.7 + * Wed Sep 25 2024 Richard W.M. Jones - 1.41.6-1 - New upstream development branch version 1.41.6 diff --git a/sources b/sources index 3c8fbc3..9aea080 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.41.6.tar.gz) = a54a48aa91ef25b8694b40b6b5599dc959a9b2efd76e3a962c60364591b770b89347a3106a7b9867f8aae0c50ff7783297dcfb52fb24a4b8fb89d280d525cac4 -SHA512 (nbdkit-1.41.6.tar.gz.sig) = d2e818175149f05b1620c9f5325a8d61ac5b64845a96764a64c73bb783cb77aa7edaa0becd32ab799fb9da50bda3f33fc0fe79ff28d7c5fa269f7ee4f82db4e7 +SHA512 (nbdkit-1.41.7.tar.gz) = f4e28c590524dd48e505ae8f330694c1efcbd65d0586196d3c8ff7ffeea9865f29ad5f901b383c152e8c5d2679c2bd63a8e27248b9a800bc49db35853e1f6309 +SHA512 (nbdkit-1.41.7.tar.gz.sig) = 9b0f7a7e754bd00846889941bde2b07d1b02ab5d41c9520c70d748f19c368b0ad09f1e29cb75ca5ab61105ffb05764095db818ddffe04f33a78e8c6d96415694 From e0e83ff709ad051639d11a0a21a5c78e306a23db Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 5 Oct 2024 09:27:50 +0100 Subject: [PATCH 125/195] Move nbdkit-ondemand-plugin to separate subpackage Since this has extra dependencies. --- nbdkit.spec | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 8dce351..c0a72fd 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -279,8 +279,6 @@ nbdkit-info-plugin Serve client and server information. nbdkit-memory-plugin A virtual memory plugin. -nbdkit-ondemand-plugin Create filesystems on demand. - nbdkit-ones-plugin Fill disk with repeated 0xff or other bytes. nbdkit-pattern-plugin Fixed test pattern. @@ -458,6 +456,21 @@ This package lets you write OCaml plugins for %{name}. %endif +%package ondemand-plugin +Summary: Create filesystems on demand for %{name} +Requires: %{name}-server%{?_isa} = %{version}-%{release} +# For mkfs and mke2fs (defaults). +Requires: util-linux, e2fsprogs +# For other filesystems. +Suggests: xfsprogs +%if !0%{?rhel} +Suggests: ntfsprogs, dosfstools +%endif + +%description ondemand-plugin +This package is a plugin to create filesystems on demand for %{name}. + + %if !0%{?rhel} %package perl-plugin Summary: Perl plugin for %{name} @@ -1081,7 +1094,6 @@ fi %{_libdir}/%{name}/plugins/nbdkit-full-plugin.so %{_libdir}/%{name}/plugins/nbdkit-info-plugin.so %{_libdir}/%{name}/plugins/nbdkit-memory-plugin.so -%{_libdir}/%{name}/plugins/nbdkit-ondemand-plugin.so %{_libdir}/%{name}/plugins/nbdkit-ones-plugin.so %{_libdir}/%{name}/plugins/nbdkit-partitioning-plugin.so %{_libdir}/%{name}/plugins/nbdkit-pattern-plugin.so @@ -1097,7 +1109,6 @@ fi %{_mandir}/man1/nbdkit-full-plugin.1* %{_mandir}/man1/nbdkit-info-plugin.1* %{_mandir}/man1/nbdkit-memory-plugin.1* -%{_mandir}/man1/nbdkit-ondemand-plugin.1* %{_mandir}/man1/nbdkit-ones-plugin.1* %{_mandir}/man1/nbdkit-partitioning-plugin.1* %{_mandir}/man1/nbdkit-pattern-plugin.1* @@ -1225,6 +1236,13 @@ fi %endif +%files ondemand-plugin +%doc README.md +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-ondemand-plugin.so +%{_mandir}/man1/nbdkit-ondemand-plugin.1* + + %if !0%{?rhel} %files perl-plugin %doc README.md From 98740935533ec01f87f2b620755096befefc6afe Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 14 Oct 2024 20:36:58 +0100 Subject: [PATCH 126/195] New upstream development branch version 1.41.8 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index c0a72fd..1ef4d49 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.41-development Name: nbdkit -Version: 1.41.7 +Version: 1.41.8 Release: 1%{?dist} Summary: NBD server @@ -1516,6 +1516,9 @@ fi %changelog +* Mon Oct 14 2024 Richard W.M. Jones - 1.41.8-1 +- New upstream development branch version 1.41.8 + * Fri Oct 04 2024 Richard W.M. Jones - 1.41.7-1 - New upstream development branch version 1.41.7 diff --git a/sources b/sources index 9aea080..6de52fa 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.41.7.tar.gz) = f4e28c590524dd48e505ae8f330694c1efcbd65d0586196d3c8ff7ffeea9865f29ad5f901b383c152e8c5d2679c2bd63a8e27248b9a800bc49db35853e1f6309 -SHA512 (nbdkit-1.41.7.tar.gz.sig) = 9b0f7a7e754bd00846889941bde2b07d1b02ab5d41c9520c70d748f19c368b0ad09f1e29cb75ca5ab61105ffb05764095db818ddffe04f33a78e8c6d96415694 +SHA512 (nbdkit-1.41.8.tar.gz) = 66a056a334d09af162876e485b5909bc66d869ec73721a8316c2c134bda1e28c01adf78297c5efaad7917923bf143c144a87b5885c0e09ed78a0172d626bd941 +SHA512 (nbdkit-1.41.8.tar.gz.sig) = 12a0aad8df1c7b4368cd9f94a8fc8f09705dbebd1892d8d33578d4629b8a18c9a301bbf2b3a1c538a9f7f7a2111dd280fcd771e59ea790bceb0cf46abb72d299 From 145dc5e3b3a62098ea27789c93f748d52e7ab91a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 8 Jan 2025 17:26:40 +0000 Subject: [PATCH 127/195] New upstream development branch version 1.41.9 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 1ef4d49..e643b26 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.41-development Name: nbdkit -Version: 1.41.8 +Version: 1.41.9 Release: 1%{?dist} Summary: NBD server @@ -1516,6 +1516,9 @@ fi %changelog +* Wed Jan 08 2025 Richard W.M. Jones - 1.41.9-1 +- New upstream development branch version 1.41.9 + * Mon Oct 14 2024 Richard W.M. Jones - 1.41.8-1 - New upstream development branch version 1.41.8 diff --git a/sources b/sources index 6de52fa..2380b9a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.41.8.tar.gz) = 66a056a334d09af162876e485b5909bc66d869ec73721a8316c2c134bda1e28c01adf78297c5efaad7917923bf143c144a87b5885c0e09ed78a0172d626bd941 -SHA512 (nbdkit-1.41.8.tar.gz.sig) = 12a0aad8df1c7b4368cd9f94a8fc8f09705dbebd1892d8d33578d4629b8a18c9a301bbf2b3a1c538a9f7f7a2111dd280fcd771e59ea790bceb0cf46abb72d299 +SHA512 (nbdkit-1.41.9.tar.gz) = fed78e71332ba5424109401fe4d5f4ca06140ae8238bc9441e509e997250a7c57e422008d34aa0914d60dd0e5877fb522e8d4562e3e4711c3d11717fb19eaf50 +SHA512 (nbdkit-1.41.9.tar.gz.sig) = 5143555beb97f91f4a176d3ba560816b28c85f1d57c8aa0ca8ae8f3e8406d76c0a60ce81026fc68854c3479073775ee1f91e5f6c3a5119ce54feb655355bba9d From 23310d113337beb753995f29131c0967906188fc Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 9 Jan 2025 14:46:27 -0700 Subject: [PATCH 128/195] OCaml 5.3.0 rebuild for Fedora 42 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index e643b26..c97cbbb 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.41.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1516,6 +1516,9 @@ fi %changelog +* Thu Jan 9 2025 Jerry James - 1.41.9-2 +- OCaml 5.3.0 rebuild for Fedora 42 + * Wed Jan 08 2025 Richard W.M. Jones - 1.41.9-1 - New upstream development branch version 1.41.9 From 601f2b1914fb3062f1c93ccd635c638354397d25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 12 Jan 2025 14:36:15 +0100 Subject: [PATCH 129/195] Rebuilt for the bin-sbin merge (2nd attempt) https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index c97cbbb..e7c9cf6 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.41.9 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1516,6 +1516,9 @@ fi %changelog +* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 1.41.9-3 +- Rebuilt for the bin-sbin merge (2nd attempt) + * Thu Jan 9 2025 Jerry James - 1.41.9-2 - OCaml 5.3.0 rebuild for Fedora 42 From 6c21a9ca60f7be168773219ae29a5097f90b38dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 12 Jan 2025 19:26:10 +0100 Subject: [PATCH 130/195] Skip failing tests --- nbdkit.spec | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/nbdkit.spec b/nbdkit.spec index e7c9cf6..47bdf12 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -1023,6 +1023,28 @@ skip_test tests/test-memory-allocator-malloc-mlock.sh %endif %endif +%if "%{_sbindir}" == "%{_bindir}" +# Those tests fail after when bin-sbin merge: +# supermin: ext2fs_namei: parent directory not found: /usr/bin: File not found by ext2_lookup +skip_test tests/test-eval-file.sh +skip_test tests/test-floppy.sh +skip_test tests/test-floppy-size.sh +skip_test tests/test-iso.sh +skip_test tests/test-linuxdisk.sh +skip_test tests/test-linuxdisk-copy-out.sh +skip_test tests/test-nbd-qcow2.sh +skip_test tests/test-ondemand.sh +skip_test tests/test-partitioning2.sh +skip_test tests/test-partitioning3.sh +skip_test tests/test-partitioning5.sh +skip_test tests/test-shebang-cc.sh +skip_test tests/test-cow.sh +skip_test tests/test-cow-block-size.sh +skip_test tests/test-cow-extents2.sh +skip_test tests/test-spinning-mkfs.sh +skip_test tests/test-tar.sh +%endif + # Make sure we can see the debug messages (RHBZ#1230160). export LIBGUESTFS_DEBUG=1 export LIBGUESTFS_TRACE=1 From 8aaaa446c64b5cd9f0c283dd224a01f0d942422b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 12 Jan 2025 20:52:21 +0100 Subject: [PATCH 131/195] Skip more failing tests Second batch. Those only seem to fail in koji/x86_64, and not in a local mock build and not on other architectures. Not sure why. --- nbdkit.spec | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/nbdkit.spec b/nbdkit.spec index 47bdf12..dab1c7c 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -1043,6 +1043,38 @@ skip_test tests/test-cow-block-size.sh skip_test tests/test-cow-extents2.sh skip_test tests/test-spinning-mkfs.sh skip_test tests/test-tar.sh + +skip_test tests/test-bzip2 +skip_test tests/test-curl +skip_test tests/test-data +skip_test tests/test-ext2 +skip_test tests/test-gzip +skip_test tests/test-gzip-curl +skip_test tests/test-lua +skip_test tests/test-lzip +skip_test tests/test-lzip-curl +skip_test tests/test-memory +skip_test tests/test-memory-allocator-malloc +skip_test tests/test-memory-allocator-zstd +skip_test tests/test-nbd +skip_test tests/test-ocaml +skip_test tests/test-offset +skip_test tests/test-old-plugins-x86_64-Linux-v1.0.0-fs.sh +skip_test tests/test-old-plugins-x86_64-Linux-v1.12.8-fs.sh +skip_test tests/test-old-plugins-x86_64-Linux-v1.18.2-fs.sh +skip_test tests/test-old-plugins-x86_64-Linux-v1.2.8-fs.sh +skip_test tests/test-old-plugins-x86_64-Linux-v1.38.4-fs.sh +skip_test tests/test-old-plugins-x86_64-Linux-v1.8.4-fs.sh +skip_test tests/test-perl +skip_test tests/test-shell +skip_test tests/test-tar-gzip-curl +skip_test tests/test-tar-lzip-curl +skip_test tests/test-tar-xz-curl +skip_test tests/test-tcl +skip_test tests/test-tmpdisk +skip_test tests/test-vddk +skip_test tests/test-xz +skip_test tests/test-xz-curl %endif # Make sure we can see the debug messages (RHBZ#1230160). From 29130e004ba3a000ac8755b1ae690c52e709b11b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 12 Jan 2025 21:31:08 +0100 Subject: [PATCH 132/195] Ignore test results when built with merged-sbin Every time I compile the package, some more tests fail. --- nbdkit.spec | 60 ++++++----------------------------------------------- 1 file changed, 6 insertions(+), 54 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index dab1c7c..2037884 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -1023,67 +1023,19 @@ skip_test tests/test-memory-allocator-malloc-mlock.sh %endif %endif -%if "%{_sbindir}" == "%{_bindir}" -# Those tests fail after when bin-sbin merge: -# supermin: ext2fs_namei: parent directory not found: /usr/bin: File not found by ext2_lookup -skip_test tests/test-eval-file.sh -skip_test tests/test-floppy.sh -skip_test tests/test-floppy-size.sh -skip_test tests/test-iso.sh -skip_test tests/test-linuxdisk.sh -skip_test tests/test-linuxdisk-copy-out.sh -skip_test tests/test-nbd-qcow2.sh -skip_test tests/test-ondemand.sh -skip_test tests/test-partitioning2.sh -skip_test tests/test-partitioning3.sh -skip_test tests/test-partitioning5.sh -skip_test tests/test-shebang-cc.sh -skip_test tests/test-cow.sh -skip_test tests/test-cow-block-size.sh -skip_test tests/test-cow-extents2.sh -skip_test tests/test-spinning-mkfs.sh -skip_test tests/test-tar.sh - -skip_test tests/test-bzip2 -skip_test tests/test-curl -skip_test tests/test-data -skip_test tests/test-ext2 -skip_test tests/test-gzip -skip_test tests/test-gzip-curl -skip_test tests/test-lua -skip_test tests/test-lzip -skip_test tests/test-lzip-curl -skip_test tests/test-memory -skip_test tests/test-memory-allocator-malloc -skip_test tests/test-memory-allocator-zstd -skip_test tests/test-nbd -skip_test tests/test-ocaml -skip_test tests/test-offset -skip_test tests/test-old-plugins-x86_64-Linux-v1.0.0-fs.sh -skip_test tests/test-old-plugins-x86_64-Linux-v1.12.8-fs.sh -skip_test tests/test-old-plugins-x86_64-Linux-v1.18.2-fs.sh -skip_test tests/test-old-plugins-x86_64-Linux-v1.2.8-fs.sh -skip_test tests/test-old-plugins-x86_64-Linux-v1.38.4-fs.sh -skip_test tests/test-old-plugins-x86_64-Linux-v1.8.4-fs.sh -skip_test tests/test-perl -skip_test tests/test-shell -skip_test tests/test-tar-gzip-curl -skip_test tests/test-tar-lzip-curl -skip_test tests/test-tar-xz-curl -skip_test tests/test-tcl -skip_test tests/test-tmpdisk -skip_test tests/test-vddk -skip_test tests/test-xz -skip_test tests/test-xz-curl -%endif - # Make sure we can see the debug messages (RHBZ#1230160). export LIBGUESTFS_DEBUG=1 export LIBGUESTFS_TRACE=1 %make_build check || { cat tests/test-suite.log + +# Too many tests fail after when bin-sbin merge: +# supermin: ext2fs_namei: parent directory not found: /usr/bin: File not found by ext2_lookup +# Ignore the result for now. +%if "%{_sbindir}" != "%{_bindir}" exit 1 +%endif } popd %endif From 14cbf5196febd283e656adc73676330dd184a457 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 19:45:35 +0000 Subject: [PATCH 133/195] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 2037884..3213275 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.41.9 -Release: 3%{?dist} +Release: 4%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1522,6 +1522,9 @@ fi %changelog +* Fri Jan 17 2025 Fedora Release Engineering - 1.41.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 1.41.9-3 - Rebuilt for the bin-sbin merge (2nd attempt) From a066211b6af036dcce87269bb5e19823803bcfd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 1 Feb 2025 19:55:54 +0100 Subject: [PATCH 134/195] Add explicit BR: libxcrypt-devel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- nbdkit.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 3213275..6755d41 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.41.9 -Release: 4%{?dist} +Release: 5%{?dist} Summary: NBD server License: BSD-3-Clause @@ -93,6 +93,7 @@ BuildRequires: git BuildRequires: autoconf, automake, libtool BuildRequires: make +BuildRequires: libxcrypt-devel BuildRequires: gcc, gcc-c++ BuildRequires: %{_bindir}/pod2man BuildRequires: pkgconfig(gnutls) @@ -1522,6 +1523,9 @@ fi %changelog +* Sat Feb 01 2025 Björn Esser - 1.41.9-5 +- Add explicit BR: libxcrypt-devel + * Fri Jan 17 2025 Fedora Release Engineering - 1.41.9-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From ae34acf5e671e94f8118adab280123e1ca13599b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 11 Feb 2025 13:40:36 +0000 Subject: [PATCH 135/195] New upstream stable branch version 1.42.0 --- nbdkit.spec | 9 ++++++--- sources | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 6755d41..a8184ce 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,11 +51,11 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.41-development +%global source_directory 1.42-stable Name: nbdkit -Version: 1.41.9 -Release: 5%{?dist} +Version: 1.42.0 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1523,6 +1523,9 @@ fi %changelog +* Tue Feb 11 2025 Richard W.M. Jones - 1.42.0-1 +- New upstream stable branch version 1.42.0 + * Sat Feb 01 2025 Björn Esser - 1.41.9-5 - Add explicit BR: libxcrypt-devel diff --git a/sources b/sources index 2380b9a..77b7677 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.41.9.tar.gz) = fed78e71332ba5424109401fe4d5f4ca06140ae8238bc9441e509e997250a7c57e422008d34aa0914d60dd0e5877fb522e8d4562e3e4711c3d11717fb19eaf50 -SHA512 (nbdkit-1.41.9.tar.gz.sig) = 5143555beb97f91f4a176d3ba560816b28c85f1d57c8aa0ca8ae8f3e8406d76c0a60ce81026fc68854c3479073775ee1f91e5f6c3a5119ce54feb655355bba9d +SHA512 (nbdkit-1.42.0.tar.gz) = c8360fc2d9e6806ab241dcd61da82f52a881dd394d2e6c8c5372d4920f0751fe20dfe9bf45ff35c34cd1e12fd35d2b7dcf17374387805ff6cdec599c543c6bdc +SHA512 (nbdkit-1.42.0.tar.gz.sig) = df2e05eb46c78c2ecdc16b6b1ba37cbcbf001cfd5f7c3b9206da7100e4499ddb7f35ed75786d109767f2e9bf4a2baf02994ce5684910fd9cfc8bfccc9dd6dce7 From ae16c18dec1b0d2912b7bed3148bd088109c14ac Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 24 Feb 2025 12:58:11 +0000 Subject: [PATCH 136/195] Revert "Ignore test results when built with merged-sbin" This reverts commit 29130e004ba3a000ac8755b1ae690c52e709b11b. --- nbdkit.spec | 60 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 6 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index a8184ce..f4524a9 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -1024,19 +1024,67 @@ skip_test tests/test-memory-allocator-malloc-mlock.sh %endif %endif +%if "%{_sbindir}" == "%{_bindir}" +# Those tests fail after when bin-sbin merge: +# supermin: ext2fs_namei: parent directory not found: /usr/bin: File not found by ext2_lookup +skip_test tests/test-eval-file.sh +skip_test tests/test-floppy.sh +skip_test tests/test-floppy-size.sh +skip_test tests/test-iso.sh +skip_test tests/test-linuxdisk.sh +skip_test tests/test-linuxdisk-copy-out.sh +skip_test tests/test-nbd-qcow2.sh +skip_test tests/test-ondemand.sh +skip_test tests/test-partitioning2.sh +skip_test tests/test-partitioning3.sh +skip_test tests/test-partitioning5.sh +skip_test tests/test-shebang-cc.sh +skip_test tests/test-cow.sh +skip_test tests/test-cow-block-size.sh +skip_test tests/test-cow-extents2.sh +skip_test tests/test-spinning-mkfs.sh +skip_test tests/test-tar.sh + +skip_test tests/test-bzip2 +skip_test tests/test-curl +skip_test tests/test-data +skip_test tests/test-ext2 +skip_test tests/test-gzip +skip_test tests/test-gzip-curl +skip_test tests/test-lua +skip_test tests/test-lzip +skip_test tests/test-lzip-curl +skip_test tests/test-memory +skip_test tests/test-memory-allocator-malloc +skip_test tests/test-memory-allocator-zstd +skip_test tests/test-nbd +skip_test tests/test-ocaml +skip_test tests/test-offset +skip_test tests/test-old-plugins-x86_64-Linux-v1.0.0-fs.sh +skip_test tests/test-old-plugins-x86_64-Linux-v1.12.8-fs.sh +skip_test tests/test-old-plugins-x86_64-Linux-v1.18.2-fs.sh +skip_test tests/test-old-plugins-x86_64-Linux-v1.2.8-fs.sh +skip_test tests/test-old-plugins-x86_64-Linux-v1.38.4-fs.sh +skip_test tests/test-old-plugins-x86_64-Linux-v1.8.4-fs.sh +skip_test tests/test-perl +skip_test tests/test-shell +skip_test tests/test-tar-gzip-curl +skip_test tests/test-tar-lzip-curl +skip_test tests/test-tar-xz-curl +skip_test tests/test-tcl +skip_test tests/test-tmpdisk +skip_test tests/test-vddk +skip_test tests/test-xz +skip_test tests/test-xz-curl +%endif + # Make sure we can see the debug messages (RHBZ#1230160). export LIBGUESTFS_DEBUG=1 export LIBGUESTFS_TRACE=1 %make_build check || { cat tests/test-suite.log - -# Too many tests fail after when bin-sbin merge: -# supermin: ext2fs_namei: parent directory not found: /usr/bin: File not found by ext2_lookup -# Ignore the result for now. -%if "%{_sbindir}" != "%{_bindir}" exit 1 -%endif } popd %endif From f87775ac79b370f66ba13f646160716d8601e0fd Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 24 Feb 2025 12:58:17 +0000 Subject: [PATCH 137/195] Revert "Skip more failing tests" This reverts commit 8aaaa446c64b5cd9f0c283dd224a01f0d942422b. --- nbdkit.spec | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index f4524a9..ec2f546 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -1044,38 +1044,6 @@ skip_test tests/test-cow-block-size.sh skip_test tests/test-cow-extents2.sh skip_test tests/test-spinning-mkfs.sh skip_test tests/test-tar.sh - -skip_test tests/test-bzip2 -skip_test tests/test-curl -skip_test tests/test-data -skip_test tests/test-ext2 -skip_test tests/test-gzip -skip_test tests/test-gzip-curl -skip_test tests/test-lua -skip_test tests/test-lzip -skip_test tests/test-lzip-curl -skip_test tests/test-memory -skip_test tests/test-memory-allocator-malloc -skip_test tests/test-memory-allocator-zstd -skip_test tests/test-nbd -skip_test tests/test-ocaml -skip_test tests/test-offset -skip_test tests/test-old-plugins-x86_64-Linux-v1.0.0-fs.sh -skip_test tests/test-old-plugins-x86_64-Linux-v1.12.8-fs.sh -skip_test tests/test-old-plugins-x86_64-Linux-v1.18.2-fs.sh -skip_test tests/test-old-plugins-x86_64-Linux-v1.2.8-fs.sh -skip_test tests/test-old-plugins-x86_64-Linux-v1.38.4-fs.sh -skip_test tests/test-old-plugins-x86_64-Linux-v1.8.4-fs.sh -skip_test tests/test-perl -skip_test tests/test-shell -skip_test tests/test-tar-gzip-curl -skip_test tests/test-tar-lzip-curl -skip_test tests/test-tar-xz-curl -skip_test tests/test-tcl -skip_test tests/test-tmpdisk -skip_test tests/test-vddk -skip_test tests/test-xz -skip_test tests/test-xz-curl %endif # Make sure we can see the debug messages (RHBZ#1230160). From 6798a199244462dbd22031b8d2e9134feec60879 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 24 Feb 2025 12:58:22 +0000 Subject: [PATCH 138/195] Revert "Skip failing tests" This reverts commit 6c21a9ca60f7be168773219ae29a5097f90b38dc. --- nbdkit.spec | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index ec2f546..50af107 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -1024,28 +1024,6 @@ skip_test tests/test-memory-allocator-malloc-mlock.sh %endif %endif -%if "%{_sbindir}" == "%{_bindir}" -# Those tests fail after when bin-sbin merge: -# supermin: ext2fs_namei: parent directory not found: /usr/bin: File not found by ext2_lookup -skip_test tests/test-eval-file.sh -skip_test tests/test-floppy.sh -skip_test tests/test-floppy-size.sh -skip_test tests/test-iso.sh -skip_test tests/test-linuxdisk.sh -skip_test tests/test-linuxdisk-copy-out.sh -skip_test tests/test-nbd-qcow2.sh -skip_test tests/test-ondemand.sh -skip_test tests/test-partitioning2.sh -skip_test tests/test-partitioning3.sh -skip_test tests/test-partitioning5.sh -skip_test tests/test-shebang-cc.sh -skip_test tests/test-cow.sh -skip_test tests/test-cow-block-size.sh -skip_test tests/test-cow-extents2.sh -skip_test tests/test-spinning-mkfs.sh -skip_test tests/test-tar.sh -%endif - # Make sure we can see the debug messages (RHBZ#1230160). export LIBGUESTFS_DEBUG=1 export LIBGUESTFS_TRACE=1 From e06ebe7f5fafdd938acfdd5628b8014a52808c21 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 24 Feb 2025 13:32:58 +0000 Subject: [PATCH 139/195] Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests Reenable tests --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 50af107..91ce17d 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.42.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1517,6 +1517,9 @@ fi %changelog +* Mon Feb 24 2025 Richard W.M. Jones - 1.42.0-2 +- Reenable tests + * Tue Feb 11 2025 Richard W.M. Jones - 1.42.0-1 - New upstream stable branch version 1.42.0 From ecbaa2cf56012b64c5c556b655e8878298a004d1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 24 Feb 2025 21:38:04 +0000 Subject: [PATCH 140/195] Remove BR openssl-devel-engine Bug (in Boost) that required this seems to have been fixed now. --- nbdkit.spec | 5 ----- 1 file changed, 5 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 91ce17d..f77a22a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -141,11 +141,6 @@ BuildRequires: ocaml-ocamldoc BuildRequires: pkgconfig(tcl) BuildRequires: pkgconfig(lua) %endif -# Only needed until the following bug gets fixed in boost: -# https://bugzilla.redhat.com/show_bug.cgi?id=2297642 -%if 0%{?fedora} >= 41 -BuildRequires: openssl-devel-engine -%endif %if 0%{verify_tarball_signature} BuildRequires: gnupg2 %endif From 8c66737140321032cc5ccda3e5b494b52515e23f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Fri, 28 Feb 2025 11:46:23 +0100 Subject: [PATCH 141/195] Change Requires: libxcrypt-compat to be archful MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- nbdkit.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index f77a22a..6d83306 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.42.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NBD server License: BSD-3-Clause @@ -549,7 +549,7 @@ This package is a BitTorrent plugin for %{name}. Summary: VMware VDDK plugin for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} # https://bugzilla.redhat.com/show_bug.cgi?id=1931818 -Requires: libxcrypt-compat +Requires: libxcrypt-compat%{?_isa} %description vddk-plugin This package is a plugin for %{name} which connects to @@ -1512,6 +1512,9 @@ fi %changelog +* Fri Feb 28 2025 Björn Esser - 1.42.0-3 +- Change Requires: libxcrypt-compat to be archful + * Mon Feb 24 2025 Richard W.M. Jones - 1.42.0-2 - Reenable tests From 52b7749446f5e38c122c64119bbfb9caec9bb716 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 3 Mar 2025 17:29:43 +0000 Subject: [PATCH 142/195] New upstream stable branch version 1.42.1 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 6d83306..d34e528 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,8 +54,8 @@ %global source_directory 1.42-stable Name: nbdkit -Version: 1.42.0 -Release: 3%{?dist} +Version: 1.42.1 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1512,6 +1512,9 @@ fi %changelog +* Mon Mar 03 2025 Richard W.M. Jones - 1.42.1-1 +- New upstream stable branch version 1.42.1 + * Fri Feb 28 2025 Björn Esser - 1.42.0-3 - Change Requires: libxcrypt-compat to be archful diff --git a/sources b/sources index 77b7677..84f3c10 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.42.0.tar.gz) = c8360fc2d9e6806ab241dcd61da82f52a881dd394d2e6c8c5372d4920f0751fe20dfe9bf45ff35c34cd1e12fd35d2b7dcf17374387805ff6cdec599c543c6bdc -SHA512 (nbdkit-1.42.0.tar.gz.sig) = df2e05eb46c78c2ecdc16b6b1ba37cbcbf001cfd5f7c3b9206da7100e4499ddb7f35ed75786d109767f2e9bf4a2baf02994ce5684910fd9cfc8bfccc9dd6dce7 +SHA512 (nbdkit-1.42.1.tar.gz) = ff6b171c6e73eb9bec70ef0f565dc16add72dfbef29db147fa639fd0b443a9fe0f72d5f832b1eb8f397d62d66660fb825e29b0314ec9d6670aa1a7aa9c1dbc3d +SHA512 (nbdkit-1.42.1.tar.gz.sig) = 20e1059cdb0d53aeac066e81ee92c49c58cec65dce928f3e11c0213c4e7a9700fa73f2b990efa974be5afc877d2082f85e40e511001ba5e971faa51c9247ec2b From d49e2868b63d82c24a8dfb22d708d7b0544bae57 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 13 Mar 2025 21:38:58 +0000 Subject: [PATCH 143/195] New upstream development branch version 1.43.1 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index d34e528..28667fc 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,10 +51,10 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.42-stable +%global source_directory 1.43-development Name: nbdkit -Version: 1.42.1 +Version: 1.43.1 Release: 1%{?dist} Summary: NBD server @@ -1512,6 +1512,9 @@ fi %changelog +* Thu Mar 13 2025 Richard W.M. Jones - 1.43.1-1 +- New upstream development branch version 1.43.1 + * Mon Mar 03 2025 Richard W.M. Jones - 1.42.1-1 - New upstream stable branch version 1.42.1 diff --git a/sources b/sources index 84f3c10..e40fd9a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.42.1.tar.gz) = ff6b171c6e73eb9bec70ef0f565dc16add72dfbef29db147fa639fd0b443a9fe0f72d5f832b1eb8f397d62d66660fb825e29b0314ec9d6670aa1a7aa9c1dbc3d -SHA512 (nbdkit-1.42.1.tar.gz.sig) = 20e1059cdb0d53aeac066e81ee92c49c58cec65dce928f3e11c0213c4e7a9700fa73f2b990efa974be5afc877d2082f85e40e511001ba5e971faa51c9247ec2b +SHA512 (nbdkit-1.43.1.tar.gz) = cd0eb99dabac7891f2c83559e0844e4b4b46170afacb5a9b306c4756931ad796d24f1cca60ec22ecb3d523e7ec5ff6be891dff341c5b13bd2671d6c6817b5add +SHA512 (nbdkit-1.43.1.tar.gz.sig) = 40802d97bd7adc7b48dae503f24403b42de73180fb54c8e3dbdc3e4d3033139070c0b872f9db1e7c63ec2f0f16e24bcc0a53e93107b15cbb2322550599c36a02 From 436da5bf2be076009b535fa43a92e1428195e9ec Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 15 Mar 2025 12:58:00 +0000 Subject: [PATCH 144/195] Add nbdkit-tracing(3) to the devel subpackage --- nbdkit.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/nbdkit.spec b/nbdkit.spec index 28667fc..836e0e9 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -1468,6 +1468,7 @@ fi %{_mandir}/man3/nbdkit-plugin.3* %{_mandir}/man3/nbdkit_*.3* %{_mandir}/man1/nbdkit-release-notes-1.*.1* +%{_mandir}/man3/nbdkit-tracing.3* %{_libdir}/pkgconfig/nbdkit.pc From c310fd3292f3ec3860408b8a0fc0460f595d08c3 Mon Sep 17 00:00:00 2001 From: Tim Landscheidt Date: Wed, 26 Mar 2025 23:08:34 +0000 Subject: [PATCH 145/195] Fix description for nbdkit-selinux --- nbdkit.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 836e0e9..60cbb9a 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.43.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -742,7 +742,7 @@ BuildRequires: selinux-policy-devel %{?selinux_requires} %description selinux -%{nbdkit} SELinux policy module. +%{name} SELinux policy module. %endif @@ -1513,6 +1513,9 @@ fi %changelog +* Wed Mar 26 2025 Tim Landscheidt - 1.43.1-2 +- Fix description for nbdkit-selinux + * Thu Mar 13 2025 Richard W.M. Jones - 1.43.1-1 - New upstream development branch version 1.43.1 From 8015908b0b80eba8394b0a8f4d94231580b86f22 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 27 Mar 2025 12:53:42 +0000 Subject: [PATCH 146/195] New upstream development branch version 1.43.2 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 60cbb9a..3e7c377 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,8 +54,8 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.1 -Release: 2%{?dist} +Version: 1.43.2 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1513,6 +1513,9 @@ fi %changelog +* Thu Mar 27 2025 Richard W.M. Jones - 1.43.2-1 +- New upstream development branch version 1.43.2 + * Wed Mar 26 2025 Tim Landscheidt - 1.43.1-2 - Fix description for nbdkit-selinux diff --git a/sources b/sources index e40fd9a..53d005b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.1.tar.gz) = cd0eb99dabac7891f2c83559e0844e4b4b46170afacb5a9b306c4756931ad796d24f1cca60ec22ecb3d523e7ec5ff6be891dff341c5b13bd2671d6c6817b5add -SHA512 (nbdkit-1.43.1.tar.gz.sig) = 40802d97bd7adc7b48dae503f24403b42de73180fb54c8e3dbdc3e4d3033139070c0b872f9db1e7c63ec2f0f16e24bcc0a53e93107b15cbb2322550599c36a02 +SHA512 (nbdkit-1.43.2.tar.gz) = a86f2107975f5ef9616ed1b25e40bb8271e7dfaf99612cf2e5855037dbb97f3dd4bd8405c1147321ece02ee41d845a445b8c719133aed1af2c70eb95fbcae0e2 +SHA512 (nbdkit-1.43.2.tar.gz.sig) = 71f1636866bc17bbe9dae4199e02cf3d5353de750924c23c3c22f6b49bd3f7fac5f09bf1d7ea0310d40f02a19ec2bd434e35f076f8d5fd512124df00d4393881 From 4524ffc41b5974c07c6f6bbb7bade78d5a74c47d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 31 Mar 2025 10:36:10 +0100 Subject: [PATCH 147/195] New upstream development branch version 1.43.3 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 3e7c377..c46561f 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.2 +Version: 1.43.3 Release: 1%{?dist} Summary: NBD server @@ -1513,6 +1513,9 @@ fi %changelog +* Mon Mar 31 2025 Richard W.M. Jones - 1.43.3-1 +- New upstream development branch version 1.43.3 + * Thu Mar 27 2025 Richard W.M. Jones - 1.43.2-1 - New upstream development branch version 1.43.2 diff --git a/sources b/sources index 53d005b..b06229b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.2.tar.gz) = a86f2107975f5ef9616ed1b25e40bb8271e7dfaf99612cf2e5855037dbb97f3dd4bd8405c1147321ece02ee41d845a445b8c719133aed1af2c70eb95fbcae0e2 -SHA512 (nbdkit-1.43.2.tar.gz.sig) = 71f1636866bc17bbe9dae4199e02cf3d5353de750924c23c3c22f6b49bd3f7fac5f09bf1d7ea0310d40f02a19ec2bd434e35f076f8d5fd512124df00d4393881 +SHA512 (nbdkit-1.43.3.tar.gz) = a6da026a6c4b5acc906be29a0375e5b163ecbe08edc2fb1a4ccca858dc2f77ddf18b950ce8bc6dd01aead824ba8e66b4e3bd59ad0adbd3a194f6c8ef1433b3a0 +SHA512 (nbdkit-1.43.3.tar.gz.sig) = 12548d52480f06c6bd0e560fefcdf3f5736ddad6cd09c62e6d560e116b3fdd4d30b850facbdd549c03e4248fe412dbe3115970f4c06298294e17afe54198d3e0 From 8c3449fd387102510bb89b794b48d3a1a2a0d374 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 2 Apr 2025 15:52:22 +0100 Subject: [PATCH 148/195] New upstream development branch version 1.43.4 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index c46561f..297864e 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.3 +Version: 1.43.4 Release: 1%{?dist} Summary: NBD server @@ -1513,6 +1513,9 @@ fi %changelog +* Wed Apr 02 2025 Richard W.M. Jones - 1.43.4-1 +- New upstream development branch version 1.43.4 + * Mon Mar 31 2025 Richard W.M. Jones - 1.43.3-1 - New upstream development branch version 1.43.3 diff --git a/sources b/sources index b06229b..21afe83 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.3.tar.gz) = a6da026a6c4b5acc906be29a0375e5b163ecbe08edc2fb1a4ccca858dc2f77ddf18b950ce8bc6dd01aead824ba8e66b4e3bd59ad0adbd3a194f6c8ef1433b3a0 -SHA512 (nbdkit-1.43.3.tar.gz.sig) = 12548d52480f06c6bd0e560fefcdf3f5736ddad6cd09c62e6d560e116b3fdd4d30b850facbdd549c03e4248fe412dbe3115970f4c06298294e17afe54198d3e0 +SHA512 (nbdkit-1.43.4.tar.gz) = b534c686e3aad5d214f93885feb03ccff2579b0106d861ccad25724a8694e94a9f70003b6a85233615c48382501c56c2416790f1500a194c47bf2df5849425ad +SHA512 (nbdkit-1.43.4.tar.gz.sig) = ac564bfe7dd8d810ac8767527a24214773800095258fe14e0a4d3f80586c248f135e9d91427e6c17dda876c1deb2542e29cd945984fab2459fd19ca3320b71ea From 5832c60f31e6bce60765bb2c8fc5b632fa53415a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 10 Apr 2025 21:36:54 +0100 Subject: [PATCH 149/195] New upstream development branch version 1.43.5 New subpackage nbdkit-nfs-plugin --- nbdkit.spec | 29 ++++++++++++++++++++++++++++- sources | 4 ++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 297864e..d2320c1 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.4 +Version: 1.43.5 Release: 1%{?dist} Summary: NBD server @@ -111,6 +111,10 @@ BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libnbd) +%if !0%{?rhel} +# We require libnfs >= 6, but the internal version is >= 16 +BuildRequires: pkgconfig(libnfs) >= 16 +%endif BuildRequires: pkgconfig(libssh) BuildRequires: e2fsprogs BuildRequires: pkgconfig(ext2fs) @@ -430,6 +434,16 @@ This package lets you forward NBD connections from %{name} to another NBD server. +%if !0%{?rhel} +%package nfs-plugin +Summary: NFS (Network File Server) plugin for %{name} +Requires: %{name}-server%{?_isa} = %{version}-%{release} + +%description nfs-plugin +This package contains Network File Server (NFS) support for %{name}. +%endif + + %if !0%{?rhel} && 0%{?have_ocaml} %package ocaml-plugin Summary: OCaml plugin for %{name} @@ -1218,6 +1232,15 @@ fi %{_mandir}/man1/nbdkit-nbd-plugin.1* +%if !0%{?rhel} +%files nfs-plugin +%doc README.md +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-nfs-plugin.so +%{_mandir}/man1/nbdkit-nfs-plugin.1* +%endif + + %if !0%{?rhel} && 0%{?have_ocaml} %files ocaml-plugin %doc README.md @@ -1513,6 +1536,10 @@ fi %changelog +* Thu Apr 10 2025 Richard W.M. Jones - 1.43.5-1 +- New upstream development branch version 1.43.5 +- New subpackage nbdkit-nfs-plugin + * Wed Apr 02 2025 Richard W.M. Jones - 1.43.4-1 - New upstream development branch version 1.43.4 diff --git a/sources b/sources index 21afe83..c6624c8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.4.tar.gz) = b534c686e3aad5d214f93885feb03ccff2579b0106d861ccad25724a8694e94a9f70003b6a85233615c48382501c56c2416790f1500a194c47bf2df5849425ad -SHA512 (nbdkit-1.43.4.tar.gz.sig) = ac564bfe7dd8d810ac8767527a24214773800095258fe14e0a4d3f80586c248f135e9d91427e6c17dda876c1deb2542e29cd945984fab2459fd19ca3320b71ea +SHA512 (nbdkit-1.43.5.tar.gz) = 8c12cb27627403a251230c0a99ad15d9d41f9b6955e8843e378b5ff0e5be5e271ae1280eb998b3aea232549e3bb7fbf5e49c9ff88263ac18baeabc553880eb26 +SHA512 (nbdkit-1.43.5.tar.gz.sig) = 482f9c9055bd7d3c04cb98357114a027454beff3c7a8b118ab3ff6a537ebecba3c66370608768cfa274d79ee3c363219e3228b9506f810e5f0460f7ad549cb53 From f9af6157fd9c84e38ed881f6b6945b54203816c4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 1 May 2025 18:52:48 +0100 Subject: [PATCH 150/195] New upstream development branch version 1.43.6 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index d2320c1..1757014 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.5 +Version: 1.43.6 Release: 1%{?dist} Summary: NBD server @@ -1536,6 +1536,9 @@ fi %changelog +* Thu May 01 2025 Richard W.M. Jones - 1.43.6-1 +- New upstream development branch version 1.43.6 + * Thu Apr 10 2025 Richard W.M. Jones - 1.43.5-1 - New upstream development branch version 1.43.5 - New subpackage nbdkit-nfs-plugin diff --git a/sources b/sources index c6624c8..45725a8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.5.tar.gz) = 8c12cb27627403a251230c0a99ad15d9d41f9b6955e8843e378b5ff0e5be5e271ae1280eb998b3aea232549e3bb7fbf5e49c9ff88263ac18baeabc553880eb26 -SHA512 (nbdkit-1.43.5.tar.gz.sig) = 482f9c9055bd7d3c04cb98357114a027454beff3c7a8b118ab3ff6a537ebecba3c66370608768cfa274d79ee3c363219e3228b9506f810e5f0460f7ad549cb53 +SHA512 (nbdkit-1.43.6.tar.gz) = f0e01ce8330974d5b21d2fe76ad998214afa08764115ab8226319306debfaed7c12a15a9dfaf9760870c299530e4ba9a479d3e95ffa663767847087bc996ea1a +SHA512 (nbdkit-1.43.6.tar.gz.sig) = 7a011b0ea5a18f553290d7ea60c7be34be14b642267a9f953edd7632fa55b228d327916945d7d42130efdb8537326bdcf208a5ff252ed44930cf9ce58ef29f69 From ef2910918ac8fdad61597bf7498b79a919c3c8c9 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 9 May 2025 15:42:33 +0100 Subject: [PATCH 151/195] New upstream development branch version 1.43.7 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 1757014..58c0261 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.6 +Version: 1.43.7 Release: 1%{?dist} Summary: NBD server @@ -1536,6 +1536,9 @@ fi %changelog +* Fri May 09 2025 Richard W.M. Jones - 1.43.7-1 +- New upstream development branch version 1.43.7 + * Thu May 01 2025 Richard W.M. Jones - 1.43.6-1 - New upstream development branch version 1.43.6 diff --git a/sources b/sources index 45725a8..9b4c4b5 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.6.tar.gz) = f0e01ce8330974d5b21d2fe76ad998214afa08764115ab8226319306debfaed7c12a15a9dfaf9760870c299530e4ba9a479d3e95ffa663767847087bc996ea1a -SHA512 (nbdkit-1.43.6.tar.gz.sig) = 7a011b0ea5a18f553290d7ea60c7be34be14b642267a9f953edd7632fa55b228d327916945d7d42130efdb8537326bdcf208a5ff252ed44930cf9ce58ef29f69 +SHA512 (nbdkit-1.43.7.tar.gz) = 11a8967c71943cad80584eee2de1b00d18f6c042e6c77794c3eb30f9c1b41b9e4a25d6351ff61f4d797d3c85d4813d6e3aaac1186cc923f929c88407b4c31e23 +SHA512 (nbdkit-1.43.7.tar.gz.sig) = a64fe21d350e3181001b9492538179631e46e50da894c0061872955b26caf2b310ffc062e72ac1ec1de9af68c282eae93b80769812ae42f7c675cacccb33bf18 From 4c9a726723fc93c4a055e3e16ebf51a2e3925cf5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 12 May 2025 22:47:16 +0100 Subject: [PATCH 152/195] New upstream development branch version 1.43.8 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 58c0261..b5736a4 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.7 +Version: 1.43.8 Release: 1%{?dist} Summary: NBD server @@ -1536,6 +1536,9 @@ fi %changelog +* Mon May 12 2025 Richard W.M. Jones - 1.43.8-1 +- New upstream development branch version 1.43.8 + * Fri May 09 2025 Richard W.M. Jones - 1.43.7-1 - New upstream development branch version 1.43.7 diff --git a/sources b/sources index 9b4c4b5..1376bb5 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.7.tar.gz) = 11a8967c71943cad80584eee2de1b00d18f6c042e6c77794c3eb30f9c1b41b9e4a25d6351ff61f4d797d3c85d4813d6e3aaac1186cc923f929c88407b4c31e23 -SHA512 (nbdkit-1.43.7.tar.gz.sig) = a64fe21d350e3181001b9492538179631e46e50da894c0061872955b26caf2b310ffc062e72ac1ec1de9af68c282eae93b80769812ae42f7c675cacccb33bf18 +SHA512 (nbdkit-1.43.8.tar.gz) = 52b1ce1270a888e7654d744e0ddd955bfd188da8fc08cad91a0f3eefc1a10e90bb5bd3f78ab31d9b1e7be7cb4cc5a185f4926f200430d3c7920d3d752a1b28f1 +SHA512 (nbdkit-1.43.8.tar.gz.sig) = ab1eed9cc47a63a5eac180ca9ae2de69663919819c777a308fe4b990962f58554cc2d0d2521f817c7c370a988a150cfad485fe881b26271d597d6f5f24c3e401 From 633f6330267d0c9228724bc73b9dab7415e6c5b3 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 17 May 2025 09:29:24 +0100 Subject: [PATCH 153/195] New upstream development branch version 1.43.9 New nbdkit-openonce-filter --- nbdkit.spec | 10 +++++++++- sources | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index b5736a4..52ba63f 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.8 +Version: 1.43.9 Release: 1%{?dist} Summary: NBD server @@ -636,6 +636,8 @@ nbdkit-nozero-filter Adjust handling of zero requests by plugins. nbdkit-offset-filter Serve an offset and range. +nbdkit-openonce-filter Open the underlying plugin once. + nbdkit-partition-filter Serve a single partition. nbdkit-pause-filter Pause NBD requests. @@ -1358,6 +1360,7 @@ fi %{_libdir}/%{name}/filters/nbdkit-noparallel-filter.so %{_libdir}/%{name}/filters/nbdkit-nozero-filter.so %{_libdir}/%{name}/filters/nbdkit-offset-filter.so +%{_libdir}/%{name}/filters/nbdkit-openonce-filter.so %{_libdir}/%{name}/filters/nbdkit-partition-filter.so %{_libdir}/%{name}/filters/nbdkit-pause-filter.so %{_libdir}/%{name}/filters/nbdkit-protect-filter.so @@ -1403,6 +1406,7 @@ fi %{_mandir}/man1/nbdkit-noparallel-filter.1* %{_mandir}/man1/nbdkit-nozero-filter.1* %{_mandir}/man1/nbdkit-offset-filter.1* +%{_mandir}/man1/nbdkit-openonce-filter.1* %{_mandir}/man1/nbdkit-partition-filter.1* %{_mandir}/man1/nbdkit-pause-filter.1* %{_mandir}/man1/nbdkit-protect-filter.1* @@ -1536,6 +1540,10 @@ fi %changelog +* Sat May 17 2025 Richard W.M. Jones - 1.43.9-1 +- New upstream development branch version 1.43.9 +- New nbdkit-openonce-filter + * Mon May 12 2025 Richard W.M. Jones - 1.43.8-1 - New upstream development branch version 1.43.8 diff --git a/sources b/sources index 1376bb5..c471e23 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.8.tar.gz) = 52b1ce1270a888e7654d744e0ddd955bfd188da8fc08cad91a0f3eefc1a10e90bb5bd3f78ab31d9b1e7be7cb4cc5a185f4926f200430d3c7920d3d752a1b28f1 -SHA512 (nbdkit-1.43.8.tar.gz.sig) = ab1eed9cc47a63a5eac180ca9ae2de69663919819c777a308fe4b990962f58554cc2d0d2521f817c7c370a988a150cfad485fe881b26271d597d6f5f24c3e401 +SHA512 (nbdkit-1.43.9.tar.gz) = 203e5b45ab422c132ed571f2baec4413e72d77625cab30a1b9b1cdfe0cf647e44e3b698c4bbff63c7123b26b5666a65fd5e11bb7445b803c67b1d0eca3f77edd +SHA512 (nbdkit-1.43.9.tar.gz.sig) = 005692d225b9b0bb19a3171b56035a0ff56544b532dbc498fda0ba35474eb392f144000c1826dee7bb4a4b34cc70171a6669f15ecad2feb89edae553b77a051e From e83a2d7ea41d78e3ce2f5296b58f4c919419012b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 2 Jun 2025 15:51:14 +0100 Subject: [PATCH 154/195] New upstream development branch version 1.43.10 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 52ba63f..abfb460 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.9 +Version: 1.43.10 Release: 1%{?dist} Summary: NBD server @@ -1540,6 +1540,9 @@ fi %changelog +* Mon Jun 02 2025 Richard W.M. Jones - 1.43.10-1 +- New upstream development branch version 1.43.10 + * Sat May 17 2025 Richard W.M. Jones - 1.43.9-1 - New upstream development branch version 1.43.9 - New nbdkit-openonce-filter diff --git a/sources b/sources index c471e23..fdbdcd8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.9.tar.gz) = 203e5b45ab422c132ed571f2baec4413e72d77625cab30a1b9b1cdfe0cf647e44e3b698c4bbff63c7123b26b5666a65fd5e11bb7445b803c67b1d0eca3f77edd -SHA512 (nbdkit-1.43.9.tar.gz.sig) = 005692d225b9b0bb19a3171b56035a0ff56544b532dbc498fda0ba35474eb392f144000c1826dee7bb4a4b34cc70171a6669f15ecad2feb89edae553b77a051e +SHA512 (nbdkit-1.43.10.tar.gz) = 00c47909a5e139be1e2a521b41bcbd1e417baa2ac1ab15a4a921fc8bc616d26a4fb6fb1e2aa86e5b0297a680bd80dc47598677f14a1809bea578951b9ca4c4ba +SHA512 (nbdkit-1.43.10.tar.gz.sig) = 4a48cd2db6b10c929ea20a73812e1822dee3b7717278d557738ea971cc7a5f22235281bbb30237fa454c94ffd536b30f9db398259932b62c462ced2d83a46949 From 21c4158bda0e992efafd68fcec5e9d049fd6a826 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 5 Jun 2025 13:12:12 +0100 Subject: [PATCH 155/195] New upstream development branch version 1.43.11 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index abfb460..06aa440 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.10 +Version: 1.43.11 Release: 1%{?dist} Summary: NBD server @@ -1540,6 +1540,9 @@ fi %changelog +* Thu Jun 05 2025 Richard W.M. Jones - 1.43.11-1 +- New upstream development branch version 1.43.11 + * Mon Jun 02 2025 Richard W.M. Jones - 1.43.10-1 - New upstream development branch version 1.43.10 diff --git a/sources b/sources index fdbdcd8..966f155 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.10.tar.gz) = 00c47909a5e139be1e2a521b41bcbd1e417baa2ac1ab15a4a921fc8bc616d26a4fb6fb1e2aa86e5b0297a680bd80dc47598677f14a1809bea578951b9ca4c4ba -SHA512 (nbdkit-1.43.10.tar.gz.sig) = 4a48cd2db6b10c929ea20a73812e1822dee3b7717278d557738ea971cc7a5f22235281bbb30237fa454c94ffd536b30f9db398259932b62c462ced2d83a46949 +SHA512 (nbdkit-1.43.11.tar.gz) = 6cd41d9dde399f749577b111a0bbbb066c8e546e1d36427cff1347fb6f0153d5e1da1f06e41d4bb0f9b325a74142f45a2d6f21d1a32d08ecc74df150c2d0f5f9 +SHA512 (nbdkit-1.43.11.tar.gz.sig) = 51b1acbd160986cd9d783232087f5fb83486558ea744a02808358099a13383c68cb672dead91917eddf189bf5a86dd0bd6ab9f112cc3b40c23a474930f12631b From c26783887c576de543cc80da505a174b442bc788 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 6 Jun 2025 16:44:34 +0200 Subject: [PATCH 156/195] Rebuilt for Python 3.14 --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 06aa440..d56e645 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.43.11 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1540,6 +1540,9 @@ fi %changelog +* Fri Jun 06 2025 Python Maint - 1.43.11-2 +- Rebuilt for Python 3.14 + * Thu Jun 05 2025 Richard W.M. Jones - 1.43.11-1 - New upstream development branch version 1.43.11 From f1480cff155b1a4c8cebd1dbe665625163069ebd Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 14 Jun 2025 18:09:40 +0100 Subject: [PATCH 157/195] New upstream development branch version 1.43.12 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index d56e645..fe243de 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,8 +54,8 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.11 -Release: 2%{?dist} +Version: 1.43.12 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1540,6 +1540,9 @@ fi %changelog +* Sat Jun 14 2025 Richard W.M. Jones - 1.43.12-1 +- New upstream development branch version 1.43.12 + * Fri Jun 06 2025 Python Maint - 1.43.11-2 - Rebuilt for Python 3.14 diff --git a/sources b/sources index 966f155..320c8ce 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.11.tar.gz) = 6cd41d9dde399f749577b111a0bbbb066c8e546e1d36427cff1347fb6f0153d5e1da1f06e41d4bb0f9b325a74142f45a2d6f21d1a32d08ecc74df150c2d0f5f9 -SHA512 (nbdkit-1.43.11.tar.gz.sig) = 51b1acbd160986cd9d783232087f5fb83486558ea744a02808358099a13383c68cb672dead91917eddf189bf5a86dd0bd6ab9f112cc3b40c23a474930f12631b +SHA512 (nbdkit-1.43.12.tar.gz) = ac44f05fc203c5755003543cc237a8f1e51fe3d28c1f12d750bba9e04e12f16a5c551dde2e01900bf800ec6fcbc3e0bb9614e92774d0a3f38581527b0e931a26 +SHA512 (nbdkit-1.43.12.tar.gz.sig) = c22748156ce95973455ca0611f219e5f802b237995cb680e56a08908ae7b977404cd9c334d4e69e90e3637968a9bf74b647701ad6e46a5b42eedd33de03db37c From 4aa3cbc51da8245a4c51490368a6fa634c8df56b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 23 Jun 2025 13:50:52 +0100 Subject: [PATCH 158/195] New upstream development branch version 1.43.13 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index fe243de..e95fd29 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.43-development Name: nbdkit -Version: 1.43.12 +Version: 1.43.13 Release: 1%{?dist} Summary: NBD server @@ -1540,6 +1540,9 @@ fi %changelog +* Mon Jun 23 2025 Richard W.M. Jones - 1.43.13-1 +- New upstream development branch version 1.43.13 + * Sat Jun 14 2025 Richard W.M. Jones - 1.43.12-1 - New upstream development branch version 1.43.12 diff --git a/sources b/sources index 320c8ce..b5c9224 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.12.tar.gz) = ac44f05fc203c5755003543cc237a8f1e51fe3d28c1f12d750bba9e04e12f16a5c551dde2e01900bf800ec6fcbc3e0bb9614e92774d0a3f38581527b0e931a26 -SHA512 (nbdkit-1.43.12.tar.gz.sig) = c22748156ce95973455ca0611f219e5f802b237995cb680e56a08908ae7b977404cd9c334d4e69e90e3637968a9bf74b647701ad6e46a5b42eedd33de03db37c +SHA512 (nbdkit-1.43.13.tar.gz) = 230cfbdbef256d52c5578d6c09caac2ec9fbce356dca0c3bf4314df22bc8c0c0e9e19447d487e27557f0acb38cec22d4099ffb56ba082956e5585d0e8862bd9e +SHA512 (nbdkit-1.43.13.tar.gz.sig) = 422841842c8d67bf5e2bd53b155bc51479bd6683f304576c2ce5f226bb278b7ea014f4605738ec6afe59ab6fb16cb653be39a717c371856b93e8b1d45b785e58 From ef67eb1f91ce47ba8a4d8ba66eea03c52ddce90e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 1 Jul 2025 08:32:27 +0100 Subject: [PATCH 159/195] New upstream stable branch version 1.44.0 --- nbdkit.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index e95fd29..bdb421b 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,10 +51,10 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.43-development +%global source_directory 1.44-stable Name: nbdkit -Version: 1.43.13 +Version: 1.44.0 Release: 1%{?dist} Summary: NBD server @@ -1540,6 +1540,9 @@ fi %changelog +* Tue Jul 01 2025 Richard W.M. Jones - 1.44.0-1 +- New upstream stable branch version 1.44.0 + * Mon Jun 23 2025 Richard W.M. Jones - 1.43.13-1 - New upstream development branch version 1.43.13 From d3ff9bddb93cc6f3c03fb8b37650bec520f23ade Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 5 Jul 2025 08:11:55 +0100 Subject: [PATCH 160/195] Forgot to update sources for previous commit --- sources | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index b5c9224..4b6e8b9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.43.13.tar.gz) = 230cfbdbef256d52c5578d6c09caac2ec9fbce356dca0c3bf4314df22bc8c0c0e9e19447d487e27557f0acb38cec22d4099ffb56ba082956e5585d0e8862bd9e -SHA512 (nbdkit-1.43.13.tar.gz.sig) = 422841842c8d67bf5e2bd53b155bc51479bd6683f304576c2ce5f226bb278b7ea014f4605738ec6afe59ab6fb16cb653be39a717c371856b93e8b1d45b785e58 +SHA512 (nbdkit-1.44.0.tar.gz) = 87d91a8203fadd96829888d0fe60e0d8c06de2eb2fcc715e710ebf6709befa176bb96d316e4ad8412ea6d8da46f61807d75f6e22eaa8ce986e2341056e4220f5 +SHA512 (nbdkit-1.44.0.tar.gz.sig) = c21fc3c8c51fe89eaec9f979d2a6e61c86568302bad744669e116c26450d7d0e8c82477d7e7bb7d82980c1b887fcf40b6609eae5896396bd70a14a2885ebe7bd From bc3a79b4ecc289fedb41fcd6e0e580f308fd1630 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 5 Jul 2025 08:33:23 +0100 Subject: [PATCH 161/195] New upstream stable branch version 1.44.1 Contains data integrity fix: "server: Fix .zero fallback path" --- nbdkit.spec | 6 +++++- sources | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index bdb421b..d0a87b9 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.44-stable Name: nbdkit -Version: 1.44.0 +Version: 1.44.1 Release: 1%{?dist} Summary: NBD server @@ -1540,6 +1540,10 @@ fi %changelog +* Sat Jul 05 2025 Richard W.M. Jones - 1.44.1-1 +- New upstream stable branch version 1.44.1 +- Contains data integrity fix: "server: Fix .zero fallback path" + * Tue Jul 01 2025 Richard W.M. Jones - 1.44.0-1 - New upstream stable branch version 1.44.0 diff --git a/sources b/sources index 4b6e8b9..e6a3393 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.44.0.tar.gz) = 87d91a8203fadd96829888d0fe60e0d8c06de2eb2fcc715e710ebf6709befa176bb96d316e4ad8412ea6d8da46f61807d75f6e22eaa8ce986e2341056e4220f5 -SHA512 (nbdkit-1.44.0.tar.gz.sig) = c21fc3c8c51fe89eaec9f979d2a6e61c86568302bad744669e116c26450d7d0e8c82477d7e7bb7d82980c1b887fcf40b6609eae5896396bd70a14a2885ebe7bd +SHA512 (nbdkit-1.44.1.tar.gz) = 150a31ca7f64b76a4e4cc90d077e88531458f2766c0bb1f6f1ae23176d5c55a2e4dab61be58bd92b166e67fe70b67c9458a04d29978cbb1b89a6fa8ebca4617d +SHA512 (nbdkit-1.44.1.tar.gz.sig) = b987c7cfc0cf4585f3db7c33a19a63ac24b5ea5cf10635c497d2780e70f121fcc82dda983a63ef8464b0c8550dd12811499fd171cf7b368ce1a7f0ddd9b60ae7 From 562d971b43a8e956b7d20481e9590132f2d942dd Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Mon, 7 Jul 2025 16:12:45 +0200 Subject: [PATCH 162/195] Perl 5.42 rebuild --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index d0a87b9..5e7b139 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.44.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1540,6 +1540,9 @@ fi %changelog +* Mon Jul 07 2025 Jitka Plesnikova - 1.44.1-2 +- Perl 5.42 rebuild + * Sat Jul 05 2025 Richard W.M. Jones - 1.44.1-1 - New upstream stable branch version 1.44.1 - Contains data integrity fix: "server: Fix .zero fallback path" From 774f274dd2e6e73865551df20a177a393869fde2 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 8 Jul 2025 21:25:19 +0100 Subject: [PATCH 163/195] New upstream development branch 1.45.1 New nbdkit-count-filter. --- nbdkit.spec | 14 +++++++++++--- sources | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 5e7b139..2690a65 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,11 +51,11 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.44-stable +%global source_directory 1.45-development Name: nbdkit -Version: 1.44.1 -Release: 2%{?dist} +Version: 1.45.1 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -592,6 +592,8 @@ nbdkit-cacheextents-filter Cache extents. nbdkit-checkwrite-filter Check writes match contents of plugin. +nbdkit-count-filter Count bytes read, written, zeroed and trimmed. + nbdkit-cow-filter Copy-on-write overlay for read-only plugins. nbdkit-ddrescue-filter Filter for serving from ddrescue dump. @@ -1338,6 +1340,7 @@ fi %{_libdir}/%{name}/filters/nbdkit-cache-filter.so %{_libdir}/%{name}/filters/nbdkit-cacheextents-filter.so %{_libdir}/%{name}/filters/nbdkit-checkwrite-filter.so +%{_libdir}/%{name}/filters/nbdkit-count-filter.so %{_libdir}/%{name}/filters/nbdkit-cow-filter.so %{_libdir}/%{name}/filters/nbdkit-ddrescue-filter.so %{_libdir}/%{name}/filters/nbdkit-delay-filter.so @@ -1384,6 +1387,7 @@ fi %{_mandir}/man1/nbdkit-cache-filter.1* %{_mandir}/man1/nbdkit-cacheextents-filter.1* %{_mandir}/man1/nbdkit-checkwrite-filter.1* +%{_mandir}/man1/nbdkit-count-filter.1* %{_mandir}/man1/nbdkit-cow-filter.1* %{_mandir}/man1/nbdkit-ddrescue-filter.1* %{_mandir}/man1/nbdkit-delay-filter.1* @@ -1540,6 +1544,10 @@ fi %changelog +* Tue Jul 08 2025 Richard W.M. Jones - 1.45.1-1 +- New upstream development branch 1.45.1 +- New nbdkit-count-filter. + * Mon Jul 07 2025 Jitka Plesnikova - 1.44.1-2 - Perl 5.42 rebuild diff --git a/sources b/sources index e6a3393..b08e54c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.44.1.tar.gz) = 150a31ca7f64b76a4e4cc90d077e88531458f2766c0bb1f6f1ae23176d5c55a2e4dab61be58bd92b166e67fe70b67c9458a04d29978cbb1b89a6fa8ebca4617d -SHA512 (nbdkit-1.44.1.tar.gz.sig) = b987c7cfc0cf4585f3db7c33a19a63ac24b5ea5cf10635c497d2780e70f121fcc82dda983a63ef8464b0c8550dd12811499fd171cf7b368ce1a7f0ddd9b60ae7 +SHA512 (nbdkit-1.45.1.tar.gz) = c17a3c68445c68c3464966c03b19cc9f9bc29f401afa7840d87cfb9790debc34338a362f478ab8d6d75182e75b9f8a999ed6677dabe7a55f956459b4e63a405e +SHA512 (nbdkit-1.45.1.tar.gz.sig) = 8be05f711fe244fdde2645abc144cf2a5762b2f0c0a8aaf377fec6c73a9cb74ea232f35ad32c2a330e8d5d3acf86ff0d95baad729629916835cbfadb93e904f6 From 6eee603e94288f49954d69ed132aed118d7a50c8 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Wed, 9 Jul 2025 07:54:30 +0200 Subject: [PATCH 164/195] Perl 5.42 re-rebuild updated packages --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 2690a65..bce86cc 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.45.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1544,6 +1544,9 @@ fi %changelog +* Wed Jul 09 2025 Jitka Plesnikova - 1.45.1-2 +- Perl 5.42 re-rebuild updated packages + * Tue Jul 08 2025 Richard W.M. Jones - 1.45.1-1 - New upstream development branch 1.45.1 - New nbdkit-count-filter. From 24fab6428438dac6f7fc9aab47962a001d6d5dea Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 9 Jul 2025 09:34:40 +0100 Subject: [PATCH 165/195] Remove cacheextents filter (deprecated & removed upstream) --- nbdkit.spec | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index bce86cc..a6f388b 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.45.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NBD server License: BSD-3-Clause @@ -588,8 +588,6 @@ nbdkit-blocksize-policy-filter Set block size constraints and policy. nbdkit-cache-filter Server-side cache. -nbdkit-cacheextents-filter Cache extents. - nbdkit-checkwrite-filter Check writes match contents of plugin. nbdkit-count-filter Count bytes read, written, zeroed and trimmed. @@ -1338,7 +1336,6 @@ fi %{_libdir}/%{name}/filters/nbdkit-blocksize-filter.so %{_libdir}/%{name}/filters/nbdkit-blocksize-policy-filter.so %{_libdir}/%{name}/filters/nbdkit-cache-filter.so -%{_libdir}/%{name}/filters/nbdkit-cacheextents-filter.so %{_libdir}/%{name}/filters/nbdkit-checkwrite-filter.so %{_libdir}/%{name}/filters/nbdkit-count-filter.so %{_libdir}/%{name}/filters/nbdkit-cow-filter.so @@ -1385,7 +1382,6 @@ fi %{_mandir}/man1/nbdkit-blocksize-filter.1* %{_mandir}/man1/nbdkit-blocksize-policy-filter.1* %{_mandir}/man1/nbdkit-cache-filter.1* -%{_mandir}/man1/nbdkit-cacheextents-filter.1* %{_mandir}/man1/nbdkit-checkwrite-filter.1* %{_mandir}/man1/nbdkit-count-filter.1* %{_mandir}/man1/nbdkit-cow-filter.1* @@ -1544,6 +1540,9 @@ fi %changelog +* Wed Jul 09 2025 Richard W.M. Jones - 1.45.1-3 +- Remove cacheextents filter (deprecated & removed upstream) + * Wed Jul 09 2025 Jitka Plesnikova - 1.45.1-2 - Perl 5.42 re-rebuild updated packages From 35d61ffde23a1fce3bc9459e995740e29ee8e73e Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Wed, 9 Jul 2025 12:09:35 +0200 Subject: [PATCH 166/195] Perl 5.42 re-rebuild updated packages --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index a6f388b..b2bc91d 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.45.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1540,6 +1540,9 @@ fi %changelog +* Wed Jul 09 2025 Jitka Plesnikova - 1.45.1-4 +- Perl 5.42 re-rebuild updated packages + * Wed Jul 09 2025 Richard W.M. Jones - 1.45.1-3 - Remove cacheextents filter (deprecated & removed upstream) From 3407909a049d0a7f18c176c3a149ed753ea0d63b Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 11 Jul 2025 16:00:47 -0600 Subject: [PATCH 167/195] Rebuild to fix OCaml dependencies --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index b2bc91d..0dede62 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.45.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1540,6 +1540,9 @@ fi %changelog +* Fri Jul 11 2025 Jerry James - 1.45.1-5 +- Rebuild to fix OCaml dependencies + * Wed Jul 09 2025 Jitka Plesnikova - 1.45.1-4 - Perl 5.42 re-rebuild updated packages From 8f1341df5f0dc22d3c76b635b80ed6c3cc527d30 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 23 Jul 2025 16:50:28 +0100 Subject: [PATCH 168/195] New upstream version 1.45.2 New map filter. --- nbdkit.spec | 12 ++++++++++-- sources | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 0dede62..1448c8c 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,8 +54,8 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.1 -Release: 5%{?dist} +Version: 1.45.2 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -622,6 +622,8 @@ nbdkit-log-filter Log all transactions to a file. nbdkit-luks-filter Read and write LUKS-encrypted disks. +nbdkit-map-filter Remap disk blocks. + nbdkit-multi-conn-filter Enable, emulate or disable multi-conn. nbdkit-nocache-filter Disable cache requests in the underlying plugin. @@ -1353,6 +1355,7 @@ fi %{_libdir}/%{name}/filters/nbdkit-limit-filter.so %{_libdir}/%{name}/filters/nbdkit-log-filter.so %{_libdir}/%{name}/filters/nbdkit-luks-filter.so +%{_libdir}/%{name}/filters/nbdkit-map-filter.so %{_libdir}/%{name}/filters/nbdkit-multi-conn-filter.so %{_libdir}/%{name}/filters/nbdkit-nocache-filter.so %{_libdir}/%{name}/filters/nbdkit-noextents-filter.so @@ -1399,6 +1402,7 @@ fi %{_mandir}/man1/nbdkit-limit-filter.1* %{_mandir}/man1/nbdkit-log-filter.1* %{_mandir}/man1/nbdkit-luks-filter.1* +%{_mandir}/man1/nbdkit-map-filter.1* %{_mandir}/man1/nbdkit-multi-conn-filter.1* %{_mandir}/man1/nbdkit-nocache-filter.1* %{_mandir}/man1/nbdkit-noextents-filter.1* @@ -1540,6 +1544,10 @@ fi %changelog +* Wed Jul 23 2025 Richard W.M. Jones - 1.45.2-1 +- New upstream version 1.45.2 +- New map filter. + * Fri Jul 11 2025 Jerry James - 1.45.1-5 - Rebuild to fix OCaml dependencies diff --git a/sources b/sources index b08e54c..7380dfc 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.1.tar.gz) = c17a3c68445c68c3464966c03b19cc9f9bc29f401afa7840d87cfb9790debc34338a362f478ab8d6d75182e75b9f8a999ed6677dabe7a55f956459b4e63a405e -SHA512 (nbdkit-1.45.1.tar.gz.sig) = 8be05f711fe244fdde2645abc144cf2a5762b2f0c0a8aaf377fec6c73a9cb74ea232f35ad32c2a330e8d5d3acf86ff0d95baad729629916835cbfadb93e904f6 +SHA512 (nbdkit-1.45.2.tar.gz) = a727acc2c3b0df827bcb91349dd7e46bb4ce62429c1a7afb4619dc0ee3d5c8c76944177ea0cd040def20a2cb70801197a814d33dee55c5b6eea90ba2757b5cb6 +SHA512 (nbdkit-1.45.2.tar.gz.sig) = f15fe13bf15791a34a2c812e0344bc87f847f211961f1c0e8a3ea7a1d01a8a7e02a14db41af015a846eb2148cfa01ce3d93151ed1854c3fb4bcd66e7554dce4e From 74a2dea81c1d52b72b8d868dee8be1d4934c8d3d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 Jul 2025 12:10:29 +0100 Subject: [PATCH 169/195] New upstream version 1.45.3 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 1448c8c..aee402e 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.2 +Version: 1.45.3 Release: 1%{?dist} Summary: NBD server @@ -1544,6 +1544,9 @@ fi %changelog +* Tue Jul 29 2025 Richard W.M. Jones - 1.45.3-1 +- New upstream version 1.45.3 + * Wed Jul 23 2025 Richard W.M. Jones - 1.45.2-1 - New upstream version 1.45.2 - New map filter. diff --git a/sources b/sources index 7380dfc..bf4f0e0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.2.tar.gz) = a727acc2c3b0df827bcb91349dd7e46bb4ce62429c1a7afb4619dc0ee3d5c8c76944177ea0cd040def20a2cb70801197a814d33dee55c5b6eea90ba2757b5cb6 -SHA512 (nbdkit-1.45.2.tar.gz.sig) = f15fe13bf15791a34a2c812e0344bc87f847f211961f1c0e8a3ea7a1d01a8a7e02a14db41af015a846eb2148cfa01ce3d93151ed1854c3fb4bcd66e7554dce4e +SHA512 (nbdkit-1.45.3.tar.gz) = c6d9835473b4453645f7a9dc43c8f5ffaa13030ff17f7b8234dfaf2963a01f465a07222941ec441364aca700dc146b04d0bcb374b7e1f748ac7f091ed7782727 +SHA512 (nbdkit-1.45.3.tar.gz.sig) = 5537f80243bec2f6ee20fd82abf251b66089f3daaa8856715ee60ef5de023337f1f6bddf9626c987443425db69d7b5e7e51a390e30b44c5bf9028f5e56a23543 From a94e98cf511402368de0675b1de8d69d63e23395 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 Jul 2025 12:58:24 +0100 Subject: [PATCH 170/195] Add upstream commit to fix test --- ...-test-at-file.sh-Fix-srcdir-builddir.patch | 53 +++++++++++++++++++ nbdkit.spec | 4 ++ 2 files changed, 57 insertions(+) create mode 100644 0001-tests-test-at-file.sh-Fix-srcdir-builddir.patch diff --git a/0001-tests-test-at-file.sh-Fix-srcdir-builddir.patch b/0001-tests-test-at-file.sh-Fix-srcdir-builddir.patch new file mode 100644 index 0000000..b1dcdb6 --- /dev/null +++ b/0001-tests-test-at-file.sh-Fix-srcdir-builddir.patch @@ -0,0 +1,53 @@ +From 8aef52989c6e4cc5f3e40189d426c1f2ddf13862 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 29 Jul 2025 12:56:44 +0100 +Subject: [PATCH] tests/test-at-file.sh: Fix srcdir != builddir + +Fixes: commit 05c90e6930d92106f4064ac6c2c56627af8e4c50 +--- + tests/test-at-file.sh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/tests/test-at-file.sh b/tests/test-at-file.sh +index 7e975aa407..d038f9074e 100755 +--- a/tests/test-at-file.sh ++++ b/tests/test-at-file.sh +@@ -67,7 +67,7 @@ EOF + + # Run each test and check the output is as expected. + +-expected=test-at-file/1.expected ++expected=$srcdir/test-at-file/1.expected + params="@$srcdir/test-at-file/1.input" + + rm -f "$out" +@@ -75,7 +75,7 @@ touch "$out" + nbdkit -fv sh - <<<"$plugin" out="$out" $params --run true + diff -u $expected $out + +-expected=test-at-file/2.expected ++expected=$srcdir/test-at-file/2.expected + params="@$srcdir/test-at-file/2.input" + + rm -f "$out" +@@ -83,7 +83,7 @@ touch "$out" + nbdkit -fv sh - <<<"$plugin" out="$out" $params --run true + diff -u $expected $out + +-expected=test-at-file/3.expected ++expected=$srcdir/test-at-file/3.expected + params="A=1 @$srcdir/test-at-file/3a.input B=2 @$srcdir/test-at-file/3b.input C=3" + + rm -f "$out" +@@ -91,7 +91,7 @@ touch "$out" + nbdkit -fv sh - <<<"$plugin" out="$out" $params --run true + diff -u $expected $out + +-expected=test-at-file/4.expected ++expected=$srcdir/test-at-file/4.expected + params="A=1 @$srcdir/test-at-file/4a.input B=2 @$srcdir/test-at-file/4b.input C=3" + + rm -f "$out" +-- +2.50.1 + diff --git a/nbdkit.spec b/nbdkit.spec index aee402e..3415667 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -86,6 +86,10 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc +# Fix for test. +# Upstream in 8aef52989c6e4cc5f3e40189d426c1f2ddf13862. +Patch: 0001-tests-test-at-file.sh-Fix-srcdir-builddir.patch + # For applying the patches: BuildRequires: git From 15795b0ff403f1327173ed578339f808f18e827a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 11 Aug 2025 14:07:59 +0100 Subject: [PATCH 171/195] New upstream version 1.45.4 --- ...-test-at-file.sh-Fix-srcdir-builddir.patch | 53 ------------------- nbdkit.spec | 9 ++-- sources | 4 +- 3 files changed, 6 insertions(+), 60 deletions(-) delete mode 100644 0001-tests-test-at-file.sh-Fix-srcdir-builddir.patch diff --git a/0001-tests-test-at-file.sh-Fix-srcdir-builddir.patch b/0001-tests-test-at-file.sh-Fix-srcdir-builddir.patch deleted file mode 100644 index b1dcdb6..0000000 --- a/0001-tests-test-at-file.sh-Fix-srcdir-builddir.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 8aef52989c6e4cc5f3e40189d426c1f2ddf13862 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 29 Jul 2025 12:56:44 +0100 -Subject: [PATCH] tests/test-at-file.sh: Fix srcdir != builddir - -Fixes: commit 05c90e6930d92106f4064ac6c2c56627af8e4c50 ---- - tests/test-at-file.sh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/tests/test-at-file.sh b/tests/test-at-file.sh -index 7e975aa407..d038f9074e 100755 ---- a/tests/test-at-file.sh -+++ b/tests/test-at-file.sh -@@ -67,7 +67,7 @@ EOF - - # Run each test and check the output is as expected. - --expected=test-at-file/1.expected -+expected=$srcdir/test-at-file/1.expected - params="@$srcdir/test-at-file/1.input" - - rm -f "$out" -@@ -75,7 +75,7 @@ touch "$out" - nbdkit -fv sh - <<<"$plugin" out="$out" $params --run true - diff -u $expected $out - --expected=test-at-file/2.expected -+expected=$srcdir/test-at-file/2.expected - params="@$srcdir/test-at-file/2.input" - - rm -f "$out" -@@ -83,7 +83,7 @@ touch "$out" - nbdkit -fv sh - <<<"$plugin" out="$out" $params --run true - diff -u $expected $out - --expected=test-at-file/3.expected -+expected=$srcdir/test-at-file/3.expected - params="A=1 @$srcdir/test-at-file/3a.input B=2 @$srcdir/test-at-file/3b.input C=3" - - rm -f "$out" -@@ -91,7 +91,7 @@ touch "$out" - nbdkit -fv sh - <<<"$plugin" out="$out" $params --run true - diff -u $expected $out - --expected=test-at-file/4.expected -+expected=$srcdir/test-at-file/4.expected - params="A=1 @$srcdir/test-at-file/4a.input B=2 @$srcdir/test-at-file/4b.input C=3" - - rm -f "$out" --- -2.50.1 - diff --git a/nbdkit.spec b/nbdkit.spec index 3415667..db6413d 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.3 +Version: 1.45.4 Release: 1%{?dist} Summary: NBD server @@ -86,10 +86,6 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc -# Fix for test. -# Upstream in 8aef52989c6e4cc5f3e40189d426c1f2ddf13862. -Patch: 0001-tests-test-at-file.sh-Fix-srcdir-builddir.patch - # For applying the patches: BuildRequires: git @@ -1548,6 +1544,9 @@ fi %changelog +* Mon Aug 11 2025 Richard W.M. Jones - 1.45.4-1 +- New upstream version 1.45.4 + * Tue Jul 29 2025 Richard W.M. Jones - 1.45.3-1 - New upstream version 1.45.3 diff --git a/sources b/sources index bf4f0e0..5b3e302 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.3.tar.gz) = c6d9835473b4453645f7a9dc43c8f5ffaa13030ff17f7b8234dfaf2963a01f465a07222941ec441364aca700dc146b04d0bcb374b7e1f748ac7f091ed7782727 -SHA512 (nbdkit-1.45.3.tar.gz.sig) = 5537f80243bec2f6ee20fd82abf251b66089f3daaa8856715ee60ef5de023337f1f6bddf9626c987443425db69d7b5e7e51a390e30b44c5bf9028f5e56a23543 +SHA512 (nbdkit-1.45.4.tar.gz) = 015894500789f743d65264db56e3b13a04fb93183b1aaea00f38a5a1d0407c8a612fd42715135a21f47738d4fb1fc40c80b623aac751c1265e537e7e994bd75b +SHA512 (nbdkit-1.45.4.tar.gz.sig) = 428628d95c2dbc61e4c830493da0f7d3ff3ab32533d95bba1f74e226bca27dcb94e1ef13ed9833598aaec35ff188827a377d551139ad1aa1cbe4fe0e2bec7128 From 29a8d04a48e37869ec3fe2b7864fa2525f87f14f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 20 Aug 2025 15:30:55 +0100 Subject: [PATCH 172/195] New upstream version 1.45.5. Remove obsolete Obsoletes now this is Fedora 43+. Add new nbdkit-indexed-gzip-filter. --- nbdkit.spec | 13 ++++++++++--- sources | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index db6413d..8dac8af 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.4 +Version: 1.45.5 Release: 1%{?dist} Summary: NBD server @@ -574,8 +574,6 @@ VMware VDDK for accessing VMware disks and servers. %package basic-filters Summary: Basic filters for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} -# Remove this in Fedora 43: -Obsoletes: nbdkit-gzip-filter < %{version}-%{release} %description basic-filters This package contains filters for %{name} which only depend on simple @@ -614,6 +612,8 @@ nbdkit-fua-filter Modify flush behaviour in plugins. nbdkit-gzip-filter Decompress a .gz file +nbdkit-indexed-gzip-filter Access .gz contents efficiently. + nbdkit-ip-filter Filter clients by IP address. nbdkit-limit-filter Limit nr clients that can connect concurrently. @@ -1351,6 +1351,7 @@ fi %{_libdir}/%{name}/filters/nbdkit-extentlist-filter.so %{_libdir}/%{name}/filters/nbdkit-fua-filter.so %{_libdir}/%{name}/filters/nbdkit-gzip-filter.so +%{_libdir}/%{name}/filters/nbdkit-indexed-gzip-filter.so %{_libdir}/%{name}/filters/nbdkit-ip-filter.so %{_libdir}/%{name}/filters/nbdkit-limit-filter.so %{_libdir}/%{name}/filters/nbdkit-log-filter.so @@ -1398,6 +1399,7 @@ fi %{_mandir}/man1/nbdkit-extentlist-filter.1* %{_mandir}/man1/nbdkit-fua-filter.1* %{_mandir}/man1/nbdkit-gzip-filter.1* +%{_mandir}/man1/nbdkit-indexed-gzip-filter.1* %{_mandir}/man1/nbdkit-ip-filter.1* %{_mandir}/man1/nbdkit-limit-filter.1* %{_mandir}/man1/nbdkit-log-filter.1* @@ -1544,6 +1546,11 @@ fi %changelog +* Wed Aug 20 2025 Richard W.M. Jones - 1.45.5-1 +- New upstream version 1.45.5. +- Remove obsolete Obsoletes now this is Fedora 43+. +- Add new nbdkit-indexed-gzip-filter. + * Mon Aug 11 2025 Richard W.M. Jones - 1.45.4-1 - New upstream version 1.45.4 diff --git a/sources b/sources index 5b3e302..0c903c4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.4.tar.gz) = 015894500789f743d65264db56e3b13a04fb93183b1aaea00f38a5a1d0407c8a612fd42715135a21f47738d4fb1fc40c80b623aac751c1265e537e7e994bd75b -SHA512 (nbdkit-1.45.4.tar.gz.sig) = 428628d95c2dbc61e4c830493da0f7d3ff3ab32533d95bba1f74e226bca27dcb94e1ef13ed9833598aaec35ff188827a377d551139ad1aa1cbe4fe0e2bec7128 +SHA512 (nbdkit-1.45.5.tar.gz) = 317ab34469921c2b0e8e87de7b1277922102bd0ef3932e1eb2dc21cdd785eb1f867f451899195a22de9e37af23785d4419e17958c3e108a25d86a66b01d32fd2 +SHA512 (nbdkit-1.45.5.tar.gz.sig) = 6103faca577610a92e20707fd1a1ab4462b7f175d786843f59a0df8642d36451070b074c94c9f19b801e1ddae7a1e3b41bf0422cc68ddd186f1b6b7f85d4e2a4 From b966d108a4c25072329ff5be832dc16a378cd061 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 20 Aug 2025 16:54:40 +0100 Subject: [PATCH 173/195] Add upstream fix for 32-bit indexed-gzip filter --- ...ndexed-gzip-Fixes-for-32-bit-support.patch | 216 ++++++++++++++++++ nbdkit.spec | 3 + 2 files changed, 219 insertions(+) create mode 100644 0001-indexed-gzip-Fixes-for-32-bit-support.patch diff --git a/0001-indexed-gzip-Fixes-for-32-bit-support.patch b/0001-indexed-gzip-Fixes-for-32-bit-support.patch new file mode 100644 index 0000000..cb3d6cf --- /dev/null +++ b/0001-indexed-gzip-Fixes-for-32-bit-support.patch @@ -0,0 +1,216 @@ +From 05eea64423f1cd5c12ac4e7932389c64d58ac7fa Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 20 Aug 2025 16:44:59 +0100 +Subject: [PATCH] indexed-gzip: Fixes for 32-bit support + +On 32-bit i686 nbdkit-indexed-gzip-filter test crashes with: + + realloc(): invalid pointer + +Firstly include consistently. I suspect an off_t 32/64-bit +mismatch causes this. In any case make sure _FILE_OFFSET_BITS is +consistent in all compilation units. + +Also fix printf formatters for off_t, uint64_t and ptrdiff_t. +(https://stackoverflow.com/questions/586928/how-should-i-print-types-like-off-t-and-size-t) + +This change seems to fix the crasher in practice, but I'm not certain +that I have identified the root cause. +--- + filters/indexed-gzip/ig_handle.h | 1 - + filters/indexed-gzip/ig_zran.c | 52 ++++++++++++++++++++--------- + filters/indexed-gzip/indexed_gzip.c | 5 +-- + filters/indexed-gzip/zran.c | 2 ++ + 4 files changed, 41 insertions(+), 19 deletions(-) + +diff --git a/filters/indexed-gzip/ig_handle.h b/filters/indexed-gzip/ig_handle.h +index 168774f55b..3d478eaa57 100644 +--- a/filters/indexed-gzip/ig_handle.h ++++ b/filters/indexed-gzip/ig_handle.h +@@ -54,7 +54,6 @@ + #include "pread.h" + #include "minmax.h" + +- + /* NBDkit filter handle containing the index */ + struct handle { + struct deflate_index *index; +diff --git a/filters/indexed-gzip/ig_zran.c b/filters/indexed-gzip/ig_zran.c +index 88a94884b9..025186292c 100644 +--- a/filters/indexed-gzip/ig_zran.c ++++ b/filters/indexed-gzip/ig_zran.c +@@ -2,7 +2,9 @@ + * Copyright (C) 2005, 2012, 2018, 2023, 2024 Mark Adler + * Copyright (C) 2025 Shasheen Ediriweera + * For conditions of distribution and use, see copyright notice in zlib.h +- * Version 1.6 2 Aug 2024 Mark Adler */ ++ * Version 1.6 2 Aug 2024 Mark Adler ++ */ ++ + #include + + #include +@@ -33,8 +35,9 @@ + int ig_deflate_index_build(nbdkit_next *next, void* handle, off_t span, int* nbdkit_err) { + struct handle *h = handle; + +- nbdkit_debug("ig_deflate_index_build: starting with span=%ld, compressed_size=%lu", +- span, h->compressed_size); ++ nbdkit_debug("ig_deflate_index_build: " ++ "starting with span=%jd, compressed_size=%" PRIu64, ++ (intmax_t) span, h->compressed_size); + + // Create and initialize the index list. + struct deflate_index *index = malloc(sizeof(struct deflate_index)); +@@ -67,7 +70,11 @@ int ig_deflate_index_build(nbdkit_next *next, void* handle, off_t span, int* nbd + // Print how much of the file has been decompressed, for external applications to track progress of this long-lived operation + float new_progress = (float)totin / (float)h->compressed_size; + if (new_progress - decompression_progress > progress_print_threshold) { +- nbdkit_debug("ig_deflate_index_extract: total_in=%ld, compressed_size=%ld, progress=%f", index->strm.total_in, h->compressed_size, decompression_progress); ++ nbdkit_debug("ig_deflate_index_extract: " ++ "total_in=%ld, compressed_size=%" PRIu64 ", " ++ "progress=%f", ++ index->strm.total_in, h->compressed_size, ++ decompression_progress); + decompression_progress = new_progress; + } + +@@ -144,8 +151,9 @@ int ig_deflate_index_build(nbdkit_next *next, void* handle, off_t span, int* nbd + // very start for the first access point, or there has been span or + // more uncompressed bytes since the last access point, so we want + // to add an access point here. +- nbdkit_debug("ig_deflate_index_build: adding access point at totout=%ld, have=%d", +- totout, index->have); ++ nbdkit_debug("ig_deflate_index_build: " ++ "adding access point at totout=%jd, have=%d", ++ (intmax_t) totout, index->have); + index = add_point(index, totin - index->strm.avail_in, totout, beg, + win); + if (index == NULL) { +@@ -184,8 +192,9 @@ int ig_deflate_index_build(nbdkit_next *next, void* handle, off_t span, int* nbd + index->mode = mode; + index->length = totout; + h->index = index; +- nbdkit_debug("ig_deflate_index_build: Successfully completed indexation, have=%d, length=%ld", +- index->have, totout); ++ nbdkit_debug("ig_deflate_index_build: " ++ "successfully completed indexation, have=%d, length=%jd", ++ index->have, (intmax_t) totout); + return index->have; + } + +@@ -194,7 +203,9 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset + struct handle *h = handle; + struct deflate_index* index = h->index; + +- nbdkit_debug("ig_deflate_index_extract: starting with offset=%ld, len=%zu", offset, len); ++ nbdkit_debug("ig_deflate_index_extract: " ++ "starting with offset=%jd, len=%zu", ++ (intmax_t) offset, len); + + // Do a quick sanity check on the index. + if (index == NULL || index->have < 1 || index->list[0].out != 0 || +@@ -206,8 +217,10 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset + + // If nothing to extract, return zero bytes extracted. + if (len == 0 || offset < 0 || offset >= index->length) { +- nbdkit_debug("ig_deflate_index_extract: nothing to extract - len=%zu, offset=%ld, index->length=%ld", +- len, offset, index->length); ++ nbdkit_debug("ig_deflate_index_extract: " ++ "nothing to extract - len=%zu, offset=%jd, " ++ "index->length=%jd", ++ len, (intmax_t) offset, (intmax_t) index->length); + return 0; + } + +@@ -223,8 +236,10 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset + } + point += lo; + +- nbdkit_debug("ig_deflate_index_extract: found access point %d - point->in=%ld, point->out=%ld, point->bits=%d", +- lo, point->in, point->out, point->bits); ++ nbdkit_debug("ig_deflate_index_extract: " ++ "found access point %d - point->in=%jd, point->out=%jd, " ++ "point->bits=%d", ++ lo, (intmax_t) point->in, (intmax_t) point->out, point->bits); + + // Initialize the input file and prime the inflate engine to start there. + off_t start_byte = point->in - (point->bits ? 1 : 0); +@@ -232,7 +247,9 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset + index->strm.avail_in = 0; + int ret = inflateReset2(&index->strm, RAW); + index->strm.total_in = start_byte; +- nbdkit_debug("ig_deflate_index_extract: inflateReset2 returned %d, start_byte=%ld", ret, start_byte); ++ nbdkit_debug("ig_deflate_index_extract: " ++ "inflateReset2 returned %d, start_byte=%jd", ++ ret, (intmax_t) start_byte); + if (ret != Z_OK) + return ret; + if (point->bits) { +@@ -248,7 +265,9 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset + offset -= point->out; // number of bytes to skip to get to offset + size_t left = len; // number of bytes left to read after offset + +- nbdkit_debug("ig_deflate_index_extract: adjusted offset=%ld, left=%zu", offset, left); ++ nbdkit_debug("ig_deflate_index_extract: " ++ "adjusted offset=%jd, left=%zu", ++ (intmax_t) offset, left); + + do { + if (offset) { +@@ -362,7 +381,8 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset + + // Return the number of uncompressed bytes read into buf, or the error. + ptrdiff_t result = ret == Z_OK || ret == Z_STREAM_END ? len - left : ret; +- nbdkit_debug("ig_deflate_index_extract: completed with result=%ld, ret=%d, len=%zu, left=%zu", ++ nbdkit_debug("ig_deflate_index_extract: " ++ "completed with result=%td, ret=%d, len=%zu, left=%zu", + result, ret, len, left); + return result; + } +diff --git a/filters/indexed-gzip/indexed_gzip.c b/filters/indexed-gzip/indexed_gzip.c +index 87c08f8e57..f47e41ecdb 100644 +--- a/filters/indexed-gzip/indexed_gzip.c ++++ b/filters/indexed-gzip/indexed_gzip.c +@@ -31,7 +31,6 @@ + */ + + #include +-#include + + #include + #include +@@ -41,6 +40,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -309,7 +309,8 @@ indexed_gzip_pread(nbdkit_next *next, void *handle, + default: + // + *err = EIO; +- nbdkit_error(FILTER_NAME ": error %ld while extracting value\n", len); ++ nbdkit_error(FILTER_NAME ": error %jd while extracting value\n", ++ (intmax_t) len); + } + return -1; + } +diff --git a/filters/indexed-gzip/zran.c b/filters/indexed-gzip/zran.c +index 5c924dfebe..6a6e087e28 100644 +--- a/filters/indexed-gzip/zran.c ++++ b/filters/indexed-gzip/zran.c +@@ -60,6 +60,8 @@ + // use of pointers in the state. The approach here allows for storage of the + // index in a file. + ++#include ++ + #include + #include + #include +-- +2.50.1 + diff --git a/nbdkit.spec b/nbdkit.spec index 8dac8af..c8e04f0 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -86,6 +86,9 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc +# Upstream fix for 32-bit indexed-gzip filter. +Patch: 0001-indexed-gzip-Fixes-for-32-bit-support.patch + # For applying the patches: BuildRequires: git From 397329a12e02d5b9ca75916f364b07b0003727a6 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 23 Aug 2025 17:19:29 +0100 Subject: [PATCH 174/195] New upstream version 1.45.6 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index c8e04f0..1365935 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.5 +Version: 1.45.6 Release: 1%{?dist} Summary: NBD server @@ -1549,8 +1549,11 @@ fi %changelog +* Sat Aug 23 2025 Richard W.M. Jones - 1.45.6-1 +- New upstream version 1.45.6 + * Wed Aug 20 2025 Richard W.M. Jones - 1.45.5-1 -- New upstream version 1.45.5. +- New upstream version 1.45.5 - Remove obsolete Obsoletes now this is Fedora 43+. - Add new nbdkit-indexed-gzip-filter. diff --git a/sources b/sources index 0c903c4..5b4fb5b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.5.tar.gz) = 317ab34469921c2b0e8e87de7b1277922102bd0ef3932e1eb2dc21cdd785eb1f867f451899195a22de9e37af23785d4419e17958c3e108a25d86a66b01d32fd2 -SHA512 (nbdkit-1.45.5.tar.gz.sig) = 6103faca577610a92e20707fd1a1ab4462b7f175d786843f59a0df8642d36451070b074c94c9f19b801e1ddae7a1e3b41bf0422cc68ddd186f1b6b7f85d4e2a4 +SHA512 (nbdkit-1.45.6.tar.gz) = 57612e7cd78cb296237a2a2c46cc5983dbdf489a5661c462bbe3950a92000cd4aea6e6e45499954391d8a0f10a0f4656fe4313e23ec5c0a2915930a93318fb27 +SHA512 (nbdkit-1.45.6.tar.gz.sig) = 935e444f9677fb2ac432105a9e483b42948c792105db631be063d84e8895926d26d62dac8f83652d55e469b93a29313d76b8e2c3ed66ffa98c9d340610c61c8f From 812ce9e3f2e5e06dea4e7e6a4d2bfb27fbd39b44 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 23 Aug 2025 17:30:58 +0100 Subject: [PATCH 175/195] Remove upstream patch --- ...ndexed-gzip-Fixes-for-32-bit-support.patch | 216 ------------------ nbdkit.spec | 3 - 2 files changed, 219 deletions(-) delete mode 100644 0001-indexed-gzip-Fixes-for-32-bit-support.patch diff --git a/0001-indexed-gzip-Fixes-for-32-bit-support.patch b/0001-indexed-gzip-Fixes-for-32-bit-support.patch deleted file mode 100644 index cb3d6cf..0000000 --- a/0001-indexed-gzip-Fixes-for-32-bit-support.patch +++ /dev/null @@ -1,216 +0,0 @@ -From 05eea64423f1cd5c12ac4e7932389c64d58ac7fa Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 20 Aug 2025 16:44:59 +0100 -Subject: [PATCH] indexed-gzip: Fixes for 32-bit support - -On 32-bit i686 nbdkit-indexed-gzip-filter test crashes with: - - realloc(): invalid pointer - -Firstly include consistently. I suspect an off_t 32/64-bit -mismatch causes this. In any case make sure _FILE_OFFSET_BITS is -consistent in all compilation units. - -Also fix printf formatters for off_t, uint64_t and ptrdiff_t. -(https://stackoverflow.com/questions/586928/how-should-i-print-types-like-off-t-and-size-t) - -This change seems to fix the crasher in practice, but I'm not certain -that I have identified the root cause. ---- - filters/indexed-gzip/ig_handle.h | 1 - - filters/indexed-gzip/ig_zran.c | 52 ++++++++++++++++++++--------- - filters/indexed-gzip/indexed_gzip.c | 5 +-- - filters/indexed-gzip/zran.c | 2 ++ - 4 files changed, 41 insertions(+), 19 deletions(-) - -diff --git a/filters/indexed-gzip/ig_handle.h b/filters/indexed-gzip/ig_handle.h -index 168774f55b..3d478eaa57 100644 ---- a/filters/indexed-gzip/ig_handle.h -+++ b/filters/indexed-gzip/ig_handle.h -@@ -54,7 +54,6 @@ - #include "pread.h" - #include "minmax.h" - -- - /* NBDkit filter handle containing the index */ - struct handle { - struct deflate_index *index; -diff --git a/filters/indexed-gzip/ig_zran.c b/filters/indexed-gzip/ig_zran.c -index 88a94884b9..025186292c 100644 ---- a/filters/indexed-gzip/ig_zran.c -+++ b/filters/indexed-gzip/ig_zran.c -@@ -2,7 +2,9 @@ - * Copyright (C) 2005, 2012, 2018, 2023, 2024 Mark Adler - * Copyright (C) 2025 Shasheen Ediriweera - * For conditions of distribution and use, see copyright notice in zlib.h -- * Version 1.6 2 Aug 2024 Mark Adler */ -+ * Version 1.6 2 Aug 2024 Mark Adler -+ */ -+ - #include - - #include -@@ -33,8 +35,9 @@ - int ig_deflate_index_build(nbdkit_next *next, void* handle, off_t span, int* nbdkit_err) { - struct handle *h = handle; - -- nbdkit_debug("ig_deflate_index_build: starting with span=%ld, compressed_size=%lu", -- span, h->compressed_size); -+ nbdkit_debug("ig_deflate_index_build: " -+ "starting with span=%jd, compressed_size=%" PRIu64, -+ (intmax_t) span, h->compressed_size); - - // Create and initialize the index list. - struct deflate_index *index = malloc(sizeof(struct deflate_index)); -@@ -67,7 +70,11 @@ int ig_deflate_index_build(nbdkit_next *next, void* handle, off_t span, int* nbd - // Print how much of the file has been decompressed, for external applications to track progress of this long-lived operation - float new_progress = (float)totin / (float)h->compressed_size; - if (new_progress - decompression_progress > progress_print_threshold) { -- nbdkit_debug("ig_deflate_index_extract: total_in=%ld, compressed_size=%ld, progress=%f", index->strm.total_in, h->compressed_size, decompression_progress); -+ nbdkit_debug("ig_deflate_index_extract: " -+ "total_in=%ld, compressed_size=%" PRIu64 ", " -+ "progress=%f", -+ index->strm.total_in, h->compressed_size, -+ decompression_progress); - decompression_progress = new_progress; - } - -@@ -144,8 +151,9 @@ int ig_deflate_index_build(nbdkit_next *next, void* handle, off_t span, int* nbd - // very start for the first access point, or there has been span or - // more uncompressed bytes since the last access point, so we want - // to add an access point here. -- nbdkit_debug("ig_deflate_index_build: adding access point at totout=%ld, have=%d", -- totout, index->have); -+ nbdkit_debug("ig_deflate_index_build: " -+ "adding access point at totout=%jd, have=%d", -+ (intmax_t) totout, index->have); - index = add_point(index, totin - index->strm.avail_in, totout, beg, - win); - if (index == NULL) { -@@ -184,8 +192,9 @@ int ig_deflate_index_build(nbdkit_next *next, void* handle, off_t span, int* nbd - index->mode = mode; - index->length = totout; - h->index = index; -- nbdkit_debug("ig_deflate_index_build: Successfully completed indexation, have=%d, length=%ld", -- index->have, totout); -+ nbdkit_debug("ig_deflate_index_build: " -+ "successfully completed indexation, have=%d, length=%jd", -+ index->have, (intmax_t) totout); - return index->have; - } - -@@ -194,7 +203,9 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset - struct handle *h = handle; - struct deflate_index* index = h->index; - -- nbdkit_debug("ig_deflate_index_extract: starting with offset=%ld, len=%zu", offset, len); -+ nbdkit_debug("ig_deflate_index_extract: " -+ "starting with offset=%jd, len=%zu", -+ (intmax_t) offset, len); - - // Do a quick sanity check on the index. - if (index == NULL || index->have < 1 || index->list[0].out != 0 || -@@ -206,8 +217,10 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset - - // If nothing to extract, return zero bytes extracted. - if (len == 0 || offset < 0 || offset >= index->length) { -- nbdkit_debug("ig_deflate_index_extract: nothing to extract - len=%zu, offset=%ld, index->length=%ld", -- len, offset, index->length); -+ nbdkit_debug("ig_deflate_index_extract: " -+ "nothing to extract - len=%zu, offset=%jd, " -+ "index->length=%jd", -+ len, (intmax_t) offset, (intmax_t) index->length); - return 0; - } - -@@ -223,8 +236,10 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset - } - point += lo; - -- nbdkit_debug("ig_deflate_index_extract: found access point %d - point->in=%ld, point->out=%ld, point->bits=%d", -- lo, point->in, point->out, point->bits); -+ nbdkit_debug("ig_deflate_index_extract: " -+ "found access point %d - point->in=%jd, point->out=%jd, " -+ "point->bits=%d", -+ lo, (intmax_t) point->in, (intmax_t) point->out, point->bits); - - // Initialize the input file and prime the inflate engine to start there. - off_t start_byte = point->in - (point->bits ? 1 : 0); -@@ -232,7 +247,9 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset - index->strm.avail_in = 0; - int ret = inflateReset2(&index->strm, RAW); - index->strm.total_in = start_byte; -- nbdkit_debug("ig_deflate_index_extract: inflateReset2 returned %d, start_byte=%ld", ret, start_byte); -+ nbdkit_debug("ig_deflate_index_extract: " -+ "inflateReset2 returned %d, start_byte=%jd", -+ ret, (intmax_t) start_byte); - if (ret != Z_OK) - return ret; - if (point->bits) { -@@ -248,7 +265,9 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset - offset -= point->out; // number of bytes to skip to get to offset - size_t left = len; // number of bytes left to read after offset - -- nbdkit_debug("ig_deflate_index_extract: adjusted offset=%ld, left=%zu", offset, left); -+ nbdkit_debug("ig_deflate_index_extract: " -+ "adjusted offset=%jd, left=%zu", -+ (intmax_t) offset, left); - - do { - if (offset) { -@@ -362,7 +381,8 @@ ptrdiff_t ig_deflate_index_extract(nbdkit_next *next, void *handle, off_t offset - - // Return the number of uncompressed bytes read into buf, or the error. - ptrdiff_t result = ret == Z_OK || ret == Z_STREAM_END ? len - left : ret; -- nbdkit_debug("ig_deflate_index_extract: completed with result=%ld, ret=%d, len=%zu, left=%zu", -+ nbdkit_debug("ig_deflate_index_extract: " -+ "completed with result=%td, ret=%d, len=%zu, left=%zu", - result, ret, len, left); - return result; - } -diff --git a/filters/indexed-gzip/indexed_gzip.c b/filters/indexed-gzip/indexed_gzip.c -index 87c08f8e57..f47e41ecdb 100644 ---- a/filters/indexed-gzip/indexed_gzip.c -+++ b/filters/indexed-gzip/indexed_gzip.c -@@ -31,7 +31,6 @@ - */ - - #include --#include - - #include - #include -@@ -41,6 +40,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -309,7 +309,8 @@ indexed_gzip_pread(nbdkit_next *next, void *handle, - default: - // - *err = EIO; -- nbdkit_error(FILTER_NAME ": error %ld while extracting value\n", len); -+ nbdkit_error(FILTER_NAME ": error %jd while extracting value\n", -+ (intmax_t) len); - } - return -1; - } -diff --git a/filters/indexed-gzip/zran.c b/filters/indexed-gzip/zran.c -index 5c924dfebe..6a6e087e28 100644 ---- a/filters/indexed-gzip/zran.c -+++ b/filters/indexed-gzip/zran.c -@@ -60,6 +60,8 @@ - // use of pointers in the state. The approach here allows for storage of the - // index in a file. - -+#include -+ - #include - #include - #include --- -2.50.1 - diff --git a/nbdkit.spec b/nbdkit.spec index 1365935..8b3781b 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -86,9 +86,6 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc -# Upstream fix for 32-bit indexed-gzip filter. -Patch: 0001-indexed-gzip-Fixes-for-32-bit-support.patch - # For applying the patches: BuildRequires: git From f3f6bab39f6960b5068eb32283b1046ce631ecd7 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 26 Aug 2025 18:29:54 +0100 Subject: [PATCH 176/195] New upstream version 1.45.7 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 8b3781b..b1f4601 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.6 +Version: 1.45.7 Release: 1%{?dist} Summary: NBD server @@ -1546,6 +1546,9 @@ fi %changelog +* Tue Aug 26 2025 Richard W.M. Jones - 1.45.7-1 +- New upstream version 1.45.7 + * Sat Aug 23 2025 Richard W.M. Jones - 1.45.6-1 - New upstream version 1.45.6 diff --git a/sources b/sources index 5b4fb5b..e9292d4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.6.tar.gz) = 57612e7cd78cb296237a2a2c46cc5983dbdf489a5661c462bbe3950a92000cd4aea6e6e45499954391d8a0f10a0f4656fe4313e23ec5c0a2915930a93318fb27 -SHA512 (nbdkit-1.45.6.tar.gz.sig) = 935e444f9677fb2ac432105a9e483b42948c792105db631be063d84e8895926d26d62dac8f83652d55e469b93a29313d76b8e2c3ed66ffa98c9d340610c61c8f +SHA512 (nbdkit-1.45.7.tar.gz) = 0dae8cd809e40f8a67d92e1fd49e8956873cd22037e0d68773392c75eab8357731df67afa48742849f92384edf5ec402fe4195f97ddf4045a250c584500a8448 +SHA512 (nbdkit-1.45.7.tar.gz.sig) = 2239a0a5dbc175a2b9a3d619babbd10a810d534721c84bbdc893d180d674ae5b5f383756b24a6b9fdb1ac3116f7a99e9d4818b5525e8d8ffa33a1a10d12fdccb From 99f216ae7cd814f3fcfc46afa5aeeb88619270e6 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 29 Aug 2025 15:08:13 +0100 Subject: [PATCH 177/195] Unify Fedora and RHEL 10.2 spec files --- nbdkit.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index b1f4601..35203ee 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -126,7 +126,10 @@ BuildRequires: pkgconfig(libtorrent-rasterbar) %if 0%{?have_blkio} BuildRequires: pkgconfig(blkio) %endif -BuildRequires: bash-completion, bash-completion-devel +BuildRequires: bash-completion +%if !0%{?rhel} +BuildRequires: bash-completion-devel +%endif BuildRequires: perl-devel BuildRequires: perl(ExtUtils::Embed) %if 0%{?rhel} == 8 @@ -1513,8 +1516,13 @@ fi %files bash-completion %license LICENSE +%if !0%{?rhel} %dir %{bash_completions_dir} %{bash_completions_dir}/nbdkit +%else +%dir %{_datadir}/bash-completion/completions +%{_datadir}/bash-completion/completions/nbdkit +%endif %if 0%{?with_selinux} From 6e2204c39a1a8b284d4ffabbf4c54d9b7bfcfa28 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 13 Sep 2025 12:18:13 +0100 Subject: [PATCH 178/195] New upstream version 1.45.8 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 35203ee..3d9a5d3 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.7 +Version: 1.45.8 Release: 1%{?dist} Summary: NBD server @@ -1554,6 +1554,9 @@ fi %changelog +* Sat Sep 13 2025 Richard W.M. Jones - 1.45.8-1 +- New upstream version 1.45.8 + * Tue Aug 26 2025 Richard W.M. Jones - 1.45.7-1 - New upstream version 1.45.7 diff --git a/sources b/sources index e9292d4..b2cfd43 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.7.tar.gz) = 0dae8cd809e40f8a67d92e1fd49e8956873cd22037e0d68773392c75eab8357731df67afa48742849f92384edf5ec402fe4195f97ddf4045a250c584500a8448 -SHA512 (nbdkit-1.45.7.tar.gz.sig) = 2239a0a5dbc175a2b9a3d619babbd10a810d534721c84bbdc893d180d674ae5b5f383756b24a6b9fdb1ac3116f7a99e9d4818b5525e8d8ffa33a1a10d12fdccb +SHA512 (nbdkit-1.45.8.tar.gz) = 1e94b4cc4c562ae51b2f2b441f7ecce958f5c833a964a7bbb33ff612753c3e6b4c4941b6908b3d6f039bd34f2253503df7b5df70590d62572321d1ec15f34e48 +SHA512 (nbdkit-1.45.8.tar.gz.sig) = e1b15784decc59e166e4a23982f648cb39d6dea9e3e83764420af2e33ef80b40e0f6ed12d0cc179a958280e1897d5f44186893ea8af9964e4b9bf867e4bbd232 From 6950f7b1a0609af98bb59a4710e6982cd1505e7c Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Thu, 18 Sep 2025 13:08:54 -0400 Subject: [PATCH 179/195] Fix bash-completion conditional ELN (the future RHEL 11) tracks rawhide and therefore also has bash-completion-devel and the %bash_completions_dir macro. --- nbdkit.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 3d9a5d3..9577db1 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -127,7 +127,7 @@ BuildRequires: pkgconfig(libtorrent-rasterbar) BuildRequires: pkgconfig(blkio) %endif BuildRequires: bash-completion -%if !0%{?rhel} +%if 0%{?fedora} || 0%{?rhel} >= 11 BuildRequires: bash-completion-devel %endif BuildRequires: perl-devel @@ -1516,7 +1516,7 @@ fi %files bash-completion %license LICENSE -%if !0%{?rhel} +%if 0%{?fedora} || 0%{?rhel} >= 11 %dir %{bash_completions_dir} %{bash_completions_dir}/nbdkit %else From 674da52cdb21ed5f3259ceb1e43617de7d9beb95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Thu, 2 Oct 2025 12:37:10 +0100 Subject: [PATCH 180/195] Remove dep on QEMU on i686 arch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ideally nbdkit would ExcludeArch for i686, however, a couple of packages depend on it still $ ./leafdrop nbdkit nbdkit is BuildRequired by: - poke - virt-p2v nbdkit-basic-filters is BuildRequired by: - virt-v2v nbdkit-basic-plugins is BuildRequired by: - poke - virt-v2v nbdkit-server is BuildRequired by: - virt-v2v NO: Package nbdkit is not a leaf package on i686. Rather than chase that deps chain, it is simpler to disable install of the QEMU packages as they're only used in the test suite, and all the test programs auto-skip if the required binaries are not present. The only issue is an oversight in the tests/Makefile.am which assumes qemu-img exists. https://gitlab.com/nbdkit/nbdkit/-/issues/30 Temporarily disable tests entirely on %{ix86} until that bug is addressed. Signed-off-by: Daniel P. Berrangé --- nbdkit.spec | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 9577db1..49fe236 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -45,7 +45,8 @@ # If the test suite is broken on a particular architecture, document # it as a bug and add it to this list. -%global broken_test_arches NONE +# https://gitlab.com/nbdkit/nbdkit/-/issues/30 +%global broken_test_arches %{ix86} # If we should verify tarball signature with GPGv2. %global verify_tarball_signature 1 @@ -55,7 +56,7 @@ Name: nbdkit Version: 1.45.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -167,9 +168,11 @@ BuildRequires: /usr/bin/lzip BuildRequires: /usr/bin/nbdcopy BuildRequires: /usr/bin/nbdinfo BuildRequires: /usr/bin/nbdsh +%ifnarch %{ix86} BuildRequires: /usr/bin/qemu-img BuildRequires: /usr/bin/qemu-io BuildRequires: /usr/bin/qemu-nbd +%endif BuildRequires: /usr/sbin/sfdisk %if !0%{?rhel} BuildRequires: /usr/bin/socat @@ -1554,6 +1557,9 @@ fi %changelog +* Thu Oct 2 2025 Daniel P. Berrangé - 1.45.8-2 +- Stop using QEMU for tests on 32-bit + * Sat Sep 13 2025 Richard W.M. Jones - 1.45.8-1 - New upstream version 1.45.8 From 55162a084d089d5829c3b34c0a22836d723fae58 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 3 Oct 2025 11:11:42 +0100 Subject: [PATCH 181/195] New upstream version 1.45.9 Reenable the tests on all arches, since we can now handle missing qemu-img --- nbdkit.spec | 11 +++++++---- sources | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 49fe236..665fee4 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -45,8 +45,7 @@ # If the test suite is broken on a particular architecture, document # it as a bug and add it to this list. -# https://gitlab.com/nbdkit/nbdkit/-/issues/30 -%global broken_test_arches %{ix86} +%global broken_test_arches NONE # If we should verify tarball signature with GPGv2. %global verify_tarball_signature 1 @@ -55,8 +54,8 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.8 -Release: 2%{?dist} +Version: 1.45.9 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1557,6 +1556,10 @@ fi %changelog +* Fri Oct 3 2025 Richard W.M. Jones - 1.45.9-1 +- New upstream version 1.45.9 +- Reenable the tests on all arches, since we can now handle missing qemu-img + * Thu Oct 2 2025 Daniel P. Berrangé - 1.45.8-2 - Stop using QEMU for tests on 32-bit diff --git a/sources b/sources index b2cfd43..bc6a14c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.8.tar.gz) = 1e94b4cc4c562ae51b2f2b441f7ecce958f5c833a964a7bbb33ff612753c3e6b4c4941b6908b3d6f039bd34f2253503df7b5df70590d62572321d1ec15f34e48 -SHA512 (nbdkit-1.45.8.tar.gz.sig) = e1b15784decc59e166e4a23982f648cb39d6dea9e3e83764420af2e33ef80b40e0f6ed12d0cc179a958280e1897d5f44186893ea8af9964e4b9bf867e4bbd232 +SHA512 (nbdkit-1.45.9.tar.gz) = 57ff06917727a8d7bcf76cf84e9fc0d690e17b0c1f41aef8084c17718ee0c15fed74ebb1933b8506bcd8690d297d9e13f2fabc2f952a91a35d25ba56ea4b5203 +SHA512 (nbdkit-1.45.9.tar.gz.sig) = f666ae4b1f59e067849f9c463f6836d0fd9c12add1d855a453129e543fbd3466ced68aa94522e834229c5c1e95270954b56a8739b0278d863aa6eb5f63b93161 From 07acd2186a6621faaf737ce486a4a51a8528d1b1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 15 Oct 2025 12:50:47 +0100 Subject: [PATCH 182/195] OCaml 5.4.0 rebuild --- nbdkit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 665fee4..502b162 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -55,7 +55,7 @@ Name: nbdkit Version: 1.45.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NBD server License: BSD-3-Clause @@ -1556,6 +1556,9 @@ fi %changelog +* Wed Oct 15 2025 Richard W.M. Jones - 1.45.9-2 +- OCaml 5.4.0 rebuild + * Fri Oct 3 2025 Richard W.M. Jones - 1.45.9-1 - New upstream version 1.45.9 - Reenable the tests on all arches, since we can now handle missing qemu-img From d2963788bbe2ff1dd39175403fb6d296f88f986e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 15 Oct 2025 13:27:23 +0100 Subject: [PATCH 183/195] Fix crash with OCaml 5.4 --- 112.patch | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++ nbdkit.spec | 4 ++++ 2 files changed, 71 insertions(+) create mode 100644 112.patch diff --git a/112.patch b/112.patch new file mode 100644 index 0000000..cf7760d --- /dev/null +++ b/112.patch @@ -0,0 +1,67 @@ +From ce0407b65c2078a6e7d365028e01c739b7d753cb Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 15 Oct 2025 13:18:04 +0100 +Subject: [PATCH] ocaml: Don't call caml_shutdown on unload + +This causes a new crash with OCaml >= 5.4. + + #0 __pthread_kill_implementation (threadid=, + signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 + #1 0x00007f484a8804b3 in __pthread_kill_internal (threadid=, + signo=6) at pthread_kill.c:89 + #2 0x00007f484a82618e in __GI_raise (sig=sig@entry=6) + at ../sysdeps/posix/raise.c:26 + #3 0x00007f484a80d6d0 in __GI_abort () at abort.c:77 + #4 0x00007f484a17b328 in caml_fatal_error ( + msg=msg@entry=0x7f484a2476a8 "Fatal error during %s: %s\n") + at runtime/misc.c:127 + #5 0x00007f484a17c026 in caml_plat_fatal_error ( + action=action@entry=0x7f484a247882 "unlock", err=) + at runtime/platform.c:45 + #6 0x00007f484a161fe6 in check_err (action=0x7f484a247882 "unlock", + err=) at runtime/caml/platform.h:443 + #7 caml_plat_unlock (m=) at runtime/caml/platform.h:485 + #8 caml_release_domain_lock () at runtime/domain.c:2003 + #9 0x00007f484a14c6f5 in st_bt_lock_release ( + other_threads_waiting=) at st_stubs.c:116 + #10 st_masterlock_release (m=0x5596ff31fa88) + at /usr/src/debug/ocaml-5.4.0-1.fc44.x86_64/otherlibs/systhreads/st_pthreads.h:136 + #11 0x00007f484a180b7e in caml_enter_blocking_section () + at runtime/signals.c:175 + #12 0x00005596c3420aa4 in backend_unload (b=0x5596ff2c7c40, + unload=0x7f484ae72760 ) + at /home/rjones/d/nbdkit/server/backend.c:151 + #13 0x00005596c3429ccc in plugin_free (b=0x5596ff2c7c40) + at /home/rjones/d/nbdkit/server/plugins.c:64 + #14 0x00005596c341ecb5 in main (argc=, argv=) + at /home/rjones/d/nbdkit/server/main.c:938 +--- + plugins/ocaml/plugin.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/plugins/ocaml/plugin.c b/plugins/ocaml/plugin.c +index 4757e68c7..60abc207a 100644 +--- a/plugins/ocaml/plugin.c ++++ b/plugins/ocaml/plugin.c +@@ -259,9 +259,18 @@ unload_wrapper (void) + free_strings (); + remove_roots (); + ++ /* In OCaml >= 5.4 this crashes with: ++ * ++ * Fatal error: Fatal error during unlock: Invalid argument ++ * ++ * Since it's not really necessary to shut down the OCaml runtime, ++ * let's just avoid it. ++ */ ++/* + #ifdef HAVE_CAML_SHUTDOWN + caml_shutdown (); + #endif ++*/ + } + + static void +-- +GitLab + diff --git a/nbdkit.spec b/nbdkit.spec index 502b162..87bb30e 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -86,6 +86,10 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc +# Crash with OCaml 5.4: +# https://gitlab.com/nbdkit/nbdkit/-/merge_requests/112 +Patch: https://gitlab.com/nbdkit/nbdkit/-/merge_requests/112.patch + # For applying the patches: BuildRequires: git From 307a18276f8c47ab6d9132fd69d1ff99e4e203c2 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 16 Oct 2025 17:26:20 +0100 Subject: [PATCH 184/195] New upstream version 1.45.10 Remove OCaml 5.4.0 fix, which is included upstream. --- 112.patch | 67 ----------------------------------------------------- nbdkit.spec | 12 +++++----- sources | 4 ++-- 3 files changed, 8 insertions(+), 75 deletions(-) delete mode 100644 112.patch diff --git a/112.patch b/112.patch deleted file mode 100644 index cf7760d..0000000 --- a/112.patch +++ /dev/null @@ -1,67 +0,0 @@ -From ce0407b65c2078a6e7d365028e01c739b7d753cb Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 15 Oct 2025 13:18:04 +0100 -Subject: [PATCH] ocaml: Don't call caml_shutdown on unload - -This causes a new crash with OCaml >= 5.4. - - #0 __pthread_kill_implementation (threadid=, - signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 - #1 0x00007f484a8804b3 in __pthread_kill_internal (threadid=, - signo=6) at pthread_kill.c:89 - #2 0x00007f484a82618e in __GI_raise (sig=sig@entry=6) - at ../sysdeps/posix/raise.c:26 - #3 0x00007f484a80d6d0 in __GI_abort () at abort.c:77 - #4 0x00007f484a17b328 in caml_fatal_error ( - msg=msg@entry=0x7f484a2476a8 "Fatal error during %s: %s\n") - at runtime/misc.c:127 - #5 0x00007f484a17c026 in caml_plat_fatal_error ( - action=action@entry=0x7f484a247882 "unlock", err=) - at runtime/platform.c:45 - #6 0x00007f484a161fe6 in check_err (action=0x7f484a247882 "unlock", - err=) at runtime/caml/platform.h:443 - #7 caml_plat_unlock (m=) at runtime/caml/platform.h:485 - #8 caml_release_domain_lock () at runtime/domain.c:2003 - #9 0x00007f484a14c6f5 in st_bt_lock_release ( - other_threads_waiting=) at st_stubs.c:116 - #10 st_masterlock_release (m=0x5596ff31fa88) - at /usr/src/debug/ocaml-5.4.0-1.fc44.x86_64/otherlibs/systhreads/st_pthreads.h:136 - #11 0x00007f484a180b7e in caml_enter_blocking_section () - at runtime/signals.c:175 - #12 0x00005596c3420aa4 in backend_unload (b=0x5596ff2c7c40, - unload=0x7f484ae72760 ) - at /home/rjones/d/nbdkit/server/backend.c:151 - #13 0x00005596c3429ccc in plugin_free (b=0x5596ff2c7c40) - at /home/rjones/d/nbdkit/server/plugins.c:64 - #14 0x00005596c341ecb5 in main (argc=, argv=) - at /home/rjones/d/nbdkit/server/main.c:938 ---- - plugins/ocaml/plugin.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/plugins/ocaml/plugin.c b/plugins/ocaml/plugin.c -index 4757e68c7..60abc207a 100644 ---- a/plugins/ocaml/plugin.c -+++ b/plugins/ocaml/plugin.c -@@ -259,9 +259,18 @@ unload_wrapper (void) - free_strings (); - remove_roots (); - -+ /* In OCaml >= 5.4 this crashes with: -+ * -+ * Fatal error: Fatal error during unlock: Invalid argument -+ * -+ * Since it's not really necessary to shut down the OCaml runtime, -+ * let's just avoid it. -+ */ -+/* - #ifdef HAVE_CAML_SHUTDOWN - caml_shutdown (); - #endif -+*/ - } - - static void --- -GitLab - diff --git a/nbdkit.spec b/nbdkit.spec index 87bb30e..33c82ba 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,8 +54,8 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.9 -Release: 2%{?dist} +Version: 1.45.10 +Release: 1%{?dist} Summary: NBD server License: BSD-3-Clause @@ -86,10 +86,6 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc -# Crash with OCaml 5.4: -# https://gitlab.com/nbdkit/nbdkit/-/merge_requests/112 -Patch: https://gitlab.com/nbdkit/nbdkit/-/merge_requests/112.patch - # For applying the patches: BuildRequires: git @@ -1560,6 +1556,10 @@ fi %changelog +* Thu Oct 16 2025 Richard W.M. Jones - 1.45.10-1 +- New upstream version 1.45.10 +- Remove OCaml 5.4.0 fix, which is included upstream. + * Wed Oct 15 2025 Richard W.M. Jones - 1.45.9-2 - OCaml 5.4.0 rebuild diff --git a/sources b/sources index bc6a14c..5556503 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.9.tar.gz) = 57ff06917727a8d7bcf76cf84e9fc0d690e17b0c1f41aef8084c17718ee0c15fed74ebb1933b8506bcd8690d297d9e13f2fabc2f952a91a35d25ba56ea4b5203 -SHA512 (nbdkit-1.45.9.tar.gz.sig) = f666ae4b1f59e067849f9c463f6836d0fd9c12add1d855a453129e543fbd3466ced68aa94522e834229c5c1e95270954b56a8739b0278d863aa6eb5f63b93161 +SHA512 (nbdkit-1.45.10.tar.gz) = 4051d7ce36cbe80f9caf1d729b00f628f80aa9da8e4b8c56d7671ebed768bd3b7488e44d19111bd829c901bae8d6fa75ea8e53cb20dad4dd595d26b96cf1b61f +SHA512 (nbdkit-1.45.10.tar.gz.sig) = 8c829d012087cd9baacd1de3d4dec7b69a56d2ffb15ca331a39929297cec421cc64dff1ee55822ec2a96416254db04fbd618405e2f04998515889551647f6f0b From 43debe038ed86ae7f570de5a6ea4ada6459577e7 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 20 Oct 2025 15:54:55 +0100 Subject: [PATCH 185/195] New upstream version 1.45.11 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 33c82ba..128b817 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.10 +Version: 1.45.11 Release: 1%{?dist} Summary: NBD server @@ -1556,6 +1556,9 @@ fi %changelog +* Mon Oct 20 2025 Richard W.M. Jones - 1.45.11-1 +- New upstream version 1.45.11 + * Thu Oct 16 2025 Richard W.M. Jones - 1.45.10-1 - New upstream version 1.45.10 - Remove OCaml 5.4.0 fix, which is included upstream. diff --git a/sources b/sources index 5556503..c2c660f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.10.tar.gz) = 4051d7ce36cbe80f9caf1d729b00f628f80aa9da8e4b8c56d7671ebed768bd3b7488e44d19111bd829c901bae8d6fa75ea8e53cb20dad4dd595d26b96cf1b61f -SHA512 (nbdkit-1.45.10.tar.gz.sig) = 8c829d012087cd9baacd1de3d4dec7b69a56d2ffb15ca331a39929297cec421cc64dff1ee55822ec2a96416254db04fbd618405e2f04998515889551647f6f0b +SHA512 (nbdkit-1.45.11.tar.gz) = b9ba91cfa7e71c415bbc2cb47dd569ce327d8dd9ec28aca03788984872f0a0fd63296f963436740b504950896082c14768bd823f5605d23b63ea149f87f939f5 +SHA512 (nbdkit-1.45.11.tar.gz.sig) = b964604598d50c319c6f04e8cab487f215f6347588b507fdaf752ac8b0929c2e2975d793fbe1f65bf51107b5e087f5c8836589c01b81753e2dce70f9d2e73ae2 From 576d016e7d08e8e09d9777f284867496623f109b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 26 Oct 2025 21:59:34 +0000 Subject: [PATCH 186/195] New upstream version 1.45.12 Add new nbdkit-vram-plugin --- ...g-devices-when-no-platforms-are-foun.patch | 59 +++++++++++++++ ...rsing-of-last-line-of-du-command-out.patch | 72 +++++++++++++++++++ nbdkit.spec | 37 +++++++++- sources | 4 +- 4 files changed, 169 insertions(+), 3 deletions(-) create mode 100644 0001-vram-Skip-listing-devices-when-no-platforms-are-foun.patch create mode 100644 0002-linuxdisk-Fix-parsing-of-last-line-of-du-command-out.patch diff --git a/0001-vram-Skip-listing-devices-when-no-platforms-are-foun.patch b/0001-vram-Skip-listing-devices-when-no-platforms-are-foun.patch new file mode 100644 index 0000000..3e87d95 --- /dev/null +++ b/0001-vram-Skip-listing-devices-when-no-platforms-are-foun.patch @@ -0,0 +1,59 @@ +From cad6894ec6dc18b318d0948fadf5833ecd75cb0f Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sun, 26 Oct 2025 22:25:10 +0000 +Subject: [PATCH 1/2] vram: Skip listing devices when no platforms are found + +In a chroot-type test environment, tests/test-dump-plugin.sh failed +with: + + + nbdkit vram --dump-plugin + nbdkit: error: clGetPlatformIDs: error -1001 (unknown OpenCL error) + +-1001 is the extended error CL_PLATFORM_NOT_FOUND_KHR +--- + plugins/vram/opencl-errors.h | 3 +++ + plugins/vram/vram.c | 7 +++++++ + 2 files changed, 10 insertions(+) + +diff --git a/plugins/vram/opencl-errors.h b/plugins/vram/opencl-errors.h +index b5d185fc65..dd6fba92d6 100644 +--- a/plugins/vram/opencl-errors.h ++++ b/plugins/vram/opencl-errors.h +@@ -101,6 +101,9 @@ opencl_errstr (cl_int err) + case_return_string(CL_INVALID_COMPILER_OPTIONS ); + case_return_string(CL_INVALID_LINKER_OPTIONS ); + case_return_string(CL_INVALID_DEVICE_PARTITION_COUNT ); ++ ++ /* Extended. */ ++ case_return_string(CL_PLATFORM_NOT_FOUND_KHR ); + default: return "unknown OpenCL error"; + } + } +diff --git a/plugins/vram/vram.c b/plugins/vram/vram.c +index 4b391e2202..9819f0dbe9 100644 +--- a/plugins/vram/vram.c ++++ b/plugins/vram/vram.c +@@ -41,6 +41,7 @@ + + #define CL_TARGET_OPENCL_VERSION 200 /* OpenCL >= 2.0 */ + #include ++#include + + #define NBDKIT_API_VERSION 2 + #include +@@ -126,6 +127,12 @@ get_all_devices (void) + /* Build the list of all devices from all platforms as a flat list. */ + what = "clGetPlatformIDs"; + r = clGetPlatformIDs (0, NULL, &num_platforms); ++ if (r == CL_PLATFORM_NOT_FOUND_KHR) { ++ /* OpenCL seems to return this when no platform is detected at ++ * all, so just return the empty list in this case. ++ */ ++ return; ++ } + if (r != CL_SUCCESS) goto err; + platform_ids = calloc (num_platforms, sizeof platform_ids[0]); + if (!platform_ids) { +-- +2.50.1 + diff --git a/0002-linuxdisk-Fix-parsing-of-last-line-of-du-command-out.patch b/0002-linuxdisk-Fix-parsing-of-last-line-of-du-command-out.patch new file mode 100644 index 0000000..dfc7e91 --- /dev/null +++ b/0002-linuxdisk-Fix-parsing-of-last-line-of-du-command-out.patch @@ -0,0 +1,72 @@ +From 01b8e557ce129b2f4677061ba04bbb5ff2a703eb Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 27 Oct 2025 09:15:47 +0000 +Subject: [PATCH 2/2] linuxdisk: Fix parsing of last line of 'du' command + output + +A recent change to glibc breaks this code. Previously we could read +the lines of output from the 'du' command until getline(3) returned +EOF, and the 'line' buffer would contain the last line read. However +after this change, glibc now sets line[0] = '\0' in the EOF case, +breaking the last line of output that we wanted to parse. + +https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=33eff78c8b28adc4963987880e10d96761f2a167 + +We also previously didn't handle the unlikely case where 'du' produces +no output at all. Fix both problems here. +--- + plugins/linuxdisk/filesystem.c | 23 ++++++++++++++++++----- + 1 file changed, 18 insertions(+), 5 deletions(-) + +diff --git a/plugins/linuxdisk/filesystem.c b/plugins/linuxdisk/filesystem.c +index 3e4e2f3a5a..283af61a13 100644 +--- a/plugins/linuxdisk/filesystem.c ++++ b/plugins/linuxdisk/filesystem.c +@@ -148,7 +148,7 @@ create_filesystem (struct virtual_disk *disk) + static int64_t + estimate_size (void) + { +- CLEANUP_FREE char *command = NULL, *line = NULL; ++ CLEANUP_FREE char *command = NULL, *line = NULL, *lastline = NULL; + size_t len = 0; + FILE *fp; + int64_t ret; +@@ -177,8 +177,16 @@ estimate_size (void) + + /* Ignore everything up to the last line. */ + len = 0; +- while (getline (&line, &len, fp) != -1) +- /* empty */; ++ while (getline (&line, &len, fp) != -1) { ++ nbdkit_debug ("du: %s", line); ++ free (lastline); ++ lastline = strndup (line, len); ++ if (lastline == NULL) { ++ nbdkit_error ("strndup: %m"); ++ pclose (fp); ++ return -1; ++ } ++ } + if (ferror (fp)) { + nbdkit_error ("getline failed: %m"); + pclose (fp); +@@ -193,9 +201,14 @@ estimate_size (void) + if (exit_status_to_nbd_error (r, "pclose: du") == -1) + return -1; + ++ if (lastline == NULL) { ++ nbdkit_error ("no output from du command"); ++ return -1; ++ } ++ + /* Parse the last line. */ +- if (sscanf (line, "%" SCNi64, &ret) != 1 || ret < 0) { +- nbdkit_error ("could not parse last line of output: %s", line); ++ if (sscanf (lastline, "%" SCNi64, &ret) != 1 || ret < 0) { ++ nbdkit_error ("could not parse last line from du command: %s", lastline); + return -1; + } + +-- +2.50.1 + diff --git a/nbdkit.spec b/nbdkit.spec index 128b817..f1d2a8b 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.11 +Version: 1.45.12 Release: 1%{?dist} Summary: NBD server @@ -86,6 +86,11 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc +# Fix vram tests. Upstream in > 1.45.12. +Patch: 0001-vram-Skip-listing-devices-when-no-platforms-are-foun.patch +# Fix for getline change in glibc-2.42.9000-7.fc44 +Patch: 0002-linuxdisk-Fix-parsing-of-last-line-of-du-command-out.patch + # For applying the patches: BuildRequires: git @@ -126,6 +131,9 @@ BuildRequires: pkgconfig(libtorrent-rasterbar) %if 0%{?have_blkio} BuildRequires: pkgconfig(blkio) %endif +%if !0%{?rhel} +BuildRequires: pkgconfig(OpenCL) +%endif BuildRequires: bash-completion %if 0%{?fedora} || 0%{?rhel} >= 11 BuildRequires: bash-completion-devel @@ -576,6 +584,17 @@ VMware VDDK for accessing VMware disks and servers. %endif +%if !0%{?rhel} +%package vram-plugin +Summary: use GPU Video RAM as a network block device +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Recommends: %{_bindir}/clinfo + +%description vram-plugin +This package contains GPU Video RAM support for %{name}. +%endif + + %package basic-filters Summary: Basic filters for %{name} Requires: %{name}-server%{?_isa} = %{version}-%{release} @@ -856,6 +875,7 @@ export PYTHON=%{__python3} --enable-perl \ --enable-tcl \ --enable-torrent \ + --enable-vram \ --with-ext2 \ --with-iso \ --with-libvirt \ @@ -864,6 +884,7 @@ export PYTHON=%{__python3} --disable-perl \ --disable-tcl \ --disable-torrent \ + --disable-vram \ --without-ext2 \ --without-iso \ --without-libvirt \ @@ -928,6 +949,7 @@ popd --disable-torrent \ --disable-valgrind \ --disable-vddk \ + --disable-vram \ --without-bash-completions \ --without-curl \ --without-ext2 \ @@ -1337,6 +1359,15 @@ fi %endif +%if !0%{?rhel} +%files vram-plugin +%doc README.md +%license LICENSE +%{_libdir}/%{name}/plugins/nbdkit-vram-plugin.so +%{_mandir}/man1/nbdkit-vram-plugin.1* +%endif + + %files basic-filters %doc README.md %license LICENSE @@ -1556,6 +1587,10 @@ fi %changelog +* Mon Oct 27 2025 Richard W.M. Jones - 1.45.12-1 +- New upstream version 1.45.12 +- Add new nbdkit-vram-plugin + * Mon Oct 20 2025 Richard W.M. Jones - 1.45.11-1 - New upstream version 1.45.11 diff --git a/sources b/sources index c2c660f..5539189 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.11.tar.gz) = b9ba91cfa7e71c415bbc2cb47dd569ce327d8dd9ec28aca03788984872f0a0fd63296f963436740b504950896082c14768bd823f5605d23b63ea149f87f939f5 -SHA512 (nbdkit-1.45.11.tar.gz.sig) = b964604598d50c319c6f04e8cab487f215f6347588b507fdaf752ac8b0929c2e2975d793fbe1f65bf51107b5e087f5c8836589c01b81753e2dce70f9d2e73ae2 +SHA512 (nbdkit-1.45.12.tar.gz) = a28da3e24c333da5b4b22961078095b1d73bb6c219e7cfae783c301b68d8e755ce839fa15bff6354b44ff7227a91eae6a8e264f3e26b5caff8d27c68905ff01b +SHA512 (nbdkit-1.45.12.tar.gz.sig) = 93c497160f196b1a6144819742cee04b1fad663a148dbc4fd82efe73c9a1aabdcb9c01baa9ec84db17a392ae6cde468736750a878bba3e3c130507890f96a8e5 From f486bc816a56abf71ba92267fc6e790e75603593 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 14 Nov 2025 14:55:07 +0000 Subject: [PATCH 187/195] New upstream version 1.45.13 --- ...g-devices-when-no-platforms-are-foun.patch | 59 --------------- ...rsing-of-last-line-of-du-command-out.patch | 72 ------------------- nbdkit.spec | 10 ++- sources | 4 +- 4 files changed, 6 insertions(+), 139 deletions(-) delete mode 100644 0001-vram-Skip-listing-devices-when-no-platforms-are-foun.patch delete mode 100644 0002-linuxdisk-Fix-parsing-of-last-line-of-du-command-out.patch diff --git a/0001-vram-Skip-listing-devices-when-no-platforms-are-foun.patch b/0001-vram-Skip-listing-devices-when-no-platforms-are-foun.patch deleted file mode 100644 index 3e87d95..0000000 --- a/0001-vram-Skip-listing-devices-when-no-platforms-are-foun.patch +++ /dev/null @@ -1,59 +0,0 @@ -From cad6894ec6dc18b318d0948fadf5833ecd75cb0f Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Sun, 26 Oct 2025 22:25:10 +0000 -Subject: [PATCH 1/2] vram: Skip listing devices when no platforms are found - -In a chroot-type test environment, tests/test-dump-plugin.sh failed -with: - - + nbdkit vram --dump-plugin - nbdkit: error: clGetPlatformIDs: error -1001 (unknown OpenCL error) - --1001 is the extended error CL_PLATFORM_NOT_FOUND_KHR ---- - plugins/vram/opencl-errors.h | 3 +++ - plugins/vram/vram.c | 7 +++++++ - 2 files changed, 10 insertions(+) - -diff --git a/plugins/vram/opencl-errors.h b/plugins/vram/opencl-errors.h -index b5d185fc65..dd6fba92d6 100644 ---- a/plugins/vram/opencl-errors.h -+++ b/plugins/vram/opencl-errors.h -@@ -101,6 +101,9 @@ opencl_errstr (cl_int err) - case_return_string(CL_INVALID_COMPILER_OPTIONS ); - case_return_string(CL_INVALID_LINKER_OPTIONS ); - case_return_string(CL_INVALID_DEVICE_PARTITION_COUNT ); -+ -+ /* Extended. */ -+ case_return_string(CL_PLATFORM_NOT_FOUND_KHR ); - default: return "unknown OpenCL error"; - } - } -diff --git a/plugins/vram/vram.c b/plugins/vram/vram.c -index 4b391e2202..9819f0dbe9 100644 ---- a/plugins/vram/vram.c -+++ b/plugins/vram/vram.c -@@ -41,6 +41,7 @@ - - #define CL_TARGET_OPENCL_VERSION 200 /* OpenCL >= 2.0 */ - #include -+#include - - #define NBDKIT_API_VERSION 2 - #include -@@ -126,6 +127,12 @@ get_all_devices (void) - /* Build the list of all devices from all platforms as a flat list. */ - what = "clGetPlatformIDs"; - r = clGetPlatformIDs (0, NULL, &num_platforms); -+ if (r == CL_PLATFORM_NOT_FOUND_KHR) { -+ /* OpenCL seems to return this when no platform is detected at -+ * all, so just return the empty list in this case. -+ */ -+ return; -+ } - if (r != CL_SUCCESS) goto err; - platform_ids = calloc (num_platforms, sizeof platform_ids[0]); - if (!platform_ids) { --- -2.50.1 - diff --git a/0002-linuxdisk-Fix-parsing-of-last-line-of-du-command-out.patch b/0002-linuxdisk-Fix-parsing-of-last-line-of-du-command-out.patch deleted file mode 100644 index dfc7e91..0000000 --- a/0002-linuxdisk-Fix-parsing-of-last-line-of-du-command-out.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 01b8e557ce129b2f4677061ba04bbb5ff2a703eb Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Mon, 27 Oct 2025 09:15:47 +0000 -Subject: [PATCH 2/2] linuxdisk: Fix parsing of last line of 'du' command - output - -A recent change to glibc breaks this code. Previously we could read -the lines of output from the 'du' command until getline(3) returned -EOF, and the 'line' buffer would contain the last line read. However -after this change, glibc now sets line[0] = '\0' in the EOF case, -breaking the last line of output that we wanted to parse. - -https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=33eff78c8b28adc4963987880e10d96761f2a167 - -We also previously didn't handle the unlikely case where 'du' produces -no output at all. Fix both problems here. ---- - plugins/linuxdisk/filesystem.c | 23 ++++++++++++++++++----- - 1 file changed, 18 insertions(+), 5 deletions(-) - -diff --git a/plugins/linuxdisk/filesystem.c b/plugins/linuxdisk/filesystem.c -index 3e4e2f3a5a..283af61a13 100644 ---- a/plugins/linuxdisk/filesystem.c -+++ b/plugins/linuxdisk/filesystem.c -@@ -148,7 +148,7 @@ create_filesystem (struct virtual_disk *disk) - static int64_t - estimate_size (void) - { -- CLEANUP_FREE char *command = NULL, *line = NULL; -+ CLEANUP_FREE char *command = NULL, *line = NULL, *lastline = NULL; - size_t len = 0; - FILE *fp; - int64_t ret; -@@ -177,8 +177,16 @@ estimate_size (void) - - /* Ignore everything up to the last line. */ - len = 0; -- while (getline (&line, &len, fp) != -1) -- /* empty */; -+ while (getline (&line, &len, fp) != -1) { -+ nbdkit_debug ("du: %s", line); -+ free (lastline); -+ lastline = strndup (line, len); -+ if (lastline == NULL) { -+ nbdkit_error ("strndup: %m"); -+ pclose (fp); -+ return -1; -+ } -+ } - if (ferror (fp)) { - nbdkit_error ("getline failed: %m"); - pclose (fp); -@@ -193,9 +201,14 @@ estimate_size (void) - if (exit_status_to_nbd_error (r, "pclose: du") == -1) - return -1; - -+ if (lastline == NULL) { -+ nbdkit_error ("no output from du command"); -+ return -1; -+ } -+ - /* Parse the last line. */ -- if (sscanf (line, "%" SCNi64, &ret) != 1 || ret < 0) { -- nbdkit_error ("could not parse last line of output: %s", line); -+ if (sscanf (lastline, "%" SCNi64, &ret) != 1 || ret < 0) { -+ nbdkit_error ("could not parse last line from du command: %s", lastline); - return -1; - } - --- -2.50.1 - diff --git a/nbdkit.spec b/nbdkit.spec index f1d2a8b..71bbb8d 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.12 +Version: 1.45.13 Release: 1%{?dist} Summary: NBD server @@ -86,11 +86,6 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc -# Fix vram tests. Upstream in > 1.45.12. -Patch: 0001-vram-Skip-listing-devices-when-no-platforms-are-foun.patch -# Fix for getline change in glibc-2.42.9000-7.fc44 -Patch: 0002-linuxdisk-Fix-parsing-of-last-line-of-du-command-out.patch - # For applying the patches: BuildRequires: git @@ -1587,6 +1582,9 @@ fi %changelog +* Fri Nov 14 2025 Richard W.M. Jones - 1.45.13-1 +- New upstream version 1.45.13 + * Mon Oct 27 2025 Richard W.M. Jones - 1.45.12-1 - New upstream version 1.45.12 - Add new nbdkit-vram-plugin diff --git a/sources b/sources index 5539189..02e335f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.12.tar.gz) = a28da3e24c333da5b4b22961078095b1d73bb6c219e7cfae783c301b68d8e755ce839fa15bff6354b44ff7227a91eae6a8e264f3e26b5caff8d27c68905ff01b -SHA512 (nbdkit-1.45.12.tar.gz.sig) = 93c497160f196b1a6144819742cee04b1fad663a148dbc4fd82efe73c9a1aabdcb9c01baa9ec84db17a392ae6cde468736750a878bba3e3c130507890f96a8e5 +SHA512 (nbdkit-1.45.13.tar.gz) = 8bd9331e0a5ba39bea8514d3b45ea25e4aa136cb2ebdbf98e244f5793aa4eb270df673731a2e1591c7f54607cd06c01661a336826be3cf78d8768086adb09015 +SHA512 (nbdkit-1.45.13.tar.gz.sig) = 6c676e7827c4c131d09dcc03789209c70c8f1fd486456417a0fef9e8e12f836c706ded9e057cf9ade28038d1c1cbaabceeb32e7e962ca741eeeab117c5db275d From 7cedd6c452cd0869088a9e99198ca20641912547 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 2 Dec 2025 15:26:13 +0000 Subject: [PATCH 188/195] New upstream version 1.45.15 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 71bbb8d..85b1e60 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.13 +Version: 1.45.15 Release: 1%{?dist} Summary: NBD server @@ -1582,6 +1582,9 @@ fi %changelog +* Tue Dec 02 2025 Richard W.M. Jones - 1.45.15-1 +- New upstream version 1.45.15 + * Fri Nov 14 2025 Richard W.M. Jones - 1.45.13-1 - New upstream version 1.45.13 diff --git a/sources b/sources index 02e335f..8752eea 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.13.tar.gz) = 8bd9331e0a5ba39bea8514d3b45ea25e4aa136cb2ebdbf98e244f5793aa4eb270df673731a2e1591c7f54607cd06c01661a336826be3cf78d8768086adb09015 -SHA512 (nbdkit-1.45.13.tar.gz.sig) = 6c676e7827c4c131d09dcc03789209c70c8f1fd486456417a0fef9e8e12f836c706ded9e057cf9ade28038d1c1cbaabceeb32e7e962ca741eeeab117c5db275d +SHA512 (nbdkit-1.45.15.tar.gz) = ed640d0c5ca6c795b2a9dcbc76cb79015fd5e984ac08da3186f026e58de0a4ee8162e674b8898e860148acbecf9345f2781c1e5d1d46030d2e65cb30f210ea7c +SHA512 (nbdkit-1.45.15.tar.gz.sig) = f4603fa8420954cf9a833863d3f6ba588bdd44777ca60c343eefdaea770ae15dd1e2ac317a06edf3af9bf66936189cb2422540b7a304ca5ecfee7f1e2e2d8ea7 From ca952d821775a56f3024b6cc65d244cc271362ee Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 2 Dec 2025 16:24:00 +0000 Subject: [PATCH 189/195] Update spec file for new SECURITY.md & TODO.md files RPM build errors: File not found: /builddir/build/BUILD/nbdkit-1.45.15-build/BUILDROOT/usr/share/doc/nbdkit-devel/SECURITY File not found: /builddir/build/BUILD/nbdkit-1.45.15-build/BUILDROOT/usr/share/doc/nbdkit-devel/TODO --- nbdkit.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 85b1e60..0d3f0c6 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -1504,7 +1504,7 @@ fi %files devel -%doc BENCHMARKING OTHER_PLUGINS README.md SECURITY TODO +%doc BENCHMARKING OTHER_PLUGINS README.md SECURITY.md TODO.md %license LICENSE # Include the source of the example plugins in the documentation. %doc plugins/example*/*.c From b8fab60fd8fef09b6f1d099f1fda0b24a9967bd0 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 15 Dec 2025 15:41:40 +0000 Subject: [PATCH 190/195] New upstream version 1.45.16 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 0d3f0c6..34b8286 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.15 +Version: 1.45.16 Release: 1%{?dist} Summary: NBD server @@ -1582,6 +1582,9 @@ fi %changelog +* Mon Dec 15 2025 Richard W.M. Jones - 1.45.16-1 +- New upstream version 1.45.16 + * Tue Dec 02 2025 Richard W.M. Jones - 1.45.15-1 - New upstream version 1.45.15 diff --git a/sources b/sources index 8752eea..26f911a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.15.tar.gz) = ed640d0c5ca6c795b2a9dcbc76cb79015fd5e984ac08da3186f026e58de0a4ee8162e674b8898e860148acbecf9345f2781c1e5d1d46030d2e65cb30f210ea7c -SHA512 (nbdkit-1.45.15.tar.gz.sig) = f4603fa8420954cf9a833863d3f6ba588bdd44777ca60c343eefdaea770ae15dd1e2ac317a06edf3af9bf66936189cb2422540b7a304ca5ecfee7f1e2e2d8ea7 +SHA512 (nbdkit-1.45.16.tar.gz) = 6922f0cb174d2ddbc6c1cf6f9e90361d04126a4f8afa99a5b0b665a48778efb869f358bf2cb03f674d81228e8253d652b3cb4e9cc52016a83ff9c1192becf5ef +SHA512 (nbdkit-1.45.16.tar.gz.sig) = b2d7bb974f95dd5903c971721e9812034859430c13dda44dcd95370768bfcce09c04c4f50600b6c787ef0cee7c074b1502053c434bd4a61557a42635110d1887 From 5dec8362f09cef6d7d6c577708b0f8c0a3e4f663 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 18 Dec 2025 08:59:47 +0000 Subject: [PATCH 191/195] New upstream version 1.45.17 --- nbdkit.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index 34b8286..c0ec44d 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -54,7 +54,7 @@ %global source_directory 1.45-development Name: nbdkit -Version: 1.45.16 +Version: 1.45.17 Release: 1%{?dist} Summary: NBD server @@ -1582,6 +1582,9 @@ fi %changelog +* Thu Dec 18 2025 Richard W.M. Jones - 1.45.17-1 +- New upstream version 1.45.17 + * Mon Dec 15 2025 Richard W.M. Jones - 1.45.16-1 - New upstream version 1.45.16 diff --git a/sources b/sources index 26f911a..a6e9f90 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.16.tar.gz) = 6922f0cb174d2ddbc6c1cf6f9e90361d04126a4f8afa99a5b0b665a48778efb869f358bf2cb03f674d81228e8253d652b3cb4e9cc52016a83ff9c1192becf5ef -SHA512 (nbdkit-1.45.16.tar.gz.sig) = b2d7bb974f95dd5903c971721e9812034859430c13dda44dcd95370768bfcce09c04c4f50600b6c787ef0cee7c074b1502053c434bd4a61557a42635110d1887 +SHA512 (nbdkit-1.45.17.tar.gz) = 7d3fa31ee47b569ec1fee260921bdd5db1da327610c4ea5a2c3bd7450765084cdcdbc40d628c06b287b13ab21e76f7057a0e75055000282e51423529c440813a +SHA512 (nbdkit-1.45.17.tar.gz.sig) = ce24e28481bb436371e6b51330cb72d96e895200ae49b8e2b0536791b7bbcf928fbd781481dd9eedac0c659f3f3a0c6dbece3e6599f8e6a3eae49c30a00e1146 From 303a7303299b438d9085fe6c55d38bf0d203eb33 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 20 Dec 2025 14:29:55 +0000 Subject: [PATCH 192/195] New upstream stable version 1.46.0 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index c0ec44d..ad4bade 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,10 +51,10 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.45-development +%global source_directory 1.46-stable Name: nbdkit -Version: 1.45.17 +Version: 1.46.0 Release: 1%{?dist} Summary: NBD server @@ -1582,6 +1582,9 @@ fi %changelog +* Sat Dec 20 2025 Richard W.M. Jones - 1.46.0-1 +- New upstream stable version 1.46.0 + * Thu Dec 18 2025 Richard W.M. Jones - 1.45.17-1 - New upstream version 1.45.17 diff --git a/sources b/sources index a6e9f90..4462799 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.45.17.tar.gz) = 7d3fa31ee47b569ec1fee260921bdd5db1da327610c4ea5a2c3bd7450765084cdcdbc40d628c06b287b13ab21e76f7057a0e75055000282e51423529c440813a -SHA512 (nbdkit-1.45.17.tar.gz.sig) = ce24e28481bb436371e6b51330cb72d96e895200ae49b8e2b0536791b7bbcf928fbd781481dd9eedac0c659f3f3a0c6dbece3e6599f8e6a3eae49c30a00e1146 +SHA512 (nbdkit-1.46.0.tar.gz) = ed225bdbd5c1e96b40ed0493f72173853cedafc9ada2296e6418021d4e3f2e6732dbbb764d24baf6263f4b07c3868b05207518d34667fe68c7324360fc3f5254 +SHA512 (nbdkit-1.46.0.tar.gz.sig) = 73c37deac7f18c7a55d401bf569aabc0a017872fc8ed3e4554f32a1007367d6db975c80cdfc3310c3c13ebaf0c506fcf0563360ee663784a653852ec6bde0e3a From 023449b10fc9497445818c44b7c82468722c378d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 2 Jan 2026 10:05:09 +0000 Subject: [PATCH 193/195] New upstream development version 1.47.1 --- nbdkit.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nbdkit.spec b/nbdkit.spec index ad4bade..68ec282 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -51,10 +51,10 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 1.46-stable +%global source_directory 1.47-development Name: nbdkit -Version: 1.46.0 +Version: 1.47.1 Release: 1%{?dist} Summary: NBD server @@ -1582,6 +1582,9 @@ fi %changelog +* Fri Jan 02 2026 Richard W.M. Jones - 1.47.1-1 +- New upstream development version 1.47.1 + * Sat Dec 20 2025 Richard W.M. Jones - 1.46.0-1 - New upstream stable version 1.46.0 diff --git a/sources b/sources index 4462799..f8f8acc 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (nbdkit-1.46.0.tar.gz) = ed225bdbd5c1e96b40ed0493f72173853cedafc9ada2296e6418021d4e3f2e6732dbbb764d24baf6263f4b07c3868b05207518d34667fe68c7324360fc3f5254 -SHA512 (nbdkit-1.46.0.tar.gz.sig) = 73c37deac7f18c7a55d401bf569aabc0a017872fc8ed3e4554f32a1007367d6db975c80cdfc3310c3c13ebaf0c506fcf0563360ee663784a653852ec6bde0e3a +SHA512 (nbdkit-1.47.1.tar.gz) = 0c9d1da067bf1f7b6ba38dad33e86dff1fe893ff2e4a349dfcd6b259295fd00670e6af6c195e130d8a847520a78a730003315e60afda8eb94758e2195bd1a775 +SHA512 (nbdkit-1.47.1.tar.gz.sig) = 131d9bc191155186408ef7a577f9d2a2cc1fd1b53cbda755d19ff8de1341479a517fab79cc87f04a1bca5518046c24a8647cb4949d5c4d6fdca19ca968604c16 From 31764d38fbea6df335bff77f9accfc97780c8a95 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 2 Jan 2026 12:01:10 +0000 Subject: [PATCH 194/195] Add upstream fix for broken test --- ...-debug-hexdump.sh-Fix-test-that-plug.patch | 31 +++++++++++++++++++ nbdkit.spec | 3 ++ 2 files changed, 34 insertions(+) create mode 100644 0001-tests-test-ocaml-debug-hexdump.sh-Fix-test-that-plug.patch diff --git a/0001-tests-test-ocaml-debug-hexdump.sh-Fix-test-that-plug.patch b/0001-tests-test-ocaml-debug-hexdump.sh-Fix-test-that-plug.patch new file mode 100644 index 0000000..ab06e22 --- /dev/null +++ b/0001-tests-test-ocaml-debug-hexdump.sh-Fix-test-that-plug.patch @@ -0,0 +1,31 @@ +From 4076ff58512ee98928b1bdb13274466b175e1a97 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Fri, 2 Jan 2026 11:59:11 +0000 +Subject: [PATCH] tests/test-ocaml-debug-hexdump.sh: Fix test that plugin was + built + +This is supposed to check that the test plugin was built and skip if +not. However because the 'requires' function call was missing, it +actually failed the test if not built. + +Fixes: commit ec3be5030656a9126abbb0bceeb5a1ecf6898c6a +--- + tests/test-ocaml-debug-hexdump.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test-ocaml-debug-hexdump.sh b/tests/test-ocaml-debug-hexdump.sh +index 5cc71375..3954225e 100755 +--- a/tests/test-ocaml-debug-hexdump.sh ++++ b/tests/test-ocaml-debug-hexdump.sh +@@ -36,7 +36,7 @@ set -x + set -u + + plugin=$abs_top_srcdir/tests/test-ocaml-debug-hexdump-plugin.$SOEXT +-test -x "$plugin" ++requires test -x "$plugin" + + requires_run + requires_nbdsh_uri +-- +2.52.0 + diff --git a/nbdkit.spec b/nbdkit.spec index 68ec282..4639625 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -86,6 +86,9 @@ Source6: %{modulename}.te Source7: %{modulename}.if Source8: %{modulename}.fc +# Fix for broken test, upstream in nbdkit >= 1.47.2 +Patch: 0001-tests-test-ocaml-debug-hexdump.sh-Fix-test-that-plug.patch + # For applying the patches: BuildRequires: git From df7b23c694ef7fc148cb65fe2313fbeab0710f46 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 12 Jan 2026 15:58:37 -0700 Subject: [PATCH 195/195] Fix a changelog entry --- nbdkit.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbdkit.spec b/nbdkit.spec index 4639625..c306b50 100644 --- a/nbdkit.spec +++ b/nbdkit.spec @@ -1648,7 +1648,7 @@ fi - New upstream version 1.45.2 - New map filter. -* Fri Jul 11 2025 Jerry James - 1.45.1-5 +* Fri Jul 11 2025 Jerry James - 1.45.1-5 - Rebuild to fix OCaml dependencies * Wed Jul 09 2025 Jitka Plesnikova - 1.45.1-4