Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nbdkit for openSUSE:Factory checked 
in at 2026-01-06 17:45:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nbdkit (Old)
 and      /work/SRC/openSUSE:Factory/.nbdkit.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nbdkit"

Tue Jan  6 17:45:10 2026 rev:26 rq:1325485 version:1.46.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/nbdkit/nbdkit.changes    2025-12-22 
22:56:10.262167367 +0100
+++ /work/SRC/openSUSE:Factory/.nbdkit.new.1928/nbdkit.changes  2026-01-06 
17:46:38.246694277 +0100
@@ -1,0 +2,16 @@
+Mon Jan 05 20:33:24 UTC 2026 - Charles Arnold <[email protected]>
+
+- Update to version 1.46.1: (jsc#PED-14625)
+  * Version 1.46.1.
+  * docs/nbdkit_read_password.pod: Fix typo in Python description
+  * server: Rewrite ugly macros in nbdkit_debug_hexdump
+  * tests: Fix some copy/paste errors in debug_hexdump tests
+  * file: Link to delay filter in the SEE ALSO section
+  * file: Sort plugin names in SEE ALSO section
+  * file: Improve flow of documentation of dir parameter
+  * docs: Match all return value descriptions of nbdkit_parse_*
+  * docs: Fix thinko and clarify description of nbdkit_parse_* functions
+  * tests/test-ocaml-errorcodes.c: Fix typo in error messages
+  * ocaml: Fix comment about parse_* functions
+
+-------------------------------------------------------------------

Old:
----
  nbdkit-1.46.0.tar.xz

New:
----
  nbdkit-1.46.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nbdkit.spec ++++++
--- /var/tmp/diff_new_pack.7DXT1K/_old  2026-01-06 17:46:40.434784268 +0100
+++ /var/tmp/diff_new_pack.7DXT1K/_new  2026-01-06 17:46:40.454785091 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package nbdkit
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -27,7 +27,7 @@
 %global broken_test_arches %{arm} aarch64 %{ix86}
 
 Name:           nbdkit
-Version:        1.46.0
+Version:        1.46.1
 Release:        0
 Summary:        Network Block Device server
 License:        BSD-3-Clause
@@ -181,9 +181,9 @@
 
 
 
+
 # The plugins below have non-trivial dependencies are so are
 # packaged separately.
-
 %package cdi-plugin
 Summary:        Containerized Data Import plugin for %{name}
 Requires:       %{name}-server = %{version}-%{release}
@@ -210,9 +210,9 @@
 
 
 
+
 # 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 = %{version}-%{release}

++++++ _service ++++++
--- /var/tmp/diff_new_pack.7DXT1K/_old  2026-01-06 17:46:40.762797759 +0100
+++ /var/tmp/diff_new_pack.7DXT1K/_new  2026-01-06 17:46:40.802799404 +0100
@@ -1,7 +1,7 @@
 <services>
   <service name="tar_scm" mode="manual">
     <param name="filename">nbdkit</param>
-    <param name="revision">v1.46.0</param>
+    <param name="revision">v1.46.1</param>
     <param name="scm">git</param>
     <param name="submodules">disable</param>
     <param name="url">https://gitlab.com/nbdkit/nbdkit.git</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.7DXT1K/_old  2026-01-06 17:46:41.046809440 +0100
+++ /var/tmp/diff_new_pack.7DXT1K/_new  2026-01-06 17:46:41.110812072 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://gitlab.com/nbdkit/nbdkit.git</param>
-              <param 
name="changesrevision">8c660cbf507ce6008483ae21c186444aa3dc0f11</param></service></servicedata>
+              <param 
name="changesrevision">e1d3d4106c06d3c448e59d16aa756353babe6074</param></service></servicedata>
 (No newline at EOF)
 

++++++ nbdkit-1.46.0.tar.xz -> nbdkit-1.46.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/configure.ac 
new/nbdkit-1.46.1/configure.ac
--- old/nbdkit-1.46.0/configure.ac      2025-12-20 15:34:35.000000000 +0100
+++ new/nbdkit-1.46.1/configure.ac      2026-01-02 11:07:39.000000000 +0100
@@ -31,7 +31,7 @@
 
 m4_define([NBDKIT_VERSION_MAJOR], [1])
 m4_define([NBDKIT_VERSION_MINOR], [46])
-m4_define([NBDKIT_VERSION_MICRO], [0])
+m4_define([NBDKIT_VERSION_MICRO], [1])
 AC_INIT([nbdkit],
         NBDKIT_VERSION_MAJOR.NBDKIT_VERSION_MINOR.NBDKIT_VERSION_MICRO)
 AC_CONFIG_MACRO_DIR([m4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/docs/nbdkit_parse_delay.pod 
new/nbdkit-1.46.1/docs/nbdkit_parse_delay.pod
--- old/nbdkit-1.46.0/docs/nbdkit_parse_delay.pod       2025-12-20 
15:34:35.000000000 +0100
+++ new/nbdkit-1.46.1/docs/nbdkit_parse_delay.pod       2026-01-02 
11:07:39.000000000 +0100
@@ -54,11 +54,13 @@
 
 =head1 RETURN VALUE
 
-On success the function returns C<0> and sets C<*sec> and C<*nsec> to
-the seconds and nanoseconds parsed.
+On success the function returns C<0>.  If C<sec != NULL>, set C<*sec>
+to the parsed seconds.  If C<nsec != NULL>, set C<*nsec> to the parsed
+nanoseconds.  If either C<sec == NULL> or C<nsec == NULL>, the parsing
+is done but the corresponding result is discarded.
 
 If there is an error it calls L<nbdkit_error(3)> and returns C<-1>.
-In this case, C<*sec> and C<*nsec> are not touched.
+On error C<*sec> and C<*nsec> are always unchanged.
 
 =head1 LANGUAGE BINDINGS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/docs/nbdkit_parse_int.pod 
new/nbdkit-1.46.1/docs/nbdkit_parse_int.pod
--- old/nbdkit-1.46.0/docs/nbdkit_parse_int.pod 2025-12-20 15:34:35.000000000 
+0100
+++ new/nbdkit-1.46.1/docs/nbdkit_parse_int.pod 2026-01-02 11:07:39.000000000 
+0100
@@ -52,8 +52,9 @@
 
 =head1 RETURN VALUE
 
-On success the functions return C<0> and set C<*r> to the parsed value
-(unless C<*r == NULL> in which case the result is discarded).
+On success the functions return C<0>.  If C<r != NULL>, they set C<*r>
+to the parsed value.  If C<r == NULL>, the parsing is done but the
+result is discarded.
 
 On error, L<nbdkit_error(3)> is called and the functions return C<-1>.
 On error C<*r> is always unchanged.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/docs/nbdkit_parse_probability.pod 
new/nbdkit-1.46.1/docs/nbdkit_parse_probability.pod
--- old/nbdkit-1.46.0/docs/nbdkit_parse_probability.pod 2025-12-20 
15:34:35.000000000 +0100
+++ new/nbdkit-1.46.1/docs/nbdkit_parse_probability.pod 2026-01-02 
11:07:39.000000000 +0100
@@ -21,13 +21,17 @@
 
 =head1 RETURN VALUE
 
-On success the function returns C<0> and sets C<*ret>.  The
-probability is always a finite number E<ge> 0.0, but B<note the result
-may be larger than 1.0> (for example if S<C<str == "200%">> then the
-function will set S<C<*ret = 2.0>>).  If you want to clamp the upper
-bound the caller must do that.
+On success the function returns C<0>.  If C<ret != NULL>, set C<*ret>
+to the parsed value.  If C<ret == NULL>, the parsing is done but the
+result is discarded.
 
-On error, L<nbdkit_error(3)> is called and C<-1> is returned.
+The probability is always a finite number E<ge> 0.0, but B<note the
+result may be larger than 1.0> (for example if S<C<str == "200%">>
+then the function will set S<C<*ret = 2.0>>).  If you want to clamp
+the upper bound the caller must do that.
+
+On error, L<nbdkit_error(3)> is called and C<-1> is returned.  On
+error C<*ret> is always unchanged.
 
 =head1 LANGUAGE BINDINGS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/docs/nbdkit_read_password.pod 
new/nbdkit-1.46.1/docs/nbdkit_read_password.pod
--- old/nbdkit-1.46.0/docs/nbdkit_read_password.pod     2025-12-20 
15:34:35.000000000 +0100
+++ new/nbdkit-1.46.1/docs/nbdkit_read_password.pod     2026-01-02 
11:07:39.000000000 +0100
@@ -79,7 +79,7 @@
 In L<nbdkit-python-plugin(3)>:
 
  import nbdkit
- password = nbdkit.parse_size(value)
+ password = nbdkit.read_password(value)
 
 =head1 HISTORY
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/plugins/file/nbdkit-file-plugin.pod 
new/nbdkit-1.46.1/plugins/file/nbdkit-file-plugin.pod
--- old/nbdkit-1.46.0/plugins/file/nbdkit-file-plugin.pod       2025-12-20 
15:34:35.000000000 +0100
+++ new/nbdkit-1.46.1/plugins/file/nbdkit-file-plugin.pod       2026-01-02 
11:07:39.000000000 +0100
@@ -28,8 +28,9 @@
 (eg. F</dev/sda>) may also be served.
 
 If you use the C<dir> parameter the plugin works in a different mode
-where it serves files from the given C<DIRECTORY>, chosen by the
-client using the NBD export name.
+where it serves files from the given C<DIRECTORY>.  The filename is
+chosen L<by the client sending an NBD export name|/Serving multiple
+files and block devices>.
 
 If you use the C<fd> or C<dirfd> parameter then you can pass the file
 descriptor of a single disk or a directory to the plugin, inherited
@@ -166,8 +167,27 @@
  $ nbdkit file dir=/var/tmp/exports
 
 will serve three exports called C<"disk1">, C<"disk2"> and C<"sda1">.
-The first two are regular files and the last is a block device.  You
-can add or remove files or symbolic links from the directory while
+The first two are regular files and the last is a block device.
+
+The NBD URIs of the three exports are:
+
+=over 4
+
+=item *
+
+C<nbd://localhost/disk1>
+
+=item *
+
+C<nbd://localhost/disk2>
+
+=item *
+
+C<nbd://localhost/sda1>
+
+=back
+
+You can add or remove files or symbolic links from the directory while
 nbdkit is running.
 
 To list exports, use L<nbdinfo(1)> I<--list> option, for example:
@@ -319,11 +339,12 @@
 
 L<nbdkit(1)>,
 L<nbdkit-plugin(3)>,
-L<nbdkit-split-plugin(1)>,
+L<nbdkit-nfs-plugin(1)>,
 L<nbdkit-partitioning-plugin(1)>,
+L<nbdkit-split-plugin(1)>,
 L<nbdkit-tmpdisk-plugin(1)>,
-L<nbdkit-nfs-plugin(1)>,
 L<nbdkit-count-filter(1)>,
+L<nbdkit-delay-filter(1)>,
 L<nbdkit-exportname-filter(1)>,
 L<nbdkit-fua-filter(1)>,
 L<nbdkit-luks-filter(1)>,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/plugins/ocaml/NBDKit.mli 
new/nbdkit-1.46.1/plugins/ocaml/NBDKit.mli
--- old/nbdkit-1.46.0/plugins/ocaml/NBDKit.mli  2025-12-20 15:34:35.000000000 
+0100
+++ new/nbdkit-1.46.1/plugins/ocaml/NBDKit.mli  2026-01-02 11:07:39.000000000 
+0100
@@ -179,8 +179,9 @@
 (* Note OCaml has functions already for parsing other integers, so
  * there is no need to bind them here.  We only bind the functions
  * which have special abilities in nbdkit: [parse_size] can parse
- * human sizes, [parse_probability] and [parse_bool] parses a range
- * of nbdkit-specific strings, and [read_password] suppresses echo.
+ * human sizes, [parse_probability], [parse_bool] and [parse_delay]
+ * parse a range of nbdkit-specific strings, and [read_password]
+ * suppresses echo.
  *)
 
 val parse_size : string -> int64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/server/debug.c 
new/nbdkit-1.46.1/server/debug.c
--- old/nbdkit-1.46.0/server/debug.c    2025-12-20 15:34:35.000000000 +0100
+++ new/nbdkit-1.46.1/server/debug.c    2026-01-02 11:07:39.000000000 +0100
@@ -172,6 +172,44 @@
   errno = err;
 }
 
+struct hexdump_line {
+  char str_offset[16+1]; /* The offset field */
+  char hex[16*3+1];      /* Sixteen pairs of hex digits (or spaces) */
+  char chars[16+1];      /* The printable chars (or spaces) */
+  uint64_t offset;
+};
+
+static inline void
+hexdump_reset_line (struct hexdump_line *line)
+{
+  snprintf (line->str_offset, sizeof line->str_offset, "%08" PRIx64,
+            ROUND_DOWN (line->offset, 16));
+  memset (line->hex, ' ', sizeof line->hex - 1);
+  line->hex[sizeof line->hex - 1] = '\0';
+  memset (line->chars, ' ', sizeof line->chars - 1);
+  line->chars[sizeof line->chars - 1] = '\0';
+
+}
+
+static inline void
+hexdump_set_byte (struct hexdump_line *line, size_t i, uint8_t b)
+{
+  sprintf (&line->hex[i*3], "%02x", b);
+  line->hex[i*3+2] = ' ';
+  line->chars[i] = ascii_isprint (b) ? b : '.';
+}
+
+/* Send the final string to nbdkit_debug. */
+static inline void
+hexdump_emit_debug (struct hexdump_line *line, const char *prefix)
+{
+  /* Start by splitting up the hex digits into two groups of 8. */
+  line->hex[8*3-1] = '\0';
+  nbdkit_debug ("%s%s: %s  %s |%s|",
+                prefix ? : "",
+                line->str_offset, line->hex, &line->hex[8*3], line->chars);
+}
+
 /* Usually this function would be part of server/public.c, but in this
  * case we want to use nbdkit_debug instead of debug_in_server.
  */
@@ -182,62 +220,34 @@
   if (!verbose)
     return;
 
+  struct hexdump_line line = { .offset = start };
   const uint8_t *buf = vbuf;
-  uint64_t offset = start, skip;
+  uint64_t skip;
   size_t i;
-  char str_offset[16+1]; /* The offset field */
-  char hex[16*3+1];      /* Sixteen pairs of hex digits (or spaces) */
-  char chars[16+1];      /* The printable chars (or spaces) */
-
-#define HEXDUMP_RESET_STRS()                                    \
-  snprintf (str_offset, sizeof str_offset, "%08" PRIx64,        \
-            ROUND_DOWN (offset, 16));                           \
-  memset (hex, ' ', sizeof hex - 1);                            \
-  hex[sizeof hex - 1] = '\0';                                   \
-  memset (chars, ' ', sizeof chars - 1);                        \
-  chars[sizeof chars - 1] = '\0';
-
-#define HEXDUMP_SET_BYTE(i, b)                          \
-  sprintf (&hex[(i)*3], "%02x", (b));                   \
-  hex[(i)*3+2] = ' ';                                   \
-  chars[i] = ascii_isprint ((b)) ? (b) : '.';
-
-/* Send the final string to nbdkit_debug.  Start by splitting up the
- * hex digits into two groups of 8.
- */
-#define HEXDUMP_EMIT_DEBUG()                                            \
-  hex[8*3-1] = '\0';                                                    \
-  nbdkit_debug ("%s%s: %s  %s |%s|",                                    \
-                prefix ? : "",                                          \
-                str_offset, hex, &hex[8*3], chars);
 
   /* Unaligned head. */
-  if (! IS_ALIGNED (offset, 16)) {
-    HEXDUMP_RESET_STRS ();
-    skip = offset % 16;
+  if (! IS_ALIGNED (line.offset, 16)) {
+    hexdump_reset_line (&line);
+    skip = line.offset % 16;
     for (i = skip; i < 16 && len > 0; ++i) {
-      HEXDUMP_SET_BYTE (i, *buf);
+      hexdump_set_byte (&line, i, *buf);
       buf++;
-      offset++;
+      line.offset++;
       len--;
     }
-    HEXDUMP_EMIT_DEBUG ();
+    hexdump_emit_debug (&line, prefix);
   }
 
   /* Aligned body and unaligned tail. */
   while (len > 0) {
-    assert (IS_ALIGNED (offset, 16));
-    HEXDUMP_RESET_STRS ();
+    assert (IS_ALIGNED (line.offset, 16));
+    hexdump_reset_line (&line);
     for (i = 0; i < 16 && len > 0; ++i) {
-      HEXDUMP_SET_BYTE (i, *buf);
+      hexdump_set_byte (&line, i, *buf);
       buf++;
-      offset++;
+      line.offset++;
       len--;
     }
-    HEXDUMP_EMIT_DEBUG ();
+    hexdump_emit_debug (&line, prefix);
   }
-
-#undef HEXDUMP_RESET_STRS
-#undef HEXDUMP_SET_BYTE
-#undef HEXDUMP_EMIT_DEBUG
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/tests/test-debug-hexdump-plugin.c 
new/nbdkit-1.46.1/tests/test-debug-hexdump-plugin.c
--- old/nbdkit-1.46.0/tests/test-debug-hexdump-plugin.c 2025-12-20 
15:34:35.000000000 +0100
+++ new/nbdkit-1.46.1/tests/test-debug-hexdump-plugin.c 2026-01-02 
11:07:39.000000000 +0100
@@ -42,13 +42,13 @@
 #include <nbdkit-plugin.h>
 
 static void *
-password_open (int readonly)
+hexdump_open (int readonly)
 {
   return NBDKIT_HANDLE_NOT_NEEDED;
 }
 
 static int64_t
-password_get_size (void *handle)
+hexdump_get_size (void *handle)
 {
   return INT64_MAX;
 }
@@ -57,8 +57,8 @@
 
 /* Never actually called, but return zeroes. */
 static int
-password_pread (void *handle, void *buf, uint32_t count, uint64_t offset,
-                uint32_t flags)
+hexdump_pread (void *handle, void *buf, uint32_t count, uint64_t offset,
+               uint32_t flags)
 {
   memset (buf, 0, count);
   return 0;
@@ -66,7 +66,7 @@
 
 /* We hexdump the buffer, with a prefix string, and discard the data. */
 static int
-password_pwrite (void *handle, const void *buf, uint32_t count, uint64_t 
offset,
+hexdump_pwrite (void *handle, const void *buf, uint32_t count, uint64_t offset,
                 uint32_t flags)
 {
   nbdkit_debug_hexdump (buf, count, "DUMP: ", offset);
@@ -74,12 +74,12 @@
 }
 
 static struct nbdkit_plugin plugin = {
-  .name              = "hexdump-debug",
+  .name              = "hexdump",
   .version           = PACKAGE_VERSION,
-  .open              = password_open,
-  .get_size          = password_get_size,
-  .pread             = password_pread,
-  .pwrite            = password_pwrite,
+  .open              = hexdump_open,
+  .get_size          = hexdump_get_size,
+  .pread             = hexdump_pread,
+  .pwrite            = hexdump_pwrite,
 };
 
 NBDKIT_REGISTER_PLUGIN (plugin)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/tests/test-debug-hexdump.sh 
new/nbdkit-1.46.1/tests/test-debug-hexdump.sh
--- old/nbdkit-1.46.0/tests/test-debug-hexdump.sh       2025-12-20 
15:34:35.000000000 +0100
+++ new/nbdkit-1.46.1/tests/test-debug-hexdump.sh       2026-01-02 
11:07:39.000000000 +0100
@@ -45,8 +45,8 @@
 plugin=.libs/test-debug-hexdump-plugin.$SOEXT
 requires test -f $plugin
 
-out=debug-shutdown.out
-hexout=debug-shutdown.hexout
+out=debug-hexdump.out
+hexout=debug-hexdump.hexout
 files="$out $hexout"
 rm -f $files
 cleanup_fn rm -f $files
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nbdkit-1.46.0/tests/test-ocaml-errorcodes.c 
new/nbdkit-1.46.1/tests/test-ocaml-errorcodes.c
--- old/nbdkit-1.46.0/tests/test-ocaml-errorcodes.c     2025-12-20 
15:34:35.000000000 +0100
+++ new/nbdkit-1.46.1/tests/test-ocaml-errorcodes.c     2026-01-02 
11:07:39.000000000 +0100
@@ -102,7 +102,7 @@
 
       if (r != -1) {
         fprintf (stderr,
-                 "%s: FAIL: reading sector %" PRIu64 "should have failed\n",
+                 "%s: FAIL: reading sector %" PRIu64 " should have failed\n",
                  argv[0], tests[i].offset / 512);
         exit (EXIT_FAILURE);
       }
@@ -119,7 +119,7 @@
     else {                      /* tests[i].expected_errno == 0 */
       if (r != 0) {
         fprintf (stderr,
-                 "%s: FAIL: reading sector %" PRIu64 "should have succeeded\n",
+                 "%s: FAIL: reading sector %" PRIu64 " should have 
succeeded\n",
                  argv[0], tests[i].offset / 512);
         exit (EXIT_FAILURE);
       }

Reply via email to