Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package man for openSUSE:Factory checked in 
at 2026-02-27 17:02:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/man (Old)
 and      /work/SRC/openSUSE:Factory/.man.new.29461 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "man"

Fri Feb 27 17:02:19 2026 rev:109 rq:1334927 version:2.13.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/man/man.changes  2026-01-12 10:23:48.695623284 
+0100
+++ /work/SRC/openSUSE:Factory/.man.new.29461/man.changes       2026-02-27 
17:04:29.142634462 +0100
@@ -1,0 +2,6 @@
+Tue Feb 24 13:51:11 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- Update man-db-2.7.1-zio.dif
+  * Use fdzopen as well to make libzio used overall 
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ man.spec ++++++
--- /var/tmp/diff_new_pack.RZZdK8/_old  2026-02-27 17:04:31.714740887 +0100
+++ /var/tmp/diff_new_pack.RZZdK8/_new  2026-02-27 17:04:31.726741383 +0100
@@ -68,7 +68,7 @@
 BuildRequires:  less
 BuildRequires:  libalternatives-devel
 BuildRequires:  libpipeline-devel >= 1.5.0
-BuildRequires:  libzio-devel
+BuildRequires:  libzio-devel >= 1.12
 BuildRequires:  lzip
 BuildRequires:  man-pages
 BuildRequires:  pkgconfig


++++++ man-db-2.7.1-zio.dif ++++++
--- /var/tmp/diff_new_pack.RZZdK8/_old  2026-02-27 17:04:31.846746349 +0100
+++ /var/tmp/diff_new_pack.RZZdK8/_new  2026-02-27 17:04:31.858746845 +0100
@@ -1,11 +1,17 @@
+From 38f0cfb1f79c7f5df6a9ea58e51b2b38e1b56a40 Mon Sep 17 00:00:00 2001
+From: Werner Fink <[email protected]>
+Date: Thu, 19 Feb 2026 14:11:04 +0100
+Subject: [PATCH] Patch for libzio usage
+
+Signed-off-by: Werner Fink <[email protected]>
 ---
  config.h.in      |    3 +
- configure.ac     |   52 +++++++++++++++++++++++++++++++++
- src/decompress.c |   86 
+++++++++++++++++++++++++++++++++++++++++++++++++++++--
- 3 files changed, 138 insertions(+), 3 deletions(-)
+ configure.ac     |   52 ++++++++++++++++++++++++
+ src/decompress.c |  119 
++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 3 files changed, 169 insertions(+), 5 deletions(-)
 
 --- config.h.in
-+++ config.h.in        2024-11-11 10:43:01.369880933 +0000
++++ config.h.in
 @@ -1148,6 +1148,9 @@
  /* Define to 1 if you have the `z' library (-lz). */
  #undef HAVE_LIBZ
@@ -17,7 +23,7 @@
  #undef HAVE_LIB_BCRYPT
  
 --- configure.ac
-+++ configure.ac       2024-11-11 10:43:01.369880933 +0000
++++ configure.ac
 @@ -35,6 +35,18 @@ MAN_ARG_DEVICE
  MAN_ARG_DB
  MAN_ARG_CONFIG_FILE
@@ -37,7 +43,7 @@
  MAN_ARG_AUTOMATIC_CREATE
  MAN_ARG_AUTOMATIC_UPDATE
  MAN_ARG_CATS
-@@ -374,6 +386,46 @@ AC_DEFINE_UNQUOTED([PROG_UNXZ], ["$unxz"
+@@ -374,6 +386,46 @@ AC_DEFINE_UNQUOTED([PROG_UNXZ], ["$unxz"], [Program to 
use as unxz.])
  AC_DEFINE_UNQUOTED([PROG_UNLZIP], ["$unlzip"], [Program to use as unlzip.])
  AC_DEFINE_UNQUOTED([PROG_UNZSTD], ["$unzstd"], [Program to use as unzstd.])
  MAN_COMPRESS_LIB([z], [gzopen])
@@ -67,16 +73,16 @@
 +        AC_CHECK_LIB($lib, BZ2_bzopen,         [LIBS="$LIBS 
-Wl,--no-as-needed -l$lib"; break])
 +      done
 +      ])
-+      AC_CHECK_HEADER(lzmadec.h, [
-+      for lib in lzma lzmadec
++      AC_CHECK_HEADER(lzma.h, [
++      for lib in lzma
 +      do
-+        AC_CHECK_LIB($lib, lzmadec_open,       [LIBS="$LIBS 
-Wl,--no-as-needed -l$lib"; break])
++        AC_CHECK_LIB($lib, lzma_easy_encoder,       [LIBS="$LIBS 
-Wl,--no-as-needed -l$lib"; break])
 +      done
 +      ])
-+      AC_CHECK_HEADER(lzma.h, [
-+      for lib in lzma
++      AC_CHECK_HEADER(zstd.h, [
++      for lib in zstd
 +      do
-+        AC_CHECK_LIB($lib, lzma_easy_encoder,  [LIBS="$LIBS 
-Wl,--no-as-needed -l$lib"; break])
++        AC_CHECK_LIB($lib, ZSTD_createCCtx,  [LIBS="$LIBS -Wl,--no-as-needed 
-l$lib"; break])
 +      done
 +      ])
 +    fi
@@ -85,8 +91,8 @@
  
  # Check for various header files and associated libraries.
 --- src/decompress.c
-+++ src/decompress.c   2024-11-11 10:44:24.036386441 +0000
-@@ -40,12 +40,17 @@
++++ src/decompress.c
+@@ -39,12 +39,17 @@
  
  #include "pipeline.h"
  
@@ -104,89 +110,138 @@
  #include "manconfig.h"
  
  #include "compression.h"
-@@ -146,7 +151,11 @@ static void decompress_zlib (void *data
+@@ -99,6 +104,7 @@ static decompress *decompress_new_inprocess (char *buf, 
size_t len)
+       return d;
+ }
+ 
++#  ifndef HAVE_ZIO
+ static void decompress_zlib (void *data MAYBE_UNUSED)
+ {
+       gzFile zlibfile;
+@@ -126,6 +132,7 @@ static void decompress_zlib (void *data MAYBE_UNUSED)
+       gzclose (zlibfile);
+       return;
+ }
++#  endif
+ 
+ /* The largest number of uncompressed bytes we're prepared to read into
+  * memory.  (We actually allow at most one fewer byte than this, for easy
+@@ -145,7 +152,11 @@ static void decompress_zlib (void *data MAYBE_UNUSED)
  
  static decompress *decompress_try_zlib (const char *filename)
  {
-+#ifdef HAVE_ZIO
++#  ifdef HAVE_ZIO
 +      FILE *file;
-+#else
++#  else
        gzFile zlibfile;
-+#endif
++#  endif
        /* We only ever call this from the parent process (and don't
         * currently use threads), and this lets us skip per-file memory
         * allocation.
-@@ -154,18 +163,32 @@ static decompress *decompress_try_zlib (
+@@ -153,18 +164,33 @@ static decompress *decompress_try_zlib (const char 
*filename)
        static char buffer[MAX_INPROCESS];
        int len = 0;
  
-+#ifdef HAVE_ZIO
-+      file = fzopen(filename, "r");
++#  ifdef HAVE_ZIO
++      file = fzopen (filename, "r");
 +      if (!file)
 +              return NULL;
-+#else
++#  else
        zlibfile = gzopen (filename, "r");
        if (!zlibfile)
                return NULL;
-+#endif
++#  endif
  
        while (len < MAX_INPROCESS) {
                /* Read one more byte than we're prepared to return, in
                 * order to detect EOF at the right position.  The "len >=
                 * MAX_INPROCESS" check below catches the boundary case.
                 */
-+#ifdef HAVE_ZIO
-+              int r = fread(buffer + len, sizeof(char), MAX_INPROCESS - len, 
file);
-+#else
++#  ifdef HAVE_ZIO
++              int r = fread (buffer + len, sizeof (char),
++                             MAX_INPROCESS - len, file);
++#  else
                int r = gzread (zlibfile, buffer + len, MAX_INPROCESS - len);
-+#endif
++#  endif
                if (r < 0) {
-+#ifdef HAVE_ZIO
-+                      fclose(file);
-+#else
++#  ifdef HAVE_ZIO
++                      fclose (file);
++#  else
                        gzclose (zlibfile);
-+#endif
++#  endif
                        return NULL;
                } else if (r == 0)
                        break;
-@@ -173,7 +196,11 @@ static decompress *decompress_try_zlib (
+@@ -172,7 +198,11 @@ static decompress *decompress_try_zlib (const char 
*filename)
                        len += r;
        }
  
-+#ifdef HAVE_ZIO
-+      fclose(file);
-+#else
++#  ifdef HAVE_ZIO
++      fclose (file);
++#  else
        gzclose (zlibfile);
-+#endif
++#  endif
        if (len >= MAX_INPROCESS)
                return NULL;
        /* Copy input data so that we don't have potential data corruption
-@@ -189,33 +216,86 @@ static decompress *decompress_try_zlib (
+@@ -188,33 +218,108 @@ static decompress *decompress_try_zlib (const char 
*filename)
  #  define OPEN_FLAGS_UNUSED MAYBE_UNUSED
  #endif /* HAVE_LIBZ */
  
 +#ifdef HAVE_ZIO
 +static void decompress_zio (void *data)
 +{
-+      const char *what = (const char*)data;
++      char *what = data;
 +      FILE *file;
-+ 
-+      file = fdzopen(dup (fileno (stdin)), "r", what);
++
++      if (!what)
++              what = (char *) "n";
++
++      file = fdzopen (dup (fileno (stdin)), "r", what);
 +      if (!file)
 +              return;
-+ 
++
 +      for (;;) {
-+              char buffer[4096];
-+              int r = fread(buffer, sizeof(char), sizeof(buffer), file);
++              char buffer[PIPE_BUF];
++              int r = fread (buffer, sizeof (char), sizeof (buffer), file);
 +              if (r <= 0)
 +                      break;
 +              if (fwrite (buffer, 1, (size_t) r, stdout) < (size_t) r)
 +                      break;
 +      }
-+ 
-+      fclose(file);
++
++      fclose (file);
 +      return;
 +}
++
++static int ATTRIBUTE_PURE which_decompressor (const char *filename)
++{
++      const size_t len = strlen (filename);
++      struct l_s {
++              const char *ext;
++              size_t len;
++              int d;
++      } list[] = {
++              {"gz",   2, 'z' },
++                {"z",    1, 'z' },
++                {"Z",    1, 'Z' },
++              {"bz2",  3, 'b' },
++                {"xz",   2, 'x' },
++                {"lzma", 4, 'l' },
++              {"zst",  3, 's' },
++                {"zstd", 4, 's' },
++                {NULL,   0, '\0'},
++      };
++      struct l_s *l;
++
++      for (l = list; l->ext; ++l) {
++              if (len > l->len &&
++                  STREQ (filename + (len - l->len), l->ext)) {
++                      return (int) l->d;
++              }
++      }
++      return 'n';
++}
 +#endif /* HAVE_ZIO */
 +
  decompress *decompress_open (const char *filename, int flags 
OPEN_FLAGS_UNUSED)
@@ -194,12 +249,13 @@
        pipecmd *cmd;
        pipeline *p;
        struct stat st;
++      const char *ext;
  #ifdef HAVE_LIBZ
-+# ifdef HAVE_ZIO
-+      char *ext;
-+# else
++#  ifdef HAVE_ZIO
++      char opt[2] = {'\0', '\0'};
++#  else
        size_t filename_len;
-+# endif
++#  endif
  #endif /* HAVE_LIBZ */
 -      char *ext;
        struct compression *comp;
@@ -208,49 +264,62 @@
                return NULL;
  
  #ifdef HAVE_LIBZ
-+# ifdef HAVE_ZIO
-+      ext = strrchr (filename, '.');
-+      if (ext && (
-+              STREQ (ext, ".gz")      ||
-+              STREQ (ext, ".z")       ||
-+              STREQ (ext, ".bz2")     ||
-+              STREQ (ext, ".xz")      ||
-+              STREQ (ext, ".lzma")    ||
-+              STREQ (ext, ".Z")
-+              )) {
-+# else
++#  ifdef HAVE_ZIO
++      if ((opt[0] = which_decompressor (filename)) != 'n') {
++#  else
        filename_len = strlen (filename);
        if (filename_len > 3 && STREQ (filename + filename_len - 3, ".gz")) {
-+# endif
++#  endif
                if (flags & DECOMPRESS_ALLOW_INPROCESS) {
                        decompress *d = decompress_try_zlib (filename);
                        if (d)
                                return d;
                }
 -
-+# ifdef HAVE_ZIO
-+              static char opt[2] = {'\0','\0'};
++#  ifdef HAVE_ZIO
 +              char *name = NULL;
 +
-+              opt[0] = ext[1];
-+
 +              /* informational only; no shell quoting concerns */
-+              name = appendstr (NULL, "libzio < ", filename, (void *) 0);
++              name = appendstr (NULL, "zio<", filename, (void *) 0);
 +              cmd = pipecmd_new_function (name, &decompress_zio, NULL,
-+                                          (void *)opt);
-+# else
++                                          (void *) opt);
++#  else
                cmd = pipecmd_new_function ("zcat", &decompress_zlib, NULL,
                                            NULL);
-+# endif
++#  endif
                pipecmd_pre_exec (cmd, sandbox_load, sandbox_free, sandbox);
                p = pipeline_new_commands (cmd, nullptr);
-+# ifdef HAVE_ZIO
++#  ifdef HAVE_ZIO
 +              free (name);
-+# endif
++#  endif
                goto got_pipeline;
        }
  #endif /* HAVE_LIBZ */
-@@ -313,7 +393,7 @@ void decompress_inprocess_replace (decom
+@@ -235,9 +340,9 @@ decompress *decompress_open (const char *filename, int 
flags OPEN_FLAGS_UNUSED)
+               }
+       }
+ 
+-#ifdef HAVE_GZIP
++#if defined(HAVE_GZIP) && !defined(HAVE_ZIO)
+       /* HP-UX */
+-      ext = strstr (filename, ".Z/");
++      ext = strstr (filename, ".Z");
+       if (ext) {
+               cmd = pipecmd_new_argstr (PROG_GUNZIP);
+               pipecmd_pre_exec (cmd, sandbox_load, sandbox_free, sandbox);
+@@ -262,7 +367,11 @@ decompress *decompress_fdopen (int fd)
+ #endif /* HAVE_LIBZ */
+ 
+ #ifdef HAVE_LIBZ
++#  ifdef HAVE_ZIO
++      cmd = pipecmd_new_function ("zio<", &decompress_zio, NULL, NULL);
++#  else
+       cmd = pipecmd_new_function ("zcat", &decompress_zlib, NULL, NULL);
++#  endif
+       pipecmd_pre_exec (cmd, sandbox_load, sandbox_free, sandbox);
+       p = pipeline_new_commands (cmd, nullptr);
+ #else  /* HAVE_LIBZ */
+@@ -312,7 +421,7 @@ void decompress_inprocess_replace (decompress *d, char 
*buf, size_t len)
  
  void decompress_start (decompress *d)
  {

Reply via email to