Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pigz for openSUSE:Factory checked in 
at 2023-09-06 18:55:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pigz (Old)
 and      /work/SRC/openSUSE:Factory/.pigz.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pigz"

Wed Sep  6 18:55:47 2023 rev:17 rq:1109003 version:2.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/pigz/pigz.changes        2022-05-10 
15:11:20.483525491 +0200
+++ /work/SRC/openSUSE:Factory/.pigz.new.1766/pigz.changes      2023-09-06 
18:56:36.024151739 +0200
@@ -1,0 +2,10 @@
+Mon Sep  4 12:55:45 UTC 2023 - pgaj...@suse.com
+
+- version update to 2.8
+  - Fixed a version bug when compiling with the just-released zlib 1.3
+  - Will save a modification time only for regular files (just like gzip since 
1.10)
+  - Will write all available uncompressed data on an error, for partial data 
recovery
+- deleted patches
+  - pigz-2.7-NOTHREAD-tests.patch (upstreamed)
+
+-------------------------------------------------------------------

Old:
----
  pigz-2.7-NOTHREAD-tests.patch
  pigz-2.7.tar.gz
  pigz-2.7.tar.gz.asc

New:
----
  pigz-2.8.tar.gz
  pigz-2.8.tar.gz.asc

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

Other differences:
------------------
++++++ pigz.spec ++++++
--- /var/tmp/diff_new_pack.zWYpAd/_old  2023-09-06 18:56:37.324198083 +0200
+++ /var/tmp/diff_new_pack.zWYpAd/_new  2023-09-06 18:56:37.328198226 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           pigz
-Version:        2.7
+Version:        2.8
 Release:        0
 Summary:        Multi-core gzip version
 License:        Zlib
@@ -26,7 +26,6 @@
 Source0:        https://www.zlib.net/%{name}/%{name}-%{version}.tar.gz
 Source1:        
https://www.zlib.net/%{name}/%{name}-%{version}-sig.txt#/%{name}-%{version}.tar.gz.asc
 Source9:        %{name}.keyring
-Patch0:         pigz-2.7-NOTHREAD-tests.patch
 BuildRequires:  zlib-devel
 
 %description

++++++ pigz-2.7.tar.gz -> pigz-2.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pigz-2.7/README new/pigz-2.8/README
--- old/pigz-2.7/README 2022-01-15 20:18:20.000000000 +0100
+++ new/pigz-2.8/README 2023-08-20 07:23:34.000000000 +0200
@@ -1,4 +1,4 @@
-pigz 2.7 (15 Jan 2022) by Mark Adler
+pigz 2.8 (19 Aug 2022) by Mark Adler
 
 pigz, which stands for Parallel Implementation of GZip, is a fully functional
 replacement for gzip that exploits multiple processors and multiple cores to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pigz-2.7/pigz.1 new/pigz-2.8/pigz.1
--- old/pigz-2.7/pigz.1 2022-01-15 20:18:20.000000000 +0100
+++ new/pigz-2.8/pigz.1 2023-08-20 07:23:34.000000000 +0200
@@ -1,4 +1,4 @@
-.TH PIGZ 1 "January 15, 2022"
+.TH PIGZ 1 "August 19, 2023"
 .SH NAME
 pigz, unpigz \- compress or expand files
 .SH SYNOPSIS
@@ -178,7 +178,7 @@
 .B -M --time
 Store or restore the modification time. -nM will store or restore the
 modification time, but not the name. Note that the order of the options is
-important.
+important. Modification times are stored only for regular files, not pipes.
 .TP
 .B -n --no-name
 Do not store or restore the file name or the modification time. This is the
@@ -242,4 +242,4 @@
 warranty.  In no event will the author be held liable for any damages
 arising from the use of this software.
 .PP
-Copyright (C) 2007-2022 Mark Adler <mad...@alumni.caltech.edu>
+Copyright (C) 2007-2023 Mark Adler <mad...@alumni.caltech.edu>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pigz-2.7/pigz.c new/pigz-2.8/pigz.c
--- old/pigz-2.7/pigz.c 2022-01-15 20:18:20.000000000 +0100
+++ new/pigz-2.8/pigz.c 2023-08-20 07:23:34.000000000 +0200
@@ -1,6 +1,6 @@
 /* pigz.c -- parallel implementation of gzip
- * Copyright (C) 2007-2022 Mark Adler
- * Version 2.7  15 Jan 2022  Mark Adler
+ * Copyright (C) 2007-2023 Mark Adler
+ * Version 2.8  19 Aug 2023  Mark Adler
  */
 
 /*
@@ -205,9 +205,12 @@
                        Fix bug when combining -l with -d
                        Exit with status of zero if skipping non .gz files
                        Permit Huffman only (-H) when not compiling with zopfli
+   2.8    19 Aug 2023  Fix version bug when compiling with zlib 1.3
+                       Save a modification time only for regular files
+                       Write all available uncompressed data on an error
  */
 
-#define VERSION "pigz 2.7"
+#define VERSION "pigz 2.8"
 
 /* To-do:
     - make source portable for Windows, VMS, etc. (see gzip source code)
@@ -374,11 +377,11 @@
 #  include <inttypes.h> // intmax_t, uintmax_t
    typedef uintmax_t length_t;
    typedef uint32_t crc_t;
-   typedef uint_least16_t index_t;
+   typedef uint_least16_t prefix_t;
 #else
    typedef unsigned long length_t;
    typedef unsigned long crc_t;
-   typedef unsigned index_t;
+   typedef unsigned prefix_t;
 #endif
 
 #ifdef PIGZ_DEBUG
@@ -558,9 +561,7 @@
     int procs;              // maximum number of compression threads (>= 1)
     int setdict;            // true to initialize dictionary in each thread
     size_t block;           // uncompressed input size per thread (>= 32K)
-#ifndef NOTHREAD
     crc_t shift;            // pre-calculated CRC-32 shift for length block
-#endif
 
     // saved gzip/zip header data for decompression, testing, and listing
     time_t stamp;           // time stamp from gzip header
@@ -1335,12 +1336,9 @@
         }
         ver++;
     } while (left);
-    return left < 2 ? num << (left << 2) : -1;
+    return left < 3 ? num << (left << 2) : -1;
 }
 
-#ifndef NOTHREAD
-// -- threaded portions of pigz --
-
 // -- check value combination routines for parallel calculation --
 
 #define COMB(a,b,c) (g.form == 1 ? adler32_comb(a,b,c) : crc32_comb(a,b,c))
@@ -1421,6 +1419,9 @@
     return sum1 | (sum2 << 16);
 }
 
+#ifndef NOTHREAD
+// -- threaded portions of pigz --
+
 // -- pool of spaces for buffer management --
 
 // These routines manage a pool of spaces. Each pool specifies a fixed size
@@ -3416,8 +3417,10 @@
 
         // copy the output and alert the worker bees
         out_len = len;
-        g.out_tot += len;
-        memcpy(out_copy, buf, len);
+        if (len) {
+            g.out_tot += len;
+            memcpy(out_copy, buf, len);
+        }
         twist(outb_write_more, TO, 1);
         twist(outb_check_more, TO, 1);
 
@@ -3487,6 +3490,9 @@
         strm.next_in = Z_NULL;
         ret = inflateBack(&strm, inb, NULL, outb, NULL);
         inflateBackEnd(&strm);
+        g.in_left += strm.avail_in;
+        g.in_next = strm.next_in;
+        outb(NULL, NULL, 0);        // finish off final write and check
         if (ret == Z_DATA_ERROR)
             throw(EDOM, "%s: corrupted -- invalid deflate data (%s)",
                   g.inf, strm.msg);
@@ -3494,9 +3500,6 @@
             throw(EDOM, "%s: corrupted -- incomplete deflate data", g.inf);
         if (ret != Z_STREAM_END)
             throw(EINVAL, "internal error");
-        g.in_left += strm.avail_in;
-        g.in_next = strm.next_in;
-        outb(NULL, NULL, 0);        // finish off final write and check
 
         // compute compressed data length
         clen = g.in_tot - g.in_left;
@@ -3663,7 +3666,7 @@
     // memory for unlzw() -- the first 256 entries of prefix[] and suffix[] are
     // never used, so could have offset the index but it's faster to waste a
     // little memory
-    index_t prefix[65536];              // index to LZW prefix string
+    prefix_t prefix[65536];             // index to LZW prefix string
     unsigned char suffix[65536];        // one-character LZW suffix
     unsigned char match[65280 + 2];     // buffer for reversed match
 
@@ -3809,7 +3812,7 @@
             // link new table entry
             if (end < mask) {
                 end++;
-                prefix[end] = (index_t)prev;
+                prefix[end] = (prefix_t)prev;
                 suffix[end] = (unsigned char)final;
             }
 
@@ -3922,8 +3925,8 @@
         vstrcpy(&g.inf, &g.inz, 0, "<stdin>");
         g.ind = 0;
         g.name = NULL;
-        g.mtime = g.headis & 2 ?
-                  (fstat(g.ind, &st) ? time(NULL) : st.st_mtime) : 0;
+        g.mtime = (g.headis & 2) && fstat(g.ind, &st) == 0 &&
+                  S_ISREG(st.st_mode) ? st.st_mtime : 0;
         len = 0;
     }
     else {
@@ -4337,11 +4340,11 @@
     ZopfliInitOptions(&g.zopts);
 #endif
     g.block = 131072UL;             // 128K
+    g.shift = x2nmodp(g.block, 3);
 #ifdef NOTHREAD
     g.procs = 1;
 #else
     g.procs = nprocs(8);
-    g.shift = x2nmodp(g.block, 3);
 #endif
     g.rsync = 0;                    // don't do rsync blocking
     g.setdict = 1;                  // initialize dictionary each thread
@@ -4478,7 +4481,7 @@
             case 'K':  g.form = 2;  g.sufx = ".zip";  break;
             case 'L':
                 puts(VERSION);
-                puts("Copyright (C) 2007-2022 Mark Adler");
+                puts("Copyright (C) 2007-2023 Mark Adler");
                 puts("Subject to the terms of the zlib license.");
                 puts("No warranty is provided or implied.");
                 exit(0);
Binary files old/pigz-2.7/pigz.pdf and new/pigz-2.8/pigz.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pigz-2.7/pigz.spec new/pigz-2.8/pigz.spec
--- old/pigz-2.7/pigz.spec      2022-01-15 20:18:20.000000000 +0100
+++ new/pigz-2.8/pigz.spec      2023-08-20 07:23:34.000000000 +0200
@@ -1,6 +1,6 @@
 Summary: pigz is a parallel implementation of gzip which utilizes multiple 
cores
 Name: pigz
-Version: 2.7
+Version: 2.8
 Release: 1
 Source0: %{name}-%{version}.tar.gz
 License: zlib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pigz-2.7/try.h new/pigz-2.8/try.h
--- old/pigz-2.7/try.h  2022-01-15 20:18:20.000000000 +0100
+++ new/pigz-2.8/try.h  2023-08-20 07:23:34.000000000 +0200
@@ -357,8 +357,8 @@
 #   define try_stack_ ((try_t_ *)pthread_getspecific(try_key_))
 #   define try_stack_set_(next) \
         do { \
-            assert(pthread_setspecific(try_key_, next) == 0 && \
-                   "try: pthread_setspecific() failed"); \
+            int ret = pthread_setspecific(try_key_, next); \
+            assert(ret == 0 && "try: pthread_setspecific() failed"); \
         } while (0)
 #else /* !PTHREAD_ONCE_INIT */
     extern try_t_ *try_stack_;

Reply via email to