Rebase to nbdkit 1.42.0

Synch the spec file with Fedora Rawhide.
nbdkit-ondemand-plugin moves into a new subpackage.
New nbdkit-time-limit-filter.

resolves: RHEL-78830
This commit is contained in:
Richard W.M. Jones 2025-02-24 13:00:20 +00:00
parent 0b6564875e
commit c9f4cdb07d
11 changed files with 174 additions and 375 deletions

View File

@ -0,0 +1,25 @@
From 6cdc9d4a858cb9a80ad87961a6647452f9498d83 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 11 Feb 2025 13:59:45 +0000
Subject: [PATCH] docs/nbdkit-release-notes-1.42.pod: Add release date
---
docs/nbdkit-release-notes-1.42.pod | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/nbdkit-release-notes-1.42.pod b/docs/nbdkit-release-notes-1.42.pod
index 712c6027..dc4f05bc 100644
--- a/docs/nbdkit-release-notes-1.42.pod
+++ b/docs/nbdkit-release-notes-1.42.pod
@@ -7,7 +7,7 @@ nbdkit-release-notes-1.42 - release notes for nbdkit 1.42
These are the release notes for nbdkit stable release 1.42.
This describes the major changes since 1.40.
-nbdkit 1.42.0 was released on B<XXX XXX 2025>.
+nbdkit 1.42.0 was released on B<11 February 2025>.
=head2 Security
--
2.47.1

View File

@ -1,28 +0,0 @@
From 9f86b51b4d8110ee82f2c67c3939c85ce0ec1ea9 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 6 Jan 2025 15:22:05 +0000
Subject: [PATCH] vddk: Include <stdbool.h>
Since this file uses booleans.
Acked-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit fe855addae44e45e2344a33bd3857c561587f12e)
---
plugins/vddk/worker.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/plugins/vddk/worker.c b/plugins/vddk/worker.c
index 467d00ca..5982fcea 100644
--- a/plugins/vddk/worker.c
+++ b/plugins/vddk/worker.c
@@ -34,6 +34,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include <stdbool.h>
#include <stdint.h>
#include <inttypes.h>
--
2.43.0

View File

@ -0,0 +1,67 @@
From 55bee3cc5797274d2e1ea925acc6e27572c7b5c8 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 7 Feb 2025 09:09:04 +0000
Subject: [PATCH] build: Disable -Wunused-command-line-argument on FreeBSD
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When compiling filters/stats, FreeBSD clang++ (only) complains about:
c++: error: argument unused during compilation: '-pthread' [-Werror,-Wunused-command-line-argument]
This is because clang will ignore the -pthread argument on FreeBSD
if code is being linked with -nostdlib. This is the case when building
modules with libtool.
The warning flag must be preceeded by "-Xcompiler", otherwise libtool
will discard the warning flag.
Derived-from: 433a77d06e57fd5894ada102cd21689e61f47f57
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
configure.ac | 14 ++++++++++++++
filters/stats/Makefile.am | 2 +-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 407b28db..fe917df3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -238,6 +238,20 @@ AC_ARG_ENABLE([gcc-warnings],
if test "x$gcc_warnings" = "xyes"; then
WARNINGS_CFLAGS="-Wall -Wshadow -Wvla -Werror"
AC_SUBST([WARNINGS_CFLAGS])
+
+ dnl Hack (temporary?) for FreeBSD which complains about:
+ dnl c++: error: argument unused during compilation: '-pthread' [-Werror,-Wunused-command-line-argument]
+ WARNINGS_MODULE_CXXFLAGS="$WARNINGS_CFLAGS"
+ AC_MSG_CHECKING([if we should disable unused-command-line-argument warning])
+ AS_CASE([$host_os],
+ [freebsd*], [
+ WARNINGS_MODULE_CXXFLAGS="$WARNINGS_MODULE_CXXFLAGS -Xcompiler -Wno-unused-command-line-argument"
+ AC_MSG_RESULT([yes])
+ ],
+ [AC_MSG_RESULT([no])]
+ )
+ AC_SUBST([WARNINGS_MODULE_CXXFLAGS])
+
fi
dnl Check if the compiler supports -std=c90 flag. This is only used
diff --git a/filters/stats/Makefile.am b/filters/stats/Makefile.am
index 840805fb..c992566e 100644
--- a/filters/stats/Makefile.am
+++ b/filters/stats/Makefile.am
@@ -48,7 +48,7 @@ nbdkit_stats_filter_la_CPPFLAGS = \
-I$(top_srcdir)/common/include \
-I$(top_srcdir)/common/utils \
$(NULL)
-nbdkit_stats_filter_la_CXXFLAGS = $(WARNINGS_CFLAGS) -std=c++11
+nbdkit_stats_filter_la_CXXFLAGS = $(WARNINGS_MODULE_CXXFLAGS) -std=c++11
nbdkit_stats_filter_la_LDFLAGS = \
-module -avoid-version -shared $(NO_UNDEFINED_ON_WINDOWS) \
$(NULL)
--
2.47.1

View File

@ -1,59 +0,0 @@
From bfac699727ccf20757dcb5dc4ce1aff885025c9d Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 6 Jan 2025 16:47:55 +0000
Subject: [PATCH] vddk: Cache the disk size in the handle
No functional change here, we're just making sure we have the disk
size (in bytes) available in the handle.
Acked-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit 2ba76db4a048471e997e508715081a70356f94f3)
---
plugins/vddk/vddk.c | 6 +++---
plugins/vddk/vddk.h | 3 +++
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/plugins/vddk/vddk.c b/plugins/vddk/vddk.c
index 6d242515..7a830cf9 100644
--- a/plugins/vddk/vddk.c
+++ b/plugins/vddk/vddk.c
@@ -873,19 +873,19 @@ vddk_get_size (void *handle)
{
struct vddk_handle *h = handle;
VixDiskLibInfo *info;
- int64_t size;
struct command info_cmd = { .type = INFO, .ptr = &info };
if (send_command_and_wait (h, &info_cmd) == -1)
return -1;
- size = info->capacity * (int64_t)VIXDISKLIB_SECTOR_SIZE;
+ /* Compute the size and cache it into the handle. */
+ h->size = info->capacity * VIXDISKLIB_SECTOR_SIZE;
VDDK_CALL_START (VixDiskLib_FreeInfo, "info")
VixDiskLib_FreeInfo (info);
VDDK_CALL_END (VixDiskLib_FreeInfo, 0);
- return size;
+ return h->size;
}
/* Advertise most efficient block sizes. */
diff --git a/plugins/vddk/vddk.h b/plugins/vddk/vddk.h
index fb0c79a8..1d1069cc 100644
--- a/plugins/vddk/vddk.h
+++ b/plugins/vddk/vddk.h
@@ -165,6 +165,9 @@ struct vddk_handle {
command_queue commands; /* command queue */
pthread_cond_t commands_cond; /* condition (queue size 0 -> 1) */
uint64_t id; /* next command ID */
+
+ /* Cached disk size in bytes (set in get_size()). */
+ uint64_t size;
};
/* reexec.c */
--
2.43.0

View File

@ -0,0 +1,31 @@
From b55904b5e7d84358cef2ad9eb7637ee569eb52f6 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 14 Feb 2025 09:35:38 +0000
Subject: [PATCH] README: New location for Wine AF_UNIX patches
---
README.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index fb4d7d28..5d61e786 100644
--- a/README.md
+++ b/README.md
@@ -412,10 +412,10 @@ using Linux and mingw-w64. At a minimum you will need:
* mingw-w64 gnutls (optional, but highly recommended)
* wine (if you want to run it on Linux)
-You may want to patch Wine with this patch which adds support for
-AF_UNIX sockets. It is needed to get most of the test suite to work,
-but if you don't care about the -U option then it is not needed.
-https://www.winehq.org/pipermail/wine-devel/2021-May/187049.html
+You may want to patch Wine with support for `AF_UNIX` sockets. It is
+needed to get most of the test suite to work, but if you don't care
+about the -U option then it is not needed.
+https://bugs.winehq.org/show_bug.cgi?id=52568
Other mingw-w64 libraries may be installed which will add
functionality (see full list of requirements above), but you may end
--
2.47.1

View File

@ -1,34 +0,0 @@
From dff3fc3b97aab79f6ee168a9b9dd2dff05425439 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 6 Jan 2025 15:37:54 +0000
Subject: [PATCH] vddk: do_extents: Mark some local variables const
These are never changed in the code (they are fields copied out from
the *cmd struct), so mark them as const.
Acked-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit 24fd7df460ae31fe3f72b5100ca3dbe138bbadbe)
---
plugins/vddk/worker.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/plugins/vddk/worker.c b/plugins/vddk/worker.c
index 5982fcea..bc015d16 100644
--- a/plugins/vddk/worker.c
+++ b/plugins/vddk/worker.c
@@ -388,9 +388,9 @@ add_extent (struct nbdkit_extents *extents,
static int
do_extents (struct command *cmd, struct vddk_handle *h)
{
- uint32_t count = cmd->count;
- uint64_t offset = cmd->offset;
- bool req_one = cmd->req_one;
+ const uint32_t count = cmd->count;
+ const uint64_t offset = cmd->offset;
+ const bool req_one = cmd->req_one;
struct nbdkit_extents *extents = cmd->ptr;
uint64_t position, end, start_sector;
--
2.43.0

View File

@ -1,31 +0,0 @@
From 5f7e5399aa4b208cb6aa0c51dbea59f73fd4d5f3 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 6 Jan 2025 16:39:51 +0000
Subject: [PATCH] vddk: do_extents: Exit the function if we hit req_one
condition
No change to the functionality, since the code previously called
'return 0' immediately following the loop.
Acked-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit 2f4d71f8f704d89d69cd635791c3239d2f44d631)
---
plugins/vddk/worker.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/vddk/worker.c b/plugins/vddk/worker.c
index bc015d16..112111e3 100644
--- a/plugins/vddk/worker.c
+++ b/plugins/vddk/worker.c
@@ -471,7 +471,7 @@ do_extents (struct command *cmd, struct vddk_handle *h)
* overlapping the original offset we're done.
*/
if (req_one && position > offset)
- break;
+ return 0;
}
return 0;
--
2.43.0

View File

@ -1,202 +0,0 @@
From fe65a789da92e53bfd3f3814f1c93566f69591db Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 6 Jan 2025 15:45:35 +0000
Subject: [PATCH] vddk: do_extents: Avoid reading partial chunk beyond the end
of the disk
The QueryAllocatedBlocks API has (another) frustrating feature. It
can only query whole "chunks" (128 sectors). If the disk size is not
aligned to the chunk size (say the size was 129 sectors) then there's
a bit at the end which cannot be queried. Furthermore, the API gives
an error in this case instead of being helpful:
VixDiskLib_QueryAllocatedBlocks: One of the parameters was invalid
Fixes: https://issues.redhat.com/browse/RHEL-71694
Reported-by: Ming Xie <mxie@redhat.com>
Acked-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit fd918f3d1a185fd996999766c75acb9d6e22395d)
---
plugins/vddk/worker.c | 29 ++++++++-
tests/Makefile.am | 5 +-
tests/test-vddk-real-unaligned-chunk.sh | 82 +++++++++++++++++++++++++
3 files changed, 113 insertions(+), 3 deletions(-)
create mode 100755 tests/test-vddk-real-unaligned-chunk.sh
diff --git a/plugins/vddk/worker.c b/plugins/vddk/worker.c
index 112111e3..8a91250a 100644
--- a/plugins/vddk/worker.c
+++ b/plugins/vddk/worker.c
@@ -392,10 +392,9 @@ do_extents (struct command *cmd, struct vddk_handle *h)
const uint64_t offset = cmd->offset;
const bool req_one = cmd->req_one;
struct nbdkit_extents *extents = cmd->ptr;
- uint64_t position, end, start_sector;
+ uint64_t position, start_sector, size_sectors, last_queryable_sector, end;
position = offset;
- end = offset + count;
/* We can only query whole chunks. Therefore start with the
* first chunk before offset.
@@ -403,6 +402,21 @@ do_extents (struct command *cmd, struct vddk_handle *h)
start_sector =
ROUND_DOWN (offset, VIXDISKLIB_MIN_CHUNK_SIZE * VIXDISKLIB_SECTOR_SIZE)
/ VIXDISKLIB_SECTOR_SIZE;
+
+ /* Calculate the end byte + 1 that we're going to query, normally
+ * this is offset + count.
+ *
+ * However since chunks are larger than sectors, for a disk which
+ * has size which is not aligned to the chunk size there is a part
+ * of the disk at the end that we can never query. Reduce 'end' to
+ * the maximum possible queryable part of the disk, and we'll deal
+ * with the unaligned bit after the loop (RHEL-71694).
+ */
+ end = offset + count;
+ size_sectors = h->size / VIXDISKLIB_SECTOR_SIZE;
+ last_queryable_sector = ROUND_DOWN (size_sectors, VIXDISKLIB_MIN_CHUNK_SIZE);
+ end = MIN (end, last_queryable_sector * VIXDISKLIB_SECTOR_SIZE);
+
while (start_sector * VIXDISKLIB_SECTOR_SIZE < end) {
VixError err;
uint32_t i;
@@ -474,6 +488,17 @@ do_extents (struct command *cmd, struct vddk_handle *h)
return 0;
}
+ /* If 'end' spanned beyond the last chunk of the disk, then we
+ * reduced it above to avoid reading a chunk that extends beyond the
+ * end of the underlying disk. We have to synthesize an allocated
+ * block here, which is what VDDK's example code does
+ * (doc/samples/diskLib/vixDiskLibSample.cpp: DoGetAllocatedBlocks).
+ */
+ if (end < offset + count) {
+ if (add_extent (extents, &position, offset + count, false) == -1)
+ return -1;
+ }
+
return 0;
}
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c0d1bdcc..94d4a219 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -188,7 +188,8 @@ if HAVE_VDDK
check-vddk:
$(MAKE) check TESTS="test-vddk-real.sh \
test-vddk-real-dump-plugin.sh \
- test-vddk-real-create.sh"
+ test-vddk-real-create.sh \
+ test-vddk-real-unaligned-chunk.sh"
endif HAVE_VDDK
#----------------------------------------------------------------------
@@ -1172,6 +1173,7 @@ TESTS += \
test-vddk-password-interactive.sh \
test-vddk-real-create.sh \
test-vddk-real-dump-plugin.sh \
+ test-vddk-real-unaligned-chunk.sh \
test-vddk-real.sh \
test-vddk-reexec.sh \
test-vddk-run.sh \
@@ -1204,6 +1206,7 @@ EXTRA_DIST += \
test-vddk-password-interactive.sh \
test-vddk-real-create.sh \
test-vddk-real-dump-plugin.sh \
+ test-vddk-real-unaligned-chunk.sh \
test-vddk-real.sh \
test-vddk-reexec.sh \
test-vddk-run.sh \
diff --git a/tests/test-vddk-real-unaligned-chunk.sh b/tests/test-vddk-real-unaligned-chunk.sh
new file mode 100755
index 00000000..28fccd6c
--- /dev/null
+++ b/tests/test-vddk-real-unaligned-chunk.sh
@@ -0,0 +1,82 @@
+#!/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.
+
+# Regression test for https://issues.redhat.com/browse/RHEL-71694
+
+source ./functions.sh
+set -e
+set -x
+
+requires_run
+requires test "x$vddkdir" != "x"
+requires test -d "$vddkdir"
+requires test -f "$vddkdir/lib64/libvixDiskLib.so"
+requires qemu-img --version
+requires_nbdinfo
+requires $TRUNCATE --version
+requires dd --version
+requires test -r /dev/urandom
+skip_if_valgrind "because setting LD_LIBRARY_PATH breaks valgrind"
+
+# VDDK > 5.1.1 only supports x86_64.
+if [ `uname -m` != "x86_64" ]; then
+ echo "$0: unsupported architecture"
+ exit 77
+fi
+
+d=vddk-real-unaligned-chunk.d
+cleanup_fn rm -rf $d
+rm -rf $d
+mkdir $d
+
+# Create a vmdk disk which is partially sparse and the size is NOT
+# aligned to 128 sectors (chunk size).
+dd if=/dev/urandom of=$d/test.raw bs=512 count=$(( 3*128 ))
+$TRUNCATE -s $(( (4*128 + 3) * 512)) $d/test.raw
+qemu-img convert -f raw $d/test.raw -O vmdk $d/test.vmdk
+
+# Read the map using VDDK.
+export d
+nbdkit -rfv vddk libdir="$vddkdir" \
+ $PWD/$d/test.vmdk \
+ --run 'nbdinfo --map "$uri" > $d/map'
+cat $d/map
+
+# Note a few features of the expected map. The first 3 chunks (3*128
+# sectors) are allocated, followed by a single hole chunk. Then the
+# last 3 unaligned sectors appear allocated (even though they are not)
+# because we could not read them using the QueryAllocatedBlocks API so
+# we had to assume allocated.
+test "$(cat $d/map)" = "\
+ 0 196608 0 data
+ 196608 65536 3 hole,zero
+ 262144 1536 0 data"
--
2.43.0

View File

@ -6,7 +6,7 @@ set -e
# directory. Use it like this:
# ./copy-patches.sh
rhel_version=10.0
rhel_version=10.1
# Check we're in the right directory.
if [ ! -f nbdkit.spec ]; then

View File

@ -51,11 +51,11 @@
%global verify_tarball_signature 1
# The source directory.
%global source_directory 1.40-stable
%global source_directory 1.42-stable
Name: nbdkit
Version: 1.40.4
Release: 3%{?dist}
Version: 1.42.0
Release: 1%{?dist}
Summary: NBD server
License: BSD-3-Clause
@ -77,14 +77,12 @@ Source2: libguestfs.keyring
Source3: copy-patches.sh
# Patches come from the upstream repository:
# https://gitlab.com/nbdkit/nbdkit/-/commits/rhel-10.0/
# https://gitlab.com/nbdkit/nbdkit/-/commits/rhel-10.1/
# Patches.
Patch0001: 0001-vddk-Include-stdbool.h.patch
Patch0002: 0002-vddk-Cache-the-disk-size-in-the-handle.patch
Patch0003: 0003-vddk-do_extents-Mark-some-local-variables-const.patch
Patch0004: 0004-vddk-do_extents-Exit-the-function-if-we-hit-req_one-.patch
Patch0005: 0005-vddk-do_extents-Avoid-reading-partial-chunk-beyond-t.patch
Patch0001: 0001-docs-nbdkit-release-notes-1.42.pod-Add-release-date.patch
Patch0002: 0002-build-Disable-Wunused-command-line-argument-on-FreeB.patch
Patch0003: 0003-README-New-location-for-Wine-AF_UNIX-patches.patch
# For automatic RPM Provides generation.
# See: https://rpm-software-management.github.io/rpm/manual/dependency_generators.html
@ -103,6 +101,7 @@ BuildRequires: git
BuildRequires: autoconf, automake, libtool
BuildRequires: make
BuildRequires: libxcrypt-devel
BuildRequires: gcc, gcc-c++
BuildRequires: %{_bindir}/pod2man
BuildRequires: pkgconfig(gnutls)
@ -168,6 +167,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
@ -286,8 +288,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.
@ -465,6 +465,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}
@ -648,6 +663,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.
@ -690,11 +707,11 @@ This package is a tar archive filter for %{name}.
%package xz-filter
Summary: XZ filter for %{name}
Summary: XZ and lzip filters for %{name}
Requires: %{name}-server%{?_isa} = %{version}-%{release}
%description xz-filter
This package is the xz filter for %{name}.
This package contains the xz and lzip filters for %{name}.
%package devel
@ -884,10 +901,7 @@ 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}' \
@ -1089,7 +1103,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
@ -1105,7 +1118,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*
@ -1233,6 +1245,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
@ -1344,6 +1363,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*
@ -1388,6 +1408,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*
@ -1425,7 +1446,9 @@ fi
%files xz-filter
%doc README.md
%license LICENSE
%{_libdir}/%{name}/filters/nbdkit-lzip-filter.so
%{_libdir}/%{name}/filters/nbdkit-xz-filter.so
%{_mandir}/man1/nbdkit-lzip-filter.1*
%{_mandir}/man1/nbdkit-xz-filter.1*
@ -1502,6 +1525,13 @@ fi
%changelog
* Mon Feb 24 2025 Richard W.M. Jones <rjones@redhat.com> - 1.42.0-1
- Rebase to nbdkit 1.42.0
- Synch the spec file with Fedora Rawhide.
- nbdkit-ondemand-plugin moves into a new subpackage.
- New nbdkit-time-limit-filter.
- resolves: RHEL-78830
* Mon Jan 06 2025 Richard W.M. Jones <rjones@redhat.com> - 1.40.4-3
- vddk: Avoid reading partial chunk beyond the end of the disk
resolves: RHEL-71697

View File

@ -1,2 +1,2 @@
SHA512 (nbdkit-1.40.4.tar.gz) = 043de0b6b686425d28b1410ac6ea75667eb189173648e78047174a45a76ce11137ca336d05af128314f5234b47e334d32dd6d196bdeb2b91da4688ee2c6bc273
SHA512 (nbdkit-1.40.4.tar.gz.sig) = 9ae8e4cbdd9c6495ccbef6d71869e76951e2e72803fbbff4e9c2b66cd630874dd8fe5577be44c296c7b98936ddbe77c83fba3c92e8037e82d98a0503d378c49e
SHA512 (nbdkit-1.42.0.tar.gz) = c8360fc2d9e6806ab241dcd61da82f52a881dd394d2e6c8c5372d4920f0751fe20dfe9bf45ff35c34cd1e12fd35d2b7dcf17374387805ff6cdec599c543c6bdc
SHA512 (nbdkit-1.42.0.tar.gz.sig) = df2e05eb46c78c2ecdc16b6b1ba37cbcbf001cfd5f7c3b9206da7100e4499ddb7f35ed75786d109767f2e9bf4a2baf02994ce5684910fd9cfc8bfccc9dd6dce7