Skip to content

Commit 8c4de37

Browse files
committed
Import liblzma from xz 5.8.1
1 parent c6bc0c6 commit 8c4de37

504 files changed

Lines changed: 32780 additions & 121613 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ABOUT-NLS

Lines changed: 0 additions & 1 deletion
This file was deleted.

AUTHORS

Lines changed: 46 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,57 @@
22
Authors of XZ Utils
33
===================
44

5-
XZ Utils is developed and maintained by Lasse Collin
6-
<lasse.collin@tukaani.org>.
5+
XZ Utils is developed and maintained by
6+
Lasse Collin <lasse.collin@tukaani.org>.
77

88
Major parts of liblzma are based on code written by Igor Pavlov,
9-
specifically the LZMA SDK <http://7-zip.org/sdk.html>. Without
9+
specifically the LZMA SDK <https://7-zip.org/sdk.html>. Without
1010
this code, XZ Utils wouldn't exist.
1111

12-
The SHA-256 implementation in liblzma is based on the code found from
13-
7-Zip <http://7-zip.org/>, which has a modified version of the SHA-256
14-
code found from Crypto++ <http://www.cryptopp.com/>. The SHA-256 code
15-
in Crypto++ was written by Kevin Springle and Wei Dai.
12+
The SHA-256 implementation in liblzma is based on code written by
13+
Wei Dai in Crypto++ Library <https://www.cryptopp.com/>.
1614

17-
Some scripts have been adapted from gzip. The original versions
18-
were written by Jean-loup Gailly, Charles Levert, and Paul Eggert.
19-
Andrew Dudman helped adapting the scripts and their man pages for
20-
XZ Utils.
15+
A few scripts have been adapted from GNU gzip. The original
16+
versions were written by Jean-loup Gailly, Charles Levert, and
17+
Paul Eggert. Andrew Dudman helped adapting the scripts and their
18+
man pages for XZ Utils.
2119

22-
The GNU Autotools-based build system contains files from many authors,
23-
which I'm not trying to list here.
20+
The initial version of the threaded .xz decompressor was written
21+
by Sebastian Andrzej Siewior.
2422

25-
Several people have contributed fixes or reported bugs. Most of them
26-
are mentioned in the file THANKS.
23+
The initial version of the .lz (lzip) decoder was written
24+
by Michał Górny.
25+
26+
Architecture-specific CRC optimizations were contributed by
27+
Ilya Kurdyukov, Chenxi Mao, and Xi Ruoyao.
28+
29+
Other authors:
30+
- Jonathan Nieder
31+
- Joachim Henke
32+
33+
Special author: Jia Tan was a co-maintainer in 2022-2024. He and
34+
the team behind him inserted a backdoor (CVE-2024-3094) into
35+
XZ Utils 5.6.0 and 5.6.1 releases. He suddenly disappeared when
36+
this was discovered.
37+
38+
Many people have contributed improvements or reported bugs.
39+
Most of these people are mentioned in the file THANKS.
40+
41+
The translations of the command line tools and man pages have been
42+
contributed by many people via the Translation Project:
43+
44+
- https://translationproject.org/domain/xz.html
45+
- https://translationproject.org/domain/xz-man.html
46+
47+
The authors of the translated man pages are in the header comments
48+
of the man page files. In the source package, the authors of the
49+
translations are in po/*.po and po4a/*.po files.
50+
51+
Third-party code whose authors aren't listed here:
52+
53+
- GNU getopt_long() in the 'lib' directory is included for
54+
platforms that don't have a usable getopt_long().
55+
56+
- The build system files from GNU Autoconf, GNU Automake,
57+
GNU Libtool, GNU Gettext, Autoconf Archive, and related files.
2758

COPYING

Lines changed: 42 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,63 +3,68 @@ XZ Utils Licensing
33
==================
44

55
Different licenses apply to different files in this package. Here
6-
is a rough summary of which licenses apply to which parts of this
7-
package (but check the individual files to be sure!):
6+
is a summary of which licenses apply to which parts of this package:
87

9-
- liblzma is in the public domain.
8+
- liblzma is under the BSD Zero Clause License (0BSD).
109

11-
- xz, xzdec, and lzmadec command line tools are in the public
12-
domain unless GNU getopt_long had to be compiled and linked
13-
in from the lib directory. The getopt_long code is under
14-
GNU LGPLv2.1+.
10+
- The command line tools xz, xzdec, lzmadec, and lzmainfo are
11+
under 0BSD except that, on systems that don't have a usable
12+
getopt_long, GNU getopt_long is compiled and linked in from the
13+
'lib' directory. The getopt_long code is under GNU LGPLv2.1+.
1514

1615
- The scripts to grep, diff, and view compressed files have been
17-
adapted from gzip. These scripts and their documentation are
18-
under GNU GPLv2+.
16+
adapted from GNU gzip. These scripts (xzgrep, xzdiff, xzless,
17+
and xzmore) are under GNU GPLv2+. The man pages of the scripts
18+
are under 0BSD; they aren't based on the man pages of GNU gzip.
1919

20-
- All the documentation in the doc directory and most of the
21-
XZ Utils specific documentation files in other directories
22-
are in the public domain.
20+
- Most of the XZ Utils specific documentation that is in
21+
plain text files (like README, INSTALL, PACKAGERS, NEWS,
22+
and ChangeLog) are under 0BSD unless stated otherwise in
23+
the file itself. The files xz-file-format.txt and
24+
lzma-file-format.xt are in the public domain but may
25+
be distributed under the terms of 0BSD too.
2326

24-
- Translated messages are in the public domain.
27+
- Translated messages and man pages are under 0BSD except that
28+
some old translations are in the public domain.
2529

26-
- The build system contains public domain files, and files that
27-
are under GNU GPLv2+ or GNU GPLv3+. None of these files end up
28-
in the binaries being built.
30+
- Test files and test code in the 'tests' directory, and
31+
debugging utilities in the 'debug' directory are under
32+
the BSD Zero Clause License (0BSD).
2933

30-
- Test files and test code in the tests directory, and debugging
31-
utilities in the debug directory are in the public domain.
34+
- The GNU Autotools based build system contains files that are
35+
under GNU GPLv2+, GNU GPLv3+, and a few permissive licenses.
36+
These files don't affect the licensing of the binaries being
37+
built.
3238

33-
- The extra directory may contain public domain files, and files
34-
that are under various free software licenses.
39+
- The 'extra' directory contains files that are under various
40+
free software licenses. These aren't built or installed as
41+
part of XZ Utils.
3542

36-
You can do whatever you want with the files that have been put into
37-
the public domain. If you find public domain legally problematic,
38-
take the previous sentence as a license grant. If you still find
39-
the lack of copyright legally problematic, you have too many
40-
lawyers.
43+
The following command may be helpful in finding per-file license
44+
information. It works on xz.git and on a clean file tree extracted
45+
from a release tarball.
4146

42-
As usual, this software is provided "as is", without any warranty.
47+
sh build-aux/license-check.sh -v
4348

44-
If you copy significant amounts of public domain code from XZ Utils
49+
For the files under the BSD Zero Clause License (0BSD), if
50+
a copyright notice is needed, the following is sufficient:
51+
52+
Copyright (C) The XZ Utils authors and contributors
53+
54+
If you copy significant amounts of 0BSD-licensed code from XZ Utils
4555
into your project, acknowledging this somewhere in your software is
4656
polite (especially if it is proprietary, non-free software), but
47-
naturally it is not legally required. Here is an example of a good
48-
notice to put into "about box" or into documentation:
57+
it is not legally required by the license terms. Here is an example
58+
of a good notice to put into "about box" or into documentation:
4959

5060
This software includes code from XZ Utils <https://tukaani.org/xz/>.
5161

5262
The following license texts are included in the following files:
63+
- COPYING.0BSD: BSD Zero Clause License
5364
- COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1
5465
- COPYING.GPLv2: GNU General Public License version 2
5566
- COPYING.GPLv3: GNU General Public License version 3
5667

57-
Note that the toolchain (compiler, linker etc.) may add some code
58-
pieces that are copyrighted. Thus, it is possible that e.g. liblzma
59-
binary wouldn't actually be in the public domain in its entirety
60-
even though it contains no copyrighted code from the XZ Utils source
61-
package.
62-
63-
If you have questions, don't hesitate to ask the author(s) for more
64-
information.
68+
If you have questions, don't hesitate to ask for more information.
69+
The contact information is in the README file.
6570

COPYING.0BSD

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Permission to use, copy, modify, and/or distribute this
2+
software for any purpose with or without fee is hereby granted.
3+
4+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
5+
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
6+
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
7+
THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
8+
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
9+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
10+
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
11+
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

0 commit comments

Comments
 (0)