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_;