git: 679e92405637 - stable/14 - MFC: MFV: xz 5.6.2.

From: Xin LI <delphij_at_FreeBSD.org>
Date: Sun, 22 Dec 2024 07:33:13 UTC
The branch stable/14 has been updated by delphij:

URL: https://cgit.FreeBSD.org/src/commit/?id=679e924056374cedeef858d3b150ea89c1c42946

commit 679e924056374cedeef858d3b150ea89c1c42946
Author:     Xin LI <delphij@FreeBSD.org>
AuthorDate: 2024-06-04 01:14:43 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
CommitDate: 2024-12-22 07:32:38 +0000

    MFC: MFV: xz 5.6.2.
    
    (cherry picked from commit 3b35e7ee8de9b0260149a2b77e87a2b9c7a36244)
---
 contrib/xz/AUTHORS                                 |    49 +-
 contrib/xz/COPYING                                 |   103 +-
 contrib/xz/COPYING.0BSD                            |    11 +
 contrib/xz/ChangeLog                               | 17790 ++++++++++---------
 contrib/xz/README                                  |    57 +-
 contrib/xz/THANKS                                  |    13 +-
 contrib/xz/TODO                                    |     4 -
 contrib/xz/doxygen/Doxyfile                        |  2698 +--
 contrib/xz/doxygen/update-doxygen                  |   137 +-
 contrib/xz/src/common/mythread.h                   |    30 +-
 contrib/xz/src/common/sysdefs.h                    |    18 +-
 contrib/xz/src/common/tuklib_common.h              |    27 +-
 contrib/xz/src/common/tuklib_config.h              |     2 +
 contrib/xz/src/common/tuklib_cpucores.c            |     5 +-
 contrib/xz/src/common/tuklib_cpucores.h            |     5 +-
 contrib/xz/src/common/tuklib_exit.c                |     5 +-
 contrib/xz/src/common/tuklib_exit.h                |     9 +-
 contrib/xz/src/common/tuklib_gettext.h             |     5 +-
 contrib/xz/src/common/tuklib_integer.h             |    56 +-
 contrib/xz/src/common/tuklib_mbstr.h               |     5 +-
 contrib/xz/src/common/tuklib_mbstr_fw.c            |     5 +-
 contrib/xz/src/common/tuklib_mbstr_width.c         |     5 +-
 contrib/xz/src/common/tuklib_open_stdxxx.c         |     5 +-
 contrib/xz/src/common/tuklib_open_stdxxx.h         |     5 +-
 contrib/xz/src/common/tuklib_physmem.c             |    25 +-
 contrib/xz/src/common/tuklib_physmem.h             |     5 +-
 contrib/xz/src/common/tuklib_progname.c            |     5 +-
 contrib/xz/src/common/tuklib_progname.h            |     5 +-
 contrib/xz/src/liblzma/api/lzma.h                  |    31 +-
 contrib/xz/src/liblzma/api/lzma/base.h             |    25 +-
 contrib/xz/src/liblzma/api/lzma/bcj.h              |    10 +-
 contrib/xz/src/liblzma/api/lzma/block.h            |     5 +-
 contrib/xz/src/liblzma/api/lzma/check.h            |     5 +-
 contrib/xz/src/liblzma/api/lzma/container.h        |    17 +-
 contrib/xz/src/liblzma/api/lzma/delta.h            |     5 +-
 contrib/xz/src/liblzma/api/lzma/filter.h           |    11 +-
 contrib/xz/src/liblzma/api/lzma/hardware.h         |     5 +-
 contrib/xz/src/liblzma/api/lzma/index.h            |    42 +-
 contrib/xz/src/liblzma/api/lzma/index_hash.h       |     5 +-
 contrib/xz/src/liblzma/api/lzma/lzma12.h           |     7 +-
 contrib/xz/src/liblzma/api/lzma/stream_flags.h     |     5 +-
 contrib/xz/src/liblzma/api/lzma/version.h          |     9 +-
 contrib/xz/src/liblzma/api/lzma/vli.h              |    10 +-
 contrib/xz/src/liblzma/check/check.c               |     5 +-
 contrib/xz/src/liblzma/check/check.h               |     5 +-
 contrib/xz/src/liblzma/check/crc32_arm64.h         |   122 +
 contrib/xz/src/liblzma/check/crc32_fast.c          |   158 +-
 contrib/xz/src/liblzma/check/crc32_small.c         |     5 +-
 contrib/xz/src/liblzma/check/crc32_table.c         |    34 +-
 contrib/xz/src/liblzma/check/crc32_table_be.h      |     4 +-
 contrib/xz/src/liblzma/check/crc32_table_le.h      |     4 +-
 contrib/xz/src/liblzma/check/crc32_tablegen.c      |    23 +-
 contrib/xz/src/liblzma/check/crc32_x86.S           |     5 +-
 contrib/xz/src/liblzma/check/crc64_fast.c          |   446 +-
 contrib/xz/src/liblzma/check/crc64_small.c         |     5 +-
 contrib/xz/src/liblzma/check/crc64_table.c         |    16 +-
 contrib/xz/src/liblzma/check/crc64_table_be.h      |     4 +-
 contrib/xz/src/liblzma/check/crc64_table_le.h      |     4 +-
 contrib/xz/src/liblzma/check/crc64_tablegen.c      |    15 +-
 contrib/xz/src/liblzma/check/crc64_x86.S           |     5 +-
 contrib/xz/src/liblzma/check/crc_common.h          |   137 +
 contrib/xz/src/liblzma/check/crc_macros.h          |    30 -
 contrib/xz/src/liblzma/check/crc_x86_clmul.h       |   428 +
 contrib/xz/src/liblzma/common/alone_decoder.c      |     5 +-
 contrib/xz/src/liblzma/common/alone_decoder.h      |     5 +-
 contrib/xz/src/liblzma/common/alone_encoder.c      |     5 +-
 contrib/xz/src/liblzma/common/auto_decoder.c       |     5 +-
 .../xz/src/liblzma/common/block_buffer_decoder.c   |     5 +-
 .../xz/src/liblzma/common/block_buffer_encoder.c   |     5 +-
 .../xz/src/liblzma/common/block_buffer_encoder.h   |     5 +-
 contrib/xz/src/liblzma/common/block_decoder.c      |     5 +-
 contrib/xz/src/liblzma/common/block_decoder.h      |     5 +-
 contrib/xz/src/liblzma/common/block_encoder.c      |     5 +-
 contrib/xz/src/liblzma/common/block_encoder.h      |     5 +-
 .../xz/src/liblzma/common/block_header_decoder.c   |     5 +-
 .../xz/src/liblzma/common/block_header_encoder.c   |     5 +-
 contrib/xz/src/liblzma/common/block_util.c         |     5 +-
 contrib/xz/src/liblzma/common/common.c             |     5 +-
 contrib/xz/src/liblzma/common/common.h             |     5 +-
 .../xz/src/liblzma/common/easy_buffer_encoder.c    |     5 +-
 .../xz/src/liblzma/common/easy_decoder_memusage.c  |     5 +-
 contrib/xz/src/liblzma/common/easy_encoder.c       |     5 +-
 .../xz/src/liblzma/common/easy_encoder_memusage.c  |     5 +-
 contrib/xz/src/liblzma/common/easy_preset.c        |     5 +-
 contrib/xz/src/liblzma/common/easy_preset.h        |    10 +-
 contrib/xz/src/liblzma/common/file_info.c          |     5 +-
 .../xz/src/liblzma/common/filter_buffer_decoder.c  |     7 +-
 .../xz/src/liblzma/common/filter_buffer_encoder.c  |     5 +-
 contrib/xz/src/liblzma/common/filter_common.c      |    16 +-
 contrib/xz/src/liblzma/common/filter_common.h      |     5 +-
 contrib/xz/src/liblzma/common/filter_decoder.c     |    28 +-
 contrib/xz/src/liblzma/common/filter_decoder.h     |     5 +-
 contrib/xz/src/liblzma/common/filter_encoder.c     |    38 +-
 contrib/xz/src/liblzma/common/filter_encoder.h     |     5 +-
 .../xz/src/liblzma/common/filter_flags_decoder.c   |     5 +-
 .../xz/src/liblzma/common/filter_flags_encoder.c   |     5 +-
 .../xz/src/liblzma/common/hardware_cputhreads.c    |     5 +-
 contrib/xz/src/liblzma/common/hardware_physmem.c   |     5 +-
 contrib/xz/src/liblzma/common/index.c              |     5 +-
 contrib/xz/src/liblzma/common/index.h              |     5 +-
 contrib/xz/src/liblzma/common/index_decoder.c      |    16 +-
 contrib/xz/src/liblzma/common/index_decoder.h      |     5 +-
 contrib/xz/src/liblzma/common/index_encoder.c      |     5 +-
 contrib/xz/src/liblzma/common/index_encoder.h      |     5 +-
 contrib/xz/src/liblzma/common/index_hash.c         |     5 +-
 contrib/xz/src/liblzma/common/lzip_decoder.c       |     5 +-
 contrib/xz/src/liblzma/common/lzip_decoder.h       |     5 +-
 contrib/xz/src/liblzma/common/memcmplen.h          |    37 +-
 contrib/xz/src/liblzma/common/microlzma_decoder.c  |     5 +-
 contrib/xz/src/liblzma/common/microlzma_encoder.c  |     5 +-
 contrib/xz/src/liblzma/common/outqueue.c           |     5 +-
 contrib/xz/src/liblzma/common/outqueue.h           |    10 +-
 .../xz/src/liblzma/common/stream_buffer_decoder.c  |     5 +-
 .../xz/src/liblzma/common/stream_buffer_encoder.c  |     5 +-
 contrib/xz/src/liblzma/common/stream_decoder.c     |     5 +-
 contrib/xz/src/liblzma/common/stream_decoder.h     |     5 +-
 contrib/xz/src/liblzma/common/stream_decoder_mt.c  |     5 +-
 contrib/xz/src/liblzma/common/stream_encoder.c     |     5 +-
 contrib/xz/src/liblzma/common/stream_encoder_mt.c  |     5 +-
 .../xz/src/liblzma/common/stream_flags_common.c    |     5 +-
 .../xz/src/liblzma/common/stream_flags_common.h    |     5 +-
 .../xz/src/liblzma/common/stream_flags_decoder.c   |     5 +-
 .../xz/src/liblzma/common/stream_flags_encoder.c   |     5 +-
 contrib/xz/src/liblzma/common/string_conversion.c  |    26 +-
 contrib/xz/src/liblzma/common/vli_decoder.c        |     5 +-
 contrib/xz/src/liblzma/common/vli_encoder.c        |     5 +-
 contrib/xz/src/liblzma/common/vli_size.c           |     5 +-
 contrib/xz/src/liblzma/delta/delta_common.c        |     5 +-
 contrib/xz/src/liblzma/delta/delta_common.h        |     5 +-
 contrib/xz/src/liblzma/delta/delta_decoder.c       |    10 +-
 contrib/xz/src/liblzma/delta/delta_decoder.h       |     5 +-
 contrib/xz/src/liblzma/delta/delta_encoder.c       |     5 +-
 contrib/xz/src/liblzma/delta/delta_encoder.h       |     5 +-
 contrib/xz/src/liblzma/delta/delta_private.h       |     5 +-
 contrib/xz/src/liblzma/liblzma.pc.in               |     6 +-
 contrib/xz/src/liblzma/liblzma_generic.map         |     4 +-
 contrib/xz/src/liblzma/liblzma_linux.map           |     4 +-
 contrib/xz/src/liblzma/lz/lz_decoder.c             |    48 +-
 contrib/xz/src/liblzma/lz/lz_decoder.h             |   116 +-
 contrib/xz/src/liblzma/lz/lz_encoder.c             |     9 +-
 contrib/xz/src/liblzma/lz/lz_encoder.h             |    15 +-
 contrib/xz/src/liblzma/lz/lz_encoder_hash.h        |     5 +-
 contrib/xz/src/liblzma/lz/lz_encoder_hash_table.h  |     4 +-
 contrib/xz/src/liblzma/lz/lz_encoder_mf.c          |     5 +-
 contrib/xz/src/liblzma/lzma/fastpos.h              |     5 +-
 contrib/xz/src/liblzma/lzma/fastpos_table.c        |     4 +-
 contrib/xz/src/liblzma/lzma/fastpos_tablegen.c     |    17 +-
 contrib/xz/src/liblzma/lzma/lzma2_decoder.c        |     5 +-
 contrib/xz/src/liblzma/lzma/lzma2_decoder.h        |     5 +-
 contrib/xz/src/liblzma/lzma/lzma2_encoder.c        |     5 +-
 contrib/xz/src/liblzma/lzma/lzma2_encoder.h        |     5 +-
 contrib/xz/src/liblzma/lzma/lzma_common.h          |    41 +-
 contrib/xz/src/liblzma/lzma/lzma_decoder.c         |   760 +-
 contrib/xz/src/liblzma/lzma/lzma_decoder.h         |     5 +-
 contrib/xz/src/liblzma/lzma/lzma_encoder.c         |    18 +-
 contrib/xz/src/liblzma/lzma/lzma_encoder.h         |     5 +-
 .../src/liblzma/lzma/lzma_encoder_optimum_fast.c   |     5 +-
 .../src/liblzma/lzma/lzma_encoder_optimum_normal.c |     7 +-
 contrib/xz/src/liblzma/lzma/lzma_encoder_presets.c |     5 +-
 contrib/xz/src/liblzma/lzma/lzma_encoder_private.h |     9 +-
 contrib/xz/src/liblzma/rangecoder/price.h          |     5 +-
 contrib/xz/src/liblzma/rangecoder/price_table.c    |     4 +-
 contrib/xz/src/liblzma/rangecoder/price_tablegen.c |    22 +-
 contrib/xz/src/liblzma/rangecoder/range_common.h   |    14 +-
 contrib/xz/src/liblzma/rangecoder/range_decoder.h  |   839 +-
 contrib/xz/src/liblzma/rangecoder/range_encoder.h  |     5 +-
 contrib/xz/src/liblzma/simple/arm.c                |     5 +-
 contrib/xz/src/liblzma/simple/arm64.c              |     5 +-
 contrib/xz/src/liblzma/simple/armthumb.c           |     5 +-
 contrib/xz/src/liblzma/simple/ia64.c               |     5 +-
 contrib/xz/src/liblzma/simple/powerpc.c            |     5 +-
 contrib/xz/src/liblzma/simple/riscv.c              |   755 +
 contrib/xz/src/liblzma/simple/simple_coder.c       |     5 +-
 contrib/xz/src/liblzma/simple/simple_coder.h       |    22 +-
 contrib/xz/src/liblzma/simple/simple_decoder.c     |     5 +-
 contrib/xz/src/liblzma/simple/simple_decoder.h     |     5 +-
 contrib/xz/src/liblzma/simple/simple_encoder.c     |     5 +-
 contrib/xz/src/liblzma/simple/simple_encoder.h     |     5 +-
 contrib/xz/src/liblzma/simple/simple_private.h     |     5 +-
 contrib/xz/src/liblzma/simple/sparc.c              |     5 +-
 contrib/xz/src/liblzma/simple/x86.c                |    16 +-
 contrib/xz/src/liblzma/validate_map.sh             |     6 +-
 contrib/xz/src/lzmainfo/lzmainfo.1                 |     4 +-
 contrib/xz/src/lzmainfo/lzmainfo.c                 |     5 +-
 contrib/xz/src/xz/args.c                           |   186 +-
 contrib/xz/src/xz/args.h                           |     8 +-
 contrib/xz/src/xz/coder.c                          |   607 +-
 contrib/xz/src/xz/coder.h                          |    42 +-
 contrib/xz/src/xz/file_io.c                        |   144 +-
 contrib/xz/src/xz/file_io.h                        |    21 +-
 contrib/xz/src/xz/hardware.c                       |    11 +-
 contrib/xz/src/xz/hardware.h                       |     5 +-
 contrib/xz/src/xz/list.c                           |    31 +-
 contrib/xz/src/xz/list.h                           |     5 +-
 contrib/xz/src/xz/main.c                           |    91 +-
 contrib/xz/src/xz/main.h                           |     5 +-
 contrib/xz/src/xz/message.c                        |    94 +-
 contrib/xz/src/xz/message.h                        |    16 +-
 contrib/xz/src/xz/mytime.c                         |   105 +-
 contrib/xz/src/xz/mytime.h                         |    11 +-
 contrib/xz/src/xz/options.c                        |     7 +-
 contrib/xz/src/xz/options.h                        |     5 +-
 contrib/xz/src/xz/private.h                        |    26 +-
 contrib/xz/src/xz/sandbox.c                        |   355 +
 contrib/xz/src/xz/sandbox.h                        |    43 +
 contrib/xz/src/xz/signals.c                        |    29 +-
 contrib/xz/src/xz/signals.h                        |     5 +-
 contrib/xz/src/xz/suffix.c                         |    17 +-
 contrib/xz/src/xz/suffix.h                         |     5 +-
 contrib/xz/src/xz/util.c                           |    36 +-
 contrib/xz/src/xz/util.h                           |    19 +-
 contrib/xz/src/xz/xz.1                             |   469 +-
 contrib/xz/src/xzdec/xzdec.1                       |     6 +-
 contrib/xz/src/xzdec/xzdec.c                       |   180 +-
 lib/liblzma/Makefile                               |     1 +
 lib/liblzma/config.h                               |   123 +-
 usr.bin/xz/Makefile                                |     1 +
 217 files changed, 15386 insertions(+), 13436 deletions(-)

diff --git a/contrib/xz/AUTHORS b/contrib/xz/AUTHORS
index 69bbfc3ef609..5eff238ae413 100644
--- a/contrib/xz/AUTHORS
+++ b/contrib/xz/AUTHORS
@@ -2,22 +2,20 @@
 Authors of XZ Utils
 ===================
 
-    XZ Utils is developed and maintained by Lasse Collin
-    <lasse.collin@tukaani.org> and Jia Tan <jiat0218@gmail.com>.
+    XZ Utils is developed and maintained by
+    Lasse Collin <lasse.collin@tukaani.org>.
 
     Major parts of liblzma are based on code written by Igor Pavlov,
     specifically the LZMA SDK <https://7-zip.org/sdk.html>. Without
     this code, XZ Utils wouldn't exist.
 
-    The SHA-256 implementation in liblzma is based on the code found from
-    7-Zip <https://7-zip.org/>, which has a modified version of the SHA-256
-    code found from Crypto++ <https://www.cryptopp.com/>. The SHA-256 code
-    in Crypto++ was written by Kevin Springle and Wei Dai.
+    The SHA-256 implementation in liblzma is based on code written by
+    Wei Dai in Crypto++ Library <https://www.cryptopp.com/>.
 
-    Some scripts have been adapted from gzip. The original versions
-    were written by Jean-loup Gailly, Charles Levert, and Paul Eggert.
-    Andrew Dudman helped adapting the scripts and their man pages for
-    XZ Utils.
+    A few scripts have been adapted from GNU gzip. The original
+    versions were written by Jean-loup Gailly, Charles Levert, and
+    Paul Eggert. Andrew Dudman helped adapting the scripts and their
+    man pages for XZ Utils.
 
     The initial version of the threaded .xz decompressor was written
     by Sebastian Andrzej Siewior.
@@ -25,15 +23,36 @@ Authors of XZ Utils
     The initial version of the .lz (lzip) decoder was written
     by Michał Górny.
 
-    CLMUL-accelerated CRC code was contributed by Ilya Kurdyukov.
+    Architecture-specific CRC optimizations were contributed by
+    Ilya Kurdyukov, Hans Jansen, and Chenxi Mao.
 
     Other authors:
       - Jonathan Nieder
       - Joachim Henke
 
-    The GNU Autotools-based build system contains files from many authors,
-    which I'm not trying to list here.
+    Special author: Jia Tan was a co-maintainer in 2022-2024. He and
+    the team behind him inserted a backdoor (CVE-2024-3094) into
+    XZ Utils 5.6.0 and 5.6.1 releases. He suddenly disappeared when
+    this was discovered.
 
-    Several people have contributed fixes or reported bugs. Most of them
-    are mentioned in the file THANKS.
+    Many people have contributed improvements or reported bugs.
+    Most of these people are mentioned in the file THANKS.
+
+    The translations of the command line tools and man pages have been
+    contributed by many people via the Translation Project:
+
+      - https://translationproject.org/domain/xz.html
+      - https://translationproject.org/domain/xz-man.html
+
+    The authors of the translated man pages are in the header comments
+    of the man page files. In the source package, the authors of the
+    translations are in po/*.po and po4a/*.po files.
+
+    Third-party code whose authors aren't listed here:
+
+      - GNU getopt_long() in the 'lib' directory is included for
+        platforms that don't have a usable getopt_long().
+
+      - The build system files from GNU Autoconf, GNU Automake,
+        GNU Libtool, GNU Gettext, Autoconf Archive, and related files.
 
diff --git a/contrib/xz/COPYING b/contrib/xz/COPYING
index e54eeacfbf3f..aed21531497c 100644
--- a/contrib/xz/COPYING
+++ b/contrib/xz/COPYING
@@ -3,74 +3,81 @@ XZ Utils Licensing
 ==================
 
     Different licenses apply to different files in this package. Here
-    is a rough summary of which licenses apply to which parts of this
-    package (but check the individual files to be sure!):
+    is a summary of which licenses apply to which parts of this package:
 
-      - liblzma is in the public domain.
+      - liblzma is under the BSD Zero Clause License (0BSD).
 
-      - xz, xzdec, and lzmadec command line tools are in the public
-        domain unless GNU getopt_long had to be compiled and linked
-        in from the lib directory. The getopt_long code is under
-        GNU LGPLv2.1+.
+      - The command line tools xz, xzdec, lzmadec, and lzmainfo are
+        under 0BSD except that, on systems that don't have a usable
+        getopt_long, GNU getopt_long is compiled and linked in from the
+        'lib' directory. The getopt_long code is under GNU LGPLv2.1+.
 
       - The scripts to grep, diff, and view compressed files have been
-        adapted from gzip. These scripts and their documentation are
-        under GNU GPLv2+.
+        adapted from GNU gzip. These scripts (xzgrep, xzdiff, xzless,
+        and xzmore) are under GNU GPLv2+. The man pages of the scripts
+        are under 0BSD; they aren't based on the man pages of GNU gzip.
 
-      - All the documentation in the doc directory and most of the
-        XZ Utils specific documentation files in other directories
-        are in the public domain.
+      - Most of the XZ Utils specific documentation that is in
+        plain text files (like README, INSTALL, PACKAGERS, NEWS,
+        and ChangeLog) are under 0BSD unless stated otherwise in
+        the file itself. The files xz-file-format.txt and
+        lzma-file-format.xt are in the public domain but may
+        be distributed under the terms of 0BSD too.
 
-        Note: The JavaScript files (under the MIT license) have
-        been removed from the Doxygen-generated HTML version of the
-        liblzma API documentation. Doxygen itself is under the GNU GPL
-        but the remaining files generated by Doxygen are not affected
-        by the licenses used in Doxygen because Doxygen licensing has
-        the following exception:
+      - Translated messages and man pages are under 0BSD except that
+        some old translations are in the public domain.
 
-            "Documents produced by doxygen are derivative works
-            derived from the input used in their production;
-            they are not affected by this license."
+      - Test files and test code in the 'tests' directory, and
+        debugging utilities in the 'debug' directory are under
+        the BSD Zero Clause License (0BSD).
 
-      - Translated messages are in the public domain.
+      - The GNU Autotools based build system contains files that are
+        under GNU GPLv2+, GNU GPLv3+, and a few permissive licenses.
+        These files don't affect the licensing of the binaries being
+        built.
 
-      - The build system contains public domain files, and files that
-        are under GNU GPLv2+ or GNU GPLv3+. None of these files end up
-        in the binaries being built.
+      - The 'extra' directory contains files that are under various
+        free software licenses. These aren't built or installed as
+        part of XZ Utils.
 
-      - Test files and test code in the tests directory, and debugging
-        utilities in the debug directory are in the public domain.
+    For the files under the BSD Zero Clause License (0BSD), if
+    a copyright notice is needed, the following is sufficient:
 
-      - The extra directory may contain public domain files, and files
-        that are under various free software licenses.
+        Copyright (C) The XZ Utils authors and contributors
 
-    You can do whatever you want with the files that have been put into
-    the public domain. If you find public domain legally problematic,
-    take the previous sentence as a license grant. If you still find
-    the lack of copyright legally problematic, you have too many
-    lawyers.
-
-    As usual, this software is provided "as is", without any warranty.
-
-    If you copy significant amounts of public domain code from XZ Utils
+    If you copy significant amounts of 0BSD-licensed code from XZ Utils
     into your project, acknowledging this somewhere in your software is
     polite (especially if it is proprietary, non-free software), but
-    naturally it is not legally required. Here is an example of a good
-    notice to put into "about box" or into documentation:
+    it is not legally required by the license terms. Here is an example
+    of a good notice to put into "about box" or into documentation:
 
         This software includes code from XZ Utils <https://tukaani.org/xz/>.
 
     The following license texts are included in the following files:
+      - COPYING.0BSD: BSD Zero Clause License
       - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1
       - COPYING.GPLv2: GNU General Public License version 2
       - COPYING.GPLv3: GNU General Public License version 3
 
-    Note that the toolchain (compiler, linker etc.) may add some code
-    pieces that are copyrighted. Thus, it is possible that e.g. liblzma
-    binary wouldn't actually be in the public domain in its entirety
-    even though it contains no copyrighted code from the XZ Utils source
-    package.
-
-    If you have questions, don't hesitate to ask the author(s) for more
-    information.
+    A note about old XZ Utils releases:
+
+        XZ Utils releases 5.4.6 and older and 5.5.1alpha have a
+        significant amount of code put into the public domain and
+        that obviously remains so. The switch from public domain to
+        0BSD for newer releases was made in Febrary 2024 because
+        public domain has (real or perceived) legal ambiguities in
+        some jurisdictions.
+
+        There is very little *practical* difference between public
+        domain and 0BSD. The main difference likely is that one
+        shouldn't claim that 0BSD-licensed code is in the public
+        domain; 0BSD-licensed code is copyrighted but available under
+        an extremely permissive license. Neither 0BSD nor public domain
+        require retaining or reproducing author, copyright holder, or
+        license notices when distributing the software. (Compare to,
+        for example, BSD 2-Clause "Simplified" License which does have
+        such requirements.)
+
+    If you have questions, don't hesitate to ask for more information.
+    The contact information is in the README file.
 
diff --git a/contrib/xz/COPYING.0BSD b/contrib/xz/COPYING.0BSD
new file mode 100644
index 000000000000..4322122aecf1
--- /dev/null
+++ b/contrib/xz/COPYING.0BSD
@@ -0,0 +1,11 @@
+Permission to use, copy, modify, and/or distribute this
+software for any purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
+THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/contrib/xz/ChangeLog b/contrib/xz/ChangeLog
index 4dd0978ef313..c7795974ba23 100644
--- a/contrib/xz/ChangeLog
+++ b/contrib/xz/ChangeLog
@@ -1,11756 +1,12662 @@
-commit 49053c0a649f4c8bd2b8d97ce915f401fbc0f3d9
-Author: Jia Tan <jiat0218@gmail.com>
-Date:   2023-10-31 22:30:29 +0800
+commit 3ec664d3f652133136587a51d4505b1abe1acdd7
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date:   2024-05-29 18:03:51 +0300
 
-    Bump version and soname for 5.4.5.
+    Bump version and soname for 5.6.2
 
  src/liblzma/Makefile.am        | 2 +-
  src/liblzma/api/lzma/version.h | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
-commit 84c0cfc556287628df871703672879e530d0391f
-Author: Jia Tan <jiat0218@gmail.com>
-Date:   2023-11-01 20:18:30 +0800
+commit 3cc0aa702e50b786c52c6f3d3f831a635c4df197
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date:   2024-05-29 18:03:04 +0300
 
-    Add NEWS for 5.4.5.
+    Add NEWS for 5.6.2
 
- NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 74 insertions(+)
+ NEWS | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 130 insertions(+)
 
-commit d90ed84db9770712e2421e170076b43bda9b64a7
+commit 526d3f7f2c2d5e134157d08b37fb5fd0b125799e
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-10-31 21:41:09 +0200
+Date:   2024-05-29 18:03:04 +0300
 
-    liblzma: Fix compilation of fastpos_tablegen.c.
-    
-    The macro lzma_attr_visibility_hidden has to be defined to make
-    fastpos.h usable. The visibility attribute is irrelevant to
-    fastpos_tablegen.c so simply #define the macro to an empty value.
-    
-    fastpos_tablegen.c is never built by the included build systems
-    and so the problem wasn't noticed earlier. It's just a standalone
-    program for generating fastpos_table.c.
-    
-    Fixes: https://github.com/tukaani-project/xz/pull/69
-    Thanks to GitHub user Jamaika1.
+    Add NEWS for 5.4.7
 
- src/liblzma/lzma/fastpos_tablegen.c | 2 ++
- 1 file changed, 2 insertions(+)
+ NEWS | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 89 insertions(+)
 
-commit 9b1268538b0b2c6c0a121f95165de65fc71ad23c
-Author: Jia Tan <jiat0218@gmail.com>
-Date:   2023-10-31 21:51:40 +0800
+commit 660b09279e8f544acf120d29194d5c3051b484eb
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date:   2024-05-29 18:03:04 +0300
 
-    Build: Fix text wrapping in an output message.
+    Add NEWS for 5.2.13
 
- configure.ac | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
+ NEWS | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 115 insertions(+)
 
-commit 068ee436f4a8a706125ef43e8228b30001b1554e
+commit 7d76282dac766c0ced8ae24e0f7ce0005f3e377d
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-10-22 17:59:11 +0300
+Date:   2024-05-29 17:47:13 +0300
 
-    liblzma: Use lzma_always_inline in memcmplen.h.
+    Translations: Run po4a/update-po
+    
+    Now the files are in the new formatting without source file
+    line numbers. Future updates should keep the diffs much smaller.
 
- src/liblzma/common/memcmplen.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
+ po4a/de.po    | 1592 ++++++++++---------
+ po4a/fr.po    | 4450 +++++++++++++++++-----------------------------------
+ po4a/ko.po    | 1592 ++++++++++---------
+ po4a/pt_BR.po | 4817 ++++++++++++++++++---------------------------------------
+ po4a/ro.po    | 1592 ++++++++++---------
+ po4a/uk.po    | 1592 ++++++++++---------
+ 6 files changed, 6114 insertions(+), 9521 deletions(-)
 
-commit 6cdf0a7b7974baf58c1fd20ec3278f3b84ae56e5
+commit 4470c3f7d8954bb47b280ec07ad0bd4be2223083
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-10-30 17:43:03 +0200
+Date:   2024-05-29 17:44:53 +0300
 
-    liblzma: #define lzma_always_inline in common.h.
+    Translations: Run "make -C po update-po"
+    
+    In the past this wasn't done before releases; the Git repository
+    just contained the files from the Translation Project. But this
+    way it is clearer when comparing release tarballs against the
+    Git repository. In future releases this might no longer be necessary
+    within a stable branch as the .po files won't change so easily anymore
+    when creating a tarball.
 
- src/liblzma/common/common.h | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
+ po/ca.po    | 567 +++++++++++++++++++++++++---------------
+ po/cs.po    | 821 +++++++++++++++++++++++++++++++++++++--------------------
+ po/da.po    | 809 +++++++++++++++++++++++++++++++++++---------------------
+ po/de.po    | 403 ++++++++++++++--------------
+ po/eo.po    | 403 ++++++++++++++--------------
+ po/es.po    | 403 ++++++++++++++--------------
+ po/fi.po    | 578 +++++++++++++++++++++++++---------------
+ po/fr.po    | 538 +++++++++++++++++++++++---------------
+ po/hr.po    | 403 ++++++++++++++--------------
+ po/hu.po    | 403 ++++++++++++++--------------
+ po/it.po    | 854 +++++++++++++++++++++++++++++++++++++++---------------------
+ po/ko.po    | 403 ++++++++++++++--------------
+ po/pl.po    | 403 ++++++++++++++--------------
+ po/pt.po    | 842 +++++++++++++++++++++++++++++++++++++++--------------------
+ po/pt_BR.po | 567 +++++++++++++++++++++++++---------------
+ po/ro.po    | 403 ++++++++++++++--------------
+ po/sr.po    | 838 ++++++++++++++++++++++++++++++++++++++--------------------
+ po/sv.po    | 403 ++++++++++++++--------------
+ po/tr.po    | 567 +++++++++++++++++++++++++---------------
+ po/uk.po    | 403 ++++++++++++++--------------
+ po/vi.po    | 403 ++++++++++++++--------------
+ po/zh_CN.po | 417 +++++++++++++++--------------
+ po/zh_TW.po | 558 ++++++++++++++++++++++++---------------
+ 23 files changed, 7257 insertions(+), 5132 deletions(-)
 
-commit 33daad3961a4f07f3902b40f13e823e6e43e85da
+commit 33b8a85face5392b5ac843bdbe3a72f024cad6ef
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-10-22 17:15:32 +0300
+Date:   2024-05-29 16:33:24 +0300
 
-    liblzma: Use lzma_attr_visibility_hidden on private extern declarations.
+    Build: Update po/*.po files only when needed
     
-    These variables are internal to liblzma and not exposed in the API.
+    When po/xz.pot doesn't exist, running "make" or "make dist" will
+    create it. Then the .po files will be updated but only if they
+    actually would change more than the POT-Creation-Date line.
+    Then the .gmo files would be generated from the .po files.
+    This is the case before and after this commit.
+    
+    However, "make dist" and thus "make mydist" did a forced update
+    to the files, updating them even if the only change was the
+    POT-Creation-Date line. This had pros and cons: It made it clear
+    that the .po file really is in sync with the recent strings in
+    the package. On the other hand, it added noise in form of changed
+    files in the source tree and distribution tarballs. It can be
+    ignored with something like "diff -I'^"POT-Creation-Date: '" but
+    it's still a minor annoyance *if* there's not enough value in
+    having the most recent timestamp.
+    
+    Setting DIST_DEPENDS_ON_UPDATE_PO = no means that such forced
+    update won't happen in "make dist" anymore. However, the "mydist"
+    target will use xz.pot-update target which is the same target that
+    is run when xz.pot doesn't exist at all yet. Thus "mydist" will
+    ensure that the translations are up to date, without noise from
+    changes that would affect only the POT-Creation-Date line.
+    
+    Note that po4a always uses msgmerge with --update, so POT-Creation-Date
+    in the man page translations is never the only change in .po files.
+    In that sense this commit makes the message translations behave more
+    similarly to the man page translations.
+    
+    Distribution tarballs will still have non-reproducible POT-Creation-Date
+    in po/xz.pot and po4a/xz-man.pot but those are just two files. Even they
+    could be made reproducible from a Git timestamp if desired.
+    
+    (cherry picked from commit 9284f1aea31f0eb23e2ea72f7218b271e2234762)
 
- src/liblzma/check/check.h                | 7 +++++++
- src/liblzma/common/stream_flags_common.h | 3 +++
- src/liblzma/lz/lz_encoder_hash.h         | 1 +
- src/liblzma/lzma/fastpos.h               | 1 +
- src/liblzma/rangecoder/price.h           | 1 +
- 5 files changed, 13 insertions(+)
+ Makefile.am | 3 ++-
+ po/Makevars | 6 +++++-
+ 2 files changed, 7 insertions(+), 2 deletions(-)
 
-commit 6961a5ac7df178bfc2b7a181c40575847bc3035f
+commit 09daebd66b55799bbc495b84310a86c91bbfc1c8
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-10-22 17:08:39 +0300
+Date:   2024-05-28 21:10:33 +0300
 
-    liblzma: #define lzma_attr_visibility_hidden in common.h.
-    
-    In ELF shared libs:
+    po4a/update-po: Disable wrapping in .pot and .po files
     
-    -fvisibility=hidden affects definitions of symbols but not
-    declarations.[*] This doesn't affect direct calls to functions
-    inside liblzma as a linker can replace a call to lzma_foo@plt
-    with a call directly to lzma_foo when -fvisibility=hidden is used.
-    
-    [*] It has to be like this because otherwise every installed
-        header file would need to explictly set the symbol visibility
-        to default.
+    The .po files from the Translation Project come with unwrapped
+    strings so this matches it.
     
-    When accessing extern variables that aren't defined in the
-    same translation unit, compiler assumes that the variable has
-    the default visibility and thus indirection is needed. Unlike
-    function calls, linker cannot optimize this.
+    This may reduce the noise in diffs too. When the beginning of
+    a paragraph had changed, the rest of the lines got rewrapped
+    in msgsid. Now it's just one very long line that changes when
+    a paragraph has been edited.
     
-    Using __attribute__((__visibility__("hidden"))) with the extern
-    variable declarations tells the compiler that indirection isn't
-    needed because the definition is in the same shared library.
+    The --add-location=file option was removed as redundant. The line
+    numbers don't exist in the .pot file due to --porefs file and thus
+    they cannot get copied to the .po files either.
     
-    About 15+ years ago, someone told me that it would be good if
-    the CRC tables would be defined in the same translation unit
-    as the C code of the CRC functions. While I understood that it
-    could help a tiny amount, I didn't want to change the code because
-    a separate translation unit for the CRC tables was needed for the
-    x86 assembly code anyway. But when visibility attributes are
-    supported, simply marking the extern declaration with the
-    hidden attribute will get identical result. When there are only
-    a few affected variables, this is trivial to do. I wish I had
-    understood this back then already.
+    (cherry picked from commit 4beba1cd62d7f8f7a6f1e899b68292d94c53b599)
 
- src/liblzma/common/common.h | 11 +++++++++++
- 1 file changed, 11 insertions(+)
+ po4a/update-po | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
 
-commit 5b9e16764905d06fa8e8339ba185ddfee304e5fb
+commit 51ad72dae4e516e9292f6f399bd1e4970b77f7c1
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-09-30 22:54:28 +0300
+Date:   2024-05-28 18:36:53 +0300
 
-    liblzma: Refer to MinGW-w64 instead of MinGW in the API headers.
+    Update contact info in README
     
-    MinGW (formely a MinGW.org Project, later the MinGW.OSDN Project
-    at <https://osdn.net/projects/mingw/>) has GCC 9.2.0 as the
-    most recent GCC package (released 2021-02-02). The project might
-    still be alive but majority of people have switched to MinGW-w64.
-    Thus it seems clearer to refer to MinGW-w64 in our API headers too.
-    Building with MinGW is likely to still work but I haven't tested it
-    in the recent years.
+    (cherry picked from commit b14c130a58a649f9a73392eeb122cb252327c569)
 
- src/liblzma/api/lzma.h         | 4 ++--
- src/liblzma/api/lzma/version.h | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
+ README | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
 
-commit 36fabdbe67c8a8fbdc3ac695a91fc443a1328cc4
+commit 18463917f9b255b8f925fa54ab9388319735b14a
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-09-27 00:58:17 +0300
+Date:   2024-05-28 13:25:07 +0300
 
-    CMake: Use -D_FILE_OFFSET_BITS=64 if (and only if) needed.
+    Translations: Use --package-name=xz-man with po4a
     
-    A CMake option LARGE_FILE_SUPPORT is created if and only if
-    -D_FILE_OFFSET_BITS=64 affects sizeof(off_t).
+    This is to match reality. See the added comment.
     
-    This is needed on many 32-bit platforms and even with 64-bit builds
-    with MinGW-w64 to get support for files larger than 2 GiB.
+    (cherry picked from commit 75f5f2e014b0ee646963f36bc6a9c840fb272353)
 
- CMakeLists.txt                        |  7 ++++-
- cmake/tuklib_large_file_support.cmake | 52 +++++++++++++++++++++++++++++++++++
- 2 files changed, 58 insertions(+), 1 deletion(-)
+ po4a/update-po | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
 
-commit 989c8c354cbd2d20fbae4a432a3e31f5bc1cb9bf
+commit 26bbcb13cd2bbb56fe406544a484b4edfc7e0837
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-09-30 02:14:25 +0300
+Date:   2024-05-28 13:03:40 +0300
 
-    CMake: Generate and install liblzma.pc if not using MSVC.
+    Translations: Omit --package-name from po/Makevars
     
-    Autotools based build uses -pthread and thus adds it to Libs.private
-    in liblzma.pc. CMake doesn't use -pthread at all if pthread functions
-    are available in libc so Libs.private doesn't get -pthread either.
+    This is closer to the reality in the po/*.po files.
+    
+    (cherry picked from commit eb217d016cfbbba1babc19a61095b3ea25898af6)
 
- CMakeLists.txt | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
+ po/Makevars | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
 
-commit 983f3b458dc79c5976a4237fdfe4f8079f8d8830
+commit c35ee804b89556d15bc8cdc16867f4316e69392f
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-09-30 01:13:13 +0300
+Date:   2024-05-28 01:17:45 +0300
 
-    CMake: Rearrange the PACKAGE_ variables.
+    Translations: Omit man page line numbers from .pot and .po files
     
-    The windres workaround now replaces spaces with \x20 so
-    the package name isn't repeated.
+    (cherry picked from commit 9114267038deaecf4832a5cacb5acbe6591ac839)
+
+ po4a/update-po | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 0f4429d47f9cfe2cdfbad115a7bc2f11221cb217
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date:   2024-05-28 01:06:30 +0300
+
+    Translations: Use the xgettext option --add-location=file
     
-    These changes will help with creation of liblzma.pc.
+    (cherry picked from commit 093490b58271e9424ce38a7b1b38bcf61b9c86c6)
 
- CMakeLists.txt | 26 +++++++++++++++-----------
- 1 file changed, 15 insertions(+), 11 deletions(-)
+ po/Makevars | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
 
-commit 4083c8e9501a48934a5fb563d2c3ce2ae143cd27
+commit a93e2c2d1d34a6f609d24a8e62072ce78df7a734
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-09-29 20:46:11 +0300
+Date:   2024-05-28 00:43:53 +0300
 
-    liblzma: Add Cflags.private to liblzma.pc.in for MSYS2.
+    Translations: Use the msgmerge option --add-location=file
     
-    It properly adds -DLZMA_API_STATIC when compiling code that
-    will be linked against static liblzma. Having it there on
-    systems other than Windows does no harm.
+    This way the PO file diffs are less noisy but the locations of the
+    strings are still present at file level, just without line numbers.
     
-    See: https://www.msys2.org/docs/pkgconfig/
+    The option is available since gettext 0.19 (2014).
+    configure.ac requires 0.19.6.
+    
+    (cherry picked from commit fccebe2b4fd513488fc920e4dac32562ed3c7637)
 
- src/liblzma/liblzma.pc.in | 1 +
- 1 file changed, 1 insertion(+)
+ po/Makevars | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
-commit 661549ecb7a9b136d72a01c137d9776c75d52d51
+commit d4389895592e9a8e0f6391fdad816ae0537bb07b
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-09-27 22:46:20 +0300
+Date:   2024-05-27 12:22:08 +0300
 
-    CMake: Create liblzma.def when building liblzma.dll with MinGW-w64.
+    Build: Use $(SHELL) instead of sh to run scripts in Makefile.am
+    
+    (cherry picked from commit f361d9ae85707a87eb28db400eb7229cec103d58)
 
- CMakeLists.txt              | 20 ++++++++++++++++++++
- cmake/remove-ordinals.cmake | 26 ++++++++++++++++++++++++++
- 2 files changed, 46 insertions(+)
+ Makefile.am | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
 
-commit 0e546eb4da05c52b7d257e5bd85e15c51c4d86a3
+commit 5781414b6e3120098b0060d073aa2b0580ff6f40
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-10-26 21:44:42 +0300
+Date:   2024-05-23 17:25:13 +0300
 
-    CMake: Change one CMAKE_CURRENT_SOURCE_DIR to CMAKE_CURRENT_LIST_DIR.
+    Translations: Change the home page URLs in man page translations
     
-    In this case they have identical values.
+    Since the source strings have changed, these would get marked as
+    fuzzy and the original string would be used instead. The original
+    and translated strings are identical in this case so it wouldn't
+    matter. But patching the translations helps still because then
+    po4a will show the correct translation percentage.
+    
+    (cherry picked from commit a26dece34793a09aac2476f954d162d03e9cf62b)
 
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ po4a/de.po    | 8 ++++----
+ po4a/fr.po    | 4 ++--
+ po4a/ko.po    | 4 ++--
+ po4a/pt_BR.po | 4 ++--
+ po4a/ro.po    | 8 ++++----
+ po4a/uk.po    | 8 ++++----
+ 6 files changed, 18 insertions(+), 18 deletions(-)
 
-commit da4d04e4d6e199d28b58bd2e0df4e120c52dd5d7
+commit 3670e0616eb9d86e7519d2b76242fd32c6e0c1ae
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-10-01 19:10:57 +0300
+Date:   2024-05-23 15:15:18 +0300
 
-    CMake/Windows: Fix the import library filename.
+    CMake: Add manual support for 32-bit x86 assembly files
     
-    Both PREFIX and IMPORT_PERFIX have to be set to "" to get
-    liblzma.dll and liblzma.dll.a.
+    One has to pass -DENABLE_X86_ASM=ON to cmake to enable the
+    CRC assembly code. Autodetection isn't done. Looking at
+    CMAKE_SYSTEM_PROCESSOR might not work as it comes from uname
+    unless cross-compilation is done using a CMake toolchain file.
+    
+    On top of this, if the code is run on modern processors that support
+    the CLMUL instruction, then the C code should be faster (but then
+    one should also be using a x86-64 build if possible).
+    
+    (cherry picked from commit 24387c234b4eed1ef9a7eaa107391740b4095568)
 
- CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
+ CMakeLists.txt | 34 +++++++++++++++++++++++++++++++---
+ 1 file changed, 31 insertions(+), 3 deletions(-)
 
-commit 007558a358c48a0175cc8d47d11798d7967282ab
+commit c1b001b09e902ecacabb8a2ae1fc991018a4d1f8
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-10-11 19:47:44 +0300
+Date:   2024-05-23 14:26:45 +0300
 
-    CMake: Don't shadow the cache entry ENABLE_THREADS with a normal variable.
+    CMake: Rename USE_DOXYGEN to ENABLE_DOXYGEN
     
-    Using set(ENABLE_THREADS "posix") is confusing because it sets
-    a new normal variable and leaves the cache entry with the same
-    name unchanged. The intent wasn't to change the cache entry so
-    this switches to a different variable name.
+    It's more consistent with the other option() uses.
+    
+    (cherry picked from commit 0fb3c9c3f684f5a25bd425ed079a20a79f0c969d)
 
- CMakeLists.txt | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
-commit 7d01de67ee3dd76cfc12c23220e2e4cdc59708f1
+commit 7213fe39c717d4623c92af715484a71d9a6ff8d0
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-10-09 21:12:31 +0300
+Date:   2024-05-22 15:21:53 +0300
 
-    CMake: Edit threading related messages.
+    Use more confident language in COPYING
     
-    It's mostly to change from "thread method" to "threading method".
+    (cherry picked from commit 62733592a1cc6f0b41f46ef52e06d1a6fe1ff38a)
 
- CMakeLists.txt | 19 ++++++++++---------
- 1 file changed, 10 insertions(+), 9 deletions(-)
+ COPYING | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
 
-commit f8edcf3da689aad4b21e139197725450f2c456a0
+commit 15358be94a4e3f9c20f331b64b3980f3e5283760
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2023-10-09 20:59:24 +0300
+Date:   2024-04-29 17:16:38 +0300
 
-    CMake: Use FATAL_ERROR if user-supplied options aren't understood.
+    Add SPDX license identifiers to files under tests/ossfuzz
     
-    This way typos are caught quickly and compounding error messages
-    are avoided (a single typo could cause more than one error).
+    (cherry picked from commit 9ae2ebc1e504a1814b0788de95fb5c58c0328dde)
+
+ tests/ossfuzz/Makefile                          | 2 ++
+ tests/ossfuzz/config/fuzz_decode_alone.options  | 2 ++
+ tests/ossfuzz/config/fuzz_decode_stream.options | 2 ++
+ tests/ossfuzz/config/fuzz_encode_stream.options | 2 ++
+ tests/ossfuzz/config/fuzz_lzma.dict             | 2 ++
+ tests/ossfuzz/config/fuzz_xz.dict               | 2 ++
+ 6 files changed, 12 insertions(+)
+
+commit 1aa92c7ffd0bf8f9738ebf3bd1263bd6f5f096a2
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date:   2024-04-29 17:16:06 +0300
+
+    Add SPDX license identifier to .codespellrc
     
-    This keeps using SEND_ERROR when the system is lacking a feature
-    (like threading library or sandboxing method). This way the whole
-    configuration log will be generated in case someone wishes to
-    report a problem upstream.
+    (cherry picked from commit 9000d70eb9815bd7f43ffddc1c3316c507aa0e05)
 
- CMakeLists.txt | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
+ .codespellrc | 2 ++
+ 1 file changed, 2 insertions(+)
 
-commit 1695021e4a233a9388ddd428654c1447f0ea3bfb
-Author: Jia Tan <jiat0218@gmail.com>
-Date:   2023-10-19 16:09:01 +0800
+commit 3c7e400fdcabc0a1b78863948fc17964667a9401
+Author: Lasse Collin <lasse.collin@tukaani.org>
*** 37237 LINES SKIPPED ***